.dwgs-sudoku{max-width:560px;margin:0 auto}.dwgs-sudoku__intro{color:var(--dwgs-text-muted);font-size:15px;line-height:1.6;margin:0 0 20px;text-align:center}.dwgs-sudoku__difficulty{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.dwgs-sudoku__difficulty-btn{appearance:none;border:1px solid var(--dwgs-border);background:var(--dwgs-surface);color:var(--dwgs-text-muted);font-weight:700;font-size:14px;padding:9px 18px;border-radius:10px;cursor:pointer}.dwgs-sudoku__difficulty-btn.is-active{background:var(--dwgs-primary);color:#fff;border-color:var(--dwgs-primary)}.dwgs-sudoku__difficulty-btn:focus-visible{outline:3px solid var(--dwgs-accent);outline-offset:2px}.dwgs-sudoku__stats{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:16px;font-size:14px;font-weight:700;color:var(--dwgs-text)}.dwgs-sudoku__stats span[data-timer],.dwgs-sudoku__stats span[data-mistakes],.dwgs-sudoku__stats span[data-hints]{color:var(--dwgs-primary);font-variant-numeric:tabular-nums}.dwgs-sudoku__toolbar{display:flex;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.dwgs-sudoku__toolbar .dwgs-btn{font-size:13px;padding:9px 14px}.dwgs-sudoku__pencil.is-active{background:var(--dwgs-primary);color:#fff;border-color:var(--dwgs-primary)}.dwgs-sudoku__grid-wrap{position:relative;width:100%;max-width:450px;margin:0 auto 20px}.dwgs-sudoku__grid{display:flex;flex-direction:column;width:100%;aspect-ratio:1 / 1;border:2.5px solid var(--dwgs-text);border-radius:6px;overflow:hidden;background:var(--dwgs-bg);touch-action:manipulation}.dwgs-sudoku__row{display:flex;flex:1 1 0}.dwgs-sudoku__cell{flex:1 1 0;appearance:none;border:1px solid var(--dwgs-border);background:var(--dwgs-bg);color:var(--dwgs-text);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;min-width:0;min-height:0;position:relative}.dwgs-sudoku__cell-value{font-size:clamp(14px,4.2vw,22px);font-weight:700;line-height:1}.dwgs-sudoku__cell.is-given .dwgs-sudoku__cell-value{color:var(--dwgs-text);font-weight:800}.dwgs-sudoku__cell:not(.is-given) .dwgs-sudoku__cell-value{color:var(--dwgs-primary)}.dwgs-sudoku__cell.is-incorrect .dwgs-sudoku__cell-value{color:#dc2626}.dwgs-sudoku__cell.is-hinted .dwgs-sudoku__cell-value{color:#059669}.dwgs-sudoku__cell-notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%}.dwgs-sudoku__cell-notes span{display:flex;align-items:center;justify-content:center;font-size:clamp(7px,1.6vw,10px);font-weight:700;color:var(--dwgs-text-muted);line-height:1}.dwgs-sudoku__cell.is-peer{background:var(--dwgs-surface)}.dwgs-sudoku__cell.is-same-value:not(.is-selected){background:color-mix(in srgb,var(--dwgs-primary) 12%,var(--dwgs-bg))}.dwgs-sudoku__cell.is-selected{background:color-mix(in srgb,var(--dwgs-primary) 25%,var(--dwgs-bg))}.dwgs-sudoku__cell:focus-visible{outline:2.5px solid var(--dwgs-accent);outline-offset:-2px;z-index:1}.dwgs-sudoku__cell--box-left{border-left-width:2px;border-left-color:var(--dwgs-text)}.dwgs-sudoku__cell--box-right{border-right-width:2px;border-right-color:var(--dwgs-text)}.dwgs-sudoku__cell--box-top{border-top-width:2px;border-top-color:var(--dwgs-text)}.dwgs-sudoku__cell--box-bottom{border-bottom-width:2px;border-bottom-color:var(--dwgs-text)}.dwgs-sudoku__numpad{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;max-width:450px;margin:0 auto 20px}.dwgs-sudoku__num{appearance:none;border:1px solid var(--dwgs-border);background:var(--dwgs-surface);color:var(--dwgs-text);font-size:18px;font-weight:700;border-radius:8px;padding:12px 0;cursor:pointer;min-height:44px}.dwgs-sudoku__num:hover,.dwgs-sudoku__num:focus-visible{background:var(--dwgs-primary);color:#fff;border-color:var(--dwgs-primary);outline:none}.dwgs-sudoku__num:focus-visible{outline:3px solid var(--dwgs-accent);outline-offset:2px}.dwgs-sudoku__pause-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--dwgs-bg) 92%,transparent);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:6px;z-index:2}.dwgs-sudoku__pause-overlay[hidden]{display:none}.dwgs-sudoku__pause-overlay p{font-weight:700;color:var(--dwgs-text);font-size:16px;margin:0}.dwgs-sudoku__gameover,.dwgs-sudoku__complete{background:var(--dwgs-surface);border:1px solid var(--dwgs-border);border-radius:14px;padding:24px;text-align:center;max-width:450px;margin:0 auto 20px}.dwgs-sudoku__gameover[hidden],.dwgs-sudoku__complete[hidden]{display:none}.dwgs-sudoku__gameover h2,.dwgs-sudoku__complete h2{font-size:22px;font-weight:800;color:var(--dwgs-text);margin:0 0 8px}.dwgs-sudoku__gameover p{color:var(--dwgs-text-muted);margin:0 0 16px}.dwgs-sudoku__complete-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0 20px}.dwgs-sudoku__complete-stat{background:var(--dwgs-bg);border:1px solid var(--dwgs-border);border-radius:10px;padding:10px}.dwgs-sudoku__complete-stat-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.03em;color:var(--dwgs-text-muted);font-weight:700;margin-bottom:4px}.dwgs-sudoku__complete-stat-value{display:block;font-size:18px;font-weight:800;color:var(--dwgs-primary)}.dwgs-sudoku__section{max-width:720px;margin:36px auto 0;padding-top:28px;border-top:1px solid var(--dwgs-border)}.dwgs-sudoku__section h2{font-size:20px;font-weight:800;color:var(--dwgs-text);margin:0 0 14px}.dwgs-sudoku__section p{color:var(--dwgs-text-muted);font-size:15px;line-height:1.7;margin:0 0 12px}.dwgs-sudoku__section p:last-child{margin-bottom:0}.dwgs-sudoku__section ul,.dwgs-sudoku__section ol{color:var(--dwgs-text-muted);font-size:15px;line-height:1.7;margin:0;padding-left:22px}.dwgs-sudoku__section li{margin-bottom:8px}.dwgs-sudoku__faq-list{display:flex;flex-direction:column;gap:10px}.dwgs-sudoku__faq-item{background:var(--dwgs-surface);border:1px solid var(--dwgs-border);border-radius:12px;padding:14px 16px}.dwgs-sudoku__faq-item summary{font-weight:700;color:var(--dwgs-text);cursor:pointer;list-style:none}.dwgs-sudoku__faq-item summary::-webkit-details-marker{display:none}.dwgs-sudoku__faq-item summary::before{content:'+';display:inline-block;width:18px;color:var(--dwgs-primary);font-weight:800}.dwgs-sudoku__faq-item[open] summary::before{content:'−'}.dwgs-sudoku__faq-item summary:focus-visible{outline:3px solid var(--dwgs-accent);outline-offset:2px;border-radius:6px}.dwgs-sudoku__faq-item p{margin:10px 0 0 18px;color:var(--dwgs-text-muted);font-size:14px;line-height:1.6}@media (max-width:600px){.dwgs-sudoku__difficulty-btn{flex:1 1 auto;padding:9px 6px;font-size:13px}.dwgs-sudoku__stats{gap:14px;font-size:13px}.dwgs-sudoku__toolbar .dwgs-btn{flex:1 1 auto;min-width:80px}.dwgs-sudoku__numpad{gap:4px}.dwgs-sudoku__num{font-size:16px;padding:10px 0}}