:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17201b;--bg:#f7f4ef;--surface:#fffdf8;--surface-strong:#f0eadf;--ink:#17201b;--muted:#5d665f;--border:#80776a;--heavy:#1d2a22;--accent:#1f6f5b;--accent-dark:#165544;--selected:#f2c84b;--related:#eee7dc;--same:#fff0a6;--same-ring:#9f6d00;--error:#9c3b2f;--error-bg:#f7ddd7;--shadow:0 18px 45px rgba(42,34,22,.12);background:#f7f4ef;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;background:var(--bg);min-height:100dvh;margin:0}button{font:inherit;touch-action:manipulation}.app-shell{width:min(100%,56rem);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(1rem,min(3vw,2rem))}.topbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}h1{letter-spacing:0;margin:0;font-family:Arial Rounded MT Bold,Nunito,Trebuchet MS,system-ui,sans-serif;font-size:max(2.2rem,min(6vw,3.8rem));font-weight:900;line-height:1}.logo-sudo{color:#09231c}.logo-kollet{color:#147a55}.topbar p{color:var(--muted);margin:.35rem 0 0;font-size:max(1rem,min(2.5vw,1.18rem))}.difficulty-badge{background:var(--surface);color:var(--muted);border:1px solid #c8c0b4;border-radius:8px;align-items:baseline;gap:.28rem;margin:0;padding:.42rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.difficulty-badge strong{color:var(--ink);font-size:1rem;font-weight:800;line-height:1}.topbar-meta{justify-items:end;gap:.45rem;display:grid}.stats-badge{color:var(--muted);text-align:right;margin:0;font-size:.88rem;font-weight:700}.stats-badge strong{color:var(--accent-dark);font-size:1rem}.game-area{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:max(1rem,min(3vw,1.5rem));display:grid}.board-wrap{aspect-ratio:1;border:3px solid var(--heavy);background:var(--heavy);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.board{aspect-ratio:1;background:var(--heavy);grid-template-columns:repeat(9,1fr);gap:1px;height:100%;display:grid}.cell{background:var(--surface);min-width:0;min-height:0;color:var(--accent-dark);cursor:pointer;border:1px solid #bbb2a5;border-top:0;border-left:0;place-items:center;font-size:max(1.45rem,min(7vw,2.55rem));font-weight:750;line-height:1;display:grid;position:relative}.cell:nth-child(3n){border-right:3px solid var(--heavy)}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid var(--heavy)}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell.fixed{color:var(--ink);background:#faf7ef;font-weight:900}.cell.related{background:var(--related)}.cell.same-number:not(.selected){background:var(--same);color:var(--ink);box-shadow:inset 0 0 0 3px var(--same-ring);font-weight:900}.cell.selected{z-index:1;background:var(--selected);outline-offset:-4px;outline:4px solid #111914}.cell.incorrect{background:var(--error-bg);color:var(--error);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:.16em}.cell em{background:var(--error);color:#fff;letter-spacing:0;border-radius:50%;place-items:center;width:max(.78rem,min(3vw,1rem));height:max(.78rem,min(3vw,1rem));font-size:max(.42rem,min(1.5vw,.6rem));font-style:normal;font-weight:900;display:grid;position:absolute;top:.16rem;right:.16rem}.controls{gap:1rem;display:grid}.status{border-left:5px solid var(--accent);background:var(--surface);min-height:3.5rem;color:var(--ink);border-radius:8px;margin:0;padding:.85rem 1rem;font-size:1.08rem;font-weight:700;box-shadow:0 8px 22px rgba(42,34,22,.08)}.status.complete{color:#113f32;background:#e3f1e8;border-color:#2e7d62}.completion-reward{color:#113f32;background:linear-gradient(135deg,#e3f1e8,#fffdf8 72%);border:2px solid #2e7d62;border-radius:12px;padding:1rem 1rem .9rem;animation:.42s ease-out both reward-in;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(42,34,22,.1)}.completion-kicker,.completion-reward h2,.completion-details{z-index:1;margin:0;position:relative}.completion-kicker{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;font-weight:900}.completion-reward h2{margin-top:.1rem;font-size:1.35rem;line-height:1.15}.completion-details{color:var(--muted);margin-top:.35rem;font-size:.95rem;font-weight:800}.completion-action{z-index:1;border:2px solid var(--heavy);background:var(--accent);color:#fff;min-height:2.8rem;box-shadow:0 3px 0 var(--heavy);cursor:pointer;font:inherit;border-radius:8px;margin-top:.75rem;padding:.35rem .8rem;font-weight:900;position:relative}.completion-action:active{box-shadow:0 1px 0 var(--heavy);transform:translateY(2px)}.completion-action:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.confetti{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.confetti i{background:var(--selected);border-radius:.2rem;width:.42rem;height:.8rem;animation:.9s ease-out both confetti-drop;position:absolute;top:-.4rem}.confetti i:first-child{background:#d66b45;left:12%;transform:rotate(20deg)}.confetti i:nth-child(2){background:#1f6f5b;animation-delay:70ms;left:29%;transform:rotate(-24deg)}.confetti i:nth-child(3){background:#e1ad2f;animation-delay:.12s;left:48%;transform:rotate(30deg)}.confetti i:nth-child(4){background:#9c3b2f;animation-delay:40ms;left:65%;transform:rotate(-18deg)}.confetti i:nth-child(5){background:#147a55;animation-delay:.15s;left:79%;transform:rotate(26deg)}.confetti i:nth-child(6){background:#d66b45;animation-delay:90ms;left:91%;transform:rotate(-30deg)}@keyframes reward-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-drop{0%{opacity:0;transform:translateY(-.5rem)rotate(0)}30%{opacity:1}to{opacity:.8;transform:translateY(2.2rem)rotate(90deg)}}@media (prefers-reduced-motion:reduce){.completion-reward,.confetti i{animation:none}}.numbers{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.number-button,.action-button{border:2px solid var(--heavy);background:var(--surface);min-height:3.7rem;color:var(--ink);box-shadow:0 3px 0 var(--heavy);cursor:pointer;border-radius:8px;font-weight:900}.number-button{min-height:4.55rem;font-size:2rem}.action-button{place-items:center;padding:0;font-size:1.05rem;display:grid}.action-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;width:1.7rem;height:1.7rem}.number-button:active,.action-button:active{box-shadow:0 1px 0 var(--heavy);transform:translateY(2px)}.number-button.completed,.number-button.completed:hover,.number-button.completed:active,.number-button:disabled{background:var(--surface-strong);color:var(--muted);box-shadow:none;cursor:default;opacity:.7;border-color:#aaa397;transform:none}.number-button:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.action-button:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.cell:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.actions{grid-template-columns:repeat(5,1fr);gap:.55rem;display:grid}.action-button.primary{background:var(--accent);color:#fff}.action-button.quiet{color:#4d554f;box-shadow:none;background:0 0;border-color:#8b8478}.action-button:disabled{color:#767066;box-shadow:none;cursor:default;background:#ece7de;border-color:#b8b1a6}.action-button:disabled:active{transform:none}.dialog-backdrop{z-index:5;background:rgba(23,32,27,.32);place-items:end center;padding:1rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.new-game-dialog,.confirm-dialog{border:2px solid var(--heavy);background:var(--surface);width:min(100%,24rem);box-shadow:var(--shadow);border-radius:8px;padding:1rem}.new-game-dialog h2,.confirm-dialog h2{margin:0 0 .75rem;font-size:1.25rem;line-height:1.1}.confirm-dialog p{color:var(--muted);margin:0;font-size:.98rem;font-weight:700;line-height:1.35}.difficulty-options{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.difficulty-option,.dialog-cancel,.dialog-confirm{border:2px solid var(--heavy);background:var(--surface);min-height:3rem;color:var(--ink);box-shadow:0 3px 0 var(--heavy);cursor:pointer;font:inherit;border-radius:8px;font-weight:900}.difficulty-option:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.dialog-cancel:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.dialog-confirm:focus-visible{outline:4px solid var(--selected);outline-offset:3px}.confirm-actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.85rem;display:grid}.dialog-cancel{color:#4d554f;width:100%;box-shadow:none;border-color:#8b8478;margin-top:.65rem}.confirm-actions .dialog-cancel{margin-top:0}.dialog-confirm{background:var(--accent);color:#fff}@media (min-width:761px) and (max-width:900px){.app-shell{padding:1.25rem}.game-area{grid-template-columns:minmax(0,1fr) minmax(17rem,18rem);gap:1rem}}@media (max-width:760px){html,body,#app{min-height:100dvh}body{overflow:hidden}body:has(.completion-reward){overflow-y:auto}.app-shell{height:100dvh;min-height:0;padding:max(.45rem, env(safe-area-inset-top)) max(.7rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.7rem, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);display:grid}.topbar{flex-direction:column;align-items:stretch;gap:.28rem;margin-bottom:.45rem}h1{font-size:max(1.75rem,min(7.5vw,2.35rem))}.topbar p{margin-top:.12rem;font-size:.9rem;line-height:1.25}.difficulty-badge{width:fit-content;min-width:0;padding:.24rem .48rem;font-size:.72rem}.difficulty-badge strong{font-size:.9rem}.topbar-meta{justify-items:start;gap:.12rem}.stats-badge{text-align:left;font-size:.78rem}.stats-badge strong{font-size:.88rem}.game-area{grid-template-rows:auto auto;grid-template-columns:1fr;align-content:start;gap:.42rem;min-height:0}.board-wrap{justify-self:center;width:min(100%,100dvh - 17.8rem);min-width:17.25rem}.controls{gap:.38rem}.numbers{grid-template-columns:repeat(9,1fr);gap:.24rem}.number-button{min-height:3.55rem;padding:0;font-size:1.7rem}.actions{grid-template-columns:repeat(5,1fr);gap:.3rem}.action-button{min-height:3.05rem}.action-button svg{width:1.45rem;height:1.45rem}.status{text-overflow:ellipsis;white-space:nowrap;min-height:2.28rem;padding:.42rem .62rem;font-size:.88rem;overflow:hidden}.completion-reward{padding:.72rem .75rem .7rem}.completion-reward h2{font-size:1.15rem}.completion-details{font-size:.86rem}.completion-action{width:100%;min-height:2.7rem;margin-top:.55rem}.dialog-backdrop{padding:.75rem}.new-game-dialog,.confirm-dialog{padding:.85rem}}@media (max-width:400px){.app-shell{padding:max(.4rem, env(safe-area-inset-top)) max(.55rem, env(safe-area-inset-right)) max(.4rem, env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left))}.cell{font-size:max(1.12rem,min(7.6vw,1.9rem))}.board-wrap{width:min(100%,100dvh - 17.2rem);min-width:0}.number-button,.action-button{min-height:3.05rem}}
