.game-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin:10px 0 12px}.game-head h1{font-size:1.9rem;margin:0}.play{display:grid;gap:18px;align-items:start}@media(min-width:900px){.play{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}}.board-wrap{overflow:auto;max-width:100%;padding:2px;-webkit-overflow-scrolling:touch}.board-host{width:100%;display:flex;justify-content:center}.board{display:grid;width:max-content;background:var(--surface);border:3px solid var(--line-strong);border-radius:6px;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-shadow:var(--shadow)}.board-wrap{padding:4px}.board .c{position:relative;width:var(--cell);height:var(--cell);display:grid;place-items:center;border-right:1px solid var(--grid-thin);border-bottom:1px solid var(--grid-thin);cursor:pointer;background:var(--surface);line-height:1;font-weight:700;color:var(--entry);font-variant-numeric:lining-nums tabular-nums;transition:background-color .12s ease}.board{--grid-thin: var(--line-mid)}html[data-theme=dark] .board{--grid-thin: #3A4558}.board .c .v{display:inline-block}.board .c.given{color:var(--given);font-family:var(--serif);font-weight:600}.board .c.given .v{transform:translateY(-.02em)}@keyframes placeIn{0%{opacity:.2;transform:scale(.82)}}.board .c.sel .v:not(:empty){animation:placeIn .16s ease-out}.board .c.br{border-right:3px solid var(--line-strong)}.board .c.bb{border-bottom:3px solid var(--line-strong)}.board .c.diag{background:color-mix(in srgb,var(--primary-soft) 55%,var(--surface))}.board .c.rel{background:var(--related)}.board .c.same{background:var(--same)}.board .c.sel{background:var(--select);color:#14213d;box-shadow:inset 0 0 0 3px var(--line-strong);z-index:2}html[data-theme=dark] .board .c.sel{color:#11151c;box-shadow:inset 0 0 0 3px #11151c}.board .c.hint{box-shadow:inset 0 0 0 4px var(--primary);animation:pulse 1.4s ease-in-out 3}@keyframes pulse{50%{box-shadow:inset 0 0 0 7px var(--primary)}}.board .c.wrong{background:var(--error-soft);color:var(--error);text-decoration:underline wavy var(--error) 2px;text-underline-offset:4px}.board .c.wrong:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 calc(var(--cell) * .28) calc(var(--cell) * .28) 0;border-color:transparent var(--error) transparent transparent}.board .c .v{pointer-events:none}.board .c .n{position:absolute;inset:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.board .c .n i{font-style:normal;font-size:.42em;font-weight:700;color:var(--note);display:grid;place-items:center}.board .c .lbl{position:absolute;top:2px;left:3px;font-family:var(--sans);font-size:max(11px,.32em);font-weight:700;color:var(--text);background:var(--surface);padding:0 2px;line-height:1.1;border-radius:3px;z-index:1;pointer-events:none}.board .c.sel .lbl{background:var(--select);color:#14213d}.board .c.cage:before{content:"";position:absolute;inset:-1px;border:0 dashed var(--muted);pointer-events:none}.board .c.kt:before{top:4px;border-top-width:2px}.board .c.kb:before{bottom:4px;border-bottom-width:2px}.board .c.kl:before{left:4px;border-left-width:2px}.board .c.kr2:before{right:4px;border-right-width:2px}.g-killer-sudoku .c .lbl{top:5px;left:5px}.board .sign{display:grid;place-items:center;font-weight:700;color:var(--text);min-height:var(--gap);min-width:var(--gap);font-size:.9em;background:var(--surface)}.g-futoshiki.board{border-width:0;background:transparent;gap:0}.g-futoshiki .c{border:2px solid var(--line-strong)!important;border-radius:8px}.board .c.block{background:#2a3550;cursor:default;color:#fff}html[data-theme=contrast] .board .c.block{background:#000}.board .c.block:has(span){background:linear-gradient(to top right,#2a3550 calc(50% - 1px),#c59b3c 50%,#2a3550 calc(50% + 1px))}.board .c.block span{position:absolute;font-size:.55em;font-weight:700;color:#fff}.board .c.block .kr{top:8%;right:10%}.board .c.block .kd{bottom:8%;left:10%}.board .clue{background:var(--surface-2);color:var(--text);font-weight:700;display:flex;gap:.35em;font-size:.95em}.board .clue.col{flex-direction:column;justify-content:flex-end;align-items:center;padding:4px 0;border-right:1px solid var(--line);border-bottom:3px solid var(--line-strong)}.board .clue.row{justify-content:flex-end;align-items:center;padding:0 6px;border-right:3px solid var(--line-strong);border-bottom:1px solid var(--line);height:var(--cell)}.board .clue.done{color:var(--muted);text-decoration:line-through}.board .clue.corner{background:var(--surface);border-right:3px solid var(--line-strong);border-bottom:3px solid var(--line-strong)}.board .clue.col.t5,.board .c.t5{border-right:2px solid var(--line-strong)}.board .clue.row.b5,.board .c.b5{border-bottom:2px solid var(--line-strong)}.g-nonograms .c.fill{background:var(--text)}.g-nonograms .c.fill.sel{background:var(--text);box-shadow:inset 0 0 0 4px var(--select)}.g-nonograms .c.cross .v{color:var(--muted);font-size:.9em}.g-minesweeper .c{background:var(--surface-2);box-shadow:inset 2px 2px #ffffff8c,inset -2px -2px #0000001f}.g-minesweeper .c.open{background:var(--surface);box-shadow:none}.g-minesweeper .c.sel{box-shadow:inset 0 0 0 3px var(--line-strong);background:var(--select)}.g-minesweeper .c.boom{background:var(--error)}.g-minesweeper .v[data-n="1"]{color:#1d5c8c}.g-minesweeper .v[data-n="2"]{color:#1e6b3a}.g-minesweeper .v[data-n="3"]{color:#b42318}.g-minesweeper .v[data-n="4"]{color:#4b2a8c}.g-minesweeper .v[data-n="5"]{color:#7a3a00}.g-minesweeper .v[data-n="6"]{color:#0e6f75}html[data-theme=dark] .g-minesweeper .v[data-n="1"]{color:#8cc8f5}html[data-theme=dark] .g-minesweeper .v[data-n="2"]{color:#6fd39a}html[data-theme=dark] .g-minesweeper .v[data-n="3"]{color:#f97066}html[data-theme=dark] .g-minesweeper .v[data-n="4"]{color:#c4a7ff}html[data-theme=dark] .g-minesweeper .v[data-n="5"]{color:#f5b97a}html[data-theme=dark] .g-minesweeper .v[data-n="6"]{color:#7fd8de}html[data-theme=dark] .g-minesweeper .c{box-shadow:inset 2px 2px #ffffff14,inset -2px -2px #0006}.board .c.peer{box-shadow:inset 0 0 0 3px var(--peer)}.board .c.peer:before{content:attr(data-peer);position:absolute;background:var(--peer);color:#fff;font-size:11px;padding:1px 5px;border-radius:4px;white-space:nowrap;z-index:5;border:0;inset:auto}.side{display:flex;flex-direction:column;gap:14px}.timer-row{display:flex;gap:12px;align-items:center;min-height:1.6em;font-weight:700;flex-wrap:wrap}.status-line{color:var(--text)}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.ctl{flex-direction:column;gap:2px;min-height:66px;padding:6px;font-size:.95rem}.ctl span[aria-hidden]{font-size:1.3rem;line-height:1}.pad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pad[data-n="3"],.pad[data-n="5"],.pad[data-n="6"]{grid-template-columns:repeat(3,1fr)}.key{min-height:64px;border-radius:var(--radius-sm);border:1.5px solid var(--line-mid);background:var(--surface);color:var(--text);font:inherit;font-family:var(--serif);font-size:1.6rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 1px 0 var(--line),0 1px 2px #14213d0f;transition:background-color .12s ease,border-color .12s ease}.key:hover{border-color:var(--line-strong)}.key:hover{background:var(--primary-soft)}.key:active{transform:translateY(1px)}.key.erase,.key.tool{font-size:1.05rem;font-family:var(--sans);font-weight:700}.key.full{opacity:.45}.key[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.notes-on .key[data-v]:not(.erase){border-style:dashed;color:var(--entry)}.sw.fill{width:1em;height:1em;background:currentColor;border-radius:3px;display:inline-block}.hint-panel{background:var(--gold-soft);border:1px solid var(--gold);border-left:4px solid var(--gold);border-radius:var(--radius-sm);padding:16px 18px}.hint-panel p{margin:0 0 10px}.under-play{margin-top:26px;display:grid;gap:18px}.level-picker{display:flex;gap:8px;flex-wrap:wrap}.game-layout{display:grid;gap:24px}@media(min-width:1240px){.game-layout.with-rail{grid-template-columns:minmax(0,1fr) 300px}}.solved-badge{display:none}.solved .solved-badge{display:inline-flex}.celebrate{font-size:3rem;text-align:center;animation:pop .6s ease-out}@keyframes pop{0%{transform:scale(.4);opacity:0}}.zoom{display:inline-flex;gap:6px}.howto-demo{display:grid;gap:12px}.howto-demo .board-host{justify-content:flex-start}.howto-demo .cap{min-height:3.2em;font-size:1.05rem;background:var(--surface);border-radius:10px;padding:10px 12px;border:1px solid var(--line)}.mini{display:grid;gap:1px;background:var(--line-mid);border:2px solid var(--line-strong);width:96px;height:96px;border-radius:4px;overflow:hidden}.mini i{background:var(--surface)}.mini i.f{background:var(--primary)}.mini i.g{background:var(--text)}@media print{body{background:#fff;color:#000}.print-sheet{display:grid;gap:18px}.print-page{break-after:page;display:grid;gap:14px}.print-page .board{border-color:#000}.board .c{color:#000!important;background:#fff!important}}.scorebar{display:flex;flex-wrap:wrap;align-items:stretch;margin:0 0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.sb-item{flex:1 1 140px;display:flex;flex-direction:column;gap:0;padding:8px 16px;min-height:56px;justify-content:center}.sb-item+.sb-item{border-left:1px solid var(--line)}.sb-k{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.sb-v{font-family:var(--serif);font-weight:600;font-size:1.3rem;font-variant-numeric:tabular-nums lining-nums;line-height:1.25;overflow-wrap:anywhere}.sb-top .sb-v{font-size:1.05rem;font-family:var(--sans);font-weight:700}@media(max-width:520px){.sb-item{flex:1 1 30%;padding:6px 10px}.sb-top{flex-basis:100%;border-left:0!important;border-top:1px solid var(--line);flex-direction:row;gap:8px;align-items:baseline;min-height:44px}.sb-v{font-size:1.15rem}}.has-scorebar .play .timer{display:none!important}#dlg-solved{max-width:min(620px,94vw)}.results-score{margin:6px 0 18px}.res-big{text-align:center;margin:4px 0 6px}.res-num{font-family:var(--serif);font-weight:600;font-size:3rem;line-height:1;color:var(--text);font-variant-numeric:lining-nums}.res-unit{color:var(--muted);font-weight:700}.res-note{text-align:center;margin:0 0 12px}.breakdown{width:100%;border-collapse:collapse;margin:8px 0 14px;font-variant-numeric:tabular-nums}.breakdown th,.breakdown td{padding:9px 4px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.breakdown td.num{text-align:right;font-weight:700;white-space:nowrap}.breakdown tr.total th,.breakdown tr.total td{border-bottom:0;border-top:2px solid var(--line-strong);font-weight:700;font-size:1.1rem;padding-top:12px}.res-h{font-size:1.15rem;margin:18px 0 4px}.res-more{text-align:center;margin:12px 0 0}.signin-nudge{background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px}.signin-nudge p{margin:0 0 10px}.celebrate{font-size:2.6rem}.level-picker .btn{min-width:0}@media print{.board{box-shadow:none!important}.scorebar,.top-players{display:none!important}}.g-hitori .c{color:var(--given);font-family:var(--serif);font-weight:600}.g-hitori .c.fill{background:var(--text);color:var(--bg)}.g-hitori .c.fill .v{opacity:.55;text-decoration:line-through;text-decoration-thickness:2px}.g-hitori .c.fill.sel{box-shadow:inset 0 0 0 4px var(--select);color:var(--bg)}.g-hitori .c.keep .v{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;border:2.5px solid var(--entry)}.g-hitori .c.same:not(.fill){background:var(--same)}.g-nurikabe .c.given{background:var(--surface)}.g-nurikabe .c.fill{background:var(--primary)}html[data-theme=dark] .g-nurikabe .c.fill{background:#5b6f94}html[data-theme=contrast] .g-hitori .c.fill,html[data-theme=contrast] .g-nurikabe .c.fill{background:#000;color:#fff}.g-nurikabe .c.fill.sel{box-shadow:inset 0 0 0 4px var(--select)}.g-nurikabe .c.dot .v{color:var(--entry);font-size:1.3em}.g-wordoku .c .v{font-family:var(--serif);letter-spacing:0}.game-word{margin:0 0 12px;font-size:1.05rem}.game-word strong{font-family:var(--serif);letter-spacing:.18em;font-size:1.2rem;color:var(--accent)}html[data-theme=dark] .game-word strong{color:var(--gold)}
