.signed-lab .start-lab{margin-top:30px}.signed-lab .model-zone{justify-content:flex-start;padding:35px}.signed-lab .explanation-zone{padding:70px 55px}.signed-lab .explanation-zone p+p{margin-top:24px}.signed-lab svg{display:block;width:100%;height:auto;overflow:visible;font-size:26px;font-family:Arial,sans-serif}.signed-lab svg [data-draggable]{cursor:grab;touch-action:none}.position-readout{margin:35px 0 0;display:flex;gap:25px;align-items:center}.position-readout span{font-size:11px;letter-spacing:1px;color:var(--muted)}.position-readout output{font-family:Georgia,serif;font-size:70px;color:var(--gold)}.slider-label{font-size:14px;line-height:1.5;display:flex;justify-content:space-between;gap:15px;color:#c1cdd3}.slider-label output{font-size:19px;color:var(--gold);font-weight:700}.signed-lab input[type=range]{width:100%;margin:17px 0 22px;accent-color:var(--gold);height:28px;cursor:pointer}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.signed-lab button{font:inherit;font-size:12px;line-height:1.4;min-height:44px;border:1px solid #d1aa5280;color:var(--ivory);background:#06131f35;padding:12px 15px;cursor:pointer;transition:background .15s}.signed-lab button:hover,.signed-lab button[aria-pressed=true]{background:var(--gold);color:var(--navy)}.signed-lab button:disabled{opacity:.6;cursor:default}.signed-lab button:focus-visible,.signed-lab input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.signed-lab .model-hint{font-size:12px;line-height:1.65;color:var(--muted);margin-top:20px}.observation-summary{font-size:16px;line-height:1.65;color:var(--ivory);margin-top:20px;min-height:3.3em}.operation-switch{display:flex;gap:12px;margin:26px 0}.operation-switch button{flex:1}.journey-controls{display:grid;grid-template-columns:1fr;gap:8px}.math-expression{display:block;text-align:center;font-family:Georgia,serif;font-size:clamp(24px,2vw,37px);line-height:1.5;margin:0 0 25px;color:var(--ivory);overflow-wrap:anywhere}.gold-dot,.cyan-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#dbb766;margin:0 8px 0 0}.cyan-dot{background:#6bcbdc;margin-left:18px}.comparison-panel{border:1px solid #c4a35f55;background:#06131f40;padding:45px;margin:50px 0 35px}.comparison-panel svg{max-width:960px;margin:auto}.comparison-results{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid #c4a35f44;padding-top:30px}.comparison-results span{display:block;font-size:10px;letter-spacing:1.5px;color:var(--gold);margin-bottom:15px}.comparison-results output{font-family:Georgia,serif;font-size:26px;line-height:1.5;overflow-wrap:anywhere}.takeaway{padding:30px 0 45px;max-width:900px}.takeaway p{font-family:Georgia,serif;font-size:22px;color:var(--muted);margin-top:20px}.takeaway p.identity{font-size:36px;color:var(--ivory);padding-top:15px}.no-script{padding:25px 0}
@media(max-width:1100px){.signed-lab .explanation-zone{padding:50px 32px}.signed-lab .model-zone{padding:26px}.signed-lab svg{font-size:32px}}
@media(max-width:700px){.signed-lab .model-zone{padding:24px}.signed-lab .explanation-zone{padding:45px 26px}.signed-lab svg{font-size:36px}.position-readout output{font-size:58px}.position-readout{margin-top:25px}.comparison-panel{padding:22px 16px;margin:35px 0 25px}.comparison-results{grid-template-columns:1fr;gap:22px}.comparison-results output{font-size:24px}.takeaway p{font-size:20px}.takeaway p.identity{font-size:30px}.signed-lab .inline-actions button{flex-grow:1}.signed-lab .understanding p{font-size:20px}}
@media(prefers-reduced-motion:reduce){.signed-lab button{transition:none}}

.signed-lab .route-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#dbb766 #06131f;padding-bottom:8px}.signed-lab .route-scroll svg{min-width:640px;font-size:24px;overflow:hidden}.signed-lab .route-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.direction-rule{color:var(--ivory);font-size:18px;line-height:1.6;margin:0 0 15px}.single-steps{margin:20px 0 25px;padding-left:25px;color:var(--ivory);font-size:19px;line-height:1.7}.single-steps li{padding:7px 0}.signed-lab .route-scroll{width:100%;overflow-x:auto;padding-bottom:8px}.signed-lab .route-scroll svg{min-width:620px;font-size:24px;overflow:hidden}.signed-lab .operation-switch{margin:6px 0 16px}.signed-lab .math-expression{margin:20px 0 12px}.signed-lab .understanding>.wrap>p{max-width:850px;margin-top:24px}

.sign-jump{display:block;color:var(--gold);margin-top:24px;font-size:16px}.sign-rules{padding:70px 0;background:#0a2031;border-top:1px solid #d1aa5244;scroll-margin-top:100px}.sign-rules h2{font-size:clamp(34px,4vw,60px);margin:16px 0 24px}.sign-intro{max-width:760px;font-size:20px;color:var(--muted)}.sign-accordion{max-width:1000px;margin:32px 0}.sign-accordion details{border:1px solid #d1aa5244;margin:12px 0;background:#06131f77}.sign-accordion summary{padding:22px 26px;font-size:21px;cursor:pointer;color:var(--gold);line-height:1.5}.sign-accordion summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sign-body{padding:0 26px 26px}.sign-body h3{font-size:24px;margin:20px 0 10px}.sign-body p{font-size:18px;line-height:1.75;margin:14px 0}.sign-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0}.sign-examples p{padding:16px;background:#d1aa520b;border-left:2px solid var(--gold);margin:0;font-family:Georgia,serif;font-size:23px}.sign-note{color:var(--muted);border-top:1px solid #d1aa5233;padding-top:18px}.sign-identity{font-family:Georgia,serif;font-size:32px;color:var(--gold);padding:20px 0}.sign-table-wrap{overflow-x:auto;margin:20px 0}.sign-rules table{border-collapse:collapse;width:100%;min-width:430px;font-size:19px;text-align:left}.sign-rules caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:12px}.sign-rules th,.sign-rules td{padding:15px;border:1px solid #d1aa5233;line-height:1.6}.sign-rules th{background:#d1aa5212;color:var(--gold);font-size:15px}.sign-rules td{font-variant-numeric:tabular-nums}@media(max-width:700px){.sign-rules{padding:45px 0}.sign-accordion summary{padding:18px;font-size:19px}.sign-body{padding:0 18px 22px}.sign-body p{font-size:17px}.sign-examples{grid-template-columns:1fr}.sign-examples p{font-size:21px}.sign-rules table{font-size:17px}}
