.g2{gap:1rem;max-width:760px;margin:0 auto;display:grid}.g2 h1{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.g2-intro{color:var(--muted-foreground,inherit);opacity:.85;margin:0}.g2-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.g2-stats{flex-wrap:wrap;gap:1rem;font-size:.95rem;display:flex}.g2-status{min-height:1.5em;margin:0;font-weight:600}.g2-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto}.g2-how{font-size:.92rem}.g2-how ul{margin:.4rem 0 0;padding-left:1.2rem}.g2-more{flex-wrap:wrap;gap:.4rem .9rem;font-size:.9rem;display:flex}.g2-more h2{width:100%;margin:0;font-size:1rem}.g2-cell{border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border-radius:8px}.g2-cell:focus-visible,.g2 button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.g2-word{letter-spacing:.35em;text-align:center;margin:.5rem 0;font-family:ui-monospace,monospace;font-size:clamp(1.4rem,6vw,2.2rem)}.g2-keys{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:.35rem;display:grid}.g2-keys button{min-height:44px}.g2-keys button[disabled]{opacity:.35;cursor:default}.g2-lights{grid-template-columns:repeat(5,minmax(44px,64px));justify-content:center;gap:.4rem;display:grid}.g2-lights .g2-cell{aspect-ratio:1}.g2-lights .on{background:var(--primary);border-color:var(--primary);box-shadow:0 0 14px color-mix(in oklab, var(--primary) 60%, transparent)}.g2-pegs{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.g2-peg{border:2px solid var(--border);border-radius:50%;width:34px;height:34px}button.g2-peg{cursor:pointer}.g2-row{border-bottom:1px dashed var(--border);align-items:center;gap:.8rem;padding:.3rem 0;display:flex}.mm-0{background:oklch(60% .2 25)}.mm-1{background:oklch(72% .17 140)}.mm-2{background:oklch(60% .17 255)}.mm-3{background:oklch(85% .16 95)}.mm-4{background:oklch(60% .2 320)}.mm-5{background:oklch(72% .12 200)}.mm-empty{background:0 0;border-style:dashed}.g2-hanoi{grid-template-columns:repeat(3,1fr);gap:.5rem;min-width:300px;display:grid}.g2-peg-col{border-bottom:6px solid var(--border);flex-direction:column-reverse;align-items:center;gap:3px;min-height:200px;padding:.5rem .25rem;display:flex}.g2-peg-col.sel{background:var(--brand-soft)}.g2-disc{background:var(--primary);border-radius:6px;height:22px}.g2-c4-wrap{--c4-red:oklch(62% .2 25);--c4-yellow:oklch(84% .16 90);--c4-frame:oklch(48% .14 255);width:fit-content;max-width:100%;margin-inline:auto}.dark .g2-c4-wrap{--c4-frame:oklch(40% .12 255)}.g2-c4-preview{grid-template-columns:repeat(7,minmax(30px,54px));gap:6px;padding:0 9px 6px;display:grid}.g2-c4-preview span{aspect-ratio:1;opacity:0;border-radius:50%;transition:opacity .12s}.g2-c4-preview .on{opacity:.55}.g2-c4-preview .p1{background:var(--c4-red)}.g2-c4-preview .p2{background:var(--c4-yellow)}.g2-c4{background:linear-gradient(180deg, color-mix(in oklab, var(--c4-frame) 85%, var(--background)), var(--c4-frame));box-shadow:inset 0 2px 0 color-mix(in oklab, var(--background) 25%, transparent), 0 14px 30px -14px color-mix(in oklab, var(--c4-frame) 70%, transparent);border-radius:16px;grid-template-columns:repeat(7,minmax(30px,54px));justify-content:center;gap:6px;padding:9px;display:grid;overflow:hidden}.g2-c4 button{aspect-ratio:1;background:var(--background);box-shadow:inset 0 4px 6px color-mix(in oklab, var(--foreground) 22%, transparent);cursor:pointer;border:none;border-radius:50%;padding:0;position:relative}.g2-c4 button.p1,.g2-c4 button.p2{animation:c4-drop calc(.12s + var(--row) * 60ms) cubic-bezier(.5, 0, .75, 1)}.g2-c4 .p1{background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c4-red) 60%, var(--background)), var(--c4-red) 60%)}.g2-c4 .p2{background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c4-yellow) 55%, var(--background)), var(--c4-yellow) 60%)}.g2-c4 .last:after{content:"";border:2px solid color-mix(in oklab, var(--background) 70%, transparent);border-radius:50%;position:absolute;inset:30%}.g2-c4 .win{box-shadow:0 0 0 3px var(--background), 0 0 14px 2px var(--background);animation:.8s ease-in-out infinite alternate c4-win}.g2-c4-wrap[data-thinking=true] .g2-c4{opacity:.92;cursor:progress}@keyframes c4-drop{0%{transform:translateY(calc(var(--row) * -110%))}}@keyframes c4-win{to{transform:scale(.86)}}@media (prefers-reduced-motion:reduce){.g2-c4 button{animation:none!important}}.g2-choices{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.g2-big{text-align:center;font-size:3rem;font-weight:700}.g2-card{border:2px solid var(--border);background:var(--surface);border-radius:12px;place-items:center;width:90px;height:126px;font-size:2.4rem;font-weight:700;display:grid}.g2-swatches{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.6rem;display:grid}.g2-swatches button{aspect-ratio:1;border:2px solid var(--border);cursor:pointer;border-radius:12px}.g2-swatches button[disabled]{opacity:.25}.g2-heap{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.g2-stone{background:var(--primary);cursor:pointer;border:none;border-radius:50%;width:30px;height:30px}.g2-stone.picked{opacity:.35}.g2-holes{grid-template-columns:repeat(3,minmax(70px,120px));justify-content:center;gap:.7rem;display:grid}.g2-holes button{aspect-ratio:1;border:3px solid var(--border);background:var(--secondary);cursor:pointer;border-radius:50%;font-size:2.2rem}.g2-holes .up{background:var(--brand-soft);border-color:var(--primary)}.g2-text{font-family:ui-monospace,monospace;font-size:1.05rem;line-height:1.7}.g2-text .ok{color:var(--primary)}.g2-text .bad{background:color-mix(in oklab, var(--destructive) 30%, transparent)}.g2 textarea,.g2 input[type=text]{width:100%;font:inherit;border:1px solid var(--border);background:var(--background);color:inherit;border-radius:8px;padding:.6rem}.g2{--g3-c0:oklch(60% .2 25);--g3-c1:oklch(62% .16 150);--g3-c2:oklch(58% .16 255);--g3-c3:oklch(74% .15 85)}.g3-bar,.g3-mode{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.g3-stage{width:100%;max-width:420px;margin:0 auto;position:relative}.g3-canvas{aspect-ratio:3/4;border-radius:var(--radius);border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;display:block}.g3-overlay{border-radius:var(--radius);background:color-mix(in oklab, var(--background) 55%, transparent);color:var(--foreground);font:600 1.1rem var(--font-display);cursor:pointer;border:0;place-items:center;display:grid;position:absolute;inset:0}.g3-pad{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.7rem;display:flex}.g3-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:64px;min-height:48px;color:var(--foreground);font:600 .95rem var(--font-sans);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;padding:.4rem .9rem}.g3-btn:active{background:var(--accent)}.g3-btn[disabled]{opacity:.4;cursor:default}.g3-dpad{grid-template-rows:repeat(3,48px);grid-template-columns:repeat(3,56px);justify-content:center;gap:.3rem;margin-top:.7rem;display:grid}.g3-dpad .up{grid-area:1/2}.g3-dpad .left{grid-area:2/1}.g3-dpad .right{grid-area:2/3}.g3-dpad .down{grid-area:3/2}.g3-dpad .g3-btn{min-width:0;padding:0}.g3-grid{gap:1px;max-width:460px;margin:0 auto;display:grid}.g3-tile{aspect-ratio:1;border-radius:2px;place-items:center;font-size:clamp(.6rem,2.6vw,1rem);line-height:1;display:grid}.g3-tile.wall{background:var(--foreground);opacity:.82}.g3-tile.floor{background:var(--surface)}.g3-tile.me{background:var(--primary);color:var(--primary-foreground)}.g3-tile.goal{background:var(--success);color:var(--background)}.g3-tile.door{background:var(--warning);color:var(--background)}.g3-tile.item{background:var(--brand-soft);color:var(--primary)}.g3-tile.trap{background:var(--surface);color:var(--muted-foreground)}.g3-tile.trap.on{background:color-mix(in oklab, var(--destructive) 25%, var(--surface));color:var(--destructive)}.g3-tile.lava{background:var(--destructive);color:var(--background)}.g3-tile.bat{background:var(--warning);color:var(--background)}.g3-maze{border:2px solid var(--foreground);max-width:440px;margin:0 auto;display:grid}.g3-mcell{aspect-ratio:1;border:0 solid var(--foreground);background:var(--surface)}.g3-mcell.goal{background:var(--success)}.g3-mcell.me{background:var(--primary);box-shadow:inset 0 0 0 3px var(--surface)}.g3-timer{background:var(--border);border-radius:4px;max-width:460px;height:8px;margin:0 auto .6rem;overflow:hidden}.g3-timer span{background:var(--primary);height:100%;transition:width .1s linear;display:block}.g3-timer.low span{background:var(--destructive)}.g3-cliff{gap:.35rem;max-width:300px;margin:0 auto;display:grid}.g3-cliff-row{grid-template-columns:repeat(3,1fr);gap:.35rem;min-height:44px;display:grid}.g3-summit{text-align:center;color:var(--success);grid-column:1/-1;align-self:center;font-weight:700}.g3-hold{border-radius:var(--radius);place-items:center;font-size:1.2rem;display:grid}.g3-hold.good{background:var(--brand-soft);color:var(--primary)}.g3-hold.cracked{background:color-mix(in oklab, var(--destructive) 18%, var(--surface));color:var(--destructive)}.g3-hold.none{background:0 0}.g3-hold.me{background:var(--primary);color:var(--primary-foreground)}.g4-bar,.g4-levels{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.g4-bar{margin-bottom:.8rem}.g4-big{font:700 clamp(1.4rem, 6vw, 2.2rem) var(--font-display);text-align:center;letter-spacing:.08em;margin:.6rem 0}.g4-hint,.g4-clue{text-align:center;margin:.3rem 0}.g4-clue{font-size:1.1rem;font-weight:600}.g4-form{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.6rem 0;display:flex}.g4-form input{border:1px solid var(--input);border-radius:var(--radius);background:var(--background);min-width:0;max-width:280px;min-height:44px;color:var(--foreground);font:600 1.05rem var(--font-sans);flex:160px;padding:.4rem .7rem}.g4-key,.g4-opt,.g4-choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:46px;color:var(--foreground);font:600 1.05rem var(--font-sans);cursor:pointer}.g4-key:focus-visible,.g4-opt:focus-visible,.g4-choice:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.g4-sudoku{border:2px solid var(--foreground);grid-template-columns:repeat(9,1fr);max-width:450px;margin:0 auto;display:grid}.g4-sc{aspect-ratio:1;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--background);color:var(--primary);font:600 clamp(.9rem, 4.2vw, 1.35rem) var(--font-sans);cursor:pointer;padding:0}.g4-sc.given{color:var(--foreground);font-weight:800}.g4-sc.br{border-right:2px solid var(--foreground)}.g4-sc.bb{border-bottom:2px solid var(--foreground)}.g4-sc.peer{background:var(--surface)}.g4-sc.same{background:var(--brand-soft)}.g4-sc.sel{background:var(--accent);outline:2px solid var(--primary);outline-offset:-2px}.g4-sc.bad{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 14%, var(--background))}.g4-pad{grid-template-columns:repeat(5,1fr);gap:.35rem;max-width:450px;margin:.7rem auto 0;display:grid}.g4-ws{touch-action:none;-webkit-user-select:none;user-select:none;gap:2px;max-width:440px;margin:0 auto;display:grid}.g4-wc{aspect-ratio:1;background:var(--surface);color:var(--foreground);font:700 clamp(.8rem, 3.8vw, 1.15rem) var(--font-sans);cursor:pointer;border:0;border-radius:4px;padding:0}.g4-wc.found{background:color-mix(in oklab, var(--success) 30%, var(--surface))}.g4-wc.sel{background:var(--primary);color:var(--primary-foreground)}.g4-words{flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin:.8rem 0 0;padding:0;font-weight:600;list-style:none;display:flex}.g4-words .done{opacity:.55;text-decoration:line-through}.g4-cw{border:2px solid var(--foreground);max-width:340px;margin:0 auto;display:grid}.g4-cwc{aspect-ratio:1;border:1px solid var(--border);background:var(--background);position:relative}.g4-cwc .num{color:var(--muted-foreground);pointer-events:none;font-size:.65rem;position:absolute;top:2px;left:4px}.g4-cwc input{width:100%;height:100%;color:var(--foreground);text-align:center;font:700 clamp(1.1rem, 6vw, 1.6rem) var(--font-sans);text-transform:uppercase;caret-color:#0000;background:0 0;border:0;padding:0}.g4-cwc input:focus{outline:none}.g4-cwc.act{background:var(--brand-soft)}.g4-cwc.sel{background:var(--accent);box-shadow:inset 0 0 0 2px var(--primary)}.g4-cwc.bad input{color:var(--destructive)}.g4-clues{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem 1.2rem;margin-top:.8rem;font-size:.92rem;display:grid}.g4-clues h3{margin:0 0 .2rem;font-size:1rem}.g4-clues ol{margin:0;padding-left:1.4rem}.g4-clues .on{color:var(--primary);font-weight:700}.g4-ladder{letter-spacing:.2em;justify-items:center;gap:.3rem;margin:0 auto;padding:0;font:700 1.3rem ui-monospace,monospace;list-style:none;display:grid}.g4-ladder .target{color:var(--muted-foreground)}.g4-results{columns:2 180px;padding-left:1rem}.g4-results .ok{color:var(--success)}.g4-results .bad{color:var(--destructive)}.g4-pegs{grid-template-columns:repeat(7,1fr);gap:4px;max-width:360px;margin:0 auto;display:grid}.g4-peg{aspect-ratio:1;border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;padding:0}.g4-peg.on{background:var(--primary);border-color:var(--primary)}.g4-peg.sel{box-shadow:0 0 0 3px var(--warning)}.g4-peg.tgt{border:3px dashed var(--success)}.g4-table{border-collapse:collapse;min-width:240px;margin:0 auto}.g4-table th,.g4-table td{border-bottom:1px solid var(--border);text-align:center;padding:.3rem .8rem}.mono{letter-spacing:.15em;font-family:ui-monospace,monospace}.g4-tubes{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.g4-tube{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-top-width:0;border-radius:0 0 22px 22px;flex-direction:column-reverse;gap:2px;width:48px;height:176px;padding:4px;display:flex}.g4-tube.sel{border-color:var(--primary);transform:translateY(-6px)}.g4-tube.water .g4-seg{border-radius:3px;height:40px}.g4-tube.ball{border-radius:0 0 24px 24px}.g4-tube.ball .g4-seg{border-radius:50%;width:36px;height:36px;margin:1px auto}.g4-seg.lift{transform:translateY(-14px)}.g4-seg.c0{background:oklch(60% .2 25)}.g4-seg.c1{background:oklch(62% .16 150)}.g4-seg.c2{background:oklch(58% .16 255)}.g4-seg.c3{background:oklch(78% .15 85)}.g4-seg.c4{background:oklch(55% .18 320)}.g4-seg.c5{background:oklch(70% .13 200)}.g4-seg.c6{background:oklch(68% .17 50)}.g4-pipes-wrap{max-width:380px;margin:0 auto;padding:0 18px;position:relative}.g4-pipes{gap:2px;display:grid}.g4-io{color:var(--primary);font-size:.9rem;position:absolute;transform:translateY(-50%)}.g4-io.in{left:0}.g4-io.out{right:0;transform:translateY(50%)}.g4-pipe{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;padding:0}.g4-pipe svg{width:100%;height:100%;stroke:var(--muted-foreground);stroke-width:9px;stroke-linecap:round;fill:var(--muted-foreground)}.g4-pipe.lit svg{stroke:var(--primary);fill:var(--primary)}.g4-board{border:2px solid var(--foreground);max-width:440px;margin:0 auto;display:grid}.g4-board.g8{grid-template-columns:repeat(8,1fr)}.g4-sq{aspect-ratio:1;cursor:pointer;border:0;place-items:center;padding:0;display:grid}.g4-sq[disabled]{cursor:default}.g4-sq.green{background:color-mix(in oklab, var(--success) 55%, var(--background));border:1px solid color-mix(in oklab, var(--foreground) 25%, transparent)}.g4-sq.dark{background:color-mix(in oklab, var(--foreground) 55%, var(--background))}.g4-sq.light{background:var(--surface)}.g4-sq.mov{box-shadow:inset 0 0 0 2px var(--warning)}.g4-sq.sel{box-shadow:inset 0 0 0 3px var(--primary)}.g4-sq.tgt{box-shadow:inset 0 0 0 3px var(--success)}.disc{color:oklch(95% .02 90);border-radius:50%;place-items:center;width:78%;height:78%;font-size:.9rem;display:grid}.disc.b{background:oklch(20% .01 250);border:1px solid oklch(45% .01 250)}.disc.w{background:oklch(97% .005 250);border:1px solid oklch(60% .01 250)}.disc.r{background:oklch(55% .2 25);border:1px solid oklch(35% .12 25)}.hint{background:color-mix(in oklab, var(--foreground) 45%, transparent);border-radius:50%;width:26%;height:26%}.g4-go{background:color-mix(in oklab, var(--warning) 30%, var(--surface));border:2px solid var(--foreground);max-width:480px;margin:0 auto;display:grid}.g4-pt{aspect-ratio:1;border:0;border-right:1px solid color-mix(in oklab, var(--foreground) 30%, transparent);border-bottom:1px solid color-mix(in oklab, var(--foreground) 30%, transparent);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.g4-pt[disabled]{cursor:default}.g4-pt .disc{width:86%;height:86%}.g4-pt.win{background:color-mix(in oklab, var(--success) 45%, transparent)}.g4-pt.last .disc{box-shadow:0 0 0 2px var(--primary)}.g4-bs-wrap{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.g4-bs-wrap h3{text-align:center;margin:0 0 .3rem;font-size:1rem}.g4-bs{grid-template-columns:repeat(10,1fr);gap:2px;max-width:340px;margin:0 auto;display:grid}.g4-bc{aspect-ratio:1;background:color-mix(in oklab, var(--brand-mid) 30%, var(--surface));color:var(--foreground);cursor:pointer;border:0;border-radius:2px;padding:0;font-size:.8rem;font-weight:800}.g4-bc[disabled]{cursor:default}.g4-bc.ship{background:color-mix(in oklab, var(--foreground) 50%, var(--surface))}.g4-bc.hit{background:var(--destructive);color:var(--background)}.g4-bc.miss{background:var(--surface);color:var(--muted-foreground)}.g4-bc.pv{background:var(--success)}.g4-bc.pvbad{background:color-mix(in oklab, var(--destructive) 50%, var(--surface))}.g4-dots{max-width:380px;margin:0 auto;display:grid}.g4-dot{background:var(--foreground);border-radius:50%;width:14px;height:14px}.g4-edge{background:var(--surface);cursor:pointer;border:0;border-radius:3px;padding:0}.g4-edge.h{height:14px}.g4-edge.v{justify-self:center;width:14px;height:100%;min-height:36px}.g4-edge:hover:not([disabled]){background:var(--brand-mid)}.g4-edge.on{background:var(--foreground);cursor:default}.g4-box{place-items:center;font-size:.85rem;font-weight:800;display:grid}.g4-box.p1{background:color-mix(in oklab, var(--primary) 30%, transparent)}.g4-box.p2{background:color-mix(in oklab, var(--warning) 35%, transparent)}.g4-choices{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;display:grid}.g4-choice{gap:.2rem;padding:.6rem;display:grid}.g4-choice span{font-size:1.8rem}.g4-seq{font:700 clamp(1.1rem, 5vw, 1.6rem) var(--font-sans);flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.6rem 0;display:flex}.g4-seq span{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:2.2em;padding:.3rem .5rem}.g4-seq .q{color:var(--primary);border-style:dashed}.g4-opts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;max-width:520px;margin:0 auto;display:grid}.g4-opt.ok{background:color-mix(in oklab, var(--success) 30%, var(--surface));border-color:var(--success)}.g4-opt.bad{background:color-mix(in oklab, var(--destructive) 22%, var(--surface));border-color:var(--destructive)}.g4-explain{border-radius:var(--radius);border:1px solid var(--border);justify-items:start;gap:.5rem;max-width:560px;margin:.8rem auto 0;padding:.7rem .9rem;display:grid}.g4-explain p{margin:0}.g4-explain.ok{border-color:var(--success)}.g4-explain.bad{border-color:var(--destructive)}.dark .disc.b{border:2px solid oklch(72% .01 250)}.g3-bar .game-levels{flex:100%;order:-1;margin-bottom:4px}.u2-note{color:var(--muted-foreground);font-size:.85rem}.u2-note.center{text-align:center;margin:.5rem 0 0}.u2-result{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);text-align:center;justify-items:center;gap:.4rem;max-width:460px;margin:1rem auto 0;padding:1rem 1.2rem;animation:.35s ease-out u2-rise;display:grid}.u2-result strong{font:700 1.25rem var(--font-display)}.u2-result p{color:var(--muted-foreground);margin:0}.u2-result.win{border-color:var(--success);box-shadow:0 0 0 3px color-mix(in oklab, var(--success) 18%, transparent)}.u2-result.lose{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklab, var(--destructive) 15%, transparent)}.u2-result.draw{border-color:var(--warning)}@keyframes u2-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.u2-sudoku{border:2.5px solid var(--foreground);background:var(--card);max-width:468px;box-shadow:0 10px 30px -18px color-mix(in oklab, var(--foreground) 50%, transparent);border-radius:10px;grid-template-columns:repeat(9,1fr);margin:0 auto;display:grid;overflow:hidden}.u2-sudoku.over{opacity:.85}.u2-sc{aspect-ratio:1;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);color:var(--primary);font:600 clamp(1rem, 4.6vw, 1.5rem) var(--font-display);cursor:pointer;place-items:center;padding:0;transition:background .12s;display:grid;position:relative}.u2-sc:nth-child(9n){border-right:0}.u2-sc:nth-last-child(-n+9){border-bottom:0}.u2-sc.given{color:var(--foreground);font-weight:800}.u2-sc.br{border-right:2.5px solid var(--foreground)}.u2-sc.bb{border-bottom:2.5px solid var(--foreground)}.u2-sc.peer{background:color-mix(in oklab, var(--primary) 7%, var(--card))}.u2-sc.same{background:color-mix(in oklab, var(--primary) 20%, var(--card))}.u2-sc.sel{background:color-mix(in oklab, var(--primary) 30%, var(--card));box-shadow:inset 0 0 0 2.5px var(--primary)}.u2-sc.bad{color:var(--destructive);background:color-mix(in oklab, var(--destructive) 15%, var(--card))}.u2-sc:focus-visible{outline:3px solid var(--primary);outline-offset:-3px;z-index:1}.u2-sc.pop>span{animation:.3s ease-out u2-pop}.u2-sc.shake>span{animation:.35s ease-in-out u2-shake}.u2-notes{width:92%;height:92%;font:600 clamp(.42rem, 1.9vw, .66rem) var(--font-sans);color:var(--muted-foreground);grid-template-columns:repeat(3,1fr);display:grid}.u2-notes i{place-items:center;font-style:normal;display:grid}.u2-pad .g4-key.done{opacity:.35}@keyframes u2-pop{0%{transform:scale(.4)}70%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes u2-shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.u2-progress{background:var(--border);border-radius:4px;flex:140px;max-width:260px;height:8px;overflow:hidden}.u2-progress span{background:var(--primary);height:100%;transition:width .3s;display:block}.u2-ws{border:1px solid var(--border);background:var(--card);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;gap:3px;margin:0 auto;padding:8px;display:grid}.u2-wc{aspect-ratio:1;background:var(--surface);color:var(--foreground);font:700 clamp(.66rem, 3.4vw, 1.1rem) var(--font-display);cursor:pointer;border:0;border-radius:6px;padding:0;transition:background .12s,transform .12s}.u2-wc.sel{background:var(--primary);color:var(--primary-foreground);transform:scale(1.06)}.u2-wc[disabled]{cursor:default}.u2-ws.over .u2-wc:not([class*=\ f]){opacity:.55}.u2-wc.f0,.u2-words .f0{--fw:var(--g3-c0)}.u2-wc.f1,.u2-words .f1{--fw:var(--g3-c1)}.u2-wc.f2,.u2-words .f2{--fw:var(--g3-c2)}.u2-wc.f3,.u2-words .f3{--fw:var(--g3-c3)}.u2-wc.f4,.u2-words .f4{--fw:var(--primary)}.u2-wc.f5,.u2-words .f5{--fw:var(--warning)}.u2-wc[class*=\ f]{background:color-mix(in oklab, var(--fw) 32%, var(--surface));animation:.3s ease-out u2-pop}.u2-words{font:700 .9rem var(--font-sans);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.u2-words li{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.25rem .6rem}.u2-words li.done{border-color:var(--fw);background:color-mix(in oklab, var(--fw) 18%, var(--surface));text-decoration:line-through}.u2-board{border-radius:6px;display:grid;overflow:hidden}.u2-board.r8{grid-template-columns:repeat(8,1fr)}.u2-felt,.u2-wood{max-width:468px;box-shadow:0 14px 34px -20px color-mix(in oklab, var(--foreground) 70%, transparent);border-radius:14px;margin:0 auto;padding:10px}.u2-felt{--felt:oklch(48% .1 158);background:color-mix(in oklab, var(--felt) 70%, var(--foreground))}.u2-wood{--wood:oklch(52% .08 60);background:color-mix(in oklab, var(--wood) 80%, var(--foreground))}.u2-dot{background:color-mix(in oklab, var(--warning) 75%, transparent);width:26%;height:26%;box-shadow:0 0 0 3px color-mix(in oklab, var(--warning) 25%, transparent);border-radius:50%;animation:1.6s ease-in-out infinite u2-breathe}@keyframes u2-breathe{50%{transform:scale(1.25)}}.u2-rsq{aspect-ratio:1;background:radial-gradient(circle at 40% 35%, oklch(60% .12 158), var(--felt));cursor:pointer;perspective:300px;border:1px solid oklch(30% .06 158/.55);border-top:0;border-left:0;place-items:center;padding:0;display:grid}.u2-rsq[disabled]{cursor:default}.u2-rsq:not([disabled]):hover{background:oklch(62% .13 158)}.u2-rsq.last{box-shadow:inset 0 0 0 3px var(--warning)}.u2-rsq:focus-visible{outline:3px solid var(--warning);outline-offset:-3px}.u2-disc{border-radius:50%;width:80%;height:80%;box-shadow:0 3px 5px oklch(10% 0 0/.45)}.u2-disc.b{background:radial-gradient(circle at 35% 30%,oklch(45% .01 250),oklch(14% .01 250) 70%)}.u2-disc.w{background:radial-gradient(circle at 35% 30%,oklch(100% 0 0),oklch(86% .01 250) 75%)}.u2-disc.flip{animation:.45s ease-in-out u2-flip}.u2-disc.drop{animation:.3s ease-out u2-pop}@keyframes u2-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)scale(1.08)}to{transform:rotateY(0)}}.u2-csq{aspect-ratio:1;cursor:pointer;border:0;place-items:center;padding:0;display:grid}.u2-csq.light{cursor:default;background:oklch(90% .04 80)}.u2-csq.dark{background:oklch(42% .07 50)}.u2-csq.last{background:color-mix(in oklab, oklch(42% .07 50) 70%, var(--warning))}.u2-csq.mov .u2-piece{box-shadow:0 0 0 3px var(--warning), 0 4px 6px oklch(10% 0 0/.5)}.u2-csq.sel{box-shadow:inset 0 0 0 3px var(--primary)}.u2-csq.tgt{box-shadow:inset 0 0 0 3px var(--success)}.u2-csq:focus-visible{outline:3px solid var(--warning);outline-offset:-3px}.u2-piece{color:oklch(90% .12 90);border-radius:50%;place-items:center;width:78%;height:78%;font-size:clamp(.8rem,3.6vw,1.2rem);display:grid;box-shadow:0 4px 6px oklch(10% 0 0/.5),inset 0 -3px oklch(0% 0 0/.25)}.u2-piece.r{background:radial-gradient(circle at 35% 30%,oklch(68% .19 25),oklch(45% .17 25) 75%)}.u2-piece.k{background:radial-gradient(circle at 35% 30%,oklch(42% .01 250),oklch(16% .01 250) 75%)}.u2-piece.king{outline-offset:-6px;outline:2px dashed oklch(85% .13 90)}.u2-piece.land{animation:.3s ease-out u2-pop}.u2-piece.gone{animation:.5s ease-in forwards u2-vanish}@keyframes u2-vanish{to{opacity:0;transform:scale(0)rotate(90deg)}}@media (prefers-reduced-motion:reduce){.u2-dot,.u2-disc,.u2-piece,.u2-wc,.u2-sc>span,.u2-result{animation:none!important}.u2-piece.gone{display:none}}
