:root{--bg: #ffffff;--text: #121213;--muted: #787c7e;--line: #d8dadc;--border: #121213;--mark: #6e7275;--auto: #c9cbcd;--error: #d64545;--hover: #f4f4f5;--card: #ffffff;--overlay: rgba(0, 0, 0, .45);--seg-bg: #f0f0f1;--seg-active: #121213;--seg-active-text: #ffffff;--btn-border: #121213;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #121213;--text: #f2f2f2;--muted: #9a9ca0;--line: #3a3a3c;--border: #f2f2f2;--mark: #a0a2a5;--auto: #3f4042;--error: #ef6b6b;--hover: #1c1c1e;--card: #1c1c1e;--overlay: rgba(0, 0, 0, .6);--seg-bg: #232325;--seg-active: #f2f2f2;--seg-active-text: #121213;--btn-border: #f2f2f2;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}#app{max-width:460px;margin:0 auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:14px}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.top .title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em;text-align:center;white-space:nowrap}.top-side.right{display:flex;justify-content:flex-end}.icon-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--text);font-weight:700;font-size:15px;display:grid;place-items:center;line-height:1}.icon-btn:hover{background:var(--hover)}.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--seg-bg);border-radius:999px;padding:3px;width:240px;margin:0 auto}.seg button{padding:7px 0;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted);transition:color .15s,background .15s}.seg button[aria-selected=true]{background:var(--seg-active);color:var(--seg-active-text)}.meta{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted);padding:0 2px;min-height:18px}.timer{font-variant-numeric:tabular-nums;letter-spacing:.02em}.board-wrap{width:100%}.board{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none;transition:opacity .2s}.board.loading{opacity:.35;pointer-events:none}.board .bg{fill:var(--bg)}.board .cell rect{fill:transparent}.board .thin{stroke:var(--line);stroke-width:1;fill:none}.board .thick{stroke:var(--border);stroke-width:3;fill:none;stroke-linecap:square;stroke-linejoin:miter}.board .star,.board .x,.board .dot{display:none;pointer-events:none}.board .star{fill:var(--text);stroke:var(--text);stroke-width:1.2;stroke-linejoin:round;transform-origin:0 0}.board .x{stroke:var(--mark);stroke-width:2.2;stroke-linecap:round;fill:none}.board .dot{fill:var(--auto)}.board .cell[data-s=star] .star,.board .cell[data-s=mark] .x,.board .cell[data-s=auto] .dot{display:block}.board .cell.error .star{fill:var(--error);stroke:var(--error)}@media(hover:hover){.board:not(.solved) .cell:hover rect{fill:var(--hover)}}.board.solved .star{animation:pop .45s cubic-bezier(.2,.9,.3,1.4) both}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.actions{display:flex;justify-content:center;gap:10px}.pill{padding:9px 20px;border-radius:999px;border:1.5px solid var(--btn-border);font-size:13.5px;font-weight:600;letter-spacing:.01em;transition:background .12s,opacity .12s}.pill:hover{background:var(--hover)}.pill:disabled{opacity:.35;cursor:default;background:none}.pill.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.pill.primary:hover{opacity:.85}.pill[hidden]{display:none}.modal{border:0;border-radius:14px;padding:28px 26px 24px;width:min(92vw,380px);background:var(--card);color:var(--text);box-shadow:0 12px 40px #00000040;text-align:center}.modal::backdrop{background:var(--overlay)}.modal h2{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:-.01em}.modal p{margin:8px 0;line-height:1.45;font-size:15px}.modal .fine{font-size:13px;color:var(--muted);margin-top:16px}.modal .close{position:absolute;top:10px;right:12px;width:32px;height:32px;font-size:22px;line-height:1;color:var(--muted);border-radius:50%}.modal .close:hover{background:var(--hover)}.rules{text-align:left;margin:14px 0 0;padding:0;list-style:none;font-size:14.5px;line-height:1.5}.rules li{padding:6px 0;border-top:1px solid var(--line)}.rules .k{font-weight:700;margin-right:4px}.big-time{font-size:40px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 14px!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.stats[hidden]{display:none}.stat b{display:block;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat span{display:block;font-size:11px;color:var(--muted);line-height:1.2;margin-top:2px}.countdown{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.countdown[hidden]{display:none}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}.content{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.content h1{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.25}.content h2{margin:28px 0 4px;font-size:16px;font-weight:800;letter-spacing:-.01em}.content .desc{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:13px 28px 13px 0;font-size:15px;font-weight:600;position:relative;line-height:1.35}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--text);border-bottom:1.5px solid var(--text);transform:translateY(-70%) rotate(45deg);transition:transform .18s}.faq details[open] summary:after{transform:translateY(-30%) rotate(225deg)}.faq p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--muted)}.footer{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);text-align:center;font-size:11px;color:var(--muted);line-height:1.5;white-space:nowrap}.toast{position:fixed;left:50%;top:18px;transform:translate(-50%) translateY(-8px);background:var(--text);color:var(--bg);padding:9px 14px;border-radius:8px;font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:10}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}
