html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#090b11;color:#f7f4e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#game-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}#hud{position:fixed;top:0;left:0;right:0;padding:18px 22px;pointer-events:none}.hud-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:8px;font-size:18px;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.65)}.hud-row.compact{font-size:13px;font-weight:600;color:#d8e6ef}.hud-row.network{justify-content:flex-start;margin-top:-4px}#network-state{color:#9df5c5}#sync-state{position:fixed;left:0;bottom:2px;width:1px;height:1px;overflow:hidden;opacity:.01;pointer-events:none}#objective-panel{display:inline-flex;align-items:center;gap:10px;max-width:min(360px,calc(100vw - 28px));padding:7px 10px;border-left:2px solid rgba(143,229,255,.75);background:#090d1275;color:#f7f4e8;font-size:13px;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#objective-distance{color:#8fe5ff;white-space:nowrap}#identity-panel{display:inline-flex;flex-direction:column;gap:2px;margin-top:10px;max-width:min(390px,calc(100vw - 28px));padding:8px 10px;border:1px solid rgba(255,217,120,.34);background:linear-gradient(135deg,#201810a3,#090d127a);color:#ffd978;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#timer,#pulse-state{color:#8fe5ff}#action-prompt,#warning-prompt,#render-status{position:fixed;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 40px));border-radius:8px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.65);pointer-events:none}#action-prompt{bottom:96px;padding:12px 16px;border:1px solid rgba(143,229,255,.5);background:#090d12b3;color:#f7f4e8;font-size:16px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#warning-prompt{top:72px;padding:8px 12px;color:#ffd978;font-size:13px;font-weight:800;letter-spacing:0}#render-status{top:110px;padding:8px 12px;color:#ff9b8f;font-size:13px;font-weight:800}#smoke-status{position:fixed;left:0;bottom:0;width:1px;height:1px;overflow:hidden;opacity:.01;pointer-events:none}#action-prompt[hidden],#warning-prompt[hidden],#render-status[hidden]{display:none}#result-panel{position:fixed;left:50%;bottom:40px;transform:translate(-50%);width:min(360px,calc(100vw - 40px));display:grid;gap:10px;padding:18px;border:1px solid rgba(143,229,255,.45);border-radius:8px;background:#090d12d1;box-shadow:0 18px 60px #00000073;pointer-events:auto;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#result-panel[hidden]{display:none}#result-title{font-size:24px}#result-detail{color:#d8e6ef;font-size:14px}#result-meta{color:#8fe5ff;font-size:13px;font-weight:800}#base-panel{display:grid;gap:8px;padding:10px;border:1px solid rgba(143,229,255,.24);border-radius:8px;background:#8fe5ff14}#base-state{color:#d8e6ef;font-size:12px;font-weight:800}#restart-button,#upgrade-button{min-height:42px;border:0;border-radius:6px;font:inherit;font-weight:800;cursor:pointer}#restart-button{background:#f0c96a;color:#161006}#restart-button:hover{background:#ffd978}#upgrade-button{background:#70f0e7;color:#061818}#upgrade-button:hover:not(:disabled){background:#9dfff7}#upgrade-button:disabled{cursor:default;opacity:.5}#touch-controls{position:fixed;inset:auto 18px 18px;display:none;justify-content:space-between;align-items:end;pointer-events:none}#touch-stick{width:116px;height:116px;border:1px solid rgba(143,229,255,.5);border-radius:50%;background:#090d126b;pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#touch-stick-knob{width:42px;height:42px;margin:37px;border-radius:50%;background:#8fe5ffdb;box-shadow:0 0 24px #8fe5ff57}#touch-actions{display:grid;grid-template-columns:repeat(2,58px);gap:10px;pointer-events:auto}#touch-actions button{width:58px;height:58px;border:1px solid rgba(143,229,255,.5);border-radius:50%;background:#090d12b8;color:#f7f4e8;font:inherit;font-size:18px;font-weight:900;touch-action:manipulation}#touch-actions button:active{background:#8fe5ff57}@media(pointer:coarse){#touch-controls{display:flex}#action-prompt,#result-panel{bottom:150px}}@media(max-width:640px){#hud{padding:14px}.hud-row{font-size:15px}.hud-row.compact,#objective-panel{font-size:12px}#result-panel{width:min(340px,calc(100vw - 28px));padding:14px}}
