@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(./atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Bricolage Grotesque Variable", "Trebuchet MS", sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--bg:#13101b;--bg-glow:#2a1f3f;--surface:#1d1828;--surface-raised:#272036;--border:#3a3150;--text:#f5f1fb;--text-muted:#b8afcb;--dot:#4a4063;--accent:#ffb547;--accent-strong:#ffc76e;--on-accent:#22160a;--danger:#ff6474;--success:#6fe3b4;--heart:#ff5f78;--focus:#fff;--arrow-coral:#ff8f7e;--arrow-mint:#6fe3b4;--arrow-bark:#d6a777;--arrow-amber:#ffc15e;--arrow-sky:#82c8ff;--arrow-lilac:#bea9ff;--arrow-rose:#ff9fd0;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-card:0 24px 60px -24px #000000a6}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 50% -10%, var(--bg-glow), transparent 70%), var(--bg);min-height:100svh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}h1,h2{font-family:var(--font-display);line-height:1.1}a{color:var(--accent-strong);text-underline-offset:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{gap:var(--space-5);width:min(100%,680px);min-height:100svh;padding:var(--space-5) var(--space-4) var(--space-6);flex-direction:column;margin:0 auto;display:flex}.masthead{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand{align-items:center;gap:var(--space-2);color:var(--text);border-radius:var(--radius-sm);text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);fill:none;width:34px;height:34px;stroke:var(--on-accent);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;border-radius:10px;padding:5px}.brand-name{white-space:nowrap;font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-weight:750}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;font-weight:700;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-strong)}.button-ghost{border-color:var(--border);color:var(--text);background:0 0}.button-ghost:hover:not(:disabled){background:var(--surface-raised)}@media (width<=420px){.masthead .button{padding:0 var(--space-3)}.brand-name{font-size:1.2rem}}.stage{gap:var(--space-4);flex-direction:column;display:flex}.status{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.status-level{flex-direction:column;min-width:0;display:flex}.status-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:700}.status-of{font-weight:400}.status-name{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:break-word;font-size:clamp(1.75rem,6vw,2.4rem);font-weight:800;line-height:1.05}.status-meta{align-items:center;gap:var(--space-4);display:flex}.status-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.95rem}.status-count strong{color:var(--text);font-family:var(--font-display);font-size:1.15rem}.hearts{gap:var(--space-1);display:flex}.heart{fill:#0000;width:28px;height:28px;stroke:var(--dot);stroke-width:1.8px;transition:fill .2s,stroke .2s,transform .3s}.heart.is-full{fill:var(--heart);stroke:var(--heart)}.heart:not(.is-full){animation:.45s ease-out heart-lost}@keyframes heart-lost{0%{fill:var(--heart);stroke:var(--heart);transform:scale(1.25)}to{transform:scale(1)}}.board-frame{padding:clamp(var(--space-2), 3vw, var(--space-5));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);justify-content:center;display:flex}.board{width:min(100%, calc(64svh * var(--board-ratio)));touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:auto;display:block}.board-silhouette rect{opacity:.08}.board-dots circle{fill:var(--dot)}.arrow{cursor:pointer;outline:none}.arrow-hit{fill:#0000;pointer-events:fill}.arrow-shape{pointer-events:none}.arrow-body,.arrow-focus{fill:none;stroke-linecap:round;stroke-linejoin:round}.arrow-body{stroke:var(--arrow-color);stroke-width:.26px;transition:stroke .15s}.arrow-tail,.arrow-head{fill:var(--arrow-color);transition:fill .15s}.arrow-head{stroke:var(--arrow-color);stroke-width:.06px;stroke-linejoin:round}.arrow-focus,.arrow-focus-head{opacity:0;stroke:var(--focus)}.arrow-focus{stroke-width:.52px}.arrow-focus-head{fill:var(--focus);stroke-width:.26px;stroke-linejoin:round}.arrow:focus-visible .arrow-focus,.arrow:focus-visible .arrow-focus-head{opacity:1}@media (hover:hover){.arrow:not([aria-disabled]):hover .arrow-body{stroke-width:.32px}}.arrow.is-blocked .arrow-body{stroke:var(--danger)}.arrow.is-blocked :is(.arrow-head,.arrow-tail){fill:var(--danger);stroke:var(--danger)}.arrow-leaving{cursor:default}.arrow-fade{animation:.16s ease-in forwards fade-out}@keyframes fade-out{to{opacity:0}}.hit-marker circle{fill:none;stroke:var(--danger);stroke-width:.1px;transform-box:fill-box;transform-origin:50%;animation:.65s ease-out forwards hit-pulse}@keyframes hit-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.3)}}.hint{color:var(--text-muted);text-align:center;margin:0;font-size:.95rem}.footer{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;margin-top:auto;font-size:.85rem;display:flex}.footer p{max-width:46ch;margin:0}.modal{width:min(calc(100% - 2 * var(--space-4)), 420px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);max-width:none;color:var(--text);box-shadow:var(--shadow-card);padding:0}.modal[open]{animation:.26s cubic-bezier(.2,.9,.3,1.2) modal-in}.modal-danger[open]{animation-delay:.35s;animation-fill-mode:both}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a080fb3}.modal-card{gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);text-align:center;flex-direction:column;display:flex}.modal-eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.modal-title{letter-spacing:-.03em;margin:0;font-size:2.25rem;font-weight:800}.modal-success .modal-title{color:var(--success)}.modal-danger .modal-title{color:var(--danger)}.modal-body p{color:var(--text-muted);margin:0}.modal-body strong{color:var(--text)}.modal-actions{margin-top:var(--space-3);justify-content:center;display:flex}.modal-actions .button{width:100%}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important}.modal[open],.heart:not(.is-full){animation:none}.hit-marker circle{animation-name:fade-out;transform:none}}
