:root{--bg:#0b0918;--panel:#16112acc;--panel-solid:#1a1430;--line:#ffffff17;--text:#f4effe;--muted:#a99fca;--gold:#ffd36b;--gold-deep:#e2a42e;--accent:#b07bff;--danger:#ff5b7a;--ok:#7dffb0;--font:"Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Lilita One", "Fredoka", system-ui, sans-serif;--radius:14px;--gap:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;font-size:15px;overflow:hidden}#app{position:fixed;inset:0}.hidden{display:none!important}.sky{--dawn:0;z-index:0;background:radial-gradient(120% 90% at 50% 0,#241a4a 0%,#120d27 45%,#07050f 100%);transition:filter 2s;position:fixed;inset:0}.sky:before{content:"";opacity:calc(1 - var(--dawn));background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff8 50%,#0000 51%),radial-gradient(1px 1px at 33% 9%,#fff7 50%,#0000 51%),radial-gradient(1.5px 1.5px at 58% 22%,#fff9 50%,#0000 51%),radial-gradient(1px 1px at 72% 12%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 88% 30%,#fff8 50%,#0000 51%),radial-gradient(1px 1px at 20% 40%,#fff5 50%,#0000 51%),radial-gradient(1px 1px at 81% 55%,#fff5 50%,#0000 51%),radial-gradient(1.5px 1.5px at 44% 70%,#fff4 50%,#0000 51%),radial-gradient(1px 1px at 6% 80%,#fff5 50%,#0000 51%),radial-gradient(1px 1px at 93% 88%,#fff5 50%,#0000 51%);transition:opacity 3s;position:absolute;inset:0}.sky:after{content:"";opacity:calc(var(--dawn) * .9);background:linear-gradient(#1a1338 0%,#3a2a6e 20%,#8b4f9e 48%,#e6708f 78%,#ff9e7a 100%);transition:opacity 3s;position:absolute;inset:0}.sky.endless:after{opacity:.55;background:linear-gradient(#150a1e 0%,#3b0f2c 60%,#6e1430 100%)}.sky.victory:after{opacity:1;background:linear-gradient(#2e2560 0%,#6e5aa8 15%,#e6708f 50%,#ff9e7a 75%,#ffd36b 100%)}.stage{z-index:1;touch-action:none;position:fixed;inset:0}body.menu .stage{filter:blur(3px)brightness(.55)saturate(1.1);transition:filter .6s}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 30px #00000059}.btn{font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;background:linear-gradient(#3a2f62,#2a2148);border:1px solid #ffffff1f;border-radius:12px;padding:10px 16px;font-weight:600;transition:transform 80ms,filter .15s,box-shadow 80ms;box-shadow:0 3px #00000059,inset 0 1px #ffffff1f}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #00000059}.btn:disabled{opacity:.45;cursor:default}.btn.primary{color:#2a1606;text-shadow:0 1px #fff6;background:linear-gradient(#ffe08e,#f2a93b);border-color:#ffe9b0}.btn.danger{background:linear-gradient(#8a2a48,#5e1a33)}.btn.ghost{box-shadow:none;border-color:var(--line);background:0 0}.btn.small{border-radius:10px;padding:6px 10px;font-size:14px}.btn.big{border-radius:16px;padding:14px 28px;font-size:19px}.btn.icon{min-width:36px}.btn.on{outline:2px solid var(--gold)}.coin{vertical-align:-.12em;background:radial-gradient(circle at 35% 30%,#fff6c9 0 18%,#ffd36b 40%,#c98a1d 100%);border-radius:50%;width:.95em;height:.95em;margin-right:4px;display:inline-block;box-shadow:inset 0 0 0 1px #8a5a10,0 0 6px #ffd36b80}.heart{vertical-align:-.15em;clip-path:polygon(50% 0,100% 38%,78% 100%,22% 100%,0 38%);filter:drop-shadow(0 0 4px #ff8fc8);background:linear-gradient(160deg,#fff1fa,#ff8fc8 55%,#b04e8f);width:1em;height:1em;margin-right:5px;display:inline-block}.game-ui{z-index:2;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));pointer-events:none;grid-template-rows:auto 1fr auto;grid-template-areas:"top""board""bottom";gap:6px;display:grid;position:fixed;inset:0}.game-ui>.panel,.game-ui .btn,.game-ui .card,.game-ui .preview-item,.game-ui .relic-icon,.game-ui .toast{pointer-events:auto}.topbar{grid-area:top;align-items:center;gap:14px;min-height:48px;padding:6px 10px;display:flex}.stat{white-space:nowrap;align-items:center;font-size:19px;display:flex}.stat b{font-weight:700}.stat.wave span:first-child{color:var(--muted);margin-right:6px;font-size:14px}.stat .of{color:var(--muted);font-size:15px}.stat .interest{color:var(--ok);margin-left:6px;font-size:13px;font-weight:600}.stat.bump,.btn.bump{animation:.25s ease-out bump}@keyframes bump{40%{transform:scale(1.18)}}.spacer{flex:1}.relics{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.relic-icon{border:1px solid var(--line);cursor:help;background:#ffffff0f;border-radius:9px;place-items:center;width:32px;height:32px;font-size:20px;display:grid}.relic-icon.rare{border-color:#7fb8ff88}.relic-icon.legendary{border-color:#ffd36b;box-shadow:0 0 10px #ffd36b66}.board-area{grid-area:board;min-height:0;position:relative}.bossbar{z-index:3;text-align:center;pointer-events:none;width:min(420px,80vw);position:fixed;top:64px;left:50%;transform:translate(-50%)}.boss-name{font-family:var(--display);letter-spacing:.04em;color:#ffb3c7;text-shadow:0 0 10px #ff4f7a,0 2px #000;font-size:18px}.bossbar .track{background:#0009;border:1px solid #ff5b8a66;border-radius:6px;height:10px;margin-top:3px;position:relative;overflow:hidden}.bossbar .fill{background:linear-gradient(90deg,#ff3d6e,#ff8fc8);transition:width .15s;position:absolute;inset:0 auto 0 0}.bossbar .shield{background:#62d8ff;height:4px;position:absolute;inset:0 auto 0 0}.preview{border:1px solid var(--line);z-index:3;scrollbar-width:none;background:#0a0716a8;border-radius:999px;align-items:center;gap:8px;max-width:96%;padding:5px 10px;display:flex;position:absolute;top:4px;left:50%;overflow-x:auto;transform:translate(-50%)}.preview-label{color:var(--muted);white-space:nowrap;font-size:13px}.preview-item{white-space:nowrap;cursor:help;align-items:center;gap:2px;font-size:14px;display:flex}.preview-item.boss b{color:#ffb3c7}.preview-img{width:28px;height:28px}.elite-badge{color:#ffd36b;font-size:11px}.actionbar{grid-area:bottom;align-items:stretch;gap:10px;padding:8px;display:flex}.shop{flex:1;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;min-width:0;display:grid}.card{--a:#888;--b:#888;font:inherit;color:var(--text);border:1px solid color-mix(in srgb, var(--a) 45%, transparent);background:radial-gradient(120% 90% at 50% 20%, color-mix(in srgb, var(--a) 30%, transparent), transparent 70%), linear-gradient(180deg, #2a2148, #1c1634);cursor:grab;touch-action:none;border-radius:13px;align-content:center;justify-items:center;gap:1px;min-height:112px;padding:6px 4px;transition:transform .1s,filter .15s;display:grid;position:relative;box-shadow:0 3px #00000059}.card:hover{filter:brightness(1.12);transform:translateY(-3px)}.card:active{cursor:grabbing}.card.rare{border-color:var(--gold);box-shadow:0 0 12px #ffd36b55,0 3px #00000059}.card.poor{filter:saturate(.4)brightness(.8)}.card.poor .price{color:var(--danger)}.card.locked{outline:2px solid var(--gold);outline-offset:-2px}.card.sold{border-style:dashed;border-color:var(--line);cursor:default;box-shadow:none;background:#ffffff05}.card.sold.held{border-color:var(--gold);background:#ffd36b14}.sold-label{color:var(--gold);font-size:12px}.card.sold.held{cursor:pointer;gap:4px;display:grid}.cancel-label{color:var(--muted);font-size:11px}.card-img{pointer-events:none;filter:drop-shadow(0 4px 6px #0006);width:58px;height:58px;margin-top:-4px}.card-name{font-size:13px;font-weight:600;line-height:1.1}.card-tier{color:var(--gold);letter-spacing:1px;font-size:10px;line-height:1}.price{align-items:center;font-size:14px;font-weight:700;display:inline-flex}.card .key{color:var(--muted);font-size:10px;position:absolute;top:4px;left:6px}.card .lock{opacity:.55;cursor:pointer;padding:2px;font-size:13px;position:absolute;top:2px;right:3px}.card.locked .lock{opacity:1}.controls{grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;gap:8px;display:grid}.controls .reroll{grid-area:1/1;font-size:14px}.controls .surge{grid-area:1/2/span 2}.wave-group{grid-area:2/1;gap:6px;display:flex}.wave-btn{min-width:128px;font-size:16px}.wave-btn.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 4px #ffd36b44,0 0 24px #ffd36b88,0 3px #00000059}}.chain.on{outline:2px solid var(--accent);background:linear-gradient(#5f4ab0,#3f2f80)}.surge{background:#1c1634;border-radius:50%;place-items:center;width:76px;height:76px;padding:0;display:grid;position:relative}.surge-ring{--p:0%;background:conic-gradient(#ffe14a var(--p), #ffffff14 0);border-radius:50%;position:absolute;inset:4px;-webkit-mask:radial-gradient(circle,#0000 58%,#000 60%);mask:radial-gradient(circle,#0000 58%,#000 60%)}.surge-icon{filter:grayscale(.8)brightness(.8);font-size:28px}.surge.ready{animation:.9s ease-in-out infinite surge-ready}.surge.ready .surge-icon,.surge.active .surge-icon{filter:none}.surge.active{box-shadow:0 0 30px #ffe14a}@keyframes surge-ready{50%{transform:scale(1.06);box-shadow:0 0 0 5px #ffe14a55,0 0 30px #ffe14a}}.inspector{z-index:4;pointer-events:auto;width:min(320px,100vw - 24px);padding:12px;position:fixed;bottom:150px;right:12px}.insp-head{align-items:center;gap:10px;display:flex}.insp-img{width:64px;height:64px}.insp-title{flex:1;display:grid}.insp-title b{font-size:19px}.insp-title .tier{color:var(--gold);letter-spacing:2px}.insp-desc{color:#ddd5f3;margin:6px 0;font-size:14px;line-height:1.35}.insp-stats{grid-template-columns:1fr 1fr;gap:2px 14px;font-size:13px;display:grid}.insp-stats .row{color:var(--muted);justify-content:space-between;display:flex}.insp-stats b{color:var(--text)}.insp-react{color:var(--muted);margin:6px 0 0;font-size:13px}.insp-react b{color:var(--text);font-weight:600}.insp-combos{color:var(--muted);margin:8px 0;padding-left:18px;font-size:13px}.insp-combos li{margin:2px 0}.btn.sell{justify-content:space-between;width:100%;display:flex}.banners{z-index:5;pointer-events:none;justify-items:center;gap:6px;display:grid;position:fixed;top:32%;left:0;right:0}.banner{text-align:center;transition:opacity .4s,transform .4s;animation:.35s cubic-bezier(.2,1.4,.4,1) banner-in}.banner.out{opacity:0;transform:translateY(-20px)}.banner-title{font-family:var(--display);letter-spacing:.03em;text-shadow:0 3px #120a20,0 0 24px #b07bffb3;font-size:clamp(30px,6vw,54px)}.banner-sub{color:#e9e1ff;text-shadow:0 2px 4px #000;font-size:16px}.banner.boss .banner-title{color:#ffb3c7;text-shadow:0 3px #2a0612,0 0 30px #ff3d6e}.banner.clear .banner-title{color:var(--gold);text-shadow:0 3px #2a1606,0 0 24px #ffb84a;font-size:clamp(24px,4.4vw,40px)}.banner.dawn .banner-title{color:#fff3c9;text-shadow:0 4px #6e2a3a,0 0 40px #ffb38a;font-size:clamp(44px,9vw,86px)}@keyframes banner-in{0%{opacity:0;transform:scale(.6)}}.toasts{z-index:6;pointer-events:none;width:min(440px,100vw - 24px);position:fixed;top:112px;left:50%;transform:translate(-50%)}.toast{gap:2px;padding:10px 14px;font-size:14px;transition:opacity .35s;animation:.25s ease-out banner-in;display:grid}.toast b{color:var(--gold)}.toast.out{opacity:0}.drop-tip{z-index:8;border:1px solid var(--line);white-space:nowrap;pointer-events:none;background:#0e0a1ce6;border-radius:10px;padding:5px 10px;font-size:14px;font-weight:700;position:fixed;top:0;left:0}.drop-tip.merge{color:var(--gold);border-color:#ffd36b88}.drop-tip.fusion{color:#e2c6ff;border-color:#b07bff}.drop-tip.fresh{color:#fff;background:linear-gradient(90deg,#6b3fc4,#c0479b);border-color:#fff8;animation:1s infinite pulse}.drop-tip.bad{color:#ffb3c0;border-color:#ff5b7a88}.drop-tip.altar{color:var(--gold)}.drag-ghost{z-index:7;pointer-events:none;opacity:.92;filter:drop-shadow(0 10px 12px #00000080);position:fixed;top:0;left:0}.coins{z-index:6;pointer-events:none;position:fixed;inset:0}.coin.fly{width:16px;height:16px;margin:-8px 0 0 -8px;transition:transform .52s cubic-bezier(.5,0,.75,.2),opacity .52s;position:fixed}.tut-bubble{z-index:9;color:#2a1606;pointer-events:none;background:linear-gradient(#fff3c9,#ffd36b);border-radius:14px;max-width:min(300px,84vw);padding:10px 14px;font-size:16px;font-weight:600;line-height:1.3;transition:transform .25s ease-out;position:fixed;top:0;left:0;box-shadow:0 6px 24px #00000073}.tut-hand{z-index:9;pointer-events:none;filter:drop-shadow(0 4px 6px #0009);margin:-6px 0 0 -16px;font-size:40px;animation:1s ease-in-out infinite tap;position:fixed;top:0;left:0}@keyframes tap{50%{margin-top:6px}}.modal-root{z-index:20;pointer-events:none;position:fixed;inset:0}.modal-wrap{pointer-events:auto;opacity:0;background:#06040e8c;padding:16px;transition:opacity .2s;display:flex;position:absolute;inset:0;overflow-y:auto}.modal-wrap.in{opacity:1}.modal-wrap.out{opacity:0;pointer-events:none}.modal{background:var(--panel-solid);width:min(460px,100%);margin:auto;padding:20px;transition:transform .25s cubic-bezier(.2,1.4,.4,1);transform:scale(.94)}.modal-wrap.in .modal{transform:scale(1)}.modal.wide{width:min(760px,100%)}.modal.narrow{width:min(340px,100%)}.modal h2{font-family:var(--display);letter-spacing:.02em;text-align:center;margin:0 0 12px;font-size:28px;font-weight:400}.menu-list{gap:10px;display:grid}.confirm-text{text-align:center;margin:4px 0 8px;font-size:16px}.hint-line{text-align:center;color:var(--gold);margin:-4px 0 12px}.relic-pick{justify-items:center;gap:14px;display:grid}.relic-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;width:100%;display:grid}.relic-card{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:linear-gradient(#2c2350,#1d1736);border-radius:16px;align-content:start;justify-items:center;gap:4px;padding:16px 12px;transition:transform .12s,box-shadow .12s;animation:.4s cubic-bezier(.2,1.3,.4,1) backwards deal;display:grid}.relic-card:nth-child(2){animation-delay:70ms}.relic-card:nth-child(3){animation-delay:.14s}@keyframes deal{0%{opacity:0;transform:translateY(30px)rotate(-3deg)}}.relic-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000080}.relic-card.rare{border-color:#7fb8ff}.relic-card.legendary{border-color:var(--gold);box-shadow:0 0 22px #ffd36b55}.relic-card b{font-size:18px}.relic-card p{color:#ddd5f3;text-align:center;margin:4px 0 0;font-size:14px;line-height:1.35}.relic-big{font-size:40px;line-height:1.1}.rarity{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.legendary .rarity{color:var(--gold)}.rare .rarity{color:#7fb8ff}.reveal{--a:#fff;--b:#fff;text-align:center;justify-items:center;gap:6px;display:grid}.reveal-kicker{font-family:var(--display);letter-spacing:.12em;color:var(--gold);text-transform:uppercase;font-size:16px}.reveal-art{place-items:center;width:170px;height:170px;display:grid;position:relative}.rays{background:conic-gradient(from 0deg, transparent 0 10deg, color-mix(in srgb, var(--a) 50%, transparent) 10deg 20deg, transparent 20deg 40deg, color-mix(in srgb, var(--b) 50%, transparent) 40deg 50deg, transparent 50deg 70deg);animation:9s linear infinite spin;position:absolute;inset:-30px;-webkit-mask:radial-gradient(circle,#000 20%,#0000 70%);mask:radial-gradient(circle,#000 20%,#0000 70%)}@keyframes spin{to{transform:rotate(360deg)}}.reveal-img{width:150px;height:150px;animation:.6s cubic-bezier(.2,1.6,.4,1) reveal-pop;position:relative}@keyframes reveal-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}}.reveal h2{background:linear-gradient(90deg, var(--a), var(--b));color:#0000;filter:drop-shadow(0 2px #000);-webkit-background-clip:text;background-clip:text;margin:0;font-size:38px}.recipe{color:var(--muted);align-items:center;gap:6px;display:flex}.mini{vertical-align:middle;width:34px;height:34px}.reveal p{margin:4px 0;font-size:15px;line-height:1.4}.reveal .small{color:var(--muted);font-size:13px}.summary{text-align:center;gap:12px;display:grid}.summary h1{font-family:var(--display);margin:0;font-size:clamp(34px,6vw,52px);font-weight:400}.summary.won h1{color:#fff3c9;text-shadow:0 3px #6e2a3a,0 0 30px #ffb38a}.summary.lost h1{color:#d8c9ff;text-shadow:0 3px #120a20}.sum-sub{color:var(--muted);margin:-6px 0 0}.sum-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sum-stat{background:#ffffff0a;border-radius:12px;padding:8px;display:grid}.sum-stat span{color:var(--muted);font-size:12px}.sum-stat b{font-size:20px}.sum-disc{color:var(--muted);justify-content:center;align-items:center;gap:6px;display:flex}.xp-box{background:#ffffff0a;border-radius:14px;gap:4px;padding:12px;display:grid}.xp-row,.xp-total{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.xp-total{color:var(--gold);margin-top:4px;font-size:17px}.xp-bar{background:#00000073;border-radius:6px;height:10px;overflow:hidden}.xp-fill{background:linear-gradient(90deg,#b07bff,#ffd36b);width:0;height:100%;transition:width 1.2s cubic-bezier(.3,.8,.3,1);box-shadow:0 0 10px #ffd36b88}.rank-line{margin-top:4px;font-weight:700}.rank-line.up{color:var(--gold);animation:.4s bump}.unlocks{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;display:grid}.unlocks h3{color:var(--gold);grid-column:1/-1;margin:0;font-size:15px}.unlock-card{background:linear-gradient(90deg,#ffd36b22,#0000);border:1px solid #ffd36b55;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:8px;animation:.5s .6s backwards deal;display:flex}.big-icon{font-size:22px}.feats{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.feat-pill{background:#ffd36b22;border:1px solid #ffd36b66;border-radius:999px;padding:4px 10px;font-size:13px}.sum-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.screen-root{z-index:10;pointer-events:none;position:fixed;inset:0}.screen{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));pointer-events:auto;opacity:0;transition:opacity .25s;position:absolute;inset:0;overflow-y:auto}.screen.in{opacity:1}.screen.out{opacity:0;pointer-events:none}.page-head{align-items:center;gap:12px;max-width:900px;margin:0 auto 14px;display:flex}.page-head h2{font-family:var(--display);margin:0;font-size:30px;font-weight:400}.title-page{text-align:center;align-content:center;justify-items:center;gap:26px;min-height:100%;display:grid}.logo{justify-items:center;display:grid}.logo-shards{gap:2px;height:64px;display:flex}.logo-shard{width:64px;height:64px;animation:3s ease-in-out infinite float}.logo-shard.s1{animation-delay:-.5s}.logo-shard.s2{animation-delay:-1s}.logo-shard.s3{animation-delay:-1.5s}.logo-shard.s4{animation-delay:-2s}.logo-shard.s5{animation-delay:-2.5s}@keyframes float{50%{transform:translateY(-8px)}}.logo-text{font-family:var(--display);letter-spacing:.04em;background:linear-gradient(#fff8e6 0%,#ffd36b 45%,#ff7a8e 75%,#b07bff 100%);color:#0000;filter:drop-shadow(0 5px #1a0f2e)drop-shadow(0 0 30px #ff8cb473);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(64px,16vw,132px);font-weight:400;line-height:.95}.tagline{color:#e9e1ff;text-shadow:0 2px 6px #000;margin:6px 0 0;font-size:18px}.title-actions{justify-items:center;gap:10px;display:grid}.title-actions .btn.big{min-width:240px}.btn.daily{justify-items:center;gap:2px;display:grid}.btn.daily small{color:var(--muted);font-size:12px;font-weight:500}.title-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.rank-card{text-align:left;gap:8px;width:min(380px,92vw);padding:12px 14px;display:grid}.rank-head{justify-content:space-between;display:flex}.rank-head span{color:var(--muted)}.rank-card .xp-fill{transition:none}.next-unlock{color:var(--muted);gap:6px;font-size:13px;display:grid}.next-unlock .unlock-card{justify-content:flex-start;animation:none}.setup-page,.grimoire-page,.settings-page,.help-page{gap:14px;max-width:900px;margin:0 auto;display:grid}.maps{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.map-card{font:inherit;color:var(--text);text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:14px;gap:4px;padding:10px;display:grid}.map-card.on{border-color:var(--gold);box-shadow:0 0 0 2px #ffd36b66}.map-card.locked{opacity:.5;cursor:default}.thumb{height:64px}.thumb svg{border-radius:8px;width:100%;height:100%;display:block}.map-desc{color:var(--muted);font-size:12px;line-height:1.3}.map-rec{color:var(--gold);font-size:12px}.setup-row h3{margin:0 0 8px;font-size:16px}.moons{flex-wrap:wrap;gap:6px;display:flex}.moon{font:inherit;color:#1a1030;border:1px solid var(--line);cursor:pointer;background:radial-gradient(circle at 35% 35%,#f3e9ff,#9b8fc4 60%,#3d3468);border-radius:50%;width:44px;height:44px;font-weight:700}.moon:nth-child(n+6){background:radial-gradient(circle at 35% 35%,#ffd0c4,#d8606f 60%,#5e1a33)}.moon.on{outline:3px solid var(--gold)}.moon.locked{opacity:.25;cursor:default}.moon-desc{color:var(--muted);margin:6px 0 0;font-size:13px}.elements{flex-wrap:wrap;gap:8px;display:flex}.elem{--a:#888;font:inherit;color:var(--text);border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 12px 6px 6px;display:flex}.elem.on{border-color:var(--a);box-shadow:0 0 12px color-mix(in srgb, var(--a) 50%, transparent);background:color-mix(in srgb, var(--a) 18%, var(--panel-solid))}.elem.locked{opacity:.35;cursor:default}.q{width:34px;height:34px;color:var(--muted);place-items:center;font-weight:700;display:inline-grid}.q.big{width:64px;height:64px;font-size:30px}.start{justify-self:center;min-width:260px}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab{font:inherit;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px}.tab.on{color:#2a1606;background:var(--gold)}.grimoire-body{gap:12px;display:grid}.fusion-grid{grid-template-columns:repeat(7,minmax(34px,64px));justify-content:center;gap:4px;display:grid}.fusion-grid .head,.fusion-grid .corner{color:var(--muted);place-items:center;font-size:12px;display:grid}.fusion-grid .head.dim{opacity:.35}.fusion-grid .cell{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--text);background:#ffffff08;border-radius:10px;place-items:center;padding:0;display:grid}.fusion-grid .cell.self{cursor:default;background:0 0;border:none}.fusion-grid .cell.known{background:#b07bff1a;border-color:#b07bff88}.fusion-grid .cell .mini{width:80%;height:80%}.fusion-detail{text-align:center;color:var(--muted);justify-items:center;min-height:70px;padding:12px;display:grid}.fusion-detail p{color:var(--text);margin:4px 0 0}.relic-list,.beast-list,.feat-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.relic-row,.beast,.feat{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.relic-row p,.beast p,.feat p{color:var(--muted);margin:2px 0 0;font-size:13px}.relic-row .relic-big{text-align:center;width:40px;font-size:30px}.unseen{opacity:.5}.beast-img{width:64px;height:64px}.feat.done{border-color:#ffd36b66}.feat-icon{font-size:22px}.feat-xp{color:var(--gold);white-space:nowrap;margin-left:auto;font-size:12px}.settings-list,.help-list{gap:14px;padding:16px;display:grid}.setting{justify-content:space-between;align-items:center;gap:12px;display:flex}.setting input[type=range]{width:50%;accent-color:var(--gold)}.setting.check input{width:22px;height:22px;accent-color:var(--gold)}.langs{gap:6px;display:flex}.help-step{align-items:flex-start;gap:12px;display:flex}.help-icon{text-align:center;flex:0 0 40px;font-size:26px}.help-step p{color:#ddd5f3;margin:2px 0 0;line-height:1.4}@media (width<=640px){body{font-size:14px}.topbar{flex-wrap:wrap;gap:10px;min-height:42px;padding:4px 8px}.stat{font-size:17px}.stat.wave span:first-child{display:none}.relics{order:10;width:100%}.relic-icon{width:26px;height:26px;font-size:16px}.actionbar{flex-direction:column;gap:8px;padding:6px}.shop{grid-template-columns:repeat(4,1fr);gap:6px}.card{min-height:94px}.card-img{width:48px;height:48px}.card-name{font-size:12px}.controls{grid-template-rows:auto;grid-template-columns:auto 1fr auto}.controls .reroll{grid-area:1/1}.wave-group{grid-area:1/2}.wave-group .wave-btn{flex:1;min-width:0}.controls .surge{grid-area:1/3;width:58px;height:58px}.inspector{width:auto;bottom:186px;left:8px;right:8px}.bossbar{top:86px}.sum-grid{grid-template-columns:repeat(2,1fr)}.modal{padding:16px}}@media (height<=520px) and (aspect-ratio>=4/3){.game-ui{grid-template:"top top""board bottom"1fr/1fr minmax(200px,30vw)}.topbar{min-height:40px;padding:3px 8px}.actionbar{flex-direction:column;overflow-y:auto}.shop{grid-template-columns:repeat(2,1fr)}.card{min-height:76px}.card-img{width:38px;height:38px}.controls{grid-template-columns:minmax(0,1fr) auto}.controls .surge{width:58px;height:58px}.wave-btn{flex:1;min-width:0;font-size:15px}.inspector{bottom:8px;right:calc(30vw + 20px)}.bossbar{top:50px}}body.no-flash .surge.ready,body.no-flash .wave-btn.pulse,body.no-flash .drop-tip.fresh{animation:none}@media (prefers-reduced-motion:reduce){.surge.ready,.wave-btn.pulse,.logo-shard,.rays{animation:none}}
