@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-hebrew-wght-normal-DdnsCkLr.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-ext-wght-normal-CYrqKuxd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2-variations");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{--z-background: 0;--z-world: 100;--z-gameplay: 200;--z-characters: 300;--z-hud: 500;--z-tutorial: 700;--z-modal: 800;--z-toast: 900;--z-loading: 1000;--ink: #1b1035;--ink-2: #2c1d57;--paper: #fffaf0;--paper-2: #fff1cc;--sky-1: #5b3cc4;--sky-2: #ff7eb6;--pink: #ff5fa2;--pink-dk: #c2266b;--yellow: #ffd23f;--yellow-dk: #d9a300;--green: #2ed47a;--green-dk: #15924d;--blue: #3d7bff;--blue-dk: #1c4fc4;--purple: #8f5bff;--purple-dk: #5a2db3;--orange: #ff9f1c;--orange-dk: #c86f00;--red: #ff4d6d;--red-dk: #c21d44;--cyan: #23c9c9;--text-scale: 1;--fs: calc(clamp(14px, .85vmin + 9px, 40px) * var(--text-scale));--radius: 1.1rem;--radius-lg: 1.6rem;--outline: .19rem;--lip: .32rem;--gap: clamp(.5rem, 1.6vmin, 1.4rem);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--content-w: min(100%, 36rem);--ease-pop: cubic-bezier(.34, 1.56, .64, 1)}html.hc{--paper: #ffffff;--paper-2: #ffffff;--ink: #000000;--outline: .25rem}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:var(--fs);height:100%}body{margin:0;min-height:100%;height:100%;overflow:hidden;font-family:Fredoka Variable,Fredoka,ui-rounded,Nunito,system-ui,sans-serif;font-weight:500;color:var(--ink);background:linear-gradient(170deg,var(--sky-1),var(--sky-2));user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:manipulation}button{font:inherit;color:inherit}img,svg{display:block}.svg-wrap{display:inline-flex}.svg-wrap>svg{width:100%;height:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:var(--z-background);display:block;outline:none}#bg-fallback{position:fixed;inset:0;z-index:var(--z-background);background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.18) 0 6%,transparent 7%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.12) 0 4%,transparent 5%),radial-gradient(circle at 60% 80%,rgba(255,255,255,.1) 0 8%,transparent 9%),linear-gradient(170deg,var(--sky-1),var(--sky-2))}.halftone:after,#bg-fallback:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(0,0,0,.14) 1px,transparent 1.4px);background-size:9px 9px;mix-blend-mode:multiply;opacity:.55}#app{position:fixed;inset:0;z-index:var(--z-world);display:flex;flex-direction:column}#fx-layer{position:fixed;inset:0;pointer-events:none;z-index:var(--z-characters);overflow:hidden}#hud-layer{position:fixed;inset:0;pointer-events:none;z-index:var(--z-hud)}#tutorial-layer{position:fixed;inset:0;pointer-events:none;z-index:var(--z-tutorial)}#modal-layer{position:fixed;inset:0;z-index:var(--z-modal);pointer-events:none}#toast-layer{position:fixed;left:0;right:0;top:calc(var(--safe-t) + .6rem);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none}#loading-layer{position:fixed;inset:0;z-index:var(--z-loading);pointer-events:none}#loading-layer>*{pointer-events:auto}.screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:calc(var(--safe-t) + .6rem) calc(var(--safe-r) + .8rem) calc(var(--safe-b) + .6rem) calc(var(--safe-l) + .8rem);animation:screen-in .35s var(--ease-pop) both}.screen-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:.3rem .1rem 1rem}.screen-body.center{display:flex;flex-direction:column;align-items:center}.col{width:var(--content-w);margin:0 auto;display:flex;flex-direction:column;gap:var(--gap)}.col.wide{width:min(100%,64rem)}.row{display:flex;gap:var(--gap);align-items:center}.row.wrap{flex-wrap:wrap}.spacer{flex:1}@keyframes screen-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;gap:.5rem;min-height:3.2rem;margin-bottom:.4rem}.topbar .title{flex:1;min-width:0;text-align:center;font-size:1.35rem;font-weight:700;color:#fff;text-shadow:0 .15rem 0 var(--ink),0 0 .5rem rgba(0,0,0,.25);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-text-stroke:.06rem var(--ink);paint-order:stroke fill}.pill{display:inline-flex;align-items:center;gap:.35rem;height:2.3rem;padding:0 .75rem 0 .3rem;border-radius:999px;background:#1b10358c;border:var(--outline) solid var(--ink);color:#fff;font-weight:700;font-size:1rem;box-shadow:inset 0 .15rem #ffffff26;white-space:nowrap;pointer-events:auto}.pill .ic{width:1.8rem;height:1.8rem}.pill.coin-target{transition:transform .2s var(--ease-pop)}.pill.bump{transform:scale(1.18)}.icon-btn{width:2.9rem;height:2.9rem;flex:none;border-radius:1rem;border:var(--outline) solid var(--ink);cursor:pointer;display:grid;place-items:center;padding:.35rem;background:linear-gradient(#fff,#e9e4ff);box-shadow:0 var(--lip) 0 var(--ink);transition:transform .12s,box-shadow .12s}.icon-btn .ic{width:100%;height:100%}.icon-btn:active{transform:translateY(var(--lip));box-shadow:0 0 0 var(--ink)}.icon-btn .badge-dot{position:absolute}.btn{--c1: #ffe36e;--c2: var(--yellow);--lipc: var(--yellow-dk);--tc: var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.3rem;padding:.55rem 1.3rem;border-radius:var(--radius);cursor:pointer;border:var(--outline) solid var(--ink);color:var(--tc);font-weight:700;font-size:1.15rem;letter-spacing:.02em;background:linear-gradient(180deg,var(--c1) 0 50%,var(--c2) 50% 100%);box-shadow:0 var(--lip) 0 var(--lipc),0 calc(var(--lip) + var(--outline)) 0 var(--ink);transform:translateY(0);transition:transform .1s,box-shadow .1s,filter .15s;text-align:center;line-height:1.1}.btn:before{content:"";position:absolute;left:.7rem;right:.7rem;top:.3rem;height:.35rem;border-radius:999px;background:#ffffff8c;pointer-events:none}.btn:hover{filter:brightness(1.06) saturate(1.05)}.btn:active,.btn.pressed{transform:translateY(var(--lip));box-shadow:0 0 0 var(--lipc),0 var(--outline) 0 var(--ink)}.btn:disabled{filter:grayscale(.8) brightness(.9);cursor:not-allowed}.btn:focus-visible,.icon-btn:focus-visible,.opt:focus-visible,.tile:focus-visible{outline:.22rem solid #fff;outline-offset:.2rem}.btn .ic{width:1.7rem;height:1.7rem;flex:none}.btn.big{min-height:4.4rem;font-size:1.6rem;border-radius:var(--radius-lg);padding:.6rem 2rem}.btn.small{min-height:2.5rem;font-size:.95rem;padding:.3rem .8rem;border-radius:.8rem;--lip: .22rem}.btn.green{--c1: #5ef29d;--c2: var(--green);--lipc: var(--green-dk)}.btn.pink{--c1: #ff8cc0;--c2: var(--pink);--lipc: var(--pink-dk);--tc: #fff}.btn.blue{--c1: #6f9dff;--c2: var(--blue);--lipc: var(--blue-dk);--tc: #fff}.btn.purple{--c1: #ad86ff;--c2: var(--purple);--lipc: var(--purple-dk);--tc: #fff}.btn.red{--c1: #ff7d93;--c2: var(--red);--lipc: var(--red-dk);--tc: #fff}.btn.orange{--c1: #ffc062;--c2: var(--orange);--lipc: var(--orange-dk)}.btn.white{--c1: #ffffff;--c2: #efeaff;--lipc: #b9aee0}.btn.pink,.btn.blue,.btn.purple,.btn.red{text-shadow:0 .12rem 0 rgba(0,0,0,.35)}.btn .price{display:inline-flex;align-items:center;gap:.2rem}.btn .price .ic{width:1.35rem;height:1.35rem}.card{position:relative;background:var(--paper);border:var(--outline) solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 .4rem 0 var(--ink);padding:1rem}.card.dark{background:#1b1035b8;color:#fff}.card.flat{box-shadow:none}.card h2,.card h3{margin:0 0 .5rem}.panel-title{font-size:1.1rem;font-weight:700;margin:.2rem 0 .3rem;color:#fff;text-shadow:0 .12rem 0 var(--ink);-webkit-text-stroke:.05rem var(--ink);paint-order:stroke fill}.muted{opacity:.72}.small{font-size:.85rem}.center-text{text-align:center}.ribbon{display:inline-block;position:relative;padding:.35rem 1.4rem;font-weight:700;color:#fff;font-size:1.1rem;background:var(--pink);border:var(--outline) solid var(--ink);border-radius:.5rem;box-shadow:0 .25rem 0 var(--ink);text-shadow:0 .12rem 0 var(--ink)}.tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;padding:.12rem .5rem;border-radius:999px;border:.12rem solid var(--ink);background:#fff}.tag.rare{background:#7cc6ff}.tag.epic{background:#c7a4ff}.tag.legendary{background:var(--yellow)}.tag.common{background:#e6e6f0}.bar{position:relative;height:1.1rem;border-radius:999px;background:#3a2d66;border:var(--outline) solid var(--ink);overflow:hidden}.bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(#7af0b0 0 45%,var(--green) 45%);transition:width .8s var(--ease-pop)}.bar.yellow>i{background:linear-gradient(#ffe98a 0 45%,var(--yellow) 45%)}.bar.pink>i{background:linear-gradient(#ffa0c9 0 45%,var(--pink) 45%)}.bar.blue>i{background:linear-gradient(#95b7ff 0 45%,var(--blue) 45%)}.bar>span{position:absolute;inset:0;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 .08rem 0 var(--ink)}.home-hero{display:grid;grid-template-columns:1fr;justify-items:center;gap:.2rem;margin-top:.2rem}.logo{text-align:center;line-height:.9;margin:.2rem 0 .1rem}.logo .l1{display:block;font-size:clamp(2.2rem,7vmin,4.6rem);font-weight:700;color:var(--yellow);-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;text-shadow:0 .09em 0 var(--ink);letter-spacing:.02em;transform:rotate(-3deg)}.logo .l2{display:inline-block;margin-top:.25rem;font-size:clamp(1rem,3vmin,1.9rem);font-weight:700;color:#fff;background:var(--pink);padding:.1em .7em;border:var(--outline) solid var(--ink);border-radius:.6em;box-shadow:0 .2rem 0 var(--ink);transform:rotate(2deg)}.mascot{width:clamp(8rem,30vmin,15rem);aspect-ratio:200/220;position:relative;cursor:pointer}.mascot .character{width:100%;height:100%;overflow:visible}.bubble{position:relative;background:#fff;border:var(--outline) solid var(--ink);border-radius:1.1rem;padding:.5rem .9rem;font-weight:600;max-width:20rem;text-align:center;box-shadow:0 .25rem 0 var(--ink);animation:pop-in .4s var(--ease-pop) both}.bubble:after{content:"";position:absolute;left:50%;bottom:-.72rem;width:1.1rem;height:1.1rem;background:#fff;border-right:var(--outline) solid var(--ink);border-bottom:var(--outline) solid var(--ink);transform:translate(-50%) rotate(45deg)}.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}.tile{position:relative;border:var(--outline) solid var(--ink);border-radius:var(--radius-lg);padding:.7rem .7rem .8rem;cursor:pointer;text-align:left;background:linear-gradient(160deg,var(--t1, #6f9dff),var(--t2, #3d7bff));color:#fff;box-shadow:0 .38rem 0 var(--ink);min-height:6.6rem;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .12s,box-shadow .12s}.tile:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.22) 1.2px,transparent 1.6px);background-size:10px 10px;pointer-events:none}.tile:active{transform:translateY(.3rem);box-shadow:0 .08rem 0 var(--ink)}.tile .ic{position:absolute;right:.3rem;top:.3rem;width:3.4rem;height:3.4rem;transform:rotate(8deg);filter:drop-shadow(0 .2rem 0 rgba(0,0,0,.25))}.tile b{position:relative;font-size:1.2rem;text-shadow:0 .14rem 0 var(--ink);-webkit-text-stroke:.05rem var(--ink);paint-order:stroke fill}.tile small{position:relative;font-size:.78rem;opacity:.95;font-weight:600;text-shadow:0 .08rem 0 rgba(0,0,0,.4)}.tile.locked{filter:grayscale(.7) brightness(.8)}.tile .corner{position:absolute;left:.5rem;top:.5rem}.badge{position:absolute;top:.45rem;left:.45rem;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:999px;background:var(--red);color:#fff;border:.15rem solid var(--ink);font-size:.8rem;font-weight:700;display:grid;place-items:center;z-index:2;animation:pulse 1.6s infinite}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;margin-top:.4rem;padding:.35rem;border-radius:1.4rem;background:#1b1035b3;border:var(--outline) solid var(--ink);box-shadow:inset 0 .15rem #ffffff1a}.bottom-nav button{position:relative;border:none;background:transparent;border-radius:1rem;padding:.3rem 0 .2rem;color:#fff;font-size:.7rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.1rem}.bottom-nav button .ic{width:2rem;height:2rem;transition:transform .2s var(--ease-pop)}.bottom-nav button.active{background:#ffffff29}.bottom-nav button.active .ic{transform:translateY(-.2rem) scale(1.12)}.profile-chip{display:flex;align-items:center;gap:.45rem;min-width:0;cursor:pointer;background:#1b10358c;border:var(--outline) solid var(--ink);border-radius:999px;padding:.15rem .7rem .15rem .15rem;color:#fff}.profile-chip .who{min-width:0;display:flex;flex-direction:column;line-height:1.05}.profile-chip .who b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:7.5rem}.profile-chip .who small{font-size:.68rem;opacity:.9}.avatar{position:relative;width:2.6rem;height:2.6rem;flex:none;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#d9ccff);border:var(--outline) solid var(--ink);overflow:hidden;display:grid;place-items:center}.avatar .character{width:118%;height:118%;margin-top:18%}.avatar.lg{width:6.5rem;height:6.5rem}.avatar.xl{width:9rem;height:9rem}.frame-bronze{box-shadow:0 0 0 .22rem #cd7f32,0 0 0 .38rem var(--ink)}.frame-neon{box-shadow:0 0 0 .22rem #00f0ff,0 0 .9rem .2rem #00f0ff,0 0 0 .38rem var(--ink)}.frame-rainbow{box-shadow:0 0 0 .38rem var(--ink);background:radial-gradient(circle at 40% 35%,#fff,#d9ccff) padding-box,conic-gradient(#ff4d6d,#ffd23f,#2ed47a,#3d7bff,#a45bff,#ff4d6d) border-box;border-color:transparent;border-width:.3rem}.frame-flame{box-shadow:0 0 0 .22rem #ff8a3d,0 -.3rem 1rem .1rem #ff8a3d,0 0 0 .38rem var(--ink)}.frame-crown{box-shadow:0 0 0 .22rem var(--yellow),0 0 1rem .2rem #ffd23fcc,0 0 0 .38rem var(--ink)}.play{padding-top:calc(var(--safe-t) + .4rem)}.hud{display:flex;align-items:center;gap:.4rem;min-height:3rem}.hud .hearts{display:flex;gap:.1rem}.hud .hearts .ic{width:1.9rem;height:1.9rem}.hud .hearts .ic.lost{animation:heart-lose .5s ease both}.hud .score{font-size:1.4rem;font-weight:700;color:#fff;text-shadow:0 .14rem 0 var(--ink);-webkit-text-stroke:.05rem var(--ink);paint-order:stroke fill;min-width:4rem;text-align:right}.progress-dots{display:flex;gap:.22rem;flex-wrap:wrap;justify-content:center}.progress-dots i{width:.7rem;height:.7rem;border-radius:50%;background:#ffffff59;border:.12rem solid var(--ink)}.progress-dots i.ok{background:var(--green)}.progress-dots i.ko{background:var(--red)}.progress-dots i.cur{background:#fff;transform:scale(1.3)}.timer{position:relative;height:.9rem;border-radius:999px;background:#1b103599;border:.15rem solid var(--ink);overflow:hidden;margin:.35rem 0}.timer>i{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(#8ff5bd 0 45%,var(--green) 45%);transform-origin:left}.timer.warn>i{background:linear-gradient(#ffe98a 0 45%,var(--yellow) 45%)}.timer.danger>i{background:linear-gradient(#ff9aac 0 45%,var(--red) 45%);animation:blink .5s infinite}.stage{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.6rem}.stage.landscape{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:1.2rem}.stage.landscape .q-prompt{grid-column:1 / -1}.q-prompt{display:flex;align-items:center;gap:.6rem}.q-prompt .who{width:3.4rem;height:3.7rem;flex:none}.q-prompt .who .character{width:100%;height:100%}.q-prompt .text{flex:1;background:#fff;border:var(--outline) solid var(--ink);border-radius:1rem;padding:.5rem .8rem;font-weight:700;font-size:1.08rem;box-shadow:0 .22rem 0 var(--ink);position:relative;line-height:1.2}.q-prompt .text:before{content:"";position:absolute;left:-.62rem;top:50%;width:1rem;height:1rem;background:#fff;border-left:var(--outline) solid var(--ink);border-bottom:var(--outline) solid var(--ink);transform:translateY(-50%) rotate(45deg)}.q-prompt .cat{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:.05rem .5rem;border-radius:999px;border:.12rem solid var(--ink);margin-bottom:.2rem}.q-visual{min-height:0;display:flex;align-items:center;justify-content:center;background:var(--paper);border:var(--outline) solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 .38rem 0 var(--ink);padding:clamp(.5rem,2vmin,1.4rem);position:relative;overflow:hidden}.q-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(27,16,53,.06) 1px,transparent 1.4px);background-size:12px 12px}.q-visual.empty{display:none}.q-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;align-content:center}.q-options.cols-1{grid-template-columns:1fr}.q-options.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.q-options.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.q-options.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.opt{position:relative;min-height:3.4rem;border:var(--outline) solid var(--ink);border-radius:1rem;background:linear-gradient(#fff 0 50%,#f1ecff 50%);box-shadow:0 .3rem 0 var(--ink);font-weight:700;font-size:1.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem;transition:transform .1s,box-shadow .1s,background .2s;line-height:1.1;text-align:center;overflow-wrap:anywhere}.opt:active{transform:translateY(.25rem);box-shadow:0 .05rem 0 var(--ink)}.opt.shape{aspect-ratio:1;min-height:0;padding:12%}.opt.shape .shape,.opt.shape .poly{width:100%;height:100%}.opt.text-long{font-size:1.05rem}.opt .key{position:absolute;left:.3rem;top:.15rem;font-size:.62rem;opacity:.45}.opt.correct{background:linear-gradient(#8ff5bd 0 50%,var(--green) 50%);animation:pop .45s var(--ease-pop)}.opt.wrong{background:linear-gradient(#ff9aac 0 50%,var(--red) 50%);animation:shake .4s ease}.opt.dim{opacity:.45}.opt.arrows{font-size:1.25rem;letter-spacing:.05em}.opt .mark{position:absolute;right:-.5rem;top:-.5rem;width:1.8rem;height:1.8rem}.seq{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.25rem,1vmin,.8rem);width:100%}.seq .cell{width:clamp(2.6rem,11vmin,6.5rem);aspect-ratio:1;border-radius:.9rem;background:#fff;border:.15rem dashed rgba(27,16,53,.25);display:grid;place-items:center;padding:8%}.seq .cell .shape{width:100%;height:100%}.seq .cell.q{background:var(--yellow);border:var(--outline) solid var(--ink);font-size:2rem;font-weight:700;animation:pulse 1.3s infinite}.seq .ref{width:clamp(6rem,24vmin,11rem)}.matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.25rem,1vmin,.7rem);width:min(100%,52vmin,24rem);aspect-ratio:1}.matrix .cell{width:auto;border-radius:.8rem;background:#fff;border:.15rem solid rgba(27,16,53,.2);display:grid;place-items:center;padding:10%}.matrix .cell .shape{width:100%;height:100%}.matrix .cell.q{background:var(--yellow);border:var(--outline) solid var(--ink);font-size:2.2rem;font-weight:700}.numbers{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.numbers span{min-width:3.2rem;padding:.35rem .6rem;font-size:clamp(1.3rem,4.8vmin,2.6rem);font-weight:700;background:#fff;border:var(--outline) solid var(--ink);border-radius:.8rem;text-align:center;box-shadow:0 .2rem 0 var(--ink)}.numbers span.q{background:var(--yellow);animation:pulse 1.3s infinite}.equations{display:flex;flex-direction:column;gap:.5rem;align-items:center;font-size:clamp(1.4rem,5vmin,2.6rem);font-weight:700}.equations div{background:#fff;border:var(--outline) solid var(--ink);border-radius:.9rem;padding:.2rem 1rem;box-shadow:0 .2rem 0 var(--ink)}.statements{display:flex;flex-direction:column;gap:.45rem;width:100%;max-width:34rem}.statements div{background:#fff;border:.15rem solid var(--ink);border-radius:.8rem;padding:.45rem .8rem;font-weight:600;font-size:1.05rem;line-height:1.25}.statements div.concl{background:#efe7ff;font-weight:700}.visual-svg{width:min(100%,60vmin,26rem);max-height:100%}.visual-svg svg{width:100%;height:auto;max-height:42vh}.scatter{position:relative;width:min(100%,64vmin,30rem);aspect-ratio:1.3}.scatter .it{position:absolute;width:11%;aspect-ratio:1;transform:translate(-50%,-50%)}.scatter .it .shape{width:100%;height:100%}.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;width:100%}.compare .side{background:#fff;border:var(--outline) solid var(--ink);border-radius:1rem;min-height:6rem;padding:.5rem;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:.2rem;font-size:clamp(1.6rem,6vmin,3rem);font-weight:700}.compare .mid{font-weight:700;font-size:1.3rem}.balance{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:30rem}.balance .pan{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.4rem;background:#fff;border:.15rem solid var(--ink);border-radius:.8rem;padding:.3rem .5rem}.balance .pan .side{display:flex;flex-wrap:wrap;gap:.15rem;justify-content:center;font-size:1.6rem;font-weight:700}.balance .pan .eq{font-weight:700;font-size:1.5rem}.balance .pan.ask{background:#fff4c4}.mem-grid{display:grid;gap:clamp(.2rem,1vmin,.5rem);width:min(100%,56vmin,26rem);aspect-ratio:1}.mem-grid button{border:var(--outline) solid var(--ink);border-radius:.7rem;background:linear-gradient(#fff 0 50%,#ece6ff 50%);box-shadow:0 .2rem 0 var(--ink);cursor:pointer;padding:0;transition:background .15s,transform .1s}.mem-grid button.lit{background:linear-gradient(#ffe98a 0 50%,var(--yellow) 50%);animation:pop .35s var(--ease-pop)}.mem-grid button.hit{background:linear-gradient(#8ff5bd 0 50%,var(--green) 50%)}.mem-grid button.miss{background:linear-gradient(#ff9aac 0 50%,var(--red) 50%)}.mem-grid button.reveal{background:linear-gradient(#ffe98a 0 50%,var(--yellow) 50%);opacity:.7}.mem-grid.locked button{cursor:default}.pads{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;width:min(100%,54vmin,22rem);aspect-ratio:1}.pads.six{grid-template-columns:repeat(3,1fr);aspect-ratio:1.5;width:min(100%,70vmin,30rem)}.pads button{border:var(--outline) solid var(--ink);border-radius:1.2rem;cursor:pointer;box-shadow:0 .3rem 0 var(--ink);filter:brightness(.72) saturate(.8);transition:filter .12s,transform .12s;display:grid;place-items:center}.pads button .shape{width:45%;height:45%;opacity:.9}.pads button.on{filter:brightness(1.15) saturate(1.2);transform:scale(1.05);box-shadow:0 0 1.2rem .3rem #fffc,0 .3rem 0 var(--ink)}.mem-items{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;max-width:30rem}.mem-items .shape{width:clamp(3rem,12vmin,5.5rem);height:clamp(3rem,12vmin,5.5rem);animation:pop-in .35s var(--ease-pop) both}.mem-digits{font-size:clamp(2rem,9vmin,4.5rem);font-weight:700;letter-spacing:.12em;background:#fff;border:var(--outline) solid var(--ink);border-radius:1rem;padding:.3rem 1rem;box-shadow:0 .3rem 0 var(--ink)}.memo-phase{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.memo-phase .countdown-ring{font-weight:700;color:var(--ink);background:var(--yellow);border:.15rem solid var(--ink);border-radius:999px;padding:.1rem .8rem}.feedback{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:1.1rem;border:var(--outline) solid var(--ink);box-shadow:0 .3rem 0 var(--ink);animation:slide-up .35s var(--ease-pop) both}.feedback.ok{background:#d9ffe9}.feedback.ko{background:#ffe1e7}.feedback .ch{width:3.4rem;height:3.7rem;flex:none}.feedback .msg{flex:1;min-width:0;font-weight:700}.feedback .msg small{display:block;font-weight:500;font-size:.85rem;opacity:.85}.feedback .actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.combo-pop{position:fixed;left:50%;top:30%;transform:translate(-50%,-50%);font-size:clamp(2.2rem,9vmin,5rem);font-weight:700;color:var(--yellow);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 .08em 0 var(--ink);pointer-events:none;animation:combo 1s var(--ease-pop) both;white-space:nowrap}.combo-pop.fire{color:#ff8a3d}.float-pts{position:fixed;font-weight:700;font-size:1.6rem;color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;pointer-events:none;animation:float-up 1s ease-out both}.fire-aura{box-shadow:0 0 0 .2rem #ff8a3d,0 0 1.4rem .4rem #ff8a3db3!important}.world-head{display:flex;align-items:center;gap:.6rem;padding:.7rem;border-radius:var(--radius-lg);border:var(--outline) solid var(--ink);box-shadow:0 .35rem 0 var(--ink);color:#fff}.world-head .ch{width:4.4rem;height:4.8rem;flex:none}.world-head b{font-size:1.3rem;text-shadow:0 .14rem 0 var(--ink);-webkit-text-stroke:.05rem var(--ink);paint-order:stroke fill}.world-tabs{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem .1rem .6rem;scrollbar-width:none}.world-tabs button{flex:none;width:3rem;height:3rem;border-radius:1rem;border:var(--outline) solid var(--ink);font-weight:700;font-size:1.2rem;cursor:pointer;color:#fff;box-shadow:0 .25rem 0 var(--ink)}.world-tabs button.active{transform:translateY(-.15rem) scale(1.08);outline:.2rem solid #fff}.world-tabs button.locked{filter:grayscale(1) brightness(.7)}.path{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem .6rem;padding:.6rem .2rem 1.4rem}.node{position:relative;justify-self:center;width:clamp(3.3rem,15vmin,5rem);aspect-ratio:1;border-radius:50%;border:var(--outline) solid var(--ink);cursor:pointer;font-weight:700;font-size:1.3rem;color:#fff;text-shadow:0 .12rem 0 var(--ink);box-shadow:0 .35rem 0 var(--ink);background:linear-gradient(#ffa0c9 0 50%,var(--pink) 50%);display:grid;place-items:center;transition:transform .12s}.node:nth-child(8n+2),.node:nth-child(8n+3){transform:translateY(.9rem)}.node:nth-child(8n+6),.node:nth-child(8n+7){transform:translateY(-.4rem)}.node.done{background:linear-gradient(#8ff5bd 0 50%,var(--green) 50%)}.node.current{background:linear-gradient(#ffe98a 0 50%,var(--yellow) 50%);color:var(--ink);text-shadow:none;animation:bob 1.6s ease-in-out infinite}.node.locked{background:linear-gradient(#8a80ad 0 50%,#6b6190 50%);cursor:not-allowed}.node.boss{width:clamp(3.9rem,17vmin,5.8rem);background:linear-gradient(#c7a4ff 0 50%,var(--purple) 50%)}.node .stars{position:absolute;bottom:-.9rem;left:50%;transform:translate(-50%);display:flex;gap:0}.node .stars .ic{width:1.1rem;height:1.1rem}.node .lock{width:50%;height:50%}.list{display:flex;flex-direction:column;gap:.55rem}.li{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:1.1rem;background:var(--paper);border:var(--outline) solid var(--ink);box-shadow:0 .25rem 0 var(--ink);min-width:0}.li .ic,.li .lead{width:2.6rem;height:2.6rem;flex:none}.li .main{flex:1;min-width:0}.li .main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.li .main small{display:block;opacity:.75;font-size:.8rem}.li.me{background:#fff4c4}.li.locked{opacity:.6}.li .rank{width:2.2rem;text-align:center;font-weight:700;font-size:1.2rem}.tabs{display:flex;gap:.35rem;background:#1b10358c;padding:.3rem;border-radius:1rem;border:var(--outline) solid var(--ink);overflow-x:auto;scrollbar-width:none}.tabs button{flex:1 0 auto;border:none;border-radius:.75rem;padding:.45rem .7rem;font-weight:700;color:#fff;background:transparent;cursor:pointer;font-size:.9rem;white-space:nowrap}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 .18rem 0 var(--ink)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.4rem,1fr));gap:.7rem}.item{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .5rem;border-radius:1.2rem;background:var(--paper);border:var(--outline) solid var(--ink);box-shadow:0 .3rem 0 var(--ink);text-align:center;cursor:pointer}.item .prev{width:100%;aspect-ratio:1.1;border-radius:.9rem;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff,#e5dcff);border:.15rem solid rgba(27,16,53,.2);overflow:hidden;position:relative}.item .prev .character{width:80%;height:88%}.item .prev .emoji{font-size:3rem}.item b{font-size:.9rem;line-height:1.1}.item.owned .prev:after{content:"";position:absolute;right:.3rem;top:.3rem;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--green);border:.15rem solid var(--ink)}.item.equipped{outline:.25rem solid var(--yellow)}.item .sale{position:absolute;left:-.3rem;top:-.4rem;transform:rotate(-10deg);background:var(--red);color:#fff;border:.15rem solid var(--ink);border-radius:.5rem;padding:0 .4rem;font-size:.75rem;font-weight:700;z-index:1}.theme-swatch{width:80%;height:70%;border-radius:.8rem;border:.15rem solid var(--ink)}.fx-swatch{display:flex;gap:.3rem}.fx-swatch i{width:1.1rem;height:1.1rem;border-radius:50%;border:.12rem solid var(--ink);animation:bob 1.4s ease-in-out infinite}.item .prev .avatar.frame-demo{width:58%;height:auto;aspect-ratio:1}.result-hero{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}.result-hero .ch{width:clamp(7rem,26vmin,12rem);aspect-ratio:200/220}.big-num{font-size:clamp(2.8rem,12vmin,6rem);font-weight:700;line-height:1;color:var(--yellow);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 .07em 0 var(--ink)}.stars-row{display:flex;gap:.3rem;justify-content:center}.stars-row .ic{width:clamp(3rem,12vmin,5rem);height:clamp(3rem,12vmin,5rem)}.stars-row .ic:nth-child(2){transform:translateY(-.6rem) scale(1.15)}.stars-row .ic.earned{animation:star-in .6s var(--ease-pop) both}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem}.stat{background:#fff;border:.15rem solid var(--ink);border-radius:.9rem;padding:.4rem .6rem;text-align:center}.stat b{display:block;font-size:1.4rem}.stat small{font-size:.75rem;opacity:.75}.cat-bars{display:flex;flex-direction:column;gap:.45rem}.cat-bar{display:grid;grid-template-columns:2rem minmax(5rem,8.5rem) 1fr 2.6rem;align-items:center;gap:.45rem}.cat-bar .ic{width:2rem;height:2rem}.cat-bar span{font-weight:700;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-bar b{text-align:right;font-size:1.1rem}.rewards-row{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.reward{display:flex;align-items:center;gap:.3rem;background:#1b1035b3;color:#fff;border:var(--outline) solid var(--ink);border-radius:999px;padding:.2rem .8rem .2rem .25rem;font-weight:700;font-size:1.15rem;animation:pop-in .5s var(--ease-pop) both}.reward .ic{width:2rem;height:2rem}.disclaimer{font-size:.78rem;line-height:1.3;background:#ffffffd9;border:.15rem dashed var(--ink);border-radius:.8rem;padding:.5rem .7rem}.radar{width:min(100%,22rem);aspect-ratio:1;margin:0 auto}.versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.versus .side{display:flex;flex-direction:column;align-items:center;gap:.2rem;color:#fff;text-align:center;min-width:0}.versus .side b{text-shadow:0 .12rem 0 var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.versus .vs{width:4rem;height:4rem;animation:pulse 1.2s infinite}.arena-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.4rem}.arena-hud .p{display:flex;align-items:center;gap:.35rem;background:#1b103599;border:var(--outline) solid var(--ink);border-radius:999px;padding:.15rem .6rem .15rem .15rem;color:#fff;min-width:0}.arena-hud .p.r{flex-direction:row-reverse;padding:.15rem .15rem .15rem .6rem}.arena-hud .p b{font-size:1.15rem}.arena-hud .p .avatar{width:2.3rem;height:2.3rem}.arena-hud .p .st{width:.9rem;height:.9rem;border-radius:50%;background:#6b6190;border:.12rem solid var(--ink)}.arena-hud .p .st.ok{background:var(--green)}.arena-hud .p .st.ko{background:var(--red)}.arena-hud .p .st.wait{background:var(--yellow);animation:blink .6s infinite}.searching{display:flex;flex-direction:column;align-items:center;gap:1rem}.radar-ping{width:12rem;height:12rem;border-radius:50%;border:var(--outline) solid var(--ink);background:radial-gradient(circle,#ffffff40,#1b103566);position:relative;display:grid;place-items:center}.radar-ping:before,.radar-ping:after{content:"";position:absolute;inset:0;border-radius:50%;border:.2rem solid #fff;animation:ping 1.8s infinite}.radar-ping:after{animation-delay:.9s}.code-box{font-size:2rem;font-weight:700;letter-spacing:.15em;text-align:center;background:#fff;border:var(--outline) dashed var(--ink);border-radius:1rem;padding:.4rem}input.field,select.field{width:100%;font:inherit;font-weight:600;font-size:1.05rem;padding:.7rem .9rem;border-radius:1rem;border:var(--outline) solid var(--ink);background:#fff;color:var(--ink);box-shadow:inset 0 .2rem #00000014}input.field:focus{outline:.2rem solid var(--yellow)}.form{display:flex;flex-direction:column;gap:.6rem}.form label{font-weight:700;font-size:.9rem}.setting{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;background:var(--paper);border:var(--outline) solid var(--ink);border-radius:1rem}.setting .main{flex:1;min-width:0;font-weight:700}.setting .main small{display:block;font-weight:500;opacity:.7;font-size:.78rem}.toggle{position:relative;width:3.5rem;height:2rem;border-radius:999px;border:var(--outline) solid var(--ink);background:#b9aee0;cursor:pointer;flex:none;transition:background .2s}.toggle:after{content:"";position:absolute;top:.12rem;left:.15rem;width:1.45rem;height:1.45rem;border-radius:50%;background:#fff;border:.15rem solid var(--ink);transition:transform .25s var(--ease-pop)}.toggle.on{background:var(--green)}.toggle.on:after{transform:translate(1.45rem)}input[type=range]{accent-color:var(--pink);width:8rem}.seg{display:flex;border:var(--outline) solid var(--ink);border-radius:.8rem;overflow:hidden;flex:none}.seg button{border:none;padding:.35rem .6rem;font-weight:700;cursor:pointer;background:#fff;font-size:.85rem}.seg button.on{background:var(--yellow)}.doc{background:var(--paper);border:var(--outline) solid var(--ink);border-radius:1.2rem;padding:1rem 1.2rem;line-height:1.45;font-weight:500;user-select:text;-webkit-user-select:text}.doc h3{margin:1rem 0 .3rem}.modal-backdrop{position:absolute;inset:0;background:#0f06289e;display:grid;place-items:center;padding:calc(var(--safe-t) + 1rem) 1rem calc(var(--safe-b) + 1rem);pointer-events:auto;animation:fade-in .2s ease both;backdrop-filter:blur(3px)}.modal{width:min(100%,27rem);max-height:100%;overflow-y:auto;background:var(--paper);border:var(--outline) solid var(--ink);border-radius:1.6rem;box-shadow:0 .5rem 0 var(--ink);padding:1.1rem;position:relative;animation:pop-in .35s var(--ease-pop) both}.modal h2{margin:.1rem 0 .6rem;text-align:center;font-size:1.45rem}.modal .actions{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.modal .actions .btn{flex:1 1 8rem}.modal .close{position:absolute;right:.5rem;top:.5rem;width:2.4rem;height:2.4rem}.toast{pointer-events:auto;display:flex;align-items:center;gap:.5rem;max-width:min(92vw,26rem);padding:.45rem .9rem .45rem .45rem;border-radius:999px;background:var(--paper);border:var(--outline) solid var(--ink);box-shadow:0 .25rem 0 var(--ink);font-weight:700;animation:toast-in .4s var(--ease-pop) both}.toast .ic{width:2rem;height:2rem;flex:none}.toast.out{animation:toast-out .3s ease both}.toast.warn{background:#fff4c4}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(170deg,#5b3cc4,#ff7eb6);transition:opacity .5s}.loading.hide{opacity:0;pointer-events:none}.loading .mascot{width:clamp(8rem,28vmin,13rem)}.loading .bar{width:min(80vw,20rem);height:1.4rem}.loading .tip{color:#fff;font-weight:600;text-shadow:0 .1rem 0 var(--ink);text-align:center;padding:0 1rem;max-width:28rem}.hand{position:fixed;width:4rem;height:4rem;pointer-events:none;animation:tap 1.1s ease-in-out infinite;filter:drop-shadow(0 .3rem 0 rgba(0,0,0,.3));transition:left .4s var(--ease-pop),top .4s var(--ease-pop)}.spotlight{position:fixed;border-radius:1.2rem;box-shadow:0 0 0 200vmax #0f062873;pointer-events:none;transition:all .4s var(--ease-pop);outline:.25rem dashed #fff;outline-offset:.2rem}.tut-tip{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-b) + 1rem);max-width:min(92vw,26rem);background:#fff;border:var(--outline) solid var(--ink);border-radius:1.2rem;box-shadow:0 .3rem 0 var(--ink);padding:.6rem .9rem;font-weight:700;display:flex;align-items:center;gap:.6rem;pointer-events:auto;animation:slide-up .4s var(--ease-pop) both}.tut-tip .ch{width:3.4rem;height:3.7rem;flex:none}.particle{position:fixed;width:1rem;height:1rem;pointer-events:none;will-change:transform,opacity}.fly-coin{position:fixed;width:2rem;height:2rem;pointer-events:none;z-index:1;will-change:transform}.chest-open{width:clamp(8rem,30vmin,12rem);height:clamp(8rem,30vmin,12rem);margin:0 auto;animation:chest-shake .8s ease both}.chest-open.open{animation:chest-pop .6s var(--ease-pop) both}.drop-table{font-size:.8rem}.share-preview{width:100%;border-radius:1rem;border:var(--outline) solid var(--ink)}.character .ch-body{transform-origin:100px 200px}.ch-idle .ch-body{animation:breathe 2.6s ease-in-out infinite}.ch-happy .ch-body,.ch-correct .ch-body{animation:hop .7s var(--ease-pop) both}.ch-celebrate .ch-body,.ch-victory .ch-body{animation:jump .9s ease-in-out infinite}.ch-wrong .ch-body{animation:wobble .6s ease both}.ch-thinking .ch-body{animation:tilt 2.4s ease-in-out infinite}.ch-surprised .ch-body{animation:hop .45s ease both}.ch-defeat .ch-body{animation:sag 1.2s ease both}.ch-idle .eye,.ch-thinking .eye{animation:blink-eye 4.2s infinite;transform-box:fill-box;transform-origin:center}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)}}@keyframes hop{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-14px) scale(.95,1.06)}60%{transform:translateY(0) scale(1.06,.94)}to{transform:none}}@keyframes jump{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(0) scale(1.08,.92)}50%{transform:translateY(-20px) scale(.95,1.06)}80%{transform:translateY(0) scale(1.05,.95)}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}50%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}@keyframes tilt{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes sag{to{transform:scale(1.04,.94)}}@keyframes blink-eye{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.35rem)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-.4rem)}40%{transform:translate(.4rem)}60%{transform:translate(-.25rem)}80%{transform:translate(.2rem)}}@keyframes blink{50%{opacity:.55}}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(1.2rem)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-1.5rem) scale(.8)}}@keyframes toast-out{to{opacity:0;transform:translateY(-1rem) scale(.9)}}@keyframes combo{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-10deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(3deg)}70%{opacity:1;transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.9)}}@keyframes float-up{0%{opacity:1;transform:translate(-50%) scale(.8)}30%{transform:translate(-50%,-1rem) scale(1.15)}to{opacity:0;transform:translate(-50%,-3.5rem) scale(1)}}@keyframes heart-lose{0%{transform:scale(1)}40%{transform:scale(1.4) rotate(-10deg)}to{transform:scale(1)}}@keyframes star-in{0%{opacity:0;transform:scale(0) rotate(-120deg)}}@keyframes tap{0%,to{transform:translate(-30%) scale(1)}50%{transform:translate(-30%,-.6rem) scale(.9)}}@keyframes ping{0%{transform:scale(.3);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes chest-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg) scale(1.05)}40%{transform:rotate(6deg) scale(1.08)}60%{transform:rotate(-4deg) scale(1.1)}80%{transform:rotate(3deg) scale(1.12)}}@keyframes chest-pop{0%{transform:scale(1.12)}50%{transform:scale(1.35) translateY(-1rem)}to{transform:scale(1)}}@media(min-width:700px){.mode-grid{grid-template-columns:repeat(4,1fr)}.path{grid-template-columns:repeat(5,1fr)}:root{--content-w: min(100%, 42rem)}}@media(min-width:1100px){:root{--content-w: min(100%, 46rem)}.path{grid-template-columns:repeat(8,1fr)}}@media(orientation:landscape)and (max-height:560px){:root{--fs: calc(clamp(12px, 1.9vh + 4px, 18px) * var(--text-scale))}.home-hero{grid-template-columns:auto 1fr;align-items:center}.mascot{width:clamp(6rem,30vh,10rem)}.q-prompt .who{display:none}.bottom-nav{grid-template-columns:repeat(5,1fr)}.opt{min-height:2.8rem}}@media(max-width:360px){.topbar .title{font-size:1.1rem}.pill{padding:0 .5rem 0 .2rem;font-size:.9rem}.pill .ic{width:1.5rem;height:1.5rem}.profile-chip .who b{max-width:5rem}.cat-bar{grid-template-columns:1.6rem minmax(4rem,6rem) 1fr 2.2rem}}html.rm *,html.rm *:before,html.rm *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){html:not(.motion-ok) *,html:not(.motion-ok) *:before,html:not(.motion-ok) *:after{animation-iteration-count:1!important}}.big-q{width:clamp(3rem,12vmin,5rem);height:clamp(3rem,12vmin,5rem)}.q-options.empty{display:none}.stage.no-visual{grid-template-rows:auto minmax(0,1fr)}.stage.no-visual .q-options{align-content:center;justify-self:center;width:min(100%,62vmin,34rem)}.stage.landscape.no-visual .q-options{grid-column:1 / -1}.stage.landscape .q-options{align-self:center}.stage.landscape .q-visual{grid-row:2}.tag .svg-wrap,.q-prompt .cat .svg-wrap{width:1.05rem;height:1.05rem}.lead.svg-wrap,.li .svg-wrap.lead{width:2.6rem;height:2.6rem;flex:none}.ch.svg-wrap{display:block}.card>.svg-wrap.lead{width:3rem;height:3rem;margin:0 auto}.stat-grid .stat b{overflow-wrap:anywhere}.mode-grid .tile{min-width:0}.row>.btn.block{flex:1 1 0;min-width:0}.btn.block{width:100%}.modal .btn{font-size:1.05rem}.modal .mascot{width:8rem;margin:0 auto}.result-hero .ch,.feedback .ch,.world-head .ch{display:block}.result-hero .ch .character,.world-head .ch .character,.feedback .ch .character,.tut-tip .ch .character{width:100%;height:100%}textarea.field{resize:vertical;min-height:5rem}.q-prompt .ptxt{overflow-wrap:anywhere}a.btn{text-decoration:none}.screen.home .screen-body{padding-top:0}.visual-svg .svg-wrap,.seq .ref .svg-wrap,.matrix .svg-wrap,.seq .cell .svg-wrap,.scatter .it .svg-wrap,.compare .side .svg-wrap,.balance .side .svg-wrap,.mem-items .svg-wrap,.opt.shape .svg-wrap{width:100%;height:100%;display:block}.compare .side .svg-wrap,.balance .side .svg-wrap{width:2rem;height:2rem}.mem-items .svg-wrap{width:clamp(3rem,12vmin,5.5rem);height:clamp(3rem,12vmin,5.5rem)}.pads button .svg-wrap{width:45%;height:45%}.q-visual.memo{align-items:center}.home-layout{width:var(--content-w);margin:0 auto;display:flex;flex-direction:column;gap:var(--gap)}.home-actions{display:flex;flex-direction:column;gap:var(--gap)}.hero-mascot{display:flex;flex-direction:column;align-items:center;gap:.5rem}.bottom-nav{width:min(100%,42rem);margin-left:auto;margin-right:auto}@media(min-width:640px)and (min-aspect-ratio:5/4){.home-layout{width:min(100%,72rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;column-gap:2.5rem;min-height:100%}.home-hero .mascot{width:clamp(10rem,34vmin,20rem)}.home-actions .mode-grid{grid-template-columns:repeat(2,1fr)}.screen.home .screen-body{display:flex}}@media(min-width:1400px)and (min-aspect-ratio:5/4){.home-actions .mode-grid{grid-template-columns:repeat(4,1fr)}}.q-visual{container-type:size}@supports (width: 1cqw){.mem-grid{width:min(94cqw,82cqh)}.pads{width:min(92cqw,78cqh)}.pads.six{width:min(96cqw,110cqh)}.matrix{width:min(94cqw,94cqh)}.seq .cell{width:clamp(2.4rem,min(15cqw,30cqh),8rem)}.seq .ref{width:min(60cqw,70cqh)}.scatter{width:min(98cqw,120cqh)}.visual-svg{width:min(96cqw,100cqh)}.visual-svg svg{max-height:96cqh}.mem-items .svg-wrap{width:clamp(2.6rem,min(20cqw,26cqh),7rem);height:clamp(2.6rem,min(20cqw,26cqh),7rem)}.mem-digits{font-size:clamp(1.8rem,11cqw,5rem)}.numbers span{font-size:clamp(1.3rem,min(8cqw,14cqh),3rem)}.equations{font-size:clamp(1.4rem,min(9cqw,16cqh),3.4rem)}.compare .side{min-height:min(40cqh,12rem)}.compare .side .svg-wrap{width:clamp(1.4rem,min(8cqw,12cqh),3.4rem);height:clamp(1.4rem,min(8cqw,12cqh),3.4rem)}.balance .pan .side .svg-wrap{width:clamp(1.6rem,min(8cqw,10cqh),3rem);height:clamp(1.6rem,min(8cqw,10cqh),3rem)}.balance{gap:min(3cqh,1rem)}.statements div{font-size:clamp(1rem,min(4.4cqw,6cqh),1.35rem)}}.stage.no-visual .q-options{width:min(100%,90vmin,38rem)}.opt.arrows{font-size:clamp(1rem,4.2vmin,1.5rem);letter-spacing:0}.feedback{flex-wrap:wrap}.feedback .msg{flex:1 1 10rem}@media(max-width:520px){.feedback .actions{width:100%}.feedback .actions .btn{flex:1}.feedback .ch{width:2.8rem;height:3rem}}.result-hero .muted{opacity:1;text-shadow:0 .1rem 0 var(--ink);font-weight:700}
