:root{--bg: #20352E;--panel: #2F4A41;--line: #5C7A6C;--fg: #F2EDE0;--fg-2: #B9C9BE;--acc: #F2C14E;--ink: #1B2A25;--display: "Fraunces", Georgia, serif;--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);touch-action:manipulation}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}: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-2)}.mark{font:800 26px/1 var(--display);color:var(--fg)}.counter{justify-self:end;padding-right:12px;font-size:14px;font-weight:700;color:var(--fg-2);font-variant-numeric:tabular-nums}.scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.how{margin:0;font-size:15px;color:#d8e2da}.solved{display:flex;flex-direction:column;gap:6px}.grp{min-height:68px;padding:8px 10px;border-radius:10px;color:var(--ink);text-align:center;display:flex;flex-direction:column;justify-content:center}.grp b{font-size:14px;font-weight:800}.grp span{font-size:13px;font-weight:600;margin-top:2px}.c0{background:#f2c14e}.c1{background:#8fd6b4}.c2{background:#8fc1f2}.c3{background:#c6a9f0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tile{min-height:72px;padding:0 2px;border-radius:10px;background:var(--fg);color:var(--ink);font-size:13px;font-weight:800;overflow-wrap:anywhere}.tile.long{font-size:11.5px}.tile.on{background:#3e6b5c;color:var(--fg)}.controls{display:flex;gap:8px}.controls button{min-height:52px;border-radius:12px;font-weight:800}.ghost{flex:1;border:2px solid var(--line)}.primary{flex:none;min-height:52px;border-radius:12px;background:var(--acc);color:var(--ink);font-size:16px;font-weight:800}.controls .primary{flex:2}.primary:disabled{opacity:.45;cursor:default}.result{display:flex;flex-direction:column;gap:10px}.big{margin:6px 0 0;text-align:center;font:800 32px/1.1 var(--display)}.big.y{color:var(--acc)}.big.n{color:#ff9b8a}.sub,.pct{margin:0;text-align:center}.pct{font-size:14px;color:var(--fg-2)}.sharebox{padding:14px;border-radius:12px;border:1px dashed var(--fg-2);display:flex;flex-direction:column;gap:4px;font-size:15px;white-space:pre-line}.tiny{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--fg-2)}.muted{color:var(--fg-2);font-size:13px}.loading{color:var(--fg-2);text-align:center;padding:40px 0}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:999px;background:var(--fg);color:var(--bg);font-weight:700;font-size:14px;pointer-events:none;transition:opacity .2s,transform .2s;z-index:11;white-space:nowrap}.toast.on{opacity:1;transform:translate(-50%)}
