:root{--ember:var(--pal-ember);--ember2:var(--pal-ember-l);--ink:var(--pal-ink);--panel:rgb(from var(--pal-panel) r g b / 92%);--line:rgb(from var(--pal-ember-l) r g b / 25%);--text:var(--pal-text);--muted:var(--pal-slate-h);--xp:var(--pal-r-blue);--pact:var(--pal-pact);--fusion:var(--pal-r-gold);--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);--display:"Cinzel", georgia, serif;--ui:"Chakra Petch", system-ui, sans-serif;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--bd:1px;--bd-strong:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--elev-1:inset 0 1px 0 rgb(from var(--pal-white) r g b / 12%), inset 0 -3px 0 rgb(from var(--pal-ink) r g b / 25%);--elev-2:0 16px 48px rgb(from var(--pal-ink) r g b / 60%);--glow-c:var(--pal-ember);--focus-color:var(--pal-ember-l);--focus-width:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;--glow-1:0 0 12px rgb(from var(--glow-c) r g b / 45%);--glow-2:0 0 22px rgb(from var(--glow-c) r g b / 55%);--glow-3:0 0 40px rgb(from var(--glow-c) r g b / 40%)}html,body{background:var(--ink);height:100%;color:var(--text);font-family:var(--ui);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#game{position:fixed;inset:0}#game canvas{display:block}.hidden{display:none!important}#loading{font-family:var(--display);color:var(--ember);letter-spacing:4px;place-items:center;font-size:28px;display:grid;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#xpbar{top:var(--sat);background:rgb(from var(--pal-ink) r g b / 85%);border-bottom:var(--bd) solid rgb(from var(--pal-r-blue) r g b / 40%);height:16px;position:absolute;left:0;right:0}#xpfill{background:linear-gradient(90deg, var(--pal-r-blue), var(--pal-frost), var(--pal-frost-l));--glow-c:var(--pal-r-blue);width:0;height:100%;box-shadow:var(--glow-1);transition:width .12s}#lvl{text-shadow:0 1px 2px var(--pal-ink);font-size:12px;font-weight:700;line-height:16px;position:absolute;top:0;right:10px}#topbar{top:calc(22px + var(--sat));left:calc(10px + var(--sal));right:calc(10px + var(--sar));justify-content:space-between;align-items:flex-start;display:flex;position:absolute}#inv{flex-direction:column;gap:3px;min-width:120px;display:flex}.inv-row{flex-wrap:wrap;gap:3px;max-width:300px;display:flex}.slot{border-radius:var(--r-sm);background:rgb(from var(--pal-ink) r g b / 70%);border:var(--bd) solid rgb(from var(--pal-white) r g b / 15%);width:36px;height:36px;position:relative}.slot.small{width:26px;height:26px}.slot img{border-radius:var(--r-sm);width:100%;height:100%;display:block}.slot span{background:var(--pal-ink);border-radius:var(--r-sm);padding:0 3px;font-size:11px;font-weight:700;line-height:13px;position:absolute;bottom:-3px;right:-2px}.slot.max{border-color:var(--fusion);--glow-c:var(--fusion);box-shadow:var(--glow-1)}.slot.fused{border-color:var(--pal-white);--glow-c:var(--fusion);box-shadow:var(--glow-1)}.slot.fused span{color:var(--fusion)}.slot.pact{border-color:var(--pact);--glow-c:var(--pact);box-shadow:var(--glow-1)}#timer{font-family:var(--display);letter-spacing:2px;text-shadow:var(--glow-2), 0 2px 2px var(--pal-ink);font-size:30px;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}#timer.endless{color:var(--pal-heye);--glow-c:var(--pal-heye);text-shadow:var(--glow-2)}#counters{text-shadow:0 1px 3px var(--pal-ink);flex-direction:column;align-items:flex-end;gap:2px;font-size:16px;display:flex}.cind-ic{color:var(--ember2)}#bossbar{top:calc(72px + var(--sat));opacity:0;width:min(560px,80vw);transition:opacity .4s;position:absolute;left:50%;transform:translate(-50%)}#bossbar.on{opacity:1}#bossbar .name{text-align:center;font-family:var(--display);letter-spacing:3px;color:var(--pal-hfire-h);--glow-c:var(--pal-heye);text-shadow:var(--glow-1);font-size:15px;font-weight:900}#bossbar .track{border:var(--bd) solid var(--pal-heye);background:rgb(from var(--pal-g-ash) r g b / 80%);border-radius:var(--r-pill);height:10px;overflow:hidden}#bossbar .fill{background:linear-gradient(90deg, var(--pal-heye-d), var(--pal-heye), var(--pal-hfire-h));height:100%;transition:width .15s}#kindle{right:calc(14px + var(--sar));top:calc(84px + var(--sat));text-align:right;opacity:0;transition:opacity .25s,transform .25s;position:absolute;transform:translate(20px)}#kindle.on{opacity:1;transform:none}#kindle .lbl{letter-spacing:4px;color:var(--muted);font-size:11px}#kindle .mul{font-family:var(--display);color:var(--ember);text-shadow:var(--glow-1), 0 2px 2px var(--pal-ink);font-size:34px;font-weight:900;line-height:1}#kindle[data-tier="0"] .mul{color:var(--pal-slate-h);text-shadow:0 2px 2px var(--pal-ink)}#kindle[data-tier="3"] .mul,#kindle[data-tier="4"] .mul{color:var(--pal-ember-l)}#kindle[data-tier="5"] .mul,#kindle[data-tier="6"] .mul{color:var(--pal-ember-h);--glow-c:var(--pal-ember-h);text-shadow:var(--glow-1), var(--glow-2), var(--glow-3)}#kindle .cnt{font-size:13px;font-weight:600}#kindle .next{color:var(--muted);font-size:11px}#kindle .bar{background:rgb(from var(--pal-white) r g b / 12%);border-radius:var(--r-pill);width:120px;height:4px;margin:3px 0 2px auto;overflow:hidden}#kindle .bar>div{background:var(--ember);height:100%}#kindle.pop .mul{animation:.45s cubic-bezier(.2,2,.4,1) pop}@keyframes pop{0%{transform:scale(1.9)}to{transform:scale(1)}}#flare{bottom:calc(18px + var(--sab));border:var(--bd) solid rgb(from var(--pal-r-pink) r g b / 50%);border-radius:var(--r-pill);background:rgb(from var(--pal-ink) r g b / 75%);width:min(340px,70vw);height:18px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}#flare .fill{background:linear-gradient(90deg, var(--pal-rose), var(--pal-r-pink), var(--pal-rose-l));width:0;height:100%;transition:width .15s}#flare span{letter-spacing:3px;text-shadow:0 1px 2px var(--pal-ink);place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0}#flare kbd{font-family:var(--ui);border:var(--bd) solid rgb(from var(--pal-white) r g b / 40%);border-radius:var(--r-sm);padding:0 4px;font-size:11px;line-height:1}#flare.ready{border-color:var(--pal-white);animation:.8s infinite alternate flarepulse}@keyframes flarepulse{0%{box-shadow:var(--glow-1)}to{box-shadow:var(--glow-2), var(--glow-3)}}#pausebtn{pointer-events:auto;right:calc(10px + var(--sar));bottom:calc(12px + var(--sab));border-radius:var(--r-pill);border:var(--bd) solid var(--line);background:rgb(from var(--pal-ink) r g b / 70%);width:44px;height:44px;color:var(--text);cursor:pointer;font-weight:700;position:absolute}#flarebtn{pointer-events:auto;right:calc(18px + var(--sar));bottom:calc(70px + var(--sab));border-radius:var(--r-pill);border:var(--bd-strong) solid rgb(from var(--pal-r-pink) r g b / 40%);background:rgb(from var(--pal-panel) r g b / 60%);width:74px;height:74px;color:var(--pal-rose-l);opacity:.5;font-size:34px;display:none;position:absolute}#flarebtn .ic{font-size:.8em;line-height:1;display:block}#flarebtn small{letter-spacing:.5px;max-width:64px;margin:2px auto 0;font-size:11px;font-weight:700;line-height:1.05;display:block}#flare.ready,#flarebtn.ready{--glow-c:var(--pal-r-pink)}#flarebtn.ready{opacity:1;border-color:var(--pal-white);box-shadow:var(--glow-2)}#toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:34%;left:0;right:0}.toast{font-family:var(--display);letter-spacing:4px;text-align:center;--glow-c:var(--pal-ink);text-shadow:var(--glow-1), 0 2px 2px var(--pal-ink);color:var(--pal-white);padding:0 12px;font-size:clamp(18px,3.4vw,30px);font-weight:900;animation:2.6s ease-out forwards toast}.toast.boss{color:var(--pal-heye);--glow-c:var(--pal-hfire);text-shadow:var(--glow-2), 0 2px 2px var(--pal-ink);font-size:clamp(22px,4.5vw,40px)}.toast.warn{color:var(--pal-rose-l)}.toast.fusion{color:var(--fusion);--glow-c:var(--fusion);text-shadow:var(--glow-2), var(--glow-3), 0 2px 2px var(--pal-ink);font-size:clamp(22px,4.5vw,40px)}.toast.pact{color:var(--pact);--glow-c:var(--pact);text-shadow:var(--glow-2)}.toast.kindle{color:var(--ember);font-size:clamp(16px,2.6vw,24px)}.toast.flare{color:var(--pal-rose-l);--glow-c:var(--pal-r-pink);text-shadow:var(--glow-2)}.toast.pickup{color:var(--pal-frost-l);font-size:clamp(16px,2.6vw,22px)}@keyframes toast{0%{opacity:0;transform:scale(1.6)}10%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-30px)}}#joy{border-radius:var(--r-pill);border:var(--bd-strong) solid rgb(from var(--pal-white) r g b / 25%);background:rgb(from var(--pal-white) r g b / 5%);pointer-events:none;width:130px;height:130px;margin:-65px 0 0 -65px;display:none;position:fixed}#joy-knob{border-radius:var(--r-pill);background:rgb(from var(--pal-ember) r g b / 50%);width:52px;height:52px;box-shadow:var(--glow-1);position:absolute;top:39px;left:39px}#screen{padding:max(16px, var(--sat)) max(16px, var(--sar)) max(16px, var(--sab)) max(16px, var(--sal));z-index:10;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#screen.show{animation:.18s ease-out screen-in;display:flex}@keyframes screen-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}#screen.dim{background:radial-gradient(ellipse at center, rgb(from var(--pal-ink) r g b / 55%), rgb(from var(--pal-ink) r g b / 88%));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#screen.title{background:radial-gradient(ellipse at 50% 120%, rgb(from var(--pal-ember) r g b / 35%), transparent 55%), radial-gradient(ellipse at 50% 40%, var(--pal-panel), var(--pal-ink) 70%)}#screen.title:before{content:"";background-image:radial-gradient(2px 2px at 20% 30%, var(--pal-r-bronze) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 70% 60%, var(--pal-ember) 50%, transparent 51%), radial-gradient(2px 2px at 40% 80%, var(--pal-ember-l) 50%, transparent 51%), radial-gradient(1px 1px at 85% 20%, var(--pal-white) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 10% 70%, var(--pal-ember) 50%, transparent 51%);opacity:.7;pointer-events:none;background-size:300px 300px;animation:14s linear infinite embers;position:absolute;inset:0}@keyframes embers{0%{background-position:0 0}to{background-position:0 -600px}}.title-wrap{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex;position:relative}.logo{font-family:var(--display);letter-spacing:clamp(4px,1.4vw,14px);background:linear-gradient(180deg, var(--pal-ember-h) 10%, var(--pal-ember-l) 45%, var(--pal-ember) 75%, var(--pal-ember-d));color:#0000;filter:drop-shadow(var(--glow-2));-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,11vw,110px);font-weight:900;line-height:1;position:relative}.ember-dot{border-radius:var(--r-pill);background:var(--pal-ember-h);width:14px;height:14px;box-shadow:var(--glow-2), var(--glow-3);animation:1.6s infinite alternate flicker;position:absolute;top:-18px;left:50%}@keyframes flicker{0%{opacity:1;transform:translate(-50%)scale(1)}50%{opacity:.75;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1.1)}}.tagline{color:var(--muted);font-size:clamp(14px,2vw,18px);line-height:1.5}.menu{flex-direction:column;gap:10px;width:min(320px,86vw);margin-top:6px;display:flex}.stats-line{color:var(--muted);font-size:13px}.howto{color:var(--pal-slate-l);max-width:520px;font-size:12px}.btn{pointer-events:auto;font-family:var(--ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text);background-color:var(--pal-panel);box-shadow:var(--elev-1);touch-action:manipulation;border:var(--bd) solid var(--line);border-radius:var(--r-md);cursor:pointer;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 20px;font-size:16px;font-weight:700;transition:transform 80ms,box-shadow .15s,border-color .15s;display:flex}.btn:hover:not(:disabled,[aria-disabled=true]){border-color:var(--ember);box-shadow:var(--glow-1);transform:translateY(-1px)}.btn:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}.btn.primary{background-color:var(--pal-ember);border-color:var(--pal-ember-l);color:var(--pal-wood-d);text-shadow:0 1px 0 rgb(from var(--pal-white) r g b / 30%);box-shadow:inset 0 2px 0 rgb(from var(--pal-white) r g b / 35%), inset 0 -4px 0 rgb(from var(--pal-ink) r g b / 25%)}.btn.primary:hover:not(:disabled,[aria-disabled=true]){box-shadow:var(--glow-2), inset 0 2px 0 rgb(from var(--pal-white) r g b / 35%), inset 0 -4px 0 rgb(from var(--pal-ink) r g b / 25%)}.btn.ghost{box-shadow:none;background:0 0}.btn.danger{color:var(--pal-hfire-h)}.btn:disabled,.btn[aria-disabled=true]{opacity:1;cursor:not-allowed;color:var(--muted);background:rgb(from var(--pal-ink) r g b / 45%);border-color:rgb(from var(--pal-slate) r g b / 70%);box-shadow:none;text-shadow:none}.btn small{color:var(--ember2);font-size:13px}.panel{background:var(--panel);border:var(--bd) solid var(--line);border-radius:var(--r-lg);padding:var(--space-5);width:min(560px,100%);max-height:calc(100vh - 32px);overscroll-behavior:contain;touch-action:pan-y;max-height:calc(100dvh - 32px);box-shadow:var(--elev-2), inset 0 1px 0 rgb(from var(--pal-white) r g b / 6%);animation:.22s ease-out panel-in;position:relative;overflow:auto}.panel.wide{width:min(980px,100%)}@keyframes panel-in{0%{opacity:0;transform:scale(.94)translateY(10px)}}.panel h2{font-family:var(--display);letter-spacing:3px;text-align:center;color:var(--ember2);margin:0 0 12px;font-weight:900}.panel h3{font-family:var(--display);letter-spacing:2px;color:var(--ember);margin:18px 0 8px;font-size:16px}.sub{text-align:center;color:var(--muted);margin-bottom:14px;line-height:1.5}.row{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.row.small .btn{padding:var(--space-2) var(--space-3);min-height:44px;font-size:13px}.wallet{text-align:center;color:var(--ember2);margin:0;font-weight:700}.card{pointer-events:auto;cursor:pointer;background:rgb(from var(--pal-panel) r g b / 85%);border:var(--bd) solid rgb(from var(--pal-white) r g b / 10%);border-radius:var(--r-md);transition:transform .1s,border-color .15s,box-shadow .15s}.card:hover{border-color:var(--ember);box-shadow:var(--glow-1)}.card.can-afford{border-color:rgb(from var(--pal-ember) r g b / 65%)}.card.cant-afford{border-color:rgb(from var(--pal-slate) r g b / 55%);background:rgb(from var(--pal-ink) r g b / 45%);cursor:not-allowed}.card.cant-afford:hover{border-color:rgb(from var(--pal-slate-h) r g b / 45%);box-shadow:none;transform:none}.card.cant-afford .mname{color:var(--muted)}.shortfall{border:var(--bd) solid rgb(from var(--pal-slate) r g b / 70%);border-radius:var(--r-pill);color:var(--muted);letter-spacing:0;vertical-align:1px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.char-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}@media (max-width:960px){.char-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.char-grid{grid-template-columns:repeat(2,1fr)}}.card.char{text-align:center;--glow-c:var(--c);padding:10px;position:relative}.card.char img{aspect-ratio:1;image-rendering:auto;width:min(112px,100%);height:auto;filter:drop-shadow(var(--glow-1))}.card.char.sel{border-color:var(--c);box-shadow:var(--glow-2);transform:translateY(-3px)}.card.char.locked img{filter:brightness(0) drop-shadow(var(--glow-1))}.cname{font-family:var(--display);color:var(--c);font-size:20px;font-weight:900}.ctitle{color:var(--muted);font-size:12px}.cw{justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.cw img{border-radius:var(--r-sm);filter:none!important;width:22px!important;height:22px!important}.cost{color:var(--ember2);margin-top:6px;font-weight:700}.char-detail{border-left:var(--bd-strong) solid var(--c);background:rgb(from var(--pal-white) r g b / 3%);border-radius:var(--r-sm);margin-top:14px;padding:12px 14px;font-size:14px;line-height:1.6}.flare-desc{color:var(--pal-rose-l)}.meta-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.card.meta{padding:10px 12px}.card.meta.maxed{opacity:.6;border-color:rgb(from var(--pal-r-gold) r g b / 40%)}.mname{color:var(--ember2);font-weight:700}.mdesc{color:var(--muted);font-size:12px;line-height:1.4}.mcost{color:var(--ember);margin-top:4px;font-weight:700}.pips{gap:3px;margin-top:6px;display:flex}.pips i{border-radius:var(--r-pill);background:rgb(from var(--pal-white) r g b / 12%);width:16px;height:5px}.pips i.on{background:var(--ember);box-shadow:var(--glow-1)}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.card.codex{cursor:default;gap:10px;padding:10px;display:flex}.card.codex>img{border-radius:var(--r-sm);--glow-c:var(--fusion);width:48px;height:48px;box-shadow:var(--glow-1)}.card.codex .sil{filter:brightness(.15)grayscale();box-shadow:none}.recipe{flex-wrap:wrap;align-items:center;gap:4px;margin:3px 0;font-size:12px;display:flex}.recipe img{border-radius:var(--r-sm);width:18px;height:18px}.mini-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;display:grid}.card.mini{cursor:default;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.card.mini img{border-radius:var(--r-sm);width:36px;height:36px}.rules{color:var(--text);padding-left:18px;font-size:14px;line-height:1.7}.rules b{color:var(--ember2)}.toggle{cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:8px 4px;font-size:16px;display:flex}.toggle input{width:24px;height:24px;accent-color:var(--ember)}.panel.levelup{text-align:center;border-color:rgb(from var(--pal-r-blue) r g b / 40%);--glow-c:var(--pal-r-blue);width:min(620px,100%);box-shadow:var(--glow-3), var(--elev-2)}.panel.levelup.banishing{border-color:var(--pact)}.lu-title{font-family:var(--display);letter-spacing:6px;background:linear-gradient(180deg, var(--pal-white), var(--pal-frost));color:#0000;--glow-c:var(--pal-r-blue);filter:drop-shadow(var(--glow-1));-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,5vw,40px);font-weight:900}.lu-sub{color:var(--muted);margin-bottom:12px}.picks{flex-direction:column;gap:8px;display:flex}.card.pick{text-align:left;align-items:center;gap:12px;padding:10px 12px;animation:.3s ease-out backwards card-in;display:flex;position:relative}@keyframes card-in{0%{opacity:0;transform:translate(-24px)}}.card.pick:hover{border-color:var(--pal-frost);--glow-c:var(--pal-frost);box-shadow:var(--glow-2);transform:translate(4px)}.card.pick img{border-radius:var(--r-md);flex:none;width:52px;height:52px}.card.pick.new{border-color:rgb(from var(--pal-r-green) r g b / 40%)}.card.pick.pact{border-color:var(--pact);background:linear-gradient(90deg, rgb(from var(--pal-heye-d) r g b / 85%), rgb(from var(--pal-g-ash) r g b / 85%));--glow-c:var(--pact);box-shadow:var(--glow-2)}.card.pick.pact .pk-name{color:var(--pact)}.card.pick.overcharge{border-color:var(--fusion)}.pk-key{border-radius:var(--r-pill);background:var(--pal-ink);border:var(--bd) solid var(--line);width:20px;height:20px;color:var(--muted);place-items:center;font-size:11px;display:grid;position:absolute;top:-8px;left:-8px}.pk-name{font-size:17px;font-weight:700}.pk-name .lv{color:var(--pal-frost);letter-spacing:1px;margin-left:6px;font-size:11px}.card.pick.new .lv{color:var(--pal-r-green)}.pk-desc{color:var(--text);opacity:.85;margin-top:2px;font-size:13px}.pk-hint{color:var(--fusion);margin-top:3px;font-size:11px}.statline{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:14px;font-size:12px;display:flex}.statline em{color:var(--pal-slate-l);margin-right:4px;font-style:normal}.statline span{color:var(--text)}.panel.chest{text-align:center;--amp:1;--glow:6px;--tc:var(--pal-r-gold);--glow-c:var(--tc);border-color:var(--tc);width:min(640px,100%);box-shadow:var(--glow-3), var(--elev-2);overflow:hidden}.panel.chest .lu-title{background:linear-gradient(180deg, var(--pal-r-light), var(--pal-ember));filter:drop-shadow(var(--glow-1));-webkit-background-clip:text;background-clip:text}.panel.chest.fusion{border-color:var(--pal-white);--glow-c:var(--fusion);box-shadow:var(--glow-3)}.rays{background:repeating-conic-gradient(rgb(from var(--pal-ember-l) r g b / 12%) 0 8deg, transparent 8deg 22deg);pointer-events:none;width:900px;height:900px;-webkit-mask-image:radial-gradient(circle, var(--pal-ink) 20%, transparent 60%);-webkit-mask-image:radial-gradient(circle, var(--pal-ink) 20%, transparent 60%);mask-image:radial-gradient(circle, var(--pal-ink) 20%, transparent 60%);margin:-450px;animation:12s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.reels{flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 10px;display:flex;position:relative}.reel{flex-direction:column;align-items:center;gap:6px;width:96px;display:flex}.reel-inner{border-radius:var(--r-md);border:var(--bd-strong) solid rgb(from var(--pal-white) r g b / 20%);background:rgb(from var(--pal-ink) r g b / 50%);width:76px;height:76px;overflow:hidden}.reel-inner img{filter:blur(1px)brightness(.7);width:100%;height:100%}.reel.done .reel-inner{border-color:var(--fusion);--glow-c:var(--fusion);box-shadow:var(--glow-2);animation:.4s cubic-bezier(.2,2,.4,1) pop}.reel.done img{filter:none}.reel.fusion .reel-inner{border-color:var(--pal-white);--glow-c:var(--fusion);box-shadow:var(--glow-2), var(--glow-3)}.reel-label{min-height:30px;font-size:12px;line-height:1.25}.reel-label span{color:var(--pal-frost)}.chest-cinders{color:var(--ember2);font-size:20px;font-weight:700;position:relative}.panel.chest .btn{margin:14px auto 0;position:relative}.panel.chest .rays{background:repeating-conic-gradient(color-mix(in srgb, var(--tc) 16%, transparent) 0 8deg, transparent 8deg 22deg)}.chest-stage{place-items:center;height:190px;margin:6px 0;display:grid;position:relative}.chest-big{width:176px;height:auto;image-rendering:pixelated;filter:drop-shadow(0 0 var(--glow) var(--tc));animation:.11s infinite chest-shake;position:relative}.chest-aura{border-radius:var(--r-pill);background:radial-gradient(circle, color-mix(in srgb, var(--tc) 45%, transparent), transparent 68%);width:230px;height:230px;animation:.9s ease-in-out infinite alternate aura;position:absolute}.chest-hint{color:var(--muted);letter-spacing:3px;text-transform:uppercase;font-size:13px;animation:.9s infinite alternate hint-blink;position:relative}.chest-flash{background:var(--pal-white);opacity:0;pointer-events:none;position:absolute;inset:0}.panel.chest.opened .chest-flash{animation:.7s ease-out chest-flash}.panel.chest.opened .chest-stage{height:0;margin:0;overflow:visible}.panel.chest.opened .chest-big{animation:.5s ease-out forwards chest-burst;position:absolute}.panel.chest.opened .chest-aura{animation:.7s ease-out forwards chest-burst}.panel.chest.opened .rays{background:repeating-conic-gradient(color-mix(in srgb, var(--tc) 28%, transparent) 0 8deg, transparent 8deg 22deg);animation-duration:4s}.panel.chest.ct-ascend.opened .rays,.panel.chest.ct-gold.opened .rays{animation-duration:2.5s}.panel.chest .reel.done .reel-inner{border-color:var(--tc);--glow-c:var(--tc);box-shadow:var(--glow-2)}@keyframes chest-shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(calc(var(--amp) * -1px), calc(var(--amp) * .4px)) rotate(calc(var(--amp) * -.5deg))}75%{transform:translate(calc(var(--amp) * 1px), calc(var(--amp) * -.4px)) rotate(calc(var(--amp) * .5deg))}}@keyframes aura{0%{opacity:.6;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}@keyframes hint-blink{0%{opacity:.4}to{opacity:1}}@keyframes chest-flash{0%{opacity:.95}to{opacity:0}}@keyframes chest-burst{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.perk-desc{color:var(--pal-spirit-l)}.req{color:var(--pal-hulk-l);margin-top:4px;font-size:11px}.req.ok{color:var(--pal-obj)}.card.meta.eternal .lv{color:var(--fusion);font-size:12px}.panel h3 small{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500}.difficulty{text-align:center;margin:6px 0 12px}.difficulty>span{margin-bottom:6px;font-weight:700;display:block}.difficulty small{color:var(--muted);font-weight:500}.difficulty em{color:var(--muted);margin-top:6px;font-size:12px;font-style:normal;display:block}.seg{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.seg button{pointer-events:auto;font:700 13px var(--ui);letter-spacing:1px;text-transform:uppercase;border-radius:var(--r-sm);border:var(--bd) solid var(--line);background:var(--pal-panel);min-width:74px;min-height:44px;color:var(--text);cursor:pointer;padding:10px 12px}.seg button.on{background:var(--pal-ember);border-color:var(--pal-ember-l);color:var(--pal-wood-d)}.panel.results{text-align:center;width:min(620px,100%)}.panel.results .lu-title{background:linear-gradient(180deg, var(--pal-text), var(--pal-heye));--glow-c:var(--pal-heye);filter:drop-shadow(var(--glow-1));-webkit-background-clip:text;background-clip:text}.panel.results.win .lu-title{background:linear-gradient(180deg, var(--pal-r-light), var(--pal-ember));--glow-c:var(--pal-ember);filter:drop-shadow(var(--glow-1));-webkit-background-clip:text;background-clip:text}.newbest{color:var(--fusion);letter-spacing:3px;border-radius:var(--r-sm);margin-top:6px;padding:2px 10px;font-weight:700;animation:.8s infinite alternate flarepulse;display:inline-block}.res-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0;display:grid}.res-grid div{background:rgb(from var(--pal-white) r g b / 4%);border-radius:var(--r-md);padding:8px}.res-grid em{color:var(--muted);letter-spacing:1px;font-size:11px;font-style:normal;display:block}.res-grid b{font-size:22px}table.dmg{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}table.dmg th{color:var(--muted);text-align:left;font-size:11px;font-weight:600}table.dmg td{text-align:left;border-top:var(--bd) solid rgb(from var(--pal-white) r g b / 5%);padding:3px 4px}table.dmg img{border-radius:var(--r-sm);width:26px;height:26px;display:block}.earned{color:var(--muted);margin-top:10px}.seals-earned{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0;display:flex}.seals-earned span{border:var(--bd) solid var(--ember2);border-radius:var(--r-pill);background:rgb(from var(--pal-ember) r g b / 10%);align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.seals-earned img,.records.seals img{width:22px;height:22px;image-rendering:pixelated}.records.seals td.got{color:var(--ember2)}.records.seals td.no,.records.seals small{color:var(--muted)}.earned b{color:var(--ember2);font-size:20px}.hook{color:var(--pal-r-green);min-height:20px;margin-top:6px;font-weight:600}@media (max-width:640px){#timer{font-size:22px;top:18px}.slot{width:28px;height:28px}.slot.small{width:20px;height:20px}#kindle{top:70px}#kindle .mul{font-size:26px}.res-grid{grid-template-columns:repeat(2,1fr)}.card.char img{width:80px;height:80px}}.feat-pop{z-index:20;pointer-events:none;text-align:center;border-radius:var(--r-md);border:var(--bd) solid var(--fusion);background:linear-gradient(180deg, rgb(from var(--pal-wood) r g b / 95%), rgb(from var(--pal-g-ash) r g b / 95%));--glow-c:var(--pal-ember-l);box-shadow:var(--glow-2);padding:10px 22px;animation:4.2s forwards feat-in;position:fixed;top:92px;left:50%;transform:translate(-50%)}.fp-k{letter-spacing:4px;color:var(--fusion);font-size:11px}.fp-n{font-family:var(--display);color:var(--pal-r-light);font-size:22px;font-weight:900}.fp-d{color:var(--ember2);font-size:12px}@keyframes feat-in{0%{opacity:0;transform:translate(-50%,-20px)scale(.9)}8%{opacity:1;transform:translate(-50%)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.card.mini.feat{opacity:.55}.card.mini.feat.done{opacity:1;border-color:rgb(from var(--pal-r-gold) r g b / 50%)}.feat-ic{color:var(--fusion);text-align:center;width:36px;font-size:22px}.run-feats{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.run-feats span{background:rgb(from var(--pal-r-gold) r g b / 12%);border:var(--bd) solid rgb(from var(--pal-r-gold) r g b / 40%);color:var(--fusion);border-radius:var(--r-pill);padding:3px 10px;font-size:12px;font-weight:700}.stage-h{text-align:left;margin-top:var(--space-4)}.stage-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (max-width:600px){.stage-grid{grid-template-columns:1fr}}.card.stage{gap:var(--space-2);padding:var(--space-2);align-items:stretch;display:flex}.card.stage .cname{font-size:16px}.card.stage.sel{border-color:var(--c);--glow-c:var(--c);box-shadow:var(--glow-2)}.card.stage.locked{opacity:.6}.stage-swatch{border-radius:var(--r-sm);border:var(--bd) solid rgb(from var(--pal-white) r g b / 15%);flex:none;align-self:stretch;place-items:center;width:72px;min-height:72px;display:grid;position:relative;overflow:hidden}.stage-swatch img{object-fit:contain;z-index:1;width:78%;height:78%;position:relative}.heat-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.heat-row>span{font-family:var(--display);color:var(--pal-hfire);letter-spacing:2px;margin-right:4px}.heat-row em{color:var(--muted);margin-left:6px;font-style:normal}.heat-row.muted{color:var(--muted)}.heat-btn{pointer-events:auto;width:auto;min-width:44px;height:44px;padding:0 var(--space-2);border-radius:var(--r-sm);border:var(--bd) solid rgb(from var(--pal-hfire) r g b / 40%);background:rgb(from var(--pal-wood-d) r g b / 70%);color:var(--text);cursor:pointer;white-space:nowrap;font-weight:700}.heat-btn.on{background:linear-gradient(180deg, var(--pal-hfire), var(--pal-hfire-b));border-color:var(--pal-ember-l);color:var(--pal-wood-d);--glow-c:var(--pal-hfire);box-shadow:var(--glow-1)}.lineup{justify-content:center;align-items:flex-end;gap:clamp(2px,1.5vw,14px);margin-top:-4px;display:flex}.lineup img{--glow-c:var(--c);width:clamp(44px,8vw,84px);height:auto;filter:drop-shadow(var(--glow-1));animation:2.4s ease-in-out infinite bob}.lineup img.locked{filter:brightness(0) drop-shadow(var(--glow-1));opacity:.7}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-height:700px){.lineup img{width:clamp(36px,6vw,60px)}}.card.mini.beast img{object-fit:contain;width:44px;height:44px;filter:drop-shadow(0 2px 3px rgb(from var(--pal-ink) r g b / 60%))}.card.mini.beast.unseen img{--glow-c:var(--pal-white);filter:brightness(0) drop-shadow(var(--glow-1))}.card.mini.beast.unseen b{color:var(--muted)}.daily-grid{align-items:center;gap:14px;font-size:14px;line-height:1.8;display:flex}.daily-grid>img{width:110px;height:110px;filter:drop-shadow(var(--glow-1));flex:none}.daily-grid .inl{vertical-align:middle;border-radius:var(--r-sm);width:18px;height:18px}.pactname{color:var(--pact)}.trial{color:var(--fusion);border:var(--bd) solid var(--fusion);border-radius:var(--r-sm);padding:0 5px;font-size:11px}.daily-rec{text-align:center;color:var(--muted);margin-top:12px}.daily-rec b{color:var(--ember2)}@media (max-width:520px){.daily-grid{text-align:center;flex-direction:column}}.hint-pop{z-index:15;pointer-events:none;text-align:center;border-radius:var(--r-md);border:var(--bd) solid rgb(from var(--pal-frost) r g b / 50%);background:rgb(from var(--pal-panel) r g b / 92%);max-width:min(520px,90vw);color:var(--pal-frost-h);--glow-c:var(--pal-r-blue);box-shadow:var(--glow-2);padding:10px 16px;font-size:15px;animation:5.5s forwards hint-in;position:fixed;bottom:56px;left:50%;transform:translate(-50%)}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,12px)}6%{opacity:1;transform:translate(-50%)}88%{opacity:1}to{opacity:0}}table.records td img{object-fit:contain;width:30px;height:30px}table.records td img.sil{filter:brightness(0)}.run-ctx{flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:-4px 0 12px;font-size:13px;font-weight:600;display:flex}.run-ctx span{border-radius:var(--r-pill);background:rgb(from var(--pal-white) r g b / 5%);border:var(--bd) solid rgb(from var(--pal-white) r g b / 10%);padding:2px 10px}.heat-tag{color:var(--pal-hfire);border-color:rgb(from var(--pal-hfire) r g b / 40%)!important}.daily-tag{color:var(--ember2)}.oc-tag{color:var(--fusion)}.death-recap{max-width:520px;color:var(--muted);margin:8px auto 0;font-size:13px}.death-recap b{color:var(--pal-hfire-h)}.slider{grid-template-columns:130px 1fr 48px;align-items:center;gap:10px;min-height:44px;padding:6px 4px;font-size:15px;display:grid}.slider input{accent-color:var(--ember);width:100%}.slider b{text-align:right;color:var(--ember2);font-size:13px}.dawn-btn{pointer-events:auto;margin-top:var(--space-2);font:600 12px var(--ui);letter-spacing:1px;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--r-pill);border:var(--bd) solid rgb(from var(--pal-ember-l) r g b / 40%);color:var(--muted);cursor:pointer;background:0 0}.dawn-btn.on{background:linear-gradient(180deg, var(--pal-ember-l), var(--pal-ember));color:var(--pal-wood-d);border-color:var(--pal-ember-h);--glow-c:var(--pal-ember-l);box-shadow:var(--glow-1)}.slot.ready{border-color:var(--pal-ember-h);--glow-c:var(--fusion);animation:.9s ease-in-out infinite alternate fuse-ready}@keyframes fuse-ready{0%{box-shadow:var(--glow-1)}to{box-shadow:var(--glow-2)}}.fuse-badge{filter:drop-shadow(0 0 3px var(--pal-r-gold));font-size:13px;font-style:normal;line-height:1;position:absolute;top:-6px;left:-4px}#goal{font-family:var(--display);letter-spacing:2px;color:var(--pal-skin);text-shadow:0 1px 2px var(--pal-ink);white-space:nowrap;opacity:.9;font-size:13px;position:absolute;top:58px;left:50%;transform:translate(-50%)}#objective{left:50%;bottom:calc(46px + var(--sab));border-radius:var(--r-md);border:var(--bd) solid rgb(from var(--pal-obj) r g b / 45%);background:rgb(from var(--pal-ink) r g b / 78%);--glow-c:var(--pal-obj);width:min(460px,78vw);box-shadow:var(--glow-2);text-align:center;padding:7px 12px 8px;display:none;position:absolute;transform:translate(-50%)}#objective.on{display:block}#objective .ob-head{font-family:var(--display);letter-spacing:3px;color:var(--pal-obj);text-shadow:0 1px 3px var(--pal-ink);justify-content:center;align-items:baseline;gap:10px;font-size:13px;font-weight:900;display:flex}#objective .ob-count{color:var(--pal-skin);font-size:15px}#objective .ob-bar{border-radius:var(--r-pill);background:rgb(from var(--pal-white) r g b / 12%);height:6px;margin:5px 0 4px;overflow:hidden}#objective .ob-bar>div{background:linear-gradient(90deg, var(--pal-obj), var(--pal-ember-l));width:0;height:100%;transition:width .15s}#objective .ob-sub{color:var(--pal-frost-h);text-shadow:0 1px 2px var(--pal-ink);font-size:12px;line-height:1.3}#objective.warn{border-color:var(--pal-hfire-h);--glow-c:var(--pal-hfire);box-shadow:var(--glow-2)}#objective.warn .ob-head{color:var(--pal-hfire-h)}#objective.done{border-color:var(--pal-ember-l);--glow-c:var(--pal-ember-l);box-shadow:var(--glow-2)}#objective.done .ob-head{color:var(--pal-ember-h)}#goal.alarm{color:var(--pal-moon);--glow-c:var(--pact);text-shadow:var(--glow-1);animation:1s ease-in-out infinite goal-pulse}@keyframes goal-pulse{50%{opacity:.45}}:where(a,button,input,.card,.toggle,[role=button]):focus-visible,.pad-focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.touch-only{display:none}body.touch .touch-only{display:block}body.touch .kbd-only{display:none!important}body.touch .btn{min-height:48px}body.touch .card,body.touch .heat-btn{touch-action:manipulation}body.touch #objective{left:calc(10px + var(--sal));width:calc(100vw - 132px - var(--sal));bottom:calc(62px + var(--sab));transform:none}body.touch #flare{left:calc(10px + var(--sal));width:min(280px,100vw - 84px);transform:none}body.touch #pausebtn{width:46px;height:46px;right:calc(14px + var(--sar));font-size:16px}body.touch #flarebtn{width:88px;height:88px;right:calc(14px + var(--sar));bottom:calc(76px + var(--sab));font-size:40px}body.touch .card.pick{padding:14px 12px}body.touch .toggle{min-height:44px}body.touch #toasts{top:28%}@media (max-height:500px){.panel{padding:var(--space-3) var(--space-4)}.panel h2{margin-bottom:var(--space-1)}.lu-title{letter-spacing:4px;font-size:22px}.lu-sub{margin-bottom:var(--space-1);font-size:13px}.card.pick{padding:6px 10px}.card.pick img{width:40px;height:40px}.row{margin-top:var(--space-2)}.logo{font-size:28px}#screen.title{justify-content:center;align-items:center;padding:6px 12px;overflow:hidden}#screen.title .title-wrap{gap:4px}#screen.title .ember-dot{box-shadow:var(--glow-1);top:-30px}#screen.title .tagline{font-size:12px;line-height:1.25}#screen.title .menu{gap:4px;margin-top:0}#screen.title .btn{min-height:40px;padding:4px 12px;font-size:14px}#screen.title .stats-line,#screen.title .howto,.lineup{display:none}#timer{font-size:18px}.chest-stage{height:96px}.chest-big{width:96px}}.panel>.dock{bottom:calc(var(--space-5) * -1);z-index:2;margin:var(--space-3) calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-5) var(--space-5) var(--space-3);background:linear-gradient(transparent, var(--panel) 18px);position:sticky}.panel>.dock .row{margin-top:var(--space-2);flex-wrap:wrap}.panel.select{gap:var(--space-3);flex-direction:column;scroll-padding-bottom:150px;display:flex}.panel.select>.char-grid,.panel.select>.stage-grid{flex:none}.panel.select>h2,.panel.select>h3,.panel.select>.char-detail,.panel.select>.heat-row,.panel.select>.scroll-hint{margin:0}.wallet-bar{top:calc(var(--space-5) * -1);z-index:2;margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-3);padding:var(--space-3) var(--space-5);background:var(--pal-panel);border-bottom:var(--bd) solid var(--line);position:sticky}.scroll-hint{text-align:center;color:var(--muted);letter-spacing:.5px;margin:0;font-size:12px;display:none}.obj-line{color:var(--muted);margin-top:2px;font-size:12px}.card.stage .req{margin-top:4px;font-size:12px}.unlock-banner{border:var(--bd) solid var(--pal-mint);border-radius:var(--r-md);background:rgb(from var(--pal-mint) r g b / 8%);margin:8px 0;padding:8px 12px;font-size:14px}.unlock-banner b{color:var(--pal-mint)}.card.mini.locked-item{opacity:.55}.card.mini.locked-item .req{color:var(--muted);font-size:12px}@media (max-width:960px){.char-grid,.stage-grid{align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-1);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--pal-ember-l) transparent;-webkit-mask-image:linear-gradient(to right, var(--pal-ink) calc(100% - 28px), transparent);-webkit-mask-image:linear-gradient(to right, var(--pal-ink) calc(100% - 28px), transparent);mask-image:linear-gradient(to right, var(--pal-ink) calc(100% - 28px), transparent);display:flex;overflow:auto hidden}.char-grid .card.char{scroll-snap-align:center;flex:0 0 104px}.stage-grid .card.stage{scroll-snap-align:center;flex:0 0 min(236px,78%)}.card.char img{width:64px;height:64px}.char-detail{padding:var(--space-2);font-size:13px;line-height:1.45}.scroll-hint{display:block}}@media (max-height:500px){.panel>.dock{bottom:calc(var(--space-3) * -1);margin:var(--space-2) calc(var(--space-4) * -1) calc(var(--space-3) * -1);padding:var(--space-2) var(--space-4)}.wallet-bar{top:calc(var(--space-3) * -1);margin:calc(var(--space-3) * -1) calc(var(--space-4) * -1) var(--space-2);padding:var(--space-2) var(--space-4)}}@media (max-width:640px){.panel.select h2{letter-spacing:2px;font-size:20px}.panel>.dock .row{gap:var(--space-1);flex-wrap:nowrap}.panel>.dock .btn{padding:10px var(--space-3);letter-spacing:1px;min-width:0;font-size:14px}#goal{white-space:normal;text-align:center;letter-spacing:.4px;width:min(250px,100vw - 24px);font-size:11px;line-height:1.25;top:72px;left:50%;transform:translate(-50%)}#kindle{top:108px}}@media (max-height:500px){#goal{top:calc(50px + var(--sat));white-space:nowrap;letter-spacing:2px;text-align:center;width:auto;max-width:34vw;left:50%;transform:translate(-50%)}#kindle{top:calc(68px + var(--sat))}#kindle .mul{font-size:22px}#kindle .bar{width:88px}#bossbar{top:calc(86px + var(--sat));width:min(200px,30vw)}body.touch #objective{left:calc(8px + var(--sal));width:min(40vw,220px);bottom:calc(34px + var(--sab))}body.touch #flare{left:calc(8px + var(--sal));bottom:calc(8px + var(--sab));width:min(40vw,220px);transform:none}body.touch #flarebtn{right:calc(8px + var(--sar));bottom:calc(8px + var(--sab));width:56px;height:56px;font-size:26px}body.touch #pausebtn{right:calc(72px + var(--sar));bottom:calc(14px + var(--sab));width:44px;height:44px}}.cost.said,.mcost.said{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cost.can-afford,.mcost.can-afford{color:var(--ember)}.cost.cant-afford,.mcost.cant-afford{color:var(--muted)}.btn.primary.cant-afford,.btn.primary[aria-disabled=true]{background:var(--pal-panel);color:var(--muted);border-color:rgb(from var(--pal-slate) r g b / 70%)}.card.stage.locked:hover,.card.meta.maxed:hover{border-color:rgb(from var(--pal-white) r g b / 12%);box-shadow:none;transform:none}
