:root{font-family:'Segoe UI',Arial,sans-serif;color:#172c43;background:#f4f7fa;font-synthesis:none;--navy:#172c43;--blue:#365f80;--line:#d8e2e9;--yellow:#f5cd45}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit;min-height:46px;border:1px solid #b5c5d1;border-radius:6px;background:#fff;padding:10px 15px;cursor:pointer}button:hover:not(:disabled),select:hover{background:#eaf1f6}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible,[tabindex]:focus-visible{outline:3px solid #256398;outline-offset:4px}a{color:#254f73;text-underline-offset:4px}button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-90px;z-index:20;background:white;padding:16px}.skip:focus{top:10px}.topbar{min-height:91px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:20px 3vw;border-bottom:1px solid var(--line);background:white}.brand{display:flex;align-items:center;gap:15px;font-size:19px;margin-right:auto}.brand b{border-right:3px solid var(--yellow);padding-right:15px;font-size:25px}.modes{display:flex;gap:6px;flex-wrap:wrap}.text-link{font-size:15px;font-weight:600}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;max-width:1920px;margin:auto}.viewer-column{min-width:0;padding:28px 28px 14px 3vw}.scene-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px}h1{font-size:clamp(24px,2.1vw,35px);letter-spacing:-.8px;line-height:1.15;margin:0 0 9px}p{line-height:1.6;margin:0 0 12px}.scene-heading p{color:#4c6275;font-size:16px}.edition{font-size:12px;white-space:nowrap;padding-top:7px;color:#53697b}.viewport{position:relative;height:clamp(390px,55vh,760px);background:#e9f0f6;border-radius:8px;overflow:hidden}.viewport canvas{width:100%;height:100%;display:block;touch-action:none}.loading,.curtain{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background:#e9f0f6;z-index:4;gap:12px}.loading strong{font-size:23px}.loading-symbol{width:42px;height:8px;background:var(--yellow)}.curtain{opacity:0;pointer-events:none;transition:opacity 160ms;background:#e9f0f6;z-index:5;color:var(--blue)}.curtain.covered{opacity:1;pointer-events:auto}.curtain small{font-size:13px}.labels{position:absolute;inset:0;pointer-events:none}.scene-label{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);white-space:nowrap;min-height:36px;padding:6px 10px;font-size:13px;box-shadow:0 2px 8px #172c4314;background:#fffffff2}.scene-label[aria-pressed=true]{background:var(--yellow);color:var(--navy);border-color:#b79b30}.canvas-tools{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0}.canvas-tools button{padding:9px 12px}.canvas-tools #zoom-in,.canvas-tools #zoom-out{font-size:23px;width:46px;padding:0}.quality-label{display:flex;align-items:center;gap:7px;font-size:13px;margin-left:auto}.quality-label select{font-size:14px;padding:8px}.hint{font-size:12px;color:#536777;line-height:1.5}.side-panel{border-left:1px solid var(--line);background:#fff}.side-panel summary{padding:20px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--line)}.panel-body{padding:25px 25px 15px}.step-number{display:inline-block;font-size:14px;font-weight:600;border-bottom:4px solid var(--yellow);padding-bottom:8px}h2{font-size:25px;letter-spacing:-.4px;margin:15px 0 24px}dl{margin:0}dt{font-size:13px;font-weight:700;color:var(--blue);margin-top:21px}dd{font-size:16px;line-height:1.55;margin:6px 0 0}.care{border-left:4px solid var(--yellow);padding-left:13px;margin-top:25px}.care h3{font-size:14px;margin:0 0 7px}.care p,.story{font-size:14px}.story{margin-top:24px;color:#516678;border-top:1px solid var(--line);padding-top:16px}.journey{padding:21px 3vw 20px;border-top:1px solid var(--line);background:#fff}.journey-heading{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}.journey h2{font-size:19px;margin:0 0 14px}.journey-heading p{font-size:14px;color:#536777}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:2px 0 18px}.steps button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-bottom:3px solid var(--line);border-radius:0;padding:14px 8px;font-weight:600}.steps button span{font-size:14px;color:#4d687c}.steps button[aria-current=step]{border-color:var(--navy);background:#f8e49b}.transport{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover:not(:disabled){background:#2a4f70}#clock{margin-left:auto;font-variant-numeric:tabular-nums;font-size:15px;white-space:nowrap}.status{font-size:14px;font-weight:600;margin:12px 0 7px}.fallback{max-width:1250px;padding:35px 3vw;margin:auto;scroll-margin:20px}.fallback-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.fallback h2{margin:0 0 10px}.fallback figure{margin:20px 0}.fallback img{max-width:100%;max-height:560px;object-fit:contain;display:block;margin:auto}.fallback figcaption{font-size:13px;color:#526879;margin-top:10px}.fallback-sectors{padding-left:25px;columns:2;column-gap:55px}.fallback-sectors li{break-inside:avoid;padding:5px 0 14px 8px}.fallback-sectors h3{margin:0 0 9px}.fallback-sectors p{font-size:15px}body.enhanced:not(.map-mode) .fallback{display:none}body.map-mode .workspace,body.map-mode .journey{display:none}footer{border-top:1px solid var(--line);padding:18px 3vw;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#4d6375}footer details{max-width:700px}footer summary{cursor:pointer;min-height:30px}footer p{margin:0 0 8px}.no-script{padding:20px}body:has(#fallback:target) .fallback{display:block}
@media(min-width:1800px){.viewport{height:65vh}.workspace{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1000px){.topbar{gap:16px}.brand{flex-basis:100%}.workspace{grid-template-columns:minmax(0,1fr) 270px}.viewer-column{padding:22px 18px}.edition{display:none}.panel-body{padding:20px}.steps{gap:4px}.steps button{font-size:14px;gap:7px}.quality-label{margin-left:0}}
@media(max-width:760px){.workspace{grid-template-columns:1fr}.side-panel{border-left:0;border-top:1px solid var(--line)}.viewport{height:52vh;min-height:330px}.panel-body{padding:18px 24px}.panel-body dl{display:grid;grid-template-columns:85px 1fr;gap:12px}.panel-body dt,.panel-body dd{margin:0}.steps{grid-template-columns:1fr}.steps button{padding:9px 12px;font-size:16px}.journey-heading{gap:0}.fallback-sectors{columns:1}.brand{font-size:17px}.brand b{font-size:22px}.topbar{padding:17px}.modes button{font-size:14px;padding:10px}.transport button{flex:1 1 140px}#clock{margin:8px 0}.scene-heading h1{font-size:25px}footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep the keyboard indicator inside the clipped WebGL viewport. */
.viewport canvas:focus-visible{outline:3px solid #256398;outline-offset:-6px}

.beta-notice{padding:14px 3vw;background:#fff1ba;color:#172c43;border-bottom:2px solid #bd971f}.beta-notice strong{font-size:17px}.beta-notice p{margin:5px 0 0;font-size:14px;max-width:1100px}
