dialog.sudoku-stats-dialog{max-height:min(48rem,calc(100dvh - 1rem));max-width:min(46rem,calc(100vw - 1rem));overflow:hidden}.sudoku-stats-dialog-inner{display:flex;flex-direction:column;max-height:min(48rem,calc(100dvh - 1rem));min-height:0}.sudoku-stats-head{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;flex:0 0 auto;gap:.75rem;justify-content:space-between;padding:1rem 1.1rem .9rem}.sudoku-stats-head h2{font-size:clamp(1.15rem,4vw,1.45rem);line-height:1.15;margin:.12rem 0 0}.sudoku-stats-head p{color:var(--muted);font-size:.72rem;line-height:1.35;margin:.24rem 0 0}.sudoku-stats-head .toolbar-button{flex:0 0 auto}.sudoku-stats-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.85rem 1.1rem max(1.1rem,env(safe-area-inset-bottom))}.sudoku-stats-summary{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.sudoku-stats-summary>div{background:color-mix(in srgb,var(--soft) 65%,var(--card));border:1px solid var(--line);border-radius:.7rem;display:grid;gap:.05rem;min-width:0;padding:.55rem .65rem}.sudoku-stats-summary span,.sudoku-panel-heading span,.sudoku-stats-next span{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.sudoku-stats-summary b{font-size:clamp(1rem,4vw,1.35rem);font-variant-numeric:tabular-nums;line-height:1.1;overflow-wrap:anywhere}.sudoku-stats-summary small{color:var(--muted);font-size:.57rem;line-height:1.2}.sudoku-stats-facts{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.67rem;gap:.25rem 0;margin:.55rem 0 .75rem}.sudoku-stats-facts span:not(:last-child):after{color:var(--line);content:"·";margin:0 .42rem}.sudoku-stats-tabs{border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);margin:0 -.2rem .8rem}.sudoku-stats-tabs button{border-bottom:2px solid transparent;color:var(--muted);font-size:.72rem;font-weight:800;margin-bottom:-1px;min-height:2.35rem;padding:.35rem .45rem}.sudoku-stats-tabs button:hover{color:var(--ink)}.sudoku-stats-tabs button[aria-selected=true]{border-bottom-color:var(--lp-accent-deep);color:var(--lp-accent-deep)}.sudoku-stats-tabs button:focus-visible{border-radius:.25rem;box-shadow:inset 0 0 0 2px var(--focus);outline:none}.sudoku-stats-panel{display:block}.sudoku-stats-panel[hidden]{display:none}.sudoku-panel-heading{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.sudoku-panel-heading h3{font-size:.95rem;line-height:1.2;margin:.05rem 0 0}.sudoku-panel-heading>small{color:var(--muted);flex:0 0 auto;font-size:.62rem;padding-bottom:.05rem;text-align:right}.sudoku-chart-frame{background:color-mix(in srgb,var(--soft) 52%,var(--card));border:1px solid var(--line);border-radius:.75rem;overflow:hidden;padding:.25rem}.sudoku-chart-frame svg{display:block;height:auto;overflow:visible;width:100%}.sudoku-chart-plot{fill:var(--card);stroke:var(--line)}.sudoku-chart-gridline{stroke:color-mix(in srgb,var(--line) 72%,transparent);stroke-width:1}.sudoku-chart-gridline.is-x{stroke-dasharray:2 4}.sudoku-chart-tick,.sudoku-chart-axis-title,.sudoku-chart-note,.sudoku-number-label,.sudoku-number-status{fill:var(--muted);font-family:inherit;font-size:10px}.sudoku-chart-tick.is-y{text-anchor:end}.sudoku-chart-tick.is-x,.sudoku-chart-axis-title.is-x{text-anchor:middle}.sudoku-chart-axis-title{fill:var(--ink);font-size:10px;font-weight:750}.sudoku-chart-note{fill:var(--lp-accent-deep);font-size:9px;font-weight:800;text-transform:uppercase}.sudoku-chart-finish{fill:color-mix(in srgb,var(--lp-accent) 8%,transparent)}.sudoku-progress-area{fill:color-mix(in srgb,var(--lp-accent) 17%,transparent)}.sudoku-progress-line{fill:none;stroke:var(--lp-accent-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.sudoku-progress-mistake circle{fill:var(--card);stroke:var(--lp-danger);stroke-width:1.5}.sudoku-progress-mistake path,.sudoku-number-mistake path{fill:none;stroke:var(--lp-danger);stroke-linecap:round;stroke-width:2}.sudoku-progress-hint path,.sudoku-number-hint{fill:var(--win);stroke:var(--card);stroke-width:1.5}.sudoku-chart-legend{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.61rem;gap:.3rem .75rem;justify-content:flex-end;margin-top:.35rem}.sudoku-chart-legend .is-progress,.sudoku-chart-legend .is-entry{color:var(--lp-accent-deep)}.sudoku-chart-legend .is-hint{color:var(--win)}.sudoku-chart-legend .is-mistake{color:var(--lp-danger)}.sudoku-stats-insight{background:color-mix(in srgb,var(--lp-accent) 9%,var(--card));border-left:3px solid var(--lp-accent-deep);border-radius:.15rem .55rem .55rem .15rem;font-size:.76rem;line-height:1.42;margin:.65rem 0;padding:.55rem .65rem}.sudoku-phase-list{display:grid;gap:.35rem}.sudoku-phase-row{align-items:center;display:grid;gap:.5rem;grid-template-columns:5.9rem minmax(2rem,1fr) 4.5rem}.sudoku-phase-row>span{color:var(--muted);font-size:.63rem}.sudoku-phase-row>i{background:var(--soft);border-radius:999px;display:block;height:.42rem;overflow:hidden;position:relative}.sudoku-phase-row>i:after{background:var(--lp-accent);border-radius:inherit;content:"";display:block;height:100%;width:var(--phase-width, 0%)}.sudoku-phase-row>b{font-size:.65rem;font-variant-numeric:tabular-nums;text-align:right}.sudoku-number-lane{stroke:color-mix(in srgb,var(--line) 75%,transparent);stroke-width:1}.sudoku-number-entry{fill:var(--lp-accent-deep);stroke:var(--card);stroke-width:1.5}.sudoku-number-label{fill:var(--ink);font-size:12px;font-weight:850}.sudoku-number-status{font-size:9px;text-anchor:end}.sudoku-mini-insights{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.65rem}.sudoku-mini-insights.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.sudoku-mini-insights>div{border-top:1px solid var(--line);display:grid;gap:.06rem;padding-top:.42rem}.sudoku-mini-insights span{color:var(--muted);font-size:.58rem}.sudoku-mini-insights b{font-size:.69rem;line-height:1.25}.sudoku-number-data{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.55rem}.sudoku-number-data summary{color:var(--muted);cursor:pointer;font-size:.66rem;font-weight:750}.sudoku-number-data-table{margin-top:.45rem;min-width:30rem}.sudoku-number-data[open]{overflow-x:auto}.sudoku-number-data-row{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);display:grid;font-size:.62rem;gap:.5rem;grid-template-columns:1.5rem 3rem repeat(3,minmax(4.2rem,1fr));padding:.3rem 0}.sudoku-number-data-row.is-head{border-top:0;color:var(--muted);font-size:.56rem;font-weight:800;text-transform:uppercase}.sudoku-number-data-row span{font-variant-numeric:tabular-nums}.sudoku-board-data .sudoku-number-data-table{min-width:24rem}.sudoku-board-data-row{grid-template-columns:3.5rem 3rem minmax(7rem,1fr) 4.5rem}.sudoku-order-wrap{margin:0 auto;max-width:25rem}.sudoku-order-grid{background:var(--ink);border:2px solid var(--ink);display:grid;grid-template-columns:repeat(var(--stats-size),minmax(0,1fr))}.sudoku-order-cell{aspect-ratio:1;background:var(--card);border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-right:1px solid color-mix(in srgb,var(--ink) 22%,transparent);display:grid;min-width:0;place-items:center;position:relative}.sudoku-order-cell.box-right{border-right:2px solid var(--ink)}.sudoku-order-cell.box-bottom{border-bottom:2px solid var(--ink)}.sudoku-order-cell.is-given{background:color-mix(in srgb,var(--soft) 75%,var(--card))}.sudoku-order-cell.is-placed{background:color-mix(in srgb,var(--lp-accent) var(--solve-heat),var(--card))}.sudoku-order-cell.is-hint{box-shadow:inset 0 0 0 2px var(--win)}.sudoku-order-cell.is-unreached{color:var(--muted);opacity:.48}.sudoku-order-cell b{font-size:clamp(.65rem,3.2vw,1.05rem);font-variant-numeric:tabular-nums}.sudoku-order-cell small{background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid color-mix(in srgb,var(--ink) 32%,transparent);border-radius:999px;color:var(--ink);font-size:clamp(.54rem,1.7vw,.66rem);font-variant-numeric:tabular-nums;font-weight:850;line-height:1;min-width:1rem;padding:.08rem .14rem;position:absolute;right:.16rem;text-align:center;top:.13rem}.sudoku-order-cell.is-hint small{border-color:var(--win);color:var(--ink)}.sudoku-order-grid:is([data-size="8"],[data-size="9"]) .sudoku-order-cell b{bottom:.12rem;font-size:.52rem;left:.18rem;line-height:1;position:absolute}.sudoku-order-grid:is([data-size="8"],[data-size="9"]) .sudoku-order-cell small{left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}.sudoku-order-key{align-items:center;color:var(--muted);display:grid;font-size:.57rem;gap:.35rem;grid-template-columns:auto minmax(4rem,1fr) auto;margin-top:.42rem}.sudoku-order-key i{background:linear-gradient(90deg,color-mix(in srgb,var(--lp-accent) 10%,var(--card)),color-mix(in srgb,var(--lp-accent) 57%,var(--card)));border:1px solid var(--line);border-radius:999px;height:.42rem}.sudoku-order-key em{font-style:normal;grid-column:1 / -1;text-align:right}.sudoku-stats-empty{margin:0 auto;max-width:34rem;padding:.5rem 0 .2rem;text-align:center}.sudoku-empty-chart{align-items:end;display:flex;gap:.3rem;height:3.5rem;justify-content:center;margin:0 auto .8rem;position:relative;width:7rem}.sudoku-empty-chart:after{border-top:2px dashed var(--lp-accent);content:"";left:.3rem;opacity:.75;position:absolute;right:.3rem;top:1.7rem;transform:rotate(-18deg)}.sudoku-empty-chart i{background:color-mix(in srgb,var(--lp-accent) 14%,var(--soft));border-radius:.2rem .2rem 0 0;display:block;width:.7rem}.sudoku-empty-chart i:nth-child(1){height:.7rem}.sudoku-empty-chart i:nth-child(2){height:1.2rem}.sudoku-empty-chart i:nth-child(3){height:1.9rem}.sudoku-empty-chart i:nth-child(4){height:2.8rem}.sudoku-empty-chart span{background:var(--card);border:2px solid var(--lp-accent-deep);border-radius:50%;height:.55rem;position:absolute;right:.05rem;top:.35rem;width:.55rem;z-index:2}.sudoku-stats-empty h3{font-size:1.05rem;margin:0}.sudoku-stats-empty>p{color:var(--muted);font-size:.78rem;line-height:1.48;margin:.35rem auto .8rem;max-width:30rem}.sudoku-stats-next{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.sudoku-stats-next>div{border:1px solid var(--line);border-radius:.7rem;display:grid;gap:.1rem;padding:.65rem}.sudoku-stats-next>div:only-child{grid-column:1 / -1}.sudoku-stats-next b{font-size:.78rem}.sudoku-stats-next small{color:var(--muted);font-size:.65rem;line-height:1.35}.sudoku-stats-empty-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:.85rem}.sudoku-stats-empty-actions .button{justify-content:center}@media(max-width:39.99rem){dialog.sudoku-stats-dialog{border-bottom:0;border-radius:1rem 1rem 0 0;margin:auto 0 0;max-height:calc(94dvh - env(safe-area-inset-top));max-width:none;width:100%}.sudoku-stats-dialog-inner{max-height:calc(94dvh - env(safe-area-inset-top))}.sudoku-stats-head{padding:.85rem .85rem .72rem}.sudoku-stats-content{padding:.7rem .75rem max(.9rem,env(safe-area-inset-bottom))}.sudoku-stats-summary{gap:.3rem}.sudoku-stats-summary>div{padding:.46rem .48rem}.sudoku-panel-heading{align-items:flex-start}.sudoku-panel-heading>small{max-width:7rem}.sudoku-mini-insights.is-three{grid-template-columns:1fr}.sudoku-result{max-width:38rem}.sudoku-result .result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.sudoku-result .result-actions>.button{justify-content:center}.sudoku-result .result-actions>.button:not(.secondary){grid-column:1 / -1}}@media(max-width:25rem){.sudoku-stats-summary small{font-size:.53rem}.sudoku-stats-next{grid-template-columns:1fr}.sudoku-phase-row{gap:.35rem;grid-template-columns:5.25rem minmax(1.5rem,1fr) 4rem}.sudoku-result .result-actions{grid-template-columns:1fr}.sudoku-result .result-actions>.button:not(.secondary){grid-column:auto}}@media(min-width:40rem){.sudoku-result{max-width:40rem}}.sudoku-app{--lp-accent: #5478c5;--lp-accent-deep: #3159a8;--lp-danger: #c84a42;max-width:54rem}.sudoku-config{flex-wrap:nowrap}.sudoku-config-button{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:.75rem;display:flex;flex:1;gap:.75rem;justify-content:space-between;min-height:2.7rem;min-width:0;padding:.38rem .55rem .38rem .7rem;text-align:left}.sudoku-config-button:hover{background:var(--soft)}.sudoku-config-button>span:first-child{display:grid;gap:.08rem;min-width:0}.sudoku-config-button small{color:var(--muted);font-size:.56rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sudoku-config-button b{align-items:center;display:flex;font-size:.78rem;gap:.3rem;line-height:1.15;min-width:0}.sudoku-config-button b i{color:var(--line);font-style:normal}.sudoku-config-change{align-items:center;color:var(--lp-accent-deep);display:inline-flex;flex-shrink:0;font-size:.68rem;font-weight:800;gap:.15rem}.sudoku-play{display:grid;gap:.35rem}.sudoku-board-wrap{position:relative}.sudoku-board{aspect-ratio:1;background:var(--ink);border:2px solid var(--ink);display:grid;grid-template-columns:repeat(var(--sudoku-size, 9),1fr);overflow:hidden}.sudoku-cell{aspect-ratio:1;background:var(--card);border-bottom:1px solid color-mix(in srgb,var(--ink) 23%,transparent);border-right:1px solid color-mix(in srgb,var(--ink) 23%,transparent);color:var(--lp-accent-deep);min-height:0;padding:0;position:relative}.sudoku-cell.is-row-end{border-right:0}.sudoku-cell.is-last-row{border-bottom:0}.sudoku-cell.box-right{border-right:2px solid var(--ink)}.sudoku-cell.box-bottom{border-bottom:2px solid var(--ink)}.sudoku-cell.is-given{background:color-mix(in srgb,var(--soft) 72%,var(--card));color:var(--ink)}.sudoku-cell.is-peer{background:color-mix(in srgb,var(--lp-accent) 7%,var(--card))}.sudoku-cell.is-same{background:color-mix(in srgb,var(--lp-accent) 14%,var(--card))}.sudoku-cell.is-selected{background:color-mix(in srgb,var(--lp-accent) 25%,var(--card));z-index:2}.sudoku-cell.is-wrong{background:color-mix(in srgb,var(--lp-danger) 14%,var(--card));color:var(--lp-danger)}.sudoku-cell.is-revealed:not(.is-wrong){color:var(--muted)}.sudoku-cell.is-hint{animation:sudoku-hint .7s ease}.sudoku-cell:focus-visible{box-shadow:inset 0 0 0 3px var(--focus);outline:none;z-index:4}.sudoku-value{align-items:center;display:flex;font-size:clamp(.86rem,4.2vw,1.65rem);font-variant-numeric:tabular-nums;height:100%;justify-content:center;line-height:1;width:100%}.sudoku-board[data-size="6"] .sudoku-value{font-size:clamp(1.1rem,6vw,2rem)}.sudoku-board[data-size="4"] .sudoku-value{font-size:clamp(1.35rem,9vw,2.6rem)}.sudoku-notes{display:grid;grid-template-columns:repeat(var(--sudoku-note-cols, 3),1fr);inset:0;pointer-events:none;position:absolute}.sudoku-notes i{align-items:center;color:var(--muted);display:flex;font-size:clamp(.38rem,1.6vw,.62rem);font-style:normal;justify-content:center;line-height:1}.sudoku-board[data-size="6"] .sudoku-notes i{font-size:clamp(.52rem,2.6vw,.8rem)}.sudoku-board[data-size="4"] .sudoku-notes i{font-size:clamp(.66rem,3.7vw,1rem)}.sudoku-cell.has-value .sudoku-notes{display:none}.sudoku-pause{align-items:center;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--card) 90%,transparent);display:flex;flex-direction:column;gap:.6rem;inset:0;justify-content:center;position:absolute;z-index:10}.sudoku-pause[hidden]{display:none}.sudoku-pause>svg{color:var(--lp-accent-deep)}.sudoku-input{display:flex;flex-direction:column}.sudoku-tools{display:grid;gap:.3rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:.35rem;order:2}.sudoku-tools button{align-items:center;border:1px solid var(--line);border-radius:.6rem;color:var(--muted);display:flex;flex-direction:column;font-size:.62rem;font-weight:750;gap:.12rem;justify-content:center;min-height:3rem;min-width:0;padding:.25rem .1rem}.sudoku-tools button:hover:not(:disabled){background:var(--soft);color:var(--ink)}.sudoku-tools button:disabled{cursor:not-allowed;opacity:.38}.sudoku-tools button[aria-pressed=true]{background:color-mix(in srgb,var(--lp-accent) 16%,var(--card));color:var(--lp-accent-deep)}.sudoku-tools small{color:inherit;font-size:.52rem}.sudoku-bulb{color:var(--lp-accent-deep)}.sudoku-number-pad{display:grid;gap:.22rem;grid-template-columns:repeat(var(--sudoku-size, 9),minmax(0,1fr));margin-top:.35rem;order:1}.sudoku-number-pad button{background:color-mix(in srgb,var(--lp-accent) 9%,var(--soft));border-radius:.48rem;color:var(--lp-accent-deep);font-size:clamp(1.05rem,5.2vw,1.45rem);font-variant-numeric:tabular-nums;min-height:2.75rem;min-width:0;padding:0}.sudoku-number-pad button:hover:not(:disabled){background:color-mix(in srgb,var(--lp-accent) 18%,var(--soft))}.sudoku-number-pad button:disabled{cursor:not-allowed;opacity:.35}.sudoku-result{margin-top:.75rem}.sudoku-result .word{letter-spacing:0;text-transform:none}.sudoku-app.is-failed .lp-live-dot i{background:var(--lp-danger)}.sudoku-app.is-failed .lp-live-dot{border-color:var(--lp-danger)}.sudoku-setting-group{border:0;margin:1rem 0 0;padding:0}.sudoku-setting-group legend{color:var(--muted);font-size:.63rem;font-weight:850;letter-spacing:.07em;margin-bottom:.4rem;text-transform:uppercase}.sudoku-size-options,.sudoku-difficulty-options{display:grid;gap:.4rem}.sudoku-size-options,.sudoku-difficulty-options{grid-template-columns:repeat(2,1fr)}.sudoku-size-options button,.sudoku-difficulty-options button{border:1px solid var(--line);border-radius:.7rem;display:grid;gap:.16rem;min-height:3.6rem;padding:.48rem;text-align:left}.sudoku-size-options button:hover,.sudoku-difficulty-options button:hover{background:var(--soft)}.sudoku-size-options button[aria-pressed=true],.sudoku-difficulty-options button[aria-pressed=true]{background:color-mix(in srgb,var(--lp-accent) 14%,var(--card));border-color:var(--lp-accent-deep);box-shadow:inset 0 0 0 1px var(--lp-accent-deep)}.sudoku-size-options b,.sudoku-difficulty-options b{font-size:.78rem}.sudoku-size-options small,.sudoku-difficulty-options small{color:var(--muted);font-size:.6rem;line-height:1.25}.sudoku-settings-actions{display:flex;gap:.45rem;justify-content:flex-end;margin-top:1rem}.sudoku-settings-actions .button{justify-content:center}.sudoku-toast{background:var(--ink);border-radius:9999px;bottom:1rem;color:var(--bg);font-size:.75rem;font-weight:750;left:50%;margin:0;opacity:0;padding:.45rem .8rem;pointer-events:none;position:fixed;transform:translate(-50%,.4rem);transition:opacity .15s ease,transform .15s ease;z-index:80}.sudoku-toast[data-show]{opacity:1;transform:translate(-50%)}@keyframes sudoku-hint{50%{background:color-mix(in srgb,var(--win) 35%,var(--card));transform:scale(.92)}}:root[data-theme=dark] .sudoku-app{--lp-accent: #88aaf2;--lp-accent-deep: #a8c1f7}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sudoku-app{--lp-accent: #88aaf2;--lp-accent-deep: #a8c1f7}}@media(max-width:39.99rem){.sudoku-app .lp-meta{gap:.32rem;margin-bottom:.45rem}.sudoku-app .lp-stat{padding:.4rem .5rem}.sudoku-config-change{font-size:0}.sudoku-config-change>span{font-size:1rem}dialog.sudoku-settings-dialog{border-bottom:0;border-radius:1rem 1rem 0 0;margin:auto 0 0;max-height:min(86vh,42rem);max-width:none;width:100%}}@media(min-width:40rem){.sudoku-play{align-items:start;gap:.7rem;grid-template-columns:minmax(0,1fr) 13.5rem}.sudoku-input{position:sticky;top:.75rem}.sudoku-tools{grid-template-columns:repeat(2,1fr);margin-top:0;order:1}.sudoku-pause-button{grid-column:1 / -1}.sudoku-number-pad{gap:.35rem;grid-template-columns:repeat(var(--sudoku-pad-cols, 3),1fr);margin-top:.6rem;order:2}.sudoku-number-pad button{aspect-ratio:1;font-size:1.8rem}}@media(max-width:24rem){.sudoku-config-button b{font-size:.72rem}.sudoku-tools{gap:.22rem}.sudoku-tools button{font-size:.56rem;min-height:2.75rem}.sudoku-number-pad{gap:.16rem}.sudoku-size-options small{display:none}}@media(prefers-reduced-motion:reduce){.sudoku-cell.is-hint{animation:none}.sudoku-toast{transition:none}}
