:root{--bg:#eef3f9;--surface:#fff;--ink:#18213a;--muted:#56617a;--line:#d7e0ec;--good:#1d8f4e;--bad:#c8402f;--gold:#e39b00;--lock:#c9d3e1;--w:#5b4bdb;--w2:#2bb3c9;--display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--body:"Lexend", "Segoe UI", system-ui, sans-serif;--r:20px;--sun:#ffcb2e;--coral:#e8453c;--mint:#0b9461;--grape:#7a4cf0;--sky:#1f78e6;--outline:#1b1f3b;--shade:#0a0c2861;--on-sky:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-world=space]{--w:#5b4bdb;--w2:#2bb3c9}[data-world=jungle]{--w:#24854a;--w2:#e39b00}[data-world=ocean]{--w:#1270bd;--w2:#14a894}[data-world=dinos]{--w:#c9561f;--w2:#2f8c80}[data-world=block]{--w:#4e7f2a;--w2:#8a6240}*{box-sizing:border-box}html,body{margin:0}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-text-size-adjust:100%;font-size:17px;line-height:1.5}.app{max-width:840px;padding-block:16px 48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-direction:column;gap:16px;margin:0 auto;display:flex;position:relative}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}h1{font-size:clamp(30px,6vw,42px);font-weight:800}h2{font-size:clamp(24px,4.6vw,30px);font-weight:800}h3{font-size:21px;font-weight:700}p{margin:0}.muted{color:var(--muted)}.small{font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid var(--w2);outline-offset:3px}.btn{font-family:var(--display);background:var(--w);color:#fff;min-height:52px;box-shadow:0 4px 0 color-mix(in srgb, var(--w) 60%, #000);border:0;border-radius:999px;padding:12px 24px;font-size:20px;font-weight:700;transition:transform 80ms}.btn.big{min-height:62px;padding:16px 34px;font-size:24px}.btn.ghost{color:var(--ink);border:2px solid var(--line);box-shadow:none;background:0 0}.btn.soft{background:color-mix(in srgb, var(--w) 14%, var(--surface));color:var(--ink);box-shadow:none}.btn.danger{background:var(--bad);box-shadow:0 4px 0 color-mix(in srgb, var(--bad) 60%, #000)}.btn:disabled{opacity:.45;cursor:default}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.link{color:var(--muted);background:0 0;border:0;padding:6px;font-size:15px;text-decoration:underline}.iconbtn{border:2px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:24px;font-weight:800;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#5b4bdb,#2bb3c9);border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.grp{border:2px dashed var(--line);border-radius:12px;flex-wrap:wrap;justify-content:center;gap:4px;max-width:92px;padding:6px;display:flex}.grp i{background:var(--w2);border-radius:50%;width:14px;height:14px}.grp.loose{border-color:#0000}.dots.small .grp i{width:10px;height:10px}.pattern{overflow-wrap:anywhere;line-break:anywhere;letter-spacing:6px;text-align:center;max-width:100%;font-size:40px;line-height:1.2}.fbar{border:3px solid var(--ink);border-radius:8px;width:min(420px,100%);height:54px;display:flex;overflow:hidden}.fbar i{border-right:3px solid var(--ink);flex:1}.fbar i:last-child{border-right:0}.fbar i.on{background:var(--w2)}.picto{background:var(--bg);border-radius:14px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.pr{align-items:center;gap:12px;display:flex}.pl{width:52px;font-weight:600}.pi{letter-spacing:2px;font-size:24px}.gridvis{grid-template-columns:repeat(3,64px);gap:6px;display:grid}.gridvis span{background:var(--bg);border:2px solid var(--line);border-radius:12px;place-items:center;height:64px;font-size:34px;display:grid}.clips{letter-spacing:-6px;font-size:28px}.mascot{flex:none;width:72px;height:72px}svg.vis{max-width:100%;height:auto}.fb .link{color:var(--ink);font-weight:600}.note{color:var(--ink);background:color-mix(in srgb, var(--gold) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));border-radius:12px;padding:8px 12px;font-size:14px}.mascot.pm{width:64px;height:64px}.mascot.cm{width:70px;height:70px}.grid-profiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.pcard{text-align:left;background:var(--surface);border-radius:var(--r);border:2px solid var(--line);flex-direction:column;gap:10px;min-height:190px;padding:18px;display:flex}.pcard:hover{border-color:var(--w)}.pcard .who{font-family:var(--display);font-size:26px;font-weight:800;line-height:1}.pill{background:color-mix(in srgb, var(--w) 14%, var(--surface));border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:13px;font-weight:600;display:inline-flex}.addcard{color:var(--muted);font-family:var(--display);background:0 0;border-style:dashed;justify-content:center;align-items:center;font-size:22px;font-weight:700}label.fld{flex-direction:column;gap:6px;font-weight:600;display:flex}input[type=text]{font:inherit;border:2px solid var(--line);background:var(--bg);color:var(--ink);border-radius:14px;width:100%;max-width:420px;padding:12px 16px;font-size:22px}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.choice{border:2px solid var(--line);background:var(--surface);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.choice[aria-pressed=true]{border-color:var(--w);background:color-mix(in srgb, var(--w) 12%, var(--surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--w) 30%, transparent)}.choice .t{font-family:var(--display);font-size:19px;font-weight:700}.choice:disabled{opacity:.5;cursor:default}.toggle{cursor:pointer;align-items:center;gap:12px;font-weight:600;display:flex}.toggle input{width:26px;height:26px;accent-color:var(--w)}.band{color:#fff;background:linear-gradient(135deg, var(--w), color-mix(in srgb, var(--w) 55%, var(--w2)));border-radius:26px;flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex;position:relative;overflow:hidden}.band:after{content:"";background:color-mix(in srgb, var(--w2) 45%, transparent);opacity:.5;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.band>*{z-index:1;position:relative}.band .mascot{flex:none;width:96px;height:96px}.band .meta{flex-wrap:wrap;gap:8px;display:flex}.band .chip{font-variant-numeric:tabular-nums;background:#fff3;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:600}.lvlbar{background:#ffffff40;border-radius:999px;width:min(260px,100%);height:12px;overflow:hidden}.lvlbar i{background:#fff;border-radius:999px;height:100%;display:block}.map{grid-template-columns:repeat(10,1fr);gap:8px;max-width:620px;display:grid}@media (width<=560px){.map{grid-template-columns:repeat(5,1fr);max-width:320px}}.node{aspect-ratio:1;background:var(--lock);color:var(--muted);font-family:var(--display);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:18px;font-weight:800;line-height:1;display:flex}.node.next{background:var(--surface);color:var(--w);border:4px solid var(--w);animation:1.6s ease-in-out infinite pulse}.node .st{color:#ffe08a;margin-top:2px;font-size:9px}@keyframes pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--w) 25%, transparent)}}.base{background:linear-gradient(180deg, color-mix(in srgb, var(--w2) 30%, #bfe3ff) 0%, color-mix(in srgb, var(--w2) 12%, #e8f6ff) 60%);border:2px solid var(--line);border-radius:18px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}[data-world=block].base{background:linear-gradient(#7ec8f2,#cdebff 60%)}[data-world=dinos].base{background:linear-gradient(#f6b27a,#fbe3c6 60%)}[data-world=jungle].base{background:linear-gradient(#9ed9a8,#e3f5d9 60%)}[data-world=space].base{background:linear-gradient(#1b1846,#3c2e8a 60%)}[data-world=ocean].base{background:linear-gradient(#0b5ea8,#1c8fc9 60%)}.cell{aspect-ratio:1;background:0 0;border:1px dashed #ffffff1f;border-top:0;border-left:0;place-items:center;padding:0;font-size:clamp(20px,5vw,34px);display:grid}.cell.ground{background:color-mix(in srgb, var(--w) 70%, #2a1a0a)}[data-world=space] .cell.ground{background:#5c5a6e}[data-world=ocean] .cell.ground{background:#d9c38a}.base.edit .cell:hover{background:#ffffff40}.palettes{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.palette{border:2px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.palette .e{font-size:30px;line-height:1.1}.palette .n{color:var(--muted);text-align:center;font-size:12px}.palette .cost{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.palette.sel{border-color:var(--w);box-shadow:0 0 0 3px color-mix(in srgb, var(--w) 30%, transparent)}.palette[aria-disabled=true]{opacity:.5}.palette.locked{opacity:.6;border-style:dashed}.palette.locked .e{font-family:var(--display);color:var(--lock);font-weight:800}.coinbig{font-family:var(--display);font-size:28px;font-weight:800}.item{aspect-ratio:1;background:color-mix(in srgb, var(--w) 10%, var(--surface));border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:92px;display:flex}.item .e{font-size:36px;line-height:1}.item .n{color:var(--muted);font-size:12px}.fresh{animation:.6s ease-out pop}@keyframes pop{0%{opacity:.2;transform:scale(.4)}70%{transform:scale(1.12)}to{transform:scale(1)}}.qhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.roundtag{font-family:var(--display);align-items:center;gap:8px;font-size:19px;font-weight:800;display:flex}.roundtag .dot{background:var(--w);border-radius:50%;width:14px;height:14px}.prog{flex-wrap:wrap;gap:6px;display:flex}.prog i{background:var(--lock);border-radius:50%;width:13px;height:13px}.rounds{flex-wrap:wrap;gap:6px;display:flex}.rounds span{background:var(--lock);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.rounds span.on{background:var(--w);color:#fff}.coinchip{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--gold) 18%, var(--surface));border-radius:999px;padding:6px 12px;font-weight:700}.coinchip.bump{animation:.4s bump}@keyframes bump{50%{transform:scale(1.25)}}.intro{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;display:flex}.mascot.big{width:140px;height:140px}.bounce{animation:1.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-8px)}}.game{flex-direction:column;gap:12px;display:flex}.qcard{background:var(--surface);border:1px solid var(--line);border-radius:24px;flex-direction:column;gap:14px;padding:20px;display:flex}.prompt{align-items:flex-start;gap:12px;font-size:clamp(20px,4.4vw,26px);font-weight:500;line-height:1.35;display:flex}.prompt .txt{flex:1;min-width:0}.passage{background:var(--bg);border-left:6px solid var(--w2);border-radius:16px;padding:14px 16px;font-size:18px;line-height:1.6}.say{background:color-mix(in srgb, var(--w) 15%, var(--surface));border:0;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;display:grid}.say svg{width:26px;height:26px;fill:var(--w)}.visual{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.stage{border-radius:18px;height:330px;position:relative;overflow:hidden}.ground-line{background:color-mix(in srgb, var(--w) 45%, var(--surface));height:10px;position:absolute;bottom:0;left:0;right:0}.balloon{aspect-ratio:4/5;background:var(--bc);color:#fff;width:min(104px,23%);font-family:var(--display);animation:rise var(--d) linear forwards;border:0;border-radius:50% 50% 48% 48%;place-items:center;margin-left:calc(min(104px,23%)/-2);padding:4px;font-size:clamp(17px,4vw,24px);font-weight:800;display:grid;position:absolute;bottom:-60px;box-shadow:inset -8px -10px #00000024}.balloon:after{content:"";background:color-mix(in srgb, var(--ink) 40%, transparent);width:2px;height:34px;position:absolute;bottom:-34px;left:50%}.balloon span{word-break:break-word;line-height:1.05}@keyframes rise{to{transform:translateY(-420px)}}.drop{background:var(--bc);color:#fff;width:min(150px,23%);min-height:58px;animation:fall var(--d) linear forwards;border:0;border-radius:14px;margin-left:calc(min(150px,23%)/-2);padding:8px 6px;font-size:clamp(14px,3.6vw,19px);font-weight:700;line-height:1.15;position:absolute;top:-80px;box-shadow:0 4px #0000002e}@keyframes fall{to{transform:translateY(400px)}}.balloon.hit,.drop.hit{transform-origin:50%;outline:4px solid var(--good);outline-offset:3px;background:var(--good);animation-play-state:paused!important}.balloon.bust,.drop.bust{opacity:.25;filter:grayscale()}.balloon.reveal,.drop.reveal{outline:4px dashed var(--good);outline-offset:3px}.paused .balloon,.paused .drop,.paused .tbar i,.paused #btimer{animation-play-state:paused!important}.opts{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.opt{border:3px solid var(--line);background:var(--surface);text-align:center;font-variant-numeric:tabular-nums;border-radius:18px;min-height:64px;padding:14px 16px;font-size:20px;font-weight:600}.opt:hover:not(:disabled){border-color:var(--w)}.opt.hit{border-color:var(--good);background:color-mix(in srgb, var(--good) 16%, var(--surface))}.opt.bust{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, var(--surface));opacity:.7;text-decoration:line-through}.opt.reveal{border-color:var(--good);border-style:dashed}.opt:disabled{cursor:default}.tbar{background:var(--lock);border-radius:999px;height:10px;overflow:hidden}.tbar i{background:var(--gold);transform-origin:0;width:100%;height:100%;animation:drain var(--d) linear forwards;display:block}.tbar.boss{background:color-mix(in srgb, var(--gold) 22%, var(--lock));height:12px}.tbar.boss i{background:var(--gold);animation:none}.tlabel{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.tbar i.frozen{background:#7cc8f0}@keyframes drain{to{transform:scaleX(0)}}.answerbox{font-family:var(--display);border:3px solid var(--line);font-variant-numeric:tabular-nums;background:var(--bg);border-radius:18px;justify-content:center;align-items:center;width:100%;max-width:320px;min-height:70px;margin:0 auto;font-size:42px;font-weight:800;display:flex}.answerbox.right{border-color:var(--good)}.pad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:320px;margin:0 auto;display:grid}.pad button{min-height:58px;font-family:var(--display);background:var(--bg);border:2px solid var(--line);border-radius:16px;font-size:26px;font-weight:800}.pad button.go{background:var(--w);color:#fff;border-color:var(--w);font-size:22px}.track{background:color-mix(in srgb, var(--w) 10%, var(--surface));border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:10px 46px 10px 10px;display:flex;position:relative}.lane{border-bottom:2px dashed var(--line);height:46px;position:relative}.lane:last-child{border-bottom:0}.runner{place-items:center;width:46px;height:46px;font-size:32px;transition:left .5s;display:grid;position:absolute;top:0}.runner .mascot{width:46px;height:46px}.runner.rival{transition:none}.flag{font-size:30px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.slots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.slot{border-bottom:4px solid var(--w);width:48px;height:58px;font-family:var(--display);place-items:center;font-size:34px;font-weight:800;display:grid}.slot.fill{animation:.3s pop}.tiles{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tile{background:var(--w2);color:#fff;width:58px;height:58px;font-family:var(--display);box-shadow:0 4px 0 color-mix(in srgb, var(--w2) 60%, #000);border:0;border-radius:14px;font-size:30px;font-weight:800}.tile.used{visibility:hidden}.tile.hint{outline:4px solid var(--gold);animation:.8s infinite bob}.nope{animation:.35s shake}.cards{flex-wrap:wrap;justify-content:center;gap:10px;min-height:50px;display:flex}.scard{border:3px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 14px;font-size:18px;font-weight:600}.scard.sel{border-color:var(--w);background:color-mix(in srgb, var(--w) 14%, var(--surface));transform:translateY(-4px)}.bins{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bin{border:3px dashed var(--w);background:color-mix(in srgb, var(--w) 8%, var(--surface));border-radius:18px;flex-direction:column;align-items:center;gap:8px;min-height:150px;padding:12px;display:flex}.bin .bt{font-family:var(--display);font-size:19px;font-weight:800;line-height:1.1}.bin .bl{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chipin{background:var(--good);color:#fff;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:600;animation:.3s pop}.bossbar{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:14px;padding:12px 14px;display:flex}.bossicon{font-size:56px;line-height:1;animation:1.4s ease-in-out infinite bob}.bossicon.big{font-size:90px}.bossicon.hit{animation:.5s hit}@keyframes hit{30%{filter:brightness(2);transform:scale(.8)rotate(-12deg)}}.hearts{letter-spacing:2px;font-size:20px}.hp{background:var(--lock);border-radius:999px;height:16px;overflow:hidden}.hp i{background:var(--bad);height:100%;transition:width .4s;display:block}.powers{flex-wrap:wrap;gap:8px;display:flex}.power{border:2px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:15px;font-weight:600}.power:disabled{opacity:.4;cursor:default}.fb{border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.fb .stack{flex:1;min-width:180px}.fb.good{background:color-mix(in srgb, var(--good) 14%, var(--surface));border:2px solid color-mix(in srgb, var(--good) 45%, transparent)}.fb.bad{background:color-mix(in srgb, var(--bad) 10%, var(--surface));border:2px solid color-mix(in srgb, var(--bad) 40%, transparent)}.fb.try{background:color-mix(in srgb, var(--gold) 14%, var(--surface));border:2px solid color-mix(in srgb, var(--gold) 45%, transparent)}.fb .h{font-family:var(--display);font-size:21px;font-weight:800}.fb .mascot{flex:none;width:52px;height:52px}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:20;text-align:center;border-radius:999px;max-width:90vw;padding:10px 18px;font-weight:600;position:fixed;transform:translate(-50%)}.toast.show{animation:.35s pop}.overlay{z-index:30;background:#0a0e1a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay .card{width:100%;max-width:420px}.stars{letter-spacing:6px;color:var(--gold);font-size:54px;line-height:1}.stars .off{color:var(--lock)}.stats3{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:520px;display:grid}.stats3 div{background:var(--bg);text-align:center;border-radius:16px;padding:12px}.stats3 b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;display:block}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.code{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:13px}.status{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.s-strong{background:color-mix(in srgb, var(--good) 18%, var(--surface));color:var(--good)}.s-build{background:color-mix(in srgb, var(--gold) 20%, var(--surface));color:color-mix(in srgb, var(--gold) 60%, var(--ink))}.s-need{background:color-mix(in srgb, var(--bad) 15%, var(--surface));color:var(--bad)}.s-none{background:var(--bg);color:var(--muted)}.kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.kpis div{background:var(--bg);border-radius:14px;padding:12px}.kpis b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:24px;display:block}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tabs button{border:2px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 16px;font-weight:600}.tabs button[aria-selected=true]{border-color:var(--w);background:color-mix(in srgb, var(--w) 12%, var(--surface))}.confirm{border:2px solid var(--bad);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}@media (prefers-reduced-motion:reduce){.bounce,.node.next,.fresh,.shake,.nope,.tile.hint,.bossicon.hit{animation:none!important}}.funbreak h2{text-wrap:balance;max-width:22ch}.funbreak .opts{width:100%;max-width:420px}.punchline{margin:0;font-size:22px;font-weight:700;animation:.4s bump}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lesson{flex-direction:column;gap:18px;display:flex}.lessonhead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.steplist{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:14px;font-weight:600;list-style:none;display:flex}.steplist li{align-items:center;gap:7px;display:flex}.steplist .dot{background:var(--line);border-radius:50%;width:11px;height:11px}.steplist li.now{color:var(--ink)}.steplist li.now .dot{background:var(--w);box-shadow:0 0 0 4px color-mix(in srgb, var(--w) 22%, transparent)}.steplist li.done .dot{background:var(--good)}.steplist .of{color:var(--muted);font-weight:400}.narrator{align-items:flex-start;gap:14px;display:flex}.mascot{flex:none}.mascot.talking{animation:.9s ease-in-out infinite talk-bob}@keyframes talk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.bubble{background:var(--surface);border:2px solid var(--line);border-radius:18px;flex:1;min-width:0;padding:14px 18px}.caption{font-size:19px;line-height:1.45}.bubble .say-again{margin-top:4px;padding-left:0}.stagebody{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;align-items:center;gap:18px;padding:22px 18px;display:flex}.taskprompt{font-family:var(--display);text-align:center;text-wrap:balance;font-size:22px;font-weight:700}.note.hint{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}.options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;width:100%;display:grid}.btn.option{border:2px solid var(--line);min-height:62px;font-size:21px}.btn.option.picked{border-color:var(--w);background:color-mix(in srgb, var(--w) 22%, var(--surface))}.btn.option.right{border-color:var(--good);background:color-mix(in srgb, var(--good) 18%, var(--surface))}.b10board{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px;display:flex}.b10col{border:2px dashed #0000;border-radius:14px;flex-direction:column;align-items:center;gap:8px;min-width:78px;padding:10px;display:flex}.b10col.lit{border-color:var(--w);background:color-mix(in srgb, var(--w) 10%, transparent)}.b10label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.b10digit{font-family:var(--display);font-size:26px;font-weight:800}.b10pile{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:4px;max-width:120px;min-height:56px;display:flex}.b10arrow{color:var(--muted);padding-bottom:36px;font-size:30px}.b10.ones,.b10.tens,.b10.hundreds,.b10.thousands{background:var(--w2);border:1px solid color-mix(in srgb, var(--ink) 35%, var(--w2));border-radius:2px;display:inline-block}.b10.ones{width:11px;height:11px}.b10.tens{background-image:repeating-linear-gradient(to bottom, transparent 0 4.6px, color-mix(in srgb, var(--ink) 30%, transparent) 4.6px 5.6px);width:11px;height:56px}.b10.hundreds{background-image:repeating-linear-gradient(to bottom, transparent 0 4.6px, color-mix(in srgb, var(--ink) 30%, transparent) 4.6px 5.6px), repeating-linear-gradient(to right, transparent 0 4.6px, color-mix(in srgb, var(--ink) 30%, transparent) 4.6px 5.6px);width:56px;height:56px}.b10.thousands{background:var(--w);width:56px;height:56px;box-shadow:4px -4px 0 -1px color-mix(in srgb, var(--w) 70%, #fff), 8px -8px 0 -2px color-mix(in srgb, var(--w) 50%, #fff);border-radius:4px;margin:10px 10px 0 0}.b10.flash{animation:.5s ease-out snap}@keyframes snap{0%{filter:brightness(1.6);transform:scale(1.3)}to{filter:none;transform:scale(1)}}.b10.chip{vertical-align:-2px;width:14px;height:14px;box-shadow:none;background-image:none;margin-right:7px}.b10{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.b10number{font-family:var(--display);font-size:32px;font-weight:800}.b10versus,.b10caption{color:var(--muted);font-size:14px}.b10tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.btn.b10add{min-height:48px;padding:10px 16px;font-size:16px}.pvchart{border-collapse:collapse;width:auto;min-width:0}.pvchart th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 10px;font-size:12px;font-weight:700}.pvchart td{border:2px solid var(--line);padding:0}.pvcell select{font-family:var(--display);text-align:center;background:var(--surface);width:72px;height:72px;color:var(--ink);appearance:none;text-align-last:center;border:0;font-size:30px;font-weight:800}.soundblock{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.soundout{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sound-tile{font-family:var(--display);border:3px solid var(--line);background:var(--surface);min-width:58px;min-height:72px;color:var(--ink);border-radius:14px;place-items:center;padding:6px 12px;font-size:34px;font-weight:800;display:grid}.sound-tile.digraph{letter-spacing:-1px;border-style:double;border-width:5px}.sound-tile.lit{border-color:var(--w);background:color-mix(in srgb, var(--w) 20%, var(--surface));transition:transform .12s;transform:translateY(-4px)}.sound-tile.done{border-color:var(--good);background:color-mix(in srgb, var(--good) 16%, var(--surface))}.sound-tile:disabled{cursor:default}.soundword{font-family:var(--display);font-size:28px;font-weight:800}.soundstate{color:var(--muted);text-align:center;font-size:15px}.countpad{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn.count{border:2px solid var(--line);min-width:64px;min-height:64px;font-size:26px}.btn.count.picked{border-color:var(--w);background:color-mix(in srgb, var(--w) 22%, var(--surface))}.app{color:var(--on-sky);min-height:100dvh}.app:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--sky1), var(--sky2));position:fixed;inset:0}.scene{z-index:-1;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.scene i,.scene b{display:block;position:absolute}.scene i{background-repeat:no-repeat;inset:0}.scene b{border-radius:50%;display:none}@keyframes scene-drift{to{transform:translateX(calc(var(--tile) * -1))}}@keyframes scene-sway{0%{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}@keyframes scene-float{0%{transform:translateY(-6px)rotate(-1.5deg)}to{transform:translateY(8px)rotate(1.5deg)}}@keyframes scene-twinkle{0%,to{opacity:.2}50%{opacity:.95}}@keyframes scene-firefly{0%,to{opacity:.1;transform:translate(0)}25%{opacity:.9;transform:translate(16px,-20px)}50%{opacity:.25;transform:translate(34px,-6px)}75%{opacity:.9;transform:translate(12px,12px)}}@keyframes scene-rise{0%{opacity:0;transform:translateY(0)}10%,80%{opacity:.6}to{opacity:0;transform:translateY(-112vh)}}@keyframes scene-rays{0%{opacity:.55;transform:translate(-14px)}to{opacity:1;transform:translate(14px)}}@keyframes scene-smoke{0%{opacity:0;transform:translate(0)scale(.5)}25%{opacity:.4}to{opacity:0;transform:translate(34px,-130px)scale(1.9)}}[data-world=space]{--sky1:#150f4a;--sky2:#4a2fb8}[data-world=space] .scene .far{--tile:300px;opacity:.75;background-image:radial-gradient(circle at 12% 18%,#fff 0 1px,#0000 1.8px),radial-gradient(circle at 58% 9%,#cfd8ff 0 1px,#0000 1.8px),radial-gradient(circle at 83% 44%,#fff 0 1px,#0000 1.8px),radial-gradient(circle at 36% 57%,#fff 0 1.2px,#0000 2px),radial-gradient(circle at 70% 81%,#cfd8ff 0 1px,#0000 1.8px),radial-gradient(circle at 9% 86%,#fff 0 1px,#0000 1.8px);background-repeat:repeat;background-size:300px 300px;animation:200s linear infinite scene-drift;right:-300px}[data-world=space] .scene .mid{--tile:420px;background-image:radial-gradient(circle at 12% 18%,#fff 0 2px,#0000 3px),radial-gradient(circle at 78% 9%,#ffe27a 0 3px,#0000 4px),radial-gradient(circle at 43% 62%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 91% 71%,#9fe8ff 0 2px,#0000 3px),radial-gradient(circle at 27% 88%,#fff 0 2px,#0000 3px),radial-gradient(circle at 64% 36%,#ffb3f0 0 2px,#0000 3px);background-repeat:repeat;background-size:420px 420px;animation:130s linear infinite scene-drift;right:-420px}[data-world=space] .scene .near{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cdefs%3E%3CclipPath id='c'%3E%3Ccircle cx='130' cy='130' r='70'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='rotate(-18 130 130)'%3E%3Cpath d='M10 130 A120 30 0 0 1 250 130' fill='none' stroke='%237f66e4' stroke-width='9'/%3E%3Ccircle cx='130' cy='130' r='70' fill='%236247d0'/%3E%3Cg clip-path='url(%23c)' fill='none'%3E%3Cpath d='M50 108 Q130 86 210 106' stroke='%23765ce0' stroke-width='13'/%3E%3Cpath d='M50 152 Q130 176 210 150' stroke='%235238bd' stroke-width='15'/%3E%3Ccircle cx='104' cy='128' r='9' fill='%235238bd'/%3E%3C/g%3E%3Cpath d='M10 130 A120 30 0 0 0 250 130' fill='none' stroke='%237f66e4' stroke-width='9' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");width:260px;height:260px;animation:18s ease-in-out infinite alternate scene-float;inset:auto -70px 7vh auto}[data-world=space] .scene b{background:#fff;width:5px;height:5px;animation:4s ease-in-out infinite scene-twinkle;display:block;box-shadow:0 0 6px 1px #fff8}[data-world=jungle]{--sky1:#0b6b3a;--sky2:#2a9a4b}[data-world=jungle] .scene .far{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='140' viewBox='0 0 480 140'%3E%3Cpath d='M0 0H480V60C450 110 410 110 390 70C370 130 310 130 290 80C270 120 220 115 200 70C170 140 110 130 95 75C70 115 20 110 0 60Z' fill='%23075229'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='120' viewBox='0 0 520 120'%3E%3Cpath d='M0 120V60C30 20 70 20 90 55C110 10 170 5 190 50C220 20 270 25 290 60C320 15 380 10 400 55C430 25 490 25 520 60V120Z' fill='%231b7a3c'/%3E%3C/svg%3E");background-position:0 0,0 100%;background-repeat:repeat-x}[data-world=jungle] .scene .mid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg transform='rotate(0 150 150)'%3E%3Cpath d='M0 300 C-15 195 15 105 60 30 C105 120 75 225 0 300Z' fill='%23084f2b'/%3E%3Cpath d='M0 300 C15 180 90 90 195 60 C180 165 120 255 0 300Z' fill='%230a5a31'/%3E%3Cpath d='M0 300 C90 225 195 195 285 225 C210 285 105 308 0 300Z' fill='%230c6335'/%3E%3Cg fill='none' stroke='%231c8446' stroke-width='4' stroke-linecap='round' opacity='.7'%3E%3Cpath d='M4 292 C20 190 40 110 58 50'/%3E%3Cpath d='M6 294 C60 200 120 120 180 76'/%3E%3Cpath d='M8 296 C100 250 190 225 268 226'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg transform='rotate(180 150 150)'%3E%3Cpath d='M0 300 C-15 195 15 105 60 30 C105 120 75 225 0 300Z' fill='%23084f2b'/%3E%3Cpath d='M0 300 C15 180 90 90 195 60 C180 165 120 255 0 300Z' fill='%230a5a31'/%3E%3Cpath d='M0 300 C90 225 195 195 285 225 C210 285 105 308 0 300Z' fill='%230c6335'/%3E%3Cg fill='none' stroke='%231c8446' stroke-width='4' stroke-linecap='round' opacity='.7'%3E%3Cpath d='M4 292 C20 190 40 110 58 50'/%3E%3Cpath d='M6 294 C60 200 120 120 180 76'/%3E%3Cpath d='M8 296 C100 250 190 225 268 226'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:0 100%,100% 0;background-size:min(300px,46vw),min(300px,46vw);animation:11s ease-in-out infinite alternate scene-sway;inset:-30px}[data-world=jungle] .scene .near{opacity:.8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg transform='rotate(270 150 150)'%3E%3Cpath d='M0 300 C-15 195 15 105 60 30 C105 120 75 225 0 300Z' fill='%23084f2b'/%3E%3Cpath d='M0 300 C15 180 90 90 195 60 C180 165 120 255 0 300Z' fill='%230a5a31'/%3E%3Cpath d='M0 300 C90 225 195 195 285 225 C210 285 105 308 0 300Z' fill='%230c6335'/%3E%3Cg fill='none' stroke='%231c8446' stroke-width='4' stroke-linecap='round' opacity='.7'%3E%3Cpath d='M4 292 C20 190 40 110 58 50'/%3E%3Cpath d='M6 294 C60 200 120 120 180 76'/%3E%3Cpath d='M8 296 C100 250 190 225 268 226'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg transform='rotate(90 150 150)'%3E%3Cpath d='M0 300 C-15 195 15 105 60 30 C105 120 75 225 0 300Z' fill='%23084f2b'/%3E%3Cpath d='M0 300 C15 180 90 90 195 60 C180 165 120 255 0 300Z' fill='%230a5a31'/%3E%3Cpath d='M0 300 C90 225 195 195 285 225 C210 285 105 308 0 300Z' fill='%230c6335'/%3E%3Cg fill='none' stroke='%231c8446' stroke-width='4' stroke-linecap='round' opacity='.7'%3E%3Cpath d='M4 292 C20 190 40 110 58 50'/%3E%3Cpath d='M6 294 C60 200 120 120 180 76'/%3E%3Cpath d='M8 296 C100 250 190 225 268 226'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:100% 100%,0 0;background-size:min(210px,34vw),min(210px,34vw);animation:15s ease-in-out -4s infinite alternate-reverse scene-sway;inset:-30px}[data-world=jungle] .scene b{background:#ffe27a;width:6px;height:6px;animation:12s ease-in-out infinite scene-firefly;display:block;box-shadow:0 0 10px 3px #ffe27a77}[data-world=ocean]{--sky1:#0a4fb0;--sky2:#0c8fc4}[data-world=ocean] .scene .far{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='600' viewBox='0 0 800 600' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.17'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M120 0H210L120 600H-40Z'/%3E%3Cpath d='M330 0H380L430 600H300Z'/%3E%3Cpath d='M520 0H640L770 600H560Z'/%3E%3Cpath d='M705 0H735L870 600H790Z'/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%;animation:10s ease-in-out infinite alternate scene-rays;inset:0 -20px 25%}[data-world=ocean] .scene .mid,[data-world=ocean] .scene .prop{--tile:600px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='60' viewBox='0 0 600 60'%3E%3Cpath d='M0 20C100 0 200 0 300 20C400 40 500 40 600 20V36C500 56 400 56 300 36C200 16 100 16 0 36Z' fill='%23003a7a' fill-opacity='.16'/%3E%3C/svg%3E");background-repeat:repeat-x;height:60px;animation:70s linear infinite scene-drift;inset:38% -600px auto 0}[data-world=ocean] .scene .prop{animation-duration:95s;animation-direction:reverse;top:66%}[data-world=ocean] .scene .near{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='170' viewBox='0 0 640 170'%3E%3Cg fill='none' stroke='%230a6394' stroke-width='10' stroke-linecap='round'%3E%3Cpath d='M90 130C70 104 110 84 90 54C80 38 96 28 92 14'/%3E%3Cpath d='M124 128C140 104 108 88 126 62'/%3E%3Cpath d='M436 112V66M436 94L414 70M436 86L460 60'/%3E%3C/g%3E%3Cpath d='M0 170V120C80 95 160 100 240 118C330 138 420 100 500 104C560 106 600 115 640 120V170Z' fill='%230a6f9f'/%3E%3C/svg%3E");background-position:0 100%;background-repeat:repeat-x}[data-world=ocean] .scene b{border:2px solid #fff8;width:14px;height:14px;animation:22s linear infinite scene-rise;display:block}[data-world=dinos]{--sky1:#a3320b;--sky2:#d95f14}[data-world=dinos] .scene .far{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='220' viewBox='0 0 600 220'%3E%3Cpath d='M0 220V120C60 70 130 60 190 100C240 130 280 60 360 50C440 40 480 110 520 120C560 130 580 125 600 120V220Z' fill='%23b8480f'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='200' viewBox='0 0 260 200'%3E%3Cpath d='M10 200L95 40Q105 28 118 36L130 44L142 34Q155 28 165 40L250 200Z' fill='%23a53d0e'/%3E%3Cpath d='M165 40L250 200H170Z' fill='%23000' fill-opacity='.14'/%3E%3Cpath d='M95 40Q105 28 118 36L130 44L142 34Q155 28 165 40L158 64L146 50L136 78L124 52L112 68L104 50Z' fill='%23ffb52e'/%3E%3C/svg%3E");background-position:0 100%,right 40px bottom 105px;background-repeat:repeat-x,no-repeat}[data-world=dinos] .scene .mid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='160' viewBox='0 0 180 160'%3E%3Cg fill='none' stroke='%231c5a48'%3E%3Cg stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M90 160Q80 90 30 60'/%3E%3Cpath d='M90 160Q88 70 70 20'/%3E%3Cpath d='M90 160Q100 70 120 25'/%3E%3Cpath d='M90 160Q110 100 160 70'/%3E%3Cpath d='M90 160Q60 120 15 115'/%3E%3Cpath d='M90 160Q125 125 172 122'/%3E%3C/g%3E%3Cg stroke-width='26' stroke-dasharray='5 7'%3E%3Cpath d='M90 160Q80 90 30 60'/%3E%3Cpath d='M90 160Q88 70 70 20'/%3E%3Cpath d='M90 160Q100 70 120 25'/%3E%3Cpath d='M90 160Q110 100 160 70'/%3E%3Cpath d='M90 160Q60 120 15 115'/%3E%3Cpath d='M90 160Q125 125 172 122'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='160' viewBox='0 0 180 160'%3E%3Cg fill='none' stroke='%231c5a48'%3E%3Cg stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M90 160Q80 90 30 60'/%3E%3Cpath d='M90 160Q88 70 70 20'/%3E%3Cpath d='M90 160Q100 70 120 25'/%3E%3Cpath d='M90 160Q110 100 160 70'/%3E%3Cpath d='M90 160Q60 120 15 115'/%3E%3Cpath d='M90 160Q125 125 172 122'/%3E%3C/g%3E%3Cg stroke-width='26' stroke-dasharray='5 7'%3E%3Cpath d='M90 160Q80 90 30 60'/%3E%3Cpath d='M90 160Q88 70 70 20'/%3E%3Cpath d='M90 160Q100 70 120 25'/%3E%3Cpath d='M90 160Q110 100 160 70'/%3E%3Cpath d='M90 160Q60 120 15 115'/%3E%3Cpath d='M90 160Q125 125 172 122'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='150' viewBox='0 0 520 150'%3E%3Cpath d='M0 150V80C50 40 110 40 160 75C210 110 260 100 310 70C370 35 450 45 520 80V150Z' fill='%2393340c'/%3E%3C/svg%3E");background-position:left -30px bottom 20px,right -40px bottom 6px,0 100%;background-repeat:no-repeat,no-repeat,repeat-x;background-size:180px,150px,auto}[data-world=dinos] .scene .near{--tile:900px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='80' viewBox='0 0 900 80'%3E%3Cg fill='none' stroke='%237a260a' stroke-opacity='.6' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M100 44q11 -14 22 0q11 -14 22 0'/%3E%3Cpath d='M560 22q8 -10 16 0q8 -10 16 0'/%3E%3Cpath d='M610 40q6 -8 12 0q6 -8 12 0'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat-x;height:80px;animation:150s linear infinite scene-drift;inset:14vh -900px auto 0}[data-world=dinos] .scene b{opacity:0;background:#5a1c08;width:22px;height:22px;animation:9s ease-out infinite scene-smoke;display:block}[data-world=block]{--sky1:#1c66c6;--sky2:#2b8ade}[data-world=block] .scene .far{--tile:520px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='300' viewBox='0 0 520 300'%3E%3Cg fill='%23fff' fill-opacity='.1'%3E%3Cpath d='M30 60h20V40h60v20h20v20H30z'/%3E%3Cpath d='M300 200h15v-15h50v15h15v15h-80z'/%3E%3C/g%3E%3C/svg%3E");background-position:0 30px;background-repeat:repeat-x;animation:240s linear infinite scene-drift;right:-520px}[data-world=block] .scene .mid{--tile:760px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='420' viewBox='0 0 760 420'%3E%3Cg fill='%23fff' fill-opacity='.16'%3E%3Cpath d='M60 100h40V60h120v40h40v40H60z'/%3E%3Cpath d='M440 310h30v-30h100v30h30v30H440z'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat-x;animation:150s linear infinite scene-drift;right:-760px}[data-world=block] .scene .near{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='200' viewBox='0 0 480 200'%3E%3Cpath d='M0 200V120H40V80H120V40H200V80H240V120H320V80H400V120H480V200Z' fill='%232a7a66'/%3E%3C/svg%3E");background-position:0 100%;background-repeat:repeat-x}[data-world=block] .scene .prop{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='220' viewBox='0 0 560 220'%3E%3Crect x='203' y='60' width='14' height='32' fill='%235d4028'/%3E%3Cpath d='M182 14h14V0h28v14h14v50h-56z' fill='%23245f28'/%3E%3Crect x='448' y='100' width='12' height='26' fill='%235d4028'/%3E%3Crect x='432' y='62' width='44' height='40' fill='%23245f28'/%3E%3Cpath d='M0 220V160H70V125H175V90H245V125H315V160H420V125H490V160H560V220Z' fill='%232f7a33'/%3E%3Cpath d='M0 220V185H560V220Z' fill='%23000' fill-opacity='.16'/%3E%3C/svg%3E");background-position:120px 100%;background-repeat:repeat-x}.scene b:first-child{top:22%;left:14%}.scene b:nth-child(2){animation-duration:15s;animation-delay:-3s;top:34%;left:82%}.scene b:nth-child(3){animation-delay:-6s;top:12%;left:58%}.scene b:nth-child(4){animation-duration:17s;animation-delay:-8s;top:68%;left:30%}.scene b:nth-child(5){animation-delay:-11s;top:78%;left:91%}.scene b:nth-child(6){animation-duration:19s;animation-delay:-14s;top:52%;left:6%}[data-world=space] .scene b:nth-child(n){animation-duration:5s}[data-world=space] .scene b:nth-child(2n){animation-duration:7s}[data-world=ocean] .scene b:nth-child(n){top:102%}[data-world=ocean] .scene b:nth-child(2n){width:9px;height:9px;animation-duration:30s}[data-world=ocean] .scene b:nth-child(3n){width:20px;height:20px;animation-duration:26s}[data-world=dinos] .scene b:nth-child(n){animation-duration:9s;inset:auto 158px 291px auto}[data-world=dinos] .scene b:nth-child(2){animation-delay:-3s}[data-world=dinos] .scene b:nth-child(3){animation-delay:-6s}[data-world=dinos] .scene b:nth-child(n+4){display:none}@media (prefers-reduced-motion:reduce){.scene i,.scene b{animation:none!important}[data-world=ocean] .scene b,[data-world=dinos] .scene b{display:none}}.muted,.eyebrow,.link{color:color-mix(in srgb, currentColor 78%, transparent)}.brand-mark{background:var(--sun);color:var(--outline);border:3px solid var(--outline);box-shadow:0 3px 0 var(--outline)}.card,.qcard,.pcard,.band,.bossbar,.track,.fb,.choice,.palette,.item,.confirm{color:var(--ink);border:3px solid var(--outline);box-shadow:0 6px 0 var(--shade)}.card,.qcard{border-radius:28px}.pcard.addcard{color:var(--on-sky);box-shadow:none;background:#fff2;border:3px dashed #fffa}.pcard:not(.addcard):hover,.choice:not(:disabled):hover{border-color:var(--outline);transform:translateY(-3px)rotate(-.6deg)}.pcard,.choice{transition:transform .12s}.pcard:active,.choice:active{box-shadow:0 2px 0 var(--shade);transform:translateY(3px)}.choice[aria-pressed=true]{background:var(--sun);border-color:var(--outline);box-shadow:0 6px 0 var(--shade);transform:rotate(-1.2deg)scale(1.03)}.pill,.coinchip,.iconbtn,.power,.tabs button,.note,.rounds span,.toast,.scard,.bin,.opt,.answerbox,.pad button,input[type=text]{color:var(--ink)}.btn{background:var(--sun);color:var(--outline);border:3px solid var(--outline);box-shadow:0 5px 0 var(--outline);letter-spacing:.01em}.btn:active{box-shadow:0 1px 0 var(--outline);transform:translateY(4px)}.btn.ghost{background:var(--surface);color:var(--ink);border:3px solid var(--outline);box-shadow:0 5px 0 var(--outline)}.btn.soft{background:var(--surface);box-shadow:0 5px 0 var(--outline)}.btn.danger{background:var(--coral);color:#fff;box-shadow:0 5px 0 var(--outline)}.btn.big{animation:2.4s ease-in-out infinite nudge}@keyframes nudge{0%,86%,to{transform:none}90%{transform:scale(1.05)rotate(-1.5deg)}95%{transform:scale(1.05)rotate(1.5deg)}}.iconbtn{border:3px solid var(--outline);box-shadow:0 3px 0 var(--outline)}.iconbtn:active{box-shadow:none;transform:translateY(3px)}.band{background:var(--surface);color:var(--ink)}.band h2{color:var(--ink)}.band:after{background:var(--sun);opacity:.55}.band .chip{background:color-mix(in srgb, var(--w) 16%, var(--surface))}.lvlbar{background:var(--lock);border:2px solid var(--outline);height:16px}.lvlbar i{background:var(--mint)}.node{border:3px solid var(--outline);color:#fff;background:#fff3}.card .node{background:var(--lock);color:var(--muted)}.node.done{background:var(--sun);color:var(--outline)}.node .st{color:var(--outline)}.node.next{color:var(--outline);border:4px solid var(--outline);background:#fff}.coinchip{background:var(--sun);border:3px solid var(--outline);box-shadow:0 3px 0 var(--outline);font-family:var(--display);padding:3px 14px;font-size:19px}.rounds span{color:#fff;background:#fff3;border:2px solid #0000;padding:4px 12px;font-size:13px}.rounds span.past{background:var(--mint);color:#fff}.rounds span.on{color:var(--outline);border-color:var(--outline);background:#fff}.roundtag{font-size:22px}.roundtag .dot{background:var(--sun);border:2px solid var(--outline)}.prog i{border:2px solid var(--outline);background:#fff4;width:16px;height:16px}.prog i.ok{background:var(--mint)}.prog i.no{background:var(--coral)}.prog i.cur{background:var(--sun);box-shadow:0 0 0 3px #fff6}.prompt{font-size:clamp(22px,4.6vw,30px);font-weight:600}.say{background:var(--sky);border:3px solid var(--outline);box-shadow:0 3px 0 var(--outline)}.say svg{fill:#fff}.passage{border:2px solid var(--line);border-left:8px solid var(--sky)}.opts{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=520px){.opts{grid-template-columns:1fr}}.funbreak .opts{grid-template-columns:1fr}.opt{border:3px solid var(--outline);color:#fff;box-shadow:0 5px 0 var(--outline);background:var(--sky);border-radius:20px;font-size:21px;font-weight:700;transition:transform 80ms}.opts .opt:nth-child(4n+2){background:var(--coral)}.opts .opt:nth-child(4n+3){background:var(--mint)}.opts .opt:nth-child(4n+4){background:var(--grape)}.opt:hover:not(:disabled){border-color:var(--outline);transform:translateY(-2px)}.opt:active:not(:disabled){box-shadow:0 1px 0 var(--outline);transform:translateY(4px)}.opts .opt.hit{background:var(--good);border-color:var(--outline);box-shadow:0 5px 0 var(--outline), 0 0 0 5px var(--sun);animation:.4s bump}.opts .opt.bust{border-color:var(--outline);opacity:1;background:#9aa3b5}.opts .opt.reveal{background:var(--surface);color:var(--good);border:3px dashed var(--good);box-shadow:none}.opts .opt:disabled:not(.hit):not(.bust):not(.reveal){opacity:.55}.stage{border:3px solid var(--outline);border-radius:22px;overflow:clip}.stage.sky{background:linear-gradient(#8fd3ff,#e6f6ff)}.stage.rainbg{background:linear-gradient(#c9b8ff,#f1ecff)}.ground-line{background:var(--mint);height:14px}.balloon,.drop{border:3px solid var(--outline)}.drop{box-shadow:0 4px 0 var(--outline)}.answerbox{border:3px solid var(--outline);background:#fff8dc}.pad button{background:var(--surface);border:3px solid var(--outline);box-shadow:0 4px 0 var(--outline)}.pad button:active{box-shadow:0 1px 0 var(--outline);transform:translateY(3px)}.pad button.go{background:var(--sun);color:var(--outline);border-color:var(--outline)}.tile{background:var(--grape);border:3px solid var(--outline);box-shadow:0 4px 0 var(--outline)}.tiles .tile:nth-child(4n+2){background:var(--sky)}.tiles .tile:nth-child(4n+3){background:var(--coral)}.tiles .tile:nth-child(4n+4){background:var(--mint)}.slot{border-bottom:5px solid var(--outline)}.scard{border:3px solid var(--outline);box-shadow:0 4px 0 var(--outline);background:#fff8dc}.scard.sel{background:var(--sun);border-color:var(--outline);transform:translateY(-5px)rotate(-2deg)}.bin{border:3px dashed var(--outline);background:color-mix(in srgb, var(--sky) 14%, var(--surface))}.bins .bin:nth-child(2n){background:color-mix(in srgb, var(--coral) 14%, var(--surface))}.chipin{background:var(--mint);border:2px solid var(--outline)}.track{background:var(--surface)}.hp{border:2px solid var(--outline);height:20px}.hp i{background:var(--coral)}.power{border:3px solid var(--outline);box-shadow:0 3px 0 var(--outline);background:var(--sun)}.tbar{border:2px solid var(--outline);height:14px}.fb{border-radius:24px;position:relative}.fb.good{border:3px solid var(--outline);background:#dcfbe9}.fb.bad{border:3px solid var(--outline);background:#ffe9e4}.fb.try{border:3px solid var(--outline);background:#fff4cc}.fb .h{font-size:24px}.gain{color:#b87400}.toast{background:var(--outline);color:#fff;border:3px solid #fff;font-size:18px}.confetti{pointer-events:none;width:0;height:0;position:absolute;top:0;left:50%}.confetti i{background:var(--c);opacity:0;width:10px;height:14px;animation:.9s ease-out forwards burst;animation-delay:var(--t);border-radius:3px;position:absolute}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--x), var(--y)) rotate(var(--r));opacity:0}}.stars{-webkit-text-stroke:2px var(--outline);font-size:64px}.stats3 div,.kpis div{border:2px solid var(--outline);background:#fff8dc}.intro h1{font-size:clamp(34px,7vw,50px)}.punchline{background:var(--sun);color:var(--outline);border:3px solid var(--outline);border-radius:18px;padding:8px 18px;transform:rotate(-1.5deg)}@media (prefers-reduced-motion:reduce){.btn.big,.confetti i{animation:none!important}}.lesson .steplist,.lessonhead{color:var(--on-sky)}.lesson .steplist,.lesson .steplist .of{color:#ffffffb8}.lesson .steplist li.now{color:#fff}.lesson .steplist li.now .dot{background:var(--sun);box-shadow:0 0 0 4px #fff4}.lesson .steplist .dot{background:#fff5}.lesson .steplist li.done .dot{background:var(--mint)}.bubble,.stagebody{color:var(--ink);border:3px solid var(--outline);box-shadow:0 6px 0 var(--shade)}.options .option{border:3px solid var(--outline);box-shadow:0 4px 0 var(--outline)}.print-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.print-icon{font-size:44px;line-height:1.1}.sheet{color:#111;border:3px solid var(--outline);box-shadow:0 6px 0 var(--shade);background:#fff;border-radius:6px;flex-direction:column;gap:14px;padding:28px 32px;font-size:16px;display:flex}.sheet-head{border-bottom:3px solid #111;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:10px;display:flex}.sheet-head h2{font-size:30px}.sheet-name{font-weight:600}.sheet-foot{color:#555;text-align:center;margin-top:6px;font-size:12px}.ws-list{grid-template-columns:1fr 1fr;gap:16px 34px;margin:0;padding-left:26px;display:grid}.ws-list>li{break-inside:avoid;font-weight:600}.ws-list>li>p{font-weight:500}.ws-list .visual{zoom:.7;justify-content:flex-start;margin:6px 0}.ws-passage{border-left:4px solid #999;grid-column:1/-1;padding-left:10px;font-size:15px}.ws-opts{grid-template-columns:1fr 1fr;gap:4px 12px;margin:6px 0 0;padding:0;font-weight:400;list-style:none;display:grid}.ws-opts b{border:1.5px solid #111;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:4px;font-size:12px;display:inline-grid}.ws-blank{border-bottom:1.5px solid #111;max-width:320px;margin-top:8px;padding-bottom:14px;font-weight:400}.ws-key{color:#444;white-space:pre-wrap;border-top:2px dashed #777;margin-top:10px;padding-top:8px;font-size:11px}.facts{font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,1fr);gap:14px 18px;font-size:19px;display:grid}.cbn-key{flex-wrap:wrap;gap:8px 22px;font-weight:600;display:flex}.cbn-key i{vertical-align:-3px;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1.5px solid #111;border-radius:4px;width:18px;height:18px;display:inline-block}.cbn,.search{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;max-width:620px;margin:0 auto}.cbn td,.search td{text-align:center;vertical-align:middle;aspect-ratio:1;font-variant-numeric:tabular-nums;border:1.5px solid #111;height:52px;padding:0;font-size:15px}.search td{text-transform:uppercase;border-color:#bbb;height:40px;font-size:22px;font-weight:600}.search-words,.hunt{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 18px;margin:0;padding:0;font-size:18px;list-style:none;display:grid}.hunt{grid-template-columns:1fr;gap:12px}.hw-row svg{width:100%;height:auto;display:block}.hw-top,.hw-base{stroke:#111;stroke-width:1px}.hw-mid{stroke:#888;stroke-width:1px;stroke-dasharray:6 6}.hw-text{font-family:var(--body);fill:#c4c4c4;letter-spacing:6px;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:44px;font-weight:400}.starter{font-family:var(--display);font-size:24px;font-weight:700;line-height:1.25}.plan{grid-template-columns:1fr 1fr;gap:10px;display:grid}.plan div{border:1.5px solid #111;border-radius:10px;min-height:78px;padding:8px 10px}.lines{flex-direction:column;display:flex}.lines i{border-bottom:1.5px solid #111;height:34px}.drawbox{color:#555;border:2px dashed #111;border-radius:14px;min-height:190px;padding:10px}.colouring{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.colouring .mascot{aspect-ratio:1;width:min(560px,90%);height:auto}.colouring svg *{fill:#fff!important;stroke:#111!important;stroke-width:1.2px!important}.colouring svg [fill=none]{fill:none!important}.colouring svg .m-patch{display:none}.outline-title{font-family:var(--display);color:#fff;-webkit-text-stroke:2px #111;font-size:64px;font-weight:800;line-height:1}.outline-shapes{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.outline-shapes svg{width:110px;height:110px}@media (width<=560px){.sheet{padding:18px 16px}.ws-list{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.cbn td{height:auto;font-size:10px}.search td{height:auto;font-size:16px}}@page{size:A4;margin:14mm}@media print{.app:before,.app:after,.scene,.noprint,.toast{display:none!important}html,body{background:#fff!important}.app{color:#111;max-width:none;min-height:0;padding:0}.sheet{box-shadow:none;border:0;border-radius:0;padding:0}}.ws-answers{white-space:normal;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ws-answers li{color:#111;border:1px solid #999;border-radius:4px;padding:2px 6px;font-size:12px}.ws-answers .qn{color:#555;margin-right:6px;font-weight:700}.he-sheet h3{margin-top:8px;font-size:20px}.he-sheet p{margin:0}.he-list{gap:4px;margin:0;padding-left:22px;display:grid}.he-area{flex-direction:column;gap:8px;display:flex}.he-table{border-collapse:collapse;width:100%;font-size:13px}.he-table th,.he-table td{text-align:left;vertical-align:top;border:1px solid #999;padding:4px 6px}.he-table th{background:#eee}.he-table tr{break-inside:avoid}.he-table .code{color:#333;white-space:nowrap}.he-kpis{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.he-kpis div{border:1px solid #999;border-radius:6px;flex-direction:column;padding:8px;display:flex}.he-kpis b{font-size:22px}.he-kpis span{font-size:12px}.he-note textarea{width:100%;font:inherit;color:#111;background:#fff;border:2px solid #999;border-radius:8px;padding:8px}.he-printonly{white-space:pre-wrap;display:none}.he-sample{break-inside:avoid;border:1px solid #999;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.he-sample-text{white-space:pre-wrap}@media print{.he-printonly{display:block}}.writing{font:inherit;border:3px solid var(--outline);width:100%;color:var(--ink);resize:vertical;background:#fffdf2 repeating-linear-gradient(transparent 0 31px, color-mix(in srgb, var(--sky) 30%, transparent) 31px 32px);background-attachment:local;border-radius:16px;padding:0 16px;font-size:20px;line-height:32px}.writing:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.starters{gap:8px}.chipbtn{border:2px solid var(--outline);background:var(--sun);color:var(--outline);border-radius:999px;padding:4px 12px;font-size:15px;font-weight:600}.fbicon{font-size:34px;line-height:1}.readtext{border:3px solid var(--outline);background:#fffdf2;border-radius:18px;padding:16px 20px;font-size:clamp(24px,4.6vw,34px);font-weight:500;line-height:1.5}.rw.good{color:#0b7a4f;font-weight:600}.rw.unclear{color:#b85c00;text-underline-offset:5px;font-weight:600;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.rw.missed{color:#b3261e;font-weight:600;text-decoration:line-through}.recdot{background:var(--coral);border-radius:50%;width:18px;height:18px;animation:1s ease-in-out infinite recpulse}@keyframes recpulse{50%{opacity:.3}}.plan3{counter-reset:part;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.plan3 li{counter-increment:part;border:3px solid var(--outline);background:#fff8dc;border-radius:16px;padding:10px 12px;font-weight:600}.plan3 li:before{content:counter(part);background:var(--sky);color:#fff;width:28px;height:28px;font-family:var(--display);border-radius:50%;place-items:center;margin-right:8px;display:inline-grid}.talkclock{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:1}.tracepad{aspect-ratio:640/260;border:3px solid var(--outline);background:#fffdf2;border-radius:18px;width:100%;max-width:640px;margin:0 auto;position:relative;overflow:hidden}.tracepad canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.voices{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.voice{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.voice[aria-pressed=true]{border-color:var(--outline);background:var(--sun)}@media (prefers-reduced-motion:reduce){.recdot{animation:none!important}}.card>.pill{align-self:flex-start}.streakcard{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.streakcard .mascot{width:84px;height:84px}.streaknum{flex-direction:column;align-items:center;min-width:120px;line-height:1;display:flex}.streaknum b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:84px;font-weight:800}.flame{font-size:44px}.flame.cold{filter:grayscale();opacity:.5}.weekrow{grid-template-columns:repeat(7,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.weekrow li{flex-direction:column;align-items:center;gap:4px;display:flex}.weekrow .wd{color:var(--muted);font-size:12px;font-weight:600}.weekrow .wm{aspect-ratio:1;border:3px solid var(--outline);width:100%;max-width:46px;font-family:var(--display);background:var(--lock);color:var(--outline);border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid}.weekrow .done .wm{background:var(--mint);color:#fff}.weekrow .future .wm{border-style:dashed;border-color:var(--line);background:0 0}.weekrow .today .wm{box-shadow:0 0 0 4px var(--sun)}.weekrow .today:not(.done) .wm{background:#fff}.statrow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--surface);color:var(--ink);border:3px solid var(--outline);box-shadow:0 6px 0 var(--shade);border-radius:22px;flex-direction:column;padding:14px 16px;display:flex}.stat b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:40px;line-height:1}.stat span{color:var(--muted);font-size:14px}.bars{border-bottom:2px solid var(--line);align-items:stretch;gap:2px;height:180px;margin:8px 0 22px 38px;display:flex;position:relative}.gridline{border-top:1px dashed var(--line);pointer-events:none;position:absolute;left:0;right:0}.gridline i{color:var(--muted);font-size:12px;font-style:normal;position:absolute;top:-9px;left:-38px}.bar{background:0 0;border:0;flex:1;align-items:flex-end;max-width:44px;padding:0 3px;display:flex;position:relative}.bar i{background:#6faef3;border-radius:4px 4px 0 0;width:100%;display:block}.bar.on i,.bar:hover i,.bar:focus-visible i{background:var(--sky)}.bar span{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;bottom:-20px;left:0;right:0}.heat{gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.heatdays{color:var(--muted);flex:none;grid-template-rows:repeat(7,1fr);width:30px;font-size:11px;display:grid}.heatdays span:first-child{grid-row:1}.heatdays span:nth-child(2){grid-row:3}.heatdays span:nth-child(3){grid-row:5}.heatdays span:nth-child(4){grid-row:7}.heatcol{flex:1;grid-template-rows:repeat(7,1fr);gap:4px;min-width:18px;max-width:44px;display:grid}.heatcol i,.heatkey i{aspect-ratio:1;background:#e6ebf3;border-radius:5px;display:block}.heat .s1,.heatkey .s1{background:#bcd9fb}.heat .s2,.heatkey .s2{background:#6faef3}.heat .s3,.heatkey .s3{background:#1a5fbf}.heat .future{outline:1px dashed var(--line);outline-offset:-1px;background:0 0}.heat .today{box-shadow:0 0 0 2px var(--outline)}.heat .studio,.heatkey .studio{background:#e6ebf3 radial-gradient(circle, var(--outline) 0 22%, transparent 24%)}.heatkey{flex-wrap:wrap;gap:6px 16px;display:flex}.heatkey span{align-items:center;gap:6px;display:inline-flex}.heatkey i{width:14px}.heatkey .k-strong{background:var(--mint)}.heatkey .k-tried{background:#8fd9bb}.subj{flex-direction:column;gap:6px;display:flex}.meter{background:#e6ebf3;border-radius:999px;gap:2px;height:18px;display:flex;overflow:hidden}.meter.thin{width:100%;height:8px}.meter i{height:100%;display:block}.meter .strong{background:var(--mint)}.meter .tried{background:#8fd9bb}.badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.badges li{border:3px dashed var(--line);text-align:center;color:var(--muted);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:12px;display:flex}.badges .bi{filter:grayscale();opacity:.45;font-size:40px;line-height:1.1}.badges .earned{border:3px solid var(--outline);color:var(--ink);background:#fff8dc}.badges .earned .bi{filter:none;opacity:1}.chiplink{cursor:pointer;font:inherit;color:inherit;border:0}@media (width<=560px){.streakcard .mascot{display:none}}.yearhead{margin-top:6px}.chapters{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.chapters li{aspect-ratio:1;font-family:var(--display);color:var(--muted);background:#e6ebf3;border-radius:10px;place-items:center;font-size:14px;font-weight:800;display:grid}.chapters .done{background:var(--sun);color:var(--outline);border:2px solid var(--outline)}.chapters .now{color:var(--outline);border:3px solid var(--outline);box-shadow:0 0 0 3px var(--sun);background:#fff}.termpill{color:var(--ink);border:2px solid var(--outline);background:#fff;align-self:flex-start;padding:5px 14px;font-size:15px}.ideas{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.weekrow .rest .wm{background:#fff8dc;border-style:dashed;font-size:16px}.weekrow .free .wd:after{content:" off";font-weight:400}.closed h3{color:var(--muted)}.quizbar{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:999px;height:12px;overflow:hidden}.quizbar i{background:var(--sun);border-radius:999px;height:100%;transition:width .3s;display:block}.small-stars{letter-spacing:1px;font-size:1em;display:inline-block}.app.wide{max-width:1180px}.shell{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:22px;display:grid}.shell-main{flex-direction:column;gap:16px;min-width:0;display:flex}.pane{background:var(--surface);color:var(--ink);border:3px solid var(--outline);box-shadow:0 6px 0 var(--shade);border-radius:26px;flex-direction:column;gap:14px;min-height:calc(100dvh - 80px);padding:16px 12px;display:flex;position:sticky;top:16px}.pane-brand{font-family:var(--display);align-items:center;gap:10px;padding:0 6px;font-size:22px;font-weight:800;display:flex}.pane-who{background:color-mix(in srgb, var(--w) 12%, var(--surface));font-family:var(--display);border-radius:18px;align-items:center;gap:10px;padding:10px;font-size:20px;display:flex}.pane-avatar{text-align:center;flex:none;width:44px;height:44px;font-size:34px;line-height:44px}.pane ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.navbtn{width:100%;color:var(--ink);font-family:var(--display);text-align:left;background:0 0;border:3px solid #0000;border-radius:16px;align-items:center;gap:12px;min-height:52px;padding:10px 12px;font-size:18px;font-weight:700;display:flex}.navbtn:hover{background:color-mix(in srgb, var(--w) 10%, var(--surface))}.navbtn[aria-current=page]{background:var(--sun);border-color:var(--outline);box-shadow:0 3px 0 var(--outline)}.navicon{text-align:center;flex:none;width:30px;font-size:24px}.navbtn.exit{color:var(--muted);border-top:2px solid var(--line);border-radius:0 0 16px 16px;margin-top:auto;padding-top:14px}.whocard{text-align:center;justify-content:center;align-items:center;min-height:170px}.whocard .mascot.pm{width:84px;height:84px}.lockcard{text-align:center;align-items:center;width:100%;max-width:460px;margin:0 auto}.pinslots{justify-content:center;gap:10px;display:flex}.pinslots span{border:3px dashed var(--line);border-radius:16px;place-items:center;width:62px;height:62px;font-size:36px;line-height:1;display:grid}.pinslots .full{border:3px solid var(--outline);background:#fff8dc}.pinslots.dots span{border-radius:50%;width:22px;height:22px}.pinslots.dots .full{background:var(--outline)}.picgrid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:340px;display:grid}.picgrid button{aspect-ratio:1;border:3px solid var(--outline);background:var(--surface);box-shadow:0 4px 0 var(--outline);border-radius:18px;padding:0;font-size:clamp(28px,8vw,40px);line-height:1}.picgrid button:active:not(:disabled){box-shadow:0 1px 0 var(--outline);transform:translateY(3px)}.picgrid button:disabled{opacity:.45}.lockcard .pad span{display:block}@media (width<=760px){.shell{grid-template-columns:1fr;gap:0;padding-bottom:86px}.pane{z-index:15;min-height:0;padding:6px max(6px, env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px, env(safe-area-inset-left,0px));box-shadow:none;border-width:3px 0 0;border-radius:20px 20px 0 0;flex-direction:row;align-items:stretch;gap:0;position:fixed;inset:auto 0 0}.pane-brand,.pane-who{display:none}.pane ul{flex-direction:row;flex:1;gap:2px;min-width:0}.pane li{flex:1;min-width:0}.navbtn{text-align:center;border-width:2px;flex-direction:column;justify-content:flex-start;gap:2px;min-height:64px;padding:6px 2px;font-size:10.5px;line-height:1.1}.navlabel{overflow-wrap:anywhere;max-width:100%}.navbtn.exit{border-top:0;border-left:2px solid var(--line);border-radius:0 16px 16px 0;flex:0 0 58px;width:auto;margin:0;padding-top:6px}}@media print{.pane{display:none!important}.shell{padding:0;display:block}}.plainlist{gap:6px;margin:0;padding-left:22px;display:grid}a.btn{align-items:center;text-decoration:none;display:inline-flex}.mascot{overflow:visible}.mascot .m-all{transform-origin:50px 95px;animation:3.6s ease-in-out infinite m-breathe}.mascot .m-blink{animation:5.2s linear infinite m-blink}@keyframes m-breathe{50%{transform:scale(1.015,.975)}}@keyframes m-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.08)}}.mascot[data-mood=happy] .m-all{animation:.6s ease-out 2 m-hop,3.6s ease-in-out 1.2s infinite m-breathe}@keyframes m-hop{0%,to{transform:none}20%{transform:scale(1.06,.92)}55%{transform:translateY(-9px)scale(.97,1.05)}}.mascot[data-mood=cheer] .m-all{animation:.9s ease-in-out infinite m-cheer}@keyframes m-cheer{0%,to{transform:scale(1.03,.96)}50%{transform:translateY(-6px)scale(.98,1.03)}}.mascot .m-wave{animation:.45s ease-in-out infinite alternate m-wave}@keyframes m-wave{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.mascot .m-spark{animation:1.3s ease-in-out infinite m-twinkle}.mascot .m-spark:nth-of-type(2n){animation-delay:-.65s}@keyframes m-twinkle{0%,to{opacity:.5;transform:scale(.55)}50%{opacity:1;transform:scale(1.1)}}.mascot[data-mood=think] .m-all{animation:4s ease-in-out infinite m-ponder;transform:rotate(3deg)}@keyframes m-ponder{0%,to{transform:rotate(3deg)}50%{transform:rotate(5deg)}}.mascot .m-dot{animation:1.8s ease-in-out infinite m-dot}.mascot .m-dot:nth-of-type(2){animation-delay:.3s}.mascot .m-dot:nth-of-type(3){animation-delay:.6s}@keyframes m-dot{0%,to{opacity:.35}40%{opacity:1}}.mascot[data-mood=oops] .m-all{animation:.7s ease-in-out m-oops;transform:rotate(-5deg)}@keyframes m-oops{0%{transform:rotate(0)}35%{transform:rotate(-9deg)}70%{transform:rotate(-3deg)}to{transform:rotate(-5deg)}}.mascot[data-mood=oops] .m-wave{animation-iteration-count:6}.mascot .m-mouth{animation:.3s ease-in-out infinite alternate m-talk}@keyframes m-talk{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.mascot[data-mood=sleep] .m-all{animation:4.6s ease-in-out infinite m-snooze;transform:scale(1.03,.95)}@keyframes m-snooze{0%,to{transform:scale(1.03,.95)}50%{transform:scale(1.005,.985)}}.mascot .m-zed{animation:3.2s ease-in-out infinite m-zed}.mascot .m-zed:nth-of-type(2){animation-delay:-1.6s}@keyframes m-zed{0%{opacity:0;transform:translate(-3px,5px)}30%,60%{opacity:1}to{opacity:0;transform:translate(4px,-6px)}}@media (prefers-reduced-motion:reduce){.mascot,.mascot *{animation:none!important}}.ag-block{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.ag-fit{justify-content:center;width:100%;display:flex;container-type:inline-size}.ag-grid{--ag-gap:4px;--ag-side:0px;--ag-cell:min(44px, calc((100cqw - 16px - var(--ag-side) - (var(--ag-cols) - 1) * var(--ag-gap)) / var(--ag-cols)));gap:var(--ag-gap);flex-direction:column;display:flex}.ag-grid.ag-counting{--ag-side:50px}.ag-row{align-items:center;gap:var(--ag-gap);opacity:.35;border:2px solid #0000;border-radius:12px;padding:2px 6px;transition:opacity .3s,background-color .3s,border-color .3s;display:flex}.ag-row.ag-lit{opacity:1}.ag-counting .ag-row.ag-lit{border-color:var(--w);background:color-mix(in srgb, var(--w) 12%, transparent)}.ag-item{width:var(--ag-cell);height:var(--ag-cell);font-size:calc(var(--ag-cell) * .72);flex:none;place-items:center;line-height:1;display:grid}.ag-dot{background:var(--w2);width:78%;height:78%;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--w2) 65%, #000);border-radius:50%}.ag-count{text-align:right;width:42px;font-family:var(--display);color:var(--w);flex:none;font-size:22px;font-weight:800}.ag-caption{font-family:var(--display);text-align:center;text-wrap:balance;font-size:24px;font-weight:800;line-height:1.2}.ag-tools{flex-wrap:wrap;justify-content:center;gap:14px 28px;display:flex}.ag-stepper{flex-direction:column;align-items:center;gap:6px;display:flex}.ag-steplabel{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.ag-stepbtns{align-items:center;gap:10px;display:flex}.btn.ag-step{border:2px solid var(--w);width:56px;min-height:56px;padding:0;font-size:30px;line-height:1}.ag-stepvalue{text-align:center;min-width:36px;font-family:var(--display);font-size:30px;font-weight:800}.cd-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.cd-grid{border:3px solid var(--outline);background:var(--surface);width:100%;max-width:440px;box-shadow:0 5px 0 var(--outline);border-radius:18px;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:10px;display:grid}.cd-title{border-bottom:3px solid var(--outline);background:var(--coral);color:#fff;font-family:var(--display);text-align:center;border-radius:14px 14px 0 0;grid-column:1/-1;margin:-10px -10px 4px;padding:8px 10px 6px;font-size:22px;font-weight:800;line-height:1.2}.cd-weekday{color:var(--muted);text-align:center;font-size:13px;font-weight:700}.cd-day{border:2px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);font-family:var(--display);border-radius:10px;place-items:center;padding:0;font-size:21px;font-weight:700;line-height:1;display:grid;position:relative}.cd-day.cd-ring{border:3px solid var(--w);background:color-mix(in srgb, var(--w) 14%, var(--surface))}.cd-tap:disabled{cursor:default}.cd-day.cd-picked{border:3px solid var(--outline);background:var(--sun)}.cd-day.cd-passed{background:color-mix(in srgb, var(--gold) 26%, var(--surface));border-color:var(--gold)}.cd-day.cd-ring.cd-passed{border-color:var(--w)}.cd-hop{background:var(--gold);min-width:20px;height:20px;color:var(--outline);border-radius:10px;place-items:center;padding:0 3px;font-size:13px;font-weight:800;line-height:1;animation:.3s ease-out cd-pop;display:grid;position:absolute;top:-7px;left:-7px}@keyframes cd-pop{0%{transform:scale(0)}to{transform:scale(1)}}.cd-count{font-family:var(--display);text-align:center;font-size:28px;font-weight:800;line-height:1.1}.cd-state{color:var(--muted);text-align:center;font-size:15px}@media (width<=480px){.cd-grid{gap:4px;padding:8px}.cd-title{margin:-8px -8px 4px}.cd-day{min-height:44px;font-size:19px}}.ck-block{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.ck-face{width:min(240px,100%);height:auto;display:block}.ck-rim{fill:var(--surface);stroke:var(--ink);stroke-width:5px}.ck-tick{stroke:var(--muted);stroke-width:1.5px}.ck-tick.ck-five{stroke:var(--ink);stroke-width:3px}.ck-number{font-family:var(--body);fill:var(--ink);font-size:19px;font-weight:700}.ck-hand{stroke-linecap:round}.ck-hour{stroke:var(--w);stroke-width:9px}.ck-minute{stroke:var(--ink);stroke-width:5px}.ck-pin{fill:var(--ink)}.ck-digital{font-family:var(--display);border:2px solid var(--line);background:var(--bg);font-variant-numeric:tabular-nums;border-radius:14px;padding:8px 20px;font-size:34px;font-weight:800;line-height:1}.ck-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ck-controls{flex-wrap:wrap;justify-content:center;gap:14px 22px;width:100%;display:flex}.ck-group{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.ck-label{border-bottom:5px solid var(--ink);padding-bottom:2px;font-size:15px;font-weight:700}.ck-label-hour{border-bottom-width:7px;border-bottom-color:var(--w)}.ck-pair{gap:10px;display:flex}.btn.ck-btn{border:2px solid var(--line);white-space:nowrap;min-width:124px;min-height:56px;padding:10px 16px;font-size:19px}.fr-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.fr-pair{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 20px;width:100%;display:flex}.fr-bar{border:3px solid var(--ink);background:var(--surface);border-radius:12px;flex:280px;min-width:0;max-width:600px;height:84px;display:flex;overflow:hidden}.fr-bar .fr-part{border:0;border-right:3px solid var(--ink);background:var(--surface);border-radius:0;flex:1 1 0;min-width:0;height:100%;margin:0;padding:0;transition:background-color .15s}.fr-bar .fr-part:last-child{border-right:0}.fr-bar .fr-part.fr-on{background:var(--w)}.fr-bar .fr-tap:focus-visible{outline-offset:-6px}.fr-bar .fr-tap:disabled{cursor:default}.fr-circle{flex:0 auto;width:min(100%,250px);height:auto;display:block;overflow:visible}.fr-circle .fr-part{fill:var(--surface);stroke:var(--ink);stroke-width:3px;stroke-linejoin:round;transition:fill .15s}.fr-circle .fr-part.fr-on{fill:var(--w)}.fr-circle .fr-tap{cursor:pointer}.fr-circle .fr-tap[aria-disabled=true]{cursor:default}.fr-circle .fr-tap:focus-visible{stroke:var(--w2);stroke-width:6px;outline:none}.fr-bar .fr-part.fr-arrive{animation:.4s ease-out both fr-fill-bar}.fr-circle .fr-part.fr-arrive{animation:.4s ease-out both fr-fill-circle}@keyframes fr-fill-bar{0%{background-color:var(--surface)}to{background-color:var(--w)}}@keyframes fr-fill-circle{0%{fill:var(--surface)}to{fill:var(--w)}}.fr-written{min-width:44px;font-family:var(--display);flex-direction:column;flex:none;align-items:center;font-size:32px;font-weight:800;line-height:1.05;display:inline-flex}.fr-over{background:var(--ink);border-radius:2px;align-self:stretch;height:4px;margin:2px 0}.fr-versus{color:var(--muted);font-size:14px}.fr-state{text-align:center;font-size:17px;font-weight:600}.fl-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.fl-ticks{grid-template-columns:repeat(auto-fit, minmax(var(--fl-min,44px), 1fr));width:100%;max-width:calc(var(--fl-count,12) * 70px);--fl-hop:var(--w);row-gap:6px;display:grid}.fl-ticks.fl-show{--fl-min:32px}.fl-ticks.fl-back{--fl-hop:var(--w2)}.fl-cell{min-width:0;height:112px;color:var(--ink);background:0 0;border:0;border-radius:10px;padding:0;position:relative}.fl-cell:before{content:"";background:var(--ink);height:4px;position:absolute;top:40px;left:0;right:0}.fl-cell:after{content:"";background:var(--ink);border-radius:2px;width:3px;height:16px;margin-left:-1.5px;position:absolute;top:34px;left:50%}.fl-cell.fl-major:after{width:4px;height:30px;margin-left:-2px;top:27px}.fl-label{font-family:var(--display);justify-content:center;align-items:center;gap:3px;font-size:19px;font-weight:800;line-height:1;display:flex;position:absolute;top:62px;left:-4px;right:-4px}.fl-major .fl-label{font-size:23px}.fl-frac{flex-direction:column;align-items:center;font-size:.86em;line-height:1.05;display:inline-flex}.fl-over{background:currentColor;border-radius:2px;align-self:stretch;height:2.5px;margin:1px 0}.fl-whole{font-size:1.2em}.fl-hidden{border:3px dashed var(--coral);min-width:34px;height:34px;color:var(--coral);border-radius:10px;place-items:center;font-size:22px;display:grid}.fl-pin{z-index:1;background:var(--gold);border:3px solid var(--surface);width:24px;height:24px;box-shadow:0 0 0 3px var(--w);border-radius:50%;margin:-12px 0 0 -12px;transition:transform .2s ease-out;position:absolute;top:42px;left:50%;transform:scale(0)}.fl-cell.fl-here .fl-pin{transform:scale(1)}.fl-cell.fl-here .fl-label{color:var(--w)}.fl-tap:disabled{cursor:default}.fl-arc{border-top:4px solid var(--fl-hop);height:34px;animation:.35s ease-out fl-hop;position:absolute;top:8px}.fl-arcright{border-left:4px solid var(--fl-hop);border-top-left-radius:100%;left:50%;right:0}.fl-arcleft{border-right:4px solid var(--fl-hop);border-top-right-radius:100%;left:0;right:50%}@keyframes fl-hop{0%{opacity:0}to{opacity:1}}.fl-now{min-height:62px;font-family:var(--display);justify-content:center;align-items:center;gap:5px;font-size:30px;font-weight:800;line-height:1;display:flex}.fl-state{color:var(--muted);text-align:center;font-size:15px}.nl-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.nl-svg{width:100%;max-width:660px;height:auto;display:block;overflow:visible}.nl-axis{stroke:var(--ink);stroke-width:4px;stroke-linecap:round}.nl-tick{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.nl-tick.nl-major{stroke-width:4px}.nl-num{font-family:var(--display);fill:var(--ink);font-size:24px;font-weight:800}.nl-arc{fill:none;stroke:var(--w);stroke-width:4.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:.6s ease-out nl-draw}.nl-back .nl-arc{stroke:var(--w2)}@keyframes nl-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.nl-hoplabel{font-family:var(--display);fill:var(--w);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round;font-size:21px;font-weight:800}.nl-back .nl-hoplabel{fill:var(--w2)}.nl-marker{transition:transform .45s ease-in-out}.nl-marker circle{fill:var(--gold);stroke:var(--surface);stroke-width:4px}.nl-now{font-family:var(--display);text-align:center;font-size:32px;font-weight:800;line-height:1.1}.nl-nowlead{font-family:var(--body);color:var(--muted);font-size:16px;font-weight:400}.nl-state{color:var(--muted);text-align:center;font-size:15px}.nl-jumps{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.nl-pair{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn.nl-jump{border:2px solid var(--w);min-width:138px;min-height:52px;padding:10px 16px;font-size:18px}.btn.nl-jumpback{border-color:var(--w2);background:color-mix(in srgb, var(--w2) 14%, var(--surface))}.nl-ticks{flex-wrap:wrap;justify-content:center;row-gap:8px;width:100%;display:flex}.nl-cell{max-width:62px;height:80px;color:var(--ink);background:0 0;border:0;border-radius:10px;flex:1 0 44px;padding:0;position:relative}.nl-cell:before{content:"";background:var(--ink);height:4px;position:absolute;top:24px;left:0;right:0}.nl-cell:after{content:"";background:var(--ink);border-radius:2px;width:3px;height:18px;margin-left:-1.5px;position:absolute;top:17px;left:50%}.nl-cell.nl-major:after{width:4px;height:30px;margin-left:-2px;top:11px}.nl-cellnum{text-align:center;font-family:var(--display);font-size:20px;font-weight:800;line-height:1.2;position:absolute;top:46px;left:-6px;right:-6px}.nl-pin{z-index:1;background:var(--gold);border:3px solid var(--surface);width:26px;height:26px;box-shadow:0 0 0 3px var(--w);border-radius:50%;margin:-13px 0 0 -13px;transition:transform .15s ease-out;position:absolute;top:26px;left:50%;transform:scale(0)}.nl-cell.nl-picked .nl-pin{transform:scale(1)}.nl-cell.nl-picked .nl-cellnum{color:var(--w)}.nl-cell:disabled{cursor:default}.pc-figure{flex-direction:column;align-items:center;gap:10px;width:100%;margin:0;display:flex}.pc-visual{align-items:center;width:100%;min-width:0;max-width:100%}.pc-visual>*{max-width:100%}.pc-visual svg,.pc-visual img{max-width:100%;height:auto}.pc-caption{color:var(--muted);text-align:center;text-wrap:balance;font-size:17px;font-weight:600}.pv-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.pv-chart{align-items:stretch;gap:6px;width:100%;display:grid}.pv-head{letter-spacing:.02em;text-transform:uppercase;text-align:center;white-space:nowrap;color:var(--muted);border-radius:8px;align-self:end;padding:4px 2px;font-size:11px;font-weight:700}.pv-head.pv-lit{background:var(--w);color:#fff}.pv-short{text-transform:none;font-size:14px;display:none}.pv-cell{border:3px solid var(--outline);background:var(--surface);min-height:64px;color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;font-size:38px;font-weight:800;line-height:1;display:grid}.pv-cell.pv-lit{border-color:var(--w);background:color-mix(in srgb, var(--w) 16%, var(--surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--w) 30%, transparent)}.pv-cell.pv-result{background:color-mix(in srgb, var(--sun) 38%, var(--surface))}.pv-cell.pv-given{border-style:dashed;border-width:2px;min-height:52px;font-size:30px}.pv-point,.pv-gap{width:12px}.pv-point{justify-content:center;align-items:flex-end;padding-bottom:12px;display:flex}.pv-point i{background:var(--coral);border:2px solid var(--outline);border-radius:50%;width:11px;height:11px}.pv-move{text-align:center;color:var(--muted);grid-column:1/-1;font-size:15px;font-weight:600}.pv-digit{text-align:center;width:100%;display:block}.pv-moved{animation:1.1s ease-in-out .5s both pv-slide}@keyframes pv-slide{0%{transform:translate(calc(var(--pv-from) * 100%), -120%);opacity:.35}to{opacity:1;transform:none}}.pv-filler{color:var(--coral);animation:.4s ease-out 1.7s both pv-fill}@keyframes pv-fill{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.btn.pv-btn{min-width:0;min-height:46px;box-shadow:0 3px 0 var(--outline);border-radius:12px;padding:4px 0;font-size:18px}.btn.pv-btn:active{box-shadow:0 1px 0 var(--outline)}.pv-number{font-family:var(--display);text-align:center;font-size:32px;font-weight:800;line-height:1.1}.pv-lead{font-family:var(--body);color:var(--muted);font-size:16px;font-weight:400}@media (width<=560px){.pv-chart{gap:5px 4px}.pv-cell{min-height:56px;font-size:32px}.pv-head{letter-spacing:0;text-transform:none;font-size:12px}.pv-many .pv-full{display:none}.pv-many .pv-short{display:inline}.pv-point,.pv-gap{width:9px}.pv-point i{width:9px;height:9px}}.sh-line{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px 8px;max-width:100%;display:flex}.sh-chip{border:3px solid var(--line);background:var(--surface);min-width:44px;min-height:52px;color:var(--ink);font-family:var(--display);overflow-wrap:anywhere;border-radius:14px;justify-content:center;align-items:center;padding:6px 12px;font-size:26px;font-weight:700;line-height:1.1;transition:transform .12s,border-color .12s,background-color .12s;display:inline-flex}.sh-word{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.sh-close{margin-left:-5px}.sh-open{margin-right:-5px}.sh-word.sh-punct .sh-chip{min-width:0;padding-inline:9px}.sh-tag{background:var(--w);color:#fff;opacity:0;border-radius:999px;padding:1px 10px;font-size:14px;font-weight:700}.sh-lit .sh-chip{border-color:var(--w);background:color-mix(in srgb, var(--w) 20%, var(--surface));animation:.5s ease-out sh-pulse}.sh-lit .sh-tag{opacity:1;transition:opacity .3s}@keyframes sh-pulse{0%{transform:scale(1.25)}to{transform:scale(1)}}.sh-tap[aria-pressed=true]{border-color:var(--w);background:color-mix(in srgb, var(--w) 22%, var(--surface));box-shadow:0 3px 0 var(--w);transform:translateY(-3px)}.sh-tap:disabled{cursor:default;opacity:.6}.sh-state{text-align:center}.sh-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.sh-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;width:100%;display:flex}.sh-svg{width:min(250px,100%);height:auto;display:block;overflow:visible}.sh-several .sh-svg{width:min(190px,44%)}.sh-svg.sh-wide{width:min(280px,100%)}.sh-svg.sh-foldsvg{width:min(330px,100%)}.sh-angle{flex-direction:column;align-items:center;gap:2px;width:min(250px,100%);margin:0;display:flex}.sh-several .sh-angle{width:min(170px,44%)}.sh-angle .sh-svg{width:100%}.sh-shape{fill:color-mix(in srgb, var(--w2) 34%, var(--surface));stroke:var(--outline);stroke-width:4px;stroke-linejoin:round}.sh-shape.sh-letter{fill:none;stroke:var(--w);stroke-width:17px;stroke-linecap:butt;stroke-linejoin:miter}.sh-shape.sh-second{fill:color-mix(in srgb, var(--sun) 60%, var(--surface))}.sh-seam{stroke:var(--surface);stroke-width:5px;stroke-dasharray:7 6}.sh-outline{fill:none;stroke:var(--outline);stroke-width:5px;stroke-linejoin:round}.sh-sym{stroke:var(--coral);stroke-width:4px;stroke-dasharray:10 7;stroke-linecap:round}.sh-corner{fill:var(--sun);stroke:var(--outline);stroke-width:3px}.sh-sidenum{font-family:var(--display);fill:var(--ink);font-size:25px;font-weight:800}.sh-par{stroke-width:8px;stroke-linecap:round}.sh-par0{stroke:var(--coral)}.sh-par1{stroke:var(--sky)}.sh-par2{stroke:var(--mint)}.sh-par3{stroke:var(--grape)}.sh-turning{transition:transform 1s ease-in-out}.sh-turning.sh-snap{transition:none}.sh-shape.sh-ghost{fill:none;stroke:var(--muted);stroke-width:2.5px;stroke-dasharray:6 6}.sh-shape.sh-ghost.sh-letter{stroke-width:17px;stroke-dasharray:none;opacity:.18}.sh-topdot{fill:var(--coral);stroke:var(--outline);stroke-width:3px}.sh-flip{animation:.45s ease-out sh-flip-in}@keyframes sh-flip-in{0%{opacity:0}to{opacity:1}}.sh-shape.sh-flipped{fill:color-mix(in srgb, var(--coral) 30%, transparent);stroke:var(--coral);stroke-width:3.5px;stroke-dasharray:8 5}.sh-match .sh-shape.sh-flipped{fill:color-mix(in srgb, var(--good) 22%, transparent);stroke:var(--good)}.sh-shape.sh-flipped.sh-letter{fill:none;stroke-width:9px;stroke-dasharray:none;opacity:.85}.sh-fold{cursor:pointer}.sh-fold[aria-disabled=true]{cursor:default}.sh-fold:focus,.sh-fold:focus-visible{outline:none}.sh-foldhit{stroke:#0000;stroke-width:30px}.sh-foldline{stroke:var(--w);stroke-width:3.5px;stroke-dasharray:9 7;stroke-linecap:round}.sh-foldend{fill:var(--surface);stroke:var(--w);stroke-width:3.5px}.sh-fold:focus-visible .sh-foldend,.sh-fold.sh-current .sh-foldend{stroke:var(--outline);fill:var(--sun)}.sh-fold.sh-current .sh-foldline{stroke-width:6px}.sh-fold.sh-yes .sh-foldline{stroke:var(--good);stroke-dasharray:none}.sh-fold.sh-yes .sh-foldend{stroke:var(--good)}.sh-fold.sh-no .sh-foldline{stroke:var(--lock)}.sh-fold.sh-no .sh-foldend,.sh-fold.sh-no.sh-current .sh-foldline{stroke:var(--bad)}.sh-foldmark{font-family:var(--body);pointer-events:none;font-size:16px;font-weight:800}.sh-yes .sh-foldmark{fill:var(--good)}.sh-no .sh-foldmark{fill:var(--bad)}.sh-found{font-family:var(--display);text-align:center;font-size:22px;font-weight:800;line-height:1.1}.sh-arm{stroke:var(--outline);stroke-width:7px;stroke-linecap:round}.sh-arm.sh-startarm{stroke:var(--muted);stroke-width:4px;stroke-dasharray:8 8}.sh-arm.sh-movearm{stroke:var(--w)}.sh-arrowhead{fill:var(--w);stroke:var(--w);stroke-width:4px;stroke-linejoin:round}.sh-swing{transition:transform .45s ease-in-out}.sh-swing.sh-snap{transition:none}.sh-anglemark{fill:none;stroke:var(--coral);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.sh-pivot{fill:var(--outline)}.sh-name{font-family:var(--display);text-align:center;font-size:24px;font-weight:800;line-height:1.1}.sh-pair{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn.sh-btn{white-space:nowrap;min-width:138px;min-height:54px;padding:10px 16px;font-size:19px}.sh-state{text-align:center;font-size:17px;font-weight:600}.sh-caption{color:var(--muted);text-align:center;font-size:15px}.sb-block{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.sb-bins{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;max-width:560px;display:grid}.sb-bin{--sb-tint:var(--w);border:3px dashed var(--sb-tint);background:color-mix(in srgb, var(--sb-tint) 8%, var(--surface));border-radius:16px;flex-direction:column;gap:8px;min-height:150px;padding:10px 8px 12px;display:flex;position:relative}.sb-bin1{--sb-tint:var(--w2)}.sb-name{font-family:var(--display);text-align:center;color:var(--ink);overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.15}.sb-drop{background:0 0;border:0;border-radius:12px;min-height:44px;padding:4px}.sb-drop:after{content:"";border-radius:13px;position:absolute;inset:0}.sb-drop:disabled{cursor:default}.sb-ready .sb-bin{background:color-mix(in srgb, var(--sb-tint) 18%, var(--surface));border-style:solid}.sb-list,.sb-pile{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sb-list{gap:6px}.sb-pile{width:100%;min-height:48px}.sb-card{border:3px solid var(--line);background:var(--surface);min-width:44px;min-height:48px;color:var(--ink);text-align:center;overflow-wrap:anywhere;border-radius:14px;justify-content:center;align-items:center;padding:8px 14px;font-size:18px;font-weight:600;line-height:1.2;transition:transform .12s,border-color .12s,background-color .12s;display:inline-flex}.sb-in{z-index:1;border-width:2px;border-color:var(--sb-tint);min-height:44px;padding:6px 10px;font-size:17px;animation:.3s ease-out sb-fall;position:relative}@keyframes sb-fall{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}.sb-loose[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 22%, var(--surface));box-shadow:0 4px 0 var(--gold);transform:translateY(-4px)}.sb-card:disabled{cursor:default;opacity:.6}.sb-state{text-align:center}.sp-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.sp-card{border:3px solid var(--line);background:var(--surface);width:92px;min-height:92px;color:var(--ink);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:inline-flex}.sp-icon{font-size:36px;line-height:1.15}.sp-label{font-family:var(--display);overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:1.1}.sp-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 4px;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.sp-step{opacity:0;align-items:center;gap:2px;transition:opacity .35s,transform .35s;display:flex;transform:translateY(8px)scale(.9)}.sp-step.sp-in{opacity:1;transform:none}.sp-flow .sp-card{border-color:var(--w);width:84px}.sp-arrow{text-align:center;width:16px;color:var(--w);font-size:20px;font-weight:700}.sp-back{border:2px dashed var(--w);border-radius:999px;gap:6px;padding:6px 12px}.sp-back .sp-arrow{width:auto}.sp-backtext{color:var(--muted);font-size:15px;font-weight:600}.sp-slots{flex-wrap:wrap;justify-content:center;gap:10px 8px;margin:0;padding:0;list-style:none;display:flex}.sp-slot{flex-direction:column;align-items:center;gap:4px;display:flex}.sp-num{background:var(--w);color:#fff;width:26px;height:26px;font-family:var(--display);border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid}.sp-empty{background:var(--bg);border-style:dashed}.sp-placed{border-color:var(--w);background:color-mix(in srgb, var(--w) 14%, var(--surface));animation:.25s ease-out sp-land}@keyframes sp-land{0%{transform:scale(1.15)}to{transform:scale(1)}}.sp-pile{border-top:2px dashed var(--line);flex-wrap:wrap;justify-content:center;gap:8px;width:100%;padding-top:10px;display:flex}.sp-loose{border-color:var(--w2);box-shadow:0 4px 0 color-mix(in srgb, var(--w2) 60%, var(--line))}.sp-loose:active{box-shadow:0 1px 0 color-mix(in srgb, var(--w2) 60%, var(--line));transform:translateY(3px)}.sp-gone{visibility:hidden}.sp-card:disabled{cursor:default;opacity:.6}.sp-state{text-align:center}.sy-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.sy-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sy-chip{flex-direction:column;align-items:center;gap:4px;display:flex}.sy-hands{height:36px;font-size:28px;line-height:36px}.sy-part{font-family:var(--display);border:3px solid var(--line);background:var(--surface);min-width:56px;min-height:64px;color:var(--ink);border-radius:14px;place-items:center;padding:6px 14px;font-size:32px;font-weight:800;transition:transform .12s,background-color .12s;display:grid}.sy-chip.sy-lit .sy-part{border-color:var(--w);background:color-mix(in srgb, var(--w) 20%, var(--surface));transform:translateY(-4px)}.sy-chip.sy-lit .sy-hands{animation:.35s ease-out sy-pop}.sy-result{flex-direction:column;align-items:center;gap:2px;min-height:74px;display:flex}.sy-word{font-family:var(--display);text-align:center;overflow-wrap:anywhere;font-size:40px;font-weight:800;line-height:1.1}.sy-word.sy-bump{animation:.3s ease-out sy-pop}.sy-count{color:var(--muted);text-align:center;font-size:18px;font-weight:600}.btn.sy-clap{min-width:180px;min-height:76px;padding:14px 34px;font-size:28px}.sy-marks{flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;min-height:48px;display:flex}.sy-mark{border:2px solid var(--w2);background:color-mix(in srgb, var(--w2) 16%, var(--surface));border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.sy-mark:last-child{animation:.3s ease-out sy-pop}.sy-state{color:var(--muted);text-align:center;font-size:15px}.link.sy-again{min-height:44px;padding:6px 14px}@keyframes sy-pop{0%{transform:scale(1.35)}to{transform:scale(1)}}.tf-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.tf-frames{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;display:flex}.tf-frame{border:3px solid var(--ink);background:var(--surface);border-radius:10px;grid-template-columns:repeat(5,minmax(44px,54px));display:grid;overflow:hidden}.tf-space{aspect-ratio:1;background:var(--surface);border:0;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);border-radius:0;place-items:center;min-height:44px;margin:0;padding:0;display:grid}.tf-space:nth-child(5n){border-right:0}.tf-space:nth-child(n+6){border-bottom:0}.tf-tap:disabled{cursor:default}.tf-tap:focus-visible{outline-offset:-4px}.tf-counter{background:var(--w);width:72%;height:72%;box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--w) 65%, #000);border-radius:50%}.tf-counter.tf-second{background:var(--w2);box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--w2) 65%, #000)}.tf-arrive{animation:.35s ease-out both tf-pop}.tf-pop{animation:.2s ease-out tf-pop}@keyframes tf-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.tf-total{font-family:var(--display);text-align:center;font-size:30px;font-weight:800;line-height:1.1}.tf-state{font-family:var(--display);text-align:center;font-size:24px;font-weight:800}.tf-tools{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn.tf-btn{min-height:48px;padding:10px 18px;font-size:17px}.wb-block{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.wb-tile{font-family:var(--display);border:3px solid var(--line);background:var(--surface);min-width:52px;min-height:64px;color:var(--ink);border-radius:14px;place-items:center;padding:6px 14px;font-size:30px;font-weight:800;line-height:1;display:grid}.wb-word{flex-wrap:wrap;justify-content:center;gap:12px;transition:gap .35s ease-out;display:flex}.wb-word .wb-tile{transition:opacity .3s,transform .3s,border-radius .35s}.wb-word .wb-tile.wb-waiting{opacity:0;transform:translateY(-14px)scale(.9)}.wb-word.wb-joined{gap:0}.wb-word.wb-joined .wb-tile:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-3px}.wb-word.wb-joined .wb-tile:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.wb-tile.wb-base{border-color:var(--w);background:color-mix(in srgb, var(--w) 16%, var(--surface))}.wb-tile.wb-prefix{border-color:var(--w2);background:color-mix(in srgb, var(--w2) 22%, var(--surface))}.wb-tile.wb-suffix{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 22%, var(--surface))}.wb-under{min-height:30px}.wb-meaning{color:var(--muted);text-align:center;font-size:19px;font-weight:600;animation:.3s ease-out wb-rise}.wb-slots,.wb-pool{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.wb-slot{border:3px dashed var(--line);background:var(--bg);border-radius:14px;min-width:52px;min-height:64px}.wb-tile.wb-placed{border-color:var(--w);background:color-mix(in srgb, var(--w) 16%, var(--surface));animation:.2s ease-out wb-rise}.wb-tile.wb-choice{box-shadow:0 3px 0 var(--line)}.wb-tile:disabled{cursor:default}.wb-tile.wb-choice:disabled{opacity:.6;box-shadow:none}.wb-tile.wb-choice.wb-used{opacity:.25;border-style:dashed}.wb-state{color:var(--muted);text-align:center;overflow-wrap:anywhere;font-size:15px}.link.wb-again{min-height:44px;padding:6px 14px}.link.wb-again:disabled{opacity:.45;cursor:default}@keyframes wb-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.runstage{border:3px solid var(--outline);background:var(--w);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;border-radius:22px;height:clamp(300px,50vh,440px);position:relative;overflow:clip}.runstage canvas{display:block}.runwait{text-align:center;color:#fff;font-family:var(--display);place-items:center;padding:16px;font-size:22px;font-weight:700;display:grid;position:absolute;inset:0}.runhint{text-align:center;color:var(--muted);margin:0;font-size:15px}@media (hover:none){.runhint .keys{display:none}}@media (width<=520px){.runstage{height:clamp(300px,46vh,440px);margin-inline:-10px}}
