html,body{margin:0;height:100%;overflow:hidden;background:#000;font-family:system-ui,sans-serif}#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-size:30px;font-weight:800;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 h1{font-size:64px;margin:0 0 8px;letter-spacing:4px;color:#fc3}#overlay ul{list-style:none;padding:0;line-height:1.9;opacity:.85}#street{position:absolute;left:24px;top:20px;font-size:26px;font-weight:800;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}#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-size:64px;font-weight:900;letter-spacing:4px;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}
