.sudoku-page{padding-top:27px}.back-link{font-size:11px;color:#68775f}.sudoku-heading{margin:35px 0 27px}.sudoku-heading .eyebrow{font-size:9px;color:#758468}.sudoku-heading h1{font-size:49px;letter-spacing:-2px;margin:9px 0 10px}.sudoku-heading>p:last-child{font-size:14px;color:#707b68}.sudoku-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:25px;align-items:start}.sudoku-panel{min-width:0;border:1px solid #d8ddce;border-radius:14px;background:#eeeee3;overflow:hidden}.sudoku-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid #d8ddce}.sudoku-toolbar label{font-size:11px;color:#617057;display:flex;gap:9px;align-items:center}.sudoku-panel button:not(.square),.sudoku-toolbar select{padding:9px 12px;background:#faf9f1;border:1px solid #bdc9b3;border-radius:6px;color:#244d3d;font-size:12px;cursor:pointer}.sudoku-panel button:disabled{opacity:.45;cursor:default}.sudoku-panel button:focus-visible,.sudoku-toolbar select:focus-visible{outline:3px solid #c86a43;outline-offset:1px;z-index:2}.sudoku-stats{display:flex;justify-content:space-between;padding:17px 24px;background:#e6e9dc}.sudoku-stats span{font-size:9px;letter-spacing:1.3px;color:#637256}.sudoku-stats strong{display:block;font-size:22px;letter-spacing:0;font-weight:500;color:#243e31;margin-top:5px;font-variant-numeric:tabular-nums}.sudoku-surface{position:relative;padding:20px 16px 12px}#sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));max-width:414px;margin:auto;border:2px solid #73846a;background:#faf9f1;user-select:none}.sudoku-row{display:contents}.square{position:relative;aspect-ratio:1;min-width:0;border:0;border-right:1px solid #d6dbcd;border-bottom:1px solid #d6dbcd;border-radius:0;background:#faf9f1;color:#38775e;font:500 clamp(19px,3vw,26px)/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;padding:0;touch-action:manipulation}.square:nth-child(3n):not(:last-child){border-right:2px solid #73846a}.sudoku-row:nth-child(3n):not(:last-child) .square{border-bottom:2px solid #73846a}.square.given{color:#293f30;font-weight:700}.square.related{background:#edf0e4}.square.match{background:#dae5cc}.square.selected{background:#c6d9b4;box-shadow:inset 0 0 0 2px #537746}.square.wrong,.square.conflict{color:#a13925;background:#f7dfcf}.square.conflict::after,.square.wrong::after{content:'!';position:absolute;right:2px;bottom:2px;font:bold 9px Arial}.pencil{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:3px;font:10px/1 Arial;color:#526a44}.pencil span{display:grid;place-items:center}.sudoku-bottom{max-width:460px;margin:auto;padding:0 16px 17px}#number-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:4px 0 12px}#number-pad button{padding:9px 0;font-size:20px;background:#e1e8d4}.sudoku-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sudoku-panel #notes[aria-pressed="true"]{background:#254d3b;color:#fff7e5}#status{font-size:12px;text-align:center;line-height:1.7;min-height:38px;margin:13px 0 6px}#keyboard-help{font-size:10px;line-height:1.8;color:#68775f;text-align:center}#pause-cover{position:absolute;inset:0;background:#e6e9dc;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}#pause-cover p{font:24px Georgia,serif}.sudoku-sidebar{padding:26px;background:#f0e8d7;border-radius:12px}.sudoku-sidebar .eyebrow{font-size:8px;line-height:1.7;color:#7e785e}.sudoku-sidebar h2{font-size:27px;margin:12px 0 18px}.sudoku-sidebar p,.sudoku-sidebar li{font-size:12px;line-height:1.9;color:#73755d}.sudoku-sidebar ul{padding:15px 0 20px 15px}.sudoku-sidebar h3{font-size:16px}.sudoku-sidebar #puzzle-info{margin-top:18px;font-size:10px}.sample-row{display:grid;grid-template-columns:repeat(3,32px);gap:3px;justify-content:center;transform:rotate(5deg);margin:25px 0 30px}.sample-row span{height:32px;display:grid;place-items:center;background:#faf5e7;color:#8a7451;border:1px solid #d5c5a4;border-radius:3px;font:20px Georgia}.sudoku-instructions{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:60px 0;border-bottom:1px solid var(--line)}.sudoku-instructions .eyebrow{font-size:9px;color:#758468}.sudoku-instructions h2{font-size:29px;margin-top:15px}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.rule-grid h3{font-size:16px;margin-bottom:12px}.rule-grid p,.sudoku-faq p{font-size:12px;line-height:1.9;color:#68775f}.sudoku-faq{padding:35px 0}.sudoku-faq h2{font-size:26px;margin-bottom:20px}.sudoku-faq details{border-bottom:1px solid var(--line);padding:18px 0}.sudoku-faq summary{font-size:13px;cursor:pointer}.sudoku-faq p{margin-top:12px;max-width:760px}.mini-game .sudoku-toolbar{padding:6px 9px}.mini-game .sudoku-stats{padding:7px 12px}.mini-game .sudoku-stats strong{font-size:17px}.mini-game .sudoku-surface{padding:8px 8px 4px}.mini-game #sudoku-grid{max-width:285px}.mini-game .square{font-size:20px}.mini-game .pencil{font-size:8px;padding:1px}.mini-game .sudoku-bottom{padding:0 8px 6px;max-width:340px}.mini-game .sudoku-panel button:not(.square),.mini-game select{font-size:11px;padding:5px 7px}.mini-game #number-pad{margin:3px 0 6px}.mini-game #number-pad button{font-size:17px;padding:5px 0}.mini-game #status{font-size:10px;min-height:0;margin:6px 0}.mini-game #keyboard-help{display:none}.mini-game .sudoku-actions{grid-template-columns:repeat(6,1fr);gap:3px}.mini-game .sudoku-actions button{padding-inline:1px!important;font-size:10px!important}@media(max-width:760px){.sudoku-layout{grid-template-columns:1fr}.sudoku-heading h1{font-size:40px}.sudoku-sidebar{display:none}.sudoku-instructions{grid-template-columns:1fr;gap:25px;padding:38px 0}.sudoku-toolbar{padding:12px}.sudoku-surface{padding:14px 10px 10px}.sudoku-stats{padding:14px 17px}.sudoku-stats strong{font-size:20px}.rule-grid{gap:23px}.sudoku-instructions h2{font-size:26px}.pencil{font-size:8px;padding:1px}}
.sudoku-celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;border-radius:8px}.celebration-banner{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);padding:18px 24px;background:#254d3bf2;color:#fff5d9;box-shadow:0 8px 28px #243e3133;border:1px solid #b7ce9a;border-radius:12px;font:24px Georgia,serif;text-align:center;white-space:nowrap;animation:sudoku-cheer 3.5s ease both}.sudoku-celebration i{position:absolute;left:var(--x);top:-20px;width:8px;height:14px;border-radius:2px;background:var(--color);animation:sudoku-confetti 2.8s var(--delay) ease-in both}.sudoku-celebration i:nth-child(3n){border-radius:50%;width:9px;height:9px}.puzzle-won #sudoku-grid{border-color:#63864b;box-shadow:0 0 0 4px #b5ca9240}.puzzle-won #status{color:#386231;font-weight:600}@keyframes sudoku-confetti{0%{transform:translate3d(0,-15px,0) rotate(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translate3d(var(--drift),520px,0) rotate(540deg);opacity:0}}@keyframes sudoku-cheer{0%{opacity:0;transform:translate(-50%,-40%) scale(.92)}14%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(1)}}.mini-game .celebration-banner{font-size:20px;padding:14px 18px}@media(prefers-reduced-motion:reduce){.sudoku-celebration i{display:none}.celebration-banner{animation:none}}
