.g2 .game-levels{margin:.5rem 0 .8rem}.u3-go{background:linear-gradient(135deg, color-mix(in oklab, var(--warning) 22%, var(--card)), color-mix(in oklab, var(--warning) 10%, var(--card)));border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border), 0 8px 24px -12px color-mix(in oklab, var(--foreground) 40%, transparent);padding:6px}.u3-go .disc{animation:.22s ease-out u3-drop}.u3-go .g4-pt.win .disc{box-shadow:0 0 0 3px var(--success), 0 0 14px var(--success)}.u3-go.over .g4-pt:not(.win) .disc{opacity:.7}.u3-edge{transition:background .2s,box-shadow .2s}.u3-edge.last{box-shadow:0 0 0 2px var(--primary), 0 0 12px var(--primary)}.u3-box{font-size:.7rem;font-weight:700;transition:background .3s}.u3-box.pop{animation:.35s ease-out u3-pop}.u3-mm{gap:.35rem;max-width:420px;margin:.4rem auto;padding:0;list-style:none;display:grid}.u3-mm-row{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.6rem;padding:.3rem .5rem;display:flex}.u3-mm-row.cur{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab, var(--primary) 25%, transparent)}.u3-mm-row.in{animation:.25s ease-out u3-rise}.u3-n{width:1.4rem;color:var(--muted-foreground);text-align:right;font-size:.8rem}.u3-peg{color:var(--background);text-shadow:0 1px 1px color-mix(in oklab, var(--foreground) 40%, transparent);box-shadow:inset 0 -3px 0 color-mix(in oklab, var(--foreground) 22%, transparent), inset 0 2px 0 color-mix(in oklab, var(--background) 45%, transparent);place-items:center;font-size:.7rem;font-weight:700;display:inline-grid}.u3-peg.mm-empty{color:#0000;box-shadow:none}.u3-palette .u3-peg{cursor:pointer;width:40px;height:40px}.u3-palette .u3-peg[disabled]{opacity:.3;cursor:default}.mm-6{background:oklch(55% .1 50)}.mm-7{background:oklch(92% .02 250)}.u3-keys{grid-template-columns:repeat(3,10px);gap:3px;margin-left:auto;display:grid}.u3-keys i{border:1px solid var(--border);border-radius:50%;width:10px;height:10px}.u3-keys i.x{background:var(--foreground);border-color:var(--foreground)}.u3-keys i.n{background:var(--card);border:2px solid var(--foreground)}.u3-reveal{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.u3-balloons{justify-content:center;gap:.3rem;min-height:72px;margin:.4rem 0;display:flex}.u3-balloons.hit{animation:.35s u3-shake}.u3-balloon{width:34px;height:60px;transition:transform .35s,opacity .35s;animation:3s ease-in-out infinite u3-float}.u3-balloon ellipse,.u3-balloon path:not(.str){fill:var(--primary)}.u3-balloon.c1 ellipse,.u3-balloon.c1 path:not(.str){fill:var(--warning)}.u3-balloon.c2 ellipse,.u3-balloon.c2 path:not(.str){fill:var(--success)}.u3-balloon.c3 ellipse,.u3-balloon.c3 path:not(.str){fill:var(--destructive)}.u3-balloon .str{fill:none;stroke:var(--muted-foreground);stroke-width:1.2px}.u3-balloon.popped{opacity:.12;animation:none;transform:scale(.6)translateY(20px)}.u3-word{letter-spacing:0;flex-wrap:wrap;justify-content:center;gap:.25em;font-size:1.6rem;display:flex}.u3-word span{min-width:.8em;display:inline-block}.u3-word span.ok{color:var(--primary);animation:.3s ease-out u3-pop}.u3-word span.miss{color:var(--destructive)}.g2-keys .u3-hit{background:color-mix(in oklab, var(--success) 25%, var(--card));border-color:var(--success);opacity:.8!important}.g2-keys .u3-miss{background:color-mix(in oklab, var(--destructive) 15%, var(--card));text-decoration:line-through}.u3-lights{border-radius:var(--radius);background:color-mix(in oklab, var(--foreground) 6%, var(--card));padding:10px}.u3-lights .g2-cell{transition:background .18s,box-shadow .18s,transform .1s}.u3-lights .g2-cell:active{transform:scale(.93)}.u3-lights .g2-cell.hint{outline:3px dashed var(--warning);outline-offset:2px}.u3-lights.over .g2-cell{opacity:.75}@keyframes u3-drop{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}@keyframes u3-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:none}}@keyframes u3-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes u3-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes u3-float{50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.u3-go *,.u3-dots *,.u3-mm *,.u3-mm-row,.u3-balloons,.u3-balloon,.u3-word span,.u3-lights *{transition:none!important;animation:none!important}}.g4-seg.c7{background:oklch(45% .08 270)}.g4-seg.c8{background:oklch(85% .05 120)}.u4-progress{background:var(--muted);border-radius:99px;max-width:520px;height:6px;margin:.4rem auto .8rem;overflow:hidden}.u4-progress span{background:var(--primary);height:100%;transition:width .25s linear;display:block}.u4-progress.time span{background:linear-gradient(90deg, var(--destructive), var(--warning), var(--success));background-size:520px 100%}.u4-hanoi{grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:640px;margin:0 auto;display:grid}.u4-peg{border:1px solid var(--border);border-bottom:8px solid color-mix(in oklab, var(--warning) 50%, var(--foreground));border-radius:var(--radius);background:linear-gradient(var(--card), color-mix(in oklab, var(--warning) 8%, var(--card)));cursor:pointer;flex-direction:column-reverse;align-items:center;gap:3px;height:230px;padding:8px 4px 12px;display:flex;position:relative}.u4-peg.sel{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 25%, transparent)}.u4-peg.bad{animation:.35s u4-shake}.u4-pole{background:color-mix(in oklab, var(--warning) 45%, var(--foreground));border-radius:4px;width:8px;position:absolute;top:18px;bottom:0;left:50%;transform:translate(-50%)}.u4-disc{background:linear-gradient(oklch(.75 .14 calc(var(--h) * 1deg)), oklch(.55 .14 calc(var(--h) * 1deg)));height:18px;box-shadow:0 2px 4px color-mix(in oklab, var(--foreground) 25%, transparent);border-radius:9px;transition:transform .2s;position:relative}.u4-disc.lift{transform:translateY(-14px)}.u4-stone{background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--primary) 50%, var(--background)), var(--primary));box-shadow:0 2px 4px color-mix(in oklab, var(--foreground) 25%, transparent);transition:transform .12s}.u4-stone:hover:not(:disabled),.u4-stone:hover:not(:disabled)~.u4-stone{box-shadow:0 0 0 2px var(--warning);transform:translateY(-3px)}.u4-gone{background:var(--primary);border-radius:50%;width:30px;height:30px;animation:.5s forwards u4-vanish}.u4-duel{justify-content:center;align-items:center;gap:1.2rem;margin:.4rem 0 .6rem;display:flex}.u4-hand{border-radius:var(--radius);border:2px solid var(--border);background:var(--card);justify-items:center;padding:.6rem 1rem;font-size:3.4rem;line-height:1;animation:.35s ease-out u4-punch;display:grid}.u4-hand small{color:var(--muted-foreground);margin-top:.3rem;font-size:.75rem}.u4-hand.win{border-color:var(--success);box-shadow:0 0 16px color-mix(in oklab, var(--success) 40%, transparent)}.u4-hand.lose{opacity:.6}.u4-vs{color:var(--muted-foreground);font-weight:700}.u4-meter{background:var(--muted);border-radius:99px;justify-content:center;max-width:420px;height:8px;margin:0 auto .8rem;display:flex;overflow:hidden}.u4-meter .you{background:var(--success);margin-left:auto}.u4-meter .cpu{background:var(--destructive);margin-right:auto}.u4-meter span{transition:width .3s}.u4-card{background:linear-gradient(160deg, var(--card), var(--surface));box-shadow:0 8px 20px -10px color-mix(in oklab, var(--foreground) 40%, transparent);animation:.35s ease-out u4-flip}.u4-card.hidden{background:repeating-linear-gradient(45deg, var(--primary), var(--primary) 6px, color-mix(in oklab, var(--primary) 70%, var(--background)) 6px, color-mix(in oklab, var(--primary) 70%, var(--background)) 12px);color:var(--primary-foreground)}.u4-tiles{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.6rem 0;display:flex}.u4-tiles span{width:2.4rem;height:2.6rem;font:700 1.3rem var(--font-display);background:var(--card);border:1px solid var(--border);box-shadow:inset 0 -3px 0 var(--border);border-radius:8px;place-items:center;animation:.3s ease-out backwards u4-drop;display:grid}.u4-tiles[data-shake]{animation:.35s u4-shake}.u4-spell{animation:.25s ease-out u4-drop}.u4-last{text-align:center;font-weight:600}.u4-last.ok{color:var(--success)}.u4-last.bad{color:var(--destructive)}.u4-text .caret{box-shadow:inset 0 -2px 0 var(--primary)}.u4-code{text-align:center;margin:.2rem 0 .8rem;font:700 clamp(1.3rem,5vw,1.8rem) ui-monospace,monospace}.u4-swatches{max-width:560px;margin:0 auto}.u4-swatches.n3{grid-template-columns:repeat(3,1fr)}.u4-swatches button{color:var(--background);text-shadow:0 1px 2px var(--foreground);font-size:1.6rem;font-weight:700;transition:transform .15s,opacity .2s}.u4-swatches button:hover:not(:disabled){transform:scale(1.04)}.u4-swatches button.ok{opacity:1;box-shadow:0 0 0 4px var(--success)}.u4-swatches button.x{animation:.3s u4-shake}.u4-holes{touch-action:manipulation;gap:.6rem;max-width:460px;margin:0 auto;display:grid}.u4-hole{aspect-ratio:1;border:3px solid var(--border);background:radial-gradient(circle at 50% 60%, color-mix(in oklab, var(--foreground) 35%, var(--card)) 0 45%, var(--secondary) 47%);cursor:pointer;border-radius:50%;font-size:2rem;position:relative;overflow:hidden}.u4-mole{border-radius:50% 50% 0 0;place-items:center;transition:transform .12s ease-out;display:grid;position:absolute;inset:18% 22% 0;transform:translateY(100%)}.u4-hole.up .u4-mole{background:radial-gradient(circle at 35% 35%, color-mix(in oklab, var(--warning) 60%, var(--card)), color-mix(in oklab, var(--warning) 50%, var(--foreground)));transform:none}.u4-hole.up .u4-mole:before{content:"• •";color:var(--foreground);font-size:.9rem;position:absolute;top:22%}.u4-hole.bomb .u4-mole{background:color-mix(in oklab, var(--destructive) 25%, var(--card));transform:none}.u4-bonk{font:700 1.2rem var(--font-display);color:var(--success);pointer-events:none;place-items:center;animation:.5s forwards u4-float;display:grid;position:absolute;inset:0}.u4-bonk.neg{color:var(--destructive)}.u4-tracker{flex-wrap:wrap;justify-content:center;gap:.3rem;margin-bottom:.6rem;display:flex}.u4-tracker button{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:inherit;cursor:pointer;border-radius:8px;font:700 1rem ui-monospace,monospace}.u4-tracker .m1{opacity:.35;text-decoration:line-through}.u4-tracker .m2{background:color-mix(in oklab, var(--success) 25%, var(--card));border-color:var(--success)}.u4-bc{gap:.3rem;max-width:420px;margin:0 auto .6rem;padding:0;list-style:none;display:grid}.u4-bc li{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.6rem;padding:.3rem .6rem;animation:.25s ease-out u4-drop;display:flex}.u4-bc .mono{gap:.2rem;display:flex}.u4-bc .mono i{text-align:center;background:var(--surface);border-radius:6px;width:1.6rem;font:700 1.05rem ui-monospace,monospace}.u4-bulls{letter-spacing:.1em;margin-left:auto}.u4-n{color:var(--muted-foreground);width:1.2rem;font-size:.8rem}.u4-tubes .g4-tube{background:linear-gradient(90deg, var(--surface), var(--card) 40%, var(--surface));transition:transform .15s,border-color .2s,box-shadow .2s}.u4-tubes .g4-tube.full{border-color:var(--success);box-shadow:0 0 12px color-mix(in oklab, var(--success) 35%, transparent)}.u4-tubes .g4-tube.bad{animation:.35s u4-shake}.u4-tubes .g4-seg{box-shadow:inset 0 3px 0 color-mix(in oklab, var(--background) 30%, transparent)}.u4-ladder li{justify-content:center;gap:.15rem;display:flex}.u4-ladder li span.chg{color:var(--primary);font-weight:800}.u4-ladder li.new{animation:.25s ease-out u4-drop}@keyframes u4-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes u4-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes u4-vanish{to{opacity:0;transform:scale(0)translateY(-20px)}}@keyframes u4-punch{0%{transform:scale(.7)}70%{transform:scale(1.1)}to{transform:none}}@keyframes u4-flip{0%{transform:rotateY(90deg)}to{transform:none}}@keyframes u4-float{to{opacity:0;transform:translateY(-24px)}}@media (prefers-reduced-motion:reduce){.g2 [class*=u4-],.g2 [class*=u4-] *{transition:none!important;animation:none!important}}@media (width<=420px){.u4-peg{height:190px}.u4-hand{padding:.4rem .7rem;font-size:2.6rem}.u4-tiles span{width:2rem;height:2.2rem;font-size:1.1rem}}
