@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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}:root{--paper:#fffbea;--paper-line:#f1e9c4;--ink:#2b2a33;--ink-soft:#6b6878;--marker:#fff176;--marker-strong:#ffe94d;--on-marker:#2b2a33;--chip-streak:#ffd6a5;--chip-buff:#c9f7d3;--chip-debuff:#ffc2d1;--card:#fff;--danger:#ef476f;--ok:#3ddc84;--radius:16px;--shadow:0 6px 20px #3c32001f;--font:"Nunito Variable", ui-rounded, "Nunito", "Quicksand", "Segoe UI Rounded", "Segoe UI", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1f1d27;--paper-line:#2a2835;--ink:#f4f1e6;--ink-soft:#a9a5b8;--card:#2a2835;--shadow:0 6px 20px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#1f1d27;--paper-line:#2a2835;--ink:#f4f1e6;--ink-soft:#a9a5b8;--card:#2a2835;--shadow:0 6px 20px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--paper-line) 1px, transparent 1px);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-size:100% 28px;margin:0}button{font:inherit;color:inherit;border:2px solid var(--ink);background:var(--card);cursor:pointer;box-shadow:0 2px 0 var(--ink);border-radius:999px;padding:.55rem 1.1rem;transition:transform 80ms,box-shadow 80ms}button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--marker);color:var(--on-marker);border-color:var(--on-marker);box-shadow:0 2px 0 var(--on-marker);font-weight:800}button.big{padding:.8rem 2.4rem;font-size:1.3rem}button.ghost{box-shadow:none;background:0 0;border-color:#0000;padding:.4rem .7rem}button:focus-visible{outline-offset:2px;outline:3px solid #4361ee}small{color:var(--ink-soft);font-size:.72rem;font-weight:400;display:block}.home{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:100%;padding:1rem;display:flex}.logo{width:120px;height:120px;box-shadow:0 0 0 6px #fff1284d, var(--shadow);mix-blend-mode:normal;background:#fff128bf;border-radius:50%}h1{letter-spacing:-.5px;margin:.3rem 0 0;font-size:clamp(2rem,8vw,3.2rem)}.tagline{color:var(--ink-soft);margin:0 0 1.2rem}.setup{max-width:560px;margin:0 auto;padding:1rem 1rem 3rem}.setup h2{margin:.3rem 0}.setup h3{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin:1.2rem 0 .4rem;font-size:.95rem}.seg,.types{flex-wrap:wrap;gap:.5rem;display:flex}.seg button,.types button{text-align:left;border-radius:14px;flex:140px}.seg button.sel,.types button.sel{background:var(--marker);color:var(--on-marker);border-color:var(--on-marker);font-weight:700}.seg button.sel small,.types button.sel small{color:#5a5666}.best{color:var(--ink-soft);margin:1rem 0 0}.setup .big{width:100%;margin-top:1.4rem}.game{max-width:760px;padding:.5rem .75rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;gap:.5rem;min-height:100%;margin:0 auto;display:flex;position:relative}.hud{align-items:center;gap:.6rem;display:flex}.hud .spacer{flex:1}.title-small{font-weight:800}.hearts{gap:2px;font-size:1.2rem;display:inline-flex}.heart{color:var(--danger)}.heart.off{color:var(--ink-soft);opacity:.35}.clock{border:2px solid var(--ink);background:var(--card);border-radius:999px;flex:1;height:28px;font-size:.9rem;font-weight:800;position:relative;overflow:hidden}.clock span{color:var(--ink);-webkit-text-stroke:3px var(--card);paint-order:stroke fill;place-items:center;display:grid;position:absolute;inset:0}.clock-bar{background:var(--marker);height:100%;transition:width .2s linear}.clock.low{border-color:var(--danger);animation:.5s steps(2,end) infinite blink}.clock.low .clock-bar{background:#ffb3c1}@keyframes blink{50%{background:#ffd6de}}.score{text-align:right;min-width:3.5rem;font-size:1.2rem;font-weight:800}.subhead{justify-content:space-between;align-items:flex-end;gap:.5rem;min-height:3.2rem;display:flex}.subhead>div:first-child{min-width:0}.subhead .sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sub{color:var(--ink-soft);font-size:.8rem}.chips{flex-wrap:nowrap;flex:none;align-items:center;gap:.4rem;display:flex}.chip{background:var(--card);border:2px solid var(--ink);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:700}.chip.streak,.chip.buff,.chip.debuff{color:var(--on-marker);border-color:var(--on-marker)}.chip.streak{background:var(--chip-streak)}.chip.buff{background:var(--chip-buff)}.chip.debuff{background:var(--chip-debuff)}.board-area{place-items:center;display:grid;position:relative}.board-wrap{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);width:min(100%,70vh);box-shadow:var(--shadow);transition:filter .2s;overflow:hidden}.board-wrap.blurred{filter:blur(8px)}.board-wrap.blurred .cell{text-shadow:0 0 .55em var(--ink);color:#0000!important}.board-wrap.blurred .marks{opacity:.35}.board-wrap.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:100%;position:relative;container-type:size}.cells{grid-auto-rows:1fr;display:grid;position:absolute;inset:0}.cell{font-weight:800;font-size:calc(min(100cqw / var(--cols), 100cqh / var(--rows)) * .52);color:var(--ink);place-items:center;line-height:1;display:grid}.cell.on{color:var(--on-marker);font-weight:900}.cell.wobble{animation:.9s ease-in-out wob}@keyframes wob{30%,60%{transform:scale(var(--s,1.4))}}.board-wrap.warn{border-color:var(--danger);animation:.3s infinite shake}:root[data-calm=true] *,:root[data-calm=true] :before,:root[data-calm=true] :after{transition:none!important;animation:none!important}.marks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stroke{stroke-width:.78px;stroke-linecap:round;opacity:.8}.stroke.live{stroke:#ffe94d;opacity:.55}.hint{fill:none;stroke:var(--danger);stroke-width:.1px;transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4;transform:scale(1.35)}}.words ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.words li{background:var(--card);border:2px solid var(--ink);border-radius:999px;padding:.2rem .7rem;font-size:.95rem;font-weight:700}.words li.done{color:#333;border-color:#0000;text-decoration:line-through;text-decoration-thickness:2px}.passage{background:var(--card);border:2px solid var(--ink);border-radius:14px;margin:0;padding:.6rem .9rem;line-height:1.7}.passage p{margin:0}.passage mark{color:inherit;-webkit-text-decoration:underline wavy var(--ink);text-decoration:underline wavy var(--ink);text-underline-offset:4px;background:0 0;border-radius:4px;padding:0 2px;font-weight:800}.passage mark.done{color:#333;text-decoration:none}.passage footer{color:var(--ink-soft);margin-top:.3rem;font-size:.78rem}.count{margin-bottom:.4rem;font-size:.95rem}.bonus-note{color:var(--ink-soft);margin-top:.4rem;font-size:.85rem}.boosts{flex-wrap:wrap;gap:.4rem;min-height:2.4rem;display:flex}.boosts.empty{color:var(--ink-soft);align-items:center;font-size:.8rem}.boost{align-items:center;gap:.3rem;padding:.3rem .7rem;display:inline-flex;position:relative}.boost-name{font-size:.8rem;font-weight:700}.boost-count{background:var(--ink);color:var(--paper);border-radius:999px;padding:0 .4rem;font-size:.7rem}.toast{background:var(--ink);color:var(--paper);z-index:20;text-align:center;pointer-events:none;border-radius:999px;max-width:92vw;padding:.5rem 1rem;font-weight:800;animation:1.8s ease-out forwards rise;position:fixed;top:14%;left:50%;transform:translate(-50%)}.toast.wrong,.toast.shielded{background:var(--danger);color:#fff}.words li.done,.words li.done *{color:var(--on-marker)}.toast.bonus,.toast.life{color:#2b2a33;background:#ffd166}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}12%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-14px)}}.overlay{z-index:10;background:#1e1c2873;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.overlay.light{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;font-size:1.4rem;font-weight:800;display:flex;position:absolute}.card{background:var(--card);border:3px solid var(--ink);text-align:center;box-shadow:var(--shadow);border-radius:22px;width:100%;max-width:380px;padding:1.4rem 1.6rem;animation:.25s ease-out pop}.card h2{margin:0 0 .5rem}.card .big{margin:.4rem 0;font-size:1.8rem;font-weight:900}.card .row{justify-content:center;gap:.6rem;margin-top:.8rem;display:flex}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.toggle{border-bottom:2px dashed var(--paper-line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;font-weight:700;display:flex}.toggle input{width:1.6rem;height:1.6rem;accent-color:var(--marker-strong);flex:none}.words li.emoji{padding:0 .7rem;font-size:1.7rem;line-height:1.5}.card .small{color:var(--ink-soft);text-align:left;font-size:.85rem}.card{position:relative;overflow:hidden}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-10px;left:calc(var(--i) * 7.2%);opacity:.85;width:9px;height:14px;animation:fall 1.8s ease-in calc(var(--i) * 70ms) both;border-radius:2px;position:absolute}@keyframes fall{to{opacity:0;transform:translateY(340px)rotate(540deg)}}.stroke.draw{stroke-dasharray:1;animation:.28s ease-out draw}@keyframes draw{to{stroke-dashoffset:0}}.logo{animation:3.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)rotate(3deg)}}.words li.done{animation:.25s ease-out pop}.boost-guide{text-align:left;flex-direction:column;gap:.6rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.boost-guide li{align-items:flex-start;gap:.7rem;display:flex}.boost-guide .bi{font-size:1.5rem}.boost-guide small{font-size:.82rem}.boosts .ghost{margin-left:auto;font-weight:800}.lives{flex-direction:column;gap:3px;display:flex}.errors{gap:3px;display:flex}.errors i{background:var(--paper-line);border:1px solid var(--ink-soft);border-radius:3px;width:14px;height:6px}.errors i.on{background:var(--danger);border-color:var(--danger);animation:.25s ease-out pop}.countdown{z-index:9;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.countdown span{color:var(--on-marker);-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;text-shadow:0 8px #00000026;background:0 0;font-size:min(42vw,260px);font-weight:900;animation:1s ease-out both count}@keyframes count{0%{opacity:0;transform:scale(2)}25%{opacity:1;transform:scale(1)}85%{opacity:1}to{opacity:0;transform:scale(.8)}}.back-btn{background:var(--card);border-radius:999px;align-items:center;gap:.5rem;padding:.35rem 1rem .35rem .4rem;font-weight:800;display:inline-flex}.back-arrow{background:var(--marker);width:1.7rem;height:1.7rem;color:var(--on-marker);border:2px solid var(--on-marker);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.back-btn:hover .back-arrow{transform:translate(-3px)}.pill{border-radius:999px;align-items:center;gap:.45rem;padding:.45rem 1rem;font-weight:800;display:inline-flex}.pill .count{background:var(--on-marker);min-width:1.35rem;height:1.35rem;color:var(--marker);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.8rem;display:grid}.pause-btn{color:#1b2a41;background:#bde0fe;border-color:#1b2a41;box-shadow:0 2px #1b2a41}.pause-btn .count{color:#bde0fe;background:#1b2a41}.round-btn{border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;padding:0;display:grid}.close-btn{background:var(--danger);color:#fff;border-color:#2b2a33;box-shadow:0 2px #2b2a33}.home-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.4rem;display:flex}.stats-pill{color:#2b2a33;background:linear-gradient(135deg,#ffe566,#ffb703);border-color:#2b2a33;box-shadow:0 2px #2b2a33}.settings-pill{color:#fff;background:linear-gradient(135deg,#a78bfa,#60a5fa);border-color:#2b2a33;box-shadow:0 2px #2b2a33}.gear{transition:transform .6s}.settings-pill:hover .gear{transform:rotate(180deg)}.setup h2 .gear{vertical-align:-3px;color:#7c6cf0;animation:12s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.kofi{color:#fff;background:#ff5e5b;border:2px solid #2b2a33;border-radius:999px;align-items:center;gap:.5rem;margin-top:.8rem;padding:.4rem 1rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 2px #2b2a33}.kofi svg{background:#fff;border-radius:50%;padding:2px}.kofi:hover{filter:brightness(1.08)}.kofi-wrap{justify-content:center;margin-top:1.4rem;display:flex}.logo{display:none}.mini-soup{filter:drop-shadow(0 8px 14px #3c32002e);width:min(62vw,260px);height:auto;transform:rotate(-3deg)}.mini-bg{fill:var(--card);stroke:var(--ink);stroke-width:3px}.mini-letter{font:800 22px var(--font);fill:var(--ink);text-anchor:middle;dominant-baseline:central}.mini-mark{stroke-linecap:round;stroke-width:32px;stroke-dasharray:400;stroke-dashoffset:400px;animation:.9s ease-out forwards draw}.mini-mark.m1{stroke:#ffe94dd9;animation-delay:.3s}.mini-mark.m2{stroke:#ff7eb6b3;animation-delay:1.2s}.panel{background:var(--card);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-left-width:10px;border-radius:18px;margin-top:1rem;padding:.2rem .9rem 1rem}.panel h3{color:var(--ink);align-items:center;gap:.5rem;margin:.9rem 0 .6rem;font-size:1.05rem;display:flex}.panel .step{color:#2b2a33;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.9rem;display:grid}.p-mode{border-left-color:#4cc9f0}.p-mode .step{background:#4cc9f0}.p-type{border-left-color:#ff9f1c}.p-type .step{background:#ff9f1c}.p-diff{border-left-color:#ef476f}.p-diff .step{color:#fff;background:#ef476f}.record{text-align:center;color:#4a3600;background:linear-gradient(110deg,#fff3b0 20%,gold 45%,#fff3b0 70%) 0 0/200% 100%;border:2px solid #b8860b;border-radius:14px;margin:1.2rem 0 0;padding:.55rem 1rem;font-size:1.15rem;animation:3s linear infinite shine}.record b{font-size:1.4rem}.record-banner{color:#4a3600;background:linear-gradient(110deg,#fff3b0 20%,gold 45%,#fff3b0 70%) 0 0/200% 100%;border:2px solid #b8860b;border-radius:12px;padding:.4rem .8rem;font-size:1.25rem;font-weight:900;animation:2s linear infinite shine,.6s ease-out pop}@keyframes shine{to{background-position:-200% 0}}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-top:.8rem;display:grid}.stat-card{background:var(--card);border:2px solid var(--ink);text-align:center;box-shadow:0 3px 0 var(--ink);border-radius:14px;padding:.6rem}.stat-card b{font-size:1.7rem;display:block}.stat-card span{color:var(--ink-soft);font-size:.85rem}.table-wrap{overflow-x:auto}.records{border-collapse:collapse;background:var(--card);border:2px solid var(--ink);border-radius:14px;width:100%;font-size:.92rem;overflow:hidden}.records th{background:var(--marker);color:var(--on-marker);text-align:left;padding:.45rem .5rem}.records td{border-top:1px solid var(--paper-line);padding:.45rem .5rem}.records .score{font-weight:900}.records tr.top td{background:#ffd7002e}@media (prefers-reduced-motion:reduce){.mini-mark{stroke-dashoffset:0;animation:none}}:root[data-calm=true] .mini-mark,:root[data-calm=true] .record,:root[data-calm=true] .record-banner,:root[data-calm=true] .setup h2 .gear{stroke-dashoffset:0;animation:none}
