/* Olvem — «Маршрутка». Always the night, like the app's scene. Sizes follow --s (grid px → screen px), set by game.js. */
:root{color-scheme:dark;--night:#101418;--surface:#171c22;--raised:#1e252c;--line:#2a313a;--ink:#e7ecf2;--muted:#9ba6b4;--accent:#7fd1ba;--on-accent:#00382c;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;--s:1;--ox:0px;--panel-top:40vh}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--night);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#scene{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none;outline:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.no-script{position:fixed;inset:0;margin:0;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--night);color:var(--muted);font-size:16px}
.no-script a{color:var(--accent);margin-left:6px}
.home-link{position:fixed;z-index:2;top:calc(env(safe-area-inset-top,0px) + 16px * var(--s));right:calc(var(--ox) + 16px * var(--s));padding:8px 4px;color:var(--muted);font-size:calc(14px * var(--s));text-decoration:none;letter-spacing:.2px}
.home-link:hover{color:var(--ink)}
.home-link[hidden],.panel[hidden],.new-record[hidden]{display:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.panel{position:fixed;z-index:3;top:var(--panel-top);left:calc(var(--ox) + 16px * var(--s));width:calc(402px * var(--s) - 32px * var(--s));padding:calc(20px * var(--s)) calc(18px * var(--s));border-radius:calc(22px * var(--s));background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.panel-title{margin:0;font-size:calc(28px * var(--s));line-height:1.1;font-weight:800;letter-spacing:-.4px}
.panel-crashed{margin:calc(4px * var(--s)) 0 calc(18px * var(--s));color:var(--muted);font-size:calc(14px * var(--s));line-height:1.3}
.rows{margin:0;display:grid;gap:calc(10px * var(--s))}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:calc(16px * var(--s))}
.row dt{color:var(--muted)}
.row dd{margin:0;font-weight:700;display:flex;align-items:baseline;gap:calc(8px * var(--s))}
.row-sum dd{color:#f3cb8f}
.new-record{color:var(--accent);font-size:calc(13px * var(--s));font-weight:600}
.actions{margin-top:calc(20px * var(--s));display:grid;gap:calc(10px * var(--s))}
.button{display:flex;align-items:center;justify-content:center;min-height:calc(48px * var(--s));padding:0 16px;border:0;border-radius:calc(14px * var(--s));font:inherit;font-size:calc(16px * var(--s));font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:filter .15s ease}
.button:disabled{opacity:.55;cursor:default}
.button-primary{background:var(--accent);color:var(--on-accent)}
.button-secondary{background:var(--raised);color:var(--ink)}
.button-launch{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.button:hover:not(:disabled){filter:brightness(1.1)}
.note{min-height:0;margin:0;color:var(--muted);font-size:calc(12px * var(--s));text-align:center}
.note:not(:empty){margin-top:calc(10px * var(--s))}

.sheet{width:min(100% - 16px,420px);margin:auto auto calc(env(safe-area-inset-bottom,0px) + 8px);padding:calc(18px) 8px 8px;border:0;border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.sheet::backdrop{background:rgba(8,10,12,.62)}
.sheet-title{margin:0 12px 10px;font-size:17px;font-weight:700}
.sheet-row{display:block;width:100%;min-height:52px;padding:0 12px;border:0;border-radius:14px;background:transparent;color:var(--ink);font:inherit;font-size:16px;text-align:left;cursor:pointer}
.sheet-row:hover,.sheet-row:focus-visible{background:var(--raised)}
@media (prefers-reduced-motion:reduce){.button{transition:none}}
