:root{--gold:#E0B028;--mint:#70C8C8;--leaf:#589028;--cer:#3D89A0;--apple:#B81828;
  --cream:#E8E6D2;--forest:#104028;--deep:#0f2e1e;--ink:#f3f7f1;--dim:#bcd4c6;
  --line:rgba(232,230,210,.16);--glass:rgba(10,30,20,.55);--sans:'Montserrat',system-ui,sans-serif;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;overflow:hidden;background:var(--deep);font-family:var(--sans);color:var(--ink);
  -webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;}
.stage{position:fixed;inset:0;overflow:hidden;}
#c{position:absolute;inset:0;width:100%;height:100%;display:block;}

.hud{position:absolute;inset:0;padding:max(14px,env(safe-area-inset-top)) clamp(14px,4vw,28px) 0;pointer-events:none;z-index:5;}
.hud[hidden]{display:none;}
.hud-l{position:absolute;top:max(14px,env(safe-area-inset-top));left:clamp(14px,4vw,28px);}
.hud-r{position:absolute;top:max(14px,env(safe-area-inset-top));right:clamp(14px,4vw,28px);display:flex;align-items:center;gap:12px;pointer-events:auto;}
.score{font-size:clamp(32px,8vw,54px);font-weight:900;letter-spacing:-.02em;line-height:.9;color:var(--cream);text-shadow:0 2px 14px rgba(0,0,0,.5);font-variant-numeric:tabular-nums;}
.combo{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--gold);min-height:18px;margin-top:3px;}
.combo.pop{animation:pop .3s ease;}@keyframes pop{0%{transform:scale(1.35);}100%{transform:scale(1);}}
.time{font-size:22px;font-weight:900;color:var(--cream);font-variant-numeric:tabular-nums;}
.time i{font-size:12px;font-weight:700;color:var(--dim);font-style:normal;margin-left:1px;}
.time.low{color:var(--apple);}
.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--cream);font-size:15px;cursor:pointer;backdrop-filter:blur(6px);display:grid;place-items:center;opacity:.7;}
.icon-btn[data-off="true"]{opacity:.4;text-decoration:line-through;}

.btn{font-family:var(--sans);font-weight:800;cursor:pointer;border:none;border-radius:40px;text-decoration:none;display:inline-block;transition:transform .14s ease,box-shadow .2s ease;}
.btn:active{transform:translateY(1px) scale(.99);}
.veil,.over{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;}
.veil[hidden],.over[hidden]{display:none;}
.veil{overflow:hidden;transition:opacity .7s ease;}.veil.out{opacity:0;pointer-events:none;}
.veil-art{position:absolute;inset:0;background:url('art/title.jpg') center/cover no-repeat;animation:drift 24s ease-in-out infinite alternate;}
@keyframes drift{from{transform:scale(1.05);}to{transform:scale(1.12);}}
.veil-scrim{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 10%,transparent 28%,rgba(15,46,30,.6) 76%,rgba(15,46,30,.95) 100%),linear-gradient(180deg,rgba(15,46,30,.2),transparent 34%,rgba(15,46,30,.78) 80%,var(--deep));}
.veil-in{position:relative;z-index:2;max-width:520px;display:flex;flex-direction:column;align-items:center;}
.kick{font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.9;}
.title{margin:10px 0 0;font-weight:900;letter-spacing:-.03em;line-height:.86;font-size:clamp(52px,15vw,104px);text-transform:uppercase;
  background:linear-gradient(180deg,var(--cream),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 22px rgba(0,0,0,.55));}
.sub{margin:16px auto 0;font-size:clamp(14px,2.2vw,17px);font-weight:600;color:var(--cream);max-width:32ch;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.btn-go{margin-top:28px;padding:15px 44px;font-size:17px;color:var(--deep);background:linear-gradient(180deg,var(--gold),#c8901a);box-shadow:0 10px 30px rgba(224,176,40,.4),inset 0 1px 0 rgba(255,255,255,.4);animation:goPulse 3.4s ease-in-out infinite;}
.btn-go:hover{transform:translateY(-2px);animation:none;}
@keyframes goPulse{0%,100%{box-shadow:0 10px 30px rgba(224,176,40,.4),inset 0 1px 0 rgba(255,255,255,.4);}50%{box-shadow:0 12px 38px rgba(224,176,40,.62),inset 0 1px 0 rgba(255,255,255,.5);}}
.hints{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--dim);}
.hints b{color:var(--mint);}

.over{background:radial-gradient(120% 100% at 50% 0%,rgba(20,49,38,.72),rgba(6,20,14,.93));backdrop-filter:blur(8px);animation:fade .4s ease;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.over-in{max-width:520px;display:flex;flex-direction:column;align-items:center;}
.over-kick{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.over-head{margin:8px 0 18px;font-size:clamp(30px,6vw,46px);font-weight:900;letter-spacing:-.025em;background:linear-gradient(180deg,var(--cream),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent;}
.over-stats{display:flex;gap:28px;margin-bottom:16px;}
.os{display:flex;flex-direction:column;line-height:1;}
.os-n{font-size:36px;font-weight:900;color:var(--cream);font-variant-numeric:tabular-nums;}
.os-l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--mint);margin-top:6px;}
.over-sub{font-size:14px;line-height:1.5;color:var(--dim);max-width:44ch;margin:0 0 18px;}
.acts{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;}
.btn-grow{padding:13px 24px;font-size:14.5px;color:var(--deep);background:linear-gradient(180deg,var(--mint),#3aa0a0);box-shadow:0 8px 24px rgba(112,200,200,.34);}
.btn-grow.alt{background:linear-gradient(180deg,var(--gold),#c8901a);box-shadow:0 8px 24px rgba(224,176,40,.34);}
.btn-grow:hover{transform:translateY(-2px);}
.btn-again{padding:15px 40px;font-size:16px;color:var(--deep);background:linear-gradient(180deg,var(--cream),#c9c8b2);box-shadow:0 10px 28px rgba(232,230,210,.28),inset 0 1px 0 rgba(255,255,255,.5);}
.btn-again:hover{transform:translateY(-2px);}
.kit-links{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:16px;}
.kit-links[hidden]{display:none;}
@media (prefers-reduced-motion:reduce){.veil,.over,.veil-art,.btn-go,.combo.pop{animation:none;transition:none;}}
