:root{--background:#f4f4f1;--foreground:#252525;--muted:#6c6b67;--border:#d5d4cf}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;overflow:hidden}button{font:inherit}.station-host,.station-page{width:100%;height:100dvh;min-height:0}.station-page{background:#f4f4f1;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.station-header{border-bottom:1px solid var(--border);z-index:2;background:#fafaf7f0;justify-content:space-between;align-items:center;gap:28px;min-height:92px;padding:18px 28px 16px;display:flex;position:relative}.station-kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:700}.station-header h1{letter-spacing:-.025em;margin:0;font-size:clamp(19px,2vw,28px);font-weight:600}.station-build-meta{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.35}.station-legend{white-space:nowrap;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.station-legend span{color:#fff;justify-content:center;align-items:center;min-height:26px;padding:5px 12px;line-height:16px;display:inline-flex}.station-stage{cursor:grab;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.station-stage:active{cursor:grabbing}.station-stage canvas{outline:none;width:100%;height:100%;display:block}.station-stage.is-walking{cursor:none}.station-page.is-walking{grid-template-rows:1fr}.station-page.is-walking .station-header{display:none}.station-page.is-walking .station-controls p{color:#f2f2ef;text-shadow:0 1px 3px #000}.station-controls{z-index:2;pointer-events:none;align-items:center;gap:14px;display:flex;position:absolute;top:20px;left:22px}.station-controls button{pointer-events:auto;color:#343330;cursor:pointer;background:#fffffceb;border:1px solid #bbb9b2;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;box-shadow:0 5px 18px #201f1c17}.station-controls button:hover{background:#fff;border-color:#8f8d86}.station-controls button.is-active{color:#fff;background:#343330;border-color:#343330;box-shadow:0 5px 18px #201f1c2e}.station-controls button.is-active:hover{background:#252525;border-color:#252525}.station-controls button[data-historical-objects-toggle=true].is-active{background:#5d625e;border-color:#5d625e}.station-controls button:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.station-controls p{color:#6b6964;margin:0;font-size:12px}.station-walk-dialog[hidden]{display:none}.station-walk-dialog{z-index:10;background:#23222052;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.station-walk-dialog-panel{border:1px solid var(--border);background:#fafaf7;width:min(420px,100%);padding:24px;box-shadow:0 18px 60px #19181638}.station-walk-dialog-panel h2{margin:0;font-size:21px;font-weight:600}.station-walk-dialog-panel p{color:var(--muted);margin:10px 0 20px;font-size:14px;line-height:1.5}.station-walk-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.station-walk-dialog-actions button{color:#343330;font:inherit;cursor:pointer;background:#fff;border:1px solid #aaa8a1;padding:9px 14px;font-size:12px;font-weight:700}.station-walk-dialog-actions button.is-primary{color:#fff;background:#343330;border-color:#343330}.station-walk-dialog-actions button:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.station-loading-screen{z-index:1000;text-align:center;background:var(--background);opacity:1;visibility:visible;place-content:center;min-height:100%;padding:24px;transition:opacity .32s,visibility 0s linear .32s;display:grid;position:fixed;inset:0}.station-loading-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.station-loading-screen .station-loading-kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:700}.station-loading-screen h1{letter-spacing:-.035em;margin:0;font-size:clamp(24px,4vw,42px);font-weight:600}.station-loading-screen [data-station-loading-message]{color:var(--muted);margin:14px 0 0;font-size:13px}.station-loading-screen.is-error [data-station-loading-message]{color:#8b1e1e}.station-mobile-walk-controls,.station-mobile-look-control{bottom:max(10px,env(safe-area-inset-bottom));z-index:8;pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:absolute}.station-mobile-walk-controls{left:max(12px,env(safe-area-inset-left));align-items:flex-end;gap:10px}.station-mobile-look-control{right:max(12px,env(safe-area-inset-right))}.station-mobile-pad,.station-mobile-look-pad{pointer-events:auto;touch-action:none;filter:drop-shadow(0 3px 10px #00000052);width:min(52vw,240px);height:min(52vw,240px)}.station-mobile-pad svg,.station-mobile-look-pad svg{width:100%;height:100%;display:block;overflow:visible}.mobile-pad-outer{fill:#ee3a41c2;stroke:#ffffffeb;stroke-width:2px}.mobile-pad-walk{fill:#2b69dee0;stroke:#ffffffeb;stroke-width:2px}.mobile-pad-dead{fill:#14171c9e;stroke:#ffffffe6;stroke-width:2px}.mobile-pad-midline,.mobile-pad-lines line{fill:none;stroke:#ffffffd1;stroke-width:2px}.station-mobile-pad[data-fast=true] .mobile-pad-outer{fill:#ff2b36eb}.station-mobile-pad[data-fast=false] .mobile-pad-walk{fill:#2266eefa}.mobile-look-outer{fill:#202630ad;stroke:#ffffffeb;stroke-width:2px}.mobile-look-axis{stroke:#ffffff61;stroke-width:2px}.mobile-look-indicator{fill:#fffffff0;stroke:#1e232cc7;stroke-width:2px}.station-mobile-actions{pointer-events:auto;gap:8px;padding-bottom:6px;display:flex}.station-mobile-actions button{color:#fff;touch-action:manipulation;background:#191b1fc7;border:1px solid #ffffffbf;border-radius:12px;width:52px;height:52px;font:700 19px/1 Arial,sans-serif;box-shadow:0 3px 10px #0000004d}.station-stage.is-walking canvas{touch-action:none}@media (pointer:coarse),(width<=900px){.station-page.is-walking .station-mobile-walk-controls{display:flex}.station-page.is-walking .station-mobile-look-control{display:block}.station-page.is-walking .station-controls{display:none}.station-stage.is-walking{cursor:default}}@media (width<=520px){.station-mobile-pad,.station-mobile-look-pad{width:min(43vw,190px);height:min(43vw,190px)}.station-mobile-actions{padding-bottom:6px;position:absolute;bottom:100%;left:0}.station-mobile-actions button{width:48px;height:48px}}@media (width<=720px){.station-header{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 18px}.station-legend{flex-wrap:wrap;gap:14px}.station-controls{top:14px;left:14px}.station-controls p{display:none}}
