:root{--ink:#1d2328;--paper:#faf7f1e0;--line:#1d232821;--accent:#b5513f;--shadow:0 2px 10px #0000002e;color:var(--ink);font:13px/1.35 system-ui,-apple-system,Segoe UI,sans-serif}html,body{background:#c9d3dc;height:100%;margin:0;overflow:hidden}#app canvas{touch-action:none;outline:none;display:block}button,select,input{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}.glass{background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px)}#top{pointer-events:none;z-index:4;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;top:12px;left:16px;right:16px}#top>*{pointer-events:auto}#brand{pointer-events:none!important}#brand h1{letter-spacing:-.01em;color:#fff;text-shadow:0 1px 3px #0000008c;margin:0;font-size:21px}#brand h1 em{opacity:.9;font-style:normal;font-weight:400}#status{color:#fff;text-shadow:0 1px 2px #0009;min-height:14px;font-size:11px}#switches{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.seg{background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);border-radius:10px;gap:2px;padding:3px;display:flex}.seg button{background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-weight:500;display:flex}.seg button svg{width:15px;height:15px}.seg button:hover{background:#ffffffb3}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}#lang button{letter-spacing:.03em;padding:5px 9px;font-size:12px}#places{z-index:4;flex-direction:column-reverse;align-items:flex-end;gap:6px;display:flex;position:fixed;bottom:76px;right:16px}@media (min-width:1150px){#places{bottom:14px}}#places-toggle{background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-weight:500;display:flex}#places-toggle svg{width:15px;height:15px}#places-toggle[aria-expanded=true]{background:var(--ink);color:#fff}#places-panel{box-sizing:border-box;border:1px solid var(--line);background:#faf7f1f7;border-radius:12px;flex-direction:column;gap:6px;width:270px;max-width:calc(100vw - 32px);max-height:min(60vh,520px);padding:8px;display:flex;box-shadow:0 6px 24px #00000038}#places-panel[hidden]{display:none}#places-search{border:1px solid var(--line);background:#fff;border-radius:7px;outline:none;padding:6px 9px}#places-search:focus{border-color:var(--accent)}#places-list{margin:0;padding:0;list-style:none;overflow-y:auto}#places-list button{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:6px 8px}#places-list button:hover{background:#fff}.bar-go{color:#ffc948;text-align:left;background:#282949;border:1px solid #14152b;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:flex}.bar-go img{height:24px}.bar-go:hover{background:#32335a}#bar{z-index:4;box-sizing:border-box;background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);max-width:980px;box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;display:flex;position:fixed;bottom:14px;left:16px;right:16px}.time{flex:260px;align-items:center;gap:8px;display:flex}.time span{white-space:nowrap;opacity:.75}.time input{accent-color:var(--accent);flex:1;min-width:100px}#hour-label{font-variant-numeric:tabular-nums;width:40px;font-weight:600}.check{cursor:pointer;align-items:center;gap:5px;display:flex}.check input{accent-color:var(--accent)}#about-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 9px}#help{opacity:.7;flex:100%;font-size:11.5px}#hud{z-index:4;color:#fff;text-shadow:0 1px 4px #0009;font-variant-numeric:tabular-nums;pointer-events:none;align-items:baseline;gap:6px;display:flex;position:fixed;bottom:128px;right:22px}#hud b{font-size:44px;font-weight:700;line-height:1}#hint{z-index:5;color:#fff;pointer-events:none;background:#14181cb8;border-radius:10px;padding:10px 16px;font-size:15px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#toast{z-index:5;color:#fff;pointer-events:none;white-space:nowrap;background:#14181cc7;border-radius:9px;padding:7px 14px;font-size:13.5px;position:fixed;top:64px;left:50%;transform:translate(-50%)}#crosshair{pointer-events:none;z-index:3;background:#ffffffd9;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;display:none;position:fixed;top:50%;left:50%;box-shadow:0 0 2px #0009}body[data-mode=walk] #toast{z-index:5;color:#fff;pointer-events:none;white-space:nowrap;background:#14181cc7;border-radius:9px;padding:7px 14px;font-size:13.5px;position:fixed;top:64px;left:50%;transform:translate(-50%)}#crosshair{display:block}body[data-mode=walk] #promo,body[data-mode=drive] #promo{opacity:.85}#touch{z-index:3;pointer-events:none;position:fixed;inset:0}#touch .stick{pointer-events:auto;background:#ffffff2e;border:2px solid #ffffff80;border-radius:50%;width:120px;height:120px;position:absolute;bottom:140px;left:24px}#touch .knob{background:#ffffffa6;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}#touch .look{pointer-events:auto;width:55%;position:absolute;top:80px;bottom:120px;right:0}#touch .pedals{pointer-events:auto;gap:12px;display:none;position:absolute;bottom:140px;right:22px}#touch[data-mode=drive] .pedals{display:flex}#touch[data-mode=drive] .look{display:none}#touch .pedals button{color:#fff;background:#1e222673;border:2px solid #fff9;border-radius:14px;width:72px;height:96px;font-size:22px}#touch .pedals .gas{height:120px}#about{border:1px solid var(--line);max-width:520px;color:var(--ink);background:#faf7f1;border-radius:14px;padding:18px 22px;box-shadow:0 10px 40px #0000004d}#about::backdrop{background:#0a0e1259}#about h2{margin:0 0 8px;font-size:19px}#about h2 em{font-style:normal;font-weight:400}#about a{color:var(--accent)}#about-close{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:6px;padding:4px 12px}#promo{z-index:3;flex-direction:column;align-items:stretch;gap:8px;width:244px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:62px;left:16px}#mc{cursor:pointer;text-align:left;box-sizing:border-box;color:#fff;background:#2b3126;border:2px solid #111;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 14px 7px 8px;display:flex;box-shadow:inset 2px 2px #ffffff2e,inset -2px -3px #00000059,0 2px 8px #00000040}#mc:hover{background:#36412e}#mc[aria-expanded=true]{background:#3a4a30}.mc-block{width:30px;height:30px;image-rendering:pixelated;filter:drop-shadow(0 1px #0006);flex:none}.mc-text{flex-direction:column;line-height:1.2;display:flex}.mc-text b{letter-spacing:.01em;font-size:15px}#mc-count{color:#c9d6bf;font-size:11.5px}#mc-count.on:before,#mc-count.off:before{content:"";vertical-align:middle;border-radius:50%;width:7px;height:7px;margin:0 5px 1px 0;display:inline-block}#mc-count.on:before{background:#6cf05a;box-shadow:0 0 6px #6cf05a}#mc-count.off:before{background:#e0a43a}#mc-panel{box-sizing:border-box;border:1px solid var(--line);background:#faf7f1f7;border-radius:10px;align-self:flex-start;width:330px;max-width:calc(100vw - 32px);max-height:calc(100vh - 220px);padding:10px 12px 12px;overflow-y:auto;box-shadow:0 6px 24px #00000038}#mc-panel header{justify-content:space-between;align-items:center;font-size:15px;display:flex}#mc-panel .x{cursor:pointer;opacity:.6;background:0 0;border:0;padding:0 2px;font-size:20px;line-height:1}#mc-panel .lead{opacity:.85;margin:4px 0 8px}#mc-panel section{border-top:1px solid var(--line);padding:7px 0 2px}#mc-panel h3{margin:0 0 4px;font-size:13px}#mc-panel h3 small{opacity:.65;font-weight:400}#mc-panel .addr{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#mc-panel code{border:1px solid var(--line);background:#fff;border-radius:4px;padding:2px 6px;font:600 13px ui-monospace,SF Mono,Menlo,Consolas,monospace}#mc-panel li code,#mc-panel .port code{white-space:nowrap;padding:0 4px;font-size:12px}#mc-panel .copy,#mc-panel .open{cursor:pointer;color:#fff;background:#2b3126;border:1px solid #111;border-radius:4px;padding:3px 9px;font-size:12px;text-decoration:none}#mc-panel .how{opacity:.75;margin:4px 0 2px;font-size:12px}#mc-panel ul{margin:2px 0 0;padding-left:16px;font-size:12px}#mc-panel li{margin:2px 0}.sq-row{flex-direction:column;align-items:stretch;gap:0;display:flex}#sq{box-sizing:border-box;z-index:1;color:#fff;background:#282949;border:1px solid #14152b;border-radius:8px;align-items:center;gap:9px;width:100%;padding:6px 12px 6px 8px;text-decoration:none;display:flex;position:relative;box-shadow:0 2px 8px #00000040}#sq:hover{background:#32335a}#sq img{flex:none;width:auto;height:34px}#sq span{flex-direction:column;line-height:1.15;display:flex}#sq small{color:#b9e1d8;font-size:10.5px}#sq b{color:#ffc948;letter-spacing:.01em;font-size:14px}#sq em{opacity:.75;font-size:10.5px;font-style:normal}#sq-where{cursor:pointer;color:#282949;background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);border-top:0;border-radius:0 0 8px 8px;justify-content:center;align-items:center;gap:5px;margin:-6px 10px 0;padding:9px 8px 4px;font-size:12px;font-weight:500;display:flex;box-shadow:0 2px 6px #00000026}#sq-where svg{width:13px;height:13px}#sq-where:hover{background:#fff}#sq-pin{z-index:1;cursor:pointer;filter:drop-shadow(0 1px 2px #0000008c);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:fixed;top:0;left:0}#sq-pin img{width:auto;height:30px}#sq-pin span{white-space:nowrap;color:#ffc948;background:#282949;border-radius:4px;padding:1px 6px;font-size:11.5px;font-weight:600}#sq-pin:after{content:"";background:#282949;width:2px;height:10px;display:block}#sq-pin.far img{height:22px}#sq-pin.far span{display:none}#labels{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.label{white-space:nowrap;pointer-events:auto;cursor:pointer;color:#fff;text-align:center;text-shadow:0 1px 2px #000000bf,0 0 3px #0006;background:0 0;border:0;padding:0;font-size:12px;position:absolute;top:0;left:0}.label b{font-weight:600;display:block}.label i{opacity:.85;font-size:10.5px;font-style:normal;display:block}.label:after{content:"";background:#fffc;width:1px;height:8px;margin:1px auto 0;display:block}body:not([data-mode=map]) .label{pointer-events:none}body.noui #top,body.noui #places,body.noui #bar,body.noui #labels,body.noui #promo,body.noui #sq-pin,body.noui #hud,body.nopromo #promo,body.nopromo #sq-pin{display:none}@media (max-width:700px){#top{top:8px;left:10px;right:10px}#brand h1{font-size:17px}.seg button{padding:5px 8px}.seg button span{display:none}#promo{width:204px;top:52px;left:10px}#mc{padding:5px 10px 5px 6px}.mc-block{width:24px;height:24px}.mc-text b{font-size:14px}#sq{padding:4px 10px 4px 6px}#sq img{height:28px}#sq em{display:none}#bar{gap:10px;bottom:10px;left:10px;right:10px}#places{bottom:100px;right:10px}#hud{bottom:150px}#help,.time span{display:none}}
