/* Sudoku Grove 2.0 — original high-contrast violet, mint and citrus design */
:root{color:#201b43;background:#f7f5ff;accent-color:#6745f5}
body{background:radial-gradient(ellipse 75% 25% at 94% 21%,#dffcf6 0%,transparent 74%),#f7f5ff;color:#201b43}
.top,footer{background:#191242;border:0}.top{border-bottom:1px solid #ffffff24}
.top-inner{height:78px}.brand{font-size:21px;letter-spacing:-.055em;font-weight:800}
.brand strong{color:#a6ffe1}.brand-icon{background:linear-gradient(135deg,#ffe568,#ffb86f);color:#251746;border-radius:12px;box-shadow:0 3px 0 #ff8f6b;font-size:22px}
.top nav{align-items:center;gap:21px}.top nav a{color:#e7e1ff;font-weight:650}.top nav a:hover{color:#b4ffdb}
.theme-toggle{border:1px solid #ffffff4d;border-radius:999px;background:#ffffff1b;color:#fff;font-size:13px;font-weight:850;padding:10px 14px;white-space:nowrap;transition:transform .15s,background .15s}
.theme-toggle:hover{background:#ffffff36;transform:translateY(-1px)}
.hero{position:relative;padding-block:48px 42px;isolation:isolate}
.hero:before{inset:0;left:50%;top:0;bottom:auto;width:100vw;height:380px;transform:translateX(-50%);background:radial-gradient(circle at 81% 23%,#ff80a54a 0%,transparent 27%),radial-gradient(circle at 61% 75%,#13d5b67a 0%,transparent 30%),linear-gradient(119deg,#211254 2%,#6232d6 48%,#7b39d8 100%);z-index:-1}
.hero h1{font-weight:900;letter-spacing:-.068em;font-size:clamp(38px,5.6vw,70px);margin:9px 0 13px}.hero h1 em{color:#b5ffe1;text-shadow:0 1px 14px #c9ffda39}
.hero .eyebrow{display:inline-block;color:#261b4a;background:#ffdf75;padding:7px 10px;border-radius:5px;letter-spacing:.10em;font-size:10px}
.hero p{color:#f5edff;font-weight:500}.hero-chip{position:relative;min-width:220px;max-width:246px;padding:17px 18px;color:#fff;background:#ffffff24;border:1px solid #ffffff76;backdrop-filter:blur(6px);font-weight:500;box-shadow:0 16px 40px #1b0d6033}
.hero-chip>span{display:inline-block;color:#fff39f;margin-right:7px}.hero-chip strong{font-size:16px}.hero-deco{font-size:21px;letter-spacing:.75em;line-height:1.46;text-align:center;color:#fff4cd;margin:10px 0 2px;font-weight:850}.hero-deco b{color:#7affce}
.page-grid{position:relative;grid-template-columns:minmax(0,704px) minmax(245px,1fr);gap:22px}
.game-card,.side-panel,.content{border:1px solid #e5defa;border-radius:22px;box-shadow:0 20px 56px #39246c12}
.game-card{border-top:5px solid #ffcd60;background:#fff;padding:28px 30px 31px}
.game-heading h2{font-size:28px;color:#24174f;letter-spacing:-.06em;font-weight:900}
.eyebrow.dark,.mini-title{color:#6a43e5;font-weight:900}
.timer{background:#fff0ff;border-color:#eac8ff;color:#7040bd;font-size:15px;font-weight:900;border-radius:13px}
.game-tabs{background:#f2eefe;border:1px solid #e9e1ff}.tab{color:#65588b}.tab.active{color:#fff;background:#6946ed;box-shadow:0 3px 0 #442eaf;font-weight:850}
.game-controls select{border:1px solid #bdaffa;color:#4328a1;background:#faf8ff;font-weight:750}.meta{font-weight:700;color:#766e94}
.progress-track{height:7px;background:#eee9fc;border-radius:100px;overflow:hidden;margin:0 auto 16px;max-width:550px}
.progress-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#6442f5,#00cba7,#f5bd43);transition:width .23s}
.board{border:3px solid #342477;border-radius:9px;box-shadow:0 5px 0 #3125650e}
.cell{color:#5136ba;border-color:#e2ddf0;background:#fff;font-weight:750}
.cell[data-c="2"],.cell[data-c="5"]{border-right:2px solid #7764ab}.cell[data-r="2"],.cell[data-r="5"]{border-bottom:2px solid #7764ab}
.cell.given{color:#221b4b;background:#faf9ff;font-weight:900}.cell.related{background:#f0edff}.cell.same{background:#e3d5ff}
.cell.selected{background:#ffe47b!important;box-shadow:inset 0 0 0 2px #a65b00;color:#24174d!important}
.cell.conflict,.cell.wrong{background:#ffcad8!important;color:#961f48!important;box-shadow:inset 0 0 0 2px #e44b70}
.cell.selected.conflict,.cell.selected.wrong{background:#ffa4bb!important}
.notes{color:#725bd3}.status{color:#605296;font-weight:650}.status.warning{color:#bd2854}.status.win{color:#0a9575}
.number-pad button{background:#eeeaff;border:1px solid #ded2ff;color:#5833d7;border-radius:10px;box-shadow:0 3px 0 #c4b8ea;font-weight:900}
.number-pad button:hover{background:#ded4ff}.number-pad button:active{transform:translateY(2px);box-shadow:0 1px 0 #c4b8ea}
.actions button{color:#443382;background:#f8f6ff;border-color:#e4dcf9}.actions button[aria-pressed=true]{background:#d9fff2;color:#116b58;border-color:#66d6b1}
.smart-tools{max-width:550px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:13px auto 0;padding:10px 12px;border-radius:13px;background:#f4f0ff;border:1px solid #e7defc}
.smart-tools>button{border:0;border-radius:8px;background:#653fec;color:#fff;font-size:12px;font-weight:800;padding:10px 12px}.smart-tools>button:hover{background:#4c2bce}
.switch-label{display:flex;align-items:center;gap:6px;color:#51457c;font-size:12px;font-weight:700;cursor:pointer}.switch-label input{width:16px;height:16px}
.primary{background:#ffca53;color:#2c2052;box-shadow:0 4px 0 #e6a12b;font-weight:900}.subtle{color:#6744e0;font-weight:850}
.small-note{color:#77718c}.side-panel{padding:26px;background:#fff}.side-panel.soft{background:#fff3d3;border-color:#ffe2a4}
.side-panel.soft .mini-title{color:#a56711}.side-panel.soft h3{color:#402a65}.side-panel.soft p{color:#6d5375}
.side h3{font-weight:900;color:#211b50}.side p{color:#625e7b}.rule-grid{border-color:#6441b0}.rule-grid span{color:#573ab1;border-color:#e6def6}.rule-grid .highlight{background:#ffe16c;color:#402450}
.stats-panel{background:linear-gradient(150deg,#34208d,#6849e7 70%,#845ae8);border-color:#795ce0;box-shadow:0 13px 27px #402baf36}
.stats-panel h3,.stats-panel p{color:#fff!important}.stats-panel .mini-title{color:#ffe476}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:19px 0 15px}.stats-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 4px;background:#ffffff21;border:1px solid #ffffff30;border-radius:11px;gap:5px}.stats-grid strong{color:#ffdf67;font-size:clamp(18px,2.4vw,26px);letter-spacing:-.06em}.stats-grid span{font-size:10px;color:#f4ecff;text-align:center;line-height:1.35}
.ad-section{margin-top:174px}.ad-slot{background:#f6f5ff;border-color:#bfb4e8;color:#8477aa}.ad-label{color:#766d99}
.content{border-top:4px solid #7d59f7}.content h2,.content h3{color:#241a52}.content p{color:#5d5974}.guide article{background:#f3f0ff}.guide article>span{color:#7046e7}.guide article h3{color:#362079}
.language-note{background:#e7fff7;border-color:#20c79e}.language-note p{color:#285d51}.faq summary{color:#2d205c}
footer .brand strong{color:#b6ffe6}.legal-shell h1,.legal-shell h2{color:#291b60}.legal-shell a{color:#6744de}
html[data-theme="dark"]{color-scheme:dark;background:#141126}html[data-theme="dark"] body{background:radial-gradient(ellipse 65% 22% at 89% 23%,#22234d 0,transparent 85%),#141126;color:#f1edff}
html[data-theme="dark"] .game-card,html[data-theme="dark"] .side-panel:not(.stats-panel):not(.soft),html[data-theme="dark"] .content{background:#211b38;color:#f4f0ff;border-color:#42346a}
html[data-theme="dark"] .game-heading h2,html[data-theme="dark"] .side h3,html[data-theme="dark"] .content h2,html[data-theme="dark"] .content h3{color:#f8f1ff}
html[data-theme="dark"] .muted,html[data-theme="dark"] .meta,html[data-theme="dark"] .side p,html[data-theme="dark"] .content p,html[data-theme="dark"] .small-note{color:#cbc3e3}
html[data-theme="dark"] .eyebrow.dark,html[data-theme="dark"] .mini-title{color:#bda6ff}
html[data-theme="dark"] .timer{background:#3c2a56;color:#ffdc82;border-color:#5b3c7b}
html[data-theme="dark"] .game-tabs{background:#332a50;border-color:#51446e}html[data-theme="dark"] .tab{color:#ded4f5}html[data-theme="dark"] .tab.active{background:#875ff7;color:#fff}
html[data-theme="dark"] .game-controls select{background:#2c2546;color:#eee6ff;border-color:#6e5896}
html[data-theme="dark"] .progress-track{background:#463657}
html[data-theme="dark"] .board{border-color:#e8ccff}
html[data-theme="dark"] .cell{background:#25203d;color:#d4c2ff;border-color:#4d426e}
html[data-theme="dark"] .cell.given{background:#342c51;color:#fff}
html[data-theme="dark"] .cell.related{background:#393056}html[data-theme="dark"] .cell.same{background:#514079}
html[data-theme="dark"] .cell.selected{background:#ffe47b!important;color:#27194b!important}
html[data-theme="dark"] .cell.conflict,html[data-theme="dark"] .cell.wrong{background:#7e2948!important;color:#ffdeea!important;box-shadow:inset 0 0 0 2px #ff7ba5}
html[data-theme="dark"] .notes{color:#d7befb}
html[data-theme="dark"] .number-pad button{background:#4b338c;border-color:#7554b9;color:#fff;box-shadow:0 3px 0 #291c50}
html[data-theme="dark"] .actions button{background:#322849;border-color:#544273;color:#eee7ff}
html[data-theme="dark"] .actions button[aria-pressed=true]{background:#176e60;border-color:#2bc7a5;color:#fff}
html[data-theme="dark"] .smart-tools{background:#302647;border-color:#544374}html[data-theme="dark"] .switch-label{color:#ede2ff}
html[data-theme="dark"] .side-panel.soft{background:#4d3b55;border-color:#80607a}html[data-theme="dark"] .side-panel.soft h3{color:#ffeaac}html[data-theme="dark"] .side-panel.soft p{color:#ffecd9}
html[data-theme="dark"] .rule-grid{border-color:#ad9ad8}html[data-theme="dark"] .rule-grid span{color:#f2e6ff;border-color:#5b4b76}
html[data-theme="dark"] .ad-slot{background:#201a36;border-color:#54466e;color:#c9bee1}
html[data-theme="dark"] .guide article{background:#322849}html[data-theme="dark"] .guide article h3{color:#f0eaff}
html[data-theme="dark"] .language-note{background:#153c38;border-color:#43d2b0}html[data-theme="dark"] .language-note p{color:#c8fff0}
html[data-theme="dark"] .faq summary{color:#f2e9ff}html[data-theme="dark"] .stats-panel{border-color:#795ce0}
@media(max-width:930px){.page-grid{grid-template-columns:minmax(0,1fr)}.hero:before{height:360px}.side{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-panel{grid-column:1/-1}.ad-section{margin-top:162px}}
@media(max-width:570px){.top-inner{gap:10px}.brand{font-size:16px}.top nav{gap:8px}.top nav a{font-size:11px}.theme-toggle{padding:7px 10px;font-size:11px}.hero:before{height:340px}.hero{padding-block:30px 31px}.hero h1{font-size:35px}.hero .eyebrow{font-size:9px}.game-card{padding:17px 11px 23px}.game-heading h2{font-size:22px}.game-tabs{margin:17px 0}.board{border-width:2px}.cell{font-size:clamp(16px,5.6vw,29px)}.number-pad{gap:3px}.number-pad button{padding:10px 0}.smart-tools{gap:9px}.smart-tools>button{font-size:11px;padding:9px}.switch-label{font-size:11px}.side{grid-template-columns:1fr}.stats-panel{grid-column:auto}.stats-grid strong{font-size:23px}.ad-section{margin-top:164px}}
@media(max-width:380px){.top nav a:nth-of-type(2),.top nav a:nth-of-type(3){display:none}.brand{font-size:15px}.top-inner{height:69px}.hero h1{font-size:32px}}

/* Easy Mini Sudoku: narrower 6×6 board with 2×3 boxes; Classic remains 9×9. */
body[data-board-size="6"] .board-wrap,
body[data-board-size="6"] .progress-track,
body[data-board-size="6"] .number-pad{max-width:420px}
body[data-board-size="6"] .board{max-width:420px;margin-inline:auto}
body[data-board-size="6"] .number-pad button{min-height:50px}
body[data-board-size="6"] .number-pad button[hidden]{display:none}
.board[data-size="6"] .cell[data-r="2"]{border-bottom:1px solid #e2ddf0}
.board[data-size="6"] .cell[data-r="1"],.board[data-size="6"] .cell[data-r="3"]{border-bottom:2px solid #7764ab}
.board[data-size="6"] .cell[data-r="5"]{border-bottom:0}
.board[data-size="6"] .cell[data-c="5"]{border-right:0}
body[data-board-size="6"] .rule-grid{grid-template-rows:repeat(2,40px)}
body[data-board-size="6"] .rule-grid span:nth-child(n+7){display:none}
html[data-theme="dark"] .board[data-size="6"] .cell[data-r="2"]{border-bottom-color:#4d426e}
html[data-theme="dark"] .board[data-size="6"] .cell[data-r="1"],
html[data-theme="dark"] .board[data-size="6"] .cell[data-r="3"]{border-bottom-color:#ad9ad8}
@media(max-width:570px){body[data-board-size="6"] .board-wrap,body[data-board-size="6"] .number-pad{max-width:min(100%,355px)}body[data-board-size="6"] .cell{font-size:clamp(21px,6vw,30px)}}
