*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#1a1a2e;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{position:fixed;top:0;right:0;bottom:0;left:0}#game-area{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#game-canvas{display:block;width:100%;height:100%;touch-action:none}#ui-overlay{position:absolute;top:0;left:0;width:100%;padding:clamp(12px,2.2vw,20px);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;pointer-events:none;z-index:1}#build-version{position:absolute;left:20px;bottom:18px;color:#ffffff9e;font-size:12px;letter-spacing:.04em;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.35);z-index:1}.score-display{color:#fff;font-size:clamp(20px,2.4vw,24px);font-weight:700;line-height:1.05;min-width:0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.score-label{color:#aaa;display:block;margin-bottom:4px;font-size:clamp(11px,1.3vw,14px);font-weight:400;line-height:1.1}#game-over-overlay{position:absolute;top:60px;left:50%;transform:translate(-50%) translateY(-10px);display:flex;width:100%;justify-content:center;padding:0 24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2}#authorization-prompt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#070d1c8f;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease;z-index:3}#authorization-prompt-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}#game-over-overlay.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.game-over-card{width:min(960px,calc(100vw - 48px));padding:clamp(24px,4vw,48px) clamp(28px,4.5vw,54px);border:1px solid rgba(255,255,255,.12);border-radius:clamp(24px,3vw,48px);background:#16213ee6;color:#fff;box-shadow:0 36px 90px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.authorization-prompt-card{width:min(520px,calc(100vw - 32px));padding:clamp(20px,3vw,32px);container-type:inline-size;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(180deg,#0f172af5,#16213ef5);color:#fff;box-shadow:0 32px 90px #00000057;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.authorization-prompt-card h3{margin:0 0 10px;font-size:clamp(24px,3vw,34px)}.authorization-prompt-card p{margin:0;color:#d7e0f0;line-height:1.5;font-size:clamp(15px,2vw,19px)}.authorization-prompt-actions{display:flex;gap:12px;margin-top:22px}#game-over-overlay.visible .game-over-card{pointer-events:auto}.game-over-content{display:flex;align-items:center;gap:clamp(20px,3vw,48px)}.game-over-copy{flex:1}.game-over-card h2{margin-bottom:4px;font-size:clamp(32px,5vw,66px)}.game-over-card p{color:#cbd5e1;line-height:1.4;font-size:clamp(18px,3vw,42px)}#authorize-button,#authorize-later-button,#restart-button{border:0;border-radius:999px;font-weight:700;cursor:pointer;white-space:nowrap}#restart-button{padding:clamp(14px,2vw,33px) clamp(20px,3vw,54px);color:#fff;font-size:clamp(18px,3vw,42px)}.authorization-prompt-actions>button{flex:1 1 0;min-width:0;padding:14px 22px;color:#fff;font-size:18px;line-height:1.2}@supports (width: 1cqi){.authorization-prompt-actions>button{padding:clamp(12px,4cqi,18px) clamp(18px,7cqi,28px);font-size:clamp(16px,5cqi,22px)}}#restart-button,#authorize-button{background:#e94560}#authorize-later-button{background:#ffffff1f;color:#dbe4f6}#authorize-button:hover,#restart-button:hover{background:#f05a72}#authorize-later-button:hover{background:#fff3}@media (max-width: 640px){#build-version{left:12px;bottom:12px;font-size:11px}#game-over-overlay{top:84px;width:100%;padding:0 12px}.game-over-card{width:100%}.game-over-content{flex-direction:column;align-items:stretch}#authorization-prompt-overlay{padding:12px}.authorization-prompt-actions{flex-direction:column}}@media (max-height: 720px){#ui-overlay{padding:12px 16px}.score-display{font-size:20px}.score-label{margin-bottom:3px;font-size:12px}}
