:root{--paper: #F3ECDF;--card: #FFFFFF;--line: #E0D5C3;--line-2: #CDBFA8;--ink: #241A12;--ink-2: #5C4E3F;--ink-3: #6F604F;--dim: #9A8A74;--red: #C8452C;--green: #2F7D4F;--serif: "Fraunces", Georgia, serif;--body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.32, .72, 0, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--paper);color:var(--ink)}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}:focus-visible{outline:2px solid var(--red);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(--ink-3)}.mark{font:800 28px/1 var(--serif)}.counter{justify-self:end;padding-right:12px;font-size:13px;font-weight:700;color:var(--ink-3)}.main{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 18px;display:flex;flex-direction:column;gap:6px}.intro{margin:0 0 4px;text-align:center;font-size:13px;color:var(--ink-3)}.end{padding-left:40px;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--ink-3)}.slots{display:flex;flex-direction:column;gap:6px}.slotrow{display:flex;align-items:center;gap:8px}.slotrow .n{width:32px;flex:none;text-align:center;font:800 20px var(--serif);color:var(--dim)}.slot{flex:1;min-width:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-radius:14px;border:2px dashed var(--line-2);background:transparent;text-align:left;font:600 15px/1.25 var(--body);color:var(--dim)}.slot.target{border-color:var(--red);color:var(--red)}.slot.filled{border:2px solid var(--line);background:var(--card);color:var(--ink);box-shadow:0 2px 0 var(--line)}.slot.sel{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:none}.slot.ok,.slot.no{border:0;color:#fff;box-shadow:none;cursor:default}.slot.ok{background:var(--green)}.slot.no{background:var(--red)}.slot .yr{flex:none;font:800 19px var(--serif)}.slot .go{display:block;margin-top:2px;font-size:12px;font-weight:700;opacity:.85}.slot.pop{animation:pop .35s var(--ease) both}@keyframes pop{0%{transform:scale(.94);opacity:.4}to{transform:none;opacity:1}}.foot{flex:none;padding:10px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:10px}.tray{display:flex;flex-wrap:wrap;gap:8px}.tray:empty{display:none}.chip{min-height:48px;max-width:100%;padding:6px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);font:600 14px/1.25 var(--body);text-align:left;box-shadow:0 2px 0 var(--line-2)}.chip.sel{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:none}.primary{min-height:52px;border-radius:14px;background:var(--red);color:#fff;font-size:16px;font-weight:800}.primary:disabled{background:var(--line-2);cursor:default;transform:none}.result{display:flex;flex-direction:column;gap:4px;text-align:center}.big{margin:0;font:800 64px/1 var(--serif)}.big small{font-size:28px;color:var(--ink-3)}.verdict{margin:0;font-size:16px;font-weight:600}.pct{margin:0;font-size:14px;color:var(--red);font-weight:700}.sharebox{margin-top:10px;padding:14px;border-radius:14px;border:2px dashed var(--line-2);display:flex;flex-direction:column;gap:4px;font-size:15px;text-align:left}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}.muted{color:var(--ink-3);font-size:13px}.loading{color:var(--ink-2);text-align:center;padding:40px 0}.toast{position:fixed;left:50%;bottom:150px;max-width:calc(100% - 40px);transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:14px;text-align:center;transition:all .2s var(--ease);pointer-events:none}.toast.on{opacity:1;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.slot.pop{animation:none}}
