:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#292533;background:#f5f2fa;color-scheme:light;--ink:#292533;--muted:#71697e;--purple:#6d568d;--lavender:#e9e2f2;--line:#ded5e7;--white:#fffefa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #9e70b6;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-70px;left:12px;padding:14px;z-index:4;background:var(--ink);color:white}.skip:focus{top:10px}.masthead{max-width:1080px;padding:0 32px;height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:780;letter-spacing:-1.2px;text-decoration:none}.brand-symbol{display:flex;gap:4px;transform:rotate(-18deg)}.brand-symbol i{width:15px;height:15px;border:1.5px solid var(--ink);border-radius:50%;background:var(--white)}.brand-symbol i:last-child{background:var(--ink)}.masthead>a:last-child{font-size:12px;text-decoration:none;padding:12px 0 12px 14px;color:var(--muted)}.masthead>a:last-child span{margin-left:10px}main{width:min(900px,calc(100% - 36px));margin:auto}.intro{text-align:center;margin:18px 0 28px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2px;color:var(--purple);margin:0 0 14px}h1{font-size:42px;font-weight:550;letter-spacing:-1.8px;line-height:1.1;margin:0}.rules-line{font-size:12px;color:var(--muted);margin:13px 0 0}.game{width:min(420px,100%);margin:auto;outline:none}.mode-row{display:flex;align-items:center;justify-content:space-between;margin:0 3px 15px}.mode{display:flex;border:1px solid #d9cfe4;border-radius:30px;padding:3px}.mode button{min-height:32px;font-size:11px;padding:7px 19px;border:0;border-radius:22px;background:transparent;color:var(--muted)}.mode button[aria-pressed=true]{background:var(--ink);color:#fff}.puzzle-size{font-size:12px;color:var(--purple);font-variant-numeric:tabular-nums;letter-spacing:1px}.practice-row{display:flex;gap:9px;align-items:center;margin:0 3px 14px;font-size:11px}.practice-row label{color:var(--muted)}select{max-width:100%;padding:9px 18px 9px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:transparent}.practice-row button{border:0;background:transparent;color:var(--purple);font-size:11px;min-height:40px;margin-left:auto;padding:6px}.board-frame{padding:10px;background:#ded4eb;border-radius:18px;box-shadow:0 3px 0 #d1c4e0}.board{display:grid;grid-template-columns:repeat(var(--size,4),1fr);gap:7px}.tile{border:0;border-radius:9px;background:#eee8f4;aspect-ratio:1;position:relative;display:grid;place-items:center;padding:0;min-width:0;min-height:0;transition:background .1s}.tile.given{background:#e7dfee}.tile:not(.given):hover{background:#f8f4fc}.stone{display:grid;place-items:center;width:76%;aspect-ratio:1;border-radius:50%;font-size:clamp(14px,3vw,21px);font-weight:500;font-variant-numeric:tabular-nums;pointer-events:none;line-height:1}.tile[data-value="0"] .stone{background:var(--white);box-shadow:inset 0 0 0 1.5px #d6ccdf,0 2px 3px #4237500a;color:#57515f}.tile[data-value="1"] .stone{background:var(--ink);box-shadow:0 2px 3px #29253320;color:#fff}.tile[data-value="-1"] .stone{width:4px;height:4px;background:#c5b6d5;font-size:0}.given:after{content:"";width:3px;height:3px;background:#6d568d;border-radius:50%;position:absolute;right:4px;bottom:4px}.tile.conflict{box-shadow:inset 0 0 0 2px #bd6847}.tile.hinted{box-shadow:inset 0 0 0 3px #8d69ab}.tile:focus-visible{outline:3px solid #805597;outline-offset:1px;z-index:1}.board[data-size="8"]{gap:5px}.board[data-size="8"] .tile{border-radius:6px}.board[data-size="8"] .stone{font-size:15px}.board-caption{display:flex;justify-content:space-between;gap:12px;margin:13px 3px 0;font-size:10px;color:var(--muted)}.board-caption b{color:var(--ink);font-weight:550}.input-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:17px 0 10px}.input-label{font-size:10px;color:var(--muted)}.tools{display:flex;gap:6px}.tools button{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:22px;min-height:40px;padding:7px 12px;font-size:11px;color:var(--muted)}.tools button[aria-pressed=true]{border-color:#bca9cf;background:#efe7f7;color:var(--ink)}.sample{display:grid;place-items:center;width:20px;height:20px;font-size:10px;border-radius:50%}.sample.zero{background:var(--white);border:1px solid #cec4da}.sample.one{background:var(--ink);color:white}.actions{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:8px}.actions button{background:transparent;border:1px solid #dcd1e7;min-height:41px;border-radius:9px;color:var(--ink);font-size:11px}.actions button:hover:not(:disabled){background:#ece4f4}.actions button:last-child{background:#e9dff2;border-color:#d7c7e6;color:#5e4079}.actions button span{font-size:17px;margin-right:3px}.feedback{min-height:33px;font-size:11px;line-height:1.6;color:var(--muted);margin:11px 2px 0}.feedback.error{color:#914629}.storage-note{font-size:11px;line-height:1.6;color:#914629;margin:0}.storage-note:empty{display:none}.success{background:#e7dfef;border:1px solid #d8c9e4;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 16px;margin:12px 0 8px}.success-tag{font-size:8px;letter-spacing:1.4px;color:var(--purple)}.success h2{font-size:23px;letter-spacing:-.5px;font-weight:550;margin:7px 0}.success p{font-size:11px;margin:0;color:var(--muted)}.success button{border:0;background:transparent;font-size:11px;font-weight:600;color:#5e4079;min-height:44px;white-space:nowrap}.rules-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;border-top:1px solid var(--line);margin:34px 0 0;padding:28px 0 25px}.rule-illustration{font-family:ui-monospace,monospace;letter-spacing:3px;font-size:18px}.rule-illustration i{color:var(--purple);font-style:normal}.rules-strip h2{font-size:13px;letter-spacing:-.1px;font-weight:650;margin:14px 0 8px}.rules-strip p{font-size:11px;line-height:1.75;color:var(--muted);margin:0}.keyboard{border-top:1px solid var(--line);font-size:11px;padding:16px 0 4px;color:var(--muted)}.keyboard summary{cursor:pointer;min-height:28px}.keyboard p{line-height:1.8;max-width:690px;margin:5px 0 8px}.about{max-width:660px;text-align:center;margin:32px auto 38px}.about h2{font-weight:550;font-size:23px;letter-spacing:-.6px}.about p{font-size:12px;line-height:1.85;color:var(--muted)}.about a{display:inline-block;margin-top:5px;font-size:12px;text-decoration:none;color:var(--purple);padding:8px}footer{max-width:1080px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding:24px 32px;font-size:10px;color:var(--muted)}.guide{max-width:800px}.guide-head{margin:34px 0;text-align:left}.guide-head h1{font-size:43px}.guide-head p{max-width:630px;font-size:15px;line-height:1.85;color:var(--muted)}.guide-section{border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:180px 1fr;gap:25px}.guide-section h2{font-size:22px;font-weight:550;letter-spacing:-.5px;line-height:1.25;margin:0}.guide-section p,.guide-section li{font-size:14px;line-height:1.85;color:var(--muted)}.guide-section p:first-child{margin-top:0}.guide-section strong{color:var(--ink)}.sequence{display:flex;gap:7px;align-items:center;margin:20px 0}.sequence span{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;background:var(--white);border:1px solid #d5cade;font-size:15px}.sequence .dark{background:var(--ink);color:white;border-color:var(--ink)}.sequence .blank{background:#e7ddef;color:var(--purple);border-style:dashed}.sequence b{margin:0 5px;font-size:15px;color:var(--purple)}.guide-play{display:inline-block;margin:10px 0 40px;text-decoration:none;color:white;background:var(--ink);border-radius:28px;padding:15px 25px;font-size:13px}.rule-note{border-left:3px solid #bca8d0;padding-left:15px}
@media(max-width:600px){.masthead{height:70px;padding:0 20px}.brand{font-size:23px}.masthead>a:last-child{font-size:11px}.intro{margin:17px 0 23px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:11px}h1{font-size:35px;letter-spacing:-1.3px}.rules-line{font-size:10px;margin-top:11px}main{width:calc(100% - 32px)}.board-frame{padding:8px;border-radius:15px}.board{gap:6px}.board[data-size="8"]{gap:4px}.tile{border-radius:7px}.board[data-size="8"] .stone{font-size:13px}.board-caption{font-size:9px}.input-row{margin-top:15px}.tools button{min-height:42px}.actions button{min-height:43px}.rules-strip{gap:20px;margin-top:25px;padding-top:22px}.rules-strip h2{font-size:12px;line-height:1.4}.rules-strip p{font-size:10px}.rule-illustration{font-size:16px;letter-spacing:1px}.about{margin:25px auto}.about h2{font-size:21px}.about p{font-size:11px}footer{padding:22px 20px;font-size:9px}.guide-head{margin:28px 0}.guide-head h1{font-size:35px}.guide-head p{font-size:14px}.guide-section{display:block;padding:23px 0}.guide-section h2{font-size:22px;margin-bottom:16px}.guide-section p,.guide-section li{font-size:13px}.success{padding:15px 12px}.success h2{font-size:21px}.success button{font-size:10px}}
@media(max-width:360px){main{width:calc(100% - 24px)}.masthead{padding:0 14px}.board-frame{padding:7px}.board[data-size="8"]{gap:3px}.board[data-size="8"] .stone{font-size:12px}.rules-strip{gap:12px}.rules-strip h2{font-size:11px}.tools button{padding:7px 9px}.input-row{gap:8px}.actions button{font-size:10px}.success{flex-wrap:wrap}.success button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.save-notice,.storage-notice{padding:14px;border:1px solid #b68547;border-radius:8px;margin-top:15px;background:#fcf4e5;color:#503b20}.save-notice p,.storage-notice p{margin:0 0 10px;font:13px/1.6 system-ui}.save-notice button,.storage-notice button{min-height:44px;padding:9px 14px;font:13px system-ui;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}

.storage-confirm{max-width:420px;width:calc(100% - 64px);padding:25px;border:1px solid #b7c6be;border-radius:12px;background:#f7f7f1;color:#243d36;box-shadow:0 25px 70px #10271e55}.storage-confirm::backdrop{background:#15251e88}.storage-confirm h2{margin:0 0 14px;font-size:25px}.storage-confirm p{font:15px/1.6 system-ui;margin:0 0 22px}.storage-confirm form>div{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.storage-confirm button{min-height:44px;padding:10px 15px;border:1px solid #355c50;border-radius:7px;background:transparent;color:inherit;font:14px system-ui}.storage-confirm button[value=confirm]{background:#355c50;color:#fff}

/* Keep compact controls usable without changing the puzzle cell geometry. */
.daily-update{display:block;margin:12px 0 0;padding:10px 16px;min-height:44px;border:1px solid var(--purple);border-radius:9px;background:var(--lavender);color:var(--ink);font-size:14px}
.mode button,.tools button,.actions button,.practice-row button,.practice-row select{min-height:44px;min-width:44px}.keyboard summary{min-height:44px;padding-block:10px}.masthead>a:last-child{display:inline-flex;align-items:center;min-height:44px}
