.coach{z-index:60;color:#f3e6c8;pointer-events:auto;background:linear-gradient(#281e16f5,#16100cf5);border:3px solid #c9a55a;border-radius:22px;align-items:center;gap:22px;padding:26px 34px;font-size:38px;line-height:1.3;animation:.26s ease-out both coach-in;display:flex;position:absolute;left:60px;right:60px;box-shadow:0 0 0 2px #1a120c,0 14px 40px #0000008c,inset 0 1px #ffe6aa40}.coach b{color:#ffd67a;font-weight:700}.coach-mark{color:#ecc56a;flex:none;font-size:44px}.coach-text{flex:1}.coach-go{color:#fff4dc;font:inherit;background:linear-gradient(#b8862e,#7a5418);border:2px solid #ecc56a;border-radius:16px;flex:none;padding:20px 34px;font-size:36px;font-weight:700}@keyframes coach-in{0%{opacity:0;transform:translateY(18px)}}.coach-pulse{z-index:5;animation:1.1s ease-in-out infinite coach-pulse;position:relative}@keyframes coach-pulse{0%,to{box-shadow:0 0 #ffd67ad9,0 0 24px #ffd67a80}50%{box-shadow:0 0 0 14px #ffd67a00,0 0 44px #ffd67acc}}.skip-tutorial{z-index:60;color:#f3e6c8cc;background:#140e0a99;border:2px solid #f3e6c859;border-radius:999px;padding:14px 26px;font-size:30px;position:absolute;top:190px;right:28px}.loom-board .cell.coach-cell{stroke:#ffd67a;stroke-width:8px;animation:1.1s ease-in-out infinite coach-cell}@keyframes coach-cell{50%{stroke-opacity:.25}}.tray-item.coach-pulse{border-radius:24px}.station.muted{opacity:.45;filter:saturate(.4)}.create-hero{position:absolute;inset:0;overflow:hidden}.ch-head{text-align:center;text-shadow:0 3px 12px #000;position:absolute;top:100px;left:0;right:0}.ch-head h1{letter-spacing:2px;color:#f4d58c;margin:0;font-size:80px}.ch-shadow{pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;left:0;right:0}.ch-halo{background:radial-gradient(circle,#ecc56a55 0%,#ecc56a1c 45%,#0000 70%);border-radius:50%;width:760px;height:760px;margin-left:-380px;animation:2.6s ease-in-out infinite ch-halo;position:absolute;bottom:8%;left:50%}@keyframes ch-halo{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}.ch-shadow-img{object-fit:contain;object-position:bottom;filter:brightness(0)drop-shadow(0 0 18px #ecc56a88);opacity:.92;max-width:88%;height:100%;animation:.22s ease-out both ch-shadow-in;position:relative}@keyframes ch-shadow-in{0%{opacity:.4;transform:scale(.98)}to{opacity:.92;transform:none}}.ch-painting{font-family:var(--serif-body,Georgia, serif);color:#e9d3a0;text-shadow:0 2px 8px #000;font-size:32px;font-style:italic;animation:2.6s ease-in-out infinite ch-halo;position:absolute;bottom:-6px}.ch-picks{flex-direction:column;gap:26px;display:flex;position:absolute;left:24px;right:24px}.ch-row{flex-direction:column;gap:12px;display:flex}.ch-label{font-family:var(--display);color:#f4d58c;text-shadow:0 2px 6px #000;font-size:40px}.ch-val{font-family:var(--serif-body,Georgia, serif);color:#f3e6c8;margin-left:12px;font-size:32px}.ch-garbs{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stage button.ch-garb{color:#f3e6c8;background:#1a1218e6;border:4px solid #5a4a3a;border-radius:20px;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:250px;padding:10px 0 8px;font-size:40px;display:flex}.stage button.ch-garb img{object-fit:contain;filter:brightness(0)drop-shadow(0 0 6px #ecc56a66);height:170px}.stage button.ch-garb.on{color:#f4d58c;background:#2a1d14f0;border-color:#ecc56a}.ch-pals{justify-content:space-between;display:flex}.stage button.ch-pal{border:6px solid #120d12;border-radius:50%;width:104px;min-width:0;height:104px;padding:0;box-shadow:0 0 0 3px #5a4a3a}.stage button.ch-pal.on{transform:scale(1.08);box-shadow:0 0 0 6px #ecc56a}.ch-name{align-items:center;gap:18px;display:flex}.ch-name input{color:#f4d58c;min-width:0;height:120px;font:inherit;text-align:center;background:#1a1218e6;border:4px solid #c9953a;border-radius:18px;flex:1;padding:0 28px;font-size:54px}.stage button.ch-dice{width:140px;height:120px;padding:0;font-size:72px}.ch-bar{flex-direction:column;display:flex;position:absolute;left:24px;right:24px}.stage button.ch-begin{height:150px;font-size:58px}.stage button.ch-exit{z-index:5;min-width:0;height:100px;box-shadow:none;color:#c9b48a;text-shadow:0 2px 6px #000;background:0 0;border:none;padding:0 22px;font-size:36px;position:absolute;top:24px;left:16px}.ch-reveal{z-index:20;background:#0b0910;animation:.2s ease-out both chr-in;position:absolute;inset:0;overflow:hidden}@keyframes chr-in{0%{opacity:0}to{opacity:1}}.chr-rays{background:repeating-conic-gradient(from 0deg, #ecc56a22 0 6deg, transparent 6deg 18deg);opacity:0;border-radius:50%;width:2200px;height:2200px;margin:-1100px 0 0 -1100px;animation:.7s ease-out .3s forwards chr-rays-in,24s linear infinite chr-spin;position:absolute;top:38%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 62%);mask-image:radial-gradient(circle,#000 0%,#0000 62%)}@keyframes chr-rays-in{to{opacity:1}}@keyframes chr-spin{to{transform:rotate(360deg)}}.chr-flash{opacity:0;background:radial-gradient(circle at 50% 40%,#fff6dc 0%,#ecc56a99 22%,#0000 58%);animation:.9s ease-out .28s both chr-flash;position:absolute;inset:0}@keyframes chr-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.chr-figure{justify-content:center;align-items:flex-end;display:flex;position:absolute;left:0;right:0}.chr-figure img{object-fit:contain;object-position:bottom;max-width:92%;height:100%;position:absolute;bottom:0}.chr-shadow{filter:brightness(0);animation:.5s ease-in .38s forwards chr-shadow-out}@keyframes chr-shadow-out{to{opacity:0}}.chr-art{opacity:0;animation:.72s cubic-bezier(.2,.8,.2,1) .38s forwards chr-art-in}@keyframes chr-art-in{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:none}}.chr-name{text-align:center;opacity:0;animation:.42s ease-out 1s forwards chr-rise;position:absolute;left:0;right:0}.chr-name small{font-family:var(--serif-body,Georgia, serif);color:#c9b48a;font-size:34px;font-style:italic;display:block}.chr-name b{font-family:var(--display);color:#f4d58c;text-shadow:0 4px 18px #000;border-bottom:4px solid #c9953a;padding:0 24px 6px;font-size:96px;display:inline-block}@keyframes chr-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.chr-actions{opacity:0;grid-template-columns:1fr 560px 1fr;align-items:center;animation:.36s ease-out 1.25s forwards chr-rise;display:grid;position:absolute;left:24px;right:24px}.stage button.chr-begin{grid-column:2;height:150px;font-size:62px}.stage button.chr-redo{color:#f4d58c;background:#1a1218e6;border:4px solid #ecc56a;border-radius:50%;grid-column:3;justify-self:center;width:120px;min-width:0;height:120px;padding:0;font-size:68px;line-height:1}.stage button.chr-redo:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.ch-halo,.ch-painting,.chr-rays{opacity:1;animation:none}}.ch-pick-head{flex-direction:column;align-items:center;gap:10px;display:flex}.ch-pick-head b{font-family:var(--display);color:#f4d58c;text-shadow:0 4px 14px #000;font-size:96px;line-height:1}.ch-pips{gap:18px;display:flex}.ch-pips i{background:#1a1218cc;border:4px solid #ecc56a;border-radius:50%;width:26px;height:26px;transition:background .12s,transform .12s}.ch-pips i.on{background:#ecc56a;transform:scale(1.15)}.ch-traits{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.stage button.ch-trait{color:#f3e6c8;background:#1a1218e6;border:4px solid #5a4a3a;border-radius:48px;min-width:0;height:88px;padding:0 6px;font-size:40px}.stage button.ch-trait.on{color:#fff4dc;background:#6b4a1c;border-color:#ecc56a}@font-face{font-family:Alegreya SC;font-weight:500;font-display:swap;src:url(./AlegreyaSC-500-4QwauZv7.woff2)format("woff2")}@font-face{font-family:Alegreya SC;font-weight:700;font-display:swap;src:url(./AlegreyaSC-700-ztAmjLTs.woff2)format("woff2")}@font-face{font-family:Alegreya SC;font-weight:800;font-display:swap;src:url(./AlegreyaSC-800-CRktX6B4.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-display:swap;src:url(./AtkinsonHyperlegible-400-BrHNak5F.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-display:swap;src:url(./AtkinsonHyperlegible-700-GZI4o3u0.woff2)format("woff2")}@font-face{font-family:Alegreya;font-weight:400;font-style:normal;font-display:swap;src:url(./Alegreya-400-BLlBRtDv.woff2)format("woff2")}@font-face{font-family:Alegreya;font-weight:400;font-style:italic;font-display:swap;src:url(./Alegreya-400i-BXpar-rJ.woff2)format("woff2")}@font-face{font-family:Alegreya;font-weight:700;font-style:normal;font-display:swap;src:url(./Alegreya-700-Vpz_43wJ.woff2)format("woff2")}:root{--ink:#1d1822;--ink-2:#2a2331;--paper:#efe3c8;--paper-dim:#efe3c8a8;--gold-1:#ecc56a;--gold-2:#c9953a;--blood:#9a2a39;--blood-hi:#c8505a;--sky:#86c6f2;--display:"Alegreya SC", Georgia, serif;--body:"Atkinson Hyperlegible", system-ui, sans-serif}html,body,#root{overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#0a080d}.stage-frame{background:radial-gradient(at 50% 40%,#1b1622,#070509 80%);position:fixed;inset:0;overflow:hidden}.stage{transform-origin:50%;background:var(--ink);font-family:var(--body);color:var(--paper);touch-action:none;font-size:34px;position:absolute;top:50%;left:50%;overflow:hidden}.stage button{font-family:var(--display);color:var(--paper);border:4px solid var(--ink);letter-spacing:.02em;background:linear-gradient(#3a2f41,#231c29);border-radius:14px;padding:16px 30px;font-size:36px;font-weight:700;box-shadow:inset 0 0 0 2px #c9953a88,0 6px #0008}.stage button.primary{box-shadow:inset 0 0 0 2px var(--gold-1), 0 6px 0 #0008;color:#fff4dc;background:linear-gradient(#8f6420,#5a3a0e)}.stage button.big{min-width:520px;padding:24px 60px;font-size:48px}.stage button:disabled{opacity:.45}.stage .dim{color:var(--paper-dim)}.stage .bad{color:#ff8a80}.stage .good{color:#9be29f}.stage h1,.stage h2,.stage h3{font-family:var(--display);color:var(--gold-1);margin:0}.head{box-shadow:0 0 0 4px var(--ink), inset 0 0 0 2px #c9953a66;background:radial-gradient(circle at 50% 40%,#5a5f73,#252834);border-radius:50%;flex:none;overflow:hidden}.head .fig-svg,.fig .fig-svg{width:100%;height:100%;display:block}.flip{transform:scaleX(-1)}.backdrop{position:absolute;inset:0}.backdrop-svg{width:100%;height:100%;display:block}.backdrop.dimmed:after{content:"";background:linear-gradient(#0b0a1066,#0b0a10aa);position:absolute;inset:0}.battle .backdrop [data-layer]{animation:none!important}.backdrop [data-layer="1"]{animation:14s steps(8,end) infinite alternate drift}.backdrop [data-layer="2"]{animation:10s steps(8,end) infinite alternate-reverse drift}.backdrop [data-layer="3"]{animation:8s steps(6,end) infinite alternate drift2}@keyframes drift{to{transform:translate(10px)}}@keyframes drift2{to{transform:translate(-16px)}}.title-screen{position:absolute;inset:0}.title-card{text-align:center;position:absolute;top:220px;left:0;right:0}.title-card h1{letter-spacing:.16em;color:var(--paper);text-shadow:0 0 40px #6a44a3, 0 8px 0 var(--ink);font-size:200px}.tagline{font-family:var(--display);color:var(--gold-1);margin-top:12px;font-size:44px}.title-party>div{filter:drop-shadow(0 20px 20px #0009)}.title-actions{flex-direction:column;align-items:center;gap:28px;display:flex;position:absolute;bottom:170px;left:0;right:0}.battle,.field{position:absolute;inset:0}.unit{width:0;height:0;transition:transform .12s steps(2,end);position:absolute}.unit .shadow{background:radial-gradient(#0009,#0000 70%);border-radius:50%;width:220px;height:48px;position:absolute;top:-24px;left:-110px}.unit .bob{will-change:transform;animation:1.4s steps(3,end) infinite alternate bob;position:absolute}.unit.foe .bob{animation-duration:1.7s}@keyframes bob{to{transform:translateY(-7px)scaleY(1.012)}}.unit.party.lunge{transform:translate(120px,-60px)}.unit.foe.lunge{transform:translate(-140px,90px)}.unit.hurt .bob{animation:.3s steps(4,end) shake}.unit.hurt .fig{filter:brightness(1.6)saturate(.4)}@keyframes shake{0%{transform:translate(-14px)}50%{transform:translate(12px)}to{transform:translate(-4px)}}.unit.dead .bob{animation:.7s steps(5,end) forwards fall}@keyframes fall{to{opacity:0;transform:translateY(20px)scaleY(.2)}}.unit.party.dead .bob{opacity:.35;filter:grayscale();animation:none;transform:translateY(20px)rotate(-8deg)}.unit.is-broken .bob{animation:none;transform:rotate(-7deg)translateY(12px)}.unit.active.party:before{content:"";border:6px solid var(--gold-1);width:260px;height:80px;box-shadow:0 0 30px var(--gold-2);border-radius:50%;animation:1.2s steps(3,end) infinite alternate pulse;position:absolute;top:-40px;left:-130px}.unit.pickable:after{content:"Link";text-align:center;width:160px;font-family:var(--display);color:var(--ink);background:var(--gold-1);border-radius:30px;padding:6px 0;font-weight:800;animation:.8s steps(2,end) infinite alternate pulse;position:absolute;top:-440px;left:-80px}@keyframes pulse{to{opacity:.55}}.tint-cinder{filter:hue-rotate(-20deg)saturate(1.8)brightness(1.1)drop-shadow(0 0 18px #f59142)}.tint-iron{filter:saturate(.6)brightness(.85)drop-shadow(0 0 10px #94a2b6)}.reticle{width:240px;height:240px;position:absolute;top:-120px;left:-120px;transform:scaleY(.36)}.reticle>div{border:10px dashed var(--blood-hi);border-radius:50%;width:100%;height:100%;animation:6s steps(24,end) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.foe-tag{text-align:center;pointer-events:none;width:260px;position:absolute;left:-130px}.foe-name{font-family:var(--display);text-shadow:0 2px 0 var(--ink), 0 0 10px var(--ink);font-size:30px;font-weight:700}.elite-mark{color:var(--gold-1);margin-left:8px;font-size:22px}.gbar{border:3px solid var(--ink);background:#0b0a10cc;border-radius:8px;height:16px;margin-top:4px;overflow:hidden}.gbar>div{background:linear-gradient(#c8505a,#6b1a28);height:100%;transition:width .35s steps(4,end)}.gbar.brk{height:10px}.gbar.brk.full>div{background:#fff4dc;animation:.4s steps(2,end) infinite alternate pulse}.statuses{justify-content:center;gap:6px;margin-top:4px;font-size:24px;display:flex}.st{background:#1d1822dd;border:2px solid #fff2;border-radius:10px;padding:0 8px}.st.s-marked{color:#d2bff2}.st.s-slow{color:#b3cbf5}.st.s-fracture{color:#dccdb2}.st.s-burn{color:#f59142}.st.s-poison{color:#9be29f}.st.barrier{color:#fbe8b0}.hero-tag{width:240px;position:absolute;top:10px;left:-120px}.boss-bar{border:4px solid var(--ink);background:#1d1822cc;border-radius:16px;padding:12px 24px 16px;position:absolute;top:170px;left:60px;right:60px;box-shadow:inset 0 0 0 2px #c9953a66}.boss-name{font-family:var(--display);color:var(--gold-1);font-size:38px;font-weight:800}.boss-phase{color:var(--paper-dim);font-size:26px}.gbar.hp.boss{height:26px}.boss-bar .row{align-items:center;gap:12px;display:flex}.boss-bar .row .gbar{flex:1}.timeline{border:4px solid var(--ink);background:linear-gradient(#1d1822ee,#1d182299);border-radius:70px;align-items:center;gap:10px;height:130px;padding:0 14px;display:flex;position:absolute;top:24px;left:20px;right:20px;overflow:hidden;box-shadow:inset 0 0 0 2px #c9953a55}.tl-round,.tl-sep{font-family:var(--display);color:var(--gold-1);padding:0 6px;font-size:28px;font-weight:800}.tl-sep{color:var(--paper-dim);border-left:3px solid #fff3;padding-left:14px}.tl-cell.is-broken{opacity:.5}.fx-layer{pointer-events:none;z-index:3000;width:1080px;height:1920px;position:absolute;inset:0}.fx{animation-fill-mode:both}.fx.slash{stroke-dasharray:520;stroke-dashoffset:520px;animation:.5s steps(5,end) both slash}@keyframes slash{40%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-520px;opacity:0}}.fx.splat{animation:.7s steps(5,end) both splat}@keyframes splat{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.3)}}.fx.spark{animation:.45s steps(4,end) both splat}.fx.bloom{mix-blend-mode:screen;animation:.8s steps(6,end) both bloom}@keyframes bloom{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}.weak-point{z-index:3100;background:radial-gradient(circle,#86c6f2cc 0 22%,#3f86c455 23% 60%,#0000 61%);border:8px solid #dff3ff;border-radius:50%;animation:.25s steps(2,end) infinite alternate pulse;position:absolute;box-shadow:0 0 30px #86c6f2}.floater{z-index:3200;font-family:var(--display);color:#fff4dc;text-shadow:0 4px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 0 -3px 0 var(--ink);pointer-events:none;white-space:nowrap;font-size:56px;font-weight:800;animation:1.2s steps(8,end) both floatup;position:absolute;transform:translate(-50%,-50%)}@keyframes floatup{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}12%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-180%)scale(1)}}.floater.dmg.party{color:#ff8a80}.floater.crit{color:var(--gold-1);font-size:76px}.floater.weak{color:#b3e5ff}.floater.burn{color:#f59142;font-size:44px}.floater.poison{color:#9be29f;font-size:44px}.floater.heal{color:#9be29f}.floater.barrier{color:#fbe8b0;font-size:40px}.floater.ap{color:var(--sky);font-size:40px}.floater.broken,.floater.full{color:var(--gold-1);letter-spacing:.08em;font-size:72px}.floater.reaction{color:var(--gold-1);font-size:40px}.floater.fl-status{color:#d2bff2;font-size:36px}.floater.grade{font-size:64px}.floater.grade.perfect{color:var(--gold-1);font-size:76px}.floater.grade.good{color:#b3cbf5}.floater.grade.miss{color:#948ca3}.floater.def{color:#b3cbf5;font-size:58px}.floater.def.parry,.floater.def.perfect-parry{color:var(--gold-1)}.floater.def.perfect-parry,.floater.def.perfect-dodge{font-size:70px}.floater.def.hit{color:#948ca3;font-size:44px}.banner{z-index:3300;text-align:center;font-family:var(--display);color:var(--paper);text-shadow:0 6px 0 var(--ink), 0 0 30px #000;pointer-events:none;font-size:84px;font-weight:800;animation:1.1s steps(6,end) both bannerin;position:absolute;top:600px;left:0;right:0}.banner small{color:var(--gold-1);font-size:36px;display:block}@keyframes bannerin{0%{opacity:0;letter-spacing:.3em}20%{opacity:1;letter-spacing:.05em}80%{opacity:1}to{opacity:0}}.tell{z-index:3250;text-align:center;border:4px solid var(--ink);box-shadow:inset 0 0 0 2px var(--blood-hi);background:#3e0d17dd;border-radius:16px;padding:16px 20px;animation:.6s steps(2,end) 2 alternate pulse;position:absolute;top:180px;left:60px;right:60px}.tell-name{font-family:var(--display);color:#fff4dc;font-size:46px;font-weight:800}.tell-sub{color:#eb9a95;font-size:30px;font-style:italic}.hint{z-index:3000;text-align:center;color:var(--paper);text-shadow:0 2px 0 var(--ink), 0 0 12px var(--ink);pointer-events:none;font-size:30px;position:absolute;top:1370px;left:0;right:0}.bpanel{z-index:3050;border-top:6px solid var(--ink);background:linear-gradient(#1d1822f2,#120f16);padding:16px 24px 28px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px #c9953a66,0 -30px 60px #0009}.party-strip{gap:12px;display:flex}.ps{border:3px solid #0000;border-radius:16px;flex:1;align-items:center;gap:12px;padding:10px;display:flex}.ps.active{border-color:var(--gold-1);background:#c9953a22}.ps.down{opacity:.4;filter:grayscale()}.ps-body{flex:1;min-width:0}.ps-name{font-family:var(--display);justify-content:space-between;font-size:28px;font-weight:700;display:flex}.ps-hp{font-family:var(--body);color:var(--paper-dim);font-size:22px}.ap-pips{gap:4px;margin-top:8px;display:flex}.ap-pips span{background:#10233f;border:3px solid #3f86c4;border-radius:50%;width:20px;height:20px}.cards{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;display:grid}.stage .card{text-align:left;height:172px;font-family:var(--body);background:linear-gradient(160deg, var(--aff-deep,#3a2f41), #1d1822 80%);box-shadow:inset 0 0 0 3px var(--aff,#c9953a), 0 6px 0 #000a;border-radius:16px;padding:12px 16px;font-size:24px;font-weight:400;position:relative;overflow:hidden}.stage .card.basic{--aff:#d6dee8;--aff-deep:#3a4454}.card-top{justify-content:space-between;align-items:baseline;display:flex}.card-name{font-family:var(--display);color:#fff4dc;font-size:36px;font-weight:800}.card-name .glyph{color:var(--aff)}.card-ap{font-family:var(--display);color:#b3e5ff;font-size:30px;font-weight:800}.card-ap.gain{color:#9be29f}.card-ap.cheap{color:var(--gold-1)}.card-line{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}.card-form{white-space:nowrap;text-overflow:ellipsis;color:var(--paper-dim);margin-top:2px;font-size:20px;font-style:italic;overflow:hidden}.stage .card.empty{color:var(--paper-dim);background:#1d182299;grid-column:span 2;align-items:center;font-size:24px;display:flex;box-shadow:inset 0 0 0 2px #fff2}.ally-pick{font-family:var(--display);color:var(--gold-1);justify-content:space-between;align-items:center;margin-top:30px;font-size:44px;display:flex}.defense{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.stage .def-btn{border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:420px;height:300px;font-size:60px;font-weight:800;display:flex}.stage .def-btn small{font-family:var(--body);color:var(--paper-dim);font-size:24px;font-weight:400}.def-glyph{font-size:80px;line-height:1}.stage .def-btn.parry{box-shadow:inset 0 0 0 4px var(--gold-1), 0 8px 0 #000a;background:radial-gradient(circle at 50% 30%,#9a2a39,#3e0d17)}.impacts{flex-direction:column;align-items:center;gap:12px;display:flex}.impacts .pip{border:4px solid var(--paper-dim);border-radius:50%;width:36px;height:36px}.impacts .pip.parry,.impacts .pip.perfect-parry{background:var(--gold-1)}.impacts .pip.dodge,.impacts .pip.perfect-dodge{background:#6c93e6}.impacts .pip.hit{background:var(--blood)}.tap-anywhere{text-align:center;font-family:var(--display);color:var(--gold-1);margin-top:60px;font-size:44px;font-weight:700;animation:.5s steps(2,end) infinite alternate pulse}.battle-end{z-index:4000;background:radial-gradient(at 50% 45%,#1d1822cc,#0b0a10f2 70%);flex-direction:column;justify-content:center;align-items:center;gap:30px;animation:.6s steps(4,end) both fadein;display:flex;position:absolute;inset:0}@keyframes fadein{0%{opacity:0}}.battle-end h1{font-size:130px}.battle-end.defeat h1{color:var(--blood-hi)}.end-stats{color:var(--paper-dim);grid-template-columns:1fr 1fr;gap:12px 40px;font-size:32px;display:grid}.loom-screen{position:absolute;inset:0}.loom-bg{background:radial-gradient(at 50% 32%,#43296f55,#0000 60%),radial-gradient(at 50% 100%,#5a3a0e44,#0000 50%),linear-gradient(#15161d,#1d1822);position:absolute;inset:0}.loom-head{justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:30px;right:30px}.loom-title h1{font-size:64px}.loom-sub .lock{color:#eb9a95}.hero-tabs{gap:14px;display:flex;position:absolute;top:150px;left:30px;right:30px}.stage .hero-tab{background:#1d1822aa;flex:1;align-items:center;gap:12px;padding:8px 14px;font-size:28px;display:flex}.stage .hero-tab.on{box-shadow:inset 0 0 0 3px var(--gold-1), 0 6px 0 #000a;background:linear-gradient(#5a3a0e,#2a1f12)}.loom-board{pointer-events:none;width:1080px;height:1920px;position:absolute;inset:0}.cell.locked{fill:#0b0a10aa;stroke:#2a2331;stroke-dasharray:8 8}.cell.hover{fill:#c9953a55;stroke:var(--gold-1);stroke-width:6px}.root-label{font-family:var(--display);fill:var(--gold-1);text-anchor:middle;font-size:24px;font-weight:700}.root-head{pointer-events:none;position:absolute}.node text{font-family:var(--display);text-anchor:middle;paint-order:stroke;stroke:var(--ink);stroke-width:6px;font-weight:800}.node-role{fill:#fff4dc;font-size:30px}.node-name{fill:#fff4dc;font-size:26px}.node-score{fill:var(--gold-1);font-size:22px}.node.dormant>path{filter:grayscale(.9)brightness(.6)}.node.dormant .rim{stroke-dasharray:10 10}.node-dormant{fill:#eb9a95;font-size:26px}.node-reason{fill:#eb9a95;font-size:18px}.node.ghost{opacity:.35}.node.lifted{filter:drop-shadow(0 20px 20px #000)}.node-hit{touch-action:none;border-radius:50%;position:absolute}.drag-ghost{pointer-events:none;z-index:50;width:1080px;height:1920px;position:absolute;inset:0}.tray{border:4px solid var(--ink);background:#1d1822cc;border-radius:20px;padding:10px 16px;position:absolute;left:20px;right:20px;box-shadow:inset 0 0 0 2px #c9953a55}.tray.hover{box-shadow:inset 0 0 0 4px var(--gold-1)}.tray-label{font-size:22px}.tray-row{gap:10px;padding-top:6px;display:flex;overflow-x:auto}.tray-item{text-align:center;touch-action:none;flex:none;width:160px}.tray-name{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.tray-empty{color:var(--paper-dim);padding:50px 10px;font-size:26px}.compile{border:4px solid var(--ink);background:#120f16ee;border-radius:20px;padding:14px 22px;font-size:28px;position:absolute;inset:1420px 20px 24px;overflow:hidden;box-shadow:inset 0 0 0 2px #c9953a55}.compile.previewing{box-shadow:inset 0 0 0 4px var(--sky)}.compile-cols{grid-template-columns:1.3fr 1fr;gap:20px;display:grid}.compile h3{margin-top:6px;font-size:28px}.c-diff{text-align:right;background:#1d1822ee;border-radius:10px;padding:6px 12px;font-size:24px;position:absolute;bottom:14px;right:22px}.sheet-backdrop{z-index:100;background:#0b0a10aa;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{border-top:6px solid var(--gold-2);background:linear-gradient(#2a2331,#1d1822);border-radius:30px 30px 0 0;width:100%;padding:30px 40px 50px;font-size:30px;animation:.2s steps(3,end) fadein}.sheet h2{font-size:52px}.sheet-sub{color:var(--paper-dim);margin:6px 0 16px}.sheet-kv{grid-template-columns:auto 1fr auto 1fr;gap:8px 20px;margin-bottom:16px;display:grid}.sheet .row{justify-content:flex-end;gap:16px;display:flex}.crossing,.map-screen{position:absolute;inset:0}.hub-top,.map-head{border:4px solid var(--ink);background:#1d1822cc;border-radius:24px;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:absolute;top:24px;left:24px;right:24px;box-shadow:inset 0 0 0 2px #c9953a55}.hub-title,.map-title{font-family:var(--display);color:var(--gold-1);font-size:50px;font-weight:800}.hub-sub,.map-sub{font-size:26px}.hub-ess{grid-template-columns:repeat(3,auto);gap:4px 16px;font-size:28px;font-weight:700;display:grid}.stage .station{background:#1d1822dd;border-radius:22px;flex-direction:column;align-items:center;padding:14px 28px;display:flex;position:absolute;transform:translate(-50%,-50%)}.stage .station.st-gate,.stage .station.st-loom{box-shadow:inset 0 0 0 3px var(--gold-1), 0 6px 0 #0008;background:linear-gradient(#8f6420ee,#5a3a0eee)}.st-name{font-size:40px}.st-sub{font-family:var(--body);color:var(--paper-dim);font-size:22px;font-weight:400}.hub-party,.map-party{border:4px solid var(--ink);background:#1d1822cc;border-radius:24px;justify-content:space-around;padding:14px;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.hub-hero,.mp-hero{font-family:var(--display);flex-direction:column;align-items:center;gap:6px;font-size:26px;display:flex}.mp-hero .gbar{width:180px}.mp-hero span{font-family:var(--body);font-size:22px}.map-head .row{gap:10px;display:flex}.map-head button{padding:10px 18px;font-size:26px}.map-svg{pointer-events:none;width:1080px;height:1920px;position:absolute;inset:0}.map-link{fill:none;stroke:#efe3c866;stroke-width:8px;stroke-dasharray:4 18;stroke-linecap:round}.map-link.walked{stroke:var(--gold-1);stroke-dasharray:none}.stage .map-node{background:radial-gradient(circle at 50% 35%,#3a3142,#1d1822);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.stage .map-node:disabled{opacity:.55}.stage .map-node.next{opacity:1;box-shadow:inset 0 0 0 4px var(--gold-1), 0 0 30px var(--gold-2);animation:.9s steps(3,end) infinite alternate pulse}.stage .map-node.visited{opacity:.8}.stage .map-node.here{opacity:1}.mn-glyph{font-size:56px;line-height:1}.mn-name{font-size:20px;font-family:var(--body);font-weight:700}.stage .map-node.k-boss{background:radial-gradient(circle at 50% 35%,#8f6420,#3e0d17);width:200px;height:200px}.map-marker{pointer-events:none;position:absolute;transform:translate(-50%,-150%)}@media (width<=700px){.panel-backdrop{place-items:stretch stretch;padding:0}.panel,.panel.wide{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.panel-body{padding:12px}.realm-grid,.form-grid,.inv-grid,.offers{grid-template-columns:1fr!important}}.panel-backdrop{z-index:50;position:fixed}.toasts{z-index:60}.world{width:1080px;height:1920px;position:absolute;left:0}.unit .hit{z-index:2;position:absolute}.tint-matron{filter:hue-rotate(25deg)saturate(1.3)brightness(1.05)drop-shadow(0 0 16px #ffd36a)}.fig-baked{width:100%;height:100%;display:block}.fig-unbaked [filter]{filter:none}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a10;--panel:#15121c;--panel-2:#1c1826;--line:#3a3147;--gold:#c9a24a;--gold-soft:#e8d9a8;--violet:#b58cff;--text:#e8e2d4;--dim:#948ca3;--good:#7fd68a;--bad:#ff7a7a;--serif:"Alegreya SC", "Palatino Linotype", Palatino, Georgia, serif;--sans:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0;overflow:hidden}.app{position:fixed;inset:0}.canvas-host{position:absolute;inset:0}.canvas-host canvas{display:block}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:7px 14px;transition:border-color .15s,background .15s,transform 50ms}button:hover:not(:disabled){border-color:var(--gold)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{border-color:var(--gold);color:var(--gold-soft);background:linear-gradient(#3b2c1a,#2a1f12)}button.ghost{background:0 0}button.small{padding:4px 9px;font-size:12px}button.toggled{border-color:var(--violet);color:var(--violet)}.dim{color:var(--dim)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.good{color:var(--good)}.bad{color:var(--bad)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end;margin-top:14px}.row.between{justify-content:space-between}h1,h2,h3,h4{font-family:var(--serif);color:var(--gold-soft);margin:0 0 6px;font-weight:400}h4{margin-top:14px;font-size:16px}.toasts{z-index:50;pointer-events:none;flex-direction:column;gap:6px;max-width:380px;display:flex;position:absolute;bottom:16px;right:16px}.toast{border:1px solid var(--line);border-left:4px solid var(--dim);background:#15121cee;border-radius:6px;padding:8px 12px;font-size:13px;animation:.25s ease-out slidein}.toast.gain{border-left-color:var(--gold)}.toast.loss{border-left-color:var(--bad)}.toast.mastery{border-left-color:var(--violet);color:#e3d4ff}@keyframes slidein{0%{opacity:0;transform:translate(30px)}}.panel-backdrop{z-index:10;background:#05040899;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.panel{background:linear-gradient(180deg, var(--panel), #100e16);border:1px solid #c9a24a55;border-radius:10px;flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 32px);animation:.18s ease-out rise;display:flex;box-shadow:0 20px 80px #000a,inset 0 0 40px #0006}.panel.wide{width:min(1180px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:14px 18px 10px;display:flex}.panel-head .sub{color:var(--dim);font-size:13px}.panel-body{padding:14px 18px 18px;overflow:auto}.tabs{align-items:center;gap:6px;margin-bottom:12px;display:flex}.tab{background:0 0}.tab.on{border-color:var(--gold);color:var(--gold-soft);background:#2a1f12}.kv{grid-template-columns:130px 1fr;gap:8px;margin:6px 0;font-size:13px;display:grid}.kv .k{color:var(--dim)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:6px;font-weight:400}td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:6px}.event{color:#d9c9ff;background:#2d1f4555;border:1px solid #b58cff44;border-radius:12px;margin:3px 4px 3px 0;padding:3px 8px;font-size:12px;display:inline-block}.events{margin-bottom:8px}.ess-chip{border:1px solid;border-radius:12px;margin:2px 4px 2px 0;padding:1px 8px;font-size:12px;display:inline-block}.realm-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.realm-card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.realm-card button{margin-top:auto}.realm-head{justify-content:space-between;align-items:baseline;display:flex}.diff{color:var(--gold);font-size:12px}.demand{font-size:13px}.demand.hot b{color:var(--good)}.contracts-strip{margin-top:12px}.contract-line{margin:6px 0;font-size:13px}.reward{color:var(--gold-soft);font-family:var(--serif)}.form-card{background:var(--panel-2);border:1px solid var(--line);cursor:default;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.form-card.compact{cursor:pointer;gap:3px}.form-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.form-card.tier-veiled{background:repeating-linear-gradient(135deg,#1c1826,#1c1826 8px,#1a1522 8px 16px)}.fc-head{justify-content:space-between;gap:6px;display:flex}.fc-name{font-family:var(--serif);color:var(--gold-soft);font-size:16px}.fc-epithet{color:var(--dim);font-size:12px;font-style:italic}.fc-realm{font-size:11px}.fc-badges{align-items:flex-start;gap:4px;display:flex}.tier{white-space:nowrap;border:1px solid;border-radius:10px;padding:1px 7px;font-size:11px}.tier-veiled.tier{color:#9a93a8}.tier-attuned.tier{color:#7fe3e0}.tier-trialed.tier{color:var(--gold)}.tier-witnessed.tier{color:var(--violet);box-shadow:0 0 8px #b58cff66}.slot-badge{color:var(--gold-soft);text-transform:capitalize;background:#3b2c1a;border-radius:10px;padding:1px 7px;font-size:11px}.runes{gap:3px;display:grid}.rune{grid-template-columns:58px 1fr 38px;align-items:center;gap:6px;font-size:12px;display:grid}.rune.hidden .rn,.rune.hidden .rv{color:#5b5467}.rune.hl .rn{color:var(--gold-soft)}.rbar{background:#0008;border-radius:4px;height:7px;position:relative;overflow:hidden}.rfill{background:linear-gradient(90deg,#6b4fa8,#b58cff);position:absolute;inset:0 auto 0 0}.rfill.mastery{background:linear-gradient(90deg, #7a5a1c, var(--gold))}.rband{background:#fff2;border-left:1px solid #fff5;border-right:1px solid #fff5;position:absolute;top:0;bottom:0}.rv{text-align:right;font-variant-numeric:tabular-nums}.eval{color:var(--dim);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.eval b{color:var(--text);font-weight:600}.familiar{font-family:var(--serif);color:#d9c9ff;font-size:13px;font-style:italic}.familiar.crit{color:#ffc1a8}.familiar-box{background:#2d1f4533;border:1px solid #b58cff44;border-radius:8px;margin-top:10px;padding:10px 12px;animation:.3s ease-out rise}.familiar-box ul{margin:6px 0;padding-left:18px;font-size:13px}.familiar-box li.strong{color:var(--good)}.familiar-box li.weak{color:var(--bad)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.levitate{animation:.9s ease-in-out levitate}@keyframes levitate{40%{filter:drop-shadow(0 0 16px #b58cff);transform:translateY(-14px)}}.crucible{grid-template-columns:290px 1fr;gap:14px;min-height:420px;display:grid}.form-list{flex-direction:column;gap:6px;max-height:62vh;padding-right:4px;display:flex;overflow:auto}.form-detail{flex-direction:column;gap:10px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check{color:var(--dim);font-size:12px}.bind{border-top:1px dashed var(--line);gap:6px;padding-top:8px;display:grid}.result{border:1px solid var(--line);background:#0e0c14;border-radius:8px;gap:6px;padding:10px 12px;font-size:13px;animation:.25s ease-out rise;display:grid}.contrib{grid-template-columns:1fr 160px 50px;align-items:center;gap:8px;animation:.6s ease-out both illuminate;display:grid}@keyframes illuminate{0%{opacity:0;filter:brightness(3)}}.trial-sum{margin-top:4px}.compare{margin-top:14px}.compare tr{cursor:pointer}.temper-overlay{z-index:30;background:#05040ce8;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:fixed;inset:0}.temper-grid{grid-template-columns:repeat(3,minmax(220px,300px));gap:16px;display:grid}.temper-card{background:var(--panel-2);border:1px solid var(--violet);border-radius:10px;flex-direction:column;gap:8px;padding:14px;animation:.5s ease-out both appear;display:flex;box-shadow:0 0 24px #b58cff33}.temper-card:nth-child(2){animation-delay:.12s}.temper-card:nth-child(3){animation-delay:.24s}@keyframes appear{0%{opacity:0;transform:translateY(30px)scale(.9)}}.temper-card .emph{text-transform:uppercase;letter-spacing:2px;color:var(--violet);font-size:11px}.temper-card.shatter{animation:.6s ease-in forwards shatter}.temper-card.chosen{border-color:var(--gold);box-shadow:0 0 40px #c9a24a88}@keyframes shatter{to{opacity:0;filter:blur(6px)brightness(2);transform:scale(1.2)rotate(8deg)}}.market td .glyph{font-size:18px}.status{border:1px solid var(--line);border-radius:8px;margin-left:4px;padding:0 6px;font-size:11px}.status.dear{color:var(--bad);border-color:var(--bad)}.status.rising{color:#ffc07a;border-color:#ffc07a}.status.cheap{color:var(--good);border-color:var(--good)}.offers{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.offer{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:4px;padding:8px;display:grid}.offer.sold{opacity:.5}.contract{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;gap:4px;margin-bottom:8px;padding:10px;display:grid}.prophecy-line{border-bottom:1px solid var(--line);padding:6px 0}.lineage{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.lineage-step{align-items:center;gap:6px;display:flex}.lineage-step .form-card{width:250px}.arrow{color:var(--violet);font-size:12px}.tree-wrap{grid-template-columns:660px 1fr;gap:16px;display:grid}.tree .node{cursor:default}.tree .node.avail{cursor:pointer}.tree .node.avail circle{filter:drop-shadow(0 0 6px)}.policy-row{grid-template-columns:90px 1fr 40px;align-items:center;gap:8px;margin:5px 0;font-size:13px;display:grid}.slots{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.slot{border:1px solid var(--gold);background:#1a1422;border-radius:8px;min-height:80px;padding:8px}.slot-name{text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:11px}.essence-row{margin:6px 0 10px}.currencies{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:10px;display:grid}.currency{border:1px solid var(--line);border-radius:6px;gap:4px;padding:8px;display:grid}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.inv-empty{border:1px dashed #2b2535;border-radius:8px;min-height:90px}.summary{gap:8px;font-size:14px;display:grid}.prov select,.prov input{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px}.analytics{max-height:60vh;overflow:auto}@media (width<=900px){.crucible,.tree-wrap,.temper-grid{grid-template-columns:1fr}.hud-top{flex-wrap:wrap}}.boot-loading{color:#c3ccd7;letter-spacing:.2em;background:#0b0910;place-items:center;font:600 18px system-ui,sans-serif;display:grid;position:fixed;inset:0}:root{--ink-deep:#120d12;--safe-b:calc(env(safe-area-inset-bottom,0px) * 2.6);--rules-ink:#2a1c12;--rules-dim:#6b5842;--serif-body:"Alegreya", Georgia, serif;--tex-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.08 0 0 0 0 0.04 -0.9 0 0 0 0.62'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23f)'/%3E%3C/svg%3E");--tex-mottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.28 0 0 0 0 0.12 -1.5 0 0 0 0.92'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23f)'/%3E%3C/svg%3E");--parchment:var(--tex-mottle), var(--tex-grain), radial-gradient(ellipse at 45% 35%, #fbf2da, #ecdcb4 55%, #d6bf8e);--metal:linear-gradient(135deg, #fff2c4 0%, #deb45c 16%, #7a5418 34%, #f4d58c 52%, #9a6c24 70%, #fbe8b0 86%, #6b4a18 100%);--metal-dim:linear-gradient(135deg, #d8b46a 0%, #7a5418 30%, #c29a4a 55%, #4a300c 80%, #a67c34 100%);--iron:linear-gradient(135deg, #c9ced8 0%, #6b7282 25%, #2a2e38 50%, #9aa2b2 72%, #3a4050 100%);--enamel:linear-gradient(180deg, #2c2433, #17121c);--leather:var(--tex-grain), radial-gradient(ellipse at 25% 0%, #3a2c3a77, transparent 55%), radial-gradient(ellipse at 90% 100%, #2a1a1066, transparent 50%), linear-gradient(180deg, #282029, #130e14)}.stage button,.stage .station,.stage .map-node{background:linear-gradient(180deg, #ffffff14, transparent 40%) padding-box, var(--tex-grain) padding-box, var(--enamel) padding-box, var(--metal-dim) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 2px 0 #ffffff1c, inset 0 -6px 12px #0008, 0 10px 18px #000a;text-shadow:0 2px #000a;border:5px solid #0000}.stage button.primary{color:#2a1a08;text-shadow:0 1px #fff4d0aa;background:linear-gradient(180deg, #fff6d855, transparent 45%, #0000 55%, #5a3a0e55) padding-box, var(--tex-grain) padding-box, linear-gradient(180deg, #f4d58c, #c9953a 55%, #8f6420) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 2px 0 #fffbe8aa, inset 0 -6px 10px #5a3a0e88, 0 10px 22px #000b, 0 0 26px #c9953a44}.stage button.ghost{background:#1d182299 padding-box, var(--metal-dim) border-box}.stage button.toggled{color:#d2bff2}.head{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 7px #b58a3c, 0 0 0 9px var(--ink-deep), inset 0 -10px 18px #000a;background:radial-gradient(circle at 50% 38%,#6a6f86,#232633 75%)}.flip g[filter="url(#fig)"]{filter:url(#wc)}.gbar{border:3px solid var(--ink-deep);background:linear-gradient(#050407,#1d1822);border-radius:10px;height:18px;box-shadow:0 0 0 2px #8f6420,inset 0 3px 4px #000c}.gbar>div{background:linear-gradient(#ff9a8a 0%,#d0414f 30%,#8a1a2a 75%,#5a0e18 100%);box-shadow:inset 0 -2px #0005}.gbar.hero>div{background:linear-gradient(#b6fff0 0%,#45c2ad 30%,#1c7a6c 75%,#0f4a42 100%)}.gbar.brk{height:12px;box-shadow:0 0 0 2px #5a3a0e,inset 0 2px 3px #000c}.gbar.brk>div{background:linear-gradient(#fffbe8,#f4d58c 40%,#b58a3c)}.title-card h1{letter-spacing:.14em;color:#0000;background:linear-gradient(#fffbe8 0%,#f4d58c 30%,#c9953a 52%,#7a5418 56%,#e8c476 78%,#fff2c4 100%);text-shadow:none;filter:drop-shadow(0 6px #2a1a08)drop-shadow(0 0 40px #6a44a3cc);-webkit-background-clip:text;background-clip:text;font-size:210px;font-weight:800}.title-card:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 36'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23c9953a' stop-opacity='0'/%3E%3Cstop offset='0.5' stop-color='%23f4d58c'/%3E%3Cstop offset='1' stop-color='%23c9953a' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 18 H270 M370 18 H640' stroke='url(%23g)' stroke-width='3'/%3E%3Cpath d='M320 4 L336 18 L320 32 L304 18 Z' fill='%23f4d58c' stroke='%231d1822' stroke-width='2'/%3E%3Cpath d='M320 11 L327 18 L320 25 L313 18 Z' fill='%236a44a3'/%3E%3Cpath d='M296 18 C286 8 276 8 270 18 C276 28 286 28 296 18 M344 18 C354 8 364 8 370 18 C364 28 354 28 344 18' fill='none' stroke='%23f4d58c' stroke-width='2.5'/%3E%3C/svg%3E") 50%/contain no-repeat;width:640px;height:36px;margin:4px auto 0;display:block}.tagline{font-family:var(--serif-body);color:#f4e3b8;text-shadow:0 3px #000,0 0 24px #000;font-size:46px;font-style:italic}.stage .title-actions button.big{min-width:600px;padding:26px 60px;font-size:52px}.battle .world .backdrop{-webkit-mask-image:linear-gradient(#0000 0,#000 70px);mask-image:linear-gradient(#0000 0,#000 70px)}.battle{background:radial-gradient(at 50% 10%,#2a2233,#0000 60%),linear-gradient(#0c0b12,#15131b 50%,#0c0a0f)}.unit .shadow{background:radial-gradient(at 62%,#000d 0%,#000a 30%,#0000 70%);width:290px;height:58px;top:-30px;left:-175px;transform:skew(38deg)}.unit.active.party:before{background:radial-gradient(#ecc56a33,#0000 70%);border:5px solid #f4d58c;box-shadow:0 0 0 4px #c9953a55,0 0 36px #ecc56a,inset 0 0 24px #ecc56a88}.reticle>div{border:9px dashed #ff6b6b;box-shadow:0 0 22px #c8505a}.foe-name{color:#fbe8b0;text-shadow:0 3px 0 var(--ink-deep), 2px 0 0 var(--ink-deep), -2px 0 0 var(--ink-deep), 0 -2px 0 var(--ink-deep), 0 0 14px #000;font-size:32px}.st{box-shadow:0 0 0 2px var(--ink-deep);background:linear-gradient(#2c2433,#120d12);border:2px solid #8f6420}.timeline{background:var(--tex-grain) padding-box, linear-gradient(180deg, #2a2230, #120d14) padding-box, var(--metal) border-box;height:138px;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 0 2px #0009, inset 0 8px 20px #000c, 0 14px 30px #000c;border:6px solid #0000;border-radius:72px;top:20px}.tl-round,.tl-sep{color:#f4d58c;text-shadow:0 2px #000}.tl-sep{border-left:3px solid #c9953a66}.tl-cell.foe .head{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 7px #9a2a39, 0 0 0 9px #e2b85e, 0 0 0 11px var(--ink-deep)}.tl-cell.party .head{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 7px #1c7a6c, 0 0 0 9px #e2b85e, 0 0 0 11px var(--ink-deep)}.tl-cell.now .head{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 8px #f4d58c, 0 0 0 11px var(--ink-deep), 0 0 30px #ecc56a}.boss-bar{background:var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #5a1a26, #1a0d12 70%) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 30px #000a, 0 14px 30px #000c;border:6px solid #0000;border-radius:18px;padding:14px 30px 18px;top:176px}.boss-name{color:#fbe8b0;text-shadow:0 3px #000,0 0 18px #c8505a88;font-size:42px}.boss-bar~.tell{top:350px}.tell{background:var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #9a2a39, #3e0d17 80%) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 26px #000b, 0 14px 30px #000c;border:6px solid #0000;border-radius:14px;animation:.35s steps(3,end) both tellin;top:184px}@keyframes tellin{0%{opacity:0;transform:scaleX(.7)}}.tell-name{color:#fff4dc;text-shadow:0 3px #000;font-size:50px}.tell-sub{font-family:var(--serif-body);color:#ffd0c8;font-size:32px}.banner{color:#fbe8b0;letter-spacing:.04em;text-shadow:0 3px 0 #7a5418, 0 7px 0 var(--ink-deep), 0 0 40px #000, 0 0 80px #000;font-size:92px}.banner small{font-family:var(--serif-body);color:#f4e3b8;font-style:italic;font-weight:400}.hint{font-family:var(--serif-body);color:#f4e3b8;text-shadow:0 2px #000,0 0 14px #000,0 0 30px #000;font-size:32px}.bpanel{padding:28px 20px calc(22px + var(--safe-b));background:radial-gradient(ellipse at 50% 0%, #3a2c3a88, transparent 60%), var(--leather);border-top:none;flex-direction:column;display:flex;box-shadow:0 -30px 60px #000c}.bpanel:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1080 34' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff2c4'/%3E%3Cstop offset='0.45' stop-color='%23c9953a'/%3E%3Cstop offset='1' stop-color='%235a3a0e'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect y='12' width='1080' height='10' fill='url(%23g)' stroke='%23120d12' stroke-width='3'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;height:34px;position:absolute;top:-16px;left:0;right:0}.bpanel:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 54'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff2c4'/%3E%3Cstop offset='0.4' stop-color='%23deb45c'/%3E%3Cstop offset='0.6' stop-color='%237a5418'/%3E%3Cstop offset='1' stop-color='%23f4d58c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M95 3 L121 27 L95 51 L69 27 Z' fill='url(%23g)' stroke='%23120d12' stroke-width='3'/%3E%3Cpath d='M95 15 L107 27 L95 39 L83 27 Z' fill='%236a44a3' stroke='%23120d12' stroke-width='2'/%3E%3Cpath d='M66 27 C54 11 34 13 26 27 C34 41 54 43 66 27 M124 27 C136 11 156 13 164 27 C156 41 136 43 124 27' fill='%232a2028' stroke='url(%23g)' stroke-width='4'/%3E%3Ccircle cx='12' cy='27' r='6' fill='url(%23g)' stroke='%23120d12' stroke-width='2'/%3E%3Ccircle cx='178' cy='27' r='6' fill='url(%23g)' stroke='%23120d12' stroke-width='2'/%3E%3C/svg%3E") 50%/contain no-repeat;width:190px;height:54px;margin-left:-95px;position:absolute;top:-26px;left:50%}.party-strip{flex:none;gap:12px}.party-strip .ps{background:var(--tex-grain) padding-box, linear-gradient(180deg, #2a2230, #15101a) padding-box, var(--metal-dim) border-box;min-width:0;box-shadow:0 0 0 2px var(--ink-deep), inset 0 0 18px #000a;border:4px solid #0000;border-radius:16px;gap:10px;padding:8px 12px 10px 10px}.ps .head{width:72px!important;height:72px!important}.ps.active{background:var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #5a3a0e, #1d1520 80%) padding-box, var(--metal) border-box;box-shadow:0 0 0 2px var(--ink-deep), 0 0 26px #ecc56a88, inset 0 0 18px #000a;border-color:#0000}.ps-name{color:#fbe8b0;text-shadow:0 2px #000;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:38px;line-height:1.05}.ps-hp{font-family:var(--display);color:#e8d9b8;font-size:36px;font-weight:700}.ap-pips{gap:3px;margin-top:8px}.ap-pips span{background:radial-gradient(circle at 40% 35%,#1f2d45,#0a111e);border:3px solid #1d1822;width:18px;height:18px;box-shadow:0 0 0 2px #3f86c4aa}.ap-pips span.on{background:radial-gradient(circle at 38% 32%,#fff 0 12%,#9fd8ff 22%,#3f86c4 60%,#1f4a7a);box-shadow:0 0 0 2px #b3e5ff,0 0 10px #86c6f2}.cards{flex:1;gap:20px;min-height:0;margin-top:18px}.stage .card{height:auto;min-height:0;color:var(--rules-ink);text-shadow:none;background:var(--tex-grain) padding-box, linear-gradient(155deg, var(--aff,#c9953a), var(--aff-deep,#3a2f41) 55%, #120d12) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 0 2px #0006, 0 12px 22px #000c;border:6px solid #0000;border-radius:18px;flex-direction:column;padding:9px;display:flex}.stage .card.basic{--aff:#aab4c4;--aff-deep:#3a4454;background:var(--tex-grain) padding-box, linear-gradient(155deg, #aab4c4, #3a4454 55%, #15161d) padding-box, var(--iron) border-box}.stage .card.poor{opacity:1;filter:grayscale(.85)brightness(.62)}.card-top{background:linear-gradient(180deg, #fff6, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--aff,#c9953a) 30%, #f6ead0), color-mix(in srgb, var(--aff,#c9953a) 55%, #a8916a));height:66px;box-shadow:0 0 0 3px var(--ink-deep), inset 0 -3px 0 #0003, 0 4px 6px #0008;border-radius:10px 10px 6px 6px;flex:none;align-items:center;gap:6px;min-width:0;padding:0 6px 0 14px}.card-name{color:var(--rules-ink);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px #fff8;min-width:0;font-size:40px;overflow:hidden}.card-name .glyph{color:var(--aff-deep);text-shadow:none}.card-ap{color:#fff;text-shadow:0 2px #0a1a33,0 0 4px #0a1a33,0 0 2px #000;box-shadow:0 0 0 3px var(--ink-deep), inset 0 -3px 4px #0006, 0 0 10px #86c6f288;background:radial-gradient(circle at 30% 25%,#fffc 0 6%,#6fb0ef 18%,#2a55b0 55%,#16285e);border-radius:26px;flex:none;padding:7px 12px 9px;font-size:36px;line-height:1}.card-ap.gain{color:#fff;text-shadow:0 2px #0f3a28,0 0 4px #0f3a28,0 0 2px #000;background:radial-gradient(circle at 30% 25%,#fffc 0 6%,#6fd6a0 18%,#1f8a58 55%,#0f3a28)}.card-ap.cheap{color:#2a1a08;text-shadow:0 1px #fff8;background:radial-gradient(circle at 35% 28%,#fff 0 8%,#fbe8b0 20%,#deb45c 60%,#7a5418)}.stage .card .card-form{display:none}.stage .card:not(.empty):after{content:"";background:var(--parchment);box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 18px #7a541855;border-radius:8px;position:absolute;inset:88px 11px 11px}.card-line{z-index:1;font-family:var(--serif-body);color:var(--rules-ink);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 4px;padding:0 10px;font-size:40px;line-height:1.08;display:-webkit-box;position:relative;overflow:hidden}.card-top+.card-line{margin-top:22px;font-weight:700}.stage .card .card-line.dim{color:#3e2f22;margin-top:6px;font-style:italic}.card-line span[style]{filter:brightness(.62)saturate(1.5)}.stage .card.empty{color:var(--rules-ink);font-family:var(--serif-body);background:var(--parchment) padding-box, var(--metal-dim) border-box;padding:16px 22px;font-size:38px;line-height:1.15}.ally-pick{color:#f4d58c;text-shadow:0 3px #000;margin-top:24px;font-size:46px}.ally-pick button{min-width:240px}.defense{min-height:0;margin:0 -20px calc(-22px - var(--safe-b)) 0;flex-direction:column;flex:1;gap:12px;display:flex}.defense>.def-btn{flex:1}.stage .def-btn{letter-spacing:.06em;text-align:left;text-shadow:0 4px #000a;border-width:8px 0 8px 8px;border-radius:40px 0 0 40px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;justify-items:start;column-gap:22px;width:auto;height:auto;min-height:140px;padding:8px 24px;font-size:62px;display:grid}.stage .def-btn .def-glyph{grid-row:1/3;align-self:center}.stage .def-btn.parry{padding-bottom:calc(8px + var(--safe-b));border-bottom-width:0;border-radius:40px 0 0}.stage .def-btn.dodge{background:radial-gradient(ellipse at 50% 12%, #fff3, transparent 45%) padding-box, var(--tex-grain) padding-box, radial-gradient(circle at 50% 30%, #3561c4, #16285e 75%) padding-box, var(--iron) border-box;box-shadow:0 0 0 4px var(--ink-deep), inset 0 0 0 3px #b3cbf566, inset 0 -18px 30px #0008}.stage .def-btn.parry{background:radial-gradient(ellipse at 50% 12%, #fff3, transparent 45%) padding-box, var(--tex-grain) padding-box, radial-gradient(circle at 50% 30%, #b83242, #3e0d17 75%) padding-box, var(--metal) border-box;box-shadow:0 0 0 4px var(--ink-deep), inset 0 0 0 3px #fbe8b066, inset 0 -18px 30px #0008, 0 0 30px #c8505a55}.stage .def-btn small{letter-spacing:0;color:#f4e3b8;text-shadow:0 2px #000;font-size:36px}.def-glyph{color:#fbe8b0;filter:drop-shadow(0 3px #000);font-size:84px}.impacts{flex-flow:wrap;flex:1;place-content:center;gap:16px}.impacts .pip{width:40px;height:40px;box-shadow:0 0 0 3px var(--ink-deep);background:#120d12;border:4px solid #c9953a}.tap-anywhere{color:#f4d58c;text-shadow:0 3px #000,0 0 20px #000;margin-top:70px;font-size:46px}.battle-end{background:radial-gradient(at 50% 42%,#3a2c3acc,#0b0a10f4 72%);justify-content:center;padding-bottom:260px}.battle-end h1{color:#0000;background:linear-gradient(#fffbe8 0%,#f4d58c 35%,#c9953a 55%,#7a5418 60%,#f0cf7c 100%);filter:drop-shadow(0 6px #1d1208)drop-shadow(0 0 30px #000);-webkit-background-clip:text;background-clip:text;font-size:140px}.battle-end.defeat h1{background-image:linear-gradient(#ffd0c8 0%,#c8505a 45%,#6b1a28 60%,#eb9a95 100%)}.end-stats{color:var(--rules-ink);font-size:40px;font-family:var(--serif-body);background:var(--parchment) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 14px 30px #000c;border:6px solid #0000;border-radius:16px;gap:14px 48px;padding:26px 44px}.stage .battle-end button.big{left:60px;right:60px;bottom:calc(80px + var(--safe-b));min-width:0;min-height:150px;font-size:56px;position:absolute}.loom-bg{background:radial-gradient(circle at 50% 38%, #b58cff26 0, transparent 26%), repeating-radial-gradient(circle at 50% 38%, transparent 0 58px, #c9953a14 59px 61px, transparent 62px 120px), radial-gradient(ellipse at 50% 38%, #43296f88, transparent 55%), radial-gradient(ellipse at 50% 100%, #8f642044, transparent 50%), var(--tex-grain), linear-gradient(180deg, #120f18, #1d1822 60%, #0e0b10)}.loom-title h1{color:#0000;background:linear-gradient(#fffbe8,#f4d58c 40%,#b58a3c 60%,#f0cf7c);filter:drop-shadow(0 4px #1d1208);-webkit-background-clip:text;background-clip:text;font-size:64px}.loom-sub{font-family:var(--serif-body);color:#e8d9b8;font-size:28px}.stage .hero-tab{color:#e8d9b8;border-width:4px;font-size:28px}.stage .hero-tab.on{color:#fff4dc;background:radial-gradient(ellipse at 50% 0%, #8f642099, #2a1f12 80%) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 0 24px #ecc56a55, 0 8px 16px #000a}.cell{fill:url(#ui-cell);stroke:#8f6420;stroke-width:4px}.cell.locked{fill:#0b0a10cc;stroke:#3a2f28}.cell.hover{fill:#c9953a55;stroke:#f4d58c}.root-cell{fill:#3a260a;stroke:url(#ui-gold);stroke-width:10px}.root-label{fill:#f4d58c;paint-order:stroke;stroke:#120d12;stroke-width:6px}.node>path:first-child{stroke:url(#ui-gold);stroke-width:9px}.node.selected>path:first-child{stroke:#fff4dc}.tray{background:var(--leather) padding-box, var(--metal-dim) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 26px #000c, 0 12px 26px #000b;border:5px solid #0000;border-radius:20px}.tray.hover{background:var(--leather) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 0 30px #ecc56a88}.tray-label{font-family:var(--display);color:#f4d58c;font-size:26px;font-weight:700}.tray-label .dim{font-family:var(--serif-body);color:#d9c7a2aa;font-size:22px;font-style:italic;font-weight:400}.tray-name{font-family:var(--display);color:#fbe8b0;font-size:20px}.tray-empty{font-family:var(--serif-body);color:#d9c7a2bb;font-size:28px;font-style:italic}.compile{color:var(--rules-ink);font-family:var(--serif-body);background:var(--parchment) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 40px #7a541844, 0 12px 26px #000b;border:6px solid #0000;border-radius:18px;padding:18px 28px;font-size:30px}.compile.previewing{background:var(--parchment) padding-box, linear-gradient(135deg, #dff3ff, #3f86c4 40%, #b3e5ff 60%, #1f4a7a) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 40px #3f86c444, 0 0 30px #86c6f288}.compile h3{color:#6b1a28;border-bottom:2px solid #7a541855;margin-bottom:4px;font-size:28px}.stage .compile .dim{color:var(--rules-dim)}.stage .compile .bad{color:#9a2a39}.stage .compile .good{color:#1c605a}.c-row b{color:#1f4a7a}.c-row span[style]{filter:brightness(.6)saturate(1.5)}.c-diff{background:#f6ecd2ee;box-shadow:0 0 0 2px #7a541866}.sheet-backdrop{background:radial-gradient(#0b0a10bb,#05040aee);justify-content:center;align-items:center}.sheet.card-sheet{background:var(--tex-grain) padding-box, linear-gradient(160deg, var(--aff), var(--aff-deep) 55%, #120d12) padding-box, var(--metal) border-box;width:860px;max-height:96%;box-shadow:0 0 0 4px var(--ink-deep), inset 0 0 0 3px #0007, 0 30px 80px #000;border:10px solid #0000;border-radius:34px;flex-direction:column;gap:12px;padding:16px;font-size:30px;animation:.28s steps(4,end) both cardin;display:flex;overflow:auto}@keyframes cardin{0%{opacity:0;transform:translateY(40px)scale(.94)}}.cs-title{background:linear-gradient(180deg, #fff6, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--aff) 28%, #f6ead0), color-mix(in srgb, var(--aff) 52%, #a8916a));box-shadow:0 0 0 4px var(--ink-deep), inset 0 -3px 0 #0003;border-radius:16px 16px 8px 8px;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px 8px 24px;display:flex}.stage .cs-title h2{color:var(--rules-ink);text-shadow:0 1px #fff8;font-size:54px}.cs-cost{width:70px;height:70px;font-family:var(--display);color:#fff;text-shadow:0 2px #000;background:radial-gradient(circle at 35% 28%, #fff 0 8%, var(--aff2) 26%, var(--aff-deep) 80%);box-shadow:0 0 0 4px var(--ink-deep), inset 0 -4px 6px #0007;border-radius:50%;flex:none;place-items:center;font-size:40px;font-weight:800;display:grid}.cs-art{background:var(--metal-dim) border-box;height:380px;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 0 2px #0008;border:6px solid #0000;border-radius:6px;overflow:hidden}.cs-art svg{width:100%;height:100%;display:block}.card-sheet .sheet-sub{font-family:var(--display);color:var(--rules-ink);background:linear-gradient(180deg, #fff5, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--aff) 25%, #f6ead0), color-mix(in srgb, var(--aff) 45%, #a8916a));box-shadow:0 0 0 4px var(--ink-deep);border-radius:8px;margin:0;padding:8px 20px;font-size:30px;font-weight:700}.card-sheet .cs-aff{filter:brightness(.55)saturate(1.6)}.cs-rules{color:var(--rules-ink);font-family:var(--serif-body);background:var(--parchment);box-shadow:0 0 0 4px var(--ink-deep), inset 0 0 40px #7a541844;border-radius:10px;padding:20px 28px;font-size:32px;line-height:1.3}.cs-rules p{margin:12px 0 0}.cs-rules .sheet-kv{font-family:var(--body);border-bottom:2px solid #7a541844;margin-bottom:0;padding-bottom:12px;font-size:28px}.stage .cs-rules .bad{color:#9a2a39}.stage .cs-rules .dim{color:var(--rules-dim)}.card-sheet .row.end{margin-top:4px}.card-sheet>p.dim{text-align:center;font-family:var(--serif-body);color:#f4e3b8cc;margin:0;font-style:italic}.hub-top,.map-head,.hub-party,.map-party{background:var(--leather) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 26px #000b, 0 14px 30px #000c;border:6px solid #0000}.hub-title,.map-title{color:#0000;background:linear-gradient(#fffbe8,#f4d58c 40%,#b58a3c 60%,#f0cf7c);filter:drop-shadow(0 3px #1d1208);-webkit-background-clip:text;background-clip:text}.hub-sub,.map-sub{font-family:var(--serif-body);color:#e8d9b8;font-size:28px}.stage .station{border-radius:18px;padding:14px 34px 16px}.stage .station .st-name{color:#fbe8b0;text-shadow:0 3px #000}.stage .station .st-sub{font-family:var(--serif-body);color:#e8d9b8;font-size:24px;font-style:italic}.stage .station.st-gate,.stage .station.st-loom{background:linear-gradient(180deg, #fff6d840, transparent 45%) padding-box, var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #8f6420, #3a260a 90%) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 0 34px #ecc56a66, 0 10px 18px #000a}.hub-hero span{color:#fbe8b0;text-shadow:0 2px #000}.stage .map-node{background:radial-gradient(circle at 50% 30%, #fff2, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #3a3142, #120d12) padding-box, var(--metal-dim) border-box;border-width:6px;border-radius:50%}.stage .map-node.next{background:radial-gradient(circle at 50% 30%, #fff3, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #5a3a0e, #1d1208) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 0 40px #ecc56a, 0 10px 18px #000a}.stage .map-node.k-elite{background:radial-gradient(circle at 50% 30%, #fff2, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #9a2a39, #3e0d17) padding-box, var(--metal-dim) border-box}.stage .map-node.k-boss{background:radial-gradient(circle at 50% 30%, #fff3, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #8f6420, #3e0d17) padding-box, var(--metal) border-box}.stage .map-node.k-shrine{background:radial-gradient(circle at 50% 30%, #fff2, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #6a44a3, #1d1330) padding-box, var(--metal-dim) border-box}.stage .map-node.k-attunement{background:radial-gradient(circle at 50% 30%, #fff2, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #2c8f84, #0f3a38) padding-box, var(--metal-dim) border-box}.stage .map-node.k-bazaar,.stage .map-node.k-contract{background:radial-gradient(circle at 50% 30%, #fff2, transparent 50%) padding-box, radial-gradient(circle at 50% 35%, #8f6420, #2a170c) padding-box, var(--metal-dim) border-box}.mn-glyph{color:#fbe8b0;filter:drop-shadow(0 3px #000)}.mn-name{color:#e8d9b8}.map-link{stroke:#f4e3b877}.panel-backdrop{background:radial-gradient(at 50% 40%,#0b0a10aa,#030205e6);grid-template-columns:minmax(0,1fr);justify-items:center}.panel{background:var(--leather) padding-box, var(--metal) border-box;box-shadow:0 0 0 2px var(--ink-deep), 0 24px 80px #000, inset 0 0 40px #000a;border:3px solid #0000;border-radius:12px}.panel-head{background:radial-gradient(at 30% 0,#3a2c3a,#0000 70%);border-bottom:none;align-items:center;padding:14px 16px 16px 20px;position:relative}.panel-head:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23c9953a' stop-opacity='0'/%3E%3Cstop offset='0.15' stop-color='%23f4d58c'/%3E%3Cstop offset='0.85' stop-color='%23f4d58c'/%3E%3Cstop offset='1' stop-color='%23c9953a' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect y='3' width='400' height='2' fill='url(%23g)'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;height:8px;position:absolute;bottom:-4px;left:10px;right:10px}.panel-head h2{color:#0000;background:linear-gradient(#fffbe8,#f4d58c 40%,#b58a3c 62%,#f0cf7c);filter:drop-shadow(0 2px #1d1208);-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800}.panel-head .sub{font-family:var(--serif-body);color:#d9c7a2;font-size:14px;font-style:italic}.panel button{background:linear-gradient(180deg, #ffffff14, transparent 45%) padding-box, var(--enamel) padding-box, var(--metal-dim) border-box;box-shadow:0 0 0 1px var(--ink-deep), 0 3px 6px #0009;color:#f4e3b8;border:2px solid #0000;border-radius:8px}.panel button.primary{color:#2a1a08;font-family:var(--serif);background:linear-gradient(180deg, #fff6d855, transparent 45%) padding-box, linear-gradient(180deg, #f4d58c, #c9953a 55%, #8f6420) padding-box, var(--metal) border-box;box-shadow:0 0 0 1px var(--ink-deep), 0 4px 10px #000a, 0 0 14px #c9953a44;font-weight:700}.panel button.ghost.close{border-radius:50%;flex:none;width:40px;height:40px;padding:0}.panel button.toggled{color:#d2bff2;background:var(--enamel) padding-box, linear-gradient(135deg, #d2bff2, #6a44a3 50%, #b58cff) border-box}.tab.on{color:#fbe8b0}.tab.on,.panel button.tab.on{background:radial-gradient(ellipse at 50% 0%, #8f6420aa, #2a1f12) padding-box, var(--metal) border-box}.form-card{color:var(--rules-ink);background:var(--tex-grain) padding-box, linear-gradient(160deg, var(--aff,#8e93a6), var(--aff-deep,#3a4454) 55%, #120d12) padding-box, var(--metal) border-box;box-shadow:0 0 0 2px var(--ink-deep), 0 10px 22px #000b;border:5px solid #0000;border-radius:14px;gap:6px;padding:7px;position:relative}.form-card.aff-none{--aff:#8e93a6;--aff-deep:#252834;background:var(--tex-grain) padding-box, repeating-linear-gradient(135deg, #0000 0 10px, #ffffff08 10px 20px) padding-box, linear-gradient(160deg, #5a5f73, #252834 55%, #120d12) padding-box, var(--iron) border-box}.form-card.selected{box-shadow:0 0 0 2px var(--ink-deep), 0 0 0 5px #f4d58c, 0 0 26px #ecc56a99, 0 10px 22px #000b;border-color:#0000}.form-card.compact:hover{box-shadow:0 0 0 2px var(--ink-deep), 0 0 0 4px #f4d58c88, 0 10px 22px #000b}.fc-head{background:linear-gradient(180deg, #fff6, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--aff) 28%, #f6ead0), color-mix(in srgb, var(--aff) 52%, #a8916a));box-shadow:0 0 0 2px var(--ink-deep), inset 0 -2px 0 #0003;border-radius:8px 8px 4px 4px;align-items:center;padding:5px 6px 5px 10px}.fc-name{font-family:var(--serif);color:var(--rules-ink);text-shadow:0 1px #fff8;font-size:17px;font-weight:800;line-height:1.1}.fc-epithet{font-family:var(--serif-body);color:#4a3a2a;font-size:13px}.fc-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center}.tier{font-family:var(--serif);box-shadow:0 0 0 1px var(--ink-deep), inset 0 0 0 1px currentColor;background:#1d1822;border:none;padding:2px 8px;font-weight:700}.slot-badge{font-family:var(--serif);color:#2a1a08;box-shadow:0 0 0 1px var(--ink-deep);background:linear-gradient(#f4d58c,#b58a3c);padding:2px 8px;font-weight:700}.fc-art{aspect-ratio:300/150;background:var(--metal-dim) border-box;box-shadow:0 0 0 2px var(--ink-deep);border:3px solid #0000;border-radius:3px;overflow:hidden}.fc-art svg{width:100%;height:100%;display:block}.fc-realm{font-family:var(--serif);color:var(--rules-ink);background:linear-gradient(180deg, #fff5, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--aff) 22%, #f6ead0), color-mix(in srgb, var(--aff) 42%, #a8916a));box-shadow:0 0 0 2px var(--ink-deep);border-radius:4px;padding:3px 10px;font-size:12px;font-weight:700}.fc-type-aff{text-transform:capitalize}.fc-rules{font-family:var(--serif-body);color:var(--rules-ink);background:var(--parchment);box-shadow:0 0 0 2px var(--ink-deep), inset 0 0 24px #7a541844;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px 10px;font-size:14px;display:flex}.fc-rules .dim,.form-card .fc-rules .dim{color:var(--rules-dim)}.fc-rules .good{color:#1c6a3a}.fc-rules .bad{color:#9a2a39}.fc-rules .eval{color:var(--rules-dim);font-family:var(--sans)}.fc-rules .eval b{color:var(--rules-ink)}.fc-rules .rune .rn{font-family:var(--serif);color:var(--rules-ink);font-weight:700}.fc-rules .rune.hidden .rn,.fc-rules .rune.hidden .rv{color:#a8916a}.fc-rules .rbar{background:#5e4f4033;box-shadow:inset 0 1px 2px #0004}.fc-rules .rfill{background:linear-gradient(90deg,#43296f,#9a76d4)}.fc-rules .rband{background:#43296f22;border-color:#43296f88}.fc-rules .familiar{font-family:var(--serif-body);color:#43296f;border-top:1px solid #7a541844;padding-top:4px;font-size:14px;font-style:italic}.fc-rules .familiar.crit{color:#8c2c0c}.fc-rules .ess-chip{background:#1d1822}.fc-rules button{color:#f4e3b8}.fc-rules .row{font-family:var(--sans)}.realm-card{color:var(--rules-ink);background:var(--parchment) padding-box, var(--metal) border-box;box-shadow:0 0 0 2px var(--ink-deep), inset 0 0 30px #7a541844, 0 10px 22px #000b;border:4px solid #0000;border-radius:12px;gap:6px;padding:10px 14px 14px}.realm-card .realm-head{box-shadow:0 2px 0 var(--ink-deep), 0 4px 0 #b58a3c;background:linear-gradient(#3a2c3a,#1d1520);border-radius:8px 8px 0 0;margin:-10px -14px 4px;padding:10px 14px 8px}.realm-card h3{color:#fbe8b0;font-weight:800}.realm-card .diff{color:#f4d58c;font-family:var(--serif)}.realm-card p.dim{font-family:var(--serif-body);color:#4a3a2a;margin:2px 0 4px;font-size:15px;font-style:italic}.realm-card .kv .k{color:var(--rules-dim);font-family:var(--serif);font-weight:700}.realm-card .dim{color:var(--rules-dim)}.realm-card .demand.hot b{color:#1c6a3a}.ess-chip{box-shadow:0 0 0 1px var(--ink-deep);background:#1d1822}.realm-card .event{color:#43296f;background:#43296f18;border-color:#43296f55}.contracts-strip h4,.panel h4{color:#f4d58c;font-weight:800}.reward{color:#f4d58c}.offer,.contract,.currency,.slot,.result,.familiar-box,.temper-card{background:var(--tex-grain) padding-box, var(--enamel) padding-box, var(--metal-dim) border-box;box-shadow:0 0 0 1px var(--ink-deep), inset 0 0 16px #000a;border:2px solid #0000}.temper-card{background:var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #43296f, #15101f 80%) padding-box, linear-gradient(135deg, #f1e4ff, #6a44a3 35%, #d2bff2 60%, #271a45) border-box;box-shadow:0 0 0 2px var(--ink-deep), 0 0 30px #b58cff55}.temper-card.chosen{box-shadow:0 0 0 2px var(--ink-deep), 0 0 50px #ecc56a}th{color:#f4d58c;font-family:var(--serif);border-bottom:1px solid #b58a3c66}tr.sel td{background:#8f642033}.compare{overflow-x:auto}.crucible{grid-template-columns:290px minmax(0,1fr)}.reward-line{font-family:var(--serif);background:linear-gradient(90deg,#0008,#0000);border-radius:6px;margin:4px 0;padding:6px 12px;font-size:18px;font-weight:700;box-shadow:inset 2px 0 #c9953a}.toast{font-family:var(--serif-body);color:var(--rules-ink);background:var(--parchment) padding-box, var(--metal-dim) border-box;box-shadow:0 0 0 1px var(--ink-deep), inset 5px 0 0 #8e93a6, 0 8px 20px #000b;border:2px solid #0000;border-radius:8px;font-size:15px}.toast.gain{box-shadow:0 0 0 1px var(--ink-deep), inset 5px 0 0 #c9953a, 0 8px 20px #000b}.toast.loss{box-shadow:0 0 0 1px var(--ink-deep), inset 5px 0 0 #9a2a39, 0 8px 20px #000b}.toast.mastery{color:#271a45;box-shadow:0 0 0 1px var(--ink-deep), inset 5px 0 0 #6a44a3, 0 8px 20px #000b}.form-list{gap:10px;padding:6px 8px 8px 6px}.panel button{font-family:var(--serif);font-weight:700}.lineage{border-bottom:1px solid #b58a3c44}.arrow{color:#d2bff2;font-family:var(--serif-body);font-style:italic}@media (width<=900px){.crucible{grid-template-columns:minmax(0,1fr)}.lineage-step{flex-wrap:wrap;flex:100%}.lineage-step .form-card{width:100%}}@media (width<=700px){.panel-backdrop{padding:0}.panel,.panel.wide{border-width:3px 0;border-radius:0}.form-list{max-height:38vh}}.stage{font-size:38px}.stage button{min-height:120px}.stage button.small{padding:14px 30px;font-size:36px}.foe-tag{width:300px;left:-150px}.foe-name{font-size:38px}.elite-mark{font-size:36px}.statuses{flex-wrap:wrap;font-size:36px}.st{padding:0 10px}.tl-round,.tl-sep{font-size:36px}.boss-name{font-size:46px}.boss-phase{font-size:36px}.tell-name{font-size:52px}.tell-sub{font-size:38px}.hint{font-size:40px}.banner small{font-size:42px}.loom-sub{font-size:36px}.stage .hero-tab{min-height:120px;font-size:38px}.stage .loom-done{left:-10px;right:-10px;top:calc((var(--stage-h) + 1920px) / 2 - 178px - var(--safe-b));color:#2a1a08;text-shadow:0 1px #fff4d0aa;background:linear-gradient(180deg, #fff6d855, transparent 45%, #0000 55%, #5a3a0e55) padding-box, var(--tex-grain) padding-box, linear-gradient(180deg, #f4d58c, #c9953a 55%, #8f6420) padding-box, var(--metal) border-box;min-height:130px;box-shadow:0 0 0 3px var(--ink-deep), inset 0 2px 0 #fffbe8aa, 0 10px 22px #000b, 0 0 26px #c9953a44;font-size:52px;position:absolute}.compile{bottom:calc((1920px - var(--stage-h)) / 2 + 178px + var(--safe-b));font-size:38px;line-height:1.2}.compile h3,.c-diff,.tray-label,.tray-label .dim{font-size:36px}.tray-item{width:200px}.tray-item svg{width:130px;height:130px}.tray-name{font-size:36px}.tray-empty{padding:30px 10px;font-size:36px}.node-role{font-size:36px}.node-aff{font-size:32px}.node-name{font-size:34px}.node-score{font-size:32px}.node-dormant{font-size:34px}.node-reason,.root-label{font-size:30px}.cs-rules{font-size:38px}.cs-rules .sheet-kv,.card-sheet .sheet-sub,.card-sheet>p.dim,.hub-sub,.hub-ess{font-size:36px}.stage .station .st-name{font-size:46px}.stage .station .st-sub,.hub-hero,.map-sub{font-size:36px}.stage .map-node{width:140px;height:140px}.stage .map-node.k-boss{width:180px;height:180px}.mn-glyph{font-size:64px}.mn-name{white-space:nowrap;font-family:var(--display);color:#fbe8b0;background:#120d12cc;border-radius:12px;padding:0 14px 2px;font-size:36px;font-weight:700;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #8f642099}.map-dock{left:24px;right:24px;bottom:calc(24px + var(--safe-b));flex-direction:column;gap:18px;display:flex;position:absolute}.map-actions{gap:24px;display:flex}.stage .map-actions button{flex:1;min-height:124px;font-size:42px}.map-dock .map-party{padding:12px 14px;position:static}.mp-hero,.mp-hero span{font-size:36px}.coach{color:var(--rules-ink);font-family:var(--serif-body);background:var(--parchment) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), inset 0 0 30px #7a541855, 0 16px 40px #000c;border:6px solid #0000;border-radius:20px;gap:24px;padding:26px 30px 26px 26px;font-size:40px;line-height:1.25}.coach b{color:#6b1a28}.coach-mark{color:#fbe8b0;width:76px;height:76px;box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 7px #c9953a, 0 0 0 9px var(--ink-deep);background:radial-gradient(circle at 35% 30%,#9a76d4,#43296f 70%);border-radius:50%;place-items:center;font-size:44px;display:grid}.stage .coach-go{min-width:200px;min-height:120px;font-family:var(--display);color:#2a1a08;text-shadow:0 1px #fff4d0aa;background:linear-gradient(180deg, #fff6d855, transparent 45%) padding-box, linear-gradient(180deg, #f4d58c, #c9953a 55%, #8f6420) padding-box, var(--metal) border-box;font-size:44px}.coach-pulse{animation-name:coach-glow}@keyframes coach-glow{0%,to{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 6px #ffd67acc, 0 0 24px #ffd67a88}50%{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 16px #ffd67a00, 0 0 50px #ffd67acc}}.stage .skip-tutorial{color:#e8d9b8;background:#120d12cc padding-box, var(--metal-dim) border-box;min-height:120px;font-size:36px}.panel{font-size:15px}.panel .small,.panel .check,.fc-epithet,.fc-realm,.eval,.rune,.kv,.demand,.contract-line,.event,.ess-chip,.familiar-box ul,table,.fc-rules .familiar{font-size:14px}.tier,.slot-badge,.status,.diff,.temper-card .emph{font-size:13px}.panel-head .sub{font-size:15px}.panel button{min-height:44px;padding:8px 16px}.panel button.small{min-height:44px;padding:6px 12px;font-size:14px}.panel button.ghost.close{width:44px;height:44px}.toast{font-size:15px}.loom-head{top:40px}.loom-title{flex-wrap:wrap;align-items:baseline;column-gap:28px;display:flex}.loom-title h1{margin:0;line-height:1}.stage .station{text-align:center;max-width:330px}.stage .station.st-gate,.stage .station.st-loom{max-width:460px}.bpanel.thumb{flex-direction:row;gap:18px}.bp-left{flex-direction:column;flex:0 0 37%;gap:16px;min-width:0;display:flex}.bp-right{flex-direction:column;flex:1;min-width:0;display:flex}.bpanel.thumb .ps-name{font-size:36px}.bpanel.thumb .cards{flex:1;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(120px,1fr);gap:12px;min-height:0;margin:0 -20px 0 0;overflow-y:auto}.bpanel.thumb .card{border-right-width:0;border-radius:18px 0 0 18px}.bpanel.thumb .cards:has(>.card:nth-child(3)) .card-line.dim{display:none}.bpanel.thumb .cards:has(>.card:nth-child(3)) .card-top+.card-line{margin-top:16px}.bpanel.thumb .ally-pick,.bpanel.thumb .tap-anywhere{text-align:center;margin-top:30px}.bpanel.thumb .defense>.def-btn{align-self:stretch;width:auto;margin:0}.bpanel.thumb .def-btn.dodge{border-radius:40px 0 0 40px}.bpanel.thumb .party-strip{flex:1;min-height:0;display:flex}.bpanel.thumb .ps{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:12px;padding:14px 16px}.bpanel.thumb .ps .head{align-self:center;width:104px!important;height:104px!important}.bpanel.thumb .ps-name{text-align:center;justify-content:center}.bpanel.thumb .ps-hp{text-align:center;width:100%}.bpanel.thumb .ap-pips{flex-wrap:wrap;justify-content:center}.bpanel.thumb .ap-pips span{width:24px;height:24px}.bpanel.thumb .bp-left .impacts{flex:none;min-height:56px}.hub-party.hub-bar{justify-content:flex-start;align-items:center;gap:20px;padding:14px 18px}.hub-bar .hub-hero{margin-right:auto}.stage .hub-bar button.big{min-width:0;min-height:130px;padding:0 34px;font-size:48px}.stage .hub-bar button.big.primary{flex:0 0 40%}@media (width<=700px){.panel-backdrop{align-content:end;place-items:end stretch}.panel-backdrop>.panel,.panel-backdrop>.panel.wide{border-width:3px 0 0;border-radius:18px 18px 0 0;width:100%;height:auto;max-height:92dvh}.panel .row.end{justify-content:stretch}.panel .row.end>button.primary{flex:1;min-height:56px;font-size:20px}}.stage .title-actions button.small.ghost{opacity:.5;box-shadow:none;background:0 0;border-color:#0000}.loom-spoils{color:#f4d58c;flex-wrap:wrap;gap:8px 24px;margin-top:8px;font-size:36px;display:flex}.tray-item.raw .raw-hex{fill:#2a2230;stroke:#f4d58c;stroke-width:6px}.tray-item.raw .raw-glyph{fill:#f4d58c;font-size:64px;font-weight:800}.tray-item.picked{outline-offset:4px;border-radius:16px;outline:6px solid #f4d58c}.place-hit{z-index:4}.weave-backdrop{z-index:4500;background:#05040899;align-items:flex-end;animation:.16s ease-out both fadein;display:flex;position:absolute;inset:0}.weave-sheet{width:100%;padding:34px 28px calc(30px + var(--safe-b));background:var(--leather) padding-box, var(--metal) border-box;border:6px solid #0000;border-bottom:0;border-radius:34px 34px 0 0;flex-direction:column;gap:22px;animation:.2s cubic-bezier(.2,.9,.3,1) both sheet-up;display:flex;box-shadow:0 -20px 60px #000c}@keyframes sheet-up{0%{opacity:0;transform:translateY(40%)}}.ws-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ws-head h2{color:#f4d58c;margin:0;font-size:56px}.ws-sub{font-family:var(--serif-body);color:#e8d9b8;font-size:38px}.stage .ws-close{flex:none;width:110px;min-width:0;height:110px;padding:0;font-size:48px}.stage .ws-main{flex-direction:column;justify-content:center;align-items:center;min-height:150px;font-size:52px;display:flex}.ws-main small{font-size:30px}.ws-cost{color:#e8d9b8;font-size:38px}.ws-cost.short b{color:#ff8a8a}.ws-roles{flex-direction:column;gap:16px;display:flex}.stage .ws-role{text-align:left;color:#f3e6c8;flex-direction:column;align-items:flex-start;gap:6px;min-height:140px;padding:18px 26px;display:flex}.ws-role-name{color:#f4d58c;font-size:48px}.ws-role-name small{font-family:var(--serif-body);color:#c9b48a;margin-left:12px;font-size:32px;font-weight:400}.ws-role-does{font-family:var(--serif-body);font-size:36px;line-height:1.15}.ws-role-fit{font-family:var(--serif-body);color:#9fd8b0;font-size:28px;font-style:italic}.ws-role-fit.full{color:#e8a07a}.stage .foe-tag .foe-hp-num{text-align:center;color:#ffd2c8;text-shadow:0 2px #000,0 0 10px #000;font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:36px;font-weight:700}.stage .battle .skip-tutorial{top:470px;left:24px;right:auto}.stage .tray-item .tray-name{white-space:normal;text-overflow:clip;text-align:center;max-width:200px;line-height:1.1;overflow:visible}.stage .battle .skip-tutorial.armed{color:#ffe9a8;border-color:#ecc56a}.node .node-plate{fill:#1d1822;opacity:.82}.node .node-plate.role-action{stroke:#e2654a;stroke-width:3px}.node .node-plate.role-modifier{stroke:#ecc56a;stroke-width:3px}.node .node-plate.role-reaction{stroke:#7fb6e8;stroke-width:3px}.node .node-plate.role-keystone{stroke:#c79cf0;stroke-width:3px}.node text.node-rolename{fill:#fff4dc;stroke-width:0;letter-spacing:.06em}.node text.node-glyph{fill:#fff4dc;stroke-width:9px}.node text.node-glyph.role-action{fill:#ffd2c4}.node text.node-glyph.role-modifier{fill:#ffe9a8}.node text.node-glyph.role-reaction{fill:#d6ebff}.node text.node-glyph.role-keystone{fill:#ecd9ff}.tray-name .tray-role{letter-spacing:.04em;font-size:.9em;display:block}.tray-role.role-action,.ws-role-sigil.role-action{color:#ff9f86}.tray-role.role-modifier,.ws-role-sigil.role-modifier{color:#f3cf6b}.tray-role.role-reaction,.ws-role-sigil.role-reaction{color:#8fc4f2}.tray-role.role-keystone,.ws-role-sigil.role-keystone{color:#d1a8f5}.ws-role-sigil{text-align:center;-webkit-text-stroke:1px #1d1822;min-width:1.4em;margin-right:6px;font-size:1.3em;display:inline-block}.backdrop-svg.painted{object-fit:cover;width:100%;height:100%;display:block}.fig-img{filter:drop-shadow(0 6px 10px #00000073);pointer-events:none;height:92%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.head .head-img{pointer-events:none;height:360%;position:absolute;top:-4%;left:50%;transform:translate(-50%)}.head{position:relative}.head .head-img[data-fig=swarm],.head .head-img[data-fig=wyrm]{height:calc(100% / var(--hs));transform:translate(calc(var(--hx) * -100%), calc(var(--hy) * -100%));top:50%;left:50%}.head .head-img[data-fig=swarm]{--hx:.5;--hy:.3;--hs:.36}.head .head-img[data-fig=wyrm]{--hx:.2;--hy:.15;--hs:.3}.art-new{animation:.52s cubic-bezier(.2,.8,.2,1) backwards art-arrive}@keyframes art-arrive{0%{opacity:0;filter:brightness(2.6)blur(6px)}60%{opacity:1;filter:brightness(1.5)blur()}to{opacity:1;filter:none}}canvas.fig-img,canvas.head-img{width:auto}.battle .unit{--lx:120px;--ly:-60px;transition:transform .2s cubic-bezier(.2,.9,.3,1)}.battle .unit.foe{--lx:-140px;--ly:90px;animation:.38s cubic-bezier(.2,.9,.3,1.15) backwards enter-foe}.battle .unit.party{animation:.38s cubic-bezier(.2,.9,.3,1.15) backwards enter-hero}@keyframes enter-foe{0%{opacity:0;transform:translate(260px)}}@keyframes enter-hero{0%{opacity:0;transform:translate(-260px)}}.battle .unit.lunge,.battle .unit.party.lunge,.battle .unit.foe.lunge{transform:translate(var(--lx), var(--ly));transition:transform .11s cubic-bezier(.6,0,.9,.5)}.battle .unit.windup{transform:translate(calc(var(--lx) * -.12), calc(var(--ly) * -.12)) scale(1.04);transition:transform .36s cubic-bezier(.2,.7,.3,1)}.battle .unit.foe.windup{transform:translate(calc(var(--lx) * -.15), calc(var(--ly) * -.15)) scale(1.22) rotate(-6deg);transition:transform var(--wind-ms,.36s) cubic-bezier(.25, .1, .4, 1)}.battle .unit.foe.rewind{transform:translate(calc(var(--lx) * .7), calc(var(--ly) * .7)) scale(calc(1 + (var(--ls,1) - 1) * .7)) rotate(-4deg);transition:transform var(--wind-ms,.2s) cubic-bezier(.2, .7, .3, 1)}.battle .unit.foe.lunge{transform:translate(var(--lx), var(--ly)) scale(var(--ls,1));transition:transform var(--strike-ms,.11s) cubic-bezier(.55, 0, 1, .6)}.battle .unit .menace{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ff3a1acc,#ff3a1a55 55%,#0000);border-radius:50%;transition:opacity .2s ease-out;position:absolute;transform:scale(1.5)}.battle .unit.foe.windup .menace,.battle .unit.foe.rewind .menace{opacity:.85;transition:opacity var(--wind-ms,.36s) ease-in}.battle .unit.foe.lunge .menace{opacity:1;transition-duration:80ms}.battle .unit.foe.windup .foe-tag,.battle .unit.foe.rewind .foe-tag,.battle .unit.foe.lunge .foe-tag{opacity:0;transition:opacity 60ms}.battle .unit .bob{transform-origin:0 0;animation:2.4s ease-in-out infinite alternate breathe}.battle .unit.foe .bob{animation:1.9s ease-in-out infinite alternate breathe-foe}.battle .unit.active.party .bob{animation-duration:1.3s}@keyframes breathe{0%{transform:translateY(0)scale(1)}to{transform:translateY(-3px)scale(1.012,1.026)}}@keyframes breathe-foe{0%{transform:translateY(0)rotate(-.8deg)scale(1)}to{transform:translateY(-9px)rotate(.9deg)scale(1.01,1.03)}}.battle .unit.foe{--kx:40px}.battle .unit.party{--kx:-40px}.battle .unit.hurt .bob{animation:.26s cubic-bezier(.2,.8,.3,1) knock}.battle .unit.hurt .fig{filter:none;animation:.22s ease-out hit-flash}@keyframes knock{0%{transform:translateX(var(--kx)) skewX(-4deg) scale(1.04, .96)}60%{transform:translateX(calc(var(--kx) * -.15))}to{transform:none}}@keyframes hit-flash{0%{filter:brightness(3)saturate(0)}to{filter:none}}.battle .unit.dead .bob{animation:.52s cubic-bezier(.5,0,.8,.4) forwards fall}.battle .unit.is-broken .bob{transition:transform .22s cubic-bezier(.2,.9,.3,1.3)}.battle .unit.active.party:before{animation:.9s ease-in-out infinite alternate ring}@keyframes ring{0%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(1.06)}}.battle .reticle>div{animation:5s linear infinite spin}.battle .fx.slash{animation:.3s cubic-bezier(.2,.8,.2,1) both slash}.battle .fx.splat{animation:.42s cubic-bezier(.1,.8,.3,1) both splat}.battle .fx.spark{animation:.32s cubic-bezier(.1,.8,.3,1) both splat}.battle .fx.bloom{animation:.48s cubic-bezier(.1,.8,.3,1) both bloom}.battle .floater{animation:.95s cubic-bezier(.15,.9,.3,1) both floatup}.battle .floater.crit,.battle .floater.grade.perfect,.battle .floater.broken{animation-name:floatup-big}@keyframes floatup-big{0%{opacity:0;transform:translate(-50%,-30%)scale(.4)}14%{opacity:1;transform:translate(-50%,-70%)scale(1.5)}30%{transform:translate(-50%,-80%)scale(1.15)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-150%)scale(1.05)}}.battle .weak-point{animation:.26s ease-in-out infinite alternate pulse}.battle .banner{animation:.9s cubic-bezier(.2,.8,.3,1) both bannerin}.battle .tell{animation:.18s cubic-bezier(.2,.9,.3,1.2) both tellin}.battle .gbar>div{transition:width .24s cubic-bezier(.2,.8,.3,1)}.battle-end{animation:.22s ease-out both fadein}.battle .card{animation:.16s cubic-bezier(.2,.9,.3,1.2) both cardin}.flash{z-index:3150;background:radial-gradient(circle, #fff 0 8%, var(--flash) 22%, transparent 62%);mix-blend-mode:screen;pointer-events:none;border-radius:50%;width:520px;height:520px;margin:-260px 0 0 -260px;animation:.22s ease-out both flash;position:absolute}@keyframes flash{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}@keyframes cam-shake-0{0%{transform:translate(0)}25%{transform:translate(-7px,4px)}50%{transform:translate(6px,-3px)}75%{transform:translate(-3px,2px)}to{transform:none}}@keyframes cam-shake-1{0%{transform:translate(0)}25%{transform:translate(-7px,4px)}50%{transform:translate(6px,-3px)}75%{transform:translate(-3px,2px)}to{transform:none}}@keyframes cam-big-0{0%{transform:translate(0)scale(1.03)}15%{transform:translate(-18px,10px)scale(1.03)}35%{transform:translate(15px,-8px)scale(1.02)}55%{transform:translate(-9px,5px)scale(1.01)}75%{transform:translate(4px,-2px)}to{transform:none}}@keyframes cam-big-1{0%{transform:translate(0)scale(1.03)}15%{transform:translate(-18px,10px)scale(1.03)}35%{transform:translate(15px,-8px)scale(1.02)}55%{transform:translate(-9px,5px)scale(1.01)}75%{transform:translate(4px,-2px)}to{transform:none}}@keyframes cam-punch-0{0%{transform:scale(1)}25%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes cam-punch-1{0%{transform:scale(1)}25%{transform:scale(1.06)}to{transform:scale(1)}}.stage button{transition:transform 60ms ease-out,filter 60ms ease-out}.stage button:active:not(:disabled){filter:brightness(1.18);transform:scale(.95)}.stage .def-btn:active{filter:brightness(1.35);transform:scale(.97)}.stage .cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cards-idle{opacity:.4;filter:saturate(.5);pointer-events:none;flex-direction:column;flex:1;min-height:0;display:flex}.cards-idle .card{animation:none}@media (prefers-reduced-motion:reduce){.battle .world{animation:none!important}.battle .unit .bob{animation:none}}.battle .world{z-index:0}.world>.backdrop{transform:scale(var(--cover,1));transform-origin:50%}.stage .loom-screen .loom-done{top:calc(var(--stage-h) - 178px - var(--safe-b))}.loom-screen .compile{bottom:calc(1920px - var(--stage-h) + 178px + var(--safe-b))}.toasts{top:calc(16px + env(safe-area-inset-top,0px));align-items:center;bottom:auto;left:16px;right:16px}.loom-screen .loom-lower{left:20px;right:20px;bottom:calc(1920px - var(--stage-h) + 178px + var(--safe-b));flex-direction:column;gap:16px;display:flex;position:absolute}.loom-screen .loom-lower .tray,.loom-screen .loom-lower .compile{position:relative;inset:auto}.loom-screen .loom-lower .tray{flex-direction:column;flex:1;min-height:0;display:flex}.loom-screen .loom-lower .tray-row{flex:1;align-items:center}.loom-screen .loom-lower .compile{flex:none}.compile-grid{grid-template-columns:auto 1fr;align-items:baseline;gap:6px 24px;display:grid}.compile-grid h3{white-space:nowrap;border:none;margin:0}.loom-screen .loom-lower .c-diff{margin-top:8px;position:static}.loom-board .cell.coach-cell{fill:#f4d58c33;stroke:#ffd67a;stroke-width:10px}.stage .map-dock.map-party{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px}.map-dock .mp-hero{flex-direction:row;align-items:center;gap:18px}.map-dock .mp-hp{flex-direction:column;gap:6px;display:flex}.map-dock .mp-name{font-family:var(--display);color:#f4d58c;font-size:36px}.map-dock .mp-hero .gbar{width:300px}.stage .map-dock button.big{min-width:300px;min-height:124px;font-size:46px}.stage .map-head button.map-withdraw{min-height:88px;box-shadow:none;color:#c9b48a;background:0 0;border:2px solid #8f642099;flex:none;padding:0 22px;font-size:30px}.station.fresh{animation:1.6s ease-in-out infinite st-fresh}@keyframes st-fresh{50%{box-shadow:0 0 0 4px #f4d58c,0 0 40px #f4d58caa}}.station .st-new{color:#fff3dc;font-family:var(--display);background:#b8402f;border-radius:999px;padding:4px 14px;font-size:26px;position:absolute;top:-22px;right:-12px;box-shadow:0 3px 8px #000a}@media (prefers-reduced-motion:reduce){.station.fresh{animation:none}}.weave-sheet{animation:.26s cubic-bezier(.2,.9,.3,1) both ws-rise;position:relative}@keyframes ws-rise{0%{opacity:0;transform:translateY(40%)}}.ws-burst{pointer-events:none;z-index:-1;background:radial-gradient(circle,#fff6d8 0%,#f4d58caa 18%,#b47cff55 38%,#0000 62%);width:900px;height:900px;margin:-450px 0 0 -450px;animation:.9s cubic-bezier(.1,.8,.3,1) both ws-burst;position:absolute;top:0;left:50%}@keyframes ws-burst{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}.weave-sheet.just-revealed h2{animation:.52s cubic-bezier(.2,1.4,.4,1) both ws-name}@keyframes ws-name{0%{letter-spacing:12px;opacity:0;filter:blur(6px);transform:scale(.6)}}.weave-sheet .ws-role{animation:.36s cubic-bezier(.2,.9,.3,1) both ws-role}.weave-sheet .ws-role:nth-child(2){animation-delay:70ms}.weave-sheet .ws-role:nth-child(3){animation-delay:.14s}.weave-sheet .ws-role:nth-child(4){animation-delay:.21s}@keyframes ws-role{0%{opacity:0;transform:translateY(30px)}}@media (prefers-reduced-motion:reduce){.weave-sheet,.ws-burst,.weave-sheet h2,.weave-sheet .ws-role{animation:none}}.stage{overflow:clip}.battle-end h1{animation:.52s cubic-bezier(.2,1.5,.4,1) both end-title}@keyframes end-title{0%{opacity:0;letter-spacing:30px;transform:scale(1.8)}}.stage .end-stats{box-shadow:none;background:0 0;border:none;gap:24px;padding:0;display:flex}.end-stats span{width:230px;color:var(--rules-ink);background:var(--parchment) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 14px 30px #000c;border:6px solid #0000;border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:22px 0 18px;font-size:32px;animation:.38s cubic-bezier(.2,1.4,.4,1) both end-stat;display:flex}.end-stats span:first-child{animation-delay:.26s}.end-stats span:nth-child(2){animation-delay:.36s}.end-stats span:nth-child(3){animation-delay:.46s}.end-stats b{font-family:var(--display);color:#6b1a28;font-size:76px;line-height:1}@keyframes end-stat{0%{opacity:0;transform:translateY(40px)scale(.7)}}.stage .battle-end button.big{animation:.32s cubic-bezier(.2,1.2,.4,1) .56s both end-stat}@media (prefers-reduced-motion:reduce){.battle-end h1,.end-stats span,.stage .battle-end button.big{animation:none}}.battle .streak{z-index:3100;pointer-events:none;color:#f4d58c;text-shadow:0 3px #1d1208,0 0 18px #000;flex-direction:column;align-items:flex-start;animation:.3s cubic-bezier(.2,1.6,.4,1) both streak-pop;display:flex;position:absolute;top:340px;left:40px}.battle .streak b{font-family:var(--display);font-size:96px;line-height:.9}.battle .streak span{font-family:var(--display);letter-spacing:2px;text-transform:uppercase;font-size:34px}.battle .streak.warm{color:#ffb45c}.battle .streak.hot{color:#ff6a3d;text-shadow:0 3px #1d1208,0 0 30px #ff6a3d99}@keyframes streak-pop{0%{opacity:0;transform:scale(1.7)rotate(-6deg)}}@media (prefers-reduced-motion:reduce){.battle .streak{animation:none}}.bpanel.thumb .cards:has(>.card:nth-child(3)) .card-top+.card-line{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:30px;overflow:hidden}.bpanel.thumb .cards:has(>.card:nth-child(3)) .card{justify-content:center}.loom-board .node.landed{animation:.42s cubic-bezier(.2,1.6,.4,1) both node-land}@keyframes node-land{0%{opacity:0;transform:scale(1.5)}}.loom-board .land-ring{fill:none;stroke:#fff4cc;stroke-width:10px;animation:.7s ease-out both land-ring}@keyframes land-ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.6)}}.tray-item.raw svg{animation:2.4s ease-in-out infinite raw-float}@keyframes raw-float{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.loom-board .node.landed,.loom-board .land-ring,.tray-item.raw svg{animation:none}}.map-node.next{animation:1.4s ease-in-out infinite node-next}@keyframes node-next{50%{transform:translate(-50%,-50%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.map-node.next{animation:none}}.map-node.passed{opacity:.35}.map-link.behind{opacity:.3}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps{justify-content:space-evenly;gap:10px}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps .head{width:150px!important;height:150px!important}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps-name{flex-direction:column;font-size:40px}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps-hp{font-size:34px}.bpanel.thumb .party-strip:has(>.ps:only-child) .gbar{height:22px}.bpanel.thumb .party-strip:has(>.ps:only-child) .ap-pips{gap:6px}.bpanel.thumb .party-strip:has(>.ps:only-child) .ap-pips span{width:32px;height:32px}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps-name{align-items:center}.bpanel.thumb .party-strip:has(>.ps:only-child) .ps-body{flex-direction:column;gap:12px;display:flex}.bpanel.thumb .cards:has(>.card:only-child) .card-top+.card-line{margin-top:auto;font-size:46px}.bpanel.thumb .cards:has(>.card:only-child) .card-line.dim{margin-bottom:auto;font-size:38px}.realm-chips{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 14px;display:flex}.stage .realm-card button.realm-more,.stage button.realm-more{min-height:64px;box-shadow:none;color:#6b4a1a;background:0 0;border:2px solid #8f6420aa;margin-left:auto;padding:0 22px;font-size:30px}.contracts-strip .realm-more{color:#c9b48a;margin:0 auto}.realm-details{margin-bottom:14px;animation:.22s ease-out both ws-role}.stage .realm-card button.primary{min-height:120px;font-size:48px}.stage .title-actions{bottom:calc(110px + var(--safe-b,0px))}.stage .panel .realm-card button.realm-more,.stage .panel button.realm-more{box-shadow:none;color:#6b4a1a;background:0 0;border:2px solid #8f6420aa}.stage .panel .contracts-strip button.realm-more{color:#c9b48a}.stage .bpanel.thumb .cards:has(>.card:nth-child(3)) .card{padding:5px 5px 5px 7px}.bpanel.thumb .cards:has(>.card:nth-child(3)) .card-top{height:52px}.stage .bpanel.thumb .cards:has(>.card:nth-child(3)) .card-top+.card-line{margin-top:10px;font-size:27px;line-height:1.15}.stage .bpanel.thumb .cards:has(>.card:nth-child(3)) .card:not(.empty):after{top:70px;bottom:6px}.loot{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 24px;display:grid}.loot-tile{--c:#f4d58c;border:4px solid var(--c);background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--c) 30%, transparent), #120d12cc 70%);box-shadow:0 0 22px color-mix(in srgb, var(--c) 35%, transparent), 0 10px 20px #000a;color:var(--c);border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:18px 8px 14px;animation:.38s cubic-bezier(.2,1.5,.4,1) both loot-in;display:flex}.loot-tile:nth-child(2){animation-delay:90ms}.loot-tile:nth-child(3){animation-delay:.18s}.loot-tile:nth-child(4){animation-delay:.27s}.loot-tile:nth-child(5){animation-delay:.36s}.loot-tile:nth-child(6){animation-delay:.45s}.loot-tile .lt-glyph{font-size:64px;line-height:1}.loot-tile b{font-family:var(--display);color:#fbe8b0;font-size:46px}.loot-tile .lt-name{font-family:var(--serif-body);text-align:center;color:#d9c7a2;font-size:28px}.loot-tile.crowns{--c:#ecc56a}.loot-tile.form{--c:#b47cff;grid-column:span 3}.loot-tile.mirror{--c:#9fd8ff}@keyframes loot-in{0%{opacity:0;transform:translateY(30px)scale(.6)}}@media (prefers-reduced-motion:reduce){.loot-tile{animation:none}}.loot{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.loot-tile{border-width:3px;border-radius:16px;padding:12px 4px 10px}.loot-tile .lt-glyph{font-size:46px}.loot-tile b{font-size:40px}.loot-tile .lt-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:24px;overflow:hidden}.loot-tile.form{grid-column:span 2}.loot.loot{flex-wrap:wrap;display:flex}.loot .loot-tile.loot-tile{flex:1 1 0;min-width:22%}.loot .loot-tile.loot-tile.form{flex-basis:40%}.battle .banner.has-lore{background:linear-gradient(90deg,#0000,#0e0906db 12% 88%,#0000);border-top:3px solid #d6aa5a99;border-bottom:3px solid #d6aa5a99;padding:34px 0 30px}.battle .banner .banner-lore{max-width:820px;font-family:var(--serif-body);letter-spacing:0;color:#f4e3b8;text-shadow:0 2px #000;margin:16px auto 0;font-size:42px;font-style:italic;font-weight:400;line-height:1.3}.crossing .station.risen{animation:.9s cubic-bezier(.2,.9,.3,1.15) .25s both st-rise}.crossing .station.risen.fresh{animation:.9s cubic-bezier(.2,.9,.3,1.15) .25s both st-rise,1.6s ease-in-out 1.15s infinite st-fresh}.crossing .station.risen:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffd682b3,#ffd68200 65%);border-radius:50%;animation:1.1s ease-out .35s both st-flare;position:absolute;inset:-40px}@keyframes st-rise{0%{opacity:0;transform:translate(-50%,calc(80px - 50%))scale(.6)}to{opacity:1;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.crossing .station.risen,.crossing .station.risen:before{animation:none}}@keyframes st-flare{0%{opacity:0;transform:scale(.3)}35%{opacity:1}to{opacity:0;transform:scale(1.6)}}@keyframes cam-finale-0{0%{filter:none;transform:scale(1.02)}12%{filter:saturate(.4)contrast(1.15);transform:scale(1.1)translate(-6px,4px)}70%{filter:saturate(.25)contrast(1.2)brightness(1.05);transform:scale(1.13)}to{filter:none;transform:none}}@keyframes cam-finale-1{0%{filter:none;transform:scale(1.02)}12%{filter:saturate(.4)contrast(1.15);transform:scale(1.1)translate(6px,4px)}70%{filter:saturate(.25)contrast(1.2)brightness(1.05);transform:scale(1.13)}to{filter:none;transform:none}}.battle .finale-bloom{z-index:3200;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fff8e4f2,#ffecbe80 40%,#ffecbe00 75%);animation:1s ease-out both finale-bloom;position:absolute;inset:0}@keyframes finale-bloom{0%,55%{opacity:0}72%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.battle .finale-bloom{animation-duration:1ms}}.toasts{top:calc(96px + env(safe-area-inset-top,0px))}.battle.finale .unit.foe.dead .bob{animation:1.1s cubic-bezier(.3,.7,.4,1) forwards foe-die}@keyframes finale-fall{0%{filter:brightness()}25%{filter:brightness(2.2)saturate(.2);opacity:1;transform:translateY(0)scaleY(1)}to{filter:brightness(3)saturate(0);opacity:0;transform:translateY(30px)scaleY(.15)}}.realm-card .realm-head.has-art{background:linear-gradient(180deg, #140e1600 25%, #140e16e0 100%), var(--realm-art) center 58% / cover no-repeat;align-items:flex-end;min-height:118px;display:flex}.realm-card .realm-head.has-art h3,.realm-card .realm-head.has-art .diff{text-shadow:0 2px #000,0 0 12px #000}.realm-card .realm-head.has-art{align-items:last baseline;padding-bottom:12px}.battle .unit.party .fig-svg{filter:drop-shadow(0 0 1.5px #0a0604d9)drop-shadow(-6px -4px 14px #ffd69638)saturate(.92)contrast(1.06)}.battle .unit.foe .fig-img{filter:drop-shadow(0 0 1.5px #0a0604b3)drop-shadow(0 12px 18px #00000073)}.stage .map-node .mn-foe{width:124px;height:124px;position:relative}.stage .map-node .mn-face{border-radius:50%;position:absolute;inset:0;overflow:hidden}.stage .map-node .mn-more{color:#fff3dc;font-family:var(--display);background:#b8402f;border-radius:999px;padding:0 10px;font-size:28px;line-height:40px;position:absolute;top:-10px;right:-14px;box-shadow:0 2px 6px #000a}.stage .map-node .mn-name .mn-peek{font-family:var(--serif-body);color:#f4e3b8;text-align:center;margin-top:-4px;font-size:26px;font-style:italic;font-weight:400;display:block}.stage .card.has-art:not(.empty):after{background:var(--tex-grain), linear-gradient(90deg, #f1e3c0 40%, #f1e3c0c7 62%, #f1e3c08c 100%), var(--card-art) right 40% / 60% auto no-repeat, radial-gradient(ellipse at 45% 35%, #fbf2da, #ecdcb4 55%, #d6bf8e)}@media (width<=720px){table.market.market,table.market.market tbody{width:100%;display:block}table.market.market thead{display:none}table.market.market tr{background:#ffffff0a;border-radius:12px;grid-template-columns:1fr 1fr .7fr;grid-template-areas:"name name spark""price trade held""act act act";align-items:center;gap:6px 10px;margin:0 0 12px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}table.market.market td{border:0;padding:0;display:block}table.market.market td:first-child{grid-area:name}table.market.market td:nth-child(2){grid-area:spark;justify-self:end;max-width:100%;overflow:hidden}table.market.market td:nth-child(3){grid-area:price}table.market.market td:nth-child(4){grid-area:trade}table.market.market td:nth-child(5){text-align:right;grid-area:held}table.market.market td:nth-child(4):before{content:"Buy / Sell";opacity:.6;font-size:12px;display:block}table.market.market td:nth-child(5):before{content:"Held";opacity:.6;font-size:12px;display:block}table.market.market td:nth-child(6){grid-area:act;gap:10px;display:flex}table.market.market td:nth-child(6) button{flex:1;min-height:44px}table.market.market td:nth-child(2) svg{width:120px;height:auto}.tabs.tabs{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.tabs.tabs>.tab{flex:1 1 0;min-width:0;padding:10px 4px;font-size:15px;line-height:1.15}.tabs.tabs>.hud-spacer{flex-basis:100%;height:0}.tabs.tabs>.ghost{margin-left:auto}}.fc-art .fc-paint{background-repeat:no-repeat;background-size:160%;width:100%;height:100%}.fc-rules .eval.eval{font-family:var(--serif);align-items:flex-end;gap:4px 20px}.fc-rules .eval .ev-big{flex-direction:column;line-height:1.05;display:flex}.fc-rules .eval .ev-big small{letter-spacing:.06em;text-transform:uppercase;color:var(--rules-dim);font-size:12px}.fc-rules .eval .ev-big b{font-size:22px;font-weight:800}.fc-rules .eval .ev-verdict{background:#2f6b3a22;border-radius:999px;align-self:center;margin-left:auto;padding:3px 10px;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px}.fc-rules .eval .ev-verdict.bad{background:#9a2a3918}@media (width<=720px){.crucible.crucible{flex-direction:column;display:flex}.crucible.crucible .form-detail{order:-1;scroll-margin-top:12px}.crucible.crucible .form-list .form-card.selected{display:none}}.battle-end .end-tip{max-width:820px;font-family:var(--serif-body);color:#f4e3b8;text-align:center;background:#120d12cc;border-radius:16px;margin:0 auto 34px;padding:18px 28px;font-size:40px;font-style:italic;line-height:1.3;animation:.4s ease-out .5s both fadein;box-shadow:inset 0 0 0 2px #b58a3c88}.crucible .actions button{flex-direction:column;align-items:center;line-height:1.15;display:inline-flex}.crucible .actions .act-hint{font-family:var(--serif-body);text-transform:none;letter-spacing:0;opacity:.85;font-size:12px;font-style:italic;font-weight:400}.stage .map-node.k-elite .mn-face{box-shadow:inset 0 0 0 6px #b8402f,inset 0 0 18px #000a}.stage .map-node.k-boss .mn-face{box-shadow:inset 0 0 0 7px #e0b450,inset 0 0 22px #000a}.stage .map-node.k-boss .mn-foe{width:164px;height:164px}.battle .unit.foe.enraged:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#ff4a2acc,#e0402f55 55%,#0000);width:600px;height:860px;animation:.64s ease-in-out infinite alternate enraged;position:absolute;top:-820px;left:-300px}@keyframes enraged{0%{opacity:.45;transform:scale(.94)}to{opacity:1;transform:scale(1.04)}}.battle .floater.enrage{color:#ff6b4a;letter-spacing:.06em;text-shadow:0 4px #3a0a06,0 0 24px #e0402f;font-size:64px}@media (prefers-reduced-motion:reduce){.battle .unit.foe.enraged:after{opacity:.8;animation:none}}.loom-screen .loom-lower.bare{justify-content:flex-end}.loom-screen .loom-lower .tray.empty{flex:none;height:170px;position:absolute;bottom:calc(100% + 16px);left:0;right:0}.loom-screen .loom-lower .tray.empty .tray-empty{padding:8px 4px}.battle .tell.rage{background:var(--tex-grain) padding-box, radial-gradient(ellipse at 50% 0%, #e0602a, #5a1206 80%) padding-box, var(--metal) border-box;animation:.18s cubic-bezier(.2,.9,.3,1.2) both tellin,80ms .18s 4 alternate rage-shake}.battle .tell.rage .tell-name:before{content:"Rage · ";color:#ffcf5a}@keyframes rage-shake{0%{translate:-6px}to{translate:6px}}.toasts .toast{pointer-events:auto;cursor:pointer}.chips-label{font-family:var(--serif-body);color:var(--rules-ink,#3a2c1c);opacity:.8;align-self:center;font-size:15px;font-style:italic}.realm-actions{align-items:stretch;gap:12px;display:flex}.realm-actions button.primary{flex:1}.realm-actions button.realm-more{margin-left:0!important}.summary,.summary .event{font-family:var(--serif-body)}.summary>p.dim{font-size:17px}.sum-reach{font-family:var(--serif-body);color:#e9dcc0;gap:8px;font-size:19px;display:grid}.sum-reach b{color:#f4d58c}.sum-track{gap:6px;display:flex}.sum-track i{background:#ffffff1f;border-radius:5px;flex:1;height:10px}.sum-track i.on{background:linear-gradient(90deg,#d9a441,#f4d58c);box-shadow:0 0 8px #f4d58c66}.sum-track i.boss{background:#7a1f2a;box-shadow:inset 0 0 0 2px #e0b450}.loot .loot-tile.loot-tile.crowns{flex-grow:1.4}.loot .loot-tile .lt-name.lt-name{font-size:24px}.stage .foe-tag .foe-name{white-space:nowrap;justify-content:center;align-items:baseline;display:flex}.realm-card .realm-head{position:relative}.realm-best{font-family:var(--serif-body);color:#f4e6c4;background:#120c10cc;border:1px solid #d9a44188;border-radius:999px;padding:3px 10px;font-size:14px;position:absolute;top:10px;right:12px}.realm-best.cleared{color:#1d1408;background:linear-gradient(#f4d58c,#c8963a);border-color:#fff3c8;font-weight:700}.sum-best{color:#1d1408;background:linear-gradient(#f4d58c,#c8963a);border-radius:999px;margin-left:10px;padding:2px 10px;font-size:15px;font-style:normal;animation:.38s cubic-bezier(.2,1.5,.4,1) .3s both loot-in;display:inline-block}.sum-fell{font-family:var(--serif-body);color:#e9dcc0;font-size:17px}.sum-fell b{color:#ffb4a8}.sum-fell .gbar{border-width:2px;height:10px;margin-top:6px}.stage .mystery-veil{z-index:40;background:radial-gradient(circle,#1a1024cc,#07050add 70%);place-items:center;animation:.22s ease-out both ws-role;display:grid;position:absolute;inset:0}.stage .mystery-card{width:700px;height:980px;box-shadow:none;background:0 0;border:none;padding:0;animation:.42s cubic-bezier(.2,1.5,.4,1) both loot-in;position:relative}.stage .mystery-card.open .mc-back{animation:.18s ease-in forwards mc-fold}.stage .mystery-card.open .mc-face{animation:.26s cubic-bezier(.2,1.4,.4,1) .18s forwards mc-unfold}@keyframes mc-fold{to{transform:scaleX(0)}}@keyframes mc-unfold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stage .mystery-card .mc-back,.stage .mystery-card .mc-face{font-family:var(--display);color:#fbe8b0;border:8px solid #c9a24f;border-radius:36px;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;inset:0;box-shadow:0 0 60px #b47cff55,0 30px 60px #000c}.stage .mystery-card .mc-back{background:radial-gradient(circle at 50% 40%,#4a2a6a,#1a0f24 75%)}.stage .mystery-card .mc-back b{color:#d9b8ff;text-shadow:0 0 40px #b47cff;font-size:300px;line-height:1;animation:1.1s ease-in-out infinite alternate pulse}.stage .mystery-card small{font-family:var(--serif-body);color:#e9dcc0;font-size:40px}.stage .mystery-card .mc-face{background:radial-gradient(circle at 50% 35%,#5a4420,#1d1408 75%);transform:scaleX(0)}.stage .mystery-card.ambush .mc-face{background:radial-gradient(circle at 50% 35%,#7a1f2a,#1d0808 75%);border-color:#e0402f}.stage .mystery-card .mc-face b{font-size:84px}.stage .mystery-card .mc-glow{color:#f4d58c;text-shadow:0 0 50px #f4d58c;font-size:220px;font-style:normal;line-height:1}.stage .ch-name input{font-family:var(--display);letter-spacing:.02em}.map-dock .mp-hero .gbar>div{transition:width .7s cubic-bezier(.2,.8,.2,1)}.map-dock .mp-hp{position:relative}.map-dock .mp-delta{font:700 44px/1 var(--display);text-shadow:0 2px 6px #000;pointer-events:none;animation:1.8s ease-out both mp-delta;position:absolute;bottom:-2px;right:0}.map-dock .mp-delta.up{color:#8fe08a}.map-dock .mp-delta.down{color:#ff7b6b}@keyframes mp-delta{0%{opacity:0;transform:translateY(16px)}15%{opacity:1;transform:none}70%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.stage .boss-omen{z-index:40;color:#f3e6c8;background:radial-gradient(at 50% 40%,#3a0d0acc 0%,#000000e6 70%);border:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:4.2s ease-in-out both omen;display:flex;position:absolute;inset:0}.boss-omen .bo-face{background:#1a0806;border-radius:50%;place-items:center;width:300px;height:300px;animation:2.6s ease-out both omen-face;display:grid;overflow:hidden;box-shadow:0 0 0 8px #e0b450,0 0 80px #c0302acc}.boss-omen b{font:700 72px/1.1 var(--display);letter-spacing:1px}.boss-omen small{font:italic 40px/1.2 var(--display);opacity:.85}@keyframes omen{0%{opacity:0}8%{opacity:1}88%{opacity:1}to{opacity:0}}@keyframes omen-face{0%{transform:scale(.6)}20%{transform:scale(1.06)}30%{transform:scale(1)}}.stage .map-node.k-boss.next .mn-face{animation:1.6s ease-in-out infinite boss-pulse}@keyframes boss-pulse{0%,to{box-shadow:inset 0 0 0 7px #e0b450,inset 0 0 22px #000a,0 0 #c0302a00}50%{box-shadow:inset 0 0 0 7px #e0b450,inset 0 0 22px #000a,0 0 40px 10px #c0302acc}}:root:has(.boss-omen) .toasts{opacity:0;transition:opacity .2s}@media (width<=720px){table.market.market{font-family:var(--serif-body)}table.market.market tr{grid-template-areas:"name name spark""price price held""act act act"}table.market.market td:nth-child(4){display:none}table.market.market .mk-price{margin-right:6px;font-size:30px}table.market.market .status{white-space:nowrap}table.market.market td:nth-child(6) button small{font:400 15px var(--serif-body);text-transform:none;opacity:.8;margin-left:4px}}.events .event.event{font-family:var(--serif-body)}.sum-win{font-family:var(--serif-body);color:#e9dcc0;align-items:center;gap:18px;font-size:22px;animation:.6s cubic-bezier(.2,.9,.3,1.2) both sw-in;display:flex}.sum-win b{color:#f4d58c}.sum-win .sw-text{flex:1;gap:10px;display:grid}.sum-win .sw-face{filter:saturate(.6);background:#1a0806;border-radius:50%;flex:none;place-items:center;width:110px;height:110px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 5px #e0b450,0 0 30px #f4d58c66}.sum-win .sw-slash{background:linear-gradient(90deg,#0000,#f4d58c 20%,#fff6d8 50%,#f4d58c 80%,#0000);width:120%;height:8px;animation:.38s ease-out .45s forwards sw-slash;position:absolute;top:46%;left:-10%;transform:rotate(-35deg)scaleX(0);box-shadow:0 0 12px #f4d58c}.sum-track.won i.crown{background:linear-gradient(90deg,#f4d58c,#fff1c4);box-shadow:0 0 12px #f4d58ccc,inset 0 0 0 2px #e0b450}@keyframes sw-in{0%{opacity:0;transform:scale(.9)}}@keyframes sw-slash{to{transform:rotate(-35deg)scaleX(1)}}.sum-win .sum-best{justify-self:start}.boss-omen .bo-tip{max-width:820px;font:400 40px/1.35 var(--serif-body);color:#f3e6c8;text-align:center;background:#00000080;border-radius:18px;margin-top:26px;padding:22px 30px;animation:4.2s ease-out both bo-tip;box-shadow:inset 0 0 0 2px #e0b45066}.boss-omen .bo-tip b{font:inherit;color:#f4d58c;letter-spacing:0;font-weight:700}@keyframes bo-tip{0%,22%{opacity:0;transform:translateY(14px)}32%{opacity:1;transform:none}}.hub-ess .hub-crowns{color:#f4d58c;grid-column:1/-1;justify-self:end}.hub-ess.solo{align-items:center;display:flex}.hub-ess.solo .hub-crowns{font:700 56px/1 var(--display);text-shadow:0 2px 8px #000a}.stage .shrine-rest{z-index:40;background:radial-gradient(at 50% 60%,#2b1d4acc 0%,#000000d9 75%);justify-content:center;align-items:flex-end;padding:0 40px 300px;animation:.3s ease-out both sr-in;display:flex;position:absolute;inset:0}.shrine-rest .sr-card{box-sizing:border-box;color:#f3e6c8;text-align:center;background:linear-gradient(#2a2140,#17121f);border-radius:28px;justify-items:center;gap:18px;width:100%;padding:44px 40px 40px;display:grid;box-shadow:inset 0 0 0 3px #b99cf266,0 20px 60px #000c,0 0 80px #8f6fe055}.shrine-rest .sr-glow{color:#d9c8ff;text-shadow:0 0 30px #b99cf2,0 0 60px #8f6fe0;font-size:120px;font-style:normal;line-height:1;animation:1.8s ease-in-out infinite sr-glow}.shrine-rest b{font:700 60px/1.1 var(--display)}.shrine-rest .sr-gain{font:700 76px/1 var(--display);color:#8fe08a;text-shadow:0 0 24px #8fe08a66;animation:.7s cubic-bezier(.2,.9,.3,1.3) .15s both sr-gain}.shrine-rest .gbar{width:80%;height:22px}.shrine-rest .gbar>div{animation:.9s ease-out .2s both sr-bar}.shrine-rest small{font:400 36px/1.3 var(--serif-body);opacity:.85}.shrine-rest .sr-actions{box-sizing:border-box;gap:20px;width:100%;margin-top:10px;display:flex}.shrine-rest .sr-actions button{flex:1 1 0;min-width:0;min-height:130px}@keyframes sr-in{0%{opacity:0}}@keyframes sr-glow{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes sr-gain{0%{opacity:0;transform:scale(.6)}}@keyframes sr-bar{0%{filter:brightness(2.2)}}.shrine-rest.attune .sr-glow{color:#bfeef2;text-shadow:0 0 30px #5fc6cf,0 0 60px #2f9aa5}.shrine-rest.attune .sr-gain{color:#8fd8e0;text-shadow:0 0 24px #5fc6cf66}.shrine-rest.attune .sr-gain.none{color:#e9dcc0;text-shadow:none;font-size:60px}.contracts .contract,.offer{font-family:var(--serif-body)}.contracts .contract b,.contracts .contract strong{font-family:var(--display)}.contracts .contract .reward{color:#f4d58c;font:700 22px var(--display)}.ct-wants{flex-wrap:wrap;gap:.35em;margin:.4em 0 .3em;padding:0;list-style:none;display:flex}.ct-wants li{background:#ffdc961a;border:1px solid #ffdc9647;border-radius:999px;padding:.15em .7em;font-size:.95em;line-height:1.35}.ct-near{color:#e8dcc2;background:#00000040;border-left:3px solid #d9b25a;border-radius:6px;margin-top:.4em;padding:.4em .7em}.loot-tile .lt-have{font-family:var(--serif-body);color:#f0e1be9e;margin-top:-2px;font-size:22px}.stage .card .card-boost{color:#ffe9a0;text-shadow:0 0 2px #4a2205,0 0 2px #4a2205,0 0 10px #ffd678e6;vertical-align:.12em;letter-spacing:.05em;margin-left:.3em;font-size:.75em}.hero-tag{pointer-events:none;width:400px;left:-200px}.hero-tag .statuses{gap:10px;font-size:34px}.hero-tag .st{font-family:var(--serif-body);background:#140f16e6;border-color:currentColor;border-radius:999px;align-items:center;gap:8px;padding:4px 14px;font-weight:700;display:inline-flex}.st .st-g{font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-style:normal}.hero-tag .st .st-n{color:#f3e6c8;font-weight:600}.hint.fresh{text-shadow:none;text-align:center;background:#140f16e8;border:2px solid #c9953a;border-radius:16px;padding:16px 26px;line-height:1.25;animation:.28s cubic-bezier(.2,1.4,.4,1) both hint-in;left:40px;right:40px;transform:translateY(calc(50px - 100%));box-shadow:0 8px 24px #000a}@keyframes hint-in{0%{opacity:0;transform:translateY(calc(70px - 100%))scale(.94)}}.compile .c-boost{color:#b07a10;text-shadow:0 0 6px #ffd26ecc;margin-left:.25em;font-size:.8em}.realm-card .realm-head .realm-next{color:#2a1a08;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#fbe8b0,#c9953a);border-radius:999px;padding:2px 12px;font-size:15px;font-weight:800;animation:1.6s ease-in-out infinite alternate realm-next;position:absolute;top:10px;left:12px;box-shadow:0 0 0 2px #2a1a08,0 0 18px #ffd6788c}@keyframes realm-next{to{box-shadow:0 0 0 2px #2a1a08,0 0 30px #ffd678e6}}@media (prefers-reduced-motion:reduce){.realm-card .realm-head .realm-next{animation:none}}.realm-chips .ess-chip,.realm-details .ess-chip{font-family:var(--serif-body)}.battle-end.victory{background:linear-gradient(#0b0a10f0 0%,#0b0a10c8 22%,#0b0a10a0 40%,#0b0a1018 54%,#0b0a1030 73%,#0b0a10f4 80% 100%);padding-bottom:700px}.battle:has(.battle-end.victory) .unit.party .fig{filter:drop-shadow(0 0 2px #2a1a08)drop-shadow(0 0 26px #ffd678bf)brightness(1.08)}.battle:has(.battle-end.victory) .unit.party .bob{animation:.9s cubic-bezier(.2,1.5,.4,1) both hero-cheer}@keyframes hero-cheer{0%{transform:translateY(0)}35%{transform:translateY(-34px)}to{transform:translateY(0)}}.battle:has(.battle-end) .hero-tag{display:none}.battle-end .end-praise{font-family:var(--display);color:#fbe8b0;letter-spacing:.04em;text-shadow:0 2px #000,0 0 18px #ffc86499;margin:-6px 0 18px;font-size:44px;animation:.5s cubic-bezier(.2,1.6,.4,1) .25s both praise-in}@keyframes praise-in{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.battle-end .end-praise{animation:none}.battle:has(.battle-end.victory) .unit.party .bob{animation:none}}.battle:has(.battle-end.victory) .unit.foe .shadow{opacity:0;transition:opacity .3s}.battle-end.defeat{background:linear-gradient(#0b0a1060 0%,#0b0a1030 18%,#0b0a1060 34%,#0b0a10d8 48%,#0b0a10f2 100%);justify-content:flex-end;padding-bottom:330px}.battle:has(.battle-end.defeat) .unit.foe .fig{filter:drop-shadow(0 0 2px #1a0505)drop-shadow(0 0 28px #c83c46b3)}:is(.battle:has(.battle-end) .boss-bar,.battle:has(.battle-end) .timeline){opacity:.25;transition:opacity .3s}.battle-end .end-left{font-family:var(--serif-body);color:#f3d9d0;text-align:center;text-shadow:0 2px #000;margin:0 0 22px;font-size:42px}.crossing .backdrop.hub-painted:after{content:"";pointer-events:none;background:radial-gradient(at 55% 60%,#0000 40%,#0b0a1088 100%),linear-gradient(#0b0a1066 0%,#0000 20% 80%,#0b0a10aa 100%);position:absolute;inset:0}.crossing:has(.hub-painted) .station{box-sizing:border-box;width:400px}.crossing:has(.hub-painted) .station .st-name{white-space:nowrap}.hub-amb{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.hub-glow{mix-blend-mode:screen;background:radial-gradient(circle,#ffb45a52,#ff963c1f 40%,#0000 70%);border-radius:50%;animation:5.5s ease-in-out infinite alternate hub-breathe;position:absolute}@keyframes hub-breathe{0%{opacity:.45}40%{opacity:.9}55%{opacity:.7}to{opacity:1}}.hub-mote{opacity:0;background:#ffd08a;border-radius:50%;animation:10s linear infinite hub-rise;position:absolute;top:1900px;box-shadow:0 0 12px 3px #ffbe64b3}@keyframes hub-rise{0%{opacity:0;transform:translate(0)}10%{opacity:.85}50%{transform:translate(40px,-700px)}90%{opacity:.6}to{opacity:0;transform:translate(-30px,-1400px)}}@media (prefers-reduced-motion:reduce){.hub-glow,.hub-mote{animation:none}.hub-mote{display:none}}.form-detail .actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.form-detail .actions>button{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:64px;margin:0;display:flex}.form-detail .actions>button:only-child,.form-detail .actions>button.primary:first-child:nth-last-child(odd),.form-detail .actions>.check{grid-column:1/-1}.form-detail .bind,.form-detail .bind .dim{font-family:var(--serif-body)}.form-detail .bind>.dim.small{color:#d9c9a8;font-size:15px;line-height:1.35}.form-detail .inscribe-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.form-detail .inscribe-grid>button{box-sizing:border-box;width:100%;margin:0}.grim-filter{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.grim-chip{min-height:44px;font-family:var(--serif-body);color:#e8dcc2;background:#1d1822;border:1px solid #8f6420;border-radius:999px;padding:6px 14px;font-size:16px}.grim-chip span{opacity:.6;margin-left:4px}.grim-chip.on{color:#2a1a08;background:linear-gradient(#fbe8b0,#c9953a);border-color:#2a1a08}:root:has(.panel-backdrop) .toasts{top:calc(10px + env(safe-area-inset-top,0px))}:root:has(.panel-backdrop) .toasts .toast{padding-top:6px;padding-bottom:6px}.battle .unit .fig-svg,.battle .unit .fig-img{will-change:transform}.battle .timeline{top:20px;left:300px;right:16px}.battle .hero-badge{z-index:3060;box-sizing:border-box;pointer-events:none;background:linear-gradient(#2a2234f2,#120d18f2);border:4px solid #ecc56a;border-radius:28px;flex-direction:column;align-items:center;gap:6px;width:270px;padding:18px 18px 12px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 0 0 3px #0b0910,inset 0 0 24px #000a,0 12px 26px #000c}.battle .hb-portrait{background:radial-gradient(circle at 50% 35%,#3a3142,#15121a);border-radius:50%;width:128px;height:128px;margin-bottom:4px;overflow:hidden;box-shadow:0 0 0 5px #ecc56a,0 0 0 9px #1d1822,0 8px 18px #000c}.battle .hb-portrait .head{width:100%!important;height:100%!important}.battle .hero-badge.down .hb-portrait{filter:grayscale()brightness(.5)}.battle .hb-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:700 32px/1.1 "Alegreya SC", var(--display), serif;color:#f4d58c;text-shadow:0 2px #000;overflow:hidden}.battle .hb-bar{background:#0b0910;border-radius:11px;width:100%;height:22px;position:relative;overflow:hidden;box-shadow:0 0 0 2px #8a6a32,inset 0 2px 4px #000}.battle .hb-bar i{border-radius:11px;position:absolute;top:0;bottom:0;left:0}.battle .hb-lag{background:#f3e6c8;transition:width .42s ease-in .26s}.battle .hb-fill{background:linear-gradient(#7fe0b0,#2e9a6a 55%,#1f7a52);transition:width .14s ease-out,background .2s;box-shadow:inset 0 2px #fff5}.battle .hero-badge.mid .hb-fill{background:linear-gradient(#ffd98a,#d9a441 55%,#a87420)}.battle .hero-badge.low .hb-fill{background:linear-gradient(#ff9a8a,#d9534f 55%,#a8302c)}.battle .hb-hp{font-family:var(--body);color:#e6f5ec;text-shadow:0 2px #000,0 0 10px #000;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.battle .hb-hp small{color:#c9b48a;font-size:28px}.battle .hb-others{flex-direction:column;gap:10px;display:flex;position:absolute;top:470px;left:20px}.battle .hb-other{align-items:center;gap:10px;width:260px;display:flex}.battle .hb-other .head{border-radius:50%;flex:none;overflow:hidden;box-shadow:0 0 0 4px #ecc56a}.battle .hb-other .gbar{flex:1}.battle .hero-badge .impacts{justify-content:center;gap:10px;position:absolute;top:calc(100% + 14px);left:0;right:0}.battle .thumb-arc{z-index:3000;pointer-events:none;width:1080px;position:absolute;top:0;left:0}.battle .def-arc .def-btn.round{z-index:3070;min-height:0;font-family:var(--display);letter-spacing:.03em;color:#fff;text-shadow:0 3px #0009;border:8px solid #ecc56a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding:0;font-size:50px;font-weight:800;transition:filter .14s ease-out,transform 90ms ease-out;display:flex;position:absolute;box-shadow:0 0 0 8px #1d1822,0 18px 36px #000c}.battle .def-arc .def-btn.round .def-glyph{margin:0;font-size:66px;line-height:1}.battle .def-arc .def-btn.round small{font-family:var(--serif-body);letter-spacing:0;opacity:.9;font-size:30px;font-weight:600}.battle .def-arc .def-btn.round.parry{background:radial-gradient(circle at 40% 30%,#d0505e,#6b1a28 72%)}.battle .def-arc .def-btn.round.dodge{background:radial-gradient(circle at 40% 30%,#5f7fd8,#1f2f6b 72%);border-color:#b3cbf5}.battle .def-arc:not(.live) .def-btn.round{filter:saturate(.3)brightness(.5);pointer-events:none;border-color:#8f6420aa}.battle .def-arc.live .def-btn.round:active{filter:brightness(1.35);transform:scale(.94)}.stage .battle .bpanel.arc{padding:0 16px calc(18px + var(--safe-b));box-shadow:none;background:0 0;border:none;display:block}.stage .battle .bpanel.arc:before,.stage .battle .bpanel.arc:after{display:none}.stage .battle .bpanel.arc .cards-wrap{height:100%;display:block}.stage .battle .bpanel.arc .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;height:calc(100% - 4px);margin:0;display:grid}.stage .battle .bpanel.arc .card{border-width:5px;min-width:0;padding:7px}.stage .battle .bpanel.arc .card-top{flex-direction:column;justify-content:center;gap:8px;height:auto;padding:12px 4px 10px}.stage .battle .bpanel.arc .card-name{text-align:center;max-width:100%;font-size:34px}.stage .battle .bpanel.arc .card-boost{margin-left:4px}.stage .battle .bpanel.arc .card-ap{padding:5px 14px 7px;font-size:30px}.stage .battle .bpanel.arc .card:not(.empty):after{inset:146px 9px 9px}.stage .battle .bpanel.arc .card-line{text-align:center;-webkit-line-clamp:3;margin:0;padding:0 6px;font-size:31px;line-height:1.1}.stage .battle .bpanel.arc .card-top+.card-line{margin-top:22px}.stage .battle .bpanel.arc .card .card-line.dim{margin-top:8px;font-size:28px}.stage .battle .bpanel.arc .card.empty.slot{text-align:center;color:#c9b48a;box-shadow:0 0 0 3px var(--ink-deep);background:#2a2236aa;border:5px solid #8f642066;justify-content:center;align-items:center;font-size:32px;font-style:italic;display:flex}.stage .battle .bpanel.arc .tap-anywhere,.stage .battle .bpanel.arc .ally-pick{text-align:left;margin:0;font-size:40px;position:absolute;top:-120px;left:20px;right:380px}.battle .tell,.battle .boss-bar~.tell{width:560px;top:480px;left:20px;right:auto}.battle .hint{text-align:left;max-width:470px;left:20px;right:auto;top:700px!important}.stage .battle .bpanel.arc .cards-idle{opacity:1;filter:saturate(.35)brightness(.48)}.battle .coach{z-index:3080;gap:14px;width:420px;padding:20px 22px;font-size:36px;left:16px;right:auto}.landing.painted{background:#0b0910;position:absolute;inset:0;overflow:hidden}.landing.painted .cover-fill{position:absolute;inset:0}.landing .landing-fade{pointer-events:none;position:absolute;left:0;right:0}.landing .landing-fade.top{background:linear-gradient(#0b0910 0%,#0b0910ee 38%,#0b091099 64%,#0000 100%);height:700px;top:0}.landing .landing-fade.bottom{background:linear-gradient(#0000 0%,#0b091099 34%,#0b0910ee 62%,#0b0910 100%);height:520px;bottom:0}.landing .landing-card{top:calc(170px + env(safe-area-inset-top,0px) * 2.6)}.stage .landing-actions button.landing-signin{min-width:760px;min-height:150px;font-size:56px}.landing .cv-paint{background:#120c08;width:100%;height:100%;position:relative;overflow:hidden}.landing .cv-bg{object-fit:cover;width:100%;height:100%;animation:24s ease-in-out infinite alternate cv-drift;position:absolute;inset:0}.landing .cv-bg.composed{filter:sepia(.55)saturate(1.3)brightness(.55)contrast(1.15)hue-rotate(-10deg)}@keyframes cv-drift{0%{transform:scale(1.04)}to{transform:scale(1.1)translateY(-14px)}}.landing .cv-dais{clip-path:polygon(16% 0,84% 0,100% 40%,100% 100%,0 100%,0 40%);background:linear-gradient(#3a2a1c,#120c08);height:22%;position:absolute;bottom:0;left:8%;right:8%;box-shadow:inset 0 4px #6b4a2a}.landing .cv-idol{aspect-ratio:832/1067;width:78%;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.landing .cv-idol img{object-fit:contain;filter:grayscale()sepia(.45)brightness(.62)contrast(1.35)drop-shadow(0 0 30px #0009);width:100%;height:100%}.landing .cv-eye{aspect-ratio:1;background:radial-gradient(circle,#fff3e0 0 12%,#ff3b2a 30%,#a8100a 62%,#0000 72%);border-radius:50%;width:3.6%;margin-left:-1.8%;animation:3.2s ease-in-out infinite alternate cv-eye;position:absolute;top:21.2%;box-shadow:0 0 26px 10px #ff2a1a99}.landing .cv-eye.l{left:48.3%}.landing .cv-eye.r{left:52.5%}@keyframes cv-eye{0%{opacity:.75;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.landing .cv-party{position:absolute;inset:0 0 2%}.landing .cv-party>div{filter:brightness(.5)sepia(.55)saturate(1.2)drop-shadow(-8px -6px 12px #ff9a3a88)}.landing .cv-party>div:not(.cv-climber){top:auto}.landing .cv-climber{position:absolute;top:52%;left:63%;transform:rotate(-10deg)}.landing .cv-torch{mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at 14% 78%,#ffb85a88 0%,#ff7a2a33 22%,#0000 48%),radial-gradient(circle at 86% 30%,#ff9a3a33 0%,#0000 35%);animation:1.9s step-end infinite cv-flicker;position:absolute;inset:0}@keyframes cv-flicker{0%{opacity:.9}13%{opacity:1}27%{opacity:.78}41%{opacity:.95}58%{opacity:.84}72%{opacity:1}86%{opacity:.88}}.landing .cv-embers span{opacity:0;background:#ffcf7a;border-radius:50%;width:9px;height:9px;animation:6s linear infinite cv-ember;position:absolute;bottom:-20px;box-shadow:0 0 12px 4px #ff8a2a99}@keyframes cv-ember{0%{opacity:0;transform:translate(0)}10%{opacity:.9}to{opacity:0;transform:translate(40px,-900px)}}.landing .cv-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px 40px #000c}@media (prefers-reduced-motion:reduce){.landing .cv-bg,.landing .cv-eye,.landing .cv-torch,.landing .cv-embers span{animation:none!important}}.landing .cv-bg:not(.composed){object-position:50% 30%}.landing .cv-paint:has(.on-cover) .cv-torch{background:radial-gradient(circle at 14% 64%,#ffb85a77 0%,#ff7a2a2a 16%,#0000 34%),radial-gradient(circle at 87% 60%,#ffb85a77 0%,#ff7a2a2a 16%,#0000 34%),radial-gradient(circle at 50% 8%,#ff9a3a44 0%,#0000 22%)}.landing .cv-party.on-cover{bottom:calc(290px + var(--safe-b,0px))}.landing .cv-party.on-cover>div{filter:brightness(.42)sepia(.7)saturate(1.3)drop-shadow(0 -4px 10px #ff9a3a99)}.stage .boot{background:#0b0910;position:absolute;inset:0}.stage .hub-top button.hub-back{width:88px;min-width:88px;height:88px;box-shadow:none;color:#c9b48a;background:0 0;border:none;flex:none;margin-right:-4px;padding:0;font-size:72px;line-height:1}.stage .hub-top .hub-name{margin-right:auto}.landing .landing-card h1{letter-spacing:.06em;color:#0000;background:linear-gradient(#fffbe8 0%,#f4d58c 38%,#b58a3c 58%,#f0cf7c 100%);-webkit-text-stroke:0;filter:drop-shadow(0 5px #1d1208)drop-shadow(0 0 28px #b98cff66);-webkit-background-clip:text;background-clip:text;font-size:230px;font-weight:800;line-height:.9}.landing .landing-card:after{background:#c9953a99;width:620px;height:3px;margin-top:18px}.landing .landing-card .tagline{color:#e6d6c8;text-shadow:0 2px 8px #000}.landing .cv-lone{filter:brightness(.12)saturate(.3)drop-shadow(8px -4px 3px #ffb070)drop-shadow(0 0 18px #ff3a1acc);position:absolute;bottom:-520px;left:300px}.stage .landing-actions{left:auto;right:70px;bottom:calc(110px + var(--safe-b,0px))}.stage .landing-actions button.landing-signin{color:#fff;background:radial-gradient(circle,#1a1a1a 0%,#000 70%);border:4px solid #fffc;border-radius:50%;place-items:center;width:360px;min-width:0;height:360px;min-height:0;padding:0;animation:2.6s ease-in-out infinite alternate signin-breathe;display:grid;position:relative;box-shadow:0 0 0 10px #0006,0 0 50px #ff3a1a77,0 20px 40px #000c}.stage .landing-actions button.landing-signin:active{transform:scale(.95)}.landing .signin-mark{opacity:.92;grid-area:1/1}.landing .signin-text{z-index:1;width:176px;height:176px;font-family:var(--ui,"Atkinson Hyperlegible", sans-serif);color:#fff;white-space:nowrap;background:#000;border-radius:50%;grid-area:1/1;place-items:center;font-size:46px;font-weight:700;line-height:1;display:grid;position:relative;box-shadow:0 0 0 5px #000,inset 0 0 0 3px #fff3}@keyframes signin-breathe{0%{box-shadow:0 0 0 10px #0006,0 0 36px #ff3a1a55,0 20px 40px #000c}to{box-shadow:0 0 0 10px #0006,0 0 70px #ff3a1aaa,0 20px 40px #000c}}.landing .title-hero-name{font-family:var(--display);color:#e6d6c8;text-shadow:0 2px 10px #000,0 0 20px #ff3a1a88;font-size:52px}.stage .landing .landing-tap{left:70px;bottom:calc(250px + var(--safe-b,0px));z-index:5;letter-spacing:.06em;color:#f3e6c8;text-shadow:0 2px #000,0 0 18px #000;pointer-events:none;margin:0;font-size:44px;animation:1.6s ease-in-out infinite landing-tap;position:absolute}@keyframes landing-tap{50%{opacity:.45}}.battle .cue-layer{pointer-events:none;z-index:3150;width:1080px;height:1920px;position:absolute;top:0;left:0}.battle .cue-ring{box-sizing:border-box;will-change:transform, opacity;pointer-events:none;border-radius:50%;position:absolute;box-shadow:0 0 18px #0009}.battle .cue-note{box-sizing:border-box;will-change:transform, opacity;pointer-events:none;border:6px solid #fff4dc;border-radius:14px;position:absolute;box-shadow:0 0 0 5px #1d1822d9,0 0 22px #000a}.battle .cue-note.queued{border-color:#fff4dc88}.battle .cue-ring.queued{border-style:dashed}.battle .cue-mark{box-sizing:border-box;will-change:transform;border:5px solid #ecc56a;border-radius:50%;position:absolute;box-shadow:0 0 0 6px #1d1822d9}.battle .cue-mark.pulse{animation:.2s ease-out cue-pulse}.battle .cue-mark.pulse.perfect{border-color:#fff4dc}.battle .cue-mark.pulse.miss{border-color:#ff6b6b}.battle .cue-mark.pulse.parry{border-color:#ecc56a}.battle .cue-mark.pulse.dodge{border-color:#b3cbf5}@keyframes cue-pulse{0%{transform:scale(1.32);box-shadow:0 0 0 6px #1d1822d9,0 0 40px 14px #fff4dcaa}to{transform:scale(1);box-shadow:0 0 0 6px #1d1822d9,0 0 #0000}}.battle .judge{font-family:var(--display);color:#fff4dc;white-space:nowrap;text-shadow:0 4px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 0 -3px 0 var(--ink);will-change:transform, opacity;font-size:64px;font-weight:800;animation:.7s cubic-bezier(.2,.9,.3,1) both judge-pop;position:absolute;transform:translate(-50%,-50%)}.battle .judge.grade.perfect{color:#ffd45e;text-shadow:0 4px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 0 -3px 0 var(--ink), 0 0 36px #ffb52e;font-size:84px}.battle .judge.grade.good{color:#d9dde6;font-size:50px}.stage .foe-tag .brk-label{white-space:nowrap;text-align:center;color:#f0d79c;text-shadow:0 2px #000;background:#120c10cc;border-radius:16px;width:fit-content;margin:6px auto 0;padding:2px 14px;font-size:26px;font-weight:600}.stage .foe-tag .brk-label.full{color:#ffe08a;opacity:1}.battle .judge.grade.miss{color:#ff8c8c}.battle .judge.def{color:#ecc56a}@keyframes judge-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.5)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}70%{opacity:1;transform:translate(-50%,-90%)scale(1)}to{opacity:0;transform:translate(-50%,-120%)scale(.95)}}.battle .weak-bar{opacity:.8;transform-origin:0;will-change:transform;background:#86c6f2;border-radius:5px;width:800px;height:10px;animation:linear both weak-bar;position:absolute;top:1340px;left:140px}@keyframes weak-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.battle .judge.small{opacity:.9;font-size:44px}.battle .judge.def.hit{color:#ff8c8c;font-size:48px}.stage .map-node.ahead{opacity:.4;filter:saturate(.5)}.stage .map-node.nudge-0 .mn-name,.stage .map-node.nudge-1 .mn-name{color:#ffe9a8}.stage .map-node.nudge-0{animation:.52s ease-out node-nudge-0}.stage .map-node.nudge-1{animation:.52s ease-out node-nudge-1}@keyframes node-nudge-0{30%{transform:translate(-50%,-50%)scale(1.3);box-shadow:inset 0 0 0 6px #ffe9a8,0 0 60px #ffd67a}}@keyframes node-nudge-1{30%{transform:translate(-50%,-50%)scale(1.3);box-shadow:inset 0 0 0 6px #ffe9a8,0 0 60px #ffd67a}}.stage .bpanel .card.coach-pulse{filter:brightness(1.12);z-index:5;animation:1s ease-in-out infinite card-glow}@keyframes card-glow{0%,to{box-shadow:0 0 0 4px #ffd67a,0 0 30px 8px #ffd67a99}50%{box-shadow:0 0 0 8px #fff1c2,0 0 70px 24px #ffd67add}}.landing-signin:disabled .signin-mark{animation:.9s ease-in-out infinite alternate signin-wait}@keyframes signin-wait{to{opacity:.55;transform:scale(.96)}}.world>.backdrop.grounded-box{inset:-400px 0 -600px;overflow:hidden;transform:none}.backdrop.grounded-box>.grounded{will-change:transform;object-fit:cover;pointer-events:none;margin-top:400px}.backdrop.grounded-box>.grounded-fade{pointer-events:none;background:linear-gradient(#0000,#0b0910 260px);margin-top:400px;position:absolute}.stage .battle .bpanel.arc .ap-bar{width:fit-content;max-width:calc(100% - 32px);height:84px;box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 6px #3f86c4aa, 0 8px 18px #000a;pointer-events:none;background:linear-gradient(#16243aee,#0b1220ee);border-radius:42px;align-items:center;gap:18px;padding:0 22px;display:flex;position:absolute;top:-96px;right:16px}.ap-bar .ap-label{font-family:var(--display);letter-spacing:.06em;color:#9fd8ff;white-space:nowrap;font-size:40px;font-weight:700}.ap-bar .ap-label b{color:#fff;text-align:center;text-shadow:0 0 12px #86c6f2;min-width:1.1em;font-size:52px;display:inline-block}.ap-bar .ap-gems{gap:4px;display:flex}.ap-bar .ap-gem{width:46px;height:46px}.ap-gem{background:radial-gradient(circle at 40% 35%,#1f2d45,#0a111e);border:3px solid #1d1822;border-radius:6px;width:34px;height:34px;transition:background .16s ease-out,box-shadow .16s ease-out;display:inline-block;transform:rotate(45deg)scale(.86);box-shadow:0 0 0 2px #3f86c466}.ap-gem.on{background:radial-gradient(circle at 38% 32%,#fff 0 12%,#9fd8ff 24%,#3f86c4 62%,#1f4a7a);box-shadow:0 0 0 2px #b3e5ff,0 0 14px #86c6f2}.ap-gem.aim-spend{animation:.26s ease-in-out infinite alternate ap-aim}.ap-gem.aim-gain{background:radial-gradient(circle at 40% 35%,#3f86c4aa,#1f4a7a88);box-shadow:0 0 0 2px #b3e5ffaa}@keyframes ap-aim{to{opacity:.25}}.ap-bar.gain{animation:.45s ease-out ap-flash-gain}.ap-bar.spend{animation:.45s ease-out ap-flash-spend}@keyframes ap-flash-gain{30%{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 8px #b3e5ff, 0 0 40px #86c6f2}}@keyframes ap-flash-spend{30%{box-shadow:0 0 0 3px var(--ink-deep), 0 0 0 8px #ffd67a, 0 0 40px #ffd67a99}}.card-ap .ap-gem{vertical-align:-2px;background:radial-gradient(circle at 38% 32%,#fff 0 12%,#9fd8ff 24%,#3f86c4 62%,#1f4a7a);border-width:2px;width:22px;height:22px;margin:0 8px 0 2px}.card-ap.gain .ap-gem{background:radial-gradient(circle at 38% 32%,#fff 0 12%,#b9f2cf 24%,#3fa86a 62%,#1f5a3a)}.stage .battle .bpanel.arc .tap-anywhere,.stage .battle .bpanel.arc .ally-pick{top:-200px}.battle .banner:not(.has-lore){text-align:left;width:600px;top:1000px;left:36px;right:auto}.realm-card .realm-head.has-art{will-change:transform}.loom-board .boost-link{pointer-events:none;animation:.42s cubic-bezier(.2,.9,.3,1.4) both boost-pop}.loom-board .boost-plus{fill:#1d1822;font:800 52px var(--display)}@keyframes boost-pop{0%{transform:scale(0)}}.weave-sheet .ws-eval{grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 18px;display:grid}.weave-sheet .ws-eval>span{background:#1d182214;border:2px solid #8f642055;border-radius:12px;padding:14px 18px;display:grid}.weave-sheet .ws-eval small{font:700 26px var(--display);letter-spacing:.06em;text-transform:uppercase;opacity:.75}.weave-sheet .ws-eval b{font:800 56px/1.1 var(--display)}.weave-sheet .ws-eval i{opacity:.8;font-size:26px}.stage .hub-top button.hub-reset{color:#e6d6c8;min-width:0;min-height:88px;font:600 30px var(--serif-body);box-shadow:none;background:#1d182299;border:3px solid #8f642088;border-radius:14px;flex:none;margin-right:20px;padding:0 22px}.stage .hub-top button.hub-reset.armed{color:#fff4dc;background:#5a1418;border-color:#ff6b6b}.gate-why{font-family:var(--serif-body);color:#e9dcc0;margin:0 0 12px;font-size:17px;line-height:1.3}.realm-why{font-family:var(--serif-body);color:var(--rules-ink);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 2px;font-size:22px;display:flex}.realm-why .haul b{color:#6b4a10;font-weight:800}.realm-why .why-tag{color:#1d1408;background:linear-gradient(#f4d58c,#c8963a);border-radius:999px;padding:2px 12px;font-size:18px;font-weight:700;box-shadow:0 0 0 1px #2a1a08}.realm-why .why-tag.want{color:#f1fbf4;background:linear-gradient(#2e8a53,#1c6a3a)}.realm-why .why-event{color:#43296f;flex-basis:100%;font-size:18px}.battle .turn-tint{z-index:2;pointer-events:none;position:absolute;inset:0}.battle .turn-tint i{opacity:0;transition:opacity .34s ease-out;position:absolute;inset:0}.battle .turn-tint .t-party{background:radial-gradient(80% 70% at 50% 62%,#0000 62%,#ecc56a2e 100%)}.battle .turn-tint .t-foe{background:radial-gradient(80% 70% at 50% 45%,#0000 58%,#c8241a40 100%)}.battle .turn-tint i.on{opacity:1}.stage .battle .bpanel.arc>.cards .card{animation:.26s cubic-bezier(.2,.9,.3,1.1) backwards turn-rise}.stage .battle .bpanel.arc>.cards .card:nth-child(2){animation-delay:30ms}.stage .battle .bpanel.arc>.cards .card:nth-child(3){animation-delay:60ms}.stage .battle .bpanel.arc>.cards .card:nth-child(4){animation-delay:90ms}@keyframes turn-rise{0%{opacity:.55;transform:translateY(26px)}}.stage .battle .bpanel.arc .cards-idle .cards{animation:.24s ease-out backwards turn-settle}@keyframes turn-settle{0%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.battle .turn-tint i{transition:none}.stage .battle .bpanel.arc>.cards .card,.stage .battle .bpanel.arc .cards-idle .cards{animation:none}}.ap-bar .ap-ready{font-family:var(--serif-body);color:#9fd4ff;white-space:nowrap;margin-left:14px;font-size:26px;font-style:italic}.spoils-strip{left:24px;right:24px;top:calc(200px + env(safe-area-inset-top,0px) * 2.6);z-index:4000;background:linear-gradient(#1a1420f2, #1a1420f2) padding-box, var(--metal) border-box;box-shadow:0 0 0 3px var(--ink-deep), 0 14px 30px #000c;pointer-events:none;border:5px solid #0000;border-radius:20px;padding:18px 24px;animation:2.6s cubic-bezier(.2,.9,.3,1) both spoils-in;position:absolute}.spoils-strip .ss-title{font-family:var(--display);color:#f4d58c;margin-bottom:6px;font-size:40px;font-weight:800}.spoils-strip .ss-tiles{font-family:var(--serif-body);color:#fbe8b0;flex-wrap:wrap;gap:10px 28px;font-size:40px;font-weight:700;display:flex}.spoils-strip .ss-tile i{font-style:normal}.spoils-strip .ss-tile small{opacity:.85;font-size:26px;font-weight:400}@keyframes spoils-in{0%{opacity:0;transform:translateY(-30px)}10%{opacity:1;transform:none}85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-16px)}}@media (prefers-reduced-motion:reduce){.spoils-strip{opacity:1;animation-duration:1ms;animation-delay:0s}}.battle.frozen:after{content:"";z-index:3010;pointer-events:none;background:radial-gradient(70% 55% at 50% 55%,#0000 30%,#0b0910b0 100%);animation:.16s ease-out both fadein;position:absolute;inset:0}.battle.frozen .coach{z-index:3090}.battle .unit.foe{--lean:-1}.battle .unit.party{--lean:1}.battle .unit.windup .bob{animation:coil var(--wind-ms,.26s) cubic-bezier(.3, 0, .6, 1) forwards}@keyframes coil{0%{transform:none}70%{transform:rotate(calc(var(--lean) * -8deg)) scale(1.06, .9)}80%{transform:rotate(calc(var(--lean) * -9deg)) scale(1.07, .89) translateX(3px)}90%{transform:rotate(calc(var(--lean) * -8deg)) scale(1.06, .9) translateX(-3px)}to{transform:rotate(calc(var(--lean) * -9deg)) scale(1.07, .89)}}.battle .unit.lunge .bob{animation:.24s cubic-bezier(.2,.8,.3,1) forwards strike-body}@keyframes strike-body{0%{transform:rotate(calc(var(--lean) * -9deg)) scale(.94, 1.08)}35%{transform:rotate(calc(var(--lean) * 13deg)) scale(1.16, .88)}to{transform:rotate(calc(var(--lean) * 7deg)) scale(1.04, .97)}}.battle .unit.rewind .bob{animation:rewind-body var(--wind-ms,.2s) ease-out forwards}@keyframes rewind-body{0%{transform:rotate(calc(var(--lean) * 7deg)) scale(1.04, .97)}to{transform:rotate(calc(var(--lean) * -5deg)) scale(1.04, .93)}}.battle .unit .trail{left:0;top:calc(var(--fh,200px) * -1);transform-origin:0;width:520px;height:90px;rotate:calc(atan2(var(--ly), var(--lx)) + 180deg);pointer-events:none;background:linear-gradient(90deg,#fff4dccc,#fff4dc55 35%,#0000);border-radius:0 50% 50% 0;margin-top:-45px;animation:.3s ease-out forwards trail;position:absolute}.battle .unit.foe .trail{background:linear-gradient(90deg,#ff6b5ad0,#ff6b5a55 35%,#0000)}@keyframes trail{0%{opacity:0;transform:scaleX(.2)scaleY(.6)}25%{opacity:1;transform:scaleX(1)scaleY(1)}to{opacity:0;transform:scaleX(.6)scaleY(.3)}}@media (prefers-reduced-motion:reduce){.battle .unit.windup .bob,.battle .unit.lunge .bob,.battle .unit.rewind .bob,.battle .unit .trail{animation:none}}.battle.hitstop .unit,.battle.hitstop .unit .bob,.battle.hitstop .unit .trail,.battle.hitstop .fx{animation-play-state:paused!important}.battle.hitstop:before{content:"";z-index:3005;pointer-events:none;background:radial-gradient(#fff4dc22,#0b091066 75%);position:absolute;inset:0}.battle .world{transition:scale .32s cubic-bezier(.2,.7,.3,1)}.battle.dolly .world{transition:scale .42s cubic-bezier(.4,0,.6,1);scale:1.07}.battle .fx.shards rect{animation:.52s cubic-bezier(.1,.8,.3,1) both shard;animation-delay:inherit}@keyframes shard{0%{transform:translate(0, 0) rotate(var(--rot)) scale(1.2);opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.3);opacity:0}}@media (prefers-reduced-motion:reduce){.battle.dolly .world{scale:1}.battle .fx.shards rect{opacity:0;animation:none}}.loom-warm{visibility:hidden;pointer-events:none;z-index:-1;position:absolute;inset:0}.loom-warm *{visibility:hidden!important;animation:none!important}.battle .floater.why{color:#f0d79c;letter-spacing:.02em;font-size:34px;font-weight:700}.stage .battle .cards>.card.basic{order:-1}.battle .unit.riposte .bob{animation:.42s cubic-bezier(.2,.9,.3,1) both riposte-body}@keyframes riposte-body{0%{transform:none}30%{transform:translate(70px,-50px)rotate(-10deg)scale(1.06)}55%{transform:translate(90px,-64px)rotate(12deg)scale(1.1,.94)}to{transform:none}}.battle .fx.riposte{animation:.38s cubic-bezier(.15,.85,.3,1) both riposte-sweep}@keyframes riposte-sweep{0%{opacity:0;transform:rotate(-80deg)scale(.7)}25%{opacity:1}70%{opacity:.95;transform:rotate(18deg)scale(1.05)}to{opacity:0;transform:rotate(40deg)scale(1.12)}}.battle .floater.counter-call{font-family:var(--display);color:#ffd45e;letter-spacing:.06em;text-shadow:0 4px 0 var(--ink), 0 0 30px #ffb52e;font-size:72px;font-weight:800;animation-name:floatup-big}@media (prefers-reduced-motion:reduce){.battle .unit.riposte .bob{animation:none}}.battle .unit.foe.dead .bob{transform-origin:50% 100%;animation:.9s cubic-bezier(.3,.7,.4,1) forwards foe-die}@keyframes foe-die{0%{opacity:1;transform:none}14%{opacity:1;transform:translate(28px,-14px)rotate(9deg)}34%{opacity:1;transform:translate(16px)rotate(4deg)scale(1.03,.97)}58%{opacity:.95;transform:translate(6px,20px)rotate(-12deg)scaleY(.9)}to{opacity:0;transform:translate(-14px,64px)rotate(-26deg)scale(.94,.66)}}.battle .fx.ash rect{transform-box:fill-box;transform-origin:50%;animation:.9s cubic-bezier(.2,.6,.4,1) both ember}@keyframes ember{0%{opacity:0;transform:translate(0)rotate(0)scale(1)}12%{opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.2);opacity:0}}.battle .fx.dust{animation:.62s cubic-bezier(.1,.8,.3,1) both dust}@keyframes dust{0%{opacity:0;transform:scale(.3,.5)}25%{opacity:1}to{opacity:0;transform:scale(1.3,1.1)}}@media (prefers-reduced-motion:reduce){.battle .unit.foe.dead .bob{animation:1ms forwards fall}.battle .fx.ash rect,.battle .fx.dust{opacity:0;animation:none}}.mk{flex-direction:column;gap:10px;display:flex}.mk-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mk-mode{background:#0d0a12;border-radius:12px;padding:3px;display:inline-flex;box-shadow:inset 0 0 0 1px #c9a24a44}.mk-mode button{color:#cbbf9f;min-width:84px;min-height:44px;font:700 17px var(--display);letter-spacing:.04em;background:0 0;border:none;border-radius:9px;padding:0 16px}.mk-mode button.on{color:#1d1406;background:linear-gradient(#e9c46a,#b98a2e);box-shadow:0 2px #000}.mk-mode.wide{display:flex}.mk-mode.wide button{flex:1;font-size:15px}.mk-purse{text-align:right;line-height:1.1}.mk-purse small{color:#b6a888;font-size:12px;display:block}.mk-purse b{font:800 24px var(--display);color:#ffd45e}.mk-hint{margin-top:-2px}.mk-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mk-row{width:100%;min-height:64px;color:inherit;text-align:left;background:linear-gradient(#1c1622,#130f18);border:1px solid #c9a24a33;border-radius:10px;grid-template-columns:34px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid;position:relative}.mk-row:active{transform:scale(.99)}.mk-row.off{opacity:.5}.mk-glyph{text-align:center;font-size:26px;line-height:1}.mk-name{flex-direction:column;min-width:0;display:flex}.mk-name b{font-size:17px}.mk-name small,.mk-price small{color:#a99d84;white-space:nowrap;font-size:12px}.mk-price{flex-direction:column;align-items:flex-end;min-width:86px;display:flex}.mk-price b{font:800 22px var(--display);color:#fff3d6}.mk-price small.good{color:#8fe0a3}.mk-price small.bad{color:#f19a8a}.mk-deal{color:#eafff0;letter-spacing:.04em;background:#2f7a48;border-radius:8px;padding:1px 8px;font-size:11px;font-weight:700;position:absolute;top:-7px;right:10px}.mk-sheet-back{z-index:5000;background:#0008;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mk-sheet{width:min(560px,100%);max-height:92vh;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#221a28,#120e17);border-radius:16px 16px 0 0;flex-direction:column;gap:12px;animation:.2s cubic-bezier(.2,.9,.3,1) both mk-up;display:flex;overflow:auto;box-shadow:0 -10px 40px #000c,inset 0 1px #c9a24a55}@keyframes mk-up{0%{opacity:0;transform:translateY(40px)}}.mk-sheet header{align-items:center;gap:10px;display:flex}.mk-sheet header b{font:800 22px var(--display);flex:1}.mk-sheet .close{min-width:44px;min-height:44px}.mk-chart{background:#0c0910;border-radius:8px;width:100%;height:120px;display:block}.mk-facts{color:#b6a888;justify-content:space-between;font-size:13px;display:flex}.mk-facts b{color:#fff3d6;font-size:15px}.mk-qty{align-items:center;gap:8px;display:flex}.mk-qty>button{border-radius:10px;min-width:44px;min-height:44px;font-size:22px;font-weight:700}.mk-qty>b{text-align:center;min-width:48px;font:800 28px var(--display)}.mk-qty .chip{padding:0 12px;font-size:15px}.mk-sum{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:15px;display:grid}.mk-sum dt{color:#b6a888}.mk-sum dd{text-align:right;margin:0}.mk-sum dd b{font:800 22px var(--display);color:#ffd45e}.mk-go{min-height:54px;font-size:18px}@media (prefers-reduced-motion:reduce){.mk-sheet{animation:none}}.stage .map-dock .mp-actions{gap:14px;display:flex}.stage .map-dock .mp-actions button.big{width:240px;min-width:0;padding:0 12px;font-size:42px}.stage .map-dock .mp-hero .gbar{width:250px}.landing.keyart{background:#0b0910;position:absolute;inset:0;overflow:hidden}.ka-paint{position:absolute;inset:0}.ka-bg{object-fit:cover;object-position:36% 50%;width:100%;height:100%;position:absolute;inset:0}.ka-flash{mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(circle at 38% 26%,#f4e8ff88 0%,#b98cff33 14%,#0000 34%);animation:5.5s step-end infinite ka-flash;position:absolute;inset:0}@keyframes ka-flash{0%{opacity:0}62%{opacity:1}64%{opacity:.2}66%{opacity:.9}70%{opacity:0}}.ka-sparks span{opacity:0;background:#ffd9a0;border-radius:50%;width:8px;height:8px;animation:7s linear infinite ka-spark;position:absolute;bottom:30%;box-shadow:0 0 10px 3px #ffa45a88}@keyframes ka-spark{0%{opacity:0;transform:translate(0)}12%{opacity:.8}to{opacity:0;transform:translate(-60px,-700px)}}.ka-fade{pointer-events:none;position:absolute;left:0;right:0}.ka-fade.top{background:linear-gradient(#0b0910ee 0%,#0b0910aa 45%,#0000 100%);height:30%;top:0}.ka-fade.bottom{background:linear-gradient(#0000 0%,#0b0910aa 50%,#0b0910f2 100%);height:22%;bottom:0}.keyart .ka-head{left:0;right:0;top:calc(90px + env(safe-area-inset-top,0px) * 2.6);text-align:center;pointer-events:none;position:absolute}.keyart .ka-title{font-family:var(--display);letter-spacing:.06em;color:#0000;background:linear-gradient(#fffbe8 0%,#f4d58c 38%,#b58a3c 58%,#f0cf7c 100%);filter:drop-shadow(0 5px #1d1208)drop-shadow(0 0 28px #b98cff66);-webkit-background-clip:text;background-clip:text;margin:0;font-size:230px;font-weight:800;line-height:.9}.keyart .ka-tagline{font-family:var(--serif-body);color:#f0e2c8;text-shadow:0 2px 8px #000;border-top:3px solid #c9953a99;margin:22px 0 0;padding-top:20px;font-size:46px;font-style:italic;display:inline-block}.keyart .ka-foot{left:60px;right:60px;bottom:calc(70px + var(--safe-b,0px));position:absolute}.stage .keyart button.oauth-chatgpt{color:#fff;letter-spacing:0;text-transform:none;width:100%;min-width:0;min-height:150px;text-shadow:none;background:#000;border:3px solid #fff3;border-radius:999px;justify-content:center;align-items:center;gap:28px;padding:0 48px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:52px;font-weight:600;display:flex;box-shadow:0 12px 30px #000c}.stage .keyart button.oauth-chatgpt:active:not(:disabled){background:#1f1f1f;transform:scale(.98)}.stage .keyart button.oauth-chatgpt:disabled{opacity:1}.keyart .oa-mark{flex:none}.stage .keyart button.oauth-chatgpt.going .oa-mark{animation:.9s ease-in-out infinite alternate signin-wait}@media (prefers-reduced-motion:reduce){.ka-flash,.ka-sparks span{animation:none!important}}.stage .battle .card.poor{position:relative}.stage .battle .card .card-need{color:#ffe9a8;text-align:center;opacity:1;filter:none;background:#120d12e6;border-radius:10px;padding:6px 4px;font-size:30px;font-weight:700;line-height:1.1;position:absolute;bottom:10px;left:6px;right:6px}.stage .coach.tappable{cursor:pointer}.stage .coach.tappable:active{transform:scale(.97)}.loom-board .cell-plus{fill:#ffd67a;pointer-events:none;opacity:.9;font:700 120px Georgia,serif}.map-node.next:before{content:"";position:absolute;inset:-22px}.map-marker{pointer-events:none}.realm-head{cursor:pointer}.stage .battle .bpanel.arc .tap-anywhere{top:-520px}.stage .foe-tag .foe-count{color:var(--gold-1);opacity:.85;letter-spacing:.04em;margin-left:14px;font-size:36px}.stage .battle .lesson-chip{z-index:30;pointer-events:none;color:var(--gold-1);letter-spacing:.04em;white-space:nowrap;background:#0c0910c7;border:2px solid #ecc56a8c;border-radius:22px;padding:6px 18px;font:700 32px/1.2 Alegreya SC,serif;animation:.32s cubic-bezier(.2,1.4,.4,1) backwards lesson-chip-in;position:absolute;top:316px;left:16px}.stage .battle .skip-tutorial{top:396px}@keyframes lesson-chip-in{0%{opacity:0;transform:scale(1.35)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.stage .battle .lesson-chip{animation:none}}.stage .battle .lesson-chip.away{opacity:0;transition:opacity .12s}.stage .loom-done:before{content:"";height:44px;position:absolute;top:-44px;left:0;right:0}.loom-board .cell-dmg{fill:#d9d2c3;font:700 64px var(--display,Georgia), serif;pointer-events:none;paint-order:stroke;stroke:#120c10;stroke-width:8px}.loom-board .cell-dmg.boosted{fill:#ffd45e;font-size:76px}.loom-board .cell-skill{fill:#efe6d6;font:700 28px "Alegreya SC", var(--display,Georgia), serif;pointer-events:none;paint-order:stroke;stroke:#120c10;stroke-width:6px}.loom-board .cell-skill.boosted{fill:#ffd45e}.loom-board .cell-boost{fill:#ffd45e;font:700 26px var(--body,Georgia), sans-serif;pointer-events:none;paint-order:stroke;stroke:#120c10;stroke-width:6px}.stage .battle .lesson-intro{z-index:40;pointer-events:none;color:var(--gold-1);text-align:center;background:linear-gradient(90deg,#0000,#0c0910db 18% 82%,#0000);flex-direction:column;align-items:center;gap:6px;padding:26px 0;font-family:Alegreya SC,serif;transition:opacity .16s;animation:.26s cubic-bezier(.2,1.4,.4,1) backwards lesson-intro;display:flex;position:absolute;top:760px;left:0;right:0}.stage .battle .lesson-intro.gone{opacity:0}.stage .battle .lesson-intro small{letter-spacing:.08em;opacity:.85;font-size:34px}.stage .battle .lesson-intro b{font-size:76px;line-height:1.05}.stage .battle .lesson-intro span{font-family:var(--body);color:#efe6d6;font-size:36px}@keyframes lesson-intro{0%{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.stage .battle .lesson-intro{animation:none}}.panel button.gate-why.gate-lesson{color:#2a1f12;width:100%;font:inherit;text-align:left;text-transform:none;letter-spacing:0;background:#f1e4c4;border:2px solid #c9a24a;border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;min-height:0;margin:0 0 10px;padding:10px 14px 8px;font-size:15px;line-height:1.38;display:flex}.panel button.gate-why.gate-lesson:active{transform:scale(.98)}.gate-lesson b{color:#6b2a10}.gate-lesson .gl-foot{justify-content:space-between;align-items:center;display:flex}.gate-lesson .gl-pips{gap:6px;display:flex}.gate-lesson .gl-pips i{border:2px solid #8a5a12;border-radius:50%;width:9px;height:9px}.gate-lesson .gl-pips i.on{background:#8a5a12}.gate-lesson .gl-next{font-family:var(--display,Georgia), serif;color:#6b2a10;font-size:16px;font-weight:700}.realm-list[data-focus] .rr-art,.realm-list[data-focus] .rr-top,.realm-list[data-focus] .rr-haul,.realm-list[data-focus] .rr-tags{transition:opacity .16s,box-shadow .16s}.realm-list[data-focus=haul] :is(.rr-art,.rr-top,.rr-tags),.realm-list[data-focus=tags] :is(.rr-art,.rr-top,.rr-haul),.realm-list[data-focus=realm] :is(.rr-haul,.rr-tags){opacity:.4}.realm-list[data-focus=haul] .rr-haul,.realm-list[data-focus=tags] .rr-tags{border-radius:8px;box-shadow:0 0 0 2px #ecc56a,0 0 14px #ecc56a88}.realm-list[data-focus=next] .realm-row:not(.next-up){opacity:.45}.stage .map-node .mn-name .mn-peek.warn{color:#ff9a7a;font-weight:700}.panel .row.gate-tools{justify-content:space-between;align-items:center;gap:10px;margin:10px 0 0;display:flex}.panel .gate-tools .realm-more{margin:0}.bz-onward{padding-top:12px;position:sticky;bottom:0}.realm-list{flex-direction:column;gap:8px;display:flex}.panel .realm-list button.realm-row{color:#f3e6c8;text-align:left;width:100%;height:auto;min-height:0;font:inherit;text-transform:none;letter-spacing:0;background:#241a14;border:2px solid #8a6a32;border-radius:12px;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:6px;display:flex}.panel .realm-list button.realm-row.next-up{border-color:#ecc56a}.panel .realm-list button.realm-row:active{transform:scale(.98)}.realm-row .rr-art{background:#3a2c22 50%/cover no-repeat;border-radius:8px;flex:0 0 84px;width:84px;min-height:84px;display:block}.realm-row .rr-body{text-align:left;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:3px;min-width:0;display:flex}.realm-row .rr-top{justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.realm-row .rr-name{font-family:var(--display,Georgia), serif;color:#f4d58c;white-space:nowrap;font-size:19px}.realm-row .rr-diff{color:#c9b48a;white-space:nowrap;font-size:12px}.realm-row .rr-haul{margin-left:-4px;padding:0 4px;font-size:15px}.realm-row .rr-haul i{margin-left:6px;font-style:normal}.realm-row .rr-tags{flex-wrap:wrap;gap:4px;margin-left:-2px;padding:2px;display:flex}.realm-row .rr-tags>span{white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;position:static}.realm-row .realm-next{color:#2a1f12;background:#ecc56a;font-weight:700}.realm-row .rr-tags .why-tag{color:#1d1408;background:linear-gradient(#f4d58c,#c8963a);font-weight:700}.realm-row .rr-tags .why-tag.want{color:#f1fbf4;background:linear-gradient(#2e8a53,#1c6a3a)}button.guide{color:#2a1f12;width:100%;min-height:0;font:inherit;text-align:left;text-transform:none;letter-spacing:0;background:#f1e4c4;border:2px solid #c9a24a;border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;margin:0 0 10px;padding:10px 14px 8px;font-size:15px;line-height:1.38;animation:.22s cubic-bezier(.2,1.3,.4,1) backwards guide-in;display:flex;box-shadow:0 6px 18px #000a}button.guide:active{transform:scale(.98)}.guide b{color:#6b2a10}.guide .gl-foot{justify-content:space-between;align-items:center;display:flex}.guide .gl-pips{gap:6px;display:flex}.guide .gl-pips i{border:2px solid #8a5a12;border-radius:50%;width:9px;height:9px}.guide .gl-pips i.on{background:#8a5a12}.guide .gl-next{font-family:var(--display,Georgia), serif;color:#6b2a10;font-size:16px;font-weight:700}@keyframes guide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){button.guide{animation:none}}.guide-focus{border-radius:10px;box-shadow:0 0 0 3px #ecc56a,0 0 18px #ecc56aaa!important}.mk .mk-only{font-family:var(--display,Georgia), serif;color:#f4d58c;font-size:18px}.map-head button.guide.in-head{box-shadow:none;color:#efe3c8;font-family:var(--serif-body,Georgia), serif;background:0 0;border:0;gap:8px;margin:0;padding:0;font-size:36px;line-height:1.25;animation:none}.map-head button.guide.in-head b{color:#f4d58c}.map-head button.guide.in-head .gl-next{color:#f4d58c;font-size:32px}.map-head button.guide.in-head .gl-pips{gap:12px}.map-head button.guide.in-head .gl-pips i{border:3px solid #ecc56a;width:18px;height:18px}.map-head button.guide.in-head .gl-pips i.on{background:#ecc56a}.ws-role .ws-new{color:#2a1f12;vertical-align:middle;background:#ecc56a;border-radius:8px;margin:0 6px;padding:1px 8px;font-size:.6em;font-style:normal;font-weight:700}.purse-chip{color:#f4d58c;font-family:var(--serif-body);white-space:nowrap;background:#120c0899;border:2px solid #8f642099;border-radius:999px;align-items:center;gap:.6em;min-height:44px;margin:0;padding:.3em .8em;font-weight:700;display:inline-flex;position:relative}.purse-chip .pc-ess{color:#b9e6e2}.purse-chip .pc-new{color:#1d1208;text-align:center;background:#ecc56a;border-radius:50%;width:1.3em;height:1.3em;font-size:.75em;font-style:normal;line-height:1.3em;position:absolute;top:-.45em;right:-.35em}.purse-chip.unread{animation:1.6s ease-in-out infinite purse-call}@keyframes purse-call{50%{box-shadow:0 0 0 4px #ecc56a55}}@media (prefers-reduced-motion:reduce){.purse-chip.unread{animation:none}}.map-title-row{align-items:center;gap:18px;display:flex}.stage .map-head .purse-chip.in-map{min-height:64px;padding:0 20px;font-size:30px}.panel .gate-tools .purse-chip{font-size:16px}.purse-part{margin:0 0 14px}.purse-part .pp-head{font-family:var(--display);color:#f4d58c;align-items:baseline;gap:8px;font-size:20px;display:flex}.purse-part .pp-head b{font-size:26px}.purse-part .pp-glyph{font-size:24px}.purse-part p{margin:6px 0 0;line-height:1.4}.purse-part .pp-ess{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;margin-top:8px;display:grid}.purse-part .pp-ess span{align-items:baseline;gap:6px;display:flex}.purse-part .pp-ess span.none{opacity:.45}.purse-part .pp-ess i{font-size:20px;font-style:normal}.purse-part .pp-ess b{font-size:20px}.purse-part .pp-ess small{color:#e8d9b8;font-size:14px}.panel button.pp-go{width:100%;margin:4px 0 0}.spoils-strip .ss-hint{font-family:var(--serif-body);color:#efe3c8;margin-top:8px;font-size:28px}
