:root{--dur-tap: .1s;--dur-snap: .16s;--dur-move: .24s;--dur-reveal: .32s;--dur-emph: .4s;--dur-scene: .5s;--motion-scale: 1}html[data-anim=slow]{--motion-scale: 1.4 }html[data-anim=fast]{--motion-scale: 1 }html[data-anim=zoom]{--motion-scale: .4 }@keyframes popin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes jpop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake-light{animation:shakeX calc(var(--dur-reveal) * var(--motion-scale)) ease}.shake-medium{animation:shakeX calc(var(--dur-emph) * var(--motion-scale)) ease}.shake-heavy{animation:shakeX calc(var(--dur-scene) * var(--motion-scale)) ease}.jpop{animation:jpop calc(var(--dur-emph) * var(--motion-scale)) ease}html.reduce-motion .pop,html.reduce-motion .shake-light,html.reduce-motion .shake-medium,html.reduce-motion .shake-heavy,html.reduce-motion .jpop{animation-name:fadein!important}html.reduce-motion .pcard:hover{transform:none}html.reduce-motion .weakpoint,html.reduce-motion .giftbox{animation:none}:root{--cardw: 210px;--cardh: 305px;--cardr: 16px;--cardfoot: 38px;--content-max: 1700px;--fight-max: 1880px;--fightmid: 380px;--edge: 24px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--bg: #1b1030;--bg2: #2a1148;--paper: #f8f4fb;--panel: #2a1a47;--ink: #241638;--ink-inv: #f3edfa;--muted: #a494c4;--line: #3d2a63;--gold: #ffd166;--artline: #dcb185;--accent: #ff5fa2;--green: #57e2a5;--red: #ff6b6b;--rar-common: #a99cc0;--rar-rare: #6fa8f0;--rar-epic: #c479e8;--rar-legendary: #ffd166;--font-title: system-ui, "Segoe UI", Roboto, sans-serif;--font-body: system-ui, "Segoe UI", Roboto, sans-serif;--shadow: 0 2px 10px rgba(0,0,0,.32);--edge-cut: 2px 2px 0 rgba(0,0,0,.24)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1000px 600px at 50% 0%,var(--bg2) 0%,transparent 70%),var(--bg);color:var(--ink-inv);font:500 17px/1.45 var(--font-body);-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-user-select:none;user-select:none}html,button,.mstage,.pcard,.nodetile,.cardetail{-webkit-tap-highlight-color:transparent}html,body{-webkit-touch-callout:none}img{-webkit-touch-callout:none;-webkit-user-drag:none;user-drag:none}h1{font:800 clamp(30px,3vw,38px)/1.15 var(--font-title);margin:0 0 var(--s2)}h2{font:700 22px/1.2 var(--font-body);margin:0 0 var(--s2)}h3{font:700 17px/1.2 var(--font-body);margin:var(--s4) 0 var(--s2)}.muted{color:var(--muted)}.eyebrow{font:800 13px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.coins{font:800 32px/1 var(--font-title);color:var(--gold)}.btn{font:700 16px/1 var(--font-body);color:var(--ink);background:var(--paper);border:none;border-radius:10px;padding:12px 16px;cursor:pointer;box-shadow:var(--edge-cut);transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--ink-inv);box-shadow:inset 0 0 0 2px var(--line)}.btn-tiny{padding:8px 12px;font-size:14px;border-radius:8px}.btn-tiny.is-on{background:#ffd16633;box-shadow:inset 0 0 0 1px var(--gold)}.cta{width:100%;font:800 21px/1.15 var(--font-title);color:#fff;background:var(--accent);border:none;border-radius:16px;padding:20px 22px;cursor:pointer;box-shadow:3px 4px #00000052;transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.cta:hover{transform:translateY(-3px)}.cta:active{transform:translateY(0)}.ctahint{color:var(--muted);font-size:15px;margin:var(--s2) 0 0;text-align:center}.verbadge{position:fixed;bottom:6px;left:8px;z-index:100;font:700 11px/1 var(--font-body);letter-spacing:.4px;color:var(--muted);background:none;border:none;padding:4px 6px;cursor:pointer;opacity:.55;transition:opacity calc(var(--dur-tap) * var(--motion-scale)) ease}.verbadge:hover{opacity:1}.verbadge.is-copied{color:var(--gold);opacity:1}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;animation:fadein calc(var(--dur-scene) * var(--motion-scale)) ease-out both}.backdrop-art{position:absolute;inset:-3%;background-repeat:no-repeat;background-size:cover;background-position:center 38%;filter:saturate(.72) brightness(.82) contrast(.95);animation:backdrop-push calc(var(--dur-scene) * var(--motion-scale)) ease-out both}.backdrop-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#1b1030db,#1b103066,#1b103057 52%,#1b1030b8 82%,#1b1030eb),radial-gradient(120% 90% at 50% 45%,#1b103000 45%,#1b10308c)}.backdrop-fight .backdrop-scrim{background:linear-gradient(180deg,#1b103099,#1b103033 30%,#1b10303d 55%,#1b1030bd 84%,#1b1030f0),radial-gradient(120% 90% at 50% 45%,#1b103000 50%,#1b103073)}@keyframes backdrop-push{0%{transform:scale(1.04)}to{transform:none}}html.reduce-motion .backdrop-art{animation:none}.gametitle,.stagehead h1,.stagehead h2,.fightername{text-shadow:0 2px 12px rgba(12,6,24,.75),0 1px 2px rgba(12,6,24,.9)}.scene-title .muted,.scene-pick .muted,.scene-pick .cdflavor,.scene-pick .pickpow{text-shadow:0 1px 6px rgba(12,6,24,.85),0 1px 1px rgba(12,6,24,.7)}.pcard{position:relative;width:var(--cardw);height:var(--cardh);flex:none;perspective:900px}.pcard.pop{animation:popin calc(var(--dur-move) * var(--motion-scale)) ease both}.pcard.is-tap{cursor:pointer}.pcard.is-tap:hover .cardface{transform:translateY(-5px)}.pcard.is-disabled .cardface{filter:grayscale(.5) brightness(.85)}.pcard.is-sold{border-radius:var(--cardr);outline:3px dashed rgba(255,255,255,.09);outline-offset:-3px}.pcard.is-picked .cardface{outline:4px solid var(--gold);outline-offset:3px;transform:translateY(-5px)}.cardface{position:absolute;inset:0;border-radius:var(--cardr);background:var(--paper);color:var(--ink);overflow:hidden;box-shadow:inset 0 0 0 4px var(--hue, #a99cc0),var(--edge-cut),var(--shadow);transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.cfchip{position:absolute;left:4.5%;top:3.2%;width:15%;aspect-ratio:1;border-radius:28%;display:flex;align-items:center;justify-content:center;color:#fff;font:800 calc(var(--cardw) * .1)/1 var(--font-body)}.cfart{position:absolute;left:50%;top:4%;width:88%;height:56%;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.cfart img{width:100%;height:100%;object-fit:contain;display:block}.cfemoji{font-size:calc(var(--cardh) * .38);line-height:1}.cfnm{position:absolute;left:5%;right:5%;top:61%;font:800 calc(var(--cardw) * .115)/1.1 var(--font-body);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfline{position:absolute;left:5%;right:5%;top:73.5%;height:7.5%;line-height:calc(var(--cardh) * .075);border-radius:999px;background:#24163812;color:#5a4a72;font:800 calc(var(--cardw) * .075)/1 var(--font-body);letter-spacing:.03em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5%}.cfline-none{background:#24163809}.cfstats{position:absolute;inset:79.5% 3% 2%;display:flex;justify-content:space-evenly;gap:1.5%}.cfstat{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0}.cfstat b,.cfstat i{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfstat b{font:800 calc(var(--cardw) * .125)/1 var(--font-body)}.cfstats:has(.cfstat:nth-child(3)) .cfstat b{font-size:calc(var(--cardw) * .092)}.cfstats:has(.cfstat:nth-child(3)) .cfstat i{font-size:calc(var(--cardw) * .053)}.cfstat i{font:700 calc(var(--cardw) * .062)/1.4 var(--font-body);font-style:normal;color:#7d6f92;letter-spacing:.03em}.cf-sticker{border-radius:calc(var(--cardr) * 1.35);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 9px var(--hue, #a99cc0),var(--edge-cut),var(--shadow)}.cf-sticker .cfart{top:5%;height:55%}.cf-sticker .cfnm{left:6%;right:6%;top:61%;padding:2.2% 4%;border-radius:999px;background:var(--hue, #a99cc0);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.22)}.cf-sticker .cfline{background:#2416380f}.cf-sticker .cfstat b{background:#2416380f;border-radius:999px;padding:4% 10%}.cf-badge{overflow:visible;border-radius:calc(var(--cardr) * 1.2)}.cf-badge .cfart{top:-12%;width:62%;height:40%;border-radius:50%;background:var(--paper);box-shadow:0 0 0 5px var(--hue, #a99cc0),var(--shadow);overflow:hidden}.cf-badge .cfchip{display:none}.cf-badge .cfnm{top:33%}.cf-badge .cfline{top:45%}.cf-badge .cfstats{top:60%}.cf-poster .cfart{left:0;top:0;width:100%;height:66%;transform:none;background:linear-gradient(160deg,var(--hue, #a99cc0),transparent)}.cf-poster .cfart img{object-fit:cover}.cf-poster .cfnm{left:0;right:0;top:54%;padding:3% 6% 2%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55) 55%);color:#fff}.cf-poster .cfline{top:68%;background:none;color:#6a5b83}.cf-poster .cfstats{top:78%}.pcfoot{position:absolute;left:0;right:0;top:100%;height:var(--cardfoot);display:flex;align-items:center;justify-content:center}.price{font:800 19px/1 var(--font-body);color:var(--gold)}.nodekind{font:800 15px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.nodekind.is-boss{color:var(--gold)}.scene{min-height:100%;padding:var(--edge);max-width:var(--content-max);margin:0 auto}.scene-frame{display:grid;grid-template-columns:330px minmax(0,1fr) 360px;gap:var(--s5);align-items:start;min-height:calc(100vh - var(--edge) * 2)}.scene-frame>.stage{align-self:stretch}.rail{display:flex;flex-direction:column;gap:var(--s4)}.rail-right{position:sticky;top:var(--edge);align-items:stretch}.stage{min-width:0;display:flex;flex-direction:column;gap:var(--s4)}.stage-centre{align-items:center;justify-content:center}.stagehead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4)}.wallet{display:flex;align-items:center;gap:var(--s3)}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,var(--cardw));column-gap:var(--s5);row-gap:calc(var(--s5) + var(--cardfoot));justify-content:start;padding-bottom:var(--cardfoot)}.cardgrid>p{grid-column:1 / -1}.counter{flex:1;align-content:center}.nodegrid{justify-content:center;column-gap:calc(var(--s6) * 2);flex:1;align-content:center}.journey{background:var(--panel);border-radius:14px;padding:var(--s3);box-shadow:var(--edge-cut)}.jlist{list-style:none;margin:var(--s2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s1)}.jstep{display:flex;align-items:center;gap:var(--s3);padding:11px var(--s3);border-radius:13px;font:600 17px/1.2 var(--font-body);color:var(--muted)}.jstep.is-done{color:var(--ink-inv)}.jstep.is-here{background:#ff5fa238;color:#fff;font-weight:800}.jdot{flex:none;min-width:44px;text-align:center;font-size:34px;line-height:1}.jlabel{flex:1;min-width:0;line-height:1.15}.jtick{flex:none;color:var(--green);font-size:15px}.nodetile{width:var(--cardw);height:var(--cardh);border-radius:calc(var(--cardr) * 1.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);border:none;cursor:pointer;background:linear-gradient(160deg,#4a2c72,#33194f);color:var(--ink-inv);box-shadow:inset 0 0 0 3px var(--gold),var(--edge-cut),var(--shadow);transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.nodetile:hover{transform:translateY(-4px)}.nodeemoji{font-size:calc(var(--cardh) * .32);line-height:1}.nodename{font:800 calc(var(--cardw) * .105)/1.15 var(--font-body);text-align:center;padding:0 var(--s2)}.nodehint{font:600 calc(var(--cardw) * .085)/1 var(--font-body);color:var(--gold)}.giftbox{border:none;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s3);animation:giftwobble calc(var(--dur-scene) * var(--motion-scale) * 2) ease-in-out infinite}@keyframes giftwobble{0%,to{transform:rotate(-4deg) scale(1)}50%{transform:rotate(4deg) scale(1.06)}}.giftemoji{font-size:clamp(80px,9vw,130px);line-height:1;filter:drop-shadow(0 0 30px rgba(255,209,102,.45))}.gifthint{font:800 28px/1 var(--font-title);color:var(--gold)}.giftopen{display:flex;flex-direction:column;align-items:center;gap:var(--s4);animation:popin calc(var(--dur-emph) * var(--motion-scale)) ease both}.giftcoins{font:800 44px/1 var(--font-title);color:var(--gold);margin:0}.cardetail{width:100%;background:var(--panel);border-radius:14px;padding:var(--s4);display:flex;flex-direction:column;align-items:center;gap:var(--s3);border:none;color:inherit;font:inherit;text-align:center;cursor:pointer;box-shadow:var(--edge-cut);transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease;animation:popin calc(var(--dur-snap) * var(--motion-scale)) ease both}.cardetail:hover{transform:translateY(-3px)}.cdflavor{font:500 italic 14px/1.35 var(--font-body);color:var(--muted);text-align:center;margin:0}.cdtapme{font:800 14px/1 var(--font-body);letter-spacing:.06em;color:var(--gold);text-transform:uppercase}.cdpowerrow{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:center}.cdpowicon{font-size:38px;line-height:1}.cdbag{width:100%;border-top:1px solid var(--line);padding-top:var(--s3)}.bagrow{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2);justify-content:center}.bagitem{font-size:34px;line-height:1}.scene-title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s4);text-align:center;min-height:90vh}.gametitle{font:800 clamp(40px,9vw,76px)/1.05 var(--font-title);margin:0;color:var(--gold)}.tagline{color:var(--muted);max-width:420px;margin:0}.scene-title .cta{width:auto}.loadwrap{width:240px;transition:opacity calc(var(--dur-scene) * var(--motion-scale)) ease}.loadwrap.is-done{opacity:0}.loadbar{height:6px;border-radius:3px;overflow:hidden;background:#ffffff1a}.loadbar>i{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width calc(var(--dur-move) * var(--motion-scale)) ease-out}.loadtxt{margin:var(--s2) 0 0;font-size:13px;color:var(--muted)}@media(max-width:1440px){.scene-frame{grid-template-columns:1fr}.rail-right{position:static;order:0}.stage{order:1}.rail-left{order:2}}.ovl{position:fixed;inset:0;z-index:100;background:#0c0618bd;display:flex;align-items:center;justify-content:center;padding:var(--edge);animation:fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}.ovlbox{background:var(--panel);border-radius:14px;padding:var(--s5);width:min(520px,100%);max-height:100%;overflow-y:auto;box-shadow:var(--edge-cut),var(--shadow);animation:popin calc(var(--dur-snap) * var(--motion-scale)) ease both}.ovlhead{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.ovlhead h2{margin:0}.ovlfoot{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);font-size:13px}.tabrow{display:flex;gap:var(--s2);margin:var(--s4) 0 var(--s3)}.tunelist{display:flex;flex-direction:column;gap:var(--s2)}.tunerow{display:grid;grid-template-columns:1fr 150px 40px;align-items:center;gap:var(--s3);font:500 13px/1.2 var(--font-body)}.tunelabel{display:inline-flex;align-items:center;gap:var(--s1)}.tunehelp{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--line);color:var(--ink-inv);font:800 9px/1 var(--font-body);font-style:normal;cursor:help}.tunerow input[type=range]{width:100%;accent-color:var(--gold)}.tuneval{font:800 12px/1 var(--font-body);text-align:right;color:var(--muted)}.tuneval.is-changed{color:var(--gold)}.gearbtn{position:fixed;top:8px;right:10px;z-index:100;width:36px;height:36px;border-radius:10px;border:none;background:#ffffff14;color:var(--ink-inv);font-size:17px;line-height:1;cursor:pointer;transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.gearbtn:hover{transform:translateY(-2px)}.scene-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);text-align:center;min-height:88vh}.pickrow{display:flex;gap:calc(var(--s6) * 1.5);flex-wrap:wrap;justify-content:center;margin-top:var(--s5)}.pickone{display:flex;flex-direction:column;align-items:center;gap:var(--s2);width:calc(var(--cardw) + var(--s6))}.pickpowers{display:flex;flex-direction:column;gap:2px;margin-top:var(--s3)}.pickpow{font:700 16px/1.2 var(--font-body);color:var(--gold)}.cardlab{max-width:1500px}.lablane{margin-top:var(--s6)}.labrow{display:flex;gap:var(--s5);padding:var(--s6) 0 var(--cardfoot);margin-top:var(--s4)}.scene-fight{max-width:var(--fight-max);display:flex;flex-direction:column;gap:var(--s6);min-height:100vh;justify-content:center}.arena{display:grid;grid-template-columns:minmax(0,1fr) var(--fightmid) minmax(0,1fr);align-items:end;gap:var(--s5)}.arenamid{width:100%;align-self:end;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--s4)}.lootslot{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--s3)}.arenavs{min-height:1.2em;text-align:center;font:800 clamp(18px,2.2vw,30px)/1.2 var(--font-title);color:var(--muted);letter-spacing:.08em}.ctaslot{min-height:84px;width:100%;display:flex;align-items:center;justify-content:center}.fightnote{min-height:1.4em;margin:0;text-align:center;color:var(--muted);font-size:15px}.arena-solo{position:relative;grid-template-columns:minmax(0,1fr)}.arenasky{position:absolute;top:0;left:50%;width:1px;height:1px}.fighter{display:flex;flex-direction:column;align-items:center;gap:var(--s3);min-width:0}.fighterart{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;animation:fighterbob calc(var(--dur-scene) * var(--motion-scale) * 5) ease-in-out infinite}.fighter-faery .fighterart{max-width:min(600px,42vh)}.fighter-monster .fighterart{max-width:min(780px,50vh)}.fighterart img,.fighterart .fighteremoji{width:100%;height:100%;pointer-events:none;display:block}.fighterart img{object-fit:contain}.fighterart img,.fighterart .fighteremoji{filter:drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline))}@keyframes fighterbob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5%)}}html.reduce-motion .fighterart{animation:none}.fighterart.is-casting{animation:faerycast calc(var(--dur-reveal) * var(--motion-scale)) ease-out}@keyframes faerycast{0%{transform:rotate(0) scale(1)}35%{transform:rotate(-9deg) scale(1.09)}to{transform:rotate(0) scale(1)}}.fightername{margin:0;font:800 clamp(26px,3.4vw,46px)/1 var(--font-title);text-align:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fighter-faery .fightername{color:#ffb6d5}.fighter-monster .fightername{color:#ffb0b0}.ebar{display:flex;align-items:center;gap:var(--s3);width:100%;max-width:520px}.ebartrack{flex:1;height:32px;border-radius:17px;overflow:hidden;background:var(--line);box-shadow:inset 0 2px 5px #0006}.ebartrack i{display:block;height:100%;border-radius:17px;transition:width calc(var(--dur-snap) * var(--motion-scale)) ease-out}.ebar-faery .ebartrack i{background:linear-gradient(180deg,#7ff0bd,var(--green))}.ebar-monster .ebartrack i{background:linear-gradient(180deg,#ff9a9a,var(--red))}.ebarval{flex:none;min-width:2.4ch;text-align:right;font:800 36px/1 var(--font-title)}.mstage{position:absolute;inset:0;z-index:1;border-radius:26px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.fighter-monster .fighterart{border-radius:26px}.mstage.is-down{cursor:default}.fighter-monster:has(.mstage.is-down) img,.fighter-monster:has(.mstage.is-down) .fighteremoji{opacity:.35;filter:grayscale(.7)}.stagedown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:min(24vw,190px);pointer-events:none;animation:popin calc(var(--dur-emph) * var(--motion-scale)) ease both}.fstage{position:absolute;inset:0;z-index:1;border-radius:26px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.healbubble{position:absolute;transform:translate(-50%,-50%);height:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.9),transparent 38%),radial-gradient(closest-side,rgba(127,240,189,.55),rgba(87,226,165,.22) 72%,transparent);box-shadow:0 0 30px #57e2a599,inset 0 0 18px #ffffff59;animation:bubblefloat calc(var(--dur-scene) * var(--motion-scale) * 4) ease-in-out infinite,fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}@keyframes bubblefloat{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-62%) scale(1.06)}}html.reduce-motion .healbubble{animation:fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}.weakpoint{position:absolute;transform:translate(-50%,-50%);height:0;border-radius:50%;pointer-events:none;--wp: 255, 209, 102;background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.9) 0 4%,rgba(255,255,255,.22) 11%,transparent 24%),radial-gradient(circle at 71% 74%,rgba(255,255,255,.34) 0 2%,transparent 11%),radial-gradient(closest-side,rgba(255,255,255,.1),rgba(255,255,255,.03) 80%,transparent),radial-gradient(closest-side,rgba(var(--wp),.14) 40%,rgba(var(--wp),.28) 74%,rgba(var(--wp),.55) 94%,rgba(var(--wp),0));box-shadow:inset 0 0 0 3px rgba(var(--wp),.95),inset 0 -4px 12px rgba(var(--wp),.3),0 0 16px rgba(var(--wp),.55);animation:wpulse calc(var(--dur-scene) * var(--motion-scale) * 1.6) ease-in-out infinite,fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}.weakpoint.is-bonus{--wp: 87, 226, 165 }@keyframes wpulse{0%,to{transform:translate(-50%,-50%) scale(.86)}50%{transform:translate(-50%,-50%) scale(1.1)}}.weakpoint.is-popping{animation:wpop calc(var(--dur-snap) * var(--motion-scale)) cubic-bezier(.3,.7,.4,1) forwards}@keyframes wpop{0%{transform:translate(-50%,-50%) scale(1);opacity:1}55%{transform:translate(-50%,-50%) scale(1.25);opacity:1}to{transform:translate(-50%,-50%) scale(1.55);opacity:0}}html.reduce-motion .weakpoint.is-popping{animation:wfade calc(var(--dur-snap) * var(--motion-scale)) ease forwards}@keyframes wfade{to{opacity:0}}.stagebubble{position:absolute;inset:-4%;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 40px #8cdcff8c,0 0 30px #8cdcff59;background:radial-gradient(closest-side,transparent 72%,rgba(160,230,255,.22));animation:fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}.dock{display:flex;gap:var(--s4);justify-content:center;flex-wrap:wrap;padding-top:var(--s2)}.powerbtn{position:relative;width:148px;height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;border-radius:24px;cursor:pointer;background:linear-gradient(180deg,#482b70,#33194f);color:var(--ink-inv);box-shadow:inset 0 0 0 2px var(--line),var(--edge-cut);overflow:hidden;transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.powerbtn:hover{transform:translateY(-3px)}.powerbtn:active{transform:translateY(0)}.powerbtn.is-cooling .powerglyph,.powerbtn.is-cooling .powername{opacity:.25}.powerbtn.is-picked{box-shadow:inset 0 0 0 3px var(--gold),var(--edge-cut)}.powerbtn.is-ready{animation:powerready calc(var(--dur-scene) * var(--motion-scale) * 3) ease-in-out infinite}@keyframes powerready{0%,to{box-shadow:inset 0 0 0 2px var(--gold),0 0 #ffd16600,var(--edge-cut)}50%{box-shadow:inset 0 0 0 3px var(--gold),0 0 22px #ffd16673,var(--edge-cut)}}html.reduce-motion .powerbtn.is-ready{animation:none;box-shadow:inset 0 0 0 3px var(--gold),var(--edge-cut)}.powercool{position:absolute;left:0;right:0;top:0;background:#0a04149e;pointer-events:none;transition:height calc(var(--dur-tap) * var(--motion-scale)) linear}.powerglyph{position:relative;display:inline-flex;align-items:center;gap:4px}.poweremoji{font-size:52px;line-height:1}.powernum{font:800 34px/1 var(--font-title);color:var(--gold)}.powername{font:800 15px/1 var(--font-body);position:relative;letter-spacing:.03em}.powerleft{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 44px/1 var(--font-title);color:var(--gold);text-shadow:0 2px 6px rgba(0,0,0,.6)}.faerydetail{display:flex;flex-direction:column;gap:var(--s4);animation:fadein calc(var(--dur-snap) * var(--motion-scale)) ease both}.detailhead{display:flex;justify-content:flex-end}.faerydetail .fighter-faery .fighterart{max-width:240px;max-height:30vh}.faerydetail .powerbtn{width:108px;height:108px}.faerydetail .poweremoji{font-size:38px}.detailtext{margin:0;min-height:2.6em;text-align:center;font:600 clamp(15px,1.5vw,19px)/1.35 var(--font-body);color:var(--ink-inv)}.bagshelf{text-align:center}.bagshelf .bagrow{justify-content:center;margin-top:var(--s2)}.bagbtn{width:62px;height:62px;border:none;border-radius:16px;cursor:pointer;background:#ffffff12;box-shadow:inset 0 0 0 2px var(--line);font-size:30px;line-height:1;color:inherit;transition:transform calc(var(--dur-tap) * var(--motion-scale)) ease}.bagbtn:hover{transform:translateY(-3px)}.bagbtn.is-picked{box-shadow:inset 0 0 0 3px var(--gold)}@media(max-width:900px){.arena{grid-template-columns:1fr}.arenamid{order:3;width:min(100%,360px)}.lootslot{min-height:0}.arenavs{display:none}.fighter-faery .fighterart{max-width:180px;max-height:20vh}.fighter-monster .fighterart{max-width:92vw;max-height:44vh}.powerbtn{width:100px;height:100px}}:root{--laby-max: 1600px;--laycell: 148px}.scene-laby{max-width:var(--laby-max);display:flex;flex-direction:column;align-items:center;gap:var(--s5);min-height:calc(100vh - var(--edge) * 2);justify-content:center}.labyhead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.labyhead h1{margin:0}.labyside{flex:1 1 0;display:flex;align-items:center}.labyside-right{justify-content:flex-end}.labyarena{display:flex;align-items:center;gap:var(--s5)}.labyseam{width:3px;align-self:stretch;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(255,209,102,.55),transparent)}.laygrid{position:relative;display:grid;grid-template-columns:repeat(var(--laysize),var(--laycell));grid-template-rows:repeat(var(--laysize),var(--laycell));border-radius:18px;overflow:hidden;box-shadow:var(--edge-cut),var(--shadow);background:var(--panel)}.laytile{position:relative;width:var(--laycell);height:var(--laycell);border:none;outline:1px solid rgba(255,255,255,.06);outline-offset:-1px;background:#ffffff05;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.laytile:hover{background:#ffffff0d}.laytile.is-locked,.laytile.is-held{cursor:default}.laytile.is-locked:hover,.laytile.is-held:hover{background:#ffffff05}.laypipeinner{position:absolute;inset:0;transition:transform .22s cubic-bezier(.3,1.4,.4,1)}.laybar{position:absolute;background:#4b3a6b;border-radius:999px;transition:background .2s ease}.laytile.is-lit .laybar{background:linear-gradient(180deg,#ffe29a,var(--gold));box-shadow:0 0 14px #ffd16680}.laybar-N{left:50%;top:0;width:24%;height:54%;transform:translate(-50%)}.laybar-S{left:50%;bottom:0;width:24%;height:54%;transform:translate(-50%)}.laybar-E{top:50%;right:0;width:54%;height:24%;transform:translateY(-50%)}.laybar-W{top:50%;left:0;width:54%;height:24%;transform:translateY(-50%)}.layjoint{position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:#4b3a6b;transition:background .2s ease}.laytile.is-lit .layjoint{background:var(--gold)}.laystart{position:absolute;left:50%;top:0;width:24%;height:50%;transform-origin:50% 100%;background:linear-gradient(180deg,rgba(255,209,102,.35),var(--gold));box-shadow:0 0 16px #ffd1668c;border-radius:999px 999px 0 0}.laygoal{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.5),transparent 34%),radial-gradient(closest-side,var(--gold),rgba(255,209,102,.45) 72%,transparent);box-shadow:0 0 30px #ffd166b3;animation:laygoalpulse 2.6s ease-in-out infinite}@keyframes laygoalpulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}html.reduce-motion .laygoal{animation:none}.laygrid.is-open .laygoal{box-shadow:0 0 46px 10px #ffd166d9;animation-duration:.9s}.laygrid.is-open{box-shadow:0 0 0 3px #ffd1668c,var(--edge-cut),var(--shadow)}.layfaery{position:absolute;width:calc(var(--laycell) * .75);height:calc(var(--laycell) * .75);transform:translate(-50%,-50%);border:none;border-radius:50%;background:none;cursor:pointer;transition:left .42s ease,top .42s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:0}.layfaery img,.layfaeryemoji{width:100%;height:100%;display:block;pointer-events:none;filter:drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline)) drop-shadow(0 0 1px var(--artline))}.layfaery.is-walking{animation:laywalk .38s ease-in-out infinite}@keyframes laywalk{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-54%) scale(1.05)}}html.reduce-motion .layfaery.is-walking{animation:none}@keyframes layshake{0%,to{transform:translate(-50%,-50%)}20%{transform:translate(calc(-50% - 6px),-50%)}40%{transform:translate(calc(-50% + 6px),-50%)}60%{transform:translate(calc(-50% - 3px),-50%)}80%{transform:translate(calc(-50% + 3px),-50%)}}.layfaery.shake-light,.layfaery.shake-medium{animation:layshake calc(var(--dur-reveal) * var(--motion-scale)) ease}html.reduce-motion .layfaery.shake-light,html.reduce-motion .layfaery.shake-medium{animation:none}.layfaery.is-arrived img,.layfaery.is-arrived .layfaeryemoji{filter:drop-shadow(0 0 2px var(--gold)) drop-shadow(0 0 2px var(--gold)) drop-shadow(0 0 10px rgba(255,209,102,.7))}.layarrow{position:absolute;left:50%;top:50%;width:0;height:0;transform-origin:0 0;pointer-events:none}.layarrow:before{content:"";position:absolute;left:-11px;top:calc(var(--laycell) * -.5);border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:15px solid var(--accent);filter:drop-shadow(0 0 4px rgba(0,0,0,.6))}html:not(.reduce-motion) .layarrow:before{animation:layarrowbob 1.4s ease-in-out infinite}@keyframes layarrowbob{0%,to{transform:translateY(0)}50%{transform:translateY(-14%)}}.layfaery.is-arrived .layarrow{display:none}.labyctaslot{min-height:210px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--s3);justify-content:center}.labyctaslot .cta{width:auto;min-width:320px}.labywonline{margin:0;font:800 clamp(22px,2.4vw,30px)/1.2 var(--font-title);color:var(--gold);text-align:center}.labytaps{display:inline-flex;align-items:baseline;gap:var(--s2);font:800 26px/1 var(--font-title);color:var(--gold)}.labytaps small{font:700 14px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.labyscore{font:800 clamp(30px,3.4vw,46px)/1 var(--font-title);color:var(--gold);margin:0}.modepick{display:flex;gap:var(--s4);flex-wrap:wrap;justify-content:center}.modepick .cta{width:auto;min-width:220px}.cta-laby{background:linear-gradient(160deg,#6a4791,#4a2c72)}@media(max-width:900px){:root{--laycell: min(18vw, 96px) }.labyarena{flex-direction:column}.labyseam{width:60%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,209,102,.55),transparent)}}#juice-layer{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}.jghost{position:fixed;pointer-events:none;will-change:transform,opacity}@keyframes jpart-fly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.jpart{position:absolute;width:8px;height:8px;border-radius:50%;margin:-4px 0 0 -4px;animation:jpart-fly calc(.56s * var(--motion-scale)) cubic-bezier(.2,.7,.4,1) forwards}@keyframes jdust-fly{0%{transform:translate(0) scale(.4);opacity:0}12%{opacity:1}70%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1.35);opacity:0}}.jdust{position:absolute;width:18px;height:18px;border-radius:50%;margin:-9px 0 0 -9px;box-shadow:0 0 18px 6px currentColor,0 0 4px 1px #fff inset;animation-name:jdust-fly;animation-timing-function:cubic-bezier(.35,-.35,.5,1);animation-fill-mode:forwards}@keyframes jring-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:1;border-width:6px}to{transform:translate(-50%,-50%) scale(1);opacity:0;border-width:1px}}.jring{position:absolute;width:96px;height:96px;border-radius:50%;border:6px solid var(--gold);animation:jring-pop calc(var(--dur-emph) * var(--motion-scale)) cubic-bezier(.15,.75,.35,1) forwards}.jring.big{width:150px;height:150px}@keyframes jnum-rise{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}22%{transform:translate(calc(-50% + var(--dx,0px)),-120%) scale(1.15);opacity:1}to{transform:translate(calc(-50% + var(--dx,0px)),-260%) scale(1);opacity:0}}.jnum{position:absolute;font:800 22px/1 system-ui,sans-serif;font-style:normal;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 14px rgba(0,0,0,.5);white-space:nowrap;animation:jnum-rise calc(.76s * var(--motion-scale)) cubic-bezier(.2,.8,.3,1) forwards}.jnum.is-crit{font-size:40px;color:var(--gold)}.jnum.is-hurt{color:var(--red)}.jnum.is-heal{color:var(--green)}.jnum.is-block{font-size:17px;color:#a0e6ff}
