
:root{color-scheme:light;--ink:#142b35;--muted:#506975;--accent:#086d70;--line:#c9dce0;--panel:#fff;--bg:#edf6f5;--soft:#e4f5f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);line-height:1.55}a{color:var(--accent);text-underline-offset:4px}button,select{font:inherit;min-height:46px;padding:9px 15px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-weight:650}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #eaa539;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0}.brand{font-weight:850;text-decoration:none;letter-spacing:.12em;color:var(--ink);font-size:23px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.badge{background:var(--soft);padding:5px 10px;border-radius:30px;font-size:12px;font-weight:700}.intro{padding:22px 0 20px;display:flex;justify-content:space-between;align-items:end;gap:20px}h1{font-size:clamp(30px,5.5vw,58px);line-height:1.05;letter-spacing:-.045em;margin:8px 0 15px}h2{font-size:24px;letter-spacing:-.02em;margin:0 0 12px}p{margin:8px 0 16px}.sub{color:var(--muted);max-width:62ch}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin:12px 0 28px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 14px 35px #102f4210;min-width:0}.stats{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.stat small{display:block;font-size:11px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.08em}.stat b{font-size:23px;line-height:1.2}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.toolbar button{flex:1}.full{width:100%}.field{display:block;margin:14px 0}.field span{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.field select{width:100%}.message{min-height:72px;background:var(--soft);padding:12px 15px;border-radius:14px;font-size:14px;margin:14px 0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:13px}.fine{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.hero{width:100%;display:block;border-radius:16px;border:1px solid var(--line);aspect-ratio:16/9;object-fit:cover}.details{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.details article{background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:22px}.details article h2{margin-top:0}footer{padding:26px 0 40px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.buy{display:inline-block;text-align:center;background:var(--accent);color:white;text-decoration:none;font-weight:750;border-radius:12px;padding:13px 20px;min-height:46px}.promo{margin:24px 0;padding:24px;border:1px solid var(--line);background:var(--panel);border-radius:22px}.promo h2{margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid{display:grid;grid-template-columns:repeat(9,1fr);width:100%;max-width:594px;aspect-ratio:1;border:2px solid #547881;border-radius:8px;overflow:hidden;margin:auto;background:#547881;gap:1px}.cell{min-height:0;padding:0;border:0;border-radius:0;font-size:clamp(17px,3vw,29px);background:#fff;color:#006c70;line-height:1;position:relative}.cell.given{background:#edf4f4;color:#173340;font-weight:800}.cell.selected{background:#b9e9dc;box-shadow:inset 0 0 0 3px #086d70}.cell.right-box{border-right:2px solid #547881}.cell.bottom-box{border-bottom:2px solid #547881}.cell.incorrect{outline:3px dashed #b02d49;outline-offset:-4px;color:#a5213e}.pencil{display:block;font-size:clamp(8px,1.2vw,12px);padding:1px;line-height:1.25;letter-spacing:.02em;max-width:38px;margin:auto;overflow-wrap:anywhere}.grid.paused .cell{color:transparent;text-shadow:none}.grid.paused .pencil{visibility:hidden}.keypad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin:18px 0}.keypad button{padding:4px;min-width:0;font-size:20px}#note[aria-pressed=true]{background:#b9e9dc}.controls-guide{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;font-size:14px}.space-theme{--bg:#0c1427;--ink:#e6f5ff;--muted:#a6bbce;--panel:#142036;--line:#2a3d55;--accent:#146d84;--soft:#1c3347;color-scheme:dark}.space-theme .eyebrow{color:#74dedc}.space-theme .workspace{grid-template-columns:minmax(0,1fr) 280px}.space-theme .primary{background:#99eee3;border-color:#99eee3;color:#123132}.space-theme .panel{padding:20px}.space-theme canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;border:1px solid #39556b;border-radius:16px;touch-action:none}.touch{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.touch button{touch-action:none;user-select:none;-webkit-user-select:none;min-height:56px;padding:8px 3px;font-size:14px}.touch .held{background:#2d6981;box-shadow:inset 0 0 0 2px #a0f9e7}.state{font-weight:700;min-height:28px;margin:12px 0 0}.space-theme .stat b{font-size:21px}.space-theme .buy{background:#99eee3;color:#123132}.space-theme .badge{background:#203b48;color:#b3fff0}@media(max-width:960px){.workspace,.space-theme .workspace{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sidebar .promo{margin:0}.side-tools{min-width:0}.intro{align-items:start;flex-direction:column}.grid{max-width:594px}.cell{font-size:clamp(21px,5vw,31px)}}@media(max-width:580px){.wrap{width:calc(100% - 24px)}.topbar{padding:15px 0}.brand{font-size:19px}.panel,.space-theme .panel{padding:13px;border-radius:18px}.workspace{gap:14px}.intro{padding:12px 0}.sidebar,.details{display:block}.sidebar .promo{margin-top:15px}.details article{margin-bottom:15px;padding:18px}h1{font-size:36px}.cell{font-size:clamp(18px,5.6vw,26px)}.toolbar button{padding:8px;min-width:0}.stats{gap:6px}.stat b{font-size:21px}.stat small{font-size:10px}.touch{gap:6px}.keypad{gap:3px}.keypad button{font-size:18px}.topbar .badge{max-width:190px;text-align:right}.space-theme .stat b{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}