:root{--ink: #1a1650;--muted: #6a678f;--paper: #eeeefc;--card: #ffffff;--line: #d9d8f2;--cobalt: #4353ff;--cobalt-deep: #2a37c4;--sun: #ffc533;--sun-deep: #d99a00;--mint: #19c995;--mint-deep: #0e9a70;--rose: #ff4f81;--rose-deep: #cf2a5c;--stage: #17123f;--stage-2: #231c5c;--stage-line: #3a3182;--display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;--body: "Figtree", system-ui, -apple-system, sans-serif;--pop: cubic-bezier(.2, 1.4, .4, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:500 1rem/1.5 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:750;line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance}h1{font-size:clamp(1.9rem,5vw,2.75rem)}h2{font-size:1.4rem}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.wrap.narrow{max-width:760px}.page{padding-bottom:72px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.end{justify-content:flex-end;margin-top:24px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.center{text-align:center}.error{color:var(--rose-deep);font-weight:600;margin-top:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 0 28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:44px 0 16px}.btn{--face: var(--card);--edge: var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:0;border-radius:14px;background:var(--face);box-shadow:0 4px 0 var(--edge);color:var(--ink);font-family:var(--display);font-weight:700;font-size:1rem;text-decoration:none;transition:transform .08s,box-shadow .08s,filter .15s;-webkit-user-select:none;user-select:none}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--edge)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{--face: var(--cobalt);--edge: var(--cobalt-deep);color:#fff}.btn-sun{--face: var(--sun);--edge: var(--sun-deep)}.btn-mint{--face: var(--mint);--edge: var(--mint-deep);color:#04281d}.btn-rose{--face: var(--rose);--edge: var(--rose-deep);color:#fff}.btn-quiet{box-shadow:0 2px 0 var(--edge);font-family:var(--body);font-weight:600}.btn-quiet:active{transform:translateY(2px)}.btn-quiet.danger{color:var(--rose-deep)}.btn-ghost-light{--face: var(--stage-2);--edge: #0d0a29;color:#fff;border:2px solid var(--stage-line)}.btn-dashed{width:100%;margin-top:6px;background:transparent;border:2px dashed #b9b7e3;box-shadow:none;color:var(--cobalt-deep)}.btn-dashed:active{transform:none}.btn-sm{padding:7px 14px;font-size:.9rem;border-radius:11px}.btn.wide{width:100%;padding:16px;font-size:1.1rem}.link{background:none;border:0;padding:0;color:var(--cobalt-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}.link.light{color:#c9c5ff}.icon-btn{width:36px;height:36px;flex:none;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:1.1rem}.icon-btn:hover{background:var(--paper)}.star.on{color:var(--sun-deep);animation:pop .35s var(--pop)}.chip{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.82rem;font-weight:700}.chip-sun{background:#fff1c7;color:#7a5600}.input{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s}.input:focus{outline:none;border-color:var(--cobalt)}.input-title{margin:20px 0 10px;font:700 1.3rem var(--display)}textarea.input{resize:vertical;font-family:ui-monospace,Menlo,monospace;font-size:.9rem}.logo{display:flex;align-items:center;gap:10px;font:800 1.35rem var(--display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.logo-mark{position:relative;width:30px;height:26px}.logo-mark i{position:absolute;top:4px;right:0;bottom:0;left:6px;border-radius:6px;background:var(--sun);transform:rotate(8deg)}.logo-mark i+i{top:0;right:6px;bottom:4px;left:0;background:var(--cobalt);transform:rotate(-6deg)}.today{display:flex;flex-wrap:wrap;gap:14px 36px;padding:22px 26px;border-radius:24px;background:var(--stage);color:#fff}.today-item{display:flex;align-items:center;gap:14px;min-width:200px}.today-item b{display:block;font:750 1.3rem var(--display);letter-spacing:-.01em}.today-item span{color:#b8b3ea;font-size:.9rem}.today-item select{background:transparent;border:0;color:#fff;font-weight:600;text-decoration:underline;cursor:pointer}.today-item select option{color:var(--ink)}.flame{font-size:2.6rem;line-height:1;filter:grayscale(1) opacity(.45)}.flame.lit{filter:none;animation:flicker 1.8s ease-in-out infinite;transform-origin:50% 90%}.ring{width:64px;height:64px;flex:none}.ring circle{fill:none;stroke-width:9}.ring-track{stroke:var(--stage-line)}.ring-fill{stroke:var(--mint);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.ring text{fill:#fff;font:700 17px var(--display)}.level-pip{width:56px;height:56px;flex:none;display:grid;place-items:center;border-radius:18px;background:var(--sun);color:var(--ink);font:800 1.6rem var(--display);transform:rotate(-5deg)}.xpbar{height:10px;margin:6px 0;border-radius:99px;background:var(--stage-line);overflow:hidden}.xpbar i{display:block;height:100%;border-radius:99px;background:var(--sun);transition:width .8s cubic-bezier(.2,.8,.2,1)}.sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.set-tile{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:20px;border-radius:18px;background:var(--card);box-shadow:0 5px 0 var(--line);color:var(--ink);text-decoration:none;transition:transform .15s var(--pop),box-shadow .15s}.set-tile:hover{transform:translateY(-3px) rotate(-.6deg);box-shadow:0 8px #c5c3ee}.set-tile p{color:var(--muted);font-size:.92rem}.mastery{display:flex;width:100%;height:8px;border-radius:99px;background:var(--line);overflow:hidden}.mastery i{transition:width .5s}.mastery .mastered,.dot.mastered{background:var(--mint)}.mastery .learning,.dot.learning{background:var(--sun)}.dot{display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;background:#c9c8e6}.empty{display:grid;justify-items:start;gap:16px;padding:28px;border:2px dashed #b9b7e3;border-radius:18px;max-width:60ch}.badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.badge{display:grid;gap:2px;padding:14px;border-radius:16px;background:var(--card)}.badge span{font-size:1.8rem}.badge b{font-family:var(--display)}.badge small{color:var(--muted);line-height:1.3}.badge.locked{background:transparent;border:2px solid var(--line)}.badge.locked span{filter:grayscale(1) opacity(.5)}.foot{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:56px;padding-top:20px;border-top:2px solid var(--line);color:var(--muted);font-size:.92rem}.set-head{display:grid;gap:12px;max-width:640px}.set-head>p{color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9rem;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.modes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:32px}.mode-tile{position:relative;display:grid;gap:4px;padding:18px 18px 20px;border-radius:18px;background:var(--stage);box-shadow:0 6px 0 var(--tint);color:#b8b3ea;font-size:.92rem;line-height:1.35;text-decoration:none;transition:transform .15s var(--pop)}.mode-tile:hover{transform:translateY(-4px)}.mode-tile:hover .mode-icon{transform:scale(1.2) rotate(-8deg)}.mode-tile:active{transform:translateY(4px);box-shadow:0 2px 0 var(--tint)}.mode-icon{font-size:1.9rem;justify-self:start;transition:transform .25s var(--pop)}.mode-tile b{color:#fff;font:750 1.25rem var(--display)}.mode-tile em{position:absolute;top:16px;right:16px;padding:2px 9px;border-radius:99px;background:var(--tint);color:var(--stage);font-style:normal;font-weight:700;font-size:.78rem}.check{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600}.check.light{margin-top:0;color:#c9c5ff;cursor:pointer}.voice{max-width:190px;padding:3px 6px;border:2px solid var(--stage-line);border-radius:8px;background:var(--stage-2);color:#fff}.check.light input{accent-color:var(--sun)}.direction{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-weight:600}.direction button{padding:8px 14px;border:2px solid var(--line);border-radius:99px;background:var(--card);color:var(--muted);font-weight:600}.direction button.on{border-color:var(--cobalt);background:var(--cobalt);color:#fff}.check.disabled{color:var(--muted);font-weight:500}.check input{width:18px;height:18px;accent-color:var(--cobalt)}.cards-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.card-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,2fr) auto auto;align-items:center;gap:14px;padding:10px 10px 10px 18px;border-radius:14px;background:var(--card)}.card-row b,.card-row span{overflow-wrap:anywhere}.card-row span{color:#3d3a70}.import-panel{display:grid;gap:12px;margin-bottom:20px;padding:18px;border-radius:16px;background:var(--card)}.import-panel p{color:var(--muted);font-size:.92rem}.lang-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}.lang-row label{display:grid;gap:4px;color:var(--muted);font-size:.88rem;font-weight:600}.lang-row select{color:var(--ink);font-size:1rem;font-weight:500}.editor-row{display:grid;grid-template-columns:28px 1fr 1.4fr 36px;align-items:center;gap:8px;margin-bottom:8px}.editor-n{color:var(--muted);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.stage{min-height:100dvh;display:flex;flex-direction:column;background:var(--stage);color:#fff}.stage-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 20px}.stage-x{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--stage-2);color:#fff;text-decoration:none;font-weight:700}.stage-x:hover{background:var(--stage-line)}.stage-title{text-align:center;line-height:1.2}.stage-title strong{display:block;font:750 1.1rem var(--display)}.stage-title span{color:#a9a4e0;font-size:.85rem}.stage-right{justify-self:end;font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums}.progress{height:8px;margin:0 20px;border-radius:99px;background:var(--stage-2);overflow:hidden}.progress i{display:block;height:100%;border-radius:99px;background:var(--mint);transition:width .45s cubic-bezier(.2,.8,.2,1)}.stage-body{flex:1;width:100%;max-width:760px;margin:0 auto;padding:28px 20px 40px;display:flex;flex-direction:column;gap:20px}.hint{color:#8f8ad0;font-size:.88rem}.counter,.timer{font-size:1.1rem}.timer{color:var(--sun);font-size:1.4rem}.combo{display:inline-block;min-height:1.5em}.combo.on{padding:2px 12px;border-radius:99px;background:var(--sun);color:var(--ink);animation:pop .4s var(--pop)}.hud{display:flex;align-items:center;gap:14px}.hud b{color:var(--sun);font-size:1.4rem}.lives{color:var(--rose);letter-spacing:2px}.lives i{font-style:normal;opacity:.25}.face-label{color:var(--muted);font-size:.85rem;font-weight:600}.means{color:var(--muted);font-weight:500;font-size:.9em}.flip{flex:1;min-height:300px;max-height:460px;display:grid;perspective:1400px;cursor:pointer;animation:deal .35s var(--pop)}.flip,.flip *{touch-action:pan-y}.flip{position:relative;user-select:none;-webkit-user-select:none;transition:transform .3s var(--pop)}.flip.dragging{transition:none;cursor:grabbing}.stamp{position:absolute;top:22px;z-index:2;padding:6px 14px;border-radius:12px;font:800 1.15rem var(--display);pointer-events:none}.stamp.know{left:22px;background:var(--mint);color:#04281d;transform:rotate(-8deg)}.stamp.learning{right:22px;background:var(--rose);color:#fff;transform:rotate(8deg)}.flip:focus-visible{outline:none}.flip:focus-visible .face{box-shadow:0 0 0 4px var(--sun)}.flip-inner{position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.3,.5,1)}.flip.flipped .flip-inner{transform:rotateX(180deg)}.face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:44px 32px 32px;border-radius:26px;background:var(--card);color:var(--ink);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px #0d0a29;text-align:center;overflow:hidden auto}.face.back{transform:rotateX(180deg);background:#fff7dc}.face .face-label{position:absolute;top:18px;left:24px}.face p{font:750 clamp(1.6rem,5vw,2.6rem) / 1.15 var(--display);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.face p.long{font:600 clamp(1.1rem,3vw,1.4rem) / 1.4 var(--body);letter-spacing:0}.flip.fly-left{animation:fly-left .26s ease-in forwards}.flip.fly-right{animation:fly-right .26s ease-in forwards}.fc-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}.fc-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:.92rem}.prompt{display:grid;gap:10px;padding:28px;border-radius:22px;background:var(--card);color:var(--ink);box-shadow:0 8px #0d0a29;animation:deal .3s var(--pop)}.prompt p{font:700 clamp(1.3rem,4vw,1.9rem) / 1.2 var(--display);letter-spacing:-.01em;overflow-wrap:anywhere}.prompt.ok{animation:bounce .45s var(--pop)}.prompt.bad{animation:shake .4s}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.options.two{grid-template-columns:1fr 1fr}.option{display:flex;align-items:center;gap:12px;padding:16px 18px;border:2px solid var(--stage-line);border-radius:16px;background:var(--stage-2);color:#fff;font-weight:600;text-align:left;line-height:1.35;transition:transform .1s,border-color .15s,background .15s}.option:hover:not(:disabled){border-color:#8f8ad0;transform:translateY(-2px)}.option:disabled{cursor:default}.option kbd{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--stage-line);font:700 .85rem var(--display)}.option.picked{border-color:var(--sun);background:#3a2f7a}.option.right{border-color:var(--mint);background:#0f5c4b;animation:bounce .4s var(--pop)}.option.wrong{border-color:var(--rose);background:#6a1f43;animation:shake .4s}.option.dim{opacity:.4}.answer-form{display:grid;gap:14px}.input.big{padding:16px 18px;border-color:var(--stage-line);border-radius:16px;background:var(--stage-2);color:#fff;font-size:1.2rem;font-weight:600}.input.big::placeholder{color:#8f8ad0}.input.big:focus{border-color:var(--sun)}.input.big.ok{border-color:var(--mint);background:#0f5c4b}.input.big.bad{border-color:var(--rose);background:#6a1f43;text-decoration:line-through}.input.big.nope{animation:shake .35s}.feedback{font-weight:700;animation:rise .25s ease-out}.feedback.ok{color:var(--mint);font-size:1.1rem}.feedback.bad{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:16px;background:#3b1436;font-weight:500}.feedback.bad b{color:#ffd0de}.test{display:grid;gap:16px}.test-q{margin:0;min-width:0;display:grid;gap:14px;padding:20px;border:2px solid var(--stage-line);border-radius:20px}.test-q legend{padding:0 8px;color:#a9a4e0;font-size:.88rem;font-weight:600}.test-q.ok{border-color:var(--mint)}.test-q.ok legend b{color:var(--mint)}.test-q.bad{border-color:var(--rose)}.test-q.bad legend b{color:var(--rose)}.test-prompt{font:700 1.25rem/1.3 var(--display);overflow-wrap:anywhere}.test-q .means{color:#a9a4e0}.test-q .input{border-color:var(--stage-line);background:var(--stage-2);color:#fff}.test-q .input:focus{border-color:var(--sun)}.test-fix{padding:10px 14px;border-radius:12px;background:#3b1436;color:#ffd0de}.match-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:minmax(96px,1fr);gap:12px}.tile{padding:12px;border:0;border-radius:16px;background:var(--card);box-shadow:0 5px #0d0a29;color:var(--ink);font-weight:600;line-height:1.3;overflow-wrap:anywhere;animation:deal .4s var(--pop) backwards;transition:transform .12s var(--pop),background .12s}.tile:hover{transform:translateY(-3px)}.tile.sel{background:var(--sun);transform:scale(1.05) rotate(-1.5deg)}.tile.shake{background:var(--rose);color:#fff;animation:shake .4s}.tile.gone{background:var(--mint);animation:vanish .35s ease-in forwards;pointer-events:none}.sky{position:relative;flex:1;min-height:380px;border-radius:22px;background:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 68% 9%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 84% 32%,#c9c5ff 50%,transparent 51%),radial-gradient(1px 1px at 33% 41%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 52% 63%,#c9c5ff 50%,transparent 51%),radial-gradient(1px 1px at 8% 72%,#fff 50%,transparent 51%),#0d0a29;overflow:hidden}.meteor{position:absolute;top:0;max-width:40%;padding:10px 14px;border-radius:14px 14px 14px 4px;background:#ff8a3c;box-shadow:0 -14px 24px -6px #ff8a3c8c;color:#2b1200;font-weight:700;font-size:.95rem;line-height:1.25;overflow-wrap:anywhere;will-change:transform}.ground{position:absolute;inset:auto 0 0 0;height:64px;background:repeating-linear-gradient(-45deg,var(--stage-2) 0 14px,var(--stage-line) 14px 28px);border-top:3px solid var(--rose)}.boom{position:absolute;width:20px;height:20px;margin:10px 0 0 30px;border-radius:50%;border:4px solid var(--sun);animation:boom .5s ease-out forwards;pointer-events:none}.lost{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(86%,380px);display:grid;justify-items:center;gap:8px;padding:22px;border-radius:20px;background:var(--card);color:var(--ink);text-align:center;animation:pop .3s var(--pop)}.lost span{color:var(--muted)}.lost b{font:750 1.6rem var(--display);margin-bottom:6px}.timebar{position:relative;height:26px;border-radius:99px;background:var(--stage-2);overflow:hidden}.timebar i{display:block;height:100%;border-radius:99px;background:var(--cobalt);transition:width .12s linear}.timebar.low i{background:var(--rose)}.timebar span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:700 .85rem var(--display)}.blitz-card{flex:1;max-height:340px;display:grid;align-content:center;justify-items:center;gap:10px;padding:28px;border-radius:26px;background:var(--card);color:var(--ink);box-shadow:0 10px #0d0a29;text-align:center;animation:deal .22s var(--pop)}.blitz-card b{font:800 clamp(1.6rem,6vw,2.6rem) / 1.1 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}.blitz-card p{font-size:1.25rem;font-weight:600}.blitz-card.flash-ok{box-shadow:0 10px 0 var(--mint-deep),0 0 0 5px var(--mint)}.blitz-card.flash-bad{box-shadow:0 10px 0 var(--rose-deep),0 0 0 5px var(--rose)}.results{flex:1;display:grid;align-content:center;justify-items:center;gap:10px;text-align:center}.results.compact{flex:none;padding-bottom:12px}.results-headline{font:700 1.3rem var(--display);color:#c9c5ff;animation:rise .4s ease-out backwards}.results-big{font:800 clamp(3.4rem,15vw,6.5rem) / 1 var(--display);letter-spacing:-.04em;color:var(--sun);animation:slam .6s var(--pop) .1s backwards}.results-sub{color:#b8b3ea;animation:rise .4s ease-out .3s backwards}.stat-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 8px}.stat{min-width:110px;padding:12px 18px;border-radius:16px;background:var(--stage-2);animation:rise .4s ease-out .45s backwards}.stat b{display:block;font:750 1.5rem var(--display)}.stat span{color:#a9a4e0;font-size:.85rem}.stat.xp b{color:var(--mint)}.results-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}.missed{width:100%;margin-top:32px;text-align:left}.missed h3{margin-bottom:10px;font-size:1.05rem;color:#c9c5ff}.missed ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.missed li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px;padding:10px 14px;border-radius:12px;background:var(--stage-2);overflow-wrap:anywhere}.missed li span{color:#c9c5ff}.toasts{position:fixed;top:16px;right:16px;z-index:900;display:grid;gap:10px;width:min(340px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:var(--card);box-shadow:0 5px 0 var(--sun),0 12px 30px #17123f4d;color:var(--ink);animation:toast-in .45s var(--pop)}.toast-icon{font-size:1.8rem}.toast b{display:block;font-family:var(--display)}.toast span:not(.toast-icon){color:var(--muted);font-size:.9rem}.levelup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;display:grid;place-content:center;justify-items:center;background:#17123fdb;color:#fff;text-align:center;animation:fade .25s}.levelup p{font:700 1.3rem var(--display);color:#c9c5ff}.levelup strong{font:800 clamp(4rem,18vw,8rem) / 1 var(--display);letter-spacing:-.04em;color:var(--sun);animation:slam .7s var(--pop)}.levelup-burst{position:absolute;inset:50% auto auto 50%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;background:repeating-conic-gradient(rgba(255,197,51,.13) 0 10deg,transparent 10deg 20deg);animation:spin 14s linear infinite;z-index:-1}@keyframes pop{0%{transform:scale(.6);opacity:0}}@keyframes deal{0%{transform:translateY(18px) scale(.94);opacity:0}}@keyframes rise{0%{transform:translateY(10px);opacity:0}}@keyframes slam{0%{transform:scale(2.2) rotate(-6deg);opacity:0}}@keyframes bounce{40%{transform:scale(1.04)}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes vanish{30%{transform:scale(1.1)}to{transform:scale(0);opacity:0}}@keyframes fly-left{to{transform:translate(-120%) rotate(-14deg);opacity:0}}@keyframes fly-right{to{transform:translate(120%) rotate(14deg);opacity:0}}@keyframes boom{to{transform:scale(7);opacity:0}}@keyframes flicker{50%{transform:scale(1.08) rotate(-3deg)}}@keyframes toast-in{0%{transform:translate(40px);opacity:0}}@keyframes fade{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.card-row{grid-template-columns:auto minmax(0,1fr) auto auto;row-gap:2px}.card-row span{grid-column:2 / 3;grid-row:2}.editor-row{grid-template-columns:22px 1fr 36px}.editor-row .input:nth-of-type(2){grid-column:2}.editor-row .icon-btn{grid-column:3;grid-row:1}.fc-actions{grid-template-columns:1fr 1fr}.fc-actions .btn-ghost-light,.stage-title span{display:none}.meteor{max-width:46%;font-size:.85rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.install{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-bottom:16px;padding:16px 20px;border-radius:20px;background:var(--cobalt);color:#fff;animation:deal .4s var(--pop)}.install img{border-radius:14px}.install .grow{flex:1 1 240px}.install b{display:block;font:750 1.15rem var(--display)}.install span{color:#dfe2ff}.share-icon{width:1.15em;height:1.15em;vertical-align:-.2em}html{overscroll-behavior:none}body{-webkit-tap-highlight-color:transparent}button,a,label,select{touch-action:manipulation}.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.topbar{padding-top:max(20px,env(safe-area-inset-top))}.stage-bar{padding:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left))}.stage-body{padding-bottom:max(40px,env(safe-area-inset-bottom))}textarea.input,select{font-size:16px}@media (hover: none){.set-tile:hover,.mode-tile:hover:not(:active),.tile:not(.sel):hover,.option:hover:not(:disabled){transform:none}.btn:hover{filter:none}}@media (pointer: coarse){.icon-btn,.stage-x{width:44px;height:44px}.btn-sm{padding:10px 16px;font-size:.95rem}.link{padding:8px 0}.check input{width:22px;height:22px}.editor-row{grid-template-columns:28px 1fr 1.4fr 44px}}@media (min-width: 700px) and (min-height: 700px){.wrap{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}.stage-body{max-width:880px;padding-top:36px;gap:24px}.flip{max-height:min(58dvh,600px)}.fc-actions .btn,.options.two .btn{padding:18px 22px;font-size:1.15rem}.option{padding:20px;font-size:1.1rem}.tile{font-size:1.15rem}.match-grid{grid-template-columns:repeat(4,1fr);max-height:760px}.blitz-card{max-height:420px}.meteor{font-size:1.05rem;max-width:34%}.fc-tools{font-size:1rem;gap:10px 26px}}@media (max-width: 640px) and (pointer: coarse){.editor-row{grid-template-columns:22px 1fr 44px}}.stage.fit{position:fixed;inset:0 0 auto 0;height:100dvh;min-height:0;overflow:hidden}.stage.fit .stage-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.stage.fit .stage-body>*{flex-shrink:0}.stage.fit .sky{flex-shrink:1}.stage.short .prompt{padding:14px 18px;gap:4px}.stage.short .prompt p{font-size:1.2rem}.stage.short .option,.stage.short .feedback.bad{padding:10px 14px}.stage.fit .sky{min-height:0}.stage.short .stage-bar{padding-top:6px;padding-bottom:6px}.stage.short .stage-title span{display:none}.stage.short .stage-body{padding:6px 16px 10px;gap:8px}.stage.short .ground{height:26px}.stage.short .meteor{padding:6px 10px;font-size:.9rem}.stage.short .input.big{padding:10px 14px;font-size:1.05rem}.stage.short .lost{padding:12px;gap:4px}.stage.short .lost b{font-size:1.25rem;margin:0}.pet{flex:none;overflow:visible}.pet-shadow{fill:#0d0a2938}.pet-body,.pet-eyes,.pet-arm,.pet-chew{transform-box:fill-box}.pet-body{transform-origin:50% 100%;animation:pet-breathe 3.2s ease-in-out infinite}.pet-eyes{transform-origin:50% 50%;animation:pet-blink 4.5s infinite}.pet-arm{transform-origin:50% 8%;transition:transform .3s var(--pop)}.pet.mood-cheer .pet-body{animation:pet-jump .62s ease-in-out infinite}.pet.mood-cheer .pet-arm.left{animation:pet-wave-left .5s ease-in-out infinite alternate}.pet.mood-cheer .pet-arm.right{animation:pet-wave-right .5s ease-in-out infinite alternate}.pet.mood-sad .pet-body,.pet.mood-hungry .pet-body{animation-duration:5s}.pet-chew{transform-origin:50% 50%;animation:pet-chew .32s ease-in-out infinite alternate}.bubble{position:relative;display:inline-block;max-width:34ch;padding:10px 16px;border-radius:18px;background:#fff;color:var(--ink);font-weight:600;line-height:1.35;text-align:left}.pet-card{display:flex;align-items:center;gap:8px 18px;margin-top:16px;padding:14px 22px 14px 14px;border-radius:24px;background:#d5f6ea;color:var(--ink);text-decoration:none}.pet-card .bubble:before,.reward-pet .bubble:before{content:"";position:absolute;left:-7px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:3px;background:inherit;transform:rotate(45deg)}.pet-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:10px;color:#2d6b58;font-size:.92rem}.pet-card-meta b{font:750 1.1rem var(--display);color:var(--ink)}.pet-card-meta .low{color:var(--rose-deep);font-weight:700}.pet-card-go{margin-left:auto;color:var(--cobalt-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}.pet-room{display:grid;justify-items:center;gap:6px;padding:28px 20px 26px;border-radius:28px;background:linear-gradient(var(--stage) 0 68%,var(--stage-2) 68%);color:#fff}.pet-room .bubble{text-align:center;animation:pop .3s var(--pop)}.pet-room .bubble:before{content:"";position:absolute;left:50%;bottom:-7px;width:16px;height:16px;margin-left:-8px;border-radius:3px;background:inherit;transform:rotate(45deg)}.pet-spot{position:relative;margin-top:8px}.hearts{position:absolute;inset:10% 0 auto 0;pointer-events:none}.hearts i{position:absolute;left:50%;color:var(--rose);font-size:1.8rem;font-style:normal;animation:heart-rise 1.3s ease-out forwards}.hearts i:nth-child(2){margin-left:-52px;animation-delay:.12s}.hearts i:nth-child(3){margin-left:44px;animation-delay:.24s}.pet-name{width:min(100%,260px);border:2px solid transparent;border-radius:12px;background:transparent;color:#fff;font:800 1.7rem var(--display);text-align:center}.pet-name:hover,.pet-name:focus{border-color:var(--stage-line);outline:none}.meters{width:min(100%,360px);display:grid;gap:10px;margin-top:8px}.meter{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;color:#c9c5ff;font-weight:600;font-size:.92rem}.meter-bar{height:14px;border-radius:99px;background:var(--stage-line);overflow:hidden}.meter-bar i{display:block;height:100%;border-radius:99px;background:var(--mint);transition:width .6s var(--pop)}.meter-bar.sun i{background:var(--sun)}.meter-bar.low i{background:var(--rose)}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.item{position:relative;display:grid;justify-items:center;gap:2px;padding:16px 10px 14px;border:0;border-radius:18px;background:var(--card);box-shadow:0 5px 0 var(--line);color:var(--ink);transition:transform .1s,box-shadow .1s}.item:active{transform:translateY(4px);box-shadow:0 1px 0 var(--line)}.item-icon{font-size:2.4rem;line-height:1.1}.item b{font-family:var(--display)}.item small{color:var(--muted);line-height:1.25}.item em{position:absolute;top:10px;right:12px;color:var(--muted);font-style:normal;font-weight:700}.item.rarity-rare{box-shadow:0 5px 0 var(--cobalt)}.item.rarity-epic{box-shadow:0 5px 0 var(--sun-deep);background:#fff7dc}.item.on{outline:3px solid var(--mint)}.pet-note{margin-top:36px;max-width:62ch;font-size:.92rem}.reward{display:grid;justify-items:center;gap:12px;margin-bottom:6px}.reward-pet{display:flex;align-items:center;gap:14px}.gift{display:flex;align-items:center;gap:14px;padding:10px 20px 10px 14px;border-radius:18px;background:var(--card);box-shadow:0 5px 0 var(--mint);color:var(--ink);text-align:left;text-decoration:none;animation:slam .55s var(--pop)}.gift.rarity-rare{box-shadow:0 5px 0 var(--cobalt)}.gift.rarity-epic{box-shadow:0 5px 0 var(--sun);background:#fff7dc}.gift-icon{font-size:2.4rem;animation:gift-wiggle .9s ease-in-out .5s 2}.gift b{display:block;font-family:var(--display)}.gift small{color:var(--muted)}@keyframes pet-breathe{50%{transform:scale(1.03,.97)}}@keyframes pet-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes pet-jump{0%,to{transform:translateY(0) scale(1.06,.94)}45%{transform:translateY(-16%) scale(.96,1.05)}}@keyframes pet-wave-left{0%{transform:rotate(130deg)}to{transform:rotate(165deg)}}@keyframes pet-wave-right{0%{transform:rotate(-130deg)}to{transform:rotate(-165deg)}}@keyframes pet-chew{to{transform:scaleY(.25)}}@keyframes heart-rise{0%{transform:translateY(20px) scale(.4);opacity:0}25%{opacity:1}to{transform:translateY(-90px) scale(1.2);opacity:0}}@keyframes gift-wiggle{25%{transform:rotate(-14deg) scale(1.15)}75%{transform:rotate(14deg) scale(1.15)}}@media (max-width: 520px){.reward-pet{flex-direction:column;gap:4px}.reward-pet .bubble:before{left:50%;top:-7px;margin:0 0 0 -8px}.pet-card{padding-right:14px}.pet-card-go{margin-left:0}}.nest{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.nest-egg{display:grid;justify-items:center;gap:4px;padding:14px 12px 16px;border:0;border-radius:18px;background:var(--card);box-shadow:0 5px 0 var(--line);color:var(--ink)}.nest-egg b{font-family:var(--display)}.nest-egg small{color:var(--muted);line-height:1.3}.nest-egg.ready{background:#fff7dc;box-shadow:0 5px 0 var(--sun)}.nest-egg .egg-ready{color:#7a5600;font-weight:700}.egg-wobble{display:block;transform-origin:50% 90%}.nest-egg.ready .egg-wobble{animation:egg-wobble 1.1s ease-in-out infinite}.egg-bar{width:100%;height:10px;margin:4px 0 2px;border-radius:99px;background:var(--line);overflow:hidden}.egg-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sun),#ff8a3c);transition:width .6s var(--pop)}.item.mystery{background:transparent;border:2px dashed #b9b7e3;box-shadow:none;align-content:center}.item.mystery .item-icon{color:#b9b7e3;font:800 2.6rem var(--display)}.empty.cupboard{margin-top:28px}.hatch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:grid;place-items:center;padding:20px;background:#17123fdb;animation:fade .25s}.hatch-card{width:min(100%,420px);display:grid;justify-items:center;gap:10px;padding:26px 24px;border-radius:28px;background:var(--card);text-align:center;animation:slam .55s var(--pop)}.hatch-kicker{color:var(--cobalt-deep);font:700 1.05rem var(--display)}.hatch-name{width:100%;display:grid;gap:4px;color:var(--muted);font-size:.9rem;font-weight:600;text-align:left}.hatch-name .input{color:var(--ink);font:700 1.2rem var(--display);text-align:center}.hatch-treats{display:flex;gap:14px;font-size:3rem}@keyframes egg-wobble{0%,55%,to{transform:rotate(0)}65%{transform:rotate(-9deg)}75%{transform:rotate(8deg)}85%{transform:rotate(-5deg)}92%{transform:rotate(3deg)}}.gift-wrapped{display:flex;align-items:center;gap:12px;padding:8px 22px 8px 12px;border:0;border-radius:20px;background:var(--card);box-shadow:0 5px 0 var(--sun);color:var(--ink);text-align:left;animation:slam .55s var(--pop)}.gift-wrapped:active{transform:translateY(4px);box-shadow:0 1px 0 var(--sun)}.gift-wrapped b{display:block;font:750 1.1rem var(--display)}.gift-wrapped small{color:var(--cobalt-deep);font-weight:700}.present,.present-lid,.present-box,.present-sparkle{transform-box:fill-box}.present{overflow:visible}.present.idle{animation:present-hop 1.4s ease-in-out infinite;transform-origin:50% 100%}.present.shaking{animation:present-rattle .22s linear infinite;transform-origin:50% 100%}.present.shaking .present-lid{animation:lid-jump .33s ease-in-out infinite alternate}.present-sparkle{transform-origin:50% 50%;animation:twinkle .9s ease-in-out infinite alternate}.reveal{--glow: var(--mint);position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:grid;place-items:center;padding:20px;background:#0d0a29f0;color:#fff;text-align:center;overflow:hidden auto;animation:fade .2s}.reveal.rarity-rare{--glow: #7f8bff}.reveal.rarity-epic{--glow: var(--sun)}.reveal-box{display:grid;justify-items:center;gap:18px;animation:slam .45s var(--pop)}.reveal-box p{font:750 1.5rem var(--display);color:#c9c5ff}.reveal-card{position:relative;width:min(100%,460px);display:grid;justify-items:center;gap:8px}.reveal-rays{position:absolute;top:110px;left:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:repeating-conic-gradient(color-mix(in srgb,var(--glow) 22%,transparent) 0 9deg,transparent 9deg 18deg);-webkit-mask-image:radial-gradient(circle,#000 0,transparent 38%);mask-image:radial-gradient(circle,#000 0,transparent 38%);animation:spin 16s linear infinite;pointer-events:none;z-index:-1}.reveal-rarity{padding:4px 16px;border-radius:99px;background:var(--glow);color:var(--stage);font:800 1.05rem var(--display);animation:rise .4s ease-out .25s backwards}.reveal-prize{height:150px;display:grid;place-items:center;animation:prize-pop .8s var(--pop)}.reveal-icon{font-size:7rem;line-height:1;filter:drop-shadow(0 0 26px var(--glow));animation:prize-float 2.4s ease-in-out .8s infinite}.reveal-card h2{font-size:clamp(1.8rem,6vw,2.5rem);animation:rise .4s ease-out .35s backwards}.reveal-what{max-width:34ch;color:#c9c5ff;animation:rise .4s ease-out .45s backwards}.reveal-buddy{min-height:118px;display:flex;align-items:center;justify-content:center;gap:12px;animation:rise .4s ease-out .55s backwards}.reveal-buddy .bubble{animation:pop .3s var(--pop)}.reveal .results-actions{animation:rise .4s ease-out .7s backwards}@keyframes present-hop{0%,60%,to{transform:translateY(0) rotate(0)}70%{transform:translateY(-9%) rotate(-5deg)}80%{transform:translateY(0) rotate(4deg)}90%{transform:translateY(-4%) rotate(-2deg)}}@keyframes present-rattle{0%,to{transform:rotate(-5deg) scale(1.02,.98)}50%{transform:rotate(5deg) scale(.98,1.03)}}@keyframes lid-jump{to{transform:translateY(-18%) rotate(-4deg)}}@keyframes twinkle{0%{transform:scale(.5);opacity:.4}}@keyframes prize-pop{0%{transform:translateY(80px) scale(.1) rotate(-30deg);opacity:0}60%{transform:translateY(-14px) scale(1.25) rotate(8deg);opacity:1}}@keyframes prize-float{50%{transform:translateY(-8px) rotate(4deg)}}.float-text{position:fixed;z-index:1001;transform:translate(-50%,-50%);font:800 1.35rem var(--display);text-shadow:0 2px 0 rgba(13,10,41,.55);pointer-events:none;white-space:nowrap;animation:float-up 1.1s ease-out forwards}.jolt{animation:jolt .3s}.jolt-hard{animation:jolt .45s 1.6}@keyframes float-up{0%{transform:translate(-50%,-30%) scale(.5);opacity:0}18%{transform:translate(-50%,-80%) scale(1.25);opacity:1}to{transform:translate(-50%,-260%) scale(1);opacity:0}}@keyframes jolt{20%{transform:translate(-7px,3px) rotate(-.6deg)}40%{transform:translate(6px,-3px) rotate(.5deg)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}.pet-wings,.pet-held,.pet-aura,.pet-sparkle{transform-box:fill-box}.pet.mood-cheer .pet-arm{animation:pet-wave-left .5s ease-in-out infinite alternate}.pet.mood-ready .pet-arm,.pet.mood-love .pet-arm{transform:rotate(38deg)}.pet.mood-love .pet-body{animation:pet-nuzzle .9s ease-in-out infinite}.pet.mood-no .pet-body{animation:pet-refuse .42s ease-in-out 3}.pet-held{transform-origin:20% 90%;transition:transform .3s var(--pop)}.pet.mood-cheer .pet-held{animation:pet-raise .5s ease-in-out infinite alternate}.pet-wings{transform-origin:50% 60%;animation:pet-flutter 1.8s ease-in-out infinite}.pet-aura{transform-origin:50% 50%;animation:pet-aura 2.6s ease-in-out infinite}.pet-sparkle{transform-origin:50% 50%;animation:twinkle 1.1s ease-in-out infinite alternate}@keyframes pet-nuzzle{50%{transform:rotate(-3deg) scale(1.03,.97)}}@keyframes pet-refuse{25%{transform:translate(-4%) rotate(-3deg)}75%{transform:translate(4%) rotate(3deg)}}@keyframes pet-raise{0%{transform:translate(4%,-52%) rotate(8deg)}to{transform:translate(8%,-62%) rotate(22deg)}}@keyframes pet-flutter{50%{transform:scaleX(.88) translateY(-2%)}}@keyframes pet-aura{50%{transform:scale(1.08);opacity:.6}}.buddy-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:radial-gradient(120% 60% at 50% 100%,#3a3182 0,transparent 70%),radial-gradient(1.5px 1.5px at 14% 22%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 82% 14%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 68% 34%,#c9c5ff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 30% 40%,#fff 50%,transparent 51%),var(--stage);color:#fff;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.buddy-hud{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left))}.buddy-id{display:grid;min-width:0}.buddy-id .pet-name{width:100%;padding:0 6px;margin-left:-8px;font-size:1.5rem;text-align:left;user-select:text;-webkit-user-select:text}.buddy-kind{color:#b8b3ea;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-level{width:clamp(120px,28vw,220px);display:grid;text-align:right}.buddy-level b{font:800 1.15rem var(--display);color:var(--sun)}.buddy-level small{color:#b8b3ea;font-size:.78rem}.buddy-meters{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) auto;align-items:center;justify-content:center;gap:6px 18px;padding:2px 16px 0}.boost{padding:3px 12px;border-radius:99px;background:var(--stage-2);color:#c9c5ff;font-size:.8rem;font-weight:600;white-space:nowrap}.boost.up{background:#0f5c4b;color:#8ff5d2}.boost.down{background:#6a1f43;color:#ffd0de}.buddy-floor{position:relative;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px 16px 4px}.buddy-floor .bubble{flex:none;margin-bottom:4px;text-align:center;animation:pop .3s var(--pop)}.buddy-floor .bubble:before{content:"";position:absolute;left:50%;bottom:-7px;width:16px;height:16px;margin-left:-8px;border-radius:3px;background:inherit;transform:rotate(45deg)}.buddy-spot{position:relative;flex:0 1 auto;min-height:0;height:100%;max-height:min(62dvh,560px);aspect-ratio:1 / 1.2;cursor:grab;transition:transform .18s var(--pop);transform-origin:50% 92%}.buddy-spot.pressed{transform:scale(1.05,.93);cursor:grabbing}.buddy-hop{width:100%;height:100%;transform-origin:50% 92%;animation:buddy-hop .5s var(--pop)}.buddy-big{width:100%;height:100%;pointer-events:none}.toy-bounce{position:absolute;left:50%;top:6%;font-size:clamp(2.6rem,9dvh,4.2rem);pointer-events:none;animation:toy-bounce 1.9s ease-in-out forwards}.held{position:fixed;z-index:700;transform:translate(-50%,-50%) rotate(-8deg);font-size:4rem;line-height:1;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(13,10,41,.5))}.tray{background:#0d0a29b8;border-top:2px solid var(--stage-line);padding-bottom:env(safe-area-inset-bottom)}.tray-tabs,.tray-strip{display:flex;overflow-x:auto;touch-action:pan-x;scrollbar-width:none;overscroll-behavior-x:contain}.tray-tabs::-webkit-scrollbar,.tray-strip::-webkit-scrollbar{display:none}.tray-tabs{gap:6px;padding:8px max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.tray-tabs button{flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px;border:0;border-radius:99px;background:transparent;color:#b8b3ea;font:700 1rem var(--display)}.tray-tabs button.on{background:var(--sun);color:var(--ink)}.tray-tabs span{min-width:22px;padding:0 6px;border-radius:99px;background:var(--stage-line);color:#fff;font:700 .78rem/22px var(--body);text-align:center}.tray-tabs button.on span{background:#1a16502e;color:var(--ink)}.tray-tabs span.hot{background:var(--rose);color:#fff;animation:pop .4s var(--pop)}.tray-strip{gap:10px;min-height:132px;padding:10px max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left));animation:rise .25s ease-out}.tray-strip>p{align-self:center;max-width:44ch;margin:0 auto;color:#b8b3ea;text-align:center}.tray-item{position:relative;flex:none;width:104px;display:grid;justify-items:center;align-content:start;gap:1px;padding:10px 6px 8px;border:0;border-radius:16px;background:var(--card);box-shadow:0 4px #0d0a29;color:var(--ink);touch-action:pan-x;transition:transform .12s var(--pop),opacity .15s}.tray-item:active{transform:translateY(3px)}.tray-item.lifted{opacity:.35}.tray-item b{font:700 .86rem/1.15 var(--display)}.tray-item small{color:var(--muted);font-size:.72rem;line-height:1.2}.tray-item em{position:absolute;top:6px;right:9px;color:var(--muted);font-style:normal;font-weight:700;font-size:.82rem}.tray-item.rarity-rare{box-shadow:0 4px 0 var(--cobalt)}.tray-item.rarity-epic{background:#fff7dc;box-shadow:0 4px 0 var(--sun)}.tray-item.on{outline:3px solid var(--mint);outline-offset:-3px}.tray-item.egg-item.ready{background:#fff7dc;box-shadow:0 4px 0 var(--sun)}.tray-item.egg-item.ready .egg-wobble{animation:egg-wobble 1.1s ease-in-out infinite}.tray-item .egg-ready{color:#7a5600;font-weight:700}.tray-item .egg-bar{height:7px}.item-emoji{display:block;text-align:center}.item-drawn{display:block;overflow:visible}.gift-icon .item-drawn,.gift-icon .item-emoji{animation:none}.reveal-icon .item-emoji{font-size:7rem!important;line-height:1!important}.evolve{position:fixed;top:0;right:0;bottom:0;left:0;z-index:820;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;background:#0d0a29f5;color:#fff;text-align:center;overflow:hidden;animation:fade .3s}.evolve-rays{position:absolute;inset:50% auto auto 50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:repeating-conic-gradient(rgba(255,197,51,.16) 0 8deg,transparent 8deg 16deg);-webkit-mask-image:radial-gradient(circle,#000 0,transparent 42%);mask-image:radial-gradient(circle,#000 0,transparent 42%);animation:spin 10s linear infinite;z-index:-1}.evolve-kicker{font:800 clamp(1.4rem,5vw,2rem) var(--display);color:var(--sun)}.evolve-before{animation:evolve-charge 2.3s ease-in forwards}.evolve-after{animation:evolve-burst .9s var(--pop)}.evolve h2{font-size:clamp(1.6rem,6vw,2.4rem)}.evolve-what{max-width:36ch;color:#c9c5ff;margin-bottom:8px}@keyframes evolve-charge{0%{filter:brightness(1);transform:scale(1)}20%,40%,60%,75%,88%{filter:brightness(0) invert(1);transform:scale(1.06)}30%,50%,68%,82%{filter:brightness(1);transform:scale(.97)}to{filter:brightness(0) invert(1) blur(2px);transform:scale(1.3)}}@keyframes evolve-burst{0%{filter:brightness(0) invert(1);transform:scale(.5)}55%{filter:brightness(1.6);transform:scale(1.18)}}@keyframes buddy-hop{35%{transform:translateY(-9%) scale(.95,1.06)}70%{transform:translateY(0) scale(1.06,.94)}}@keyframes toy-bounce{0%{transform:translate(-50%,260%) scale(.5);opacity:0}15%{transform:translate(-190%,-40%) rotate(-40deg);opacity:1}35%{transform:translate(60%,200%) rotate(80deg)}55%{transform:translate(120%,-60%) rotate(200deg)}75%{transform:translate(-140%,180%) rotate(300deg)}90%{transform:translate(-50%,-30%) rotate(360deg);opacity:1}to{transform:translate(-50%,220%) rotate(380deg) scale(.4);opacity:0}}@media (max-width: 560px){.buddy-meters{grid-template-columns:1fr 1fr}.boost{grid-column:1 / -1;justify-self:center}}@media (max-height: 560px){.tray-strip{min-height:0;padding-top:6px;padding-bottom:8px}.tray-item small,.buddy-level small,.boost{display:none}}.rockets{position:absolute;right:10px;bottom:8px;z-index:2;display:flex;align-items:center;gap:6px}.rockets span{margin-right:4px;color:#c9c5ff;font-size:.85rem;font-weight:600}.rockets button{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--stage-line);border-radius:14px;background:var(--stage);font-size:1.6rem;line-height:1;transition:transform .12s var(--pop)}.rockets button:not(:disabled):hover{transform:translateY(-4px) rotate(-8deg)}.rockets button:not(:disabled):active{transform:translateY(-10px) rotate(-8deg)}.rockets button:disabled{opacity:.55}.rockets button.spent{opacity:.2;filter:grayscale(1)}.lost small{color:var(--muted);font-weight:600}.stage.short .rockets{bottom:2px}.stage.short .rockets button{width:38px;height:38px;font-size:1.2rem;border-radius:10px}.lang-pick{display:grid;align-content:start;gap:10px}.voice-row{display:flex;gap:8px}.voice-row .input{min-width:0}.voice-row .btn{flex:none;color:var(--ink)}.quest-world{--ground: 22%;position:relative;flex:1 1 0;min-height:150px;max-height:420px;border-radius:22px;overflow:hidden;--sky-a: #7fd0ff;--sky-b: #dff5ff;--hill-far: #9be0b4;--hill-near: #4fc98a;--grass: #2fb872;--soil: #b9763f;--soil-dark: #8f5527}.quest-world.theme-1{--sky-a: #ff8f6b;--sky-b: #ffe0a8;--hill-far: #f2a36b;--hill-near: #c9623f;--grass: #e08a3c;--soil: #8f4a3a;--soil-dark: #6a3329}.quest-world.theme-2{--sky-a: #17123f;--sky-b: #4a3f9f;--hill-far: #3a3182;--hill-near: #2a2470;--grass: #5b3fd6;--soil: #2a2063;--soil-dark: #1b1548}.quest-sky,.quest-hills,.quest-ground{position:absolute;left:0;right:0}.quest-sky{top:0;right:0;bottom:0;left:0;background:radial-gradient(60px 22px at 60px 30px,rgba(255,255,255,.9) 98%,transparent) calc(var(--scroll) * .08) 12% / 420px 60px repeat-x,radial-gradient(44px 16px at 44px 20px,rgba(255,255,255,.7) 98%,transparent) calc(var(--scroll) * .14 + 180px) 34% / 330px 44px repeat-x,linear-gradient(var(--sky-a),var(--sky-b))}.quest-world.theme-2 .quest-sky{background:radial-gradient(2px 2px at 30px 20px,#fff 98%,transparent) calc(var(--scroll) * .04) 10% / 130px 70px repeat,radial-gradient(1.5px 1.5px at 80px 50px,#c9c5ff 98%,transparent) calc(var(--scroll) * .06) 0 / 170px 90px repeat,linear-gradient(var(--sky-a),var(--sky-b))}.quest-hills{bottom:var(--ground);height:34%}.quest-hills.far{background:radial-gradient(ellipse 50% 100% at 50% 100%,var(--hill-far) 99%,transparent) calc(var(--scroll) * .25) 100% / 300px 100% repeat-x}.quest-hills.near{height:22%;background:radial-gradient(ellipse 50% 100% at 50% 100%,var(--hill-near) 99%,transparent) calc(var(--scroll) * .5 + 90px) 100% / 210px 100% repeat-x}.quest-ground{bottom:0;height:var(--ground);background:linear-gradient(var(--grass) 0 26%,transparent 26%),repeating-linear-gradient(90deg,transparent 0 46px,var(--soil-dark) 46px 50px) var(--scroll) 0 / 50px 100%,linear-gradient(transparent 0 60%,var(--soil-dark) 60% 66%,transparent 66%),var(--soil)}.quest-stage{position:absolute;top:10px;left:14px;padding:3px 12px;border-radius:99px;background:#0d0a2980;color:#fff;font:700 .85rem var(--display)}.quest-buddy{position:absolute;left:20%;bottom:calc(var(--ground) - 6.5%);height:68%;aspect-ratio:1 / 1.2;transform:translate(-50%);transform-origin:50% 90%}.quest-pet{width:100%;height:100%}.quest-buddy.step{animation:quest-step .22s ease-out}.quest-buddy.jump{animation:quest-jump .7s cubic-bezier(.3,0,.4,1)}.quest-buddy.hurt{animation:quest-hurt .5s ease-out}.quest-critter{position:absolute;bottom:calc(var(--ground) - 3%);height:34%;aspect-ratio:1;transform:translate(-50%)}.quest-critter.flying{bottom:calc(var(--ground) + 9%)}.quest-critter.boss{height:42%;filter:drop-shadow(0 0 14px rgba(255,79,129,.75))}.quest-critter.flying .critter{animation:critter-hover 1.3s ease-in-out infinite alternate}.critter-wing,.critter-foot,.critter-core{transform-box:fill-box}.critter-wing{transform-origin:100% 62%;animation:critter-flap .24s ease-in-out infinite alternate}.critter-foot{transform-origin:50% 0;animation:critter-stomp .4s steps(2) infinite}.critter-foot.b{animation-delay:-.2s}.critter-core{transform-origin:50% 100%;animation:critter-flicker .3s ease-in-out infinite alternate}.critter.kind-1 .critter-body,.critter.kind-3 .critter-body{animation:critter-breathe .7s ease-in-out infinite alternate}.critter.squashed .critter-body{animation:critter-squash .7s ease-in forwards!important}@keyframes critter-hover{to{transform:translateY(-9%)}}@keyframes critter-flap{to{transform:scaleX(.55) rotate(-10deg)}}@keyframes critter-stomp{50%{transform:translateY(-5px)}}@keyframes critter-flicker{to{transform:scale(.88,1.1)}}@keyframes critter-breathe{to{transform:scale(1.04,.97)}}.quest-critter.pulled{transition:left .3s ease-in}.critter{width:100%;height:100%;overflow:visible}.critter-body{transform-box:fill-box;transform-origin:50% 100%;animation:critter-walk .5s ease-in-out infinite alternate}.quest-critter.close .critter-body{animation-duration:.22s}.critter.squashed .critter-body{animation:critter-squash .7s ease-in forwards}.quest-banner{position:absolute;inset:34% 0 auto 0;text-align:center;font:800 clamp(1.5rem,6vw,2.6rem) var(--display);color:#fff;text-shadow:0 3px 0 rgba(13,10,41,.6);animation:slam .6s var(--pop)}.quest-word{position:relative;display:grid;gap:8px;padding:16px 20px 18px;border-radius:20px;background:var(--card);color:var(--ink);box-shadow:0 6px #0d0a29}.quest-word.revealed{background:#fff7dc}.quest-word p{font:700 clamp(1.15rem,3.4vw,1.6rem) / 1.2 var(--display);overflow-wrap:anywhere}.slots{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px}.slot{width:38px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--paper);box-shadow:inset 0 -4px 0 var(--line);font:800 1.5rem var(--display)}.slot.filler{width:16px;background:none;box-shadow:none}.slot.typed:not(.filler){background:var(--mint);box-shadow:inset 0 -4px 0 var(--mint-deep);color:#04281d;animation:bounce .25s var(--pop)}.slot.now{box-shadow:inset 0 -4px 0 var(--cobalt),0 0 0 3px var(--cobalt);animation:slot-wait .9s ease-in-out infinite}.slot i{font-style:normal;color:#b89a3a}.strikes{margin-left:6px;color:var(--rose);font-weight:800;letter-spacing:3px}.quest-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;opacity:0;font-size:16px;cursor:pointer}.stage.short .quest-world{min-height:90px;border-radius:14px}.stage.short .quest-word{padding:8px 14px 10px;gap:3px}.stage.short .quest-word p{font-size:1.05rem}.stage.short .slot{width:30px;height:36px;font-size:1.15rem}.stage.short .slots{min-height:36px}.stage.short .quest-stage{display:none}@keyframes quest-step{40%{transform:translate(-46%) translateY(-5%) rotate(4deg)}}@keyframes quest-jump{0%{transform:translate(-50%) scale(1.08,.9)}40%{transform:translate(-10%) translateY(-60%) rotate(12deg)}58%{transform:translate(22%) translateY(-10%) scale(1.12,.86)}to{transform:translate(-50%)}}@keyframes quest-hurt{0%,40%,80%{filter:brightness(2) saturate(.2) drop-shadow(0 0 0 #ff4f81)}20%,60%{filter:none}30%{transform:translate(-72%) rotate(-12deg)}}@keyframes critter-walk{to{transform:scale(1.06,.92) rotate(-4deg)}}@keyframes critter-squash{35%{transform:scale(1.5,.18);opacity:1}to{transform:scale(1.7,.05);opacity:0}}@keyframes slot-wait{50%{transform:translateY(-3px)}}.quest-world.theme-2 .critter{filter:drop-shadow(0 0 5px rgba(125,255,216,.7))}.buddy-screen{touch-action:auto}.buddy-floor{touch-action:none;justify-content:center;overflow:hidden}.buddy-spot{flex:1 1 0;align-self:stretch;width:auto;height:auto;max-height:none;aspect-ratio:auto;min-height:0}.buddy-hop{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.buddy-big{display:block;width:100%;height:100%;max-height:560px;margin:auto}.buddy-hop{display:flex}.toy-bounce{top:12%}.tray{margin:0 max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));padding-bottom:0;border:2px solid var(--stage-line);border-radius:22px;background:#0d0a29d1;overflow:hidden}.tray-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:620px;margin:0 auto;padding:8px 8px 0;overflow:visible}.tray-tabs button{position:relative;justify-content:center;min-width:0;padding:9px 2px;font-size:clamp(.8rem,3.5vw,1rem)}.tray-tabs span{position:absolute;top:-5px;right:0;min-width:19px;padding:0 5px;font:700 .68rem/19px var(--body);border:2px solid #0d0a29}.tray-tabs button.on span{background:var(--ink);color:#fff}.tray-strip{min-height:124px;padding:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent)}.tray-strip:after{content:"";flex:none;width:22px}.tray-item{scroll-snap-align:start}@media (max-width: 480px){.buddy-hud{gap:8px;padding-left:12px;padding-right:12px}.buddy-id .pet-name{font-size:1.25rem}.buddy-level{width:112px}.buddy-meters{padding:2px 12px 0;gap:4px 12px}.meter{grid-template-columns:auto 1fr;gap:6px;font-size:.82rem}.tray-item{width:92px;padding:8px 4px 7px}.tray-strip{min-height:112px;gap:8px}.buddy-floor .bubble{font-size:.92rem;padding:8px 14px}}.tray-tabs{padding-top:12px}.tray-tabs span{top:-8px;right:-2px}@media (max-width: 480px){.tray-tabs button{font-size:.78rem;padding-left:0;padding-right:0}}@media (max-height: 520px) and (min-width: 560px){.buddy-screen{grid-template-columns:minmax(0,1fr) minmax(250px,42%);grid-template-rows:auto auto minmax(0,1fr)}.buddy-hud{grid-column:1 / -1;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:0}.buddy-meters{grid-column:1;grid-template-columns:1fr 1fr}.buddy-floor{grid-column:1;grid-row:3;padding-top:2px}.tray{grid-column:2;grid-row:2 / 4;display:flex;flex-direction:column;min-height:0}.tray-strip{flex:1;min-height:0;flex-wrap:wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;scroll-snap-type:none;-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),transparent);mask-image:linear-gradient(#000 calc(100% - 26px),transparent)}.tray-strip:after{display:none}.tray-item{width:calc((100% - 21px) / 3);touch-action:pan-y}.tray-tabs button{font-size:.78rem;padding:7px 0}}.fx-bit{transform-box:fill-box;transform-origin:50% 50%;animation:fx-twinkle 1.7s ease-in-out infinite}.fx-flame .fx-bit,.fx-bubbles .fx-bit,.fx-hearts .fx-bit{animation:fx-rise 2.6s linear infinite}.fx-snow .fx-bit,.fx-leaves .fx-bit{animation:fx-fall 3.2s linear infinite}.fx-lightning .fx-bit{animation:fx-flash 1.9s steps(1) infinite}@keyframes fx-twinkle{0%,to{transform:scale(.2) rotate(0);opacity:0}50%{transform:scale(1.15) rotate(45deg);opacity:1}}@keyframes fx-rise{0%{transform:translateY(260%) scale(.4);opacity:0}25%{opacity:1}to{transform:translateY(-320%) scale(1.1);opacity:0}}@keyframes fx-fall{0%{transform:translate(-80%,-320%) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(80%,320%) rotate(220deg);opacity:0}}@keyframes fx-flash{0%,22%,30%,to{opacity:0}10%,26%{opacity:1}}.buddy-screen{grid-template-columns:minmax(0,1fr)}.tray,.tray-strip{min-width:0;max-width:100%}.buddy-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.park-link{background:#0f5c4b;color:#d5ffef;text-decoration:none}.trade-toggle{background:var(--stage-2);color:#fff;box-shadow:0 4px #0d0a29;border:2px dashed var(--stage-line)}.trade-toggle small{color:#b8b3ea}.trade-toggle.on{background:var(--rose);border-color:transparent;outline:none}.trade-toggle.on small{color:#ffe0ea}.hatch-card .muted{max-width:34ch;font-size:.95rem}@media (max-width: 560px){.buddy-chips{grid-column:1 / -1}}.play{position:fixed;top:0;right:0;bottom:0;left:0;z-index:780;background:linear-gradient(#2a2470,var(--stage) 70%);color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;animation:fade .2s}.play-arena{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:ew-resize}.play-ground{position:absolute;top:86%;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,var(--stage-2) 0 14px,var(--stage-line) 14px 28px);border-top:3px solid var(--mint)}.play-score{position:absolute;top:max(14px,env(safe-area-inset-top));left:0;right:0;display:grid;justify-items:center;pointer-events:none}.play-score b{font:800 clamp(3rem,14vw,5.5rem) / 1 var(--display);color:var(--sun);text-shadow:0 4px 0 rgba(13,10,41,.5)}.play-score span{color:#c9c5ff;font-weight:600}.play-buddy{position:absolute;aspect-ratio:1 / 1.2;transform:translate(-50%);pointer-events:none}.play-pet{width:100%;height:100%}.play-toy{position:absolute;line-height:1;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(13,10,41,.5))}.play-card{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(88%,400px);display:grid;justify-items:center;gap:8px;padding:24px 22px;border-radius:26px;background:var(--card);color:var(--ink);text-align:center;cursor:default;animation:pop .35s var(--pop)}.play-card p{color:var(--muted)}.play-icon{font-size:3.6rem;line-height:1}.play-kicker{font:700 1.1rem var(--display);color:var(--cobalt-deep)!important}.play-total{font:800 4.5rem/1 var(--display);color:var(--sun-deep)}.play-card .btn-ghost-light{--face: var(--paper);--edge: var(--line);color:var(--ink);border:0}.park{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;user-select:none;-webkit-user-select:none;--sky-a: #7fd0ff;--sky-b: #e6f8ff;--hill: #8fdcae;--grass-a: #57cf8c;--grass-b: #2fae6e}.park.night{--sky-a: #17123f;--sky-b: #3f3795;--hill: #2f2a78;--grass-a: #2c6e63;--grass-b: #1d4d4a}.park-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70px 24px at 70px 30px,rgba(255,255,255,.85) 98%,transparent) 4% 10% / 460px 64px repeat-x,radial-gradient(46px 16px at 46px 20px,rgba(255,255,255,.6) 98%,transparent) 40% 24% / 360px 44px repeat-x,linear-gradient(var(--sky-a),var(--sky-b) 62%)}.park.night .park-sky{background:radial-gradient(2px 2px at 30px 20px,#fff 98%,transparent) 0 0 / 140px 80px repeat,radial-gradient(1.5px 1.5px at 90px 50px,#c9c5ff 98%,transparent) 0 0 / 190px 110px repeat,linear-gradient(var(--sky-a),var(--sky-b) 62%)}.park-hills{position:absolute;inset:auto 0 44% 0;height:22%;background:radial-gradient(ellipse 50% 100% at 50% 100%,var(--hill) 99%,transparent) 0 100% / 340px 100% repeat-x}.park-field{position:absolute;top:54%;right:0;bottom:0;left:0;background:linear-gradient(var(--grass-a),var(--grass-b))}.park-hud{position:absolute;inset:max(12px,env(safe-area-inset-top)) 16px auto 16px;z-index:200;display:flex;align-items:center;gap:12px;color:var(--ink)}.park.night .park-hud{color:#fff}.park-hud b{display:block;font:800 1.4rem var(--display)}.park-hud span{font-weight:600;opacity:.8}.park-note{position:absolute;inset:76px 16px auto 16px;z-index:200;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;padding:8px 16px;border-radius:99px;background:#ffffffe6;color:var(--ink);font-weight:600;text-align:center;animation:rise .5s ease-out .6s backwards}.park-buddy{--near: 1;position:absolute;width:calc(clamp(84px,19vmin,190px) * var(--near));transform:translate(-50%);cursor:pointer}.park-figure{aspect-ratio:1 / 1.2;transform-origin:50% 90%}.park-buddy[data-face=left] .park-figure{transform:scaleX(-1)}.park-buddy.walking .park-pet{animation:park-walk .36s ease-in-out infinite alternate;transform-origin:50% 90%}.park-buddy.hopping .park-pet{animation:park-hop .3s ease-out infinite alternate}.park-pet{width:100%;height:100%}.park-say,.park-name{position:absolute;left:50%;bottom:96%;z-index:2;transform:translate(-50%);padding:4px 10px;border-radius:14px;background:#fff;color:var(--ink);white-space:nowrap;pointer-events:none;animation:pop .3s var(--pop)}.park-say{font-size:calc(1.3rem * var(--near));line-height:1.2}.park-name{bottom:calc(96% + 2.4em);display:grid;justify-items:center;font:750 .95rem var(--display)}.park-name small{color:var(--muted);font:500 .75rem var(--body)}@keyframes park-walk{to{transform:translateY(-5%) rotate(4deg)}}@keyframes park-hop{to{transform:translateY(-22%)}}b.pet-name{display:block;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hatching{--glow: #8ff5d2;position:fixed;top:0;right:0;bottom:0;left:0;z-index:860;display:grid;place-items:center;padding:20px;background:#0d0a29f2;color:#fff;text-align:center;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation;animation:fade .3s}.hatching.rarity-rare{--glow: #8f9bff}.hatching.rarity-epic{--glow: #ffc533}.hatching-rays{position:absolute;inset:50% auto auto 50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;background:repeating-conic-gradient(rgba(255,255,255,.07) 0 8deg,transparent 8deg 16deg);-webkit-mask-image:radial-gradient(circle,#000 0,transparent 44%);mask-image:radial-gradient(circle,#000 0,transparent 44%);animation:spin 18s linear infinite}.hatching.phase-reveal .hatching-rays{background:repeating-conic-gradient(color-mix(in srgb,var(--glow) 30%,transparent) 0 8deg,transparent 8deg 16deg);animation-duration:9s}.hatching-stage{position:relative;display:grid;justify-items:center;gap:10px;width:min(100%,480px)}.hatching-title{font:800 clamp(1.5rem,6vw,2.3rem) var(--display);color:var(--sun);animation:rise .35s ease-out}.hatching-hint{min-height:1.6em;color:#c9c5ff;font-weight:700;letter-spacing:1px}.hatching-egg{border:0;background:none;padding:0;cursor:pointer;transform-origin:50% 88%;animation:egg-shake .9s ease-in-out infinite}.hatching-egg:focus-visible{outline:none}.hatching-egg.taps-1{animation-duration:.6s}.hatching-egg.taps-2{animation-duration:.4s}.hatching-egg.taps-3{animation-duration:.24s}.hatching-bounce{display:block;transform-origin:50% 90%;animation:egg-hit .38s var(--pop)}.hatching.phase-burst .hatching-egg{animation:egg-pop .5s ease-in forwards}.hatching-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;animation:egg-flash .55s ease-out forwards;pointer-events:none}.hatching-buddy{filter:drop-shadow(0 0 26px var(--glow));animation:evolve-burst .9s var(--pop)}.hatching.phase-shadow .hatching-buddy{filter:brightness(0) drop-shadow(0 0 22px #fff);animation:shadow-tease 1.6s ease-in-out}.hatching-card{display:grid;justify-items:center;gap:4px;animation:rise .5s ease-out .25s backwards}.hatching-card h2{font-size:clamp(2.2rem,9vw,3.4rem)}.hatching-card>p{color:#c9c5ff;font-weight:600;font-size:1.1rem}.hatching-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:8px;margin:6px 0 4px}.tag{padding:3px 12px;border-radius:99px;background:var(--stage-line);font-size:.85rem;font-weight:700}.tag.new{background:var(--glow);color:var(--stage)}@keyframes egg-shake{0%,to{transform:rotate(0)}15%{transform:rotate(-9deg) translate(-3%)}30%{transform:rotate(8deg) translate(3%)}45%{transform:rotate(-6deg)}60%{transform:rotate(5deg) translateY(-3%)}75%{transform:rotate(-2deg)}}@keyframes egg-hit{0%{transform:scale(1.25,.72)}45%{transform:scale(.88,1.16) translateY(-12%)}}@keyframes egg-pop{40%{transform:scale(1.35);filter:brightness(3);opacity:1}to{transform:scale(2.2);filter:brightness(6);opacity:0}}@keyframes egg-flash{0%{opacity:0}35%{opacity:1}to{opacity:0}}@keyframes shadow-tease{0%{transform:scale(.2);opacity:0}30%{transform:scale(1.05) rotate(-4deg);opacity:1}60%{transform:scale(1) rotate(4deg)}to{transform:scale(1.1) rotate(0)}}
