:root{--bg: #1E1A17;--surface: #2B2521;--line: #4A4037;--fg: #F3EBDD;--fg-2: #E9DFCD;--fg-3: #B7A993;--light: #E8DCC4;--dark: #8C6A4F;--acc: #E8A33D;--ok: #9FD6A8;--no: #F2B8A0;--ink: #1E1A17;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.32, .72, 0, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg)}body{font:16px/1.4 var(--body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}h1,p{margin:0}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.tap{transition:transform .12s var(--ease)}.tap:active{transform:scale(.97)}.app{max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.hdr{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 8px 0}.iconbtn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--fg-3)}.mark{font:700 22px/1 var(--mono);letter-spacing:.1em}.counter{justify-self:end;padding-right:12px;font-size:13px;font-weight:700;color:var(--fg-3)}.chips{flex:none;display:flex;gap:8px;padding:6px 16px 12px}.chips span{flex:1;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface);color:var(--fg-2);font:700 11px var(--mono);letter-spacing:.04em}.chips .on{background:var(--acc);color:var(--ink)}.chips .done{background:var(--line)}.play{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:0 16px max(16px,env(safe-area-inset-bottom))}.label{font:700 13px var(--mono);letter-spacing:.08em;color:var(--acc)}.task{margin:4px 0 12px;min-height:52px;font-size:21px;line-height:1.2;font-weight:800}.board{flex:none;width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-radius:6px;overflow:hidden;touch-action:manipulation}.sq{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:"Noto Sans Symbols 2",Segoe UI Symbol,sans-serif;font-size:min(9.6vw,44px);line-height:1}.sq.l{background:var(--light)}.sq.d{background:var(--dark)}.sq.l.last{background:#e3cf8f}.sq.d.last{background:#b4934a}.sq.sel{background:var(--acc)}.sq .pw{color:#fff;-webkit-text-stroke:1.2px #2A2522}.sq .pb{color:#141210;-webkit-text-stroke:.4px #141210}.sq .dot{position:absolute;width:28%;height:28%;border-radius:50%;background:#1e1a1752}.sq .ring{position:absolute;inset:6%;border-radius:50%;border:3px solid rgba(30,26,23,.38)}.co{position:absolute;left:3px;top:1px;font:700 10px var(--body);opacity:.7}.co.f{inset:auto 3px 1px auto}.l .co{color:#6e5240}.d .co{color:#e8dcc4}.msg{margin-top:12px;min-height:42px;font-size:15px;line-height:1.4;color:var(--fg-3)}.msg.ok{color:var(--ok)}.msg.no{color:var(--no)}.primary{flex:none;width:100%;min-height:52px;margin-top:auto;border-radius:12px;background:var(--acc);color:var(--ink);font-size:16px;font-weight:800}.result{flex:1;min-height:0;overflow-y:auto;padding:8px 16px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.result .primary{margin-top:0}.big{font-size:40px;font-weight:800;line-height:1}.pct{font-size:14px;font-weight:700;color:var(--acc)}.rows{display:flex;flex-direction:column;gap:6px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:6px 14px;border-radius:10px;background:var(--surface)}.row b{font:700 13px var(--mono)}.row span{font-size:14px;color:var(--fg-2)}.sharebox{padding:14px;border-radius:12px;border:2px dashed var(--line);display:flex;flex-direction:column;gap:4px;font-size:15px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--fg-3)}.muted{color:var(--fg-3);font-size:13px}.loading{padding:40px 16px;text-align:center;color:var(--fg-2)}.toast{position:fixed;left:50%;bottom:110px;max-width:calc(100% - 40px);transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:14px;background:var(--fg);color:var(--ink);font-weight:700;font-size:14px;text-align:center;transition:all .2s var(--ease);pointer-events:none}.toast.on{opacity:1;transform:translate(-50%)}
