:root{--p1:#262b8c;--p2:#1d2170;--pe:#3d44b8;--b1:#3b41c4;--b2:#2c319b;--be:#5860e6;--bs:#1a1d5e;--acc:#ffd23f;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}:root[data-palette=warm]{--p1:#5b3370;--p2:#43265a;--pe:#a9639f;--b1:#6a3c78;--b2:#522d63;--be:#c57fb0;--bs:#2a1438;--acc:#ffb347}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#1b1f6b;height:100%;margin:0;overflow:hidden}#app{box-sizing:border-box;height:100dvh;padding:var(--sat) var(--sar) var(--sab) var(--sal);place-items:center;display:grid;position:fixed;inset:0}#stage{width:min(calc(100vw - var(--sal) - var(--sar)), calc((100dvh - var(--sat) - var(--sab)) * 340 / 480));aspect-ratio:340/480;touch-action:none;position:relative}#game{position:absolute;inset:0}#game canvas{touch-action:none;display:block;width:100%!important;height:100%!important}#ui{pointer-events:none;position:absolute;inset:0}#ui .interactive{pointer-events:auto}#stage{container-type:inline-size}#ui{--u:calc(100cqw / 340);color:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.hud{height:calc(var(--u) * 96);box-sizing:border-box;padding:calc(var(--u) * 6) calc(var(--u) * 6) calc(var(--u) * 6);gap:calc(var(--u) * 6);align-items:stretch;display:flex;position:absolute;top:0;left:0;right:0}.hud>div{background:linear-gradient(180deg, var(--p1), var(--p2));border-radius:calc(var(--u) * 14);box-shadow:inset 0 0 0 calc(var(--u) * 1.5) var(--pe), 0 calc(var(--u) * 2) calc(var(--u) * 4) #08062880}.hud-moves{width:calc(var(--u) * 52);flex-direction:column;justify-content:center;align-items:center;display:flex}.hud-moves .swap-ico{width:calc(var(--u) * 20);height:calc(var(--u) * 20);color:var(--acc);display:block}.hud-moves .swap-ico svg,.tog svg{width:100%;height:100%;display:block}.hud-moves b{font-size:calc(var(--u) * 24);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.hud-moves.low b{color:#ffd23f}:root[data-lowmoves="0"] .hud-moves.low b{color:inherit}.hud-goals{padding:0 calc(var(--u) * 4);flex:1;justify-content:space-evenly;align-items:center;display:flex}.goal{--iw:calc(var(--u) * 40);width:var(--iw);height:var(--iw);position:relative}.goal .ico{width:var(--iw);height:var(--iw);display:block}.goal .badge{right:calc(var(--u) * -6);bottom:calc(var(--u) * -4);min-width:calc(var(--u) * 24);height:calc(var(--u) * 22);box-sizing:border-box;padding:0 calc(var(--u) * 4);border-radius:calc(var(--u) * 11);color:#fff;border:calc(var(--u) * 2) solid #fff;font-size:calc(var(--u) * 13);line-height:calc(var(--u) * 14);text-align:center;background:#10124a;place-items:center;font-weight:800;display:grid;position:absolute}.goal.done .badge{color:#063b1f;background:#3ddc84;border-color:#eafff3}.hud-pic{width:calc(var(--u) * 50);padding:calc(var(--u) * 4);box-sizing:border-box;gap:calc(var(--u) * 4);flex-direction:column;display:flex}.hud-pic .thumb{border-radius:calc(var(--u) * 8);box-shadow:0 0 0 calc(var(--u) * 1.5) #f4b62a;background-position:50%;background-size:cover;flex:1}.hud-pic .bar{height:calc(var(--u) * 7);border-radius:calc(var(--u) * 4);background:#12144a;position:relative;overflow:visible}.hud-pic .bar i{border-radius:calc(var(--u) * 4);background:linear-gradient(90deg,#ffe27e,#f4b62a);width:0;height:100%;transition:width .35s ease-out;display:block}.hud-pic .bar .mark{top:calc(var(--u) * -2);bottom:calc(var(--u) * -2);width:calc(var(--u) * 2);margin-left:calc(var(--u) * -1);opacity:.7;background:#fff;position:absolute}.hud-pic.done .bar i{background:#3ddc84}.hud-tog{width:calc(var(--u) * 30);flex-direction:column;justify-content:space-between;display:flex;box-shadow:none!important;background:0 0!important}.tog{pointer-events:auto;width:calc(var(--u) * 30);height:calc(var(--u) * 30);padding:calc(var(--u) * 6);box-sizing:border-box;background:var(--p1);color:var(--acc);box-shadow:inset 0 0 0 calc(var(--u) * 1.5) var(--pe);cursor:pointer;border:0;border-radius:50%;position:relative}.tog:after{content:"";inset:calc(var(--u) * -13);position:absolute}.tog.off{color:#8288d8}.tog.off:before{content:"";left:20%;right:20%;top:calc(50% - var(--u) * 1);height:calc(var(--u) * 2);background:#ff5f7a;border-radius:2px;position:absolute;transform:rotate(-45deg)}.bump{animation:.28s ease-out bump}@media (prefers-reduced-motion:reduce){.bump{animation:none}.hud-pic .bar i,.hint-btn,.hint-dots i{transition:none}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.overlay{background:#0e0a3c8c;place-items:center;animation:.3s ease-out fade;display:grid;position:absolute;inset:0}.overlay .card{text-align:center;padding:calc(var(--u) * 22) calc(var(--u) * 30);border-radius:calc(var(--u) * 22);background:linear-gradient(180deg, var(--b1), var(--p2));box-shadow:inset 0 0 0 calc(var(--u) * 2) #f4b62a, 0 calc(var(--u) * 8) calc(var(--u) * 24) #00000080}.overlay h2{margin:0 0 calc(var(--u) * 16);font-size:calc(var(--u) * 28);font-weight:800}.overlay .again{font:inherit;font-size:calc(var(--u) * 20);color:#3a2600;padding:calc(var(--u) * 14) calc(var(--u) * 36);border-radius:calc(var(--u) * 24);box-shadow:0 calc(var(--u) * 3) 0 #c2830a;cursor:pointer;min-height:calc(var(--u) * 64);min-width:calc(var(--u) * 160);background:linear-gradient(#ffe27e,#f4b62a);border:0;font-weight:800}.cv-title:empty,.fn-title:empty{display:none}#ui button:focus-visible,#ui [role=button]:focus-visible{outline:calc(var(--u) * 3) solid #fff;outline-offset:calc(var(--u) * 2);box-shadow:0 0 0 calc(var(--u) * 6) #ffd23f}#ui button:focus:not(:focus-visible){outline:none}@keyframes fade{0%{opacity:0}to{opacity:1}}.msg{z-index:70;padding:calc(var(--u) * 20);text-align:center;font-size:calc(var(--u) * 16);pointer-events:auto;background:#1b1f6b;place-items:center;display:grid;position:absolute;inset:0}.msg-card h2{margin:0 0 calc(var(--u) * 8);font-size:calc(var(--u) * 26);font-weight:800}.msg-card p{margin:0 0 calc(var(--u) * 18);font-size:calc(var(--u) * 18);color:#ffe27e;font-weight:700}.msg-retry{font:inherit;font-size:calc(var(--u) * 24);color:#3a2600;min-height:calc(var(--u) * 72);min-width:calc(var(--u) * 200);padding:0 calc(var(--u) * 28);border-radius:calc(var(--u) * 36);box-shadow:0 calc(var(--u) * 4) 0 #c2830a;cursor:pointer;background:linear-gradient(#ffe27e,#f4b62a);border:0;font-weight:900}.msg-dev{margin:calc(var(--u) * 12) 0 0;font:calc(var(--u) * 10) ui-monospace, Menlo, monospace;white-space:pre-wrap;color:#cfe}.devpanel{left:max(4px, var(--sal));bottom:max(4px, var(--sab));color:#cfe;z-index:9;pointer-events:none;white-space:pre-wrap;background:#0009;border-radius:6px;max-width:46vw;padding:4px 6px;font:10px/1.35 ui-monospace,Menlo,monospace;position:fixed}.devpanel button{pointer-events:auto;font:inherit;margin:0 1px;padding:1px 5px}.devpanel button.on{background:#ffd23f}.devpanel .ab-row{margin-top:2px}.overlay.won{padding-bottom:calc(var(--u) * 24);background:linear-gradient(#0e0a3c00 40%,#0e0a3c8c);place-items:end center}.overlay.won .card{padding:calc(var(--u) * 12) calc(var(--u) * 26)}.overlay.won h2{margin-bottom:calc(var(--u) * 8)}.picker{box-sizing:border-box;pointer-events:auto;padding-bottom:calc(var(--u) * 12);background:radial-gradient(120% 70% at 50% 0,#3a3fc4 0%,#23277e 55%,#1b1f6b 100%);flex-direction:column;animation:.25s ease-out fade;display:flex;position:absolute;inset:0}.pk-top{height:calc(var(--u) * 64);padding:0 calc(var(--u) * 8);flex:none;align-items:center;display:flex}.pk-back{width:calc(var(--u) * 52);height:calc(var(--u) * 52);padding:calc(var(--u) * 12);box-sizing:border-box;color:#ffd23f;box-shadow:inset 0 0 0 calc(var(--u) * 2) #4a52d6;cursor:pointer;background:#2f35a8;border:0;border-radius:50%;position:relative}.pk-back:after{content:"";inset:calc(var(--u) * -10);position:absolute}.pk-back svg{width:100%;height:100%;display:block}.pk-back:disabled{opacity:0;pointer-events:none}.pk-dots{justify-content:center;gap:calc(var(--u) * 9);margin-right:calc(var(--u) * 52);flex:1;display:flex}.pk-dots i{width:calc(var(--u) * 11);height:calc(var(--u) * 11);background:#4a52d6;border-radius:50%;transition:transform .2s,background .2s}.pk-dots i.done{background:#ffd23f}.pk-dots i.cur{background:#fff;transform:scale(1.35)}.pk-title{text-align:center;font-size:calc(var(--u) * 28);padding:calc(var(--u) * 2) 0 calc(var(--u) * 10);text-shadow:0 calc(var(--u) * 2) 0 #00000040;flex:none;margin:0;font-weight:800;line-height:1.1}.pk-body{gap:calc(var(--u) * 10);padding:0 calc(var(--u) * 14);flex:1;place-content:center;min-height:0;display:grid}.pk-opt{font:inherit;color:#fff;cursor:pointer;box-sizing:border-box;border-radius:calc(var(--u) * 22);box-shadow:inset 0 0 0 calc(var(--u) * 2.5) #5860e6, 0 calc(var(--u) * 4) 0 #1a1d5e;background:linear-gradient(#3b41c4,#2c319b);border:0;padding:0;transition:transform .12s;position:relative}.pk-opt:active{transform:translateY(calc(var(--u) * 2)) scale(.97)}.pk-opt.sel{box-shadow:inset 0 0 0 calc(var(--u) * 4) #ffd23f, 0 calc(var(--u) * 4) 0 #1a1d5e;background:linear-gradient(#4a52d6,#353bb0)}.pk-opt.pop{animation:.24s ease-out pkpop}@keyframes pkpop{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}.pk-hero{grid-template-columns:repeat(3, calc(var(--u) * 102));gap:calc(var(--u) * 8)}.pk-hero .hero{height:calc(var(--u) * 220);justify-content:center;align-items:center;gap:calc(var(--u) * 6);flex-direction:column;display:flex}.pk-hero .sticker svg{width:calc(var(--u) * 90);height:calc(var(--u) * 90);filter:drop-shadow(0 calc(var(--u) * 3) 0 #0000004d);display:block}.pk-hero .name{font-size:calc(var(--u) * 23);font-weight:800}.pk-resume{margin:calc(var(--u) * 14) auto 0;font:inherit;color:#3a2600;cursor:pointer;min-height:calc(var(--u) * 72);padding:0 calc(var(--u) * 26);border-radius:calc(var(--u) * 36);box-shadow:0 calc(var(--u) * 4) 0 #c2830a;align-items:center;gap:calc(var(--u) * 10);font-size:calc(var(--u) * 22);background:linear-gradient(#ffe27e,#f4b62a);border:0;flex:none;font-weight:800;display:flex}.pk-resume .ico{width:calc(var(--u) * 28);height:calc(var(--u) * 28);display:block}.pk-resume svg{width:100%;height:100%;display:block}.pk-theme{grid-template-columns:repeat(2, calc(var(--u) * 150))}.pk-theme .theme{height:calc(var(--u) * 220);justify-content:center;align-items:center;gap:calc(var(--u) * 8);flex-direction:column;display:flex}.pk-theme .ico{width:calc(var(--u) * 96);height:calc(var(--u) * 96);filter:drop-shadow(0 calc(var(--u) * 4) calc(var(--u) * 3) #00000059);display:block}.pk-theme .cap,.pk-age .cap{font-size:calc(var(--u) * 22);font-weight:800}.pk-color{grid-template-columns:repeat(3, calc(var(--u) * 92));gap:calc(var(--u) * 16)}.pk-color .color{width:calc(var(--u) * 92);height:calc(var(--u) * 92);background:var(--c);box-shadow:inset 0 calc(var(--u) * -6) 0 #0000002e, inset 0 0 0 calc(var(--u) * 3) #ffffffd9, 0 calc(var(--u) * 4) 0 #1a1d5e;border-radius:50%}.pk-color .color.sel{box-shadow:inset 0 calc(var(--u) * -6) 0 #0000002e, 0 0 0 calc(var(--u) * 5) #fff, 0 0 0 calc(var(--u) * 9) #ffd23f}.pk-color .chk{inset:calc(var(--u) * 24);opacity:0;transition:opacity .12s;position:absolute}.pk-color .sel .chk{opacity:1}.pk-color .chk svg{width:100%;height:100%;display:block}.pk-number{grid-template-columns:repeat(2, calc(var(--u) * 136));gap:calc(var(--u) * 14)}.pk-number .number{height:calc(var(--u) * 136);font-size:calc(var(--u) * 64);font-weight:900}.pk-phrase{grid-template-columns:calc(var(--u) * 312);gap:calc(var(--u) * 10)}.pk-phrase .phrase{height:calc(var(--u) * 74);font-size:calc(var(--u) * 26);border-radius:calc(var(--u) * 26) calc(var(--u) * 26) calc(var(--u) * 26) calc(var(--u) * 8);font-weight:800}.pk-age{grid-template-columns:repeat(2, calc(var(--u) * 150))}.pk-age .age{height:calc(var(--u) * 220);justify-content:center;align-items:center;gap:calc(var(--u) * 14);flex-direction:column;display:flex}.pk-age .glyph svg{height:calc(var(--u) * 84);opacity:.95;width:auto;display:block}@media (prefers-reduced-motion:reduce){.pk-opt.pop,.picker{animation:none}}.sticker{display:block}.sticker img,.sticker svg{object-fit:contain;width:100%;height:100%;display:block}.sticker.frame{width:var(--iw);height:var(--iw)}.hud>.hud-hint{width:calc(var(--u) * 64);box-shadow:none;justify-content:center;align-items:center;gap:calc(var(--u) * 5);background:0 0;flex-direction:column;display:flex}.hint-btn{pointer-events:auto;width:calc(var(--u) * 62);height:calc(var(--u) * 62);padding:calc(var(--u) * 4);box-sizing:border-box;cursor:pointer;background:linear-gradient(180deg, var(--b1), var(--b2));box-shadow:inset 0 0 0 calc(var(--u) * 3) var(--acc), 0 calc(var(--u) * 3) 0 var(--bs);border:0;border-radius:50%;transition:filter .2s;position:relative}.hint-btn:after{content:"";inset:calc(var(--u) * -4);position:absolute}.hint-btn:active{transform:translateY(calc(var(--u) * 2)) scale(.96)}.hint-btn.spent{filter:grayscale(.75)opacity(.65)}.hint-sticker{width:100%;height:100%}.hint-dots{gap:calc(var(--u) * 7);height:calc(var(--u) * 10);display:flex}.hint-dots i{width:calc(var(--u) * 10);height:calc(var(--u) * 10);box-shadow:inset 0 0 0 calc(var(--u) * 1.5) var(--pe);background:#12144a;border-radius:50%;transition:background .25s}.hint-dots i.on{background:var(--acc);box-shadow:0 0 calc(var(--u) * 5) #ffd23fcc}.goal.with-us .ico{filter:drop-shadow(0 0 calc(var(--u) * 4) #ffe27ee6)}.bubble{z-index:6;width:max-content;max-width:calc(var(--u) * 250);box-sizing:border-box;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 8) calc(var(--u) * 14) calc(var(--u) * 8) calc(var(--u) * 8);border-radius:calc(var(--u) * 22);color:#231a6b;pointer-events:none;box-shadow:inset 0 0 0 calc(var(--u) * 2.5) #f4b62a, 0 calc(var(--u) * 4) 0 #0a083273;animation:.3s ease-out both bubble,.16s ease-in both bubble-out;animation-delay:0s, var(--bout,3.2s);background:#fff;display:flex;position:absolute;transform:translate(-50%,-50%)}.bubble .b-sticker{width:calc(var(--u) * 46);height:calc(var(--u) * 46);flex:none}.bubble .b-text{gap:calc(var(--u) * 1);flex-direction:column;min-width:0;display:flex}.bubble small{font-size:calc(var(--u) * 13);color:#3d3399;font-weight:800}.bubble span{font-size:calc(var(--u) * 17);font-weight:800;line-height:1.12}.bubble.blink span,.bubble.pet-say span{white-space:nowrap}.bubble.pet-say{padding:calc(var(--u) * 5) calc(var(--u) * 12) calc(var(--u) * 5) calc(var(--u) * 5)}.bubble.pet-say .b-sticker{width:calc(var(--u) * 30);height:calc(var(--u) * 30)}.bubble.pet-say span{font-size:calc(var(--u) * 15)}.bubble[data-tail=down]:after{content:"";left:calc(50% + var(--tail-dx,0px));bottom:calc(var(--u) * -9);margin-left:calc(var(--u) * -9);border:calc(var(--u) * 9) solid transparent;border-top-color:#fff;border-bottom:0;position:absolute}.bubble.blink:before{content:"";inset:calc(var(--u) * -5);border-radius:inherit;pointer-events:none;box-shadow:0 0 calc(var(--u) * 10) calc(var(--u) * 3) #ffd23ff2;animation:.9s ease-in-out infinite bubbleglow;position:absolute}@keyframes bubble{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}40%{opacity:1;transform:translate(-50%,-50%)scale(1.07)}70%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes bubble-out{0%{opacity:1}to{opacity:0}}@keyframes bubbleglow{0%,to{opacity:0}50%{opacity:1}}@keyframes bubble-rm{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.bubble{animation-name:bubble-rm,bubble-out}.bubble.blink:before{opacity:1;animation:none}.numstar{animation-name:fade}}.numstar{z-index:6;width:calc(var(--u) * 150);height:calc(var(--u) * 150);margin:calc(var(--u) * -75) 0 0 calc(var(--u) * -75);pointer-events:none;filter:drop-shadow(0 0 calc(var(--u) * 14) #ffd23fe6);animation:1.9s ease-out both numstar;position:absolute}.numstar svg{width:100%;height:100%;display:block}.numstar b{padding-top:calc(var(--u) * 8);font-size:calc(var(--u) * 60);color:#7a4b00;text-shadow:0 calc(var(--u) * 2) 0 #ffffffb3;place-items:center;font-weight:900;display:grid;position:absolute;inset:0}@keyframes numstar{0%{opacity:0;transform:scale(.2)rotate(-25deg)}18%{opacity:1;transform:scale(1.3)rotate(6deg)}30%{transform:scale(1)rotate(0)}78%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.25)}}.flyspark{z-index:7;width:calc(var(--u) * 20);height:calc(var(--u) * 20);margin:calc(var(--u) * -10) 0 0 calc(var(--u) * -10);pointer-events:none;background:radial-gradient(circle,#fff 0,#ffe27e 35%,#ffd23f00 70%);border-radius:50%;position:absolute}.cjump{z-index:6;width:calc(var(--u) * 64);height:calc(var(--u) * 64);pointer-events:none;position:absolute}.cjump .sticker{width:100%;height:100%}.cover{z-index:20;background:radial-gradient(110% 70% at 50% 15%,#4a50d6 0%,#23277e 60%,#1b1f6b 100%);place-items:center;transition:opacity .3s;animation:.3s ease-out fade;display:grid;position:absolute;inset:0;overflow:hidden}.cover.leaving{opacity:0;pointer-events:none}.cv-star{width:calc(var(--u) * 7);height:calc(var(--u) * 7);opacity:.5;background:#ffe27e;border-radius:50%;animation:2.4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{50%{opacity:1;transform:scale(1.6)}}.cv-card{width:calc(var(--u) * 280);box-sizing:border-box;padding:calc(var(--u) * 20) calc(var(--u) * 16) calc(var(--u) * 22);border-radius:calc(var(--u) * 32);text-align:center;background:linear-gradient(180deg, var(--b1), var(--p2));box-shadow:inset 0 0 0 calc(var(--u) * 4) #f4b62a, 0 calc(var(--u) * 10) calc(var(--u) * 30) #00000080;align-items:center;gap:calc(var(--u) * 6);flex-direction:column;animation:.55s cubic-bezier(.2,1.3,.4,1) cardin;display:flex;position:relative}.cv-portrait{width:calc(var(--u) * 176);height:calc(var(--u) * 176);filter:drop-shadow(0 calc(var(--u) * 5) 0 #0000004d)}.cv-name{margin:calc(var(--u) * 4) 0 0;font-size:calc(var(--u) * 42);text-shadow:0 calc(var(--u) * 3) 0 #0000004d;overflow-wrap:anywhere;font-weight:900;line-height:1.05}.cv-title{margin:0 0 calc(var(--u) * 10);font-size:calc(var(--u) * 19);color:#ffe27e;font-weight:700}.cv-play,.fn-btn{font:inherit;cursor:pointer;min-height:calc(var(--u) * 76);min-width:calc(var(--u) * 220);padding:0 calc(var(--u) * 30);border-radius:calc(var(--u) * 38);font-size:calc(var(--u) * 30);border:0;font-weight:900}.cv-play,.fn-btn.primary{color:#3a2600;box-shadow:0 calc(var(--u) * 5) 0 #c2830a;background:linear-gradient(#ffe27e,#f4b62a)}.fn-btn.secondary{color:#fff;font-size:calc(var(--u) * 22);background:linear-gradient(180deg, var(--b1), var(--b2));box-shadow:inset 0 0 0 calc(var(--u) * 3) var(--be), 0 calc(var(--u) * 4) 0 var(--bs)}.cv-play:active,.fn-btn:active{transform:translateY(calc(var(--u) * 3))}@keyframes cardin{0%{opacity:0;transform:scale(.7) translateY(calc(var(--u) * 30))}to{opacity:1;transform:none}}.finale{z-index:10;justify-content:center;align-items:center;gap:calc(var(--u) * 16);background:#0e0a3c8c;flex-direction:column;animation:.4s ease-out fade;display:flex;position:absolute;inset:0;overflow:hidden}.finale[data-step=planet]{background:linear-gradient(#0e0a3c40 0%,#0e0a3c80 55%,#0e0a3ccc 100%)}.finale .tw{width:calc(var(--u) * 10);height:calc(var(--u) * 10);background:radial-gradient(circle,#fff 0,#ffe27e 40%,#0000 70%);border-radius:50%;animation:1.6s ease-in-out infinite twinkle;position:absolute}.fn-planet{text-align:center;padding:0 calc(var(--u) * 16);animation:.7s cubic-bezier(.2,1.3,.4,1) cardin;position:relative}.fn-planet small{font-size:calc(var(--u) * 26);color:#ffe27e;letter-spacing:calc(var(--u) * 6);display:block}.fn-planet-name{margin:calc(var(--u) * 6) 0 0;font-size:calc(var(--u) * 46);color:#fff3b0;overflow-wrap:anywhere;text-shadow:0 calc(var(--u) * 3) 0 #b8790a, 0 0 calc(var(--u) * 22) #ffd23fe6, 0 calc(var(--u) * 6) calc(var(--u) * 12) #0009;font-weight:900;line-height:1.05}.fn-next{bottom:calc(var(--u) * 26);position:absolute}.fn-card{width:calc(var(--u) * 250);box-sizing:border-box;padding:calc(var(--u) * 18) calc(var(--u) * 14) calc(var(--u) * 20);text-align:center;color:#3a2600;border-radius:calc(var(--u) * 26);box-shadow:inset 0 0 0 calc(var(--u) * 5) #f4b62a, 0 calc(var(--u) * 10) calc(var(--u) * 26) #0000008c;background:linear-gradient(#fff9e6,#ffe9a8);animation:.6s cubic-bezier(.2,1.3,.4,1) cardin}.fn-portrait{width:calc(var(--u) * 150);height:calc(var(--u) * 150);margin:0 auto}.fn-name{margin:calc(var(--u) * 6) 0 0;font-size:calc(var(--u) * 36);overflow-wrap:anywhere;font-weight:900;line-height:1.05}.fn-title{margin:calc(var(--u) * 4) 0 0;font-size:calc(var(--u) * 19);color:#8a5a00;font-weight:800}.fn-letter{align-items:center;gap:calc(var(--u) * 14);flex-direction:column;animation:.5s ease-out cardin;display:flex}.fn-lt{font-size:calc(var(--u) * 30);text-shadow:0 calc(var(--u) * 2) 0 #0000004d;margin:0;font-weight:900}.fn-envelope{pointer-events:auto;width:calc(var(--u) * 190);height:calc(var(--u) * 133);cursor:pointer;filter:drop-shadow(0 calc(var(--u) * 6) calc(var(--u) * 6) #0006);background:0 0;border:0;padding:0;animation:1.6s ease-in-out infinite bob}.fn-envelope svg{width:100%;height:100%;display:block}.fn-hint{font-size:calc(var(--u) * 20);color:#ffe27e;font-weight:800}@keyframes bob{50%{transform:translateY(calc(var(--u) * -6))}}.fn-paper{width:calc(var(--u) * 290);box-sizing:border-box;padding:calc(var(--u) * 18) calc(var(--u) * 20);border-radius:calc(var(--u) * 16);color:#3a2600;text-align:left;box-shadow:inset 0 0 0 calc(var(--u) * 3) #f4b62a, 0 calc(var(--u) * 10) calc(var(--u) * 24) #00000080;background:#fff6dd}.fn-paper small{font-size:calc(var(--u) * 15);color:#8a5a00;margin-bottom:calc(var(--u) * 6);font-weight:800;display:block}.fn-paper p{font-size:calc(var(--u) * 20);margin:0;font-weight:600;line-height:1.3}@media (prefers-reduced-motion:reduce){.cv-card,.fn-card,.fn-planet,.fn-envelope,.cv-star,.finale .tw{animation-duration:10ms!important;animation-iteration-count:1!important}}.gcard{--cw:calc(var(--u) * 200);width:var(--cw);height:calc(var(--cw) * 1.4);color:#fff;-webkit-user-select:none;user-select:none;flex:none;position:relative}.gcard.md{--cw:calc(var(--u) * 132)}.gcard.sm{--cw:calc(var(--u) * 100)}.gcard.holo{touch-action:none;cursor:grab}.gc-tilt{border-radius:calc(var(--cw) * .09);transform:perspective(calc(var(--cw) * 4.5)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 calc(var(--cw) * .07) calc(var(--cw) * .14) #050228b3;transition:transform .28s ease-out;position:absolute;inset:0}.gcard.active .gc-tilt{transition:none}.gc-frame{box-sizing:border-box;padding:calc(var(--cw) * .04);border-radius:inherit;background:var(--frame);position:absolute;inset:0}.gc-face{border-radius:calc(var(--cw) * .062);background:#161250;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.gc-art{background:var(--neb);flex:none;place-items:center;height:64%;display:grid;position:relative;overflow:hidden}.gc-meta{box-sizing:border-box;justify-content:center;align-items:center;gap:calc(var(--cw) * .02);min-height:0;padding:calc(var(--cw) * .02) calc(var(--cw) * .05) calc(var(--cw) * .035);text-align:center;background:linear-gradient(#1a1560,#0f0c3a);flex-direction:column;flex:1;display:flex}.gc-name{max-width:100%;font-size:calc(var(--cw) * .105);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 calc(var(--cw) * .01) 0 #00000059;font-weight:900;line-height:1.15;overflow:hidden}.gc-name.long{font-size:calc(var(--cw) * .082)}.gc-sub{max-width:100%;font-size:calc(var(--cw) * .056);color:#c9c4ff;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.gc-rar{align-items:center;gap:calc(var(--cw) * .03);padding:calc(var(--cw) * .014) calc(var(--cw) * .04) calc(var(--cw) * .014) calc(var(--cw) * .025);background:var(--pill);color:var(--pill-ink);margin-top:calc(var(--cw) * .005);box-sizing:border-box;border-radius:999px;max-width:100%;display:flex}.gc-gems{gap:calc(var(--cw) * .012);display:flex}.gc-gem{width:calc(var(--cw) * .07);height:calc(var(--cw) * .07);display:block}.gc-gem svg{fill:none;stroke:#fff6;stroke-width:2.2px;width:100%;height:100%;display:block}.gc-gem.on svg{fill:var(--gem);stroke:var(--gem-edge)}.gc-rl{font-size:calc(var(--cw) * .058);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-weight:900}.gcard.sm .gc-rl,.gcard.md .gc-rl{display:none}.gcard.md .gc-sub{font-size:calc(var(--cw) * .06)}.gcard.sm .gc-sub{display:none}.r-common{--frame:linear-gradient(150deg, #e9ecf7, #9ca5c8 45%, #d9ddee 70%, #8189ae);--neb:radial-gradient(90% 70% at 30% 30%, #2a2f78, #1b1d5c);--pill:#1d2050;--pill-ink:#fff;--gem:#f4f6ff;--gem-edge:#7d86a9;--line:#c8d0f0d9;--starc:#f4f6ff}.r-rare{--frame:linear-gradient(150deg, #9fefff, #4a7dff 40%, #8e6bff 70%, #5bd8ff);--neb:radial-gradient(70% 60% at 80% 80%, #8e6bff8c, transparent), radial-gradient(90% 70% at 30% 30%, #2c3fc0, #151a6e);--pill:#0e3c86;--pill-ink:#fff;--gem:#7fe6ff;--gem-edge:#2c80f2;--line:#8cebffe6;--starc:#e2fbff}.r-legendary{--frame:linear-gradient(150deg, #fff3b8, #f4be3a 30%, #b7780a 52%, #ffe48a 72%, #c88a12);--neb:radial-gradient(60% 50% at 78% 75%, #ff6fcf80, transparent), radial-gradient(60% 50% at 20% 80%, #ffb84a59, transparent), radial-gradient(90% 70% at 30% 30%, #6a34c0, #26126a);--pill:#2a1258;--pill-ink:#ffd45a;--gem:#ffd45a;--gem-edge:#8a5a00;--line:#ffe082f2;--starc:#fff3b8}.r-legendary .gc-face{box-shadow:inset 0 0 0 calc(var(--cw) * .008) #ffe08ab3}.r-legendary .gc-tilt{box-shadow:0 calc(var(--cw) * .07) calc(var(--cw) * .14) #050228b3, 0 0 calc(var(--cw) * .16) #ffc83c8c}.r-rare .gc-tilt{box-shadow:0 calc(var(--cw) * .07) calc(var(--cw) * .14) #050228b3, 0 0 calc(var(--cw) * .12) #5a8cff80}.gc-glow{background:radial-gradient(circle,#fff0b499,#fff0b400 68%);border-radius:50%;position:absolute;inset:8% 10%}.gc-portrait{width:76%;height:84%;position:relative}.gc-portrait img,.gc-portrait svg{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 calc(var(--cw) * .02) 0 #0000004d);display:block}.gc-disc{aspect-ratio:1;width:72%;box-shadow:inset 0 0 0 calc(var(--cw) * .012) #ffffff8c, inset calc(var(--cw) * -.06) calc(var(--cw) * -.06) calc(var(--cw) * .1) #0a063c8c, 0 0 calc(var(--cw) * .1) #a0c8ff99;background:#3a3fc4 50%/cover no-repeat;border-radius:50%;position:relative}.gc-sky{width:100%;height:100%;display:block}.gc-line{stroke:var(--line);stroke-width:1.8px;stroke-linecap:round}.gc-star{fill:var(--starc)}.gc-halo{fill:var(--line);opacity:.12}.gc-holo,.gc-glare{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.r-rare .gc-holo{mix-blend-mode:screen;opacity:.42;background:linear-gradient(115deg,#0000 22%,#5af0ff99 38%,#a078ff99 50%,#ff82dc80 61%,#0000 76%) 0 0/260% 260%;background-position:var(--px,20%) var(--py,20%)}.r-legendary .gc-holo{mix-blend-mode:screen;opacity:.4;background:linear-gradient(115deg,#0000 24%,#ff4f8b 34%,#ffb34f 40%,#f7f36b 46%,#4fffb3 52%,#4fb6ff 58%,#b34fff 64%,#0000 74%) 0 0/260% 260%;background-position:var(--px,20%) var(--py,20%)}.r-rare .gc-glare,.r-legendary .gc-glare{mix-blend-mode:overlay;background:radial-gradient(circle at var(--mx,30%) var(--my,20%), #ffffff8c, #ffffff14 28%, transparent 55%);opacity:0;transition:opacity .25s}.gcard.active .gc-glare{opacity:1}.gcard.idle .gc-holo{animation:4.5s ease-in-out infinite holo-sweep}@keyframes holo-sweep{0%,to{background-position:15% 15%}50%{background-position:85% 85%}}.gc-sp{z-index:2;width:calc(var(--cw) * .09);height:calc(var(--cw) * .09);margin:calc(var(--cw) * -.045) 0 0 calc(var(--cw) * -.045);pointer-events:none;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:1.8s ease-in-out infinite twinkle;animation-delay:var(--d,0s);background:radial-gradient(circle,#fff 0 18%,#ffe27e 30%,#0000 70%);position:absolute}.gcard.empty .gc-frame{background:repeating-linear-gradient(135deg, #7d86a9 0 calc(var(--cw) * .05), #4a507a calc(var(--cw) * .05) calc(var(--cw) * .1));opacity:.9}.gcard.empty .gc-face{background:#14113f}.gcard.empty .gc-art{background:radial-gradient(80% 70% at 50% 40%,#232064,#14113f)}.gc-ghost{fill:#3a3a86;color:#3a3a86;width:46%;position:absolute;top:14%;left:27%}.gc-q{font-size:calc(var(--cw) * .34);color:#ffe27e;text-shadow:0 calc(var(--cw) * .02) 0 #0006;font-weight:900;position:relative}.gcard.empty .gc-name{color:#9aa0d8}.gcard.empty .gc-gem svg{stroke:#ffffff40}.gcard.fly{animation:.8s cubic-bezier(.2,1.15,.35,1) both gc-fly}@keyframes gc-fly{0%{opacity:0;transform:translateY(calc(var(--u) * 150)) scale(.35) rotate(-14deg)}55%{opacity:1}to{opacity:1;transform:none}}.gcard.fly .gc-gem.on{animation:.5s cubic-bezier(.2,1.6,.4,1) both gem-pop;animation-delay:calc(.65s + var(--i) * .2s)}.gcard.fly .gc-rl{animation:.5s ease-out both gem-pop;animation-delay:calc(.65s + var(--i,0) * .2s + .3s)}@keyframes gem-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.gc-burst{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:50%;left:50%}.gc-burst i{width:calc(var(--cw) * .07);height:calc(var(--cw) * .07);margin:calc(var(--cw) * -.035) 0 0 calc(var(--cw) * -.035);background:radial-gradient(circle, #fff, var(--gem) 55%, transparent 72%);opacity:0;animation:.9s ease-out both gc-burst;animation-delay:calc(.5s + var(--k,0s));border-radius:50%;position:absolute}@keyframes gc-burst{0%{opacity:1;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(calc(var(--cw) * var(--dx) / 100), calc(var(--cw) * var(--dy) / 100)) scale(1.3)}}.gcard.fly.r-legendary:before,.gcard.fly.r-rare:before{content:"";inset:calc(var(--cw) * -.25);pointer-events:none;z-index:-1;opacity:0;background:radial-gradient(circle, var(--gem), transparent 62%);border-radius:50%;animation:1.4s ease-out .5s both gc-aura;position:absolute}@keyframes gc-aura{0%{opacity:0;transform:scale(.5)}40%{opacity:.75}to{opacity:0;transform:scale(1.25)}}.finale[data-step=card]{padding-top:calc(var(--u) * 46);background:radial-gradient(90% 60% at 50% 35%,#3a3fc4f5,#1b1f6bfa);justify-content:flex-start}.fn-cardstage{place-items:center;display:grid}.finale[data-step=end]{padding-top:calc(var(--u) * 16);justify-content:flex-start;gap:calc(var(--u) * 8);background:radial-gradient(90% 60% at 50% 30%,#3a3fc4,#1b1f6b)}.fn-end{align-items:center;gap:calc(var(--u) * 8);flex-direction:column;animation:.5s ease-out cardin;display:flex}.fn-chip{padding:calc(var(--u) * 3) calc(var(--u) * 14);font-size:calc(var(--u) * 15);color:#ffe27e;background:#ffffff24;border-radius:999px;font-weight:800}.fn-btns{grid-template-columns:repeat(2, calc(var(--u) * 150));gap:calc(var(--u) * 8);margin-top:calc(var(--u) * 4);display:grid}.fn-btns .fn-btn{width:100%;min-width:0;min-height:calc(var(--u) * 74);padding:0 calc(var(--u) * 6);font-size:calc(var(--u) * 20);border-radius:calc(var(--u) * 26);overflow-wrap:anywhere;line-height:1.1}.fn-btns .fn-btn.primary{font-size:calc(var(--u) * 24)}.fn-btns .fn-btn.secondary{font-size:calc(var(--u) * 18)}.fn-btn.share,.fn-btn.open-album{color:#fff;box-shadow:inset 0 0 0 calc(var(--u) * 3) #a48cff, 0 calc(var(--u) * 4) 0 #2c1c8a;background:linear-gradient(#7a5cf0,#5a3fd0)}.fn-btn.open-album{background:linear-gradient(180deg, var(--b1), var(--b2));box-shadow:inset 0 0 0 calc(var(--u) * 3) var(--be), 0 calc(var(--u) * 4) 0 var(--bs)}.cv-album{left:50%;bottom:calc(var(--u) * 22);align-items:center;gap:calc(var(--u) * 8);min-height:calc(var(--u) * 72);padding:0 calc(var(--u) * 22) 0 calc(var(--u) * 14);white-space:nowrap;font:inherit;font-size:calc(var(--u) * 21);color:#fff;cursor:pointer;background:linear-gradient(180deg, var(--b1), var(--b2));box-shadow:inset 0 0 0 calc(var(--u) * 2.5) var(--be), 0 calc(var(--u) * 3) 0 var(--bs);border:0;border-radius:999px;font-weight:800;display:flex;position:absolute;transform:translate(-50%)}.cover.has-album .cv-card{margin-bottom:calc(var(--u) * 86)}.cover.has-album .cv-portrait{width:calc(var(--u) * 128);height:calc(var(--u) * 128)}.cv-album b{white-space:nowrap;font-size:calc(var(--u) * 16);color:#ffe27e}.cv-al-ico{width:calc(var(--u) * 26);height:calc(var(--u) * 32);border-radius:calc(var(--u) * 5);box-shadow:inset 0 0 0 calc(var(--u) * 3) #f4be3a, inset 0 0 0 calc(var(--u) * 9) #26126a;background:linear-gradient(150deg,#fff3b8,#f4be3a 50%,#c88a12)}.album{z-index:40;background:radial-gradient(120% 70% at 50% 0,#3a3fc4 0%,#23277e 55%,#1b1f6b 100%);flex-direction:column;animation:.25s ease-out fade;display:flex;position:absolute;inset:0}.al-top{align-items:center;gap:calc(var(--u) * 10);height:calc(var(--u) * 72);padding:0 calc(var(--u) * 10);flex:none;display:flex}.al-title{font-size:calc(var(--u) * 28);text-align:center;flex:1;margin:0;font-weight:900}.al-count{min-width:calc(var(--u) * 78);box-sizing:border-box;text-align:center;padding:calc(var(--u) * 5) calc(var(--u) * 10);font-size:calc(var(--u) * 17);color:#ffe27e;background:#ffffff24;border-radius:999px;font-weight:800}.al-back{align-items:center;gap:calc(var(--u) * 2);min-width:calc(var(--u) * 72);height:calc(var(--u) * 56);padding:0 calc(var(--u) * 12) 0 calc(var(--u) * 6);font:inherit;font-size:calc(var(--u) * 16);color:#ffd23f;box-shadow:inset 0 0 0 calc(var(--u) * 2) #4a52d6;cursor:pointer;background:#2f35a8;border:0;border-radius:999px;flex:none;font-weight:800;display:flex;position:relative}.al-back svg{width:calc(var(--u) * 26);height:calc(var(--u) * 26);display:block}.al-back:after{content:"";inset:calc(var(--u) * -8);position:absolute}.al-grid{grid-template-columns:repeat(2, calc(var(--u) * 132));place-content:center;gap:calc(var(--u) * 12) calc(var(--u) * 20);min-height:0;padding-bottom:calc(var(--u) * 14);flex:1;display:grid}.al-slot:nth-child(3){grid-column:1/-1;justify-self:center}.al-open{cursor:pointer;background:0 0;border:0;padding:0;display:block}.al-open:active{transform:scale(.97)}.al-zoom{z-index:2;justify-content:center;align-items:center;gap:calc(var(--u) * 22);background:#0a0632e0;flex-direction:column;animation:.2s ease-out fade;display:flex;position:absolute;inset:0}.al-zoom-bar{display:flex}.toast{left:50%;bottom:calc(var(--u) * 18);z-index:60;max-width:calc(var(--u) * 300);padding:calc(var(--u) * 10) calc(var(--u) * 20);color:#231a6b;font-size:calc(var(--u) * 20);box-shadow:inset 0 0 0 calc(var(--u) * 2.5) #f4b62a, 0 calc(var(--u) * 4) 0 #0a083273;pointer-events:none;background:#fff;border-radius:999px;font-weight:800;animation:2.6s ease-out both toast;position:absolute;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%, calc(var(--u) * 14))}10%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.gcard.fly,.gcard.fly .gc-gem,.gc-burst i,.gcard.idle .gc-holo,.gc-sp{animation-duration:10ms!important;animation-iteration-count:1!important}}
