html[data-page=game] body{--page-space:24px;max-width:1248px}html[data-page=game] body header{max-width:none}html[data-page=game] main{max-width:520px;padding:var(--s6) 0 var(--s7);margin:0 auto}html[data-page=game] main h1{font-size:var(--text-2xl);margin-bottom:var(--s5)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sudoku{touch-action:manipulation;width:100%;color:var(--foreground)}.sudoku [hidden]{display:none!important}.sudoku button,.sudoku select{font:inherit;color:var(--foreground);min-height:var(--control-min);background:0 0;border:0}.sudoku button{touch-action:manipulation}.game-topbar{align-items:center;gap:var(--s2);margin-bottom:var(--s5);display:flex}.game-topbar>button,.game-back,.game-clock button{min-width:var(--control-min);padding:0 var(--s2);justify-content:center;align-items:center;display:inline-flex}.game-back{min-height:var(--control-min);border-radius:var(--radius)}.difficulty{min-width:0;position:relative}.difficulty>svg{pointer-events:none;position:absolute;top:50%;right:0;transform:translateY(-50%)}.difficulty select{appearance:none;max-width:100%;padding:0 22px 0 var(--s1);font-size:var(--text-sm);cursor:pointer}.game-topbar>[data-action=new]{font-size:var(--text-sm);gap:4px}.game-clock{font:var(--text-sm) var(--font-number);font-variant-numeric:tabular-nums;align-items:center;margin-left:auto;display:flex}.game-clock [data-time-stat]{text-align:center;min-width:42px}.game-clock button span{display:inline-flex}.stats{gap:var(--s5);margin:0 0 var(--s4);color:var(--muted-foreground);font-size:var(--text-xs);display:flex}.stats div{gap:var(--s1);display:flex}.stats dd{font-variant-numeric:tabular-nums;margin:0}.board-area{display:grid}.board-area>*{grid-area:1/1}.board{aspect-ratio:1;border:var(--board-group-width) solid var(--board-line-strong);background:var(--card);grid-template-rows:repeat(9,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.board [role=row]{grid-template-columns:repeat(9,minmax(0,1fr));min-height:0;display:grid}.board .cell{border:0;border-right:var(--board-line-width) solid var(--board-line);border-bottom:var(--board-line-width) solid var(--board-line);min-width:0;min-height:0;font:400 clamp(24px, 6.7vw, 36px)/1 var(--font-number);color:var(--cell-entry);background:var(--card);transition:background-color var(--duration-select) var(--ease-standard);border-radius:0;padding:0;position:relative}.board .cell:nth-child(3n){border-right:var(--board-group-width) solid var(--board-line-strong)}.board .cell:last-child{border-right:0}.board [role=row]:nth-child(3n) .cell{border-bottom:var(--board-group-width) solid var(--board-line-strong)}.board [role=row]:last-child .cell{border-bottom:0}.board .given{color:var(--cell-given);font-weight:600}.board .peer{background:var(--cell-peer)}.board .same{background:var(--cell-same)}.board .selected{background:var(--cell-selected);box-shadow:none}.board .selected:before{content:"";border:var(--focus-width) solid var(--ring);border-radius:var(--radius);pointer-events:none;z-index:1;position:absolute;inset:3px}.board .revealed{color:var(--cell-revealed-foreground);background:var(--cell-revealed)}.board .revealed:after{content:"✦";font:10px/1 sans-serif;position:absolute;top:2px;right:2px}.board .conflict{color:var(--cell-conflict-foreground);background:var(--cell-conflict);text-underline-offset:.15em;transition-duration:var(--duration-feedback);text-decoration:underline}.board .cell:focus-visible{outline:0}.board .cell:focus-visible:before{border-style:dashed}.cell>.digit,.cell>.notes{animation:digit-in var(--duration-place) var(--ease-out)}.cell.revealed>.digit{animation-duration:var(--duration-feedback)}@keyframes digit-in{0%{opacity:0}to{opacity:1}}.board[data-changing]{animation:digit-in var(--duration-scene) var(--ease-out)}.notes{font:400 clamp(9px, 2.5vw, 13px)/1 var(--font-number);color:var(--note);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);align-items:center;display:grid;position:absolute;inset:2px}.pause-cover{aspect-ratio:1;background:var(--card);border:var(--board-group-width) solid var(--board-line-strong);justify-content:center;align-items:center;gap:var(--s4);text-align:center;width:100%;padding:var(--s5);flex-direction:column;display:flex}.sudoku .primary,.switch-actions button[value=switch]{color:var(--primary-foreground);background:var(--primary);border:1px solid var(--primary);padding:var(--s2) var(--s5)}.sudoku .pause-cover .primary{border-radius:var(--chip-radius);min-height:48px;padding:0 var(--s6)}.sudoku .primary:focus-visible,.switch-actions button[value=switch]:focus-visible{box-shadow:inset 0 0 0 var(--focus-width) var(--primary-foreground)}.tools{gap:var(--s2);margin-top:var(--s4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.tools button{min-width:0;padding:var(--s2) 0;justify-content:center;align-items:center;gap:var(--s1);font-size:var(--text-xs);border:1px solid #0000;flex-direction:column;display:flex;position:relative}.tools [aria-pressed=true]{border-color:var(--ring);background:var(--cell-selected)}.note-on{font-size:10px;position:absolute;top:2px;right:3px}.numbers{gap:var(--s2);margin-top:var(--s4);padding-bottom:var(--s2);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.numbers button{min-height:var(--key-height);font:400 28px/1 var(--font-number);color:var(--cell-entry);background:var(--card);border:1px solid var(--border);padding:0}.sudoku button:disabled{color:var(--disabled-foreground);background:var(--disabled-background);cursor:default}.game-status{min-height:3.2em;margin:var(--s4) 0 0;color:var(--muted-foreground);font-size:var(--text-sm);line-height:1.6}.sudoku dialog{box-sizing:border-box;width:min(420px,100% - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:var(--s5);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);margin:auto;overflow:auto}.sudoku dialog[open]{animation:digit-in var(--duration-panel) var(--ease-out)}.sudoku dialog::backdrop{background:var(--overlay)}.sudoku dialog h2{font-size:var(--text-xl);margin:0}.sudoku dialog h3{font-size:var(--text-lg)}.sudoku dialog p{font-size:var(--text-sm);line-height:1.8}.sudoku dialog .panel-heading{margin-bottom:var(--s4);justify-content:space-between;align-items:center;display:flex}.sudoku dialog [data-more-close]{min-width:var(--control-min);font-size:var(--text-xl)}.menu-rows{flex-direction:column;display:flex}.menu-rows>button,.menu-rows>a{text-align:left;min-height:48px;padding:var(--s2) var(--s3);font-size:var(--text-sm);border-radius:var(--radius);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.panel-back{margin-bottom:var(--s3)}.switch-actions{gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap;display:flex}.switch-actions button{padding:var(--s2) var(--s4);border:1px solid var(--border)}@media (hover:hover){.sudoku button:not(:disabled):not(.cell):hover,.game-back:hover,.menu-rows a:hover{background:var(--hover)}.sudoku .primary:hover,.switch-actions button[value=switch]:hover{background:var(--primary-hover)}}.sudoku button:not(:disabled):not(.cell):active{background:var(--pressed)}.sudoku .primary:active,.switch-actions button[value=switch]:active{background:var(--primary-pressed)}@media (width<=600px),(height<=500px){html[data-page=game]{overscroll-behavior:none;height:100%;overflow:hidden}html[data-page=game] body{box-sizing:border-box;height:100%;min-height:0;padding:calc(8px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));overscroll-behavior:none;display:block;overflow:hidden}html[data-page=game] body>header,html[data-page=game] body>footer,html[data-page=game] main>h1{display:none}html[data-page=game] main{max-width:480px;height:100%;min-height:0;margin:0 auto;padding:0;container-type:size}.sudoku{--game-control-height:clamp(48px, calc((100cqh - 100cqw - 110px) / 3), 64px);grid-template-columns:minmax(0,1fr);grid-template-rows:44px 18px minmax(0, 100cqw) minmax(0, 1fr) var(--game-control-height) calc(2 * var(--game-control-height) + 8px);row-gap:8px;height:100%;min-height:0;display:grid}.game-topbar{grid-row:1;gap:0;min-width:0;margin:0}.game-clock{gap:0}.game-state{grid-row:2;align-items:center;gap:12px;min-width:0;height:18px;display:flex}.stats{flex-shrink:0;gap:16px;margin:0;line-height:18px}.game-status{min-width:0;min-height:0;font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin:0 0 0 auto;line-height:18px;overflow:hidden}.board-area{grid-row:3;min-width:0;min-height:0;container-type:size}.board-area>.board,.board-area>.pause-cover{place-self:start center;width:min(100cqw,100cqh);height:min(100cqw,100cqh)}.board .cell{font-size:clamp(16px,min(7cqw,7cqh),36px)}.notes{font-size:clamp(6px,min(2.7cqw,2.7cqh),13px)}.tools{grid-row:5;gap:4px;min-height:0;margin:0}.tools button{gap:2px;min-height:48px;padding:4px 0}.numbers{grid-row:6;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;min-height:0;margin:0;padding:0}.numbers button{grid-column:span 2;min-height:48px}.numbers button:nth-child(6){grid-column:2/span 2}.sudoku dialog.more-dialog{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100%;min-height:min(420px,100dvh - 32px);padding-bottom:max(var(--s5), env(safe-area-inset-bottom,0px));border-width:1px 0 0;margin:auto 0 0}.more-dialog .menu-rows>button,.more-dialog .menu-rows>a{min-height:60px}}html[data-page=game]{--control-radius:14px;--chip-radius:999px;--control-shadow:0 1px 0 var(--border), 0 1px 3px color-mix(in srgb, var(--foreground) 8%, transparent)}html[data-page=game][data-mode=dark]{--control-shadow:inset 0 1px 0 var(--border)}@media (prefers-color-scheme:dark){html[data-page=game]:not([data-mode]){--control-shadow:inset 0 1px 0 var(--border)}}@media (width<=600px) and (height>=501px){html[data-page=game]{--game-bottom-space:28px;--game-topbar-height:44px;--game-state-height:18px;--game-board-gap:16px;--game-tools-min:56px;--game-tools-max:60px;--game-numbers-min:112px;--game-numbers-max:152px;--game-chip-height:40px;--game-chip-padding:14px;--game-topbar-gap:8px;--game-timer-text:15px;--game-pause-size:40px;--game-pause-icon:18px}html[data-page=game] body{padding-bottom:calc(var(--game-bottom-space) + env(safe-area-inset-bottom,0px))}.sudoku{grid-template-rows:var(--game-topbar-height) minmax(0, 1fr) var(--game-state-height) minmax(0, 100cqw) minmax(var(--game-board-gap), 2fr) minmax(var(--game-tools-min), var(--game-tools-max)) minmax(var(--game-numbers-min), var(--game-numbers-max))}.game-topbar{gap:var(--game-topbar-gap);align-items:center}.game-topbar>:is(a,button,.difficulty),.game-clock{height:var(--game-chip-height);min-height:var(--game-chip-height);border-radius:var(--chip-radius);background:var(--card);box-shadow:var(--control-shadow);border:0}.game-topbar>:is(a,button){width:var(--game-chip-height);min-width:var(--game-chip-height);flex-shrink:0;gap:0;padding:0}.game-topbar>:is(a,button,.difficulty),.game-clock button{isolation:isolate;position:relative}.game-topbar>:is(a,button,.difficulty):before,.game-clock button:before{content:"";inset:calc((var(--game-chip-height) - var(--control-min)) / 2);z-index:-1;border-radius:inherit;position:absolute}.difficulty>svg{display:none}.difficulty select{height:var(--game-chip-height);min-height:var(--game-chip-height);padding:0 var(--game-chip-padding);text-align:center;text-align-last:center}.difficulty select:focus-visible{outline:none}@media (pointer:fine){.difficulty:has(select:focus-visible){outline:var(--focus-width) solid var(--ring);outline-offset:2px}}.new-game-label{display:none}.game-clock{padding-left:var(--game-chip-padding);font-family:inherit;font-size:var(--game-timer-text);font-variant-numeric:tabular-nums}.game-clock:has([data-time-stat][hidden]){padding-left:0}.game-clock button{width:var(--game-pause-size);height:var(--game-pause-size);min-width:var(--game-pause-size);min-height:var(--game-pause-size);border-radius:var(--chip-radius);padding:0}.game-clock button span{width:var(--game-pause-size);height:var(--game-pause-size);justify-content:center;align-items:center}.game-clock .lucide{width:var(--game-pause-icon);height:var(--game-pause-icon)}.sudoku .game-clock button:not(:disabled):hover{background:0 0}.game-topbar>:is(a,button,.difficulty):active,.game-clock:has(button:active),.sudoku .game-clock button:not(:disabled):active{background:var(--pressed)}.game-state{grid-row:3}.stats{font-family:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.stats dt{color:var(--muted-foreground)}.stats dd{color:var(--foreground)}.board-area{grid-row:4}.tools{grid-row:6;gap:8px}.numbers{grid-row:7}.tools button,.numbers button{border-radius:var(--control-radius);background:var(--card);box-shadow:var(--control-shadow);border:0}.tools [aria-pressed=true]{background:var(--cell-selected);box-shadow:inset 0 0 0 var(--focus-width) var(--ring)}.tools button:disabled{box-shadow:none;color:var(--muted-foreground);opacity:.45;background:0 0;border-color:#0000}.tools button:not(:disabled):active,.numbers button:not(:disabled):active,.menu-rows>a:active{background:var(--pressed)}@media (hover:hover){.difficulty:hover{background:var(--hover)}}}@media (width>=601px) and (height<=500px){html[data-page=game] main{max-width:800px}.sudoku{--game-control-height:clamp(48px, calc((100cqh - 102px) / 3), 64px);grid-template-columns:minmax(0,1fr) minmax(260px,1fr);grid-template-rows:44px 18px minmax(0, 1fr) var(--game-control-height) calc(2 * var(--game-control-height) + 8px);column-gap:16px}.game-topbar{grid-column:1/-1}.game-state{grid-area:2/2}.board-area{grid-area:2/1/6}.tools{grid-area:4/2}.numbers{grid-area:5/2}}.completion-records{font-size:var(--text-xs);white-space:nowrap;min-height:var(--control-min);align-items:center;display:inline-flex}
