:root{--ice:#bee4ffdb;--ice-deep:#1d7fd1}.game{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}@media (width>=880px){.game{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}}.game.setup-mode{grid-template-columns:minmax(0,1fr)}.game.setup-mode>section:first-child{width:100%;max-width:720px;margin:0 auto}#setup{gap:clamp(18px,3vh,28px);min-height:calc(100dvh - 110px);padding:clamp(20px,4vw,36px)}#setup h1{font-size:clamp(1.9rem,5vw,2.8rem)}#setup .tables .chip{padding:clamp(10px,2vh,16px) 0;font-size:clamp(1.2rem,3.5vw,1.6rem)}#setup .big-btn{padding-block:clamp(14px,2.5vh,22px);font-size:clamp(1.8rem,5vw,2.4rem)}#setup .scores-box{margin-top:auto}.tables{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.tables .chip{padding:10px 0}.tables-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.clock{font-family:var(--f-display);font-variant-numeric:tabular-nums;color:var(--jungle-deep);font-size:clamp(2rem,7vw,2.8rem);font-weight:800;line-height:1;transition:color .2s}.clock.frozen{color:var(--ice-deep)}.problem{text-align:center;background:linear-gradient(#ffd451, var(--sun));box-shadow:inset 0 -7px 0 var(--sun-deep);border-radius:22px;padding:18px 12px 14px;position:relative}.problem .q{font-family:var(--f-display);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--jungle-deep);font-size:clamp(3.4rem,15vw,6rem);font-weight:800;line-height:1}.problem .q.pop{animation:.25s ease-out pop}.problem .hint{color:#123f24b3;margin-top:6px;font-weight:800}.progress{flex-direction:column;gap:8px;display:flex}.bar{background:var(--slot);border-radius:999px;height:16px;overflow:hidden}.bar>div{border-radius:inherit;background:var(--good);width:0;height:100%;transition:width .3s ease-out}.progress-text{color:var(--ink-soft);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.95rem;font-weight:800;display:flex}@media (width<=600px){#play{gap:12px;padding:14px}.problem{padding:10px 12px 12px}.problem .q{font-size:3.4rem}.problem .hint{display:none}.clock{font-size:2rem}}.stage{min-width:0}.play-board{width:100%;max-width:min(680px,103.833dvh - 93.4497px);margin:0 auto}@media (width<=879px){.play-board{max-width:680px}}.board{grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:1.1cqi;height:100%;padding:.6cqi;display:grid}.slot{background:#ffffff12;border-radius:1.8cqi;min-width:0;position:relative}.tile{border-radius:inherit;cursor:pointer;background:hsl(var(--h) 92% 87%);color:hsl(var(--h) 60% 24%);box-shadow:inset 0 -.55cqi 0 hsl(var(--h) 60% 70%);font-family:var(--f-display);font-variant-numeric:tabular-nums;touch-action:manipulation;border:0;padding:0;font-size:clamp(11px,3.3cqi,26px);font-weight:700;line-height:1;transition:transform .15s,opacity .3s,filter .3s;position:absolute;inset:0}.tile:hover{transform:translateY(-2px)}.tile:active{transform:translateY(1px)}.tile.out{opacity:.22;filter:saturate(0)}.tile.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.6,-.6,.7,1),opacity .45s;transform:scale(0)rotate(-25deg)}.tile.right{background:var(--good);color:#fff;box-shadow:inset 0 -.55cqi #0003}.tile.wrong{background:var(--bad);color:#fff;animation:.4s shake;box-shadow:inset 0 -.55cqi #0003}.board.locked .tile{cursor:default}.burst{pointer-events:none;place-items:center;font-size:clamp(16px,4.5cqi,34px);animation:.6s ease-out forwards burst;display:grid;position:absolute;inset:0}.freeze{z-index:5;background:var(--ice);-webkit-backdrop-filter:blur(2px);color:var(--ice-deep);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;animation:.25s ease-out pop;display:flex;position:absolute;inset:0}.freeze .ice-title{font-family:var(--f-display);font-size:clamp(1.6rem,6cqi,2.6rem);font-weight:800;line-height:1.1}.freeze .ice-count{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:clamp(4rem,22cqi,10rem);font-weight:800;line-height:1}.freeze .ice-sub{font-size:1.05rem;font-weight:800}.count{font-family:var(--f-display);color:#fff;text-shadow:0 8px 0 var(--jungle-deep);font-size:clamp(7rem,30vw,14rem);font-weight:800;line-height:1}.count.pop{animation:.7s ease-out count-pop}@keyframes count-pop{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes burst{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}
