html,body{margin:0;height:100%;overflow:hidden;background:#000;font-family:var(--font-ui)}:root{--font-display: "Bungee", "Rubik", system-ui, sans-serif;--font-ui: "Rubik", system-ui, sans-serif}button,input{font-family:inherit}#app canvas{display:block}#hud{position:fixed;inset:0;pointer-events:none;color:#fff;text-shadow:0 2px 4px #000}#prompt{position:absolute;bottom:22%;width:100%;text-align:center;font-size:18px}#speedo{position:absolute;right:24px;bottom:232px;width:200px;text-align:center;font-family:var(--font-display);font-size:28px;font-weight:400;display:none}#minimap{position:absolute;right:24px;bottom:24px;width:200px;height:200px;border-radius:50%;box-shadow:0 4px 14px #00000073}#overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000a6;color:#fff;cursor:pointer;text-align:center}#overlay.intro{background:linear-gradient(#080a0e8c,#080a0ecc),#1a1d22 url(/images/start-background.jpg) center / cover no-repeat}#overlay h1{font-family:var(--font-display);font-weight:400;font-size:60px;margin:0 0 8px;letter-spacing:2px;color:#fc3}#overlay ul{list-style:none;padding:0;line-height:1.9;opacity:.85}#street{position:absolute;left:24px;top:20px;font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:1px;color:#ffe08a;opacity:0;transition:opacity .6s}#street.show{opacity:1}#start-search{width:min(560px,calc(100vw - 32px));cursor:default}#search-form{display:flex;gap:8px}#search-input{flex:1;padding:10px 12px;font-size:16px;border-radius:6px;border:1px solid #666;background:#111;color:#fff}#start-search button{padding:10px 14px;font-size:15px;border-radius:6px;border:0;background:#fc3;color:#111;font-weight:700;cursor:pointer}#start-search button:disabled{opacity:.5;cursor:default}#quick-places{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}#quick-places button{background:#333;color:#fff;font-weight:500}#search-status{min-height:1.2em;margin:10px 0 6px;opacity:.85}#search-results{list-style:none;padding:0;margin:0;max-height:40vh;overflow-y:auto;text-align:left}#search-results li+li{margin-top:6px}#search-results button{width:100%;text-align:left;background:#222;color:#fff;font-weight:400}#search-results button:hover{background:#3a3a3a}#view-mode{position:absolute;top:20px;width:100%;text-align:center;font-size:18px;font-weight:700;opacity:0;transition:opacity .4s}#view-mode.show{opacity:1}#monument{position:absolute;top:64px;width:100%;text-align:center;font-family:var(--font-display);font-size:24px;letter-spacing:1px;color:#f2e6c4;opacity:0;transition:opacity .6s;padding:0 16px;box-sizing:border-box}#monument.show{opacity:1}#radio{position:absolute;right:24px;top:40%;max-width:40vw;text-align:right;font-family:var(--font-display);font-size:22px;letter-spacing:1px;color:#fc3;opacity:0;transition:opacity .4s}#radio.show{opacity:1}#hearts{position:absolute;top:18px;right:20px;display:flex;gap:3px}#hearts .heart{position:relative;width:26px;height:26px}#hearts svg{width:26px;height:26px;display:block}#hearts .empty path{fill:#00000073;stroke:#fffc;stroke-width:1.5}#hearts .fill{position:absolute;left:0;top:0;height:100%;overflow:hidden;transition:width .25s}#hearts .full path{fill:#e0202a;stroke:#fffc;stroke-width:1.5}#hurt{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(200,0,0,.55));opacity:0;transition:opacity .35s}#hurt.show{opacity:1;transition:none}#big-message{position:absolute;top:38%;width:100%;text-align:center;font-family:var(--font-display);font-size:58px;font-weight:400;letter-spacing:3px;color:#e0202a;opacity:0;transition:opacity .5s}#big-message.show{opacity:1}#wanted{position:absolute;top:50px;right:20px;display:flex;gap:3px;align-items:center;opacity:0;transition:opacity .3s}#wanted.active{opacity:1}#wanted .star{position:relative;width:26px;height:26px}#wanted svg{width:26px;height:26px;display:block}#wanted .empty path{fill:#00000073;stroke:#fffc;stroke-width:1.3}#wanted .fill{position:absolute;left:0;top:0;height:100%;overflow:hidden}#wanted .full path{fill:#ffd23f;stroke:#ffffffe6;stroke-width:1.3}#wanted.hiding .fill{animation:wanted-blink 1s steps(2) infinite}@keyframes wanted-blink{50%{opacity:.25}}#wanted .escape-timer{order:-1;margin-right:8px;font-size:15px;font-weight:700}#character-select{display:flex;gap:8px;align-items:center;justify-content:center;margin:4px 0 14px;cursor:default}#character-select span{opacity:.85;margin-right:4px}#character-select button{padding:8px 16px;font-size:15px;border-radius:6px;border:2px solid #555;background:#222;color:#fff;cursor:pointer}#character-select button.active{border-color:#fc3;background:#fc3;color:#111;font-weight:700}#player-name{color:#fc3;margin-right:14px}#net-status{position:absolute;right:24px;bottom:4px;width:200px;text-align:center;font-size:11px;opacity:.8}#graphics-select{display:grid;gap:6px;justify-items:center;margin:0 0 12px;cursor:default}#graphics-select .setting-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}#graphics-select button{padding:5px 11px;font-size:13px;border-radius:6px;border:2px solid #555;background:#222;color:#fff;cursor:pointer}#graphics-select button.active{border-color:#fc3;background:#fc3;color:#111;font-weight:700}#volume-select{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:0 0 12px;cursor:default;font-size:14px}#volume-select label{display:flex;gap:8px;align-items:center}#volume-select input{width:130px;accent-color:#ffcc33;cursor:pointer}#volume-select b{min-width:38px;text-align:left;font-weight:500}
