:root{--navy:#182638;--blue:#263b55;--orange:#f47a20;--orange-dark:#ca5b10;--paper:#fff;--soft:#f4f7f9;--line:#dce4e8;--text:#263140;--muted:#607080;--green:#1e6f5c;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.55}button,select,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,.arm-control:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.container{width:min(1250px,calc(100% - 44px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-60px;z-index:20;background:var(--navy);color:white;padding:12px}.skip-link:focus{top:12px}.site-header{background:var(--navy);color:#fff;border-bottom:3px solid var(--orange)}.header-inner{min-height:92px;display:flex;align-items:center;gap:32px}.brand{display:block;flex:0 0 auto}.brand img{display:block;width:225px;height:69px;object-fit:contain;object-position:left center}.header-links{display:flex;gap:28px;margin-left:auto}.header-links a{color:#e4ecf0;text-decoration:none;font-size:14px;font-weight:700}.header-links a:hover{color:#ffb77c}.languages{display:flex;border:1px solid #73818e;border-radius:5px;padding:3px;gap:2px}.languages a{font-size:11px;font-weight:800;text-decoration:none;line-height:1;padding:8px 9px;border-radius:3px;color:#dae3e8}.languages a[aria-current=true]{background:var(--orange);color:#fff}.intro{background:linear-gradient(115deg,#f8fafb 40%,#eaf1f5);border-bottom:1px solid var(--line);padding:56px 0 47px}.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:55px;align-items:end}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--orange-dark)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.12;letter-spacing:-.035em}h1{max-width:800px;font-size:clamp(38px,4.6vw,64px);margin:12px 0 18px}h2{font-size:clamp(27px,3.2vw,40px);margin:8px 0 0}h3{font-size:23px;margin:9px 0 14px}.intro p{max-width:750px;font-size:17px;color:#556374;margin:0;line-height:1.65}.intro-facts{background:var(--navy);color:#fff;padding:21px 25px;border-top:4px solid var(--orange);box-shadow:0 18px 32px #1826381c}.intro-facts span{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid #ffffff2a;padding:8px 0}.intro-facts span:last-child{border:0}.intro-facts b{font-size:28px;color:#ffad6c}.intro-facts small{font-size:12px;color:#e0e9ee}.workspace{padding:43px 0 75px}.workspace-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.mode-switch{display:flex;padding:4px;background:#e8eef2;border-radius:6px;gap:3px}.mode-switch button{border:0;background:transparent;color:var(--navy);padding:11px 18px;border-radius:4px;font-size:13px;font-weight:800;min-height:44px}.mode-switch button[aria-pressed=true]{background:var(--navy);color:#fff;box-shadow:0 3px 10px #1826382a}.sim-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(340px,.78fr);gap:22px;align-items:start}.map-card,.control-card,.stages-card,.source-card{background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px #1826380a}.map-card{overflow:hidden}.map-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;background:#f6f9fa;border-bottom:1px solid var(--line);font-size:12px}.map-top strong{letter-spacing:.1em;color:var(--navy)}.map-top span{color:var(--muted);text-align:right}.map-card svg{display:block;width:100%;height:auto;max-height:min(77vh,820px);background:#e7eeea;touch-action:manipulation}.map-legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:13px 20px;background:#f6f9fa;border-top:1px solid var(--line);font-size:12px;color:#485766}.map-legend span{display:inline-flex;align-items:center;gap:7px}.map-legend i{display:inline-block;width:14px;height:14px;border-radius:50%}.legend-entry{background:var(--navy)}.legend-exit{background:var(--orange)}.legend-path{background:#ffba77}.island-label{font-weight:900;font-size:19px;letter-spacing:.14em;fill:#456a52}.arm-control{cursor:pointer;outline:none}.arm-hit{fill:transparent}.arm-disc{fill:#fff;stroke:#768895;stroke-width:3;filter:drop-shadow(0 3px 5px #18263845)}.arm-number{font-size:23px;font-weight:900;fill:#263b55;pointer-events:none}.arm-control:hover .arm-disc,.arm-control:focus-visible .arm-disc{stroke:var(--orange);stroke-width:5}.arm-control.entry .arm-disc{fill:var(--navy);stroke:#fff}.arm-control.entry .arm-number{fill:#fff}.arm-control.exit .arm-disc{fill:var(--orange);stroke:#fff}.arm-control.exit .arm-number{fill:#fff}.arm-control.entry.exit .arm-disc{stroke:#ffcf9f;stroke-width:6}.arm-control.selecting .arm-disc{stroke-dasharray:5 4}.signal-left,.signal-right{opacity:0}.signal-left.on,.signal-right.on{opacity:1;animation:indicator-blink .75s step-end infinite}@keyframes indicator-blink{50%{opacity:.15}}.control-card{padding:8px 24px 21px;border-top:4px solid var(--orange)}.control-section{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.step-number{display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;background:#edf3f6;color:var(--navy);font-size:13px;font-weight:900}.control-copy{min-width:0;width:100%}.control-copy>label,.control-copy>strong{font-weight:800;color:var(--navy);font-size:17px}.control-copy p{color:var(--muted);font-size:13px;line-height:1.55;margin:5px 0 13px}.control-row{display:flex;gap:7px;flex-wrap:wrap}select{min-width:0;width:100%;min-height:46px;background:#fff;border:1px solid #bdc9d2;color:var(--navy);padding:9px 12px;border-radius:4px;font-size:14px;font-weight:700}.control-row select{flex:1 1 135px}.ghost{border:1px solid #b9c6cf;background:#fff;color:var(--navy);padding:9px 11px;border-radius:4px;font-size:12px;font-weight:800;min-height:46px}.ghost:hover{border-color:var(--orange);color:var(--orange-dark)}.lane-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lane-buttons button{border:1px solid #cbd5dc;background:#fff;color:var(--navy);padding:11px 7px;border-radius:4px;font-weight:800;text-align:center;min-height:55px}.lane-buttons button small{display:block;color:var(--muted);font-size:11px;font-weight:500}.lane-buttons button[aria-pressed=true]{background:#fff3e9;border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}.primary{display:block;width:100%;margin-top:21px;min-height:49px;border:1px solid var(--orange);border-radius:4px;background:var(--orange);color:#fff;font-size:14px;font-weight:800}.primary:hover:not(:disabled){background:var(--orange-dark)}.primary:disabled{opacity:.5;cursor:not-allowed}.reset{background:transparent;color:#647181;border:0;text-decoration:underline;text-underline-offset:3px;display:block;margin:17px auto 0;font-size:12px;min-height:36px}.test-prompt{background:#edf3f6;border-left:3px solid var(--orange);padding:11px 13px;font-size:13px;line-height:1.55;margin-top:18px}.control-card fieldset{margin:16px 0 0;padding:0;border:0}.control-card legend{font-size:13px;font-weight:800;color:var(--navy);padding:0 0 6px}.control-card fieldset label{display:flex;gap:9px;align-items:center;padding:8px 10px;margin:5px 0;border:1px solid var(--line);border-radius:4px;font-size:12px;cursor:pointer;min-height:44px}.control-card fieldset label:has(input:checked){background:#fff4eb;border-color:var(--orange)}.control-card fieldset input{accent-color:var(--orange);width:17px;height:17px;margin:0;flex:0 0 17px}.feedback{display:flex;gap:16px;margin-top:22px;padding:19px 22px;background:#edf3f6;border-left:4px solid #9db4c0;min-height:92px}.feedback.success{background:#eaf5ee;border-left-color:var(--green)}.feedback.retry{background:#fff5ea;border-left-color:var(--orange)}.feedback-mark{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.feedback.success .feedback-mark{background:var(--green)}.feedback.retry .feedback-mark{background:var(--orange-dark)}.feedback strong{display:block;color:var(--navy);font-size:16px}.feedback p{color:#536273;margin:3px 0 0;font-size:13px}.below-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.stages-card,.source-card{padding:24px}.stages-card ol{padding:0;list-style:none;margin:0;display:grid;gap:8px}.stages-card li{display:flex;gap:11px;align-items:start;padding:10px 12px;background:#f5f8f9;color:#526273;font-size:13px;border-left:3px solid #cbd7df}.stages-card li.active{background:#fff2e8;border-left-color:var(--orange);color:var(--navy);font-weight:700}.stages-card li.complete{border-left-color:var(--green)}.stages-card li b{color:var(--navy);min-width:21px}.source-card p{font-size:14px;color:#526273;line-height:1.7}.source-card details{border-top:1px solid var(--line);padding-top:13px}.source-card summary{cursor:pointer;color:var(--orange-dark);font-size:13px;font-weight:800;min-height:32px}.legal-item{padding:13px 0;border-top:1px solid var(--line)}.legal-item:first-child{border:0}.legal-item strong{display:block;font-size:13px;color:var(--navy)}.legal-item p{font-size:12px;margin:5px 0}.legal-item small{font-size:11px;color:var(--muted)}.legal-item a{font-size:11px;color:#1b587a;margin-right:13px}.scope-note{margin:22px 0 0;padding:16px 19px;background:#fff8f0;border-left:4px solid var(--orange);color:#66594d;font-size:12px;line-height:1.7}.site-footer{background:var(--navy);color:#e5edf2;padding:25px 0}.footer-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:12px}.footer-inner nav{display:flex;gap:19px;flex-wrap:wrap}.footer-inner a{text-decoration:none}.footer-inner a:hover{text-decoration:underline}
@media(max-width:1100px){.sim-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.container{width:min(100% - 32px,1250px)}}
@media(max-width:850px){.intro-grid{grid-template-columns:1fr}.intro-facts{display:flex;justify-content:space-around;gap:10px}.intro-facts span{border-bottom:0;border-right:1px solid #ffffff2a;padding:2px 10px;flex-wrap:wrap}.intro-facts span:last-child{border:0}.sim-grid,.below-grid{grid-template-columns:1fr}.map-card svg{max-height:none}.control-card{padding-inline:21px}.header-inner{gap:18px}.header-links{gap:13px}}
@media(max-width:550px){.container{width:calc(100% - 24px)}.header-inner{min-height:75px;gap:8px}.brand img{width:137px;height:58px}.header-links{margin-left:auto;gap:9px}.header-links a{font-size:11px}.header-links a:last-child{display:none}.languages a{padding:7px 6px}.intro{padding:35px 0 30px}.intro p{font-size:15px}.intro-facts{padding:12px 8px}.intro-facts span{gap:3px;display:block;text-align:center;padding:3px 5px}.intro-facts b{display:block;font-size:21px}.intro-facts small{font-size:10px}.workspace{padding:28px 0 48px}.workspace-header{display:block}.mode-switch{margin-top:16px;display:grid;grid-template-columns:1fr 1fr}.map-top{display:block}.map-top span{display:block;text-align:left;margin-top:2px}.map-legend{gap:9px;font-size:11px;padding:11px}.control-section{gap:10px}.step-number{flex-basis:32px;height:32px}.control-copy>label,.control-copy>strong{font-size:15px}.below-grid{gap:12px}.stages-card,.source-card{padding:19px}.footer-inner{display:block}.footer-inner nav{margin-top:11px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal-left.on,.signal-right.on{animation:none;opacity:1}*{transition:none!important}}
.lane-buttons button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
#test-panel input[name="test-lane"]:disabled+span{opacity:.48}
