@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=DM+Sans:wght@400;450;500;600;650;700&family=Libre+Caslon+Display&display=swap";:root{color:#293e35;font-synthesis:none;--paper:#f3f0e7;--ink:#293e35;--muted:#657368;--line:#29453725;--wayfinding:"Barlow Condensed","Arial Narrow",sans-serif;--map-green:#073d2e;--map-paper:#f8f4e8;--map-amber:#d99116;background:#dfe6e2;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #628c7a}button{touch-action:manipulation}button[hidden],[hidden]{display:none!important}#world{touch-action:none;outline:none;width:100%;height:100%;position:fixed;inset:0}.shade{pointer-events:none;background:linear-gradient(90deg,#eff0e4ab 0%,#e9e9db35 35%,#0000 65%),linear-gradient(#0000 80%,#f3f0e766);transition:opacity 1s;position:fixed;inset:0}.walking .shade{opacity:.25}header{pointer-events:none;align-items:center;gap:36px;display:flex;position:fixed;top:32px;left:42px;right:42px}header>*{pointer-events:auto}.brand{color:var(--ink);letter-spacing:-3px;font-size:48px;font-weight:650;line-height:1;text-decoration:none}.brand-dot{color:#74937b}.location{border-left:1px solid var(--line);flex-direction:column;gap:6px;padding-left:26px;font-size:12px;display:flex}.location-index{letter-spacing:2px;font-size:9px;font-weight:700}nav{align-items:center;gap:8px;margin-left:auto;display:flex}nav button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f0e7c9;border:1px solid #ffffff80;border-radius:3px;padding:12px 15px;font-size:13px}nav button:last-child{width:43px}nav button:hover,.spawn-controls button:hover{background:#fffdf5}#intro{max-width:570px;transition:opacity .6s,transform .6s;position:fixed;bottom:115px;left:44px}.eyebrow{letter-spacing:2.2px;text-transform:uppercase;font-size:10px;font-weight:700}.place-picker{flex-direction:column;gap:6px;max-width:290px;margin-top:16px;display:flex}.place-picker label{letter-spacing:1.8px;text-transform:uppercase;color:#52685a;font-size:9px;font-weight:700}#place-select{font:inherit;color:#263f33;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f0e7c9;border:1px solid #ffffff80;border-radius:3px;width:100%;padding:9px 11px;font-size:13px}#place-select:hover{background:#fffdf5}#place-select:focus-visible{outline-offset:2px;outline:3px solid #628c7a}#place-select:disabled{cursor:wait;opacity:.65}h1{letter-spacing:-1.3px;color:#263f33;margin:22px 0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(46px,5vw,76px);font-weight:400;line-height:1.04}.intro-copy{color:#415449;margin:24px 0 28px;font-size:14px;line-height:1.8}.primary{color:#f7f5e9;background:#294a3b;border:0;border-radius:2px;justify-content:space-between;align-items:center;gap:45px;min-width:240px;padding:17px 22px;font-size:13px;transition:background .2s,transform .2s;display:flex}.primary:hover{background:#3f6652;transform:translateY(-2px)}.primary span:last-child{font-size:22px}.footnote{color:#52685a;margin-top:17px;font-size:10px}.walking #intro{opacity:0;pointer-events:none;transform:translateY(15px)}#walk-hud{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f0e7d9;border-left:2px solid #678d71;flex-direction:column;gap:10px;padding:18px 24px;display:flex;position:fixed;bottom:86px;left:42px}#street-name{font-family:Libre Caslon Display,Georgia,serif;font-size:32px;font-weight:400}.walk-hint{color:#56695e;font-size:11px}.weather-line{letter-spacing:.3px;color:#3f5a4c;font-size:11px}.weather-line:empty{display:none}.walk-hint i{margin:0 8px;font-style:normal}#map-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f0e7ec;width:240px;padding:17px 17px 10px;transition:opacity .3s,transform .3s;position:fixed;bottom:78px;right:42px;box-shadow:0 10px 40px #223d3112}.map-heading{letter-spacing:1.6px;border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:12px;font-size:8px;font-weight:650;display:flex}#map{width:100%;height:250px;margin-top:8px;display:block}.map-caption{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:8px 0 12px;font-size:10px;display:flex}.spawn-controls{gap:3px;padding-top:8px;display:flex}.spawn-controls button{background:0 0;border:0;flex:1;padding:8px 9px;font-size:10px}.spawn-controls button.active{background:#dfe4d8}footer{color:#53695c;align-items:center;gap:25px;font-size:9px;display:flex;position:fixed;bottom:25px;left:42px;right:42px}footer a{color:inherit}footer .edition{letter-spacing:2px;margin-right:auto;font-size:9px;font-weight:700}footer button{background:0 0;border:0;padding:8px;font-size:9px;text-decoration:underline}#status{text-align:center;pointer-events:none;background:#f3f0e7ee;border-radius:3px;max-width:400px;padding:10px 16px;font-size:11px;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}#status:empty{display:none}#retry{color:#fff;background:#294a3b;border:0;padding:10px 18px;position:fixed;bottom:125px;left:50%;transform:translate(-50%)}dialog{color:var(--ink);background:var(--paper);border:0;width:calc(100% - 32px);max-width:450px;max-height:90svh;padding:45px;overflow:auto;box-shadow:0 30px 80px #12261f33}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#203c3566}.close{background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:16px}h2{margin:20px 0 30px;font-family:Libre Caslon Display,Georgia,serif;font-size:45px;font-weight:400;line-height:1.03}dl{grid-template-columns:1fr 2fr;gap:12px;margin-bottom:26px;font-size:12px;display:grid}dt{font-weight:650}dd{color:#56695e;margin:0}.about-copy{color:#56695e;font-size:12px;line-height:1.7}dialog a{color:#294a3b;font-size:12px}.walking #touch-controls{display:flex}#touch-controls{pointer-events:none;align-items:center;gap:22px;position:fixed;bottom:92px;left:26px}#touch-controls span{background:#f3f0e7bb;padding:7px;font-size:10px}#joystick{pointer-events:auto;touch-action:none;background:#f0eddd55;border:1px solid #fff9;border-radius:50%;width:106px;height:106px;position:relative}#joystick div{background:#294a3b99;border:1px solid #fff8;border-radius:50%;width:42px;height:42px;position:absolute;top:31px;left:31px}.fps{white-space:pre;pointer-events:none;background:#fff;padding:10px;font:11px monospace;position:fixed;top:110px;left:20px}@media (width<=700px),(height<=500px){header{gap:15px;top:25px;left:22px;right:20px}.brand{font-size:38px}.location{display:none}nav{gap:5px}nav button{width:38px;padding:10px}nav button span{display:none}#intro{bottom:95px;left:24px;right:24px}h1{max-width:360px;font-size:49px}.intro-copy{font-size:12px}.place-picker{gap:4px;margin-top:10px}.place-picker label{letter-spacing:1.2px;font-size:7px}#place-select{padding:7px 8px;font-size:11px}#map-panel{width:172px;padding:12px;bottom:83px;right:18px}#map{height:185px}.map-heading{letter-spacing:1px;font-size:6px}.map-caption{font-size:8px}.spawn-controls button{padding:6px 3px;font-size:8px}body:not(.walking) #map-panel{display:none}footer{gap:10px;font-size:8px;bottom:17px;left:23px;right:23px}footer .edition{display:none}footer button{margin-left:auto;font-size:8px}#walk-hud{padding:10px 12px;bottom:220px;left:23px;right:195px}.walk-hint{display:none}#street-name{font-size:23px}#walk-hud .eyebrow{letter-spacing:1px;font-size:7px}#status{width:max-content;max-width:90%;font-size:10px;bottom:53px}.shade{background:linear-gradient(#0000 20%,#f3f0e770 52%,#f3f0e7e0 100%)}#retry{bottom:90px}dialog{padding:30px}#touch-controls span{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}#world:focus-visible{outline-offset:-5px;outline:3px solid #628c7a}#speed-toggle[aria-pressed=true]{color:#fffdf5;background:#294a3b}@media (width<=700px),(height<=500px){#speed-toggle{white-space:nowrap;padding:12px 8px;font-size:0}#speed-toggle:before{content:"Fast";font-size:10px}}#route-summary{border-top:1px solid var(--line);padding-top:9px;font-size:9px;line-height:1.5}#route-summary>span{font-weight:600}#route-sequence{margin:5px 0}.jump-label{color:#53695c;margin:9px 0 0;font-size:9px}.jump-label+.spawn-controls{padding-top:2px}#arrival-hint{color:#294a3b;max-width:290px;font-size:11px;line-height:1.5}.map-hud-controls{display:none}@media (width<=700px),(height<=500px){#map-toggle{width:auto;min-width:48px;padding:10px 8px;font-size:12px}#map-toggle span{display:inline}#map-panel{border-radius:12px;width:min(300px,100vw - 32px);max-height:calc(100svh - 150px);bottom:66px;right:16px;overflow:auto}.map-hud-controls{justify-content:space-between;gap:4px;display:flex}.map-hud-controls button{background:0 0;border:0;min-height:44px;padding:8px 10px;font-size:11px}#map-panel .map-heading{display:none}#map-panel.compact-map{background:#f3f0e7e8;border:1px solid #fff9;width:132px;padding:4px;overflow:hidden;box-shadow:0 3px 16px #172e3440}.compact-map .map-hud-controls{order:2}#map-panel.compact-map #map{background:#e5e4d8;border-radius:8px;width:122px;margin:0;height:122px!important}.compact-map #route-summary,.compact-map .map-caption,.compact-map .jump-label,.compact-map .spawn-controls{display:none!important}#walk-hud{border-radius:3px;width:max-content;max-width:calc(100vw - 36px);padding:8px 12px;inset:88px 18px auto}#street-name{font-size:21px}#walk-hud .eyebrow{display:none}#touch-controls{bottom:82px;left:20px}}@media (width<=380px){header{gap:8px;left:16px;right:16px}.brand{letter-spacing:-2px;font-size:29px}nav{gap:4px}nav button{width:34px;padding:10px 7px}nav button:last-child{width:34px}}@media (height<=500px){header{top:12px;left:18px;right:18px}.brand{letter-spacing:-2px;font-size:30px}#intro{width:min(410px,100vw - 36px);padding:4px 12px 12px 0;inset:66px auto 45px 18px;overflow:auto}#intro .eyebrow{font-size:8px}#intro h1{max-width:none;margin:10px 0;font-size:32px;line-height:1.03}#intro .intro-copy{margin:10px 0;font-size:11px;line-height:1.45}#intro .primary{min-width:220px;min-height:44px;padding:10px 16px}.footnote{margin:8px 0;font-size:9px}footer{bottom:8px;left:18px;right:18px}#walk-hud{max-width:calc(100vw - 190px);top:62px}#street-name{font-size:18px}#map-panel{max-height:calc(100svh - 105px);bottom:42px}#map-panel.compact-map{width:116px}#map-panel.compact-map #map{width:106px;height:106px!important}#touch-controls{bottom:45px;left:18px}#joystick{width:90px;height:90px}#joystick div{top:23px;left:23px}}@media (width<=700px),(height<=500px){#map-panel{max-height:calc(100svh - 155px);inset:88px auto auto 16px}#walk-hud{width:auto;max-width:none;padding:8px 10px;top:88px;left:160px;right:16px}body:has(#map-panel:not([hidden]):not(.compact-map)) #walk-hud{display:none}body:has(#map-panel[hidden]) #walk-hud{width:max-content;max-width:calc(100vw - 36px);left:18px}}@media (height<=500px){#map-panel{max-height:calc(100svh - 105px);top:62px}#walk-hud{max-width:calc(100vw - 162px);top:62px;left:144px;right:auto}}@media (height<=350px){#intro .eyebrow,#intro .footnote{display:none}#intro h1{margin:4px 0 8px;font-size:28px}#intro .intro-copy{margin:8px 0}}body.destination-map #map-panel,body.destination-map #walk-hud .eyebrow,body.destination-map #walk-hud #street-name,body.destination-map #walk-hud .walk-hint{display:none!important}body.destination-map #walk-hud:not(:has(#arrival-hint:not([hidden]))){display:none!important}#navigation-hud{z-index:3;pointer-events:none;--hud-left:max(28px,env(safe-area-inset-left));--hud-top:104px;--hud-size:clamp(220px,15.6vw,280px);position:fixed;inset:0}body:not(.walking) #navigation-hud{display:none!important}#navigation-hud .hud-map,#navigation-hud .hud-caption,#navigation-hud .hud-destination{pointer-events:auto}.hud-map{left:var(--hud-left);top:var(--hud-top);width:var(--hud-size);height:var(--hud-size);border:4px solid var(--map-green);background:var(--map-paper);box-shadow:inset 0 0 0 3px var(--map-paper),inset 0 0 0 6px var(--map-green),0 10px 30px #102d2445;border-radius:30px;padding:8px;position:fixed;overflow:hidden}.hud-map canvas{border:2px solid var(--map-green);touch-action:none;background:#405b4e;border-radius:21px;width:100%;height:100%;display:block}.hud-caption{left:var(--hud-left);top:calc(var(--hud-top) + var(--hud-size) + 8px);width:var(--hud-size);border:3px solid var(--map-paper);background:var(--map-green);min-height:58px;box-shadow:0 0 0 3px var(--map-green),0 8px 24px #102d2433;color:var(--map-paper);text-align:center;border-radius:15px;justify-content:center;align-items:center;margin:0;padding:10px 16px;display:flex;position:fixed}.hud-caption span{display:block}.hud-caption [data-hud-place]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--wayfinding);letter-spacing:.035em;text-transform:uppercase;font-size:clamp(18px,1.35vw,23px);font-weight:700;line-height:1;overflow:hidden}.hud-caption [data-hud-hint]{display:none}.hud-compass{color:#617066;width:min(510px,38vw);height:56px;font-family:var(--wayfinding);letter-spacing:.06em;filter:drop-shadow(0 1px #fff9);justify-content:space-between;align-items:center;font-size:22px;font-weight:600;display:flex;position:fixed;top:42px;left:50%;transform:translate(-50%)}.hud-compass i{background:#294537b0;width:1px;height:23px;display:block}.hud-compass i:nth-of-type(2),.hud-compass i:nth-of-type(5){height:12px}.hud-compass strong{color:var(--map-green);font-size:38px;line-height:1}.hud-compass b{border-left:8px solid #0000;border-right:8px solid #0000;border-top:10px solid var(--map-green);width:0;height:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hud-destination{right:max(40px,env(safe-area-inset-right));border:3px solid var(--map-green);background:var(--map-paper);width:clamp(330px,29vw,485px);min-height:74px;color:var(--map-green);text-align:left;text-transform:uppercase;border-radius:18px;justify-content:flex-start;align-items:center;gap:16px;padding:10px 22px;display:flex;position:fixed;top:104px;box-shadow:0 8px 24px #102d2433}.hud-destination [data-hud-destination]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--wayfinding);letter-spacing:.035em;font-size:clamp(23px,2vw,34px);font-weight:700;line-height:1;overflow:hidden}.hud-destination-separator{color:var(--map-amber);font-size:27px;line-height:1}.hud-destination [data-hud-distance]{white-space:nowrap;color:var(--map-amber);font-family:var(--wayfinding);margin-left:auto;font-size:clamp(30px,2.8vw,47px);font-weight:700;line-height:1}.hud-destination[data-empty=true] .hud-destination-separator,.hud-destination[data-empty=true] [data-hud-distance]{display:none}.wayfinding-pin{background:var(--map-green);border-radius:50% 50% 50% 0;flex:none;width:28px;height:34px;position:relative;transform:rotate(-45deg)}.wayfinding-pin i{background:var(--map-paper);border-radius:50%;width:10px;height:10px;position:absolute;top:9px;left:9px}#destination-map:not([open]){display:none}#destination-map[open]{border:4px solid var(--map-green);background:var(--map-paper);width:min(1200px,100vw - 48px);max-width:none;height:min(820px,100svh - 42px);max-height:calc(100svh - 42px);color:var(--map-green);border-radius:28px;flex-direction:column;margin:auto;padding:0;display:flex;overflow:hidden;box-shadow:0 30px 90px #061e176e}#destination-map::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0c211c7a}.destination-map-bar{background:var(--map-paper);border-bottom:2px solid #0b3b2d66;flex:0 0 76px;justify-content:space-between;align-items:center;gap:18px;padding:10px 16px 10px 26px;display:flex}.destination-map-bar-actions{align-items:center;gap:10px;display:flex}#destination-map h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--wayfinding);letter-spacing:.035em;text-transform:uppercase;color:var(--map-green);margin:0;font-size:clamp(34px,3vw,48px);font-weight:700;line-height:1;overflow:hidden}#destination-map [data-breadcrumb]{display:none!important}#destination-map [data-action=back],#destination-map [data-action=close]{background:var(--map-green);min-width:148px;min-height:50px;color:var(--map-paper);font-family:var(--wayfinding);letter-spacing:.04em;text-transform:uppercase;border:0;border-radius:14px;padding:8px 20px;font-size:24px;font-weight:700}#destination-map [data-action=back]{min-width:220px}.destination-map-stage{background:#9cac9c;flex:1;min-height:0;position:relative;overflow:hidden}.destination-map-stage canvas{touch-action:none;outline-offset:-5px;background:#9cac9c;width:100%;height:100%;display:block}.destination-region-list{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.destination-region-list:focus-within{z-index:5;background:var(--map-paper);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid;top:16px;left:16px;right:16px;box-shadow:0 12px 40px #0b2d2355;clip:auto!important;white-space:normal!important;border:3px solid var(--map-green)!important;width:auto!important;height:auto!important;margin:0!important;padding:12px!important;overflow:auto!important}.destination-region-list button{border:2px solid var(--map-green);background:var(--map-paper);min-height:44px;color:var(--map-green);font-family:var(--wayfinding);text-transform:uppercase;border-radius:8px;padding:7px 10px;font-size:20px;font-weight:700}.destination-region-list button[aria-pressed=true]{background:var(--map-green);color:var(--map-paper)}.map-attribution{z-index:2;color:#26483c;background:#f8f4e8cc;border-radius:3px;margin:0;padding:3px 6px;font-size:9px;line-height:1.2;position:absolute;bottom:7px;left:12px}.map-attribution a{font-size:inherit}.destination-map-footer{background:var(--map-paper);border-top:2px solid #0b3b2d66;flex:0 0 92px;align-items:center;gap:22px;padding:12px 16px 12px 24px;display:flex;position:relative}.destination-map-viewport-controls{flex:none;align-items:center;gap:12px;display:flex}.destination-map-viewport-controls button{background:var(--map-green);min-width:62px;height:60px;color:var(--map-paper);font-family:var(--wayfinding);border:0;border-radius:13px;padding:5px 15px;font-size:44px;font-weight:600;line-height:1}.destination-map-viewport-controls [data-action=recenter]{letter-spacing:.04em;text-transform:uppercase;min-width:168px;font-size:25px}.destination-map-viewport-controls>span{background:#21483b99;width:1px;height:52px;margin:0 4px}#destination-map [data-instruction]{color:var(--map-green);font-family:var(--wayfinding);letter-spacing:.035em;text-align:right;text-transform:uppercase;margin:0 0 0 auto;font-size:clamp(25px,2.5vw,38px);font-weight:700;line-height:1}.destination-map-sheet{z-index:3;background:var(--map-paper);justify-content:flex-end;align-items:center;gap:20px;padding:10px 16px 10px 24px;display:flex;position:absolute;inset:0}.destination-map-feedback{min-width:0;margin-right:auto}.destination-map-sheet [data-map-status]{color:var(--map-green);font-family:var(--wayfinding);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:clamp(28px,2.6vw,40px);font-weight:700;line-height:1}.destination-map-sheet [data-sheet-meta]{color:#53645d;font-family:var(--wayfinding);margin:4px 0 0;font-size:23px;font-weight:600;line-height:1.05}.destination-map-sheet [data-sheet-meta]:empty,[data-map-status]:empty{display:none}.destination-map-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.destination-map-actions button{border:3px solid var(--map-green);background:var(--map-paper);min-width:150px;min-height:60px;color:var(--map-green);font-family:var(--wayfinding);letter-spacing:.04em;text-transform:uppercase;border-radius:13px;padding:8px 24px;font-size:25px;font-weight:700;line-height:1}.destination-map-actions button[data-action=zoom],.destination-map-actions button[data-action=set],.destination-map-actions button[data-action=done],.destination-map-actions button[data-action=retry]{border-color:var(--map-green);background:var(--map-green);color:var(--map-paper)}.destination-map-actions button[data-action=set]{min-width:245px}.destination-map-actions button[data-action=clear]{min-width:220px}.destination-map-actions button:disabled{opacity:.45}#destination-map[data-map-state=preview-valid] .destination-map-footer{flex-basis:130px}#destination-map[data-map-state=preview-valid] .destination-map-feedback{text-align:center;flex:1;margin:0}#destination-map[data-map-state=preview-valid] .destination-map-sheet [data-map-status],#destination-map[data-map-state=destination] .destination-map-sheet [data-map-status]{max-width:680px;font-size:clamp(27px,2.25vw,36px);line-height:.96}#destination-map[data-map-state=destination] .destination-map-footer{flex-basis:112px}#destination-map[data-map-state=preview-unavailable] .destination-map-sheet,#destination-map[data-map-state=load-failed] .destination-map-sheet{text-align:center;border:3px solid #a95f32;border-radius:20px;flex-direction:column;justify-content:center;width:min(560px,100% - 32px);min-height:150px;inset:auto 50% 26px auto;transform:translate(50%);box-shadow:0 12px 36px #18372b38}#destination-map[data-map-state=preview-unavailable] .destination-map-feedback,#destination-map[data-map-state=load-failed] .destination-map-feedback{margin:0}#destination-map[data-map-state=preview-unavailable] .destination-map-actions,#destination-map[data-map-state=load-failed] .destination-map-actions{justify-content:center}[data-crosshair]{border:3px solid var(--map-green);pointer-events:none;width:22px;height:22px;filter:drop-shadow(0 0 2px var(--map-paper));border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-crosshair]:before,[data-crosshair]:after{content:"";background:var(--map-green);position:absolute}[data-crosshair]:before{width:3px;height:32px;top:-8px;left:8px}[data-crosshair]:after{width:32px;height:3px;top:8px;left:-8px}@media (width<=900px){#navigation-hud{--hud-left:max(18px,env(safe-area-inset-left));--hud-top:92px;--hud-size:190px}.hud-compass{display:none}.hud-destination{right:max(18px,env(safe-area-inset-right));width:min(380px,100vw - 245px);top:92px}#destination-map[open]{width:calc(100vw - 24px);height:calc(100svh - 24px);max-height:calc(100svh - 24px)}.destination-map-actions button{min-width:128px;padding-inline:15px}}@media (width<=700px),(height<=500px){#navigation-hud{--hud-left:max(12px,env(safe-area-inset-left));--hud-top:max(10px,env(safe-area-inset-top));--hud-size:118px}.hud-map{box-shadow:inset 0 0 0 2px var(--map-paper),inset 0 0 0 4px var(--map-green),0 6px 18px #102d2440;border-width:3px;border-radius:18px;padding:4px}.hud-map canvas{border-width:1px;border-radius:12px}.hud-caption{top:calc(var(--hud-top) + var(--hud-size) + 6px);min-height:40px;box-shadow:0 0 0 2px var(--map-green),0 5px 14px #102d2433;border-width:2px;border-radius:10px;padding:7px 9px}.hud-caption [data-hud-place]{letter-spacing:.025em;font-size:16px}.hud-destination{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));border-width:2px;border-radius:13px;gap:7px;width:min(330px,100vw - 156px);min-height:58px;padding:8px 11px}.hud-destination [data-hud-destination]{letter-spacing:.025em;font-size:18px}.hud-destination [data-hud-distance]{font-size:30px}.wayfinding-pin{width:21px;height:26px}.wayfinding-pin i{width:7px;height:7px;top:7px;left:7px}body:not(.walking) #navigation-hud{display:none!important}#destination-map[open]{border-width:3px;border-radius:20px;width:calc(100vw - 12px);height:calc(100svh - 12px);max-height:calc(100svh - 12px)}.destination-map-bar{flex-basis:68px;padding:8px 10px 8px 16px}#destination-map h2{font-size:32px}#destination-map [data-action=back],#destination-map [data-action=close]{min-width:104px;min-height:48px;padding:6px 13px;font-size:20px}#destination-map [data-action=back]{min-width:145px}.destination-map-footer{flex-basis:82px;gap:12px;padding:10px 12px}.destination-map-viewport-controls{gap:7px}.destination-map-viewport-controls button{min-width:52px;height:54px}.destination-map-viewport-controls [data-action=recenter]{min-width:122px;font-size:21px}#destination-map [data-instruction]{font-size:25px}.destination-map-sheet{gap:10px;padding:8px 12px}.destination-map-sheet [data-map-status]{font-size:28px}.destination-map-sheet [data-sheet-meta]{font-size:18px}.destination-map-actions{gap:7px}.destination-map-actions button{min-width:112px;min-height:52px;padding:7px 12px;font-size:21px}.destination-map-actions button[data-action=set]{min-width:180px}.destination-map-actions button[data-action=clear]{min-width:170px}}@media (width<=560px) and (orientation:portrait){#destination-map[open]{border-radius:24px;width:calc(100vw - 18px);height:calc(100svh - 28px);max-height:calc(100svh - 28px)}.destination-map-bar{flex-basis:86px;padding:12px 14px 10px 20px}#destination-map h2{font-size:38px}#destination-map [data-action=back]{min-width:0;max-width:138px;font-size:18px}#destination-map [data-action=close]{min-width:114px;font-size:24px}.destination-map-footer{flex-wrap:wrap;flex:none;min-height:96px;padding:10px 12px}.destination-map-viewport-controls{justify-content:space-between;width:100%}.destination-map-viewport-controls button{flex:0 0 66px}.destination-map-viewport-controls [data-action=recenter]{flex:1}#destination-map [data-instruction]{text-align:center;width:100%;padding:22px 8px 14px;font-size:30px}.destination-map-sheet{text-align:center;flex-direction:column;align-items:stretch;padding:12px 2px;position:relative;width:100%!important;min-height:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;inset:auto!important;transform:none!important}.destination-map-feedback{margin:0}.destination-map-actions{flex-wrap:wrap;justify-content:center}#destination-map:not([data-map-state=borough]):not([data-map-state=region]) .destination-map-viewport-controls,#destination-map:not([data-map-state=borough]):not([data-map-state=region]) [data-instruction]{display:none}#destination-map:not([data-map-state=borough]):not([data-map-state=region]) .destination-map-footer{flex:0 0 170px;min-height:170px}.map-attribution{display:none}}#explore-menu-toggle,#map-open-menu{display:none}#explore-menu h2{margin:0 0 18px;font-size:32px}#explore-menu h3{margin:18px 0 10px;font-size:12px}.menu-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.menu-grid button,.menu-grid a{color:#294a3b;text-align:left;background:#e6eadd;border:1px solid #c9d0c4;border-radius:6px;align-items:center;min-height:44px;padding:10px;font-size:12px;text-decoration:none;display:flex}.menu-grid button[aria-pressed=true]{color:#fff;background:#294a3b}.area-links{margin-top:10px}#explore-menu summary{cursor:pointer;padding:16px 0 0;font-size:12px}.menu-grid button[hidden]{display:none}@media (width<=700px),(height<=500px){header nav,.walking header,.walking #walk-hud{display:none}#explore-menu-toggle{z-index:2;background:#f3f0e7e8;border:1px solid #ffffff80;border-radius:8px;min-width:44px;min-height:44px;padding:10px;font-size:13px;display:block;position:fixed;top:16px;right:16px}#map-panel{max-height:calc(100svh - 65px);top:16px}.compact-map .map-hud-controls{display:none}.compact-map #map-open-menu{z-index:1;background:0 0;border:0;border-radius:8px;width:100%;height:100%;display:block;position:absolute;inset:0}.walking footer .edition,.walking footer #about-toggle{display:none}.walking footer{pointer-events:none;justify-content:flex-end}.walking footer a{pointer-events:auto}#touch-controls{left:18px;right:auto}.walking #walk-hud{pointer-events:none;background:#f3f0e7e8;border:0;border-radius:5px;gap:0;width:max-content;max-width:calc(100vw - 32px);padding:6px 9px;display:flex;inset:156px auto auto 16px}.walking #street-name{font-family:inherit;font-size:12px;font-weight:600;line-height:1.4}.walking #walk-hud .eyebrow,.walking #walk-hud .walk-hint,.walking #walk-hud #arrival-hint{display:none}body.walking:has(#map-panel[hidden]) #walk-hud{max-width:calc(100vw - 120px);top:16px;left:16px}body.walking:has(#map-panel:not([hidden]):not(.compact-map)) #walk-hud{display:none}}@media (height<=500px){.walking #walk-hud{max-width:calc(100vw - 240px);top:16px;left:144px}}#ride-prompts{z-index:3;pointer-events:none;position:fixed;inset:0}#ride-prompts button{color:#294137;white-space:nowrap;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f3f0e7ed;border:1px solid #fff9;border-radius:8px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 12px #13251c30}#ride-prompts button:not(.is-riding):after{content:"";border:6px solid #0000;border-top-color:#f3f0e7ed;position:absolute;top:100%;left:calc(50% - 6px)}#ride-prompts button[hidden]{display:none}@media (pointer:coarse){#ride-prompts button{min-height:44px;padding:9px 13px}}#touch-run{right:max(22px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));color:#294a3b;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f3f0e7e8;border:1px solid #fff9;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:76px;height:76px;display:flex;position:fixed;box-shadow:0 3px 16px #172e3426}#touch-run strong{font-size:11px;font-weight:600}#touch-run[aria-pressed=true]{color:#fffdf5;background:#294a3b;transform:scale(.96)}@media (height<=500px){#touch-run{bottom:calc(45px + env(safe-area-inset-bottom));width:70px;height:70px}}#touch-driving{right:max(18px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));pointer-events:auto;gap:10px;display:flex;position:fixed}#touch-driving button{color:#294a3b;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f3f0e7ed;border:1px solid #fff9;border-radius:50%;width:68px;height:68px;font-size:11px}#touch-driving button[aria-pressed=true]{color:#fff;background:#294a3b;transform:scale(.96)}@media (height<=500px){#touch-driving{bottom:calc(45px + env(safe-area-inset-bottom))}#touch-driving button{width:58px;height:58px}}@media (width<=420px){#touch-driving{gap:5px}#touch-driving button{width:57px;height:62px}}#transport-actions{z-index:3;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#transport-actions button{color:#294137;background:#f3f0e7ed;border:1px solid #fff8;border-radius:8px;min-height:44px;padding:10px 14px;font-size:12px;position:static;transform:none}#transport-actions button:disabled{cursor:default;opacity:.8}@media (width<=700px),(height<=500px){#transport-actions{bottom:18px;left:auto;right:18px;transform:none}#transport-actions button{padding:8px 12px;font-size:11px}}@media (height<=500px){#transport-actions{bottom:8px}#transport-actions button{min-height:30px;padding:6px 12px}}#touch-driving [data-pedal=action]{position:absolute;bottom:calc(100% + 8px);right:0}@media (width<=700px),(height<=500px){#transport-actions{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 36px)}body:not(.flying) #fly-action{display:none!important}body.flying #transport-actions{bottom:210px}}@media (height<=500px){body.flying #transport-actions{bottom:90px}}.geo-debug{z-index:40;color:#20302d;pointer-events:auto;background:#f5f4eced;border:1px solid #a0aea5;border-radius:8px;width:min(390px,100vw - 24px);padding:10px;font:12px/1.5 monospace;position:fixed;bottom:12px;left:12px}.geo-debug summary{cursor:pointer}.geo-debug pre{white-space:pre-wrap;max-height:30vh;overflow:auto}.geo-debug form{gap:6px;margin:8px 0;display:flex}.geo-debug form label{flex:1}.geo-debug input[name]{box-sizing:border-box;width:100%;padding:6px;display:block}.geo-debug button{align-self:end;padding:6px}.geo-debug[hidden]{display:none}.spawn-controls:has(button:nth-child(5)){overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));max-height:170px;display:grid;overflow:auto}.spawn-controls:has(button:nth-child(5)) button{overflow-wrap:anywhere;min-width:0}@media (width>=701px) and (height>=501px){#map-panel{max-height:calc(100svh - 150px);overflow:auto}}@media (width<=700px),(height<=500px){.geo-debug:not([open]){width:auto;max-width:calc(100vw - 150px)}.geo-debug[open]{bottom:110px}}.jump-label{justify-content:space-between;align-items:center;gap:8px;display:flex}#map-landmarks{border:1px solid var(--line);color:#294a3b;letter-spacing:.3px;background:#e6eadd;border-radius:3px;padding:4px 8px;font-size:9px}#map-landmarks:hover{background:#fffdf5}.menu-key{letter-spacing:.5px;vertical-align:middle;color:#53695c;border:1px solid #c9d0c4;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:10px;display:inline-block}#menu-landmarks{margin-bottom:6px}#train-action{z-index:3;color:#fff;background:#ee7a1e;border:1px solid #fff8;border-radius:8px;min-height:48px;padding:12px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#train-action:disabled{color:#eee;background:#6d6a63}#train-call{z-index:3;color:#fff;background:#1f3f8f;border:1px solid #fff8;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:600;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}#train-hint{z-index:3;color:#ffa81e;letter-spacing:.02em;text-align:center;background:#080604e6;border-radius:6px;max-width:min(640px,100vw - 32px);padding:8px 14px;font:600 14px/1.4 Arial,sans-serif;position:fixed;top:18px;left:50%;transform:translate(-50%)}@media (width<=700px),(height<=500px){#train-action{bottom:44px;left:auto;right:18px;transform:none}#train-call{bottom:100px;left:auto;right:18px;transform:none}}#bus-action{z-index:3;color:#fff;background:#da291c;border:1px solid #fff8;border-radius:8px;min-height:48px;padding:12px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#bus-action:disabled{color:#eee;background:#6d6a63}#bus-call{z-index:3;color:#fff;background:#1f3f8f;border:1px solid #fff8;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:600;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}#bus-hint{z-index:3;color:#ffd21f;letter-spacing:.02em;text-align:center;background:#050506e6;border-radius:6px;max-width:min(640px,100vw - 32px);padding:8px 14px;font:600 14px/1.4 Arial,sans-serif;position:fixed;top:18px;left:50%;transform:translate(-50%)}@media (width<=700px),(height<=500px){#bus-action{bottom:44px;left:auto;right:18px;transform:none}#bus-call{bottom:100px;left:auto;right:18px;transform:none}}.mobile-driving-options{display:none}#menu-transport{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:18px}#menu-transport .menu-grid button{min-height:48px;font-size:14px}#car-exit-strip{display:none}@media (pointer:coarse){#car-exit-strip:not([hidden]){z-index:4;top:calc(12px + env(safe-area-inset-top));right:calc(86px + env(safe-area-inset-right));display:block;position:fixed}#car-exit-hold{color:#294a3b;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f3f0e7ed;border:1px solid #fff9;border-radius:8px;justify-content:center;align-items:center;width:64px;min-height:44px;padding:0 2px 0 28px;font-size:12px;font-weight:600;display:flex;position:relative;box-shadow:0 3px 12px #13251c30}.exit-progress{width:29px;height:29px;position:absolute;top:7px;left:3px;transform:rotate(-90deg)}.exit-progress circle{fill:none;stroke:#a7b3a8;stroke-width:2.5px}.exit-progress circle:last-child{stroke:#294a3b;stroke-width:3px;stroke-linecap:round;stroke-dasharray:88;stroke-dashoffset:88px}#car-exit-hold.holding .exit-progress circle:last-child{animation:.7s linear forwards car-exit-progress}#bus-call,#train-call{display:none}.mobile-driving-options{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.mobile-driving-options button{background:#e6eadd;border:1px solid #c9d0c4;border-radius:6px;min-height:44px;padding:10px}.mobile-driving-options label{align-items:center;gap:8px;min-height:44px;display:flex}body:not(.advanced-driving) #touch-driving [data-pedal=action],#horn-action,body:not(.flying) #fly-action,#menu-mouse{display:none}#touch-controls{left:calc(16px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom))}#joystick{background:#f0eddd35;width:100px;height:100px}#joystick div{top:28px;left:28px}#touch-driving{right:calc(16px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));gap:8px}#touch-driving button{background:#f3f0e7d9;width:60px;height:60px;min-height:44px}#touch-driving [data-pedal=gas]{color:#fff;background:#294a3be8;width:68px;height:68px}#transport-actions{left:auto;right:calc(16px + env(safe-area-inset-right));bottom:calc(100px + env(safe-area-inset-bottom));max-width:65vw;transform:none}#transport-actions button{min-height:44px;font-size:12px}#touch-run{right:calc(16px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:68px;height:68px}#explore-menu-toggle{right:calc(12px + env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top));min-height:44px}.walking footer{display:none}body.advanced-driving #transport-actions{bottom:calc(172px + env(safe-area-inset-bottom))}body.flying #transport-actions{bottom:calc(100px + env(safe-area-inset-bottom))}}@keyframes car-exit-progress{to{stroke-dashoffset:0}}@media (pointer:coarse) and (width<=700px) and (height>=501px){body.driving #walk-hud{top:calc(158px + env(safe-area-inset-top))}}#world,#touch-controls,#touch-controls *,#transport-actions,#transport-actions *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#joystick,#joystick *{touch-action:none;-webkit-tap-highlight-color:transparent}:root{--brand-blue:#1d54c7;--brand-coral:#fa7565;--brand-yellow:#fccb4a;--brand-ink:#1c1f32;--brand-paper:#f7f3e9;--brand-muted:#59627a;--brand-font:"Avenir Next",Avenir,"Nunito Sans","Trebuchet MS",sans-serif}.brand{line-height:0;display:block}.brand img{width:auto;height:54px;display:block}body:not(.walking) .shade{background:linear-gradient(#1c1f3240,#0000 22%),linear-gradient(#0000 66%,#1c1f3280)}body:not(.walking) header{z-index:3;top:26px;left:30px;right:30px}body:not(.walking) header .location,body:not(.walking) header nav,body:not(.walking) #explore-menu-toggle,body:not(.walking) #map-panel,body:not(.walking) footer,body:not(.walking) .geo-debug{display:none!important}body:not(.walking) .brand{background:var(--brand-paper);border-radius:20px;padding:11px 18px;box-shadow:0 8px 30px #1c1f3236}body:not(.walking) .brand img{height:48px}body:not(.walking) #intro{z-index:3;top:auto;left:50%;right:auto;bottom:max(30px,env(safe-area-inset-bottom));background:var(--brand-paper);width:max-content;max-width:calc(100vw - 32px);color:var(--brand-ink);font-family:var(--brand-font);border:1px solid #fff9;border-radius:24px;padding:9px;transform:translate(-50%);box-shadow:0 15px 45px #1c1f3259}#intro .splash-copy{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.splash-dock{align-items:stretch;gap:6px;display:flex}.splash-dock button{min-height:55px;color:var(--brand-ink);font:800 15px/1.2 var(--brand-font);white-space:nowrap;background:0 0;border:0;border-radius:17px;justify-content:center;align-items:center;gap:12px;padding:10px 23px;transition:background .2s,transform .2s;display:flex}.splash-dock button:hover:not(:disabled){background:#e9e8e5}.splash-dock button:focus-visible,#places-drawer button:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:2px}.splash-dock #enter{background:var(--brand-blue);color:#fff;min-width:172px;box-shadow:none}.splash-dock #enter:hover:not(:disabled){background:#2a63dd;transform:translateY(-2px)}.splash-dock #enter:disabled{color:var(--brand-muted);opacity:1;background:#dfe4f2}.splash-dock #enter span:last-child{font-size:23px;line-height:1}#places-drawer[open]{background:var(--brand-paper);width:min(390px,100vw);max-width:none;height:100dvh;max-height:none;color:var(--brand-ink);font-family:var(--brand-font);border-radius:26px 0 0 26px;margin:0;padding:28px 25px 32px;position:fixed;inset:0 0 0 auto;box-shadow:-18px 0 55px #1c1f3240}#places-drawer::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c1f3240}.places-drawer-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}#places-drawer .eyebrow{color:var(--brand-blue);font:800 10px/1.3 var(--brand-font);letter-spacing:.18em;margin:8px 0 2px}#places-drawer h2{color:var(--brand-ink);font:800 43px/1.1 var(--brand-font);letter-spacing:-.04em;margin:0}.places-drawer-close{width:42px;height:42px;color:var(--brand-ink);background:#e8e7e2;border:0;border-radius:50%;font-size:27px;line-height:1}.places-drawer-intro{color:var(--brand-muted);margin:16px 0 23px;font-size:14px}.splash-places-list{flex-direction:column;gap:10px;display:flex}.splash-place{text-align:left;width:100%;min-height:68px;font-family:var(--brand-font);background:#fff;border:2px solid #d8d7d5;border-radius:17px;justify-content:space-between;align-items:center;gap:12px;padding:12px 17px;display:flex}.splash-place strong{font-size:16px;line-height:1.3}.splash-place span{color:var(--brand-blue);flex:none;font-size:11px;font-weight:800}.splash-place[aria-current=true]{border-color:var(--brand-blue);background:#e9efff}.splash-place:hover:not(:disabled){border-color:var(--brand-blue)}.splash-place:disabled{opacity:.5;cursor:wait}#splash-about-dialog[open]{background:var(--brand-paper);width:min(460px,100vw - 32px);color:var(--brand-ink);font-family:var(--brand-font);border-radius:26px;padding:38px}#splash-about-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c1f324d}#splash-about-dialog .close{width:42px;height:42px;color:var(--brand-ink);background:#e8e7e2;border-radius:50%;top:17px;right:20px}#splash-about-dialog .eyebrow{color:var(--brand-blue);font:800 10px/1.3 var(--brand-font);letter-spacing:.18em;margin:0 0 18px}#splash-about-dialog h2{max-width:340px;color:var(--brand-ink);font:800 clamp(34px,5vw,48px)/1.02 var(--brand-font);letter-spacing:-.045em;margin:0 0 20px}#splash-about-dialog p:not(.eyebrow){color:var(--brand-muted);margin:0 0 28px;font-size:16px;line-height:1.55}#splash-about-dialog a{color:var(--brand-blue);font:800 13px var(--brand-font)}body:not(.walking) #status{z-index:3;background:var(--brand-paper);color:var(--brand-ink);font-family:var(--brand-font);border-radius:999px;bottom:117px}body:not(.walking) #retry{z-index:3;background:var(--brand-blue);font-family:var(--brand-font);border-radius:999px;bottom:165px}@media (width<=700px){.brand img{height:40px}body:not(.walking) header{top:18px;left:18px}body:not(.walking) .brand{border-radius:15px;padding:8px 12px}body:not(.walking) .brand img{height:37px}body:not(.walking) #intro{bottom:max(16px,env(safe-area-inset-bottom))}.splash-dock button{min-height:53px;padding:9px 15px;font-size:13px}.splash-dock #enter{min-width:146px}body:not(.walking) #status{bottom:92px}}@media (width<=450px){.splash-dock{gap:2px}.splash-dock button{padding:8px 11px}.splash-dock #enter{min-width:132px}#places-drawer[open]{border-radius:24px 24px 0 0;width:100vw;height:auto;max-height:82dvh;padding:22px 20px 30px;inset:auto 0 0}}@media (height<=500px){.brand img{height:34px}body:not(.walking) header{top:10px;left:13px}body:not(.walking) .brand{padding:6px 10px}body:not(.walking) .brand img{height:30px}body:not(.walking) #intro{border-radius:18px;width:max-content;padding:5px;inset:auto 14px 13px auto;overflow:visible;transform:none}.splash-dock button{border-radius:13px;min-height:45px;padding:7px 12px;font-size:12px}.splash-dock #enter{min-width:128px}body:not(.walking) #status{bottom:75px;left:auto;right:14px;transform:none}#places-drawer[open]{overflow:auto}}.walking .brand{background:#f7f3e9e6;border-radius:999px;margin:-8px -16px;padding:8px 16px;box-shadow:0 6px 18px #1c1f321f}#startup-cover{z-index:20;background:var(--brand-paper);color:var(--brand-ink);font-family:var(--brand-font);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:32px;transition:opacity .35s;display:flex;position:fixed;inset:0}#startup-cover.revealed{opacity:0;pointer-events:none}#startup-cover img{width:min(230px,65vw);height:auto;display:block}#startup-message{min-height:1.5em;margin:0;font-size:15px;font-weight:700;line-height:1.5}.startup-progress{background:#dce2ef;border-radius:999px;width:min(220px,60vw);height:4px;display:block;position:relative;overflow:hidden}.startup-progress:after{content:"";border-radius:inherit;background:var(--brand-blue);width:38%;animation:1.5s ease-in-out infinite alternate startup-progress;position:absolute;inset:0}#startup-cover.error .startup-progress{display:none}@keyframes startup-progress{0%{transform:translate(-100%)}to{transform:translate(265%)}}body.starting #intro{visibility:hidden}body.starting #retry:not([hidden]){z-index:21;bottom:calc(50% - 125px)}@media (prefers-reduced-motion:reduce){.startup-progress:after{animation:none;transform:none}}#speedometer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;font-variant-numeric:tabular-nums;background:#f3f0e7e6;border-left:2px solid #678d71;flex-wrap:wrap;align-items:baseline;gap:4px 6px;min-width:108px;padding:10px 14px;display:flex;position:fixed;bottom:360px;right:42px}#speedometer strong{color:#263f33;font-family:Libre Caslon Display,Georgia,serif;font-size:38px;font-weight:400;line-height:1}#speedometer span{letter-spacing:1px;text-transform:uppercase;color:#56695e;font-size:11px}#speedometer em{color:#8a4b2d;flex-basis:100%;font-size:11px;font-style:normal}#speedometer em:empty{display:none}#speedometer.alert{border-left-color:#c26a3a}#speedometer i{background:#d9d4c6;flex-basis:100%;height:4px;display:block}#speedometer i b{background:#b4553a;width:0;height:100%;display:block}@media (width<=700px),(height<=500px){#speedometer{min-width:80px;padding:6px 10px;top:150px;bottom:auto;right:18px}#speedometer strong{font-size:26px}}header .location{display:none}nav .conditions,#desktop-menu{-webkit-backdrop-filter:blur(12px);height:54px;color:var(--ink);pointer-events:auto;background:#f3f0e7f5;border:1px solid #ffffffb3;border-radius:18px;transition:background .15s;box-shadow:0 6px 22px #0d1a1433}nav .conditions:hover,#desktop-menu:hover{background:#fbf9f3}nav .conditions{white-space:nowrap;text-align:left;align-items:center;gap:9px;padding:0 14px 0 12px;display:flex}nav .conditions[hidden]{display:none}#desktop-menu{align-items:center;gap:8px;padding:0 18px 0 15px;font-size:14px;font-weight:600;display:flex}#desktop-menu svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.cond-icon{fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:30px;height:30px}.c-cloud{stroke:#3d5247}.c-fill{fill:#f3f0e7}.c-sun{stroke:#c98107;fill:none}.c-moon{stroke:#4f5d9c;fill:#e6e5f4}.c-rain{stroke:#2869ad}.c-snow{stroke:#3f7db5;stroke-width:2.6px}.c-fill-snow{fill:#dbe8f4;stroke-width:1.4px}.c-bolt{stroke:#d08a06;stroke-width:2px}.cond-temp{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Libre Caslon Display,Georgia,serif;font-size:27px;line-height:1}.cond-words{flex-direction:column;gap:3px;line-height:1.15;display:flex}.cond-text{color:var(--ink);font-size:13px;font-weight:600}.cond-time{color:var(--muted);font-size:11px}.cond-time b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.cond-badge{letter-spacing:1.2px;text-transform:uppercase;color:#17583a;background:#dcebe1;border-radius:999px;align-items:center;gap:5px;margin-left:3px;padding:4px 8px 4px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.cond-badge i{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.cond-badge.live i{background:#179a52;animation:2.4s ease-out infinite live-pulse}.cond-badge.stale{color:#7d4f08;background:#f5e4c3}.cond-badge.offline,.cond-badge.preset{color:#4d5852;background:#e3e1da}@keyframes live-pulse{0%{box-shadow:0 0 #179a5299}70%{box-shadow:0 0 0 6px #179a5200}to{box-shadow:0 0 #179a5200}}@media (prefers-reduced-motion:reduce){.cond-badge.live i{animation:none}}@media (width<=860px){nav .conditions .cond-note{display:none}}.menu-note{color:var(--muted);margin:-4px 0 10px;font-size:12px;line-height:1.45}.weather-line,.weather-line:not(:empty){display:none}@media (width<=700px),(height<=500px){.walking .weather-line:not(:empty){letter-spacing:0;color:var(--ink);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:2px 5px;margin-top:2px;font-size:12px;display:flex}.weather-line .cond-note{display:none}.weather-line .cond-icon{stroke-width:2px;width:18px;height:18px}.weather-line .cond-temp{font-family:inherit;font-size:12px;font-weight:700}.weather-line .cond-words{flex-direction:row;align-items:baseline;gap:5px}.weather-line .cond-text,.weather-line .cond-time{font-size:12px}.weather-line .cond-time:before{content:"· "}.weather-line .cond-badge{letter-spacing:.8px;margin-left:2px;padding:2px 6px;font-size:9px}}body.walking #train-hint,body.walking #bus-hint{top:112px}@media (width<=700px),(height<=500px){body.walking #train-hint,body.walking #bus-hint{top:calc(84px + env(safe-area-inset-top));font-size:13px}}@media (width>=701px) and (height>=501px) and (hover:hover) and (pointer:fine){#walk-hud{bottom:62px}.walking footer .edition{display:none}.walking footer{justify-content:flex-end}#transport-actions{justify-content:flex-end;bottom:62px;left:auto;right:42px;transform:none}body:has(#map-panel:not([hidden])) #transport-actions{right:330px}}
