:root{color-scheme:light dark;--paper: #f7f8fa;--surface: #ffffff;--sunk: #f1f3f6;--line: #e5e8ec;--line-2: #d1d6dd;--ink: #191f28;--ink-2: #4e5968;--ink-3: #6b7684;--ink-4: #8b95a1;--ink-pressed: #000000;--mark: var(--ink);--mark-ink: var(--ink);--mark-bg: var(--sunk);--bad: #e5482f;--bad-ink: #dd361c;--bad-bg: #faefed;--warn: var(--ink);--warn-ink: var(--ink-2);--warn-bg: var(--sunk);--on-warn: var(--surface);--strike: var(--ink-2);--sans: -apple-system, BlinkMacSystemFont, "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t1: 11px;--t2: 12px;--t3: 13px;--t4: 15px;--t5: 17px;--t6: 21px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--r1: 8px;--r2: 10px;--r3: 16px;--col: 1040px;--ease: cubic-bezier(.2, .7, .3, 1);--dur-1: .12s;--dur-2: .26s;--dur-3: .44s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #16181d;--surface: #1e2129;--sunk: #262a33;--line: #333842;--line-2: #434a56;--ink: #eaecef;--ink-2: #b3b9c2;--ink-3: #9aa3af;--ink-4: #79818d;--ink-pressed: #ffffff;--bad: #ff6b52;--bad-ink: #ff6b52;--bad-bg: #3a1f1a;--strike: var(--ink-3)}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--paper: #16181d;--surface: #1e2129;--sunk: #262a33;--line: #333842;--line-2: #434a56;--ink: #eaecef;--ink-2: #b3b9c2;--ink-3: #9aa3af;--ink-4: #79818d;--ink-pressed: #ffffff;--bad: #ff6b52;--bad-ink: #ff6b52;--bad-bg: #3a1f1a;--strike: var(--ink-3)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t4);line-height:1.7;overflow-wrap:break-word;word-break:keep-all;-webkit-font-smoothing:antialiased}.pad{padding-left:max(var(--s4),calc((100% - var(--col)) / 2));padding-right:max(var(--s4),calc((100% - var(--col)) / 2))}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}button{font-family:inherit;font-size:var(--t3);font-weight:650;line-height:1.4;padding:9px 13px;border-radius:var(--r1);cursor:pointer;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1)}button:hover:not(:disabled){background:var(--sunk);border-color:var(--ink-4)}button:disabled{background:var(--sunk);border-color:var(--line);color:var(--ink-4);cursor:not-allowed}.btn-ghost{border-color:var(--line);color:var(--ink-2);font-weight:600}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}.btn-primary:hover:not(:disabled){background:var(--ink-pressed);border-color:var(--ink-pressed)}.btn-primary:disabled{background:var(--sunk);border-color:var(--line);color:var(--ink-4)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4);animation:rise var(--dur-2) var(--ease) both}.card__head{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s3)}.card__title{font-size:var(--t5);font-weight:700;letter-spacing:-.02em;margin:0 auto 0 0}.card__note{font-size:var(--t2);color:var(--ink-3)}.board{display:block;width:100%;height:auto;overflow:visible}.board__paper{fill:var(--surface);stroke:var(--line);stroke-width:1}.board__rule{stroke:var(--line);stroke-width:1}.board__strike{fill:none;stroke:var(--strike);stroke-width:3;stroke-linecap:round;transition:stroke-opacity var(--dur-2) var(--ease),stroke var(--dur-2) var(--ease)}.board__strike--new{stroke-dasharray:1;animation:strike var(--dur-3) var(--ease) both}@keyframes strike{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.board__strike--wrong{stroke:var(--bad);stroke-width:4}.board__spot{fill:none;stroke:var(--mark);stroke-width:2;animation:rise var(--dur-2) var(--ease) both}.board__num{fill:var(--ink);font-family:var(--sans);font-size:40px;font-weight:700;transition:fill var(--dur-2) var(--ease),fill-opacity var(--dur-2) var(--ease),font-weight var(--dur-2) var(--ease);letter-spacing:-.03em;text-anchor:middle;dominant-baseline:central;stroke:var(--surface);stroke-width:8px;stroke-linejoin:round;paint-order:stroke fill}.board__pick{fill:var(--mark-ink);font-family:var(--sans);font-size:var(--t2);font-weight:600;text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round;paint-order:stroke fill;animation:rise var(--dur-2) var(--ease) both}.board__stub{stroke:var(--line-2);stroke-width:1.5;stroke-linecap:round;transition:stroke var(--dur-1)}.board__stub--done{stroke:var(--mark)}.board__badge-ring{fill:var(--surface);stroke:var(--line-2);stroke-width:1.5;transition:fill var(--dur-1),stroke var(--dur-1)}.board__badge-ring--done{stroke:var(--mark);stroke-width:2}.board__badge-text{fill:var(--ink-3);font-family:var(--sans);font-size:var(--t3);font-weight:700;text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums;transition:fill var(--dur-1)}.board__badge-text--done{fill:var(--mark-ink)}.board__stub--look{stroke:var(--warn);stroke-width:2.5}.board__badge-ring--look{fill:var(--warn);stroke:var(--warn)}.board__badge-text--look{fill:var(--on-warn)}.board__num--idle{fill:var(--ink-4);font-weight:500}.board__num--placed{fill:var(--ink);font-weight:800}.board__badge-ring--ok{stroke:var(--mark);stroke-width:2}.board__badge-text--ok{fill:var(--mark-ink)}.board__badge-ring--wrong{stroke:var(--bad);stroke-width:2}.board__badge-text--wrong{fill:var(--bad-ink)}.board__badge-text.board__badge-text--look{fill:var(--on-warn)}.board__num--enter{animation:rise var(--dur-2) var(--ease) both}.board__num--pop{transform-box:fill-box;transform-origin:center;animation:settle var(--dur-2) var(--ease)}@keyframes settle{0%{transform:scale(1.22)}to{transform:scale(1)}}.board__badge-pop{transform-box:fill-box;transform-origin:center;animation:badge-pop var(--dur-3) var(--ease) both}@keyframes badge-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}
