@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-latin-wght-normal-D5afBTBx.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400 900;src:url(./golos-text-cyrillic-wght-normal-mKek_fSS.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400 900;src:url(./golos-text-latin-wght-normal-BS5oQT7X.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400 700;src:url(./caveat-cyrillic-wght-normal-D5lnP6kL.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400 700;src:url(./caveat-latin-wght-normal-C1hSzPvX.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fbfcff;--grid:#dfe7f5;--ink:#1d3f9e;--ink-soft:#5a6c99;--text:#1b2236;--pen:#d23a2c;--pen-soft:#fbe4e1;--ok:#1f8a4c;--ok-soft:#ddf3e5;--marker:#ffe97a;--marker-ink:#5c4a00;--line:#c9d4ea;--card:#ffffff;--desk:#eef2fa;--locked:#a9b3cb;--sq-l:#e9eefb;--sq-d:#93a8d8;--f1:#4f7be8;--f2:#e5574a;--f3:#2fa36b;--f4:#f2b705;--f5:#9b6bd6;--f6:#b9783f;--f7:#3d4457;--f8:#f08a2c;--key-w:#fdfdfe;--key-w2:#e9edf7;--key-b:#1a1f30;--key-t:#1b2236;--key-mark:#ffd84a;--f-display:"Unbounded","Golos Text",system-ui,sans-serif;--f-body:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;--f-hand:"Caveat","Comic Sans MS",cursive;--cell:clamp(30px,calc((100vw - 130px)/8.4),46px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#161c2c;--grid:#222b42;--ink:#8fb0ff;--ink-soft:#8b97b8;--text:#e6eaf5;--pen:#ff7a6b;--pen-soft:#3a2224;--ok:#5fd394;--ok-soft:#18342a;--marker:#6b5d1c;--marker-ink:#fff0b0;--line:#2e3956;--card:#1c2337;--desk:#0f1320;--locked:#4a5470;--sq-l:#c9d3ee;--sq-d:#6f86c0;--f1:#6f97ff;--f2:#ff7a6b;--f3:#4fcf8e;--f4:#f5c84a;--f5:#b48cf0;--f6:#d39a64;--f7:#4b5470;--f8:#ffa257;color-scheme:dark}}:root[data-theme=dark]{--paper:#161c2c;--grid:#222b42;--ink:#8fb0ff;--ink-soft:#8b97b8;--text:#e6eaf5;--pen:#ff7a6b;--pen-soft:#3a2224;--ok:#5fd394;--ok-soft:#18342a;--marker:#6b5d1c;--marker-ink:#fff0b0;--line:#2e3956;--card:#1c2337;--desk:#0f1320;--locked:#4a5470;--sq-l:#c9d3ee;--sq-d:#6f86c0;--f1:#6f97ff;--f2:#ff7a6b;--f3:#4fcf8e;--f4:#f5c84a;--f5:#b48cf0;--f6:#d39a64;--f7:#4b5470;--f8:#ffa257;color-scheme:dark}*{box-sizing:border-box}body{background:var(--desk);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.5;padding-inline:16px;padding-block:20px 40px}.sheet{max-width:780px;margin:0 auto;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px;border-radius:6px;box-shadow:0 1px 0 var(--line),0 12px 30px -18px #14285a59;position:relative;padding-block:28px 36px;padding-inline:clamp(22px,6vw,56px) clamp(16px,4vw,40px)}.sheet:before{content:"";position:absolute;top:0;bottom:0;left:clamp(10px,3.2vw,34px);width:2px;background:var(--pen);opacity:.55}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;color:var(--ink)}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:2px}section{margin-top:26px;scroll-margin-top:16px}.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600;margin-bottom:8px}.label a{color:var(--ink);text-underline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:40px;height:40px;flex:none;filter:drop-shadow(0 1px 0 var(--line))}.logo h1{font-size:clamp(22px,5vw,28px);letter-spacing:-.01em}.hud{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.round{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);display:grid;place-items:center;padding:0}.round:hover{border-color:var(--ink);color:var(--ink)}.round svg{width:20px;height:20px;fill:currentColor}.round svg .line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.round[aria-pressed=false]{color:var(--locked)}.avatar{width:40px;height:40px;border-radius:50%;border:none;background:var(--pen);color:var(--paper);display:grid;place-items:center;padding:0;font:700 17px var(--f-display);box-shadow:0 0 0 3px var(--pen-soft)}.avatar:hover{box-shadow:0 0 0 3px var(--pen)}.avatar svg{width:22px;height:22px;fill:currentColor}.today{margin-top:18px;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);display:grid;gap:12px}.today-head{display:flex;gap:8px 12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.today-head h2{font-size:20px;overflow-wrap:anywhere}.stats{display:flex;gap:6px;flex-wrap:wrap}.today .quest{margin-top:0}#first-grade h2{font-size:20px;overflow-wrap:anywhere}#first-grade .level-note{margin:0}.next{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;justify-content:space-between}.next .qt{flex:1 1 200px;min-width:0;display:grid;gap:4px;justify-items:start}.next b{font-size:15px}.rows{display:grid;gap:var(--gap,8px)}.rows-line{display:flex;gap:var(--gap,8px);justify-content:center}.rows-line>*{flex:0 0 calc((100% - (var(--c) - 1) * var(--gap,8px)) / var(--c));min-width:0}.subj{display:grid;gap:8px;align-content:start;justify-items:start;text-align:left;padding:12px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;color:var(--text);transition:transform .15s,border-color .15s}.subj:hover,.game:hover{border-color:var(--ink);transform:translateY(-2px)}.subj .ico{width:34px;height:34px;font-size:13px;border-radius:9px}.subj .body{display:grid;gap:3px;min-width:0;width:100%}.subj b{font-size:14px;line-height:1.25;color:var(--ink);overflow-wrap:break-word}@media(max-width:559px){.subj{padding:10px}.subj b{font-size:13px;letter-spacing:-.01em}}.subj small{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.subj .bar{height:5px;margin-top:3px}.game{display:grid;gap:4px;justify-items:start;align-content:start;text-align:left;padding:12px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;color:var(--text);transition:transform .15s,border-color .15s}.game .ico{width:36px;height:36px;font-size:13px;border-radius:9px;background:var(--pen);color:var(--paper);margin-bottom:4px}.game b{font-size:14px;color:var(--ink)}.game small{font-size:12px;color:var(--ink-soft);line-height:1.3}@media(max-width:559px){.game{grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.game .ico{grid-row:span 2;margin:0}}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:var(--card);border:1.5px solid var(--line);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.chip .s{color:#e0a100}.chip .f{color:var(--pen)}.icon-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:99px;padding:5px 10px;font-size:13px}.bar{height:8px;background:var(--grid);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ink);border-radius:4px;transition:width .6s}.quest{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:14px 16px;border-radius:12px;background:var(--marker);color:var(--marker-ink)}.quest .qt{flex:1 1 220px;min-width:0}.quest b{font-family:var(--f-display);font-size:14px;font-weight:500}.quest .qbar{height:6px;background:#0000001f;border-radius:3px;margin-top:8px;overflow:hidden}.quest .qbar i{display:block;height:100%;background:var(--marker-ink);border-radius:3px}.quest .rw{font-size:13px;font-weight:600;white-space:nowrap}.grades{display:flex;flex-wrap:wrap;gap:6px}.grades button{width:44px;height:44px;border:1.5px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;font-weight:600;font-variant-numeric:tabular-nums}.grades button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.level-note{font-size:14px;color:var(--ink-soft);margin:8px 0 0}.voice-select{font:inherit;font-size:15px;width:100%;max-width:360px;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}.voice-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:10px 0}.voice-row>span{min-width:76px;font-size:14px;color:var(--ink-soft)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{min-height:40px;padding:0 14px;border:1.5px solid var(--line);background:var(--card);color:var(--text);border-radius:99px;font-weight:600}.chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.ico{width:52px;height:52px;border-radius:10px;display:grid;place-items:center;font-family:var(--f-display);font-size:20px;font-weight:700;color:var(--ink);background:var(--grid)}.badges{--gap:10px}.badge{display:grid;justify-items:center;gap:6px;padding:12px 8px;text-align:center;border-radius:10px;border:1.5px dashed var(--line);color:var(--locked)}.badge .b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:15px;border:2px solid currentColor}.badge span{font-size:12px;line-height:1.3}.badge em{font-style:normal;font-size:11px}.badge.on{border-style:solid;border-color:var(--ink);background:var(--card);color:var(--text)}.badge.on .b{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(-6deg)}.badge.on em{color:var(--ink-soft)}.subj-head{display:flex;gap:14px;align-items:center;margin-bottom:6px}.subj-head h2{font-size:clamp(20px,4.5vw,28px)}.note{font-size:14px;color:var(--ink-soft);margin:0 0 18px}.topics{display:grid;gap:8px;margin-top:14px}.topic.locked{border-style:dashed;background:transparent;color:var(--ink-soft);cursor:not-allowed}.topic.locked b,.topic.locked small{grid-column:1/-1}.topic.locked b{font-weight:500;display:flex;gap:8px;align-items:center}.topic.locked svg{flex:none;width:14px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.topic{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);text-align:left}.topic:hover{border-color:var(--ink)}.topic b{font-weight:600;font-size:15px;min-width:0}.topic small{color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.topic .bar{grid-column:1/-1;height:5px}.src{font-size:12px;color:var(--ink-soft);margin-top:20px;border-top:1.5px solid var(--line);padding-top:10px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.back{background:none;border:none;color:var(--ink-soft);padding:6px 0;font-size:14px}.back:hover{color:var(--ink)}.dots{display:flex;gap:5px;flex-wrap:wrap}.dots span{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line);background:var(--card)}.dots span.cur{border-color:var(--ink);transform:scale(1.2)}.dots span.ok{background:var(--ok);border-color:var(--ok)}.dots span.bad{background:var(--pen);border-color:var(--pen)}.qbar-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.qbar-row .qmeta{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qbar-right{flex:none}.qmeta{font-size:13px;color:var(--ink-soft);min-width:0}.combo{font-family:var(--f-display);font-size:13px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--grid);color:var(--ink-soft)}.combo.hot{background:var(--pen);color:var(--paper);animation:pulse .6s}@keyframes pulse{50%{transform:scale(1.15)}}.question{font-family:var(--f-display);font-size:clamp(22px,5vw,32px);color:var(--text);line-height:1.3;margin:4px 0 18px;font-weight:500;text-wrap:pretty}.question.long{font-family:var(--f-body);font-size:clamp(18px,3.6vw,22px)}.question .word{font-family:var(--f-display)}.gap{display:inline-block;min-width:1.1em;border-bottom:3px solid var(--pen);color:var(--pen);text-align:center}.gap.fill{color:var(--ok);border-bottom-color:var(--ok);animation:write .45s ease-out both}.gap.fill.nil{min-width:0;border:0}.gap.blank{color:transparent;min-width:2.2em}.gap.fill.bad{color:var(--pen);border-bottom-color:var(--pen);font-family:var(--f-hand);font-size:1.3em;line-height:1}@keyframes write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.answer-row{display:flex;gap:10px;flex-wrap:wrap}.answer-row input{flex:1 1 180px;min-width:0;font:600 22px var(--f-body);padding:12px 14px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-variant-numeric:tabular-nums}.btn{padding:12px 22px;border-radius:10px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:600}.btn.ghost{background:transparent;color:var(--ink)}.btn:disabled{opacity:.4;cursor:default}.hintbtn{display:block;width:fit-content;margin-top:12px;background:none;border:1.5px dashed var(--line);color:var(--ink-soft);border-radius:99px;padding:6px 14px;font-size:14px}.hintbtn:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.hintbtn:disabled{opacity:.5;cursor:default}.hinttext{margin-top:12px;padding:10px 14px;border-left:3px solid #e0a100;background:var(--card);font-size:15px}.choices{display:grid;grid-template-columns:1fr;gap:10px}.choices.short.n2,.choices.short.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.short.n3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:560px){.choices.n2,.choices.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.n3:not(.long){grid-template-columns:repeat(3,minmax(0,1fr))}}.choices.short .choice{text-align:center;font-size:20px;font-variant-numeric:tabular-nums}.choice{padding:14px 16px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:18px;font-weight:500;text-align:left;transition:opacity .3s}.choice:hover:not(:disabled){border-color:var(--ink)}.choice.ok{border-color:var(--ok);background:var(--ok-soft)}.choice.bad{border-color:var(--pen);background:var(--pen-soft)}.choice.gone{opacity:.25;text-decoration:line-through}.choice:disabled{cursor:default}.feedback{margin-top:18px;padding:14px 16px;border-radius:10px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between;position:relative}.feedback.ok{background:var(--ok-soft)}.feedback.bad{background:var(--pen-soft)}.feedback .msg{min-width:0;flex:1 1 220px}.feedback strong{font-family:var(--f-hand);font-size:28px;line-height:1;margin-right:8px}.feedback.ok strong{color:var(--ok)}.feedback.bad strong{color:var(--pen)}.gain{position:absolute;right:16px;top:-14px;font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--ok);animation:rise 1.2s ease-out forwards;pointer-events:none}@keyframes rise{0%{transform:translateY(10px);opacity:0}30%{opacity:1}to{transform:translateY(-26px);opacity:0}}.hint{font-size:14px;color:var(--ink-soft)}.kbd{font-size:12px;color:var(--ink-soft);margin-top:14px}.board{display:inline-grid;grid-template-columns:16px repeat(8,var(--cell));grid-template-rows:repeat(8,var(--cell)) 18px;margin:0 0 16px;padding:8px 10px 4px 4px;max-width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:12px}.board .coord{display:grid;place-items:center;font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.sq{display:grid;place-items:center;border:none;padding:0;margin:0;position:relative}.sq .piece{width:84%;height:84%;filter:drop-shadow(0 1.5px 0 rgba(20,40,90,.22))}.board>.sq:nth-child(2){border-top-left-radius:6px}.board>.sq:nth-child(9){border-top-right-radius:6px}.board>.sq:nth-child(65){border-bottom-left-radius:6px}.board>.sq:nth-child(72){border-bottom-right-radius:6px}.sq.l{background:var(--sq-l)}.sq.d{background:var(--sq-d)}button.sq:hover{box-shadow:inset 0 0 0 3px var(--ink)}.sq.ok{box-shadow:inset 0 0 0 4px var(--ok)}.sq.bad{box-shadow:inset 0 0 0 4px var(--pen)}.sq.dot:after{content:"";width:28%;height:28%;border-radius:50%;background:var(--ok);opacity:.8;position:absolute}.pic{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:10px;margin:0 0 16px;max-width:440px}.pic svg{display:block;width:100%;height:auto;max-height:280px}.pic:has(>svg.thing){max-width:190px;padding:4px;transform-origin:50% 100%;animation:stick .5s cubic-bezier(.2,1.5,.4,1) both}.pic.yay:has(>svg.thing){animation:hop .7s ease-out}@keyframes stick{0%{transform:scale(.8) rotate(-5deg);opacity:0}}@keyframes hop{25%{transform:translateY(-12px) rotate(-3deg)}50%{transform:none}70%{transform:translateY(-4px)}}.thing .a-sway{animation:sway 3.2s ease-in-out infinite}.thing .a-sway.slow{animation-duration:4.5s}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.thing .a-bob{animation:bob 1.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-2.5px)}}.thing .a-spin{animation:spin 8s linear infinite}.thing .a-spin.fast{animation-duration:1.6s}.thing .a-spin.slow{animation-duration:14s}@keyframes spin{to{transform:rotate(360deg)}}.thing .a-swim{animation:swim 2.6s ease-in-out infinite}@keyframes swim{50%{transform:translate(-3px,-3px)}}.thing .a-wag{animation:wag .8s ease-in-out infinite alternate}@keyframes wag{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.thing .a-bubble{animation:bubble 2.6s ease-in infinite}@keyframes bubble{0%{transform:translateY(16px);opacity:0}30%{opacity:1}to{transform:translateY(-16px);opacity:0}}.thing .a-fall{animation:fall 3.6s linear infinite}@keyframes fall{0%{transform:translateY(-14px) rotate(0);opacity:0}15%,80%{opacity:1}to{transform:translateY(34px) rotate(90deg);opacity:0}}.thing .a-steam{animation:steam 2.4s ease-out infinite}@keyframes steam{0%{transform:translateY(8px);opacity:0}40%{opacity:.9}to{transform:translateY(-10px);opacity:0}}.thing .a-tap{animation:tap 2.6s ease-in-out infinite}@keyframes tap{0%,64%,to{transform:none}76%{transform:rotate(-7deg)}88%{transform:none}}.thing .a-twinkle{animation:twinkle 1.8s ease-in-out infinite}@keyframes twinkle{50%{transform:scale(.35);opacity:.3}}.thing .nss *{vector-effect:non-scaling-stroke}.thing .a-wag.fast{animation-duration:.35s}.thing .a-bob.slow{animation-duration:2.6s}.thing .a-pulse{animation:pulse2 1.8s ease-in-out infinite}@keyframes pulse2{50%{transform:scale(1.07)}}.thing .a-bounce{animation:bounce 1.1s cubic-bezier(.3,0,.7,1) infinite}@keyframes bounce{0%,to{transform:translateY(0) scale(1.06,.94)}12%{transform:translateY(0) scale(1)}50%{transform:translateY(-22px)}88%{transform:translateY(0) scale(1)}}.thing .a-shadow{animation:shrink 1.1s cubic-bezier(.3,0,.7,1) infinite}@keyframes shrink{50%{transform:scaleX(.6);opacity:.5}}.thing .a-rain{animation:rain 1.6s linear infinite}@keyframes rain{0%{transform:translateY(-12px);opacity:0}20%,80%{opacity:1}to{transform:translateY(22px);opacity:0}}.thing .a-blow{animation:blow 2.8s ease-in-out infinite}@keyframes blow{50%{transform:translate(6px)}}.thing .a-drift{animation:drift 2.6s linear infinite}@keyframes drift{0%{transform:translate(-16px,-4px);opacity:0}20%,80%{opacity:1}to{transform:translate(22px,6px) rotate(120deg);opacity:0}}.thing .a-flow{animation:flow 1.2s linear infinite}@keyframes flow{to{stroke-dashoffset:-18}}.thing .a-ripple{animation:ripple 1.5s ease-in-out infinite}.thing .a-flap{animation:flap .5s ease-in-out infinite alternate}@keyframes flap{to{transform:scaleY(.55)}}.thing .a-blink{animation:blink 3.4s ease-in-out infinite}@keyframes blink{0%,92%,to{transform:none}96%{transform:scaleY(.1)}}.thing .a-door{animation:door 4s ease-in-out infinite}@keyframes door{0%,60%,to{transform:none}75%,85%{transform:scaleX(.55)}}.thing .a-wave{animation:wave 1.6s ease-in-out infinite alternate}@keyframes wave{0%{transform:skewY(-3deg) scaleX(.97)}to{transform:skewY(3deg) scaleX(1)}}.thing .a-leaf{animation:leaf 4s ease-in-out infinite}@keyframes leaf{0%{transform:translateY(-6px) rotate(-15deg)}50%{transform:translate(6px,6px) rotate(20deg)}to{transform:translateY(-6px) rotate(-15deg)}}.thing .a-ripple2{animation:ripple2 2s ease-out infinite}@keyframes ripple2{0%{transform:scale(.4);opacity:1}to{transform:scale(1.15);opacity:0}}.thing .a-snip{animation:snip 1.4s ease-in-out infinite}.thing .a-snip2{animation:snip2 1.4s ease-in-out infinite}@keyframes snip{50%{transform:rotate(12deg)}}@keyframes snip2{50%{transform:rotate(-12deg)}}.thing .a-slide{animation:slide 2s ease-in-out infinite alternate}@keyframes slide{0%{transform:translate(-10px)}to{transform:translate(8px)}}.thing .a-hit{animation:hit .7s ease-in-out infinite}@keyframes hit{50%{transform:rotate(-14deg)}}@keyframes ripple{0%{transform:translateY(-4px);opacity:0}50%{opacity:1}to{transform:translateY(5px);opacity:0}}.thing .a-jiggle{animation:jiggle 3s ease-in-out infinite}@keyframes jiggle{0%,80%,to{transform:none}84%{transform:rotate(-5deg)}88%{transform:rotate(5deg)}92%{transform:rotate(-3deg)}96%{transform:rotate(2deg)}}.thing .a-hop{animation:hop2 2.2s ease-in-out infinite}@keyframes hop2{0%,60%,to{transform:none}70%{transform:translateY(-8px)}80%{transform:none}86%{transform:translateY(-3px)}}.thing .a-flip{animation:flip 4s ease-in-out infinite}@keyframes flip{0%,30%{transform:scaleX(1);opacity:0}35%{opacity:1}65%{transform:scaleX(-1);opacity:1}75%,to{transform:scaleX(-1);opacity:0}}.thing .a-flicker{animation:flicker .6s ease-in-out infinite alternate}@keyframes flicker{0%{transform:scale(.85,1.1) rotate(-4deg)}to{transform:scale(1.05,.9) rotate(4deg)}}.thing .a-write{animation:write2 3s ease-in-out infinite}@keyframes write2{0%{stroke-dashoffset:100;opacity:1}60%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.choices.pics.n2,.choices.pics.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.pics.n3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:560px){.choices.pics.n4{grid-template-columns:repeat(4,minmax(0,1fr))}}.choice.pc{display:grid;place-items:center;padding:8px;min-height:92px}.choice.pc svg{width:100%;max-width:130px;height:auto}.piano{position:relative;display:flex;height:clamp(130px,30vw,170px);max-width:440px;margin:0 0 16px;user-select:none;-webkit-user-select:none;padding-top:6px;border-top:6px solid var(--key-b);border-radius:6px 6px 0 0}.wk{flex:1;min-width:0;margin-left:-1.5px;border:1.5px solid var(--key-b);border-top:none;border-radius:0 0 7px 7px;background:var(--key-w);color:var(--key-t);display:flex;align-items:flex-end;justify-content:center;padding:0 0 8px;font-size:13px;font-weight:600;transition:background .12s}.wk:first-child{margin-left:0}.bk{position:absolute;top:6px;width:8.5%;height:58%;background:var(--key-b);border:1.5px solid var(--key-b);border-top:none;border-radius:0 0 5px 5px;z-index:2;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:flex-end;justify-content:center;padding:0 0 5px}button.wk:hover{background:var(--key-w2)}button.bk:hover{background:#2c3550}button.wk:active,button.bk:active{transform:translateY(2px)}.piano .wk.mark{background:var(--key-mark)}.piano .bk.mark{background:#c99a00;border-color:#c99a00}.piano .ok{background:var(--ok);border-color:var(--key-b);color:var(--paper)}.piano .bad{background:var(--pen);border-color:var(--key-b);color:var(--paper)}.bk{font-size:9px;letter-spacing:-.02em}.staff{background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:6px 10px;margin-bottom:12px;max-width:340px}.staff svg{display:block;width:100%;height:auto}.play{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:10px 18px;border-radius:99px;border:2px solid var(--pen);background:var(--pen-soft);color:var(--pen);font-weight:600}.play:hover{background:var(--pen);color:var(--paper)}.play.track{display:flex;width:100%;max-width:440px;gap:12px;padding:8px 16px 8px 8px}.play.track:hover{background:var(--pen-soft);color:var(--pen);box-shadow:0 0 0 3px var(--pen-soft)}.play.track .ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pen);color:var(--paper)}.play.track .ico svg{width:20px;height:20px;fill:currentColor}.play.track.playing .ico{animation:beat 1s ease-in-out infinite}@keyframes beat{50%{transform:scale(1.08)}}.play.track .bars{flex:1;min-width:0;height:32px;display:flex;align-items:center;gap:2px}.play.track .bars i{flex:1;min-width:2px;border-radius:2px;background:var(--pen);opacity:.28;transition:opacity .12s}.play.track .bars i.on{opacity:1}.play.track .time{flex:none;min-width:2.4em;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.timer{height:14px;border-radius:7px;background:var(--grid);overflow:hidden;margin:6px 0 10px}.timer i{display:block;height:100%;background:var(--pen);transition:width .1s linear}.bscore{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:14px;margin-bottom:10px;gap:10px;flex-wrap:wrap}.bscore b{font-family:var(--f-display);font-size:28px;color:var(--ink)}.flash-ok{animation:fok .35s}@keyframes fok{0%{color:var(--ok);transform:scale(1.1)}}.match{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match .col{display:grid;gap:8px;min-width:0}.tile{padding:14px 12px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:16px;font-weight:500;overflow-wrap:anywhere;transition:transform .15s,opacity .4s}.tile:hover:not(:disabled){border-color:var(--ink)}.tile.sel{border-color:var(--ink);background:var(--grid);transform:scale(1.03)}.tile.ok{border-color:var(--ok);background:var(--ok-soft);opacity:.45}.tile.bad{border-color:var(--pen);background:var(--pen-soft);animation:shake .4s}.result{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-bottom:22px}.big{font-family:var(--f-hand);font-size:140px;line-height:.8;color:var(--pen);transform:rotate(-10deg);min-width:120px;text-align:center;animation:stamp .5s ease-out}.big.num{font-family:var(--f-display);font-size:72px;font-weight:700;color:var(--ink)}@keyframes stamp{0%{transform:rotate(-10deg) scale(1.6);opacity:0}to{transform:rotate(-10deg) scale(1);opacity:1}}.result h2{font-size:clamp(20px,4vw,26px);margin-bottom:6px}.result p{margin:0;color:var(--ink-soft)}.rewards{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.rewards .chip{background:var(--marker);color:var(--marker-ink);border-color:transparent}.review{border-top:1.5px solid var(--line);padding-top:14px;margin-bottom:22px}.review ol{margin:0;padding-left:22px;display:grid;gap:6px}.review li{font-size:15px}.review .was{color:var(--pen);text-decoration:line-through}.review .right{background:var(--marker);color:var(--marker-ink);padding:0 4px;border-radius:3px;font-weight:600}.actions{display:flex;gap:10px;flex-wrap:wrap}.chip.offline{background:var(--marker);color:var(--marker-ink);border-color:transparent}.install{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:26px;padding:14px 16px;border-radius:12px;border:1.5px dashed var(--ink);background:var(--card)}.install>div{flex:1 1 240px;min-width:0}.install b{font-size:15px}.install p{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}.auth{max-width:440px}.auth h2{font-size:clamp(22px,5vw,28px);margin-bottom:6px}.fields{display:grid;gap:14px;margin-top:6px}.field{display:grid;gap:6px}.field span{font-size:13px;font-weight:600;color:var(--ink-soft)}.field input,.join input{font:500 18px var(--f-body);padding:11px 13px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);min-width:0}.field input:focus,.join input:focus{border-color:var(--ink);outline:none}.code-input{font:700 30px var(--f-display)!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.roles{border:none;padding:0;margin:0;display:grid;gap:8px}.roles legend{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;padding:0}.roles label,.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}.roles input,.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);flex:none}.check span{font-size:13px;color:var(--ink-soft)}.error{color:var(--pen);font-size:14px;margin:0}.timer-note{margin:0 0 14px;font-size:14px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.timer-note.soon{color:var(--pen)}.timer-note.gone{color:var(--pen);font-weight:600}.account{margin-top:20px;padding:16px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}.account .label.sub{margin-top:16px}.account-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.account-cta>div:first-child{flex:1 1 260px;min-width:0}.account-cta p{margin:4px 0 0;font-size:14px;color:var(--ink-soft)}.account-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.account-row>div{min-width:0;overflow-wrap:anywhere}.sync{font-size:12px;color:var(--ok);margin-top:2px}.sync.off{color:var(--ink-soft)}.class-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.class-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px}.class-list li>div{min-width:0}.class-code{font-family:var(--f-display);font-weight:700;letter-spacing:.06em;color:var(--ink)}.big-code{font-size:clamp(26px,7vw,36px)}.join{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.join input{flex:1 1 200px}.invite{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--marker);color:var(--marker-ink)}.invite .label,.invite .hint{color:inherit;opacity:.85}.invite .hint{flex:1 1 200px;margin:0}.hard{list-style:none;padding:0;margin:0;display:grid;gap:6px}.hard li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border-left:3px solid var(--pen);background:var(--card);border-radius:0 8px 8px 0}.hard small{color:var(--ink-soft);font-variant-numeric:tabular-nums}.students{display:grid;gap:10px}.student{padding:14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);display:grid;gap:10px}.student-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.student-head b{font-size:16px}.student-head small{color:var(--ink-soft)}.student-stats{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft)}.student-stats b{color:var(--text);font-variant-numeric:tabular-nums}.subj-bars{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 14px}.subj-bars>div{display:grid;grid-template-columns:22px 1fr 36px;gap:6px;align-items:center;font-size:12px}.subj-bars .bar{height:6px}.subj-bars small{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.bar i.low{background:var(--pen)}.weak{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--ink-soft)}.student-actions{font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.confirm{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}.linkbtn{background:none;border:none;padding:0;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:2px}.profile{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.profile>div{min-width:0;flex:1 1 220px}.profile>.ava{flex:none}.ava{width:56px;height:56px;border-radius:50%;background:var(--pen);color:var(--paper);display:grid;place-items:center;font-family:var(--f-display);font-size:22px;font-weight:700;flex:none}.cab-name{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.tabs{display:flex;gap:2px;margin:18px 0 0;border-bottom:1.5px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs button{flex:none;border:none;background:none;padding:10px 14px;font-weight:600;font-size:15px;color:var(--ink-soft);border-bottom:3px solid transparent;margin-bottom:-1.5px;border-radius:8px 8px 0 0}.tabs button:hover{color:var(--ink);background:var(--grid)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}details.more{margin-top:10px}details.more summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:14px;padding:6px 0}details.more .recs{margin-top:8px}.tiles+.chart{margin-top:10px}.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tiles.three .tile-s{padding:12px 10px}.tiles.three .tile-s b{font-size:22px}.tiles.three .tile-s span{font-size:12px;line-height:1.3;display:block}.smart.ghost{background:transparent;color:var(--pen)}.smart.ghost:hover{background:var(--pen-soft)}.up{color:var(--ok)}.down{color:var(--pen)}.facts{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facts li{display:grid;gap:2px;padding:12px;border-radius:10px;background:var(--card);border:1.5px solid var(--line);min-width:0}.facts li span{font-size:12px;color:var(--ink-soft)}.facts li b{font-size:15px;overflow-wrap:anywhere}.facts li em{font-style:normal;font-size:13px;font-weight:600}.subj-mini{display:grid;gap:8px;margin-bottom:10px}.subj-mini .row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);text-align:left}.subj-mini .row small{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.subj-mini .row .bar{grid-column:1/-1;height:6px}.name-input{font:600 20px var(--f-display);border:none;border-bottom:2px dashed var(--line);background:transparent;color:var(--ink);padding:4px 0;width:100%;max-width:360px}.name-input:focus{outline:none;border-bottom-color:var(--ink)}.danger-zone{display:flex;gap:10px 16px;flex-wrap:wrap;align-items:center}.danger-zone .src{margin:0;border:0;padding:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.tile-s{padding:14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.tile-s b{font-family:var(--f-display);font-size:26px;color:var(--ink);display:block;font-variant-numeric:tabular-nums;line-height:1.2}.tile-s span{font-size:13px;color:var(--ink-soft)}.recs{display:grid;gap:10px}.rec{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.rec>div{min-width:0}.rec b{display:block;font-size:15px}.rec p{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}.rec .btn{padding:8px 14px;font-size:14px}.tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:99px;white-space:nowrap}.tag.weak{background:var(--pen-soft);color:var(--pen)}.tag.fresh{background:var(--marker);color:var(--marker-ink)}.tag.new{background:var(--grid);color:var(--ink)}.tag.up{background:var(--ok-soft);color:var(--ok)}.tag.habit{background:var(--ink);color:var(--paper)}@media(max-width:520px){.rec{grid-template-columns:1fr}.rec .tag{justify-self:start}}.smart{margin-top:12px;width:100%;padding:14px;border-radius:10px;border:2px solid var(--pen);background:var(--pen);color:var(--paper);font-weight:600;font-size:16px}.chart{padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.chart svg{width:100%;height:auto;display:block}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-top:6px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}details.sp{border:1.5px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:8px}details.sp summary{list-style:none;cursor:pointer;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}details.sp summary::-webkit-details-marker{display:none}details.sp summary b{font-size:15px}details.sp summary small{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}details.sp summary .bar{grid-column:1/-1;height:6px}details.sp[open] summary{border-bottom:1px solid var(--line)}.tl{display:grid;padding:4px 8px 10px}.trow{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 6px;border:none;background:none;text-align:left;color:var(--text);font-size:14px;border-radius:6px}.trow:hover{background:var(--grid)}.trow small{color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums}.st{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap}.st.mastered{background:var(--ok-soft);color:var(--ok)}.st.weak{background:var(--pen-soft);color:var(--pen)}.st.progress{background:var(--grid);color:var(--ink)}.st.new{color:var(--ink-soft);border:1px dashed var(--line)}.danger{background:none;border:1.5px solid var(--pen);color:var(--pen);border-radius:8px;padding:8px 14px;font-size:14px}#toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:8px;z-index:20;width:min(92vw,380px);pointer-events:none}.toast{background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:12px;box-shadow:0 10px 30px -10px #0006;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;animation:tin .35s ease-out}.toast .ti{width:36px;height:36px;border-radius:50%;background:var(--marker);color:var(--marker-ink);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:13px}.toast b{display:block;font-size:14px}.toast span{font-size:13px;opacity:.85}.toast.out{opacity:0;transition:opacity .4s}@keyframes tin{0%{transform:translateY(20px);opacity:0}}#confetti{position:fixed;inset:0;pointer-events:none;z-index:19}@media(max-width:480px){.result{grid-template-columns:1fr;text-align:center}.big{margin:10px auto 0}.rewards{justify-content:center}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.cards-task{display:grid;gap:12px;margin-bottom:6px}.card{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:17px;font-weight:500;text-align:left;overflow-wrap:break-word;transition:transform .12s,border-color .12s}.card:hover:not(:disabled){border-color:var(--ink)}.card:active:not(:disabled){transform:scale(.97)}.card .n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--grid);color:var(--ink-soft);display:grid;place-items:center;font-size:12px;font-weight:700}.card.sel{border-color:var(--ink);background:var(--grid);transform:scale(1.04)}.card.ok{border-color:var(--ok);background:var(--ok-soft)}.card.bad{border-color:var(--pen);background:var(--pen-soft)}.card small{color:var(--pen);font-weight:600}.bucket-items .card small{display:block;font-size:13px}.card:disabled{cursor:default;opacity:1}.pool{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;padding:10px;border:1.5px dashed var(--line);border-radius:12px}.pool .note{margin:0;align-self:center}.slots{list-style:none;margin:0;padding:0;display:grid;gap:6px}.slot{display:flex;min-height:46px}.slot .card{flex:1;animation:stick .3s cubic-bezier(.2,1.5,.4,1) both}.slot.empty{border:2px dashed var(--line);border-radius:10px;align-items:center;padding:0 14px;color:var(--locked)}.slot.empty .n{font-size:13px;font-weight:700}.slot.ok .card{border-color:var(--ok);background:var(--ok-soft)}.slot.bad .card{border-color:var(--pen);background:var(--pen-soft)}.buckets{display:grid;gap:8px}.buckets.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.buckets.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.buckets.n4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:559px){.buckets.n3,.buckets.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.buckets.n3>:last-child{grid-column:1/-1}}.bucket{display:grid;align-content:start;gap:6px;padding:8px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);min-height:110px}.bucket-head{display:flex;align-items:center;gap:6px;justify-content:center;padding:8px;border:2px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14px;text-align:center;overflow-wrap:anywhere}.bucket-head .n{width:20px;height:20px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:11px;flex:none}.bucket-head:disabled{opacity:1;background:var(--grid);color:var(--ink);border-color:var(--grid)}.bucket-items{display:grid;gap:6px}.bucket-items .card{display:block;font-size:15px;padding:8px 10px;animation:stick .3s cubic-bezier(.2,1.5,.4,1) both}.tf-card{display:grid;gap:10px;padding:18px;border:2px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:14px;min-height:170px;align-content:center;animation:tfin .25s ease-out}.tf-card.was-ok{box-shadow:0 0 0 3px var(--ok-soft)}.tf-card.was-bad{box-shadow:0 0 0 3px var(--pen-soft)}@keyframes tfin{0%{transform:translate(18px);opacity:0}}.tf-q{font-family:var(--f-display);font-size:clamp(18px,4vw,24px);font-weight:500;line-height:1.35;text-wrap:pretty}.tf-a{font-size:18px;color:var(--ink-soft)}.tf-a b{background:var(--marker);color:var(--marker-ink);padding:2px 8px;border-radius:6px}.tf-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tf-btns button{padding:18px 10px;border-radius:12px;font-size:20px;font-weight:700;border:2px solid;display:flex;gap:8px;justify-content:center;align-items:center;transition:transform .1s}.tf-btns button:active{transform:scale(.96)}.tf-no{background:var(--pen-soft);border-color:var(--pen);color:var(--pen)}.tf-yes{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.chest{display:block;width:100%;height:auto;overflow:visible}.chest .sparks{animation:twinkle 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.chest-call{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border:2px solid #e0a100;border-radius:12px;background:var(--marker);color:var(--marker-ink);text-align:left}.chest-call .chest{width:64px;animation:jiggle 2.4s ease-in-out infinite;transform-origin:50% 90%}.chest-call b{display:block;font-size:16px}.chest-call small{font-size:13px;opacity:.85}.chest-call .btn{padding:8px 14px;font-size:14px}.chest-panel{margin:14px 0 6px;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:var(--card)}.chest-panel h3{font-family:var(--f-display);font-size:18px;margin:0 0 4px;color:var(--ink)}.chest-panel p{margin:0 0 12px;color:var(--ink-soft);font-size:14px}.chest-row{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}.chest-btn{background:none;border:0;padding:0;width:120px}.chest-btn:not(.idle) .chest{animation:jiggle 2.4s ease-in-out infinite;transform-origin:50% 90%}.chest-btn.idle{opacity:.55;filter:grayscale(.6)}.chest-btn.shaking .chest{animation:chestshake .7s ease-in-out}.chest-btn.shaking .lid{animation:lidup .7s ease-in forwards;transform-box:fill-box;transform-origin:0 100%}@keyframes chestshake{10%,50%,90%{transform:rotate(-6deg)}30%,70%{transform:rotate(6deg)}}@keyframes lidup{80%{transform:none}to{transform:rotate(-25deg) translateY(-6px)}}.drop{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}.drop-pic{width:150px;padding:6px;border-radius:14px;border:3px solid var(--line);background:var(--paper);animation:reveal .6s cubic-bezier(.2,1.6,.4,1) both}.drop.rare .drop-pic{border-color:var(--f1);box-shadow:0 0 0 4px color-mix(in srgb,var(--f1) 25%,transparent)}.drop.epic .drop-pic{border-color:#e0a100;box-shadow:0 0 0 5px color-mix(in srgb,#e0a100 30%,transparent),0 0 30px color-mix(in srgb,#e0a100 45%,transparent)}.drop-pic svg{display:block;width:100%;height:auto}@keyframes reveal{0%{transform:scale(.2) rotate(-20deg);opacity:0}}.drop h3{font-size:22px}.tag.r-common{background:var(--grid);color:var(--ink)}.tag.r-rare{background:var(--f1);color:#fff}.tag.r-epic{background:#e0a100;color:#3b2a00}@media(max-width:480px){.chest-row,.drop{grid-template-columns:1fr;justify-items:center;text-align:center}.drop .actions{justify-content:center}.chest-call{grid-template-columns:52px 1fr}.chest-call .chest{width:52px}.chest-call .btn{grid-column:1/-1;text-align:center}}.album-head{display:grid;gap:8px;margin-top:6px}.album-head h2{font-size:20px}.album{margin-top:18px}.stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.cell{display:grid;justify-items:center;align-content:start;gap:2px;padding:4px 2px 6px;border:2px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);text-align:center;transition:transform .15s}.cell small{font-size:11px;line-height:1.15;color:var(--ink-soft);overflow-wrap:anywhere}.cell svg{display:block;width:100%;max-width:80px;height:auto}.cell.rare{border-color:color-mix(in srgb,var(--f1) 60%,var(--line))}.cell.epic{border-color:#e0a100;background:color-mix(in srgb,var(--marker) 25%,var(--card))}.cell.on{transform:scale(1.06);border-color:var(--ink)}.cell.empty{place-content:center;aspect-ratio:1;border-style:dashed;color:var(--locked);font:700 20px var(--f-display);background:none}.missing{margin-top:8px}.missing summary{cursor:pointer;padding:10px 14px;border:1.5px dashed var(--line);border-radius:10px;color:var(--ink-soft);font-size:14px;font-weight:600}.missing[open] summary{margin-bottom:8px}.album .thing *{animation-play-state:paused!important}.album .cell.on .thing *,.album .cell:hover .thing *{animation-play-state:running!important}.goal-row{display:grid;grid-template-columns:44px 1fr auto;gap:4px 12px;align-items:center}.goal-text .linkbtn{font-size:13px}.ring{width:44px;height:44px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:5}.ring-bg{stroke:var(--grid)}.ring-fg{stroke:var(--ink);stroke-linecap:round;transition:stroke-dashoffset .6s}.goal-row.done .ring-fg{stroke:var(--ok)}.ring text{transform:rotate(90deg);transform-origin:22px 22px;font:700 13px var(--f-display);fill:var(--ink)}.goal-row.done .ring text{fill:var(--ok)}.goal-text b{display:block;font-size:15px;color:var(--ink)}.goal-row.done .goal-text b{color:var(--ok)}.goal-text small{font-size:13px;color:var(--ink-soft)}.goal-pick{display:flex;gap:6px}.goal-pick button{width:40px;height:36px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font-weight:700}.goal-pick button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.streak-note{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;border:1.5px solid var(--pen);background:var(--pen-soft)}.streak-note.frozen{border-color:var(--f1);background:color-mix(in srgb,var(--f1) 12%,var(--card))}.streak-note .flame{font-size:20px;color:var(--pen);animation:pulse 1.6s ease-in-out infinite}.streak-note.frozen .flame{color:var(--f1);animation:none}.streak-note b{display:block;font-size:15px}.streak-note small{font-size:13px;color:var(--ink-soft)}.streak-note .btn{padding:8px 12px;font-size:14px;white-space:nowrap}.review-call{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border:2px solid var(--ink);border-radius:12px;background:color-mix(in srgb,var(--ink) 8%,var(--card));color:var(--text);text-align:left}.review-call .rc-ico{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 22px var(--f-display)}.review-call b{display:block;font-size:16px;color:var(--ink)}.review-call small{font-size:13px;color:var(--ink-soft)}.review-call .btn{padding:8px 14px;font-size:14px}@media(max-width:480px){.goal-pick{grid-column:2}.streak-note{grid-template-columns:auto 1fr}.streak-note .btn{grid-column:2;justify-self:start}.review-call{grid-template-columns:44px 1fr}.review-call .btn{grid-column:1/-1;text-align:center}}[data-drag]{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}[data-dragging]{opacity:.3}.drag-ghost{position:fixed;z-index:50;pointer-events:none;padding:10px 14px;border:2px solid var(--ink);border-radius:10px;background:var(--card);color:var(--text);font-size:17px;font-weight:600;box-shadow:0 14px 30px -10px #14285a73;transform:rotate(-2deg) scale(1.04);cursor:grabbing}.slots.over,.pool.over{border-radius:12px;outline:2px dashed var(--ink);outline-offset:4px;background:color-mix(in srgb,var(--ink) 5%,transparent)}.bucket.over{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,var(--card));transform:scale(1.02)}.bucket{transition:transform .12s,border-color .12s,background .12s}.tile.over{border-color:var(--ink);background:var(--grid);transform:scale(1.04)}.hands-task{display:grid;gap:12px;margin-bottom:6px;justify-items:start}.hands-task .btn{justify-self:stretch}.hands-note{margin:0;font-size:14px;color:var(--ink-soft)}.numline-task{width:100%;max-width:560px;height:auto;background:var(--card);border:1.5px solid var(--line);border-radius:12px;touch-action:none;user-select:none;-webkit-user-select:none;overflow:visible}.numline-task.live{cursor:pointer}.numline-task:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.numline-task .axis,.numline-task .tick{stroke:var(--text);stroke-width:2}.numline-task .tick{stroke-width:1.2}.numline-task .tick.major{stroke-width:2}.numline-task .arrow{fill:var(--text)}.numline-task text{font:600 13px var(--f-body);fill:var(--text)}.pin line{stroke-width:3}.pin circle{stroke:var(--paper);stroke-width:2}.pin.mine line{stroke:var(--ink)}.pin.mine circle{fill:var(--ink)}.pin.right line{stroke:var(--ok)}.pin.right circle{fill:var(--ok)}.pin.right text{fill:var(--ok);font-weight:700}.pin.bad line{stroke:var(--pen)}.pin.bad circle{fill:var(--pen)}.clock-task{width:min(100%,260px);height:auto;touch-action:none;user-select:none;-webkit-user-select:none}.clock-task.live{cursor:grab}.clock-task .face{fill:color-mix(in srgb,var(--f4) 22%,var(--card));stroke:var(--text);stroke-width:2.5}.clock-task .mark{stroke:var(--text);stroke-width:1}.clock-task .mark.hour{stroke-width:2.4}.clock-task text{font:700 14px var(--f-display);fill:var(--text)}.clock-task .hands line{stroke-linecap:round}.clock-task .hh{stroke:var(--text);stroke-width:7}.clock-task .mh{stroke:var(--pen);stroke-width:4}.clock-task .grip{fill:var(--text);opacity:.18}.clock-task .grip.m{fill:var(--pen)}.clock-task .hands.right .hh,.clock-task .hands.right .mh{stroke:var(--ok)}.clock-task .hands.right{opacity:.85}.clock-task .hands.bad .hh,.clock-task .hands.bad .mh{stroke:var(--pen);opacity:.6}.clock-task .pivot{fill:var(--text)}.clock-steps{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink-soft)}.clock-steps span{margin-left:6px}.clock-steps span:first-child{margin-left:0}.clock-steps button{width:40px;height:40px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:700 20px var(--f-display)}.word-slots,.letter-pool{display:flex;flex-wrap:wrap;gap:8px}.lslot,.ltile{width:48px;height:54px;border-radius:10px;display:grid;place-items:center;font:700 24px var(--f-display);text-transform:lowercase}.lslot{border:2px solid var(--ink);background:var(--card);color:var(--ink);animation:stick .25s cubic-bezier(.2,1.5,.4,1) both}.lslot.empty{border:2px dashed var(--line);background:none;animation:none}.lslot.ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.lslot.bad{border-color:var(--pen);background:var(--pen-soft);color:var(--pen)}.ltile{border:2px solid var(--line);background:var(--card);color:var(--text);transition:transform .1s,opacity .2s}.ltile:active:not(:disabled){transform:scale(.92)}.ltile:disabled{opacity:.15}.lslot.over{border-color:var(--ink);background:var(--grid);transform:scale(1.08)}.letter-pool.over{border-radius:12px;outline:2px dashed var(--ink);outline-offset:4px}.letter-pool{min-height:54px}.hands-task .drag-ghost{font:700 24px var(--f-display);text-align:center;padding:10px 0}@media(max-width:420px){.lslot,.ltile{width:40px;height:48px;font-size:20px}}.mascot{display:flex;align-items:center;gap:10px}.mascot svg{flex:none;overflow:visible}.m-five{font:700 15px var(--f-hand);fill:var(--pen)}.mascot .m-eyes{transform-box:fill-box;transform-origin:center;animation:blink 4.5s infinite}.mascot .m-wing{transform-box:fill-box}.mascot .m-wing.l{transform-origin:100% 0}.mascot .m-wing.r{transform-origin:0 0}.m-happy svg{animation:hop .7s ease-out}.m-cheer svg{animation:hop2 1.6s ease-in-out infinite}.m-cheer .m-wing.l{animation:wingl .35s ease-in-out infinite alternate}.m-cheer .m-wing.r{animation:wingr .35s ease-in-out infinite alternate}@keyframes wingl{to{transform:rotate(28deg)}}@keyframes wingr{to{transform:rotate(-28deg)}}.m-think .m-body{transform-origin:50% 90%;animation:tilt 2.4s ease-in-out infinite}@keyframes tilt{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.m-sad .m-body{transform-origin:50% 90%;transform:rotate(-6deg) translateY(2px)}.m-bubble{position:relative;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);font-size:15px;font-weight:600;color:var(--ink);animation:stick .35s cubic-bezier(.2,1.5,.4,1) both}.m-bubble:before{content:"";position:absolute;left:-8px;top:50%;width:12px;height:12px;background:var(--card);border-left:1.5px solid var(--line);border-bottom:1.5px solid var(--line);transform:translateY(-50%) rotate(45deg)}.result-mascot{margin:-6px 0 18px}.fb-mascot{flex:none}.feedback:has(.fb-mascot){padding-left:10px}.hello{display:flex;gap:10px;align-items:center;min-width:0}.hello h2{font-size:20px}.m-say{margin:2px 0 0;font-size:14px;color:var(--ink-soft)}.qbar-right{display:flex;gap:8px;align-items:center}.speak{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border:1.5px solid var(--line);border-radius:99px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600}.speak svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.speak svg path:first-child{fill:currentColor}.speak.on{border-color:var(--ink);background:var(--grid)}.speak.on .w1{animation:wave1 1s infinite}.speak.on .w2{animation:wave1 1s .2s infinite}@keyframes wave1{50%{opacity:.2}}@media(max-width:480px){.speak span{display:none}.speak{padding:6px}.fb-mascot svg{width:48px;height:48px}}.label-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:6px}@media(max-width:620px){.label-task{grid-template-columns:1fr}}.figure{width:100%;max-width:420px;height:auto;background:var(--card);border:1.5px solid var(--line);border-radius:14px;overflow:visible;touch-action:none}.fpin{cursor:pointer}.fleader line{stroke:var(--ink);stroke-width:2}.fleader circle{fill:var(--ink)}.fpin circle{fill:var(--card);stroke:var(--ink);stroke-width:2.5;transition:r .15s}.fpin text{font:700 14px var(--f-display);fill:var(--ink);pointer-events:none}.fpin.set circle{fill:var(--ink)}.fpin.set text{fill:var(--paper)}.fpin.over circle{r:17;fill:var(--grid)}.fpin.ok circle{fill:var(--ok);stroke:var(--ok)}.fpin.bad circle{fill:var(--pen);stroke:var(--pen)}.fpin.ok text,.fpin.bad text{fill:#fff}.label-side{display:grid;gap:10px}.label-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}.lrow{display:grid;grid-template-columns:28px 1fr;gap:4px 8px;align-items:center}.lrow .n{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 13px var(--f-display)}.lzone{min-height:42px;padding:8px 12px;border:2px dashed var(--line);border-radius:10px;background:none;color:var(--locked);font-size:14px;text-align:left}.lzone.set{border-style:solid;border-color:var(--ink);background:var(--card);color:var(--text);font-size:16px;font-weight:600}.lzone.over{border-color:var(--ink);background:var(--grid)}.lrow.ok .lzone{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.lrow.bad .lzone{border-color:var(--pen);background:var(--pen-soft);color:var(--pen);text-decoration:line-through}.lright{grid-column:2;color:var(--ok);font-weight:700;font-size:14px}.fill-task{display:grid;gap:12px;margin-bottom:6px}.sentence{margin:0;font-size:clamp(18px,3.4vw,22px);line-height:2.1}.fgap{display:inline-flex;align-items:center;gap:4px;min-width:72px;justify-content:center;margin:0 4px;padding:2px 12px;border:none;border-bottom:3px solid var(--pen);border-radius:6px 6px 0 0;background:color-mix(in srgb,var(--pen) 8%,transparent);color:var(--locked);font:inherit;font-weight:600;vertical-align:baseline}.fgap.target{background:var(--grid);border-bottom-color:var(--ink)}.fgap.set{color:var(--ink);background:var(--card);border-bottom-color:var(--ink);animation:stick .25s cubic-bezier(.2,1.5,.4,1) both}.fgap.over{background:var(--grid);transform:scale(1.06)}.fgap.ok{color:var(--ok);border-bottom-color:var(--ok);background:var(--ok-soft)}.fgap.bad{color:var(--pen);border-bottom-color:var(--pen);background:var(--pen-soft)}.fgap small{color:var(--ok);font-size:.75em}.expr-task{display:grid;gap:14px;margin-bottom:6px}.expr{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eslot{width:76px;height:64px;border:2.5px dashed var(--line);border-radius:12px;background:none;color:var(--ink);font:700 28px var(--f-display);font-variant-numeric:tabular-nums}.eslot.op{width:56px;border-radius:50%}.eslot.set{border-style:solid;border-color:var(--ink);background:var(--card);animation:stick .25s cubic-bezier(.2,1.5,.4,1) both}.eslot.over{border-color:var(--ink);background:var(--grid)}.expr.ok .eslot{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.expr.bad .eslot{border-color:var(--pen);background:var(--pen-soft);color:var(--pen)}.eq,.etarget{font:700 30px var(--f-display);color:var(--text)}.etarget{padding:6px 12px;border-radius:12px;background:var(--marker);color:var(--marker-ink)}.expr-pool .card{font:700 22px var(--f-display);min-width:52px;justify-content:center}.expr-pool .opcard{border-radius:50%;width:52px;height:52px;padding:0;color:var(--pen)}@media(max-width:420px){.eslot{width:62px;height:56px;font-size:24px}.eslot.op{width:48px}}.ticket-ico{flex:none;vertical-align:-3px}.tickets{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--f4) 22%,var(--card));border:1.5px solid color-mix(in srgb,var(--f4) 60%,var(--line));font-variant-numeric:tabular-nums}.tickets b{font-family:var(--f-display);font-size:20px;color:var(--ink)}.tickets.small{padding:3px 10px}.tickets.small b{font-size:16px}.arcade-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:4px 0 18px}.arcade-head h2{font-size:clamp(20px,4.5vw,26px)}.arcade-head .hint{margin:4px 0 0}@media(max-width:480px){.arcade-head{grid-template-columns:auto 1fr}.arcade-head .tickets{grid-column:1/-1;justify-self:start}}.arcade-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}@media(max-width:559px){.arcade-list{grid-template-columns:1fr}}.arcade-card{display:grid;gap:4px;justify-items:start;align-content:start;text-align:left;padding:12px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;color:var(--text);transition:transform .15s,border-color .15s}.arcade-card:hover{transform:translateY(-2px);border-color:var(--f4)}.arcade-card b{font-size:16px;color:var(--ink)}.arcade-card small{font-size:13px;color:var(--ink-soft);line-height:1.3}.arcade-card .best{color:var(--ink);font-variant-numeric:tabular-nums}.arcade-pic{width:100%;height:auto;aspect-ratio:5/3;border-radius:10px;background:color-mix(in srgb,var(--f1) 8%,var(--desk));margin-bottom:6px}@media(max-width:559px){.arcade-card{grid-template-columns:120px 1fr;column-gap:12px;align-items:center}.arcade-card .arcade-pic{grid-row:span 3;margin:0}}.mem-q{font:700 26px var(--f-display);fill:var(--ink-soft)}.mark5,.mark2{font-family:var(--f-hand);font-weight:700}.mark5{fill:var(--ok)}.mark2{fill:var(--pen)}.arcade-start{display:grid;justify-items:center;text-align:center;gap:10px;max-width:520px;margin:10px auto 0}.arcade-start .arcade-pic{max-width:320px}.arcade-start p{margin:0;line-height:1.45}.arcade-start .btn{display:inline-flex;align-items:center;gap:8px;margin-top:6px}.arcade-over .btn{display:inline-flex;align-items:center;gap:8px}.arena-wrap{display:flex;justify-content:center}.arena{display:block;width:min(100%,440px,calc((100dvh - 150px) * 2 / 3));height:auto;aspect-ratio:2/3;border:2px solid var(--line);border-radius:16px;background:var(--card);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.arena-score{font:700 56px var(--f-display);fill:var(--ink);opacity:.85;paint-order:stroke;stroke:var(--card);stroke-width:6px}.arena-score.small{font-size:34px}.arena-tip{font:600 20px var(--f-body);fill:var(--ink-soft)}.arena .owl,.arena .m-wing{transform-box:fill-box}.arena .owl{transform-origin:50% 100%}.arena .m-wing.l{transform-origin:100% 0}.arena .m-wing.r{transform-origin:0 0}.arena .owl .m-wing{transition:transform .2s ease-out}.arena .owl.hover{animation:bob 1.1s ease-in-out infinite}.arena .owl.hover .m-wing.l{animation:wingl .22s ease-in-out infinite alternate}.arena .owl.hover .m-wing.r{animation:wingr .22s ease-in-out infinite alternate}.arena .owl.stroke .m-wing.l{animation:strokel .3s ease-out}.arena .owl.stroke .m-wing.r{animation:stroker .3s ease-out}.arena .owl.glide .m-wing.l{transform:rotate(38deg)}.arena .owl.glide .m-wing.r{transform:rotate(-38deg)}.arena .owl.joy{animation:joy .4s ease-out}.arena .owl.hurt{animation:owlshake .45s}.arena .owl.down .m-wing{transform:rotate(0)}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes strokel{35%{transform:rotate(70deg)}}@keyframes stroker{35%{transform:rotate(-70deg)}}@keyframes joy{40%{transform:translateY(-18px) scale(1.08)}}@keyframes owlshake{0%,to{transform:none;opacity:1}20%{transform:translate(-8px) rotate(-6deg);opacity:.4}40%{transform:translate(8px) rotate(6deg);opacity:1}60%{transform:translate(-6px) rotate(-4deg);opacity:.4}80%{transform:translate(5px);opacity:1}}@media(prefers-reduced-motion:reduce){.arena .owl,.arena .owl .m-wing{animation:none!important}}.mem-score{align-items:center}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:560px;margin:0 auto}@media(max-width:480px){.memory{grid-template-columns:repeat(3,1fr)}}.mcard{position:relative;aspect-ratio:3/4;border:0;padding:0;background:none;perspective:600px}.mcard .mback,.mcard .mface{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;border:2px solid var(--line);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .35s ease}.mcard .mback{background:var(--f1);color:#fff;font:700 34px var(--f-display);border-color:color-mix(in srgb,var(--f1) 70%,var(--text))}.mcard .mface{background:var(--card);transform:rotateY(180deg);padding:10%}.mcard .mface svg{width:100%;height:100%}.mcard.up .mback{transform:rotateY(-180deg)}.mcard.up .mface{transform:rotateY(0)}.mcard.found .mface{border-color:var(--ok);background:var(--ok-soft)}.mcard:not(.up):hover .mback{filter:brightness(1.08)}@media(prefers-reduced-motion:reduce){.mcard .mback,.mcard .mface{transition:none}}.game .ico.tk{background:color-mix(in srgb,var(--f4) 28%,var(--card));border:1.5px solid color-mix(in srgb,var(--f4) 70%,var(--line))}.arena.snake,.arena.balloons{cursor:default}.arena .food{transform-box:fill-box;transform-origin:50% 50%;animation:foodin .3s cubic-bezier(.2,1.6,.4,1)}@keyframes foodin{0%{transform:scale(0)}}.arena .burst{animation:burst .4s ease-out forwards}@keyframes burst{0%{transform:scale(.5);opacity:1}to{transform:scale(1.35);opacity:0}}.burst-plus{font:700 22px var(--f-display);fill:var(--f4);paint-order:stroke;stroke:var(--text);stroke-width:3px}.pz-mini{font:700 11px var(--f-display);fill:#fff}.puzzle{position:relative;width:min(100%,360px);aspect-ratio:1;margin:6px auto 0;background:color-mix(in srgb,var(--f1) 8%,var(--desk));border:2px solid var(--line);border-radius:18px}.puzzle .pz{position:absolute;left:0;top:0;width:33.333%;height:33.333%;padding:6px;border:0;background:none;transition:transform .16s ease-out}.puzzle .pz span{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;border:2px solid var(--text);color:#fff;font:700 clamp(30px,9vw,44px) var(--f-display);box-shadow:0 4px color-mix(in srgb,var(--text) 35%,transparent)}.puzzle .pz:active span{transform:translateY(2px);box-shadow:0 2px color-mix(in srgb,var(--text) 35%,transparent)}.puzzle.done .pz span{animation:hop .6s ease-out}@media(prefers-reduced-motion:reduce){.puzzle .pz{transition:none}}.snake-cell{fill:color-mix(in srgb,var(--f3) 11%,transparent)}.snake-wall{fill:none;stroke:var(--f6);stroke-width:5}.maze-bg{fill:color-mix(in srgb,var(--f3) 9%,var(--card))}.maze-floor{fill:color-mix(in srgb,var(--f3) 16%,var(--card))}.maze-hedge{fill:none;stroke:color-mix(in srgb,var(--f3) 55%,var(--text));stroke-linecap:round;stroke-linejoin:round}.maze-wall{fill:none;stroke:color-mix(in srgb,var(--f3) 85%,#fff);stroke-linecap:round;stroke-linejoin:round}.maze-door rect,.maze-doorway{stroke:var(--text);stroke-width:2}.maze-door rect{fill:var(--f6)}.maze-doorway{fill:color-mix(in srgb,var(--f4) 70%,#fff)}.maze-door{transform-box:fill-box;transform-origin:0 50%;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.maze-door.open{transform:scaleX(.18)}.arena .owl.party{animation:maze-dance .75s ease-in-out infinite}@keyframes maze-dance{0%,50%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-24px) rotate(-10deg)}75%{transform:translateY(-24px) rotate(10deg)}}.maze-spark{animation:maze-spark .9s ease-out infinite both}@keyframes maze-spark{0%{transform:translate(0) scale(.4);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1.1);opacity:0}}.maze-hooray{font:700 26px var(--f-display);fill:var(--f2);paint-order:stroke;stroke:var(--card);stroke-width:5px;transform-box:fill-box;transform-origin:50% 100%;animation:maze-hooray .6s cubic-bezier(.2,1.6,.4,1) both}@keyframes maze-hooray{0%{transform:scale(0)}}.maze-glow{fill:var(--f4);opacity:.35;transform-box:fill-box;transform-origin:50% 50%;animation:maze-glow 1.6s ease-in-out infinite}@keyframes maze-glow{50%{transform:scale(1.18);opacity:.12}}.maze-in{animation:maze-in .45s cubic-bezier(.2,1.3,.4,1)}@keyframes maze-in{0%{opacity:0;transform:scale(.94)}}.maze-tuft{fill:none;stroke:color-mix(in srgb,var(--f3) 80%,var(--text));stroke-width:1.6;stroke-linecap:round}.maze-flower{transform-box:fill-box;transform-origin:50% 100%;animation:maze-sway 3s ease-in-out infinite}@keyframes maze-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.maze-star{transform-box:fill-box;transform-origin:50% 50%;animation:maze-twinkle 2s ease-in-out infinite}@keyframes maze-twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(12deg)}}.arena .owl.breathe{animation:bob 1.8s ease-in-out infinite}.maze-level{font-size:17px}.maze-arrow{cursor:pointer}.maze-arrow path{fill:var(--f1);stroke:var(--card);stroke-width:2;stroke-linejoin:round;opacity:.9}.maze-arrow-in{animation:maze-nudge .9s ease-in-out infinite}.maze-arrow:hover path{opacity:1;fill:var(--ink)}@keyframes maze-nudge{50%{transform:translate(4px)}}.maze-low{fill:var(--pen);transform-box:fill-box;transform-origin:50% 50%;animation:pulse 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.maze-spark{display:none}.arena .owl.party,.maze-low,.maze-arrow-in,.maze-glow,.maze-in,.maze-flower,.maze-star,.arena .owl.breathe{animation:none}}.shop{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;margin:0 0 16px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);text-align:left;width:100%}.shop-pic{display:grid;place-items:center;width:56px;height:44px}.shop-pic svg{width:100%;height:100%}.shop-text{display:grid;gap:2px}.shop-text b{font-size:15px;color:var(--ink)}.shop-text small{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.shop .btn{white-space:nowrap;text-align:center;justify-content:center}@media(max-width:420px){.shop{grid-template-columns:48px 1fr}.shop-pic{width:48px;height:38px}.shop .btn{grid-column:1/-1}}.ticket-big{display:grid;place-items:center;width:120px}.ticket-big svg{animation:jiggle 2.4s ease-in-out infinite;transform-origin:50% 90%}.ticket-big.idle{opacity:.55;filter:grayscale(.6)}.ticket-big.idle svg{animation:none}
