:root{color:#1f2933;background:#f3f6f1}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}.sudoku-app{min-height:100vh;padding:14px;color:#1f2933;background:linear-gradient(rgba(25,93,87,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(25,93,87,.07) 1px,transparent 1px),#f3f6f1;background-size:22px 22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sudoku-panel,.sudoku-game{width:min(100%,1040px);margin:0 auto 14px}.sudoku-panel{border:1px solid rgba(31,41,51,.14);border-radius:8px;background:#fffffceb;box-shadow:0 10px 28px #14212614}.sudoku-hero{display:flex;flex-direction:column;gap:12px;padding:16px}.sudoku-hero>div:first-child{min-width:0}.sudoku-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}.sudoku-eyebrow{margin:0;color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.sudoku-exit-link{min-height:36px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(31,41,51,.18);border-radius:8px;padding:0 12px;color:#1f2933;background:#fff;font-weight:800;line-height:1.2;text-decoration:none}.sudoku-exit-link:hover,.sudoku-exit-link:focus-visible{border-color:#0f766e;outline:3px solid rgba(15,118,110,.18)}.sudoku-hero h1{margin:0;font-size:clamp(1.8rem,7vw,3.4rem);line-height:1.02}.sudoku-status{margin:10px 0 0;color:#b43f1d;font-weight:700;line-height:1.45}.sudoku-stats{display:flex;flex-wrap:wrap;gap:8px;color:#41535b;font-weight:700}.sudoku-stats span{min-width:0;overflow-wrap:anywhere}.sudoku-controls{display:grid;gap:14px;padding:14px}.difficulty-list,.action-row,.tool-row{display:grid;gap:8px}.difficulty-list,.action-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-row{grid-template-columns:repeat(2,minmax(0,1fr))}button{min-height:42px;border:1px solid rgba(31,41,51,.18);border-radius:8px;min-width:0;padding:0 10px;color:#1f2933;background:#fff;font:inherit;font-weight:800;cursor:pointer;line-height:1.2;overflow-wrap:anywhere}button:hover,button:focus-visible{border-color:#0f766e;outline:3px solid rgba(15,118,110,.18)}button.is-active,.primary-action{border-color:#0f766e;color:#fff;background:#0f766e}.primary-action{box-shadow:inset 0 -3px #00000029}.sudoku-game{display:grid;gap:14px;justify-items:center}.sudoku-board{display:grid;grid-template-rows:repeat(9,minmax(0,1fr));width:min(100%,620px,calc(100vw - 28px));aspect-ratio:1;border:3px solid #2f4650;border-radius:8px;overflow:hidden;background:#2f4650}.sudoku-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));min-height:0}.sudoku-cell{display:grid;place-items:center;min-width:0;min-height:0;border:0;border-right:1px solid rgba(47,70,80,.32);border-bottom:1px solid rgba(47,70,80,.32);border-radius:0;padding:0;color:#1f2933;background:#fffef7;font-size:clamp(1.15rem,7vw,2.1rem);font-weight:900}.sudoku-cell:nth-child(3n){border-right-width:3px}.sudoku-row:nth-child(3n) .sudoku-cell{border-bottom-width:3px}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-row:nth-child(9) .sudoku-cell{border-bottom:0}.sudoku-cell.is-fixed{color:#2f4650;background:#e4edf7}.sudoku-cell.is-selected{background:#fff0b8;outline:3px solid #0f766e;outline-offset:-3px}.cell-notes{color:#0f766e;font-size:clamp(.52rem,2.5vw,.86rem);line-height:1.1}.sudoku-pad{width:min(100%,620px);display:grid;gap:10px;align-content:start}.number-pad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.number-pad button{min-width:0;padding:0;color:#1f2933;background:#d8f0ec}.ad-slot{min-height:96px;display:grid;place-items:center;border:1px dashed rgba(47,70,80,.38);border-radius:8px;color:#53666e;background:#ffffffb8;font-weight:800}@media(min-width:780px){.sudoku-app{padding:34px}.sudoku-hero{flex-direction:row;align-items:end;justify-content:space-between}.sudoku-hero>div:first-child{flex:1 1 auto}.sudoku-controls{grid-template-columns:1fr auto;align-items:center}.difficulty-list,.action-row,.tool-row{display:flex;flex-wrap:wrap}button{padding:0 14px}.sudoku-game{grid-template-columns:minmax(0,620px) minmax(220px,1fr);align-items:start;justify-items:stretch}.sudoku-pad{width:100%}.number-pad{grid-template-columns:repeat(3,minmax(0,1fr))}.number-pad button{min-height:62px;font-size:1.25rem}}
