@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-ext-wght-normal-OacczzuJ.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:Rubik;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-wght-normal-CnQIisVs.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:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2)format("woff2")}@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2)format("woff2")}:root{--cream:#fbf8f3;--paper:#fffefe;--ink:#1a1145;--text:#402b2b;--muted:#6b5a55;--note:#f7e9b0;--note-edge:#d9c36a;--line:#5c4a4524;--blue:#3b5bdb;--good:#1f8a5b;--bad:#d23c55;--gold:#f59e0b;--f-display:"DM Serif Display", Georgia, serif;--f-body:Rubik, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#app{height:100%}[hidden]{display:none!important}body{background:var(--cream);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.55}button,input{font-family:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:10;background:var(--ink);color:#fffefe;border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}#grid:focus,#hero-title:focus{outline:none}.kbd-help{color:var(--muted);margin:-6px 0 0;font-size:13px}.wrap{max-width:1180px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.lr-note{aspect-ratio:1;background:var(--note);border:1px solid var(--note-edge);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;transform:rotate(2deg);box-shadow:0 1px 2px #3e2c280d,0 12px 30px -8px #3e2c282e}.lr-note:after{content:"";background:linear-gradient(135deg, var(--note) 45%, var(--note-edge) 52%);width:16%;height:16%;position:absolute;top:0;right:0}.lr-note.bump{animation:.45s cubic-bezier(.3,1.6,.5,1) bump}@keyframes bump{0%{transform:rotate(2deg)scale(1)}40%{transform:rotate(-4deg)scale(1.15)}to{transform:rotate(2deg)scale(1)}}.top{justify-content:space-between;align-items:center;gap:12px;padding-block:18px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand .lr-note{width:44px;height:44px}.wordmark{letter-spacing:-.3px;font-size:22px;font-weight:700}.wordmark b{color:var(--blue);font-weight:800}.tag{letter-spacing:1.2px;text-transform:uppercase;color:var(--ink);background:var(--note);border:1px solid var(--note-edge);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.icon-btn{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:#f6f1e7}.hero{flex-wrap:wrap;align-items:center;gap:32px;padding-block:28px 20px;display:flex}.hero-copy{flex-direction:column;flex:999 520px;gap:16px;min-width:0;display:flex}.eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:#92400e;margin:0;font-size:13px;font-weight:700}h1{font-family:var(--f-display);color:var(--ink);letter-spacing:-.5px;text-wrap:balance;margin:0;font-size:clamp(2.6rem,5.6vw,4.2rem);font-weight:400;line-height:1.04}.lede{max-width:56ch;color:var(--text);margin:0;font-size:17px}.search{background:var(--paper);border:2px solid var(--line);border-radius:16px;align-items:center;gap:10px;max-width:620px;padding:6px 6px 6px 16px;display:flex;box-shadow:0 6px 18px #3e2c280f}.search:focus-within{border-color:var(--gold)}.search input{min-width:0;min-height:48px;color:var(--ink);background:0 0;border:0;outline:none;flex:auto;font-size:17px}.search input::placeholder{color:#8a7a74}.hero-art{flex:260px;justify-content:center;align-items:center;gap:14px;display:flex}.hero-art .lr-note{flex:none;width:170px;height:170px;transform:rotate(-3deg)}.speech{background:var(--paper);border:1px solid var(--line);max-width:200px;color:var(--ink);border-radius:14px;flex:0 200px;padding:12px 14px;font-weight:600;position:relative;box-shadow:0 8px 20px #3e2c2814}.speech:before{content:"";background:var(--paper);border-left:1px solid var(--line);border-bottom:1px solid var(--line);width:14px;height:14px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)rotate(45deg)}.chips{flex-wrap:wrap;gap:8px;padding-block:8px 20px;display:flex}.chips.modes{padding-block:8px 4px}.chips.modes .chip{min-height:44px;font-size:15px}.chips.modes .chip[aria-pressed=true]{background:var(--note);color:var(--ink);border-color:var(--note-edge)}.sec{flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:8px 0 14px;display:flex}.sec h2 a{color:inherit;text-decoration:none}.sec h2 a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.sec h2{font-family:var(--f-display);color:var(--ink);margin:0;font-size:30px;font-weight:400}.sec p{color:var(--muted);margin:0;font-size:15px}.sec{scroll-margin-top:16px}.sec-count{color:#92400e;background:var(--note);border:1px solid var(--note-edge);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:13px;font-weight:700}.mtag{letter-spacing:.3px;text-transform:uppercase;vertical-align:1px;border-radius:6px;margin-right:4px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.mtag.arcade{color:#9a3412;background:#fde2d3}.mtag.learn{color:#1e3a8a;background:#dde7fb}.std-line{color:var(--text);border:1px solid var(--note-edge);background:#fbf5dc;border-radius:12px;flex-direction:column;gap:6px;margin:0 0 14px;padding:10px 12px;font-size:14px;display:flex}.std-line[hidden]{display:none}.std-line .std-label{letter-spacing:.6px;text-transform:uppercase;color:#92400e;font-size:11px;font-weight:700}.std-line .codes{flex-wrap:wrap;gap:6px;display:flex}.std-line .codes b{color:var(--ink);border:1px solid var(--note-edge);background:#fffefe;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.chip{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--text);border-radius:999px;padding:0 14px;font-size:14px;font-weight:600}a.chip{align-items:center;text-decoration:none;display:inline-flex}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--ink);color:#fffefe;border-color:var(--ink)}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;padding-block:0 40px;display:grid}.card{text-align:left;border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:18px;flex-direction:column;padding:0;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.card:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px #3e2c2838}.thumb{aspect-ratio:16/9;border-bottom:1px solid var(--line);width:100%;max-width:100%;display:block;position:relative;overflow:hidden}.thumb canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.thumb .playbadge{letter-spacing:.6px;text-transform:uppercase;color:var(--ink);background:#fffefed9;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;position:absolute;top:12px;left:12px}.card-body{flex-direction:column;flex-grow:1;gap:6px;padding:14px 16px 16px;display:flex}.card h3{font-family:var(--f-display);color:var(--ink);margin:0;font-size:23px;font-weight:400;line-height:1.15}.meta{color:#92400e;margin:0;font-size:13px;font-weight:600}.blurb{color:var(--muted);flex-grow:1;margin:0;font-size:14px}.card-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.stars{gap:2px;display:inline-flex}.stars svg{width:18px;height:18px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px;margin-bottom:40px;padding:32px}.foot{border-top:1px solid var(--line);color:var(--muted);padding-block:24px 40px;font-size:13px}#play{flex-direction:column;height:100%;display:flex}.bar{padding-block:10px;padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.back{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);border-radius:12px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:14px;font-weight:600;display:inline-flex}.gtitle{flex-direction:column;flex:160px;min-width:0;display:flex}.gtitle strong{font-family:var(--f-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:400;line-height:1.1;overflow:hidden}.gtitle span{color:var(--muted);font-size:12px}.hud{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hud-score{background:var(--ink);color:#fffefe;text-align:right;font-variant-numeric:tabular-nums;border-radius:12px;min-width:92px;padding:4px 12px}.hud-score small{opacity:.75;letter-spacing:.8px;text-transform:uppercase;font-size:11px;display:block}.hud-score b{font-size:22px;font-weight:800}.combo{color:#7a4a00;font-variant-numeric:tabular-nums;background:#fff3c4;border:1px solid #f0de9a;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.combo[data-mult="3"],.combo[data-mult="4"]{background:#ffd9a8;border-color:#f0a75a}.lives{gap:2px;display:inline-flex}.lives .heart{fill:#e64980;transition:transform .2s}.lives .heart.lost{fill:#1a114526}.lives .heart.break{animation:.5s heartbreak}@keyframes heartbreak{0%{fill:#e64980;transform:scale(1.4)}to{transform:scale(1)}}.timer{align-items:center;gap:8px;display:flex}.timer .track{background:#1a11451a;border-radius:999px;width:110px;height:10px;overflow:hidden}.timer .fill{background:var(--blue);border-radius:999px;height:100%;transition:width .2s linear}.timer.low .fill{background:var(--bad)}.timer span{font-variant-numeric:tabular-nums;color:var(--ink);min-width:34px;font-weight:800}.tools{gap:8px;display:flex}#stage{background:#ede6d8;flex:auto;min-height:0;position:relative;overflow:hidden}#cv{touch-action:none;display:block;position:absolute;inset:0}#mascot{left:max(12px, env(safe-area-inset-left,0px));pointer-events:none;z-index:2;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:12px}#mascot .lr-note{width:74px;height:74px}#bubble{background:var(--paper);border:1px solid var(--line);max-width:220px;color:var(--ink);opacity:0;border-radius:12px;margin-bottom:30px;padding:8px 12px;font-size:14px;font-weight:700;transition:opacity .15s,transform .2s;transform:translateY(6px)scale(.95);box-shadow:0 6px 16px #3e2c281f}#bubble.show{opacity:1;transform:none}.overlay{z-index:5;padding:20px max(16px, env(safe-area-inset-left,0px));background:#fbf8f3f0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay[hidden]{display:none}.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;flex-direction:column;gap:14px;width:min(560px,100%);padding:28px;display:flex;box-shadow:0 24px 60px -20px #3e2c284d}.panel-head{align-items:center;gap:16px;display:flex}.panel-head .lr-note{flex:none;width:84px;height:84px}.panel h1,.panel h2{font-family:var(--f-display);color:var(--ink);margin:0;font-size:34px;font-weight:400;line-height:1.1}.panel .sub{color:#92400e;margin:0;font-size:13px;font-weight:600}.how{color:var(--text);flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.controls{color:var(--text);background:#f6f1e7;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--paper);min-height:52px;color:var(--ink);border-radius:14px;justify-content:center;align-items:center;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--ink);color:#fffefe;border-color:var(--ink)}.btn.primary:hover{background:#2a2066}.big-score{font-family:var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:72px;line-height:1}.result-stars{gap:6px;display:flex}.result-stars svg{width:44px;height:44px}.result-stars svg.on{animation:.5s cubic-bezier(.3,1.7,.5,1) both starpop}@keyframes starpop{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{text-align:center;background:#f6f1e7;border-radius:12px;padding:10px}.stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;display:block}.stat small{color:var(--muted);font-size:12px}.newbest{color:#7a4a00;background:#fff3c4;border:1px solid #f0de9a;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:13px;font-weight:800}@media (max-width:640px){.bar{gap:8px}.gtitle strong{font-size:18px}.timer .track{width:70px}#mascot .lr-note{width:58px;height:58px}.panel{padding:20px}.big-score{font-size:56px}}@media (prefers-reduced-motion:reduce){.card,.lr-note.bump,.result-stars svg.on{transition:none;animation:none}}
