*{margin:0;padding:0;box-sizing:border-box}:root{--ui: #f4f6fb;--accent: #ffd166}html,body{width:100%;height:100%;overflow:hidden;background:#0d1b2a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0;background:#0d1b2a}#scene{display:block;width:100%;height:100%}#hud{position:absolute;top:0;left:0;right:0;padding:max(28px,calc(env(safe-area-inset-top) + 12px)) 24px 24px;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:5}#score{font-size:clamp(56px,14vw,120px);font-weight:800;color:var(--ui);line-height:1;text-shadow:0 4px 20px rgba(0,0,0,.35);letter-spacing:-.03em}#best{margin-top:8px;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#f4f6fb8c}.icon-btn{position:absolute;top:max(22px,calc(env(safe-area-inset-top) + 8px));right:max(20px,calc(env(safe-area-inset-right) + 8px));margin:0;width:46px;height:46px;padding:0;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;border-radius:50%;background:#f4f6fb14;border:1px solid rgba(244,246,251,.12);box-shadow:none;cursor:pointer;pointer-events:auto;z-index:8;transition:background .15s ease,transform .15s ease}.icon-btn:hover{background:#f4f6fb29;transform:none;box-shadow:none}.icon-btn:active{transform:scale(.92)}.icon-btn.muted{opacity:.55}#combo{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) scale(.6);font-size:clamp(26px,7vw,52px);font-weight:800;color:var(--accent);letter-spacing:.04em;opacity:0;pointer-events:none;z-index:6;text-shadow:0 4px 24px rgba(0,0,0,.4)}#combo.show{animation:comboPop .7s ease-out}@keyframes comboPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}25%{opacity:1;transform:translate(-50%,-70%) scale(1.1)}to{opacity:0;transform:translate(-50%,-120%) scale(1)}}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;z-index:10;background:radial-gradient(ellipse at center,#0d1b2a59,#0d1b2ad1);backdrop-filter:blur(2px);transition:opacity .35s ease}.overlay.hidden{opacity:0;pointer-events:none}.overlay h1{font-size:clamp(48px,13vw,104px);font-weight:900;color:var(--ui);letter-spacing:.12em;text-shadow:0 6px 30px rgba(0,0,0,.5)}.tagline{margin-top:14px;font-size:clamp(15px,4vw,20px);color:#f4f6fbb3;font-weight:500}.hint{margin-top:22px;font-size:13px;color:#f4f6fb66;letter-spacing:.05em}button{margin-top:34px;padding:16px 44px;font-size:17px;font-weight:700;letter-spacing:.12em;color:#0d1b2a;background:var(--accent);border:none;border-radius:40px;cursor:pointer;box-shadow:0 8px 30px #ffd16659;transition:transform .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-2px);box-shadow:0 12px 38px #ffd16680}button:active{transform:translateY(1px) scale(.98)}.finalScore{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:4px}#finalScore{font-size:clamp(64px,18vw,130px);font-weight:900;color:var(--accent);line-height:1}.finalScore .label{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#f4f6fb8c}#newBest{margin-top:18px;font-size:18px;font-weight:800;letter-spacing:.2em;color:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.install-btn{margin-top:20px;padding:12px 26px;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--ui);background:#f4f6fb14;border:1px solid rgba(244,246,251,.22);border-radius:40px;box-shadow:none}.install-btn:hover{transform:translateY(-1px);background:#f4f6fb29;box-shadow:none}.ios-hint{margin-top:20px;font-size:13px;line-height:1.5;color:#f4f6fb99;max-width:260px}.ios-hint b{color:var(--ui)}.ios-hint .ios-share{color:var(--accent);font-weight:600;white-space:nowrap}.spinner{width:46px;height:46px;border:4px solid rgba(244,246,251,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:18px}#loading p{color:#f4f6fb99;letter-spacing:.1em;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}
