/* Signed motion lab; deliberately matches the calm STRU study-guide design. */
#stru-journey{color:#17364a;font-size:14px;line-height:1.55}
#stru-journey *{box-sizing:border-box}
#stru-journey .jl-controls{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;align-items:end;margin:16px 0}
#stru-journey .jl-control{display:block;min-width:0}
#stru-journey .jl-control strong{display:block;font-size:13px;margin-bottom:6px}
#stru-journey select,#stru-journey input[type=range]{display:block;width:100%;min-height:40px}
#stru-journey select{background:#fff;color:#17364a;border:1px solid #b7d0dc;border-radius:9px;padding:9px 12px;font:inherit}
#stru-journey input[type=range]{accent-color:#237b9d;touch-action:pan-y}
#stru-journey .jl-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
#stru-journey:has(#jl-f) .jl-status{grid-template-columns:repeat(4,minmax(0,1fr))}
#stru-journey .jl-status>div{padding:12px 13px;background:#e9f3f8;border:1px solid #ccdfeb;border-radius:10px;min-width:0}
#stru-journey .jl-status small{display:block;color:#426981;font-size:12px;min-height:2.8em}
#stru-journey .jl-status strong{display:block;font-size:19px;white-space:nowrap;color:#185d81}
#stru-journey .jl-graph{background:#f7fbfd;border:1px solid #d3e5ed;border-radius:13px;padding:12px;margin:11px 0;min-width:0}
#stru-journey .jl-graph h3{margin:0 0 3px;font-size:15px;font-weight:800;letter-spacing:0;line-height:1.3}
#stru-journey .jl-graph svg{display:block;width:100%;height:auto;max-height:290px;overflow:visible;touch-action:pan-y}
#stru-journey .jl-graph-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#stru-journey .jl-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#395d73;margin-top:3px}
#stru-journey .jl-legend i{display:inline-block;width:11px;height:11px;margin-right:7px;border-radius:3px;vertical-align:baseline}
#stru-journey .jl-plus{background:#5daccb}#stru-journey .jl-minus{background:#e7a777}
#stru-journey .jl-explain{border-left:4px solid #3f91b0;background:#eaf5f8;padding:12px 17px;border-radius:2px 11px 11px 2px;margin:14px 0}
#stru-journey .jl-explain p{margin:5px 0}
#stru-journey .jl-worked{border:1px solid #c8dce7;border-radius:12px;overflow:hidden;margin:14px 0;background:white}
#stru-journey .jl-worked h3{margin:0;background:#e4f2f8;font-size:14px;padding:12px 15px}
#stru-journey #jl-steps{padding:6px 16px 13px}
#stru-journey .jl-step{border-bottom:1px dashed #d5e2eb;padding:10px 0;display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:10px}
#stru-journey .jl-step:last-child{border:0}
#stru-journey .jl-step b{font-size:12px;color:#216783}
#stru-journey .jl-step span{font-size:14px}
#stru-journey .jl-step small{grid-column:2;color:#5a7586}
#stru-journey .jl-details{border:1px solid #d2e2e9;border-radius:11px;background:#fff;margin:10px 0;overflow:hidden}
#stru-journey .jl-details summary{cursor:pointer;padding:12px 16px;color:#225b7c;font-size:14px;font-weight:800}
#stru-journey .jl-force-content{padding:4px 16px 12px;border-top:1px solid #e4eef1}
#stru-journey .jl-table-wrap{overflow-x:auto;padding:6px}
#stru-journey table{width:100%;min-width:440px;border-collapse:collapse}
#stru-journey th,#stru-journey td{padding:9px 10px;border-bottom:1px solid #e4edf1;text-align:left;font-size:13px}
#stru-journey th{background:#eff5f9;font-weight:800}
#stru-journey .jl-table-total{background:#e4f3eb;font-weight:800}
@media(max-width:850px){#stru-journey .jl-graph-pair{grid-template-columns:1fr}#stru-journey .jl-status,#stru-journey:has(#jl-f) .jl-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#stru-journey .jl-controls{grid-template-columns:1fr}#stru-journey .jl-status strong{font-size:17px}#stru-journey .jl-step{grid-template-columns:1fr}#stru-journey .jl-step small{grid-column:1}}
@media print{#stru-journey input,#stru-journey select{display:none!important}#stru-journey .jl-details{break-inside:avoid}}

.jl-builder{margin:13px 0 18px;background:#f4f9fb;border:1px solid #c9dfe9;border-radius:13px;padding:12px 16px}.jl-builder summary{color:#1e627f;font-weight:800;cursor:pointer}.jl-builder p{font-size:13px;color:#567184}.jl-custom-row{display:grid;grid-template-columns:36px 1fr 1fr;gap:10px;align-items:end;margin:10px 0}.jl-custom-row strong{padding-bottom:11px;color:#1e6887}.jl-custom-row label{font-size:12px;font-weight:750;color:#3b647b}.jl-custom-row input{display:block;box-sizing:border-box;width:100%;border:1px solid #a6c7d4;border-radius:8px;padding:8px 11px;min-height:42px;font:inherit;font-size:16px;background:#fff;color:#173c56}.jl-builder-actions{display:flex;gap:8px;flex-wrap:wrap}.jl-builder-actions button{background:#e7f3ef;border:1px solid #9ac8ba;border-radius:8px;color:#1e5c5b;font-weight:750;padding:9px 12px;cursor:pointer}.jl-builder-actions button:disabled{opacity:.42}.jl-builder[hidden]{display:none!important}@media(max-width:550px){.jl-custom-row{grid-template-columns:25px 1fr 1fr;gap:6px}.jl-custom-row input{padding:7px}}
@media print{.jl-builder{display:none!important}}
