:root{--bg:#0e1016;--panel:#12141c;--card:#171a23;--card-2:#1f2330;--art:#1b2232;--line:#232838;--line-2:#2c3242;--track:#262b3a;--text:#ece9e2;--text-2:#c9cdd6;--muted:#a3a9b6;--gold:#f2b84b;--gold-soft:#ffd88a;--gold-bg:#2a2213;--gold-line:#5c4720;--hero:#6aa8ff;--hero-soft:#8fb8ff;--enemy:#f0956f;--magic:#b9a8f0;--good:#8fd19e;--relic:#f0956f;--upgrade:#8fd19e;--r-common:#c9cdd6;--r-rare:#6aa8ff;--r-epic:#b9a8f0;--r-legendary:#f2b84b;--g-green:#8fd19e;--g-blue:#6aa8ff;--g-purple:#b9a8f0;--g-orange:#f2a24b;--heading:"Space Grotesk", system-ui, sans-serif;--body:Inter, system-ui, sans-serif;--title-font:Cinzel, Georgia, serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);font-family:var(--body);-webkit-user-select:none;user-select:none;background:#07080c;margin:0;overflow:hidden}#app{position:fixed;inset:0}#stage{transform-origin:50%;grid-template-columns:var(--left) 1fr var(--right);background:var(--bg);display:grid;position:absolute;top:50%;left:50%;overflow:hidden}.panel{background:var(--panel);flex-direction:column;gap:10px;min-height:0;padding:18px;font-size:13px;display:flex;overflow:hidden}#left{border-right:1px solid var(--line)}#right{border-left:1px solid var(--line)}#center{background:#151a24;position:relative;overflow:hidden}#field,#field canvas{display:block}#screen{background:#11141c;flex-direction:column;gap:16px;padding:24px 28px;display:flex;position:absolute;inset:0}#screen[hidden]{display:none}.screen-head{justify-content:space-between;align-items:center;display:flex}.screen-head h2{font-family:var(--heading);margin:0;font-size:26px;font-weight:700}#screen-content{flex:1;min-height:0;overflow:auto}.screen-body{flex-direction:column;gap:10px;display:flex}.label{color:var(--muted);font-size:11px}.label.gap{margin-top:4px}.muted{color:var(--muted)}.spacer{flex:1}.bar{background:var(--track);border-radius:3px;height:5px}.bar>div{border-radius:inherit;background:var(--gold);height:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.card.gold{border-color:var(--gold-line)}.card.empty{border-style:dashed;border-color:var(--line-2);color:var(--muted)}button{font:inherit;color:var(--text);background:var(--card-2);border:1px solid var(--line-2);cursor:pointer;border-radius:8px;padding:7px 14px}button:hover{border-color:var(--gold-line)}button.primary{background:var(--gold);color:#1a1406;border:none;border-radius:10px;font-weight:600}button.primary:hover{filter:brightness(1.08)}button.primary.big{border-radius:12px;padding:16px;font-size:17px}button.danger{color:var(--enemy);background:0 0;border-color:#5a3a33}input,textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line-2);-webkit-user-select:text;user-select:text;border-radius:8px;width:100%;padding:7px 10px}input:focus,textarea:focus{border-color:var(--gold-line);outline:none}textarea{resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12px}.row{gap:8px;margin-top:8px;display:flex}.row input{flex:1}.msg{min-height:1em;color:var(--good);margin:8px 0 0;font-size:13px}.msg.bad{color:var(--enemy)}.player{align-items:center;gap:10px;display:flex}.avatar{background:var(--art);border:2px solid var(--gold);width:48px;height:48px;font-family:var(--heading);border-radius:10px;flex-shrink:0;place-items:center;font-size:20px;font-weight:700;display:grid}.player-name{font-weight:700}.player-sub{color:var(--gold-soft);font-size:12px}.currencies{gap:8px;display:flex}.stat-row{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.cur{background:var(--bg);border:1px solid var(--line);border-radius:999px;flex:1;align-items:center;min-width:0;height:24px;margin-left:10px;padding:0 10px 0 22px;display:inline-flex;position:relative;box-shadow:inset 0 1px 3px #0009}.run-head .cur{flex:none}.cur b{font-family:var(--heading);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.cur-gold b{color:var(--gold-soft)}.cur-crystals b{color:var(--hero-soft)}.cur-sparks b{color:var(--magic)}.cur-icon{object-fit:contain;filter:drop-shadow(0 1px 2px #000000b3);width:28px;height:28px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.ph-gold{background:radial-gradient(circle at 35% 30%, #fff1b8, var(--gold) 45%, #9a6a1c);border:2px solid #c8902e;border-radius:50%}.ph-crystals{background:linear-gradient(135deg, #e3f4ff, var(--hero-soft) 50%, #3b6fa8);clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);width:22px;height:22px;left:-7px}.ph-sparks{background:radial-gradient(circle, #fff, var(--magic) 60%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:24px;height:24px;left:-8px}.daily-row{justify-content:space-between;display:flex}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.menu-btn{color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:8px 0;display:flex}.menu-icon{border:1px solid #0000;border-radius:10px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.menu-icon img{object-fit:contain;width:100%;height:100%;display:block}.menu-btn span:last-child{font-size:11px}.menu-btn.active{color:var(--gold-soft);background:0 0;border-color:#0000;box-shadow:0 0 18px 2px #f2b84b38,inset 0 0 14px #f2b84b1f}.menu-btn.active .menu-icon img{filter:drop-shadow(0 0 6px #f2b84bd9)}.menu-btn.active .menu-icon:not(:has(img)){color:var(--gold);text-shadow:0 0 8px #f2b84bcc}.run-head{justify-content:space-between;align-items:baseline;display:flex}.run-head .round{font-family:var(--heading);font-size:16px;font-weight:700}.run-head .gold{color:var(--gold);font-weight:600}.grid-5,.grid-4,.grid-3{gap:6px;display:grid}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.slot{background:var(--card-2);border:1px solid var(--line-2);color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:10px;display:flex}.slot.relic{height:34px}.slot.ability{height:46px}.slot.bench{background:var(--card);border-style:dashed;height:44px;font-size:11px}.slot .key{color:var(--gold-soft)}.title{font-family:var(--heading);font-size:18px;font-weight:700}.team-btn{text-align:left;background:var(--card);border:1px solid var(--gold-line);border-radius:10px;flex-direction:column;gap:3px;padding:10px;display:flex}.team-btn b{color:var(--gold-soft)}.team-btn span{color:var(--muted);font-size:12px}.seg{gap:6px;display:flex}.seg button{background:var(--card);color:var(--text-2);flex:1;padding:7px;font-size:12px}.seg button.on{background:var(--gold-bg);color:var(--gold-soft);border-color:var(--gold-line)}.keeper{gap:10px;display:flex}.keeper-name{font-family:var(--heading);font-size:14px;font-weight:700}.keeper-talk{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.speech{background:var(--card);border:1px solid var(--line-2);border-radius:8px;padding:8px;font-size:12px;line-height:1.45}.setting-row{justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}#toast{color:var(--good);opacity:0;pointer-events:none;background:#18261c;border:1px solid #2f4a35;border-radius:10px;padding:10px 18px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#toast.bad{color:var(--enemy);background:#2a1a17;border-color:#5a3a33}.wave{flex-direction:column;gap:6px;font-size:12px;display:flex}.wave-row{justify-content:space-between;display:flex}.meter{flex-direction:column;gap:10px;font-size:12px;display:flex}.meter-row{flex-direction:column;gap:3px;display:flex}.meter-head{justify-content:space-between;display:flex}.bar.thin{border-radius:2px;height:4px}.bar.thin>div{transition:width .15s}.bar.heal>div{background:var(--good)}.hint{font-size:11px}#results{background:#0e1016d1;place-items:center;display:grid;position:absolute;inset:0}#results[hidden]{display:none}.results-box{background:var(--panel);border:1px solid var(--line-2);border-radius:14px;flex-direction:column;gap:12px;width:440px;padding:24px;font-size:13px;display:flex}.results-box h2{font-family:var(--heading);margin:0;font-size:26px;font-weight:700}.results-kicker{letter-spacing:.3em;text-transform:uppercase;font-size:12px}.results-kicker.win{color:var(--gold)}.results-kicker.lose{color:var(--enemy)}.results-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.results-stats>div{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.results-stats b{font-family:var(--heading);color:var(--gold-soft);font-size:16px}.results-stats span{color:var(--muted);font-size:11px}.results-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.results-actions button{padding:10px 18px}.r-common{color:var(--r-common)}.r-rare{color:var(--r-rare)}.r-epic{color:var(--r-epic)}.r-legendary{color:var(--r-legendary)}.t-hero{color:var(--hero-soft)}.t-relic{color:var(--relic)}.t-upgrade{color:var(--upgrade)}#right.panel{gap:8px}.keeper .speech{min-height:52px}.offers{flex-direction:column;gap:6px;display:flex}.offer{border:1px solid var(--line);cursor:pointer;background:#1a1d27;border-radius:10px;align-items:center;gap:10px;min-height:66px;padding:6px 8px;display:flex}.offer:hover{border-color:var(--gold-line)}.offer.locked{border-color:var(--gold)}.offer.cant{cursor:default}.offer.cant .offer-art,.offer.cant .offer-body{opacity:.55}.offer.cant .price{color:var(--enemy)}.offer.sold{border-style:dashed;border-color:var(--line-2);color:var(--muted);cursor:default;background:0 0;justify-content:center}.offers.closed .offer{pointer-events:none}.offer-art{background:var(--art);width:40px;height:52px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:9px;display:grid}.offer.kind-relic .offer-art{color:var(--relic);font-size:16px;font-weight:700}.offer.kind-upgrade .offer-art{background:#1b2a22}.offer-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.offer-type{color:var(--muted);font-size:10px}.offer-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.offer-name .badge{color:var(--gold-soft);font-size:10px}.offer-name .owned{font-size:10px;font-weight:400}.offer-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.offer-why{color:var(--enemy);font-size:10px}.offer-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.offer-side .price{color:var(--gold);font-weight:600}.offer-side .lock{color:var(--muted);border:1px solid var(--line-2);cursor:pointer;border-radius:5px;padding:2px 6px;font-size:10px}.offer-side .lock:hover{color:var(--text);border-color:var(--gold-line)}.offer.locked .lock{color:var(--gold-soft);border-color:var(--gold-line);background:var(--gold-bg)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.grid-2 button{padding:8px}button.strong{font-weight:600}button[data-short]{color:var(--muted)}button:disabled{opacity:.5;cursor:default;filter:none}.shop-level{justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-level-info{flex-direction:column;gap:2px;font-size:12px;display:flex}.shop-level .odds{gap:6px;font-size:11px;display:flex}.shop-level button{padding:7px 10px;font-size:12px}.sell-zone{height:44px;color:var(--enemy);border:1px dashed #5a3a33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}#stage.dragging .sell-zone{background:#2a1a17}.sell-zone.drop-hover{border-style:solid;border-color:var(--enemy);background:#3a201b}button.primary.start{padding:12px;font-size:14px}.hero-list{flex-direction:column;gap:3px;font-size:12px;display:flex}.hero-row{align-items:baseline;gap:6px;display:flex}.hero-row .hero-name{flex:1;font-weight:600}.hero-row .where{font-size:11px}.stars{color:var(--gold);letter-spacing:1px}.slot.relic.owned{color:var(--relic);border-color:#5a3a33;font-size:14px;font-weight:700}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{color:var(--upgrade);background:#1b2a22;border:1px solid #2f4a35;border-radius:6px;padding:3px 7px;font-size:11px}.card.empty.small{padding:5px 8px;font-size:11px}.slot.bench.filled{color:var(--text);border-style:solid;gap:1px;font-size:11px}.slot.bench.filled[data-drag-uid]{cursor:grab}#stage.dragging .slot.bench{border-color:var(--gold-line)}.slot.bench.drop-hover{border-color:var(--gold);background:var(--gold-bg)}#stage.dragging,#stage.dragging *{cursor:grabbing!important}.drag-ghost{z-index:20;pointer-events:none;background:var(--art);border:2px solid var(--hero);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;font-size:12px;display:flex;position:absolute;transform:translate(-50%,-60%);box-shadow:0 8px 24px #00000080}.pick-box{width:420px}.pick-box p{margin:0}.offers.pick .offer{min-height:72px}.stage-list{flex-direction:column;gap:6px;display:flex}.stage-row{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.stage-row span{color:var(--muted);font-size:11px}.stage-row .stage-name{color:var(--text);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.stage-row .cleared{color:var(--good)}.stage-row.on{background:var(--gold-bg);border-color:var(--gold)}.stage-row.on b,.team-btn span:last-child{color:var(--gold-soft)}.team-setup p{margin:0;font-size:13px}.team-field{flex-direction:column;align-items:center;gap:10px;display:flex}.team-row{align-items:center;gap:12px;display:flex}.team-row-label{text-align:right;flex-direction:column;gap:2px;width:130px;font-size:13px;display:flex}.team-row-label span{color:var(--muted);font-size:11px}.team-slot{border:2px dashed var(--line-2);background:var(--panel);border-radius:12px;place-items:center;width:128px;height:150px;display:grid;position:relative}.team-slot.filled{border-style:solid;border-color:#3a5a8c}.team-slot.drop-hover{border-color:var(--gold);background:var(--gold-bg)}.team-slot-num{z-index:1;background:var(--bg);min-width:20px;color:var(--gold-soft);text-align:center;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:6px;left:6px}.team-slot-empty{color:var(--muted);font-size:11px}.roster{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;gap:10px;min-height:150px;padding:12px;display:flex}.roster.drop-hover{border-color:var(--gold-line)}.hero-card{background:var(--card);border:1px solid var(--line-2);cursor:grab;touch-action:none;border-radius:10px;flex-direction:column;align-items:center;gap:3px;width:104px;height:126px;padding:8px 6px;display:flex}.hero-card:hover{border-color:var(--hero)}.team-slot .hero-card{background:0 0;border:none;width:100%;height:100%;padding-top:12px}.hero-card-art{background:var(--art);width:100%;color:var(--muted);border-radius:6px;flex:1;place-items:center;font-size:9px;display:grid}.hero-card-name{font-size:13px;font-weight:600}.hero-card-role{color:var(--muted);font-size:10px}.hero-card.in-team{opacity:.45}.turn-box{justify-content:space-between;align-items:baseline;display:flex}.turn-count{font-family:var(--heading);color:var(--gold-soft);font-size:22px;font-weight:700}.unit-list{flex-direction:column;gap:8px;font-size:12px;display:flex}.unit-row{flex-direction:column;gap:4px;display:flex}.unit-row.down{opacity:.45}.unit-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.unit-head .bar{flex:1}.slot-num{color:var(--gold-soft);font-weight:700}.skill-ready{color:var(--gold);font-weight:600}.bar.hp>div{background:var(--good);transition:width .15s}.hp-num{text-align:right;min-width:62px;font-size:11px}.prompt-box{flex-direction:column;gap:6px;min-height:150px;display:flex}.prompt{background:var(--gold-bg);flex-direction:column;gap:5px;padding:10px;display:flex}.prompt b{color:var(--gold-soft);font-size:14px}.prompt-desc{color:var(--text-2);font-size:12px;line-height:1.4}.prompt-pick{color:var(--good);font-size:12px}.focus-line{color:var(--enemy);font-size:12px}.stage-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.stage-tile{background:var(--card);border:1px solid var(--line-2);border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:6px 0;display:flex}.stage-tile b{font-size:12px}.stage-tile span{color:var(--gold-soft);font-size:9px}.stage-tile.cleared span{color:var(--good);font-size:11px}.stage-tile.locked{opacity:.5;border-style:dashed}.stage-tile.locked span{color:var(--muted)}.stage-tile.boss{border-color:#5a3a33}.stage-tile.boss b{color:var(--enemy)}.stage-tile.on{background:var(--gold-bg);border-color:var(--gold);opacity:1}.stage-detail{color:var(--text-2);flex-direction:column;gap:4px;min-height:118px;font-size:12px;line-height:1.35;display:flex}.stage-detail .stage-name{color:var(--text);justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.boss-chip{color:var(--enemy);border:1px solid #5a3a33;border-radius:5px;padding:1px 6px;font-size:10px}.stage-lock{color:var(--enemy)}.cleared{color:var(--good)}.first-clear{color:var(--gold-soft)}.power-ok{color:var(--good)}.power-low{color:var(--enemy)}.seg-row{gap:6px;display:flex}.seg-row .seg{flex:1;gap:4px}.seg-row .seg button{padding:6px 2px;font-size:11px}button[data-action=sweep]{font-size:12px}.gold-num{color:var(--gold)}.results-box.wide{width:640px}.results-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}.results-col{flex-direction:column;gap:10px;min-width:0;display:flex}.results-box.wide .results-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.xp-list{flex-direction:column;gap:5px;display:flex}.xp-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;font-size:12px;display:grid}.xp-gain{color:var(--good)}.level-up{color:var(--gold);font-weight:600}.items{flex-wrap:wrap;gap:8px;display:flex}.item{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:78px;padding:8px 10px;display:flex}.item b{font-family:var(--heading);font-size:16px}.item span{color:var(--muted);font-size:11px}.item.gold-item b{color:var(--gold)}.hero-card-art{position:relative}.lv-chip{background:var(--bg);color:var(--gold-soft);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;bottom:4px;right:4px}.team-power{justify-content:center;align-items:center;gap:16px;font-size:14px;display:flex}.team-power b{font-family:var(--heading);color:var(--gold-soft);font-size:20px}.train{flex-direction:row;align-items:flex-start;gap:16px}.train-list{flex-direction:column;flex-shrink:0;gap:6px;width:230px;display:flex}.train-hero{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 10px;display:grid}.train-hero .train-hero-name{font-size:13px;font-weight:600}.train-hero .muted{grid-column:1;font-size:11px}.train-hero b{color:var(--gold-soft);grid-area:1/2/span 2;align-self:center}.train-hero.on{background:var(--gold-bg);border-color:var(--gold)}.train-detail{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.train-head{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:14px;padding:12px;display:flex}.train-art{background:var(--art);width:110px;height:132px;color:var(--muted);border-radius:10px;flex-shrink:0;place-items:center;font-size:10px;display:grid}.train-info{flex-direction:column;flex:1;gap:6px;min-width:0;font-size:12px;display:flex}.train-name{font-family:var(--heading);font-size:20px;font-weight:700}.train-name .muted{font-family:var(--body);font-size:12px;font-weight:400}.rank-chip{border:1px solid var(--line-2);background:var(--card-2);border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:11px}.train-level{font-family:var(--heading);color:var(--gold-soft);font-size:26px;font-weight:700}.train-level .muted{font-size:14px}.bar.xp{border-radius:5px;height:10px}.bar.xp>div{transition:width .45s ease-out}.rank-needed{color:var(--enemy);font-weight:600}.train-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.train-stats>div{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:baseline;gap:8px;padding:8px 10px;font-size:12px;display:flex}.train-stats span:first-child{color:var(--muted);flex:1}.train-stats b{font-family:var(--heading);font-size:16px}.stat-next{color:var(--good);font-size:12px}.skill-desc{font-size:12px}.book-list{flex-direction:column;gap:6px;display:flex}.book-row{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.book-art{width:40px;height:40px;color:var(--muted);background:#1b2a22;border-radius:6px;place-items:center;font-size:8px;display:grid}.book-icon{flex:none;place-items:center;display:inline-grid;position:relative}.book-icon:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--glow) 34%, transparent), transparent 70%);pointer-events:none;border-radius:50%;position:absolute;inset:8%}.book-icon img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--glow) 55%, transparent));transition:filter .16s;position:relative}.book-icon.book-large img{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--glow) 72%, transparent))}.book-row:hover .book-icon img,.merchant-item:hover .book-icon img,.book-icon:hover img{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--glow) 85%, transparent))}.book-row:hover .book-icon.book-large img,.book-icon.book-large:hover img{filter:drop-shadow(0 0 12px var(--glow))}.inv-name{align-items:center;gap:8px;display:flex}.item .book-icon{vertical-align:middle;margin-right:4px}.book-body{flex-direction:column;flex:1;gap:1px;font-size:13px;display:flex}.book-body .muted{font-size:11px}.level-up-tag{font-family:var(--body);color:var(--gold);animation:level-tag var(--fx-ms,.9s) ease-out both;margin-left:10px;font-size:13px}.level-up-fx{animation:level-glow var(--fx-ms,.9s) ease-out}.level-up-fx .train-level{animation:level-pop var(--fx-ms,.9s) ease-out;transform-origin:0}@keyframes level-glow{0%{border-color:var(--gold-line);box-shadow:0 0 #f2b84b59}to{border-color:var(--line);box-shadow:0 0 0 18px #f2b84b00}}@keyframes level-pop{0%{transform:scale(1)}30%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes level-tag{0%{opacity:0;transform:translateY(8px)}25%{opacity:1;transform:translateY(0)}to{opacity:1}}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{color:var(--hero-soft);border:1px solid #3a5a8c;border-radius:6px;padding:2px 8px;font-size:11px}.talent-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.talent{text-align:left;background:var(--card);border:1px solid var(--line-2);border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.talent-head{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.talent-head span{color:var(--muted);font-size:11px}.talent-desc{color:var(--text-2);font-size:11px;line-height:1.35}.talent.on{background:var(--gold-bg);border-color:var(--gold)}.talent.on b,.talent.on .talent-head span{color:var(--gold-soft)}.team-top{align-items:stretch;gap:16px;display:flex}.team-top .team-field{align-items:flex-start}.teamwork-panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;flex:1;gap:4px;min-width:0;padding:8px 10px;display:flex}.teamwork-panel .label:not(:first-child){margin-top:4px}.tw-row{border:1px solid #0000;border-radius:7px;flex-direction:column;gap:1px;padding:3px 7px;display:flex}.tw-head{justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.tw-head span{color:var(--muted);font-size:10px}.tw-text{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.tw-row.off{opacity:.5}.tw-row.near{border-color:var(--line-2);border-style:dashed}.tw-row.near .tw-text{color:var(--gold-soft)}.tw-row.active{background:#18261c;border-color:#2f4a35}.tw-row.active b{color:var(--good)}.tw-row.active .tw-text{color:var(--text-2)}.team-row-label{width:96px}.tw-list{flex-direction:column;gap:3px;font-size:12px;display:flex}.tw-line{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tw-line b{color:var(--good);font-weight:600}.tw-line .muted{font-size:11px}.callouts{flex-direction:column;gap:5px;min-height:96px;display:flex}.callout{color:var(--text-2);background:#18261c;border:1px solid #2f4a35;border-radius:8px;flex-direction:column;gap:1px;padding:6px 9px;font-size:11px;animation:.25s ease-out callout-in;display:flex}.callout b{color:var(--good);font-size:12px}@keyframes callout-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.prompt-box{min-height:120px}.team-setup{gap:10px}.team-slot{height:136px}.roster{gap:8px;min-height:0;padding:10px}.roster .hero-card{height:112px}:root{--ess-echo:#b9a8f0;--ess-spread:#6aa8ff;--ess-burn:#f0956f;--ess-quickened:#8fd19e}.hero-tabs{border-bottom:1px solid var(--line);gap:6px;padding-bottom:6px;display:flex}.hero-tabs button{background:0 0;padding:6px 12px;font-size:12px}.hero-tabs button.on{background:var(--gold-bg);border-color:var(--gold-line);color:var(--gold-soft)}.ess-icon{color:#10131a;background:var(--muted);border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid;transform:rotate(45deg)scale(.8)}.ess-icon>*{transform:rotate(-45deg)}.ess-icon.big{width:40px;height:40px;font-size:16px}.ess-icon.empty{border:1px dashed var(--line-2);color:var(--muted);background:0 0}.ess-echo{background:var(--ess-echo)}.ess-spread{background:var(--ess-spread)}.ess-burn{background:var(--ess-burn)}.ess-quickened{background:var(--ess-quickened)}.essence-slot{border:1px dashed var(--line-2);background:var(--panel);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.essence-slot.filled{border-style:solid;border-color:var(--gold-line);background:var(--gold-bg)}.essence-slot.filled b{color:var(--gold-soft)}.essence-body{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;display:flex}.essence-body .muted{font-size:11px;line-height:1.35}.essence-count{color:var(--text-2);font-size:11px}.essence-list{flex-direction:column;gap:6px;display:flex}.essence-row{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:7px 10px;display:flex}.essence-row.on{border-color:var(--gold)}.essence-row.no-fit{opacity:.55}.essence-row button{min-width:92px;font-size:12px}.ess-mark{grid-area:1/2;place-self:start end;width:8px;height:8px;margin-top:-2px;transform:rotate(45deg)}.train-hero{position:relative}.item.essence-item b,.essence-num{color:var(--magic)}.player .icon-btn{border-radius:8px;width:32px;height:32px;margin-left:auto;padding:0;font-size:16px}.player .icon-btn.active{background:var(--gold-bg);border-color:var(--gold-line);color:var(--gold-soft)}.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.menu-btn{gap:3px;padding:5px 0}.menu-icon{width:44px;height:44px;font-size:16px}.coming-soon{flex-direction:column;align-items:center;gap:6px;padding:40px;display:flex}.char-grid{flex-wrap:wrap;gap:10px;display:flex}.char-card{cursor:pointer;touch-action:auto;height:auto}.char-card .hero-card-art{aspect-ratio:1;flex:none}.char-card.locked{opacity:.4;filter:grayscale();cursor:default}.unlock-how{color:var(--text-2);text-align:center;font-size:10px;line-height:1.25}.char-top{justify-content:space-between;align-items:center;display:flex}.char-actions{gap:8px;display:flex}.char-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.char-stats>div{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-direction:column;gap:2px;padding:8px;font-size:11px;display:flex}.char-stats b{color:var(--text);font-size:16px}.char-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.char-col{flex-direction:column;gap:6px;font-size:12px;display:flex}.inv-list{flex-direction:column;gap:6px;display:flex}.inv-row{background:var(--card);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.g-green{color:var(--g-green)}.g-blue{color:var(--g-blue)}.g-purple{color:var(--g-purple)}.g-orange{color:var(--g-orange)}.gear-icon{background:var(--card-2);border:2px solid;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;display:grid;position:relative}.gear-icon.big{width:48px;height:48px;font-size:22px}.gear-icon.empty{border:2px dashed var(--line-2);color:var(--muted);background:0 0}.gear-lv{background:var(--bg);border:1px solid;border-radius:5px;padding:0 4px;font-size:10px;font-weight:700;position:absolute;bottom:-6px;right:-6px}.gear-sub{color:var(--text-2);font-size:11px}.gear-bonus{color:var(--good);font-size:.85em;font-weight:600}.gear-screen{gap:12px;position:relative}.gear-col{flex-direction:column;gap:10px;display:flex}.gear-hero{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px;display:flex}.gear-hero-art{background:var(--art);width:100%;height:200px;color:var(--muted);border-radius:10px;place-items:center;font-size:11px;display:grid}.gear-hero-name{font-family:var(--heading);font-size:20px}.gear-hero .muted{font-size:11px}.gear-stats{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.gear-stats>div{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-direction:column;gap:2px;padding:7px 8px;font-size:11px;display:flex}.gear-stats b{color:var(--text);font-size:15px}.gear-sets{flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.gear-set{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.set-on{color:var(--good)}.gear-picker{background:var(--panel);border:1px solid var(--gold-line);z-index:5;border-radius:12px;flex-direction:column;gap:8px;width:440px;padding:12px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 30px #00000080}.gear-picker-head{align-items:center;gap:10px;display:flex}.gear-picker-head b{font-family:var(--heading);flex:1;font-size:16px}.gear-options{flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.gear-option{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:10px;padding:8px;display:flex}.gear-option.on{border-color:var(--gold-line)}.gear-option-body{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:12px;display:flex}.gear-option-actions{flex-direction:column;gap:4px;display:flex}.gear-option-actions button{white-space:nowrap;padding:4px 8px;font-size:11px}.gear-compare{flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.gear-compare .up{color:var(--good)}.gear-compare .up:before{content:"▲ "}.gear-compare .down{color:var(--enemy)}.gear-compare .down:before{content:"▼ "}.gear-lines{flex-direction:column;gap:4px;display:flex}.gear-line{background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:4px 6px;display:flex}.gear-line-body{flex-direction:column;gap:1px;min-width:0;font-size:12px;display:flex}.gear-line-body .muted{font-size:11px}.hero-card-art,.train-art,.gear-hero-art{background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.train-art{width:120px;height:120px}.portrait{aspect-ratio:1;background:var(--art);border:2px solid var(--frame,var(--line-2));border-radius:8px;flex-shrink:0;max-width:100%;height:100%;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0006,inset 0 0 10px #00000059}.portrait.framed{box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.portrait-clip{background:var(--art);border-radius:6px;position:absolute;inset:0;overflow:hidden}.portrait-frame,.portrait-gold{pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;position:absolute}.portrait-frame{z-index:1;inset:-2px}.portrait-gold{z-index:1;inset:calc(-2px - 9.375%)}.copy-art .portrait.framed{border-color:var(--rar)}.copy-art .portrait-frame,.copy-art .portrait-gold{display:none}.portrait-img{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;height:auto;position:absolute}.portrait-ph{color:var(--muted);place-items:center;font-size:9px;display:grid;position:absolute;inset:0}.hero-card .lv-chip{z-index:1}.boss-intro{z-index:6;background:#0b0a0e;display:flex;position:absolute;inset:0}.boss-art{background:#1c1418;flex-shrink:0;place-items:center;width:42%;font-size:12px;display:grid;position:relative}.boss-kicker{color:var(--enemy);letter-spacing:2px;font-size:12px;position:absolute;top:18px;left:20px}.boss-info{flex-direction:column;flex:1;gap:12px;min-width:0;padding:36px 32px 24px;display:flex;overflow-y:auto}.boss-name-block{flex-direction:column;gap:4px;display:flex}.boss-name{font-family:var(--heading);font-size:40px;font-weight:700;line-height:1}.boss-taunt{color:var(--text-2);font-size:15px;font-style:italic;line-height:1.5}.boss-rules{flex-direction:column;gap:8px;display:flex}.boss-rule{background:var(--card);border:1px solid #5a3a33;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.boss-rule.good{border-color:#2f4a35}.boss-rule-icon{background:var(--card-2);width:28px;height:28px;color:var(--enemy);border-radius:8px;flex-shrink:0;place-items:center;font-size:15px;display:grid}.boss-rule.good .boss-rule-icon{color:var(--good)}.boss-rule-tag{width:64px;color:var(--enemy);flex-shrink:0;font-size:11px}.boss-rule.good .boss-rule-tag{color:var(--good)}.boss-team{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.boss-match{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.boss-match.strong{border-color:#2f4a35}.boss-match.weak{border-color:#5a3a33}.boss-match.careful{border-color:var(--gold-line)}.boss-match-art{flex-shrink:0;height:40px;display:flex}.boss-match-body{flex-direction:column;gap:1px;min-width:0;display:flex}.boss-match-kind{font-size:11px;font-weight:600}.boss-match.strong .boss-match-kind{color:var(--good)}.boss-match.weak .boss-match-kind{color:var(--enemy)}.boss-match.careful .boss-match-kind{color:var(--gold-soft)}.boss-match-note{color:var(--muted);font-size:11px}.boss-actions{gap:12px;margin-top:auto;padding-top:8px;display:flex}.results-banner{border-bottom:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;padding-bottom:6px;display:flex}.results-stars{align-items:center;gap:10px;font-size:12px;display:flex}.stars-big{color:var(--gold);letter-spacing:3px;font-size:26px}.mvp{background:var(--gold-bg);border:1px solid var(--gold-line);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.mvp-tag,.mvp-mini{background:var(--gold);color:#1a1406;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:700}.fell-tag{border:1px solid var(--enemy);color:var(--enemy);border-radius:5px;padding:0 5px;font-size:9px}.bar.split{display:flex}.bar.split>div{border-radius:0}.bar.split .heal-part{background:var(--good)}.first-clear-box{background:var(--gold-bg);border:1px solid var(--gold-line);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex}.first-clear-box b{color:var(--gold-soft)}.recap-list{flex-direction:column;gap:4px;display:flex}.recap-row{background:var(--card);border:1px solid var(--line);border-radius:8px;grid-template-columns:18px auto 1fr auto;align-items:baseline;gap:8px;padding:6px 8px;font-size:12px;display:grid}.recap-num{color:var(--muted)}.recap-by{color:var(--enemy)}.tip-box{background:#13202a;border:1px solid #2f4a6a;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;display:flex}.tip-box b{color:var(--hero-soft);font-size:11px}.tile-stars{letter-spacing:1px;color:var(--gold)!important;font-size:10px!important}.stage-stars b{color:var(--gold);letter-spacing:1px}.callout.boss{border-color:#5a3a33}.callout.boss b,.callout.elite b{color:var(--enemy)}.gear-hero-art{background:0 0;height:auto;padding-top:34px;overflow:visible}.hero-big-card{--w:160px;width:var(--w);aspect-ratio:3/4;margin-inline:calc(var(--w) * var(--over,0));border:3px solid var(--frame,var(--line-2));background:var(--art);border-radius:12px;display:block;position:relative;box-shadow:0 6px 18px #00000073}.hero-big-bg{background-position:50%;background-size:cover;border-radius:9px;position:absolute;inset:0}.hero-big-art{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 6px #00000073);width:auto;max-width:none;position:absolute;left:50%;transform:translate(-50%)}.hero-big-card.framed{box-shadow:none;background:0 0;border-color:#0000}.hero-big-card.framed .hero-big-bg{border-radius:11px;inset:-1px}.hero-big-frame{pointer-events:none;border-style:solid;border-color:#0000;position:absolute;inset:-3px}.hero-big-gold{left:calc(-3px - var(--pad));right:calc(-3px - var(--pad));pointer-events:none;background-repeat:no-repeat;background-size:100%;position:absolute}.hero-big-gold.top{top:calc(-3px - var(--pad));background-position:top}.hero-big-gold.bottom{bottom:calc(-3px - var(--pad));background-position:bottom}.hero-big-card .tier-gems,.hero-big-card.framed .hero-big-art{z-index:1}.char-big-art{flex-shrink:0;align-items:flex-end;padding:34px 0 0;display:flex}.char-big-art .hero-big-card{--w:140px}#tooltip{z-index:1000;pointer-events:none;border:1px solid var(--line-2);width:max-content;max-width:280px;color:var(--text);font-family:var(--body);background:#0e1016f7;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;position:fixed;box-shadow:0 8px 24px #0000008c}#tooltip[hidden]{display:none}.tip-head{align-items:center;gap:8px;display:flex}.tip-icon{background:var(--card-2);border:1px solid;border-radius:7px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.tip-icon img{object-fit:contain;width:20px;height:20px}.tip-icon .cur-icon{width:22px;height:22px;position:static;left:auto;transform:none}.tip-icon:has(.cur-icon){background:0 0;border:none}.tip-name{font-family:var(--heading);font-size:14px}.tip-desc{color:var(--text-2)}.tip-note{color:var(--gold-soft);font-size:11px}.tip-stats{color:var(--good);flex-wrap:wrap;gap:2px 10px;display:flex}.tip-set{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:7px;flex-direction:column;gap:1px;padding:5px 7px;font-size:11px;display:flex}.tip-set b{color:var(--text);font-size:11px}.tip-row{flex-direction:column;gap:1px;display:flex}.tip-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}[data-tip]{-webkit-touch-callout:none}@media (pointer:coarse){[data-tip]{-webkit-user-select:none;user-select:none}}.team-btn-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.team-power-chip{color:var(--muted);font-size:11px}.team-power-chip b{color:var(--gold-soft);font-family:var(--heading);font-size:15px}.stage-pick{flex-direction:column;gap:4px;font-size:12px;display:flex}.stars-inline{color:var(--gold);letter-spacing:1px}.fight-btn{padding:16px;font-size:18px}.missions{flex-direction:column;gap:6px;display:flex}.mission{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:5px;padding:7px 9px;font-size:12px;display:flex}.mission.ready{border-color:var(--gold-line);background:var(--gold-bg)}.mission.claimed{opacity:.55}.m-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.m-head .muted{white-space:nowrap;font-size:11px}.m-foot{align-items:center;gap:8px;display:flex}.m-foot .bar{flex:1}.m-rewards{white-space:nowrap;gap:6px;font-size:11px;font-weight:600;display:flex}.crystal-num{color:var(--hero-soft)}.spark-num{color:var(--magic)}.m-claim{background:var(--gold);color:#1a1406;border:none;padding:2px 10px;font-size:11px;font-weight:700}.m-done{color:var(--good);white-space:nowrap;font-size:11px}.prep{z-index:6;background:var(--panel);flex-direction:column;gap:14px;padding:28px 32px 22px;display:flex;position:absolute;inset:0;overflow-y:auto}.prep-head{flex-direction:column;gap:3px;display:flex}.prep-kicker{letter-spacing:2px;color:var(--gold);font-size:12px}.prep-title{font-family:var(--heading);font-size:34px;font-weight:700;line-height:1.05}.prep-cols{grid-template-columns:1fr 1fr;gap:22px;display:grid}.prep-col{flex-direction:column;gap:8px;min-width:0;display:flex}.prep-waves{flex-direction:column;gap:5px;display:flex}.prep-wave{background:var(--card);border:1px solid var(--line);border-radius:8px;gap:10px;padding:7px 10px;font-size:12px;display:flex}.prep-wave-num{color:var(--muted);flex-shrink:0;width:46px}.prep-rewards,.prep-stars{flex-direction:column;gap:4px;font-size:12px;display:flex}.prep-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.prep-hero{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;font-size:12px;display:flex}.prep-hero .muted{font-size:10px}.prep-hero-art{height:58px;display:flex}.prep-power{align-items:center;gap:10px;font-size:13px;display:flex}.prep-power>b{font-family:var(--heading);font-size:20px}.prep-power button{margin-left:auto}.prep-actions{align-items:center;gap:12px;margin-top:auto;display:flex}.prep-actions .primary{min-width:200px;margin-left:auto}.merchant{gap:12px}.merchant-top{align-items:stretch;gap:16px;display:flex}.keeper{background:var(--card);border:1px solid var(--line);border-radius:12px;flex:1;align-items:center;gap:14px;padding:12px;display:flex}.keeper-art{background:var(--art);border:2px solid var(--gold-line);text-align:center;width:96px;height:96px;color:var(--muted);border-radius:12px;flex-shrink:0;place-items:center;font-size:9px;display:grid}.keeper-talk{flex-direction:column;gap:6px;display:flex}.keeper-name{font-family:var(--heading);color:var(--gold-soft);font-size:16px}.keeper-line{color:var(--text-2);font-size:14px;font-style:italic;line-height:1.45}.deal-box{flex-shrink:0;width:190px;padding-top:10px;display:flex}.deal-box .mi{flex:1}.merchant-bar{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:14px;padding:8px 12px;font-size:13px;display:flex}.merchant-bar .muted{flex:1;font-size:11px}.merchant-bar button .cur-icon,.mi-price .cur-icon{vertical-align:-3px;width:16px;height:16px;display:inline-block;position:static;transform:none}.merchant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mi{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 10px;display:flex;position:relative}.mi.deal{border-color:var(--gold);background:var(--gold-bg)}.mi.sold{opacity:.45}.mi-deal-tag{background:var(--gold);color:#1a1406;white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:10px;font-weight:700;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.mi-icon{justify-content:center;align-items:center;height:52px;display:flex;position:relative}.mi-art{height:52px;display:flex}.mi-glyph{background:var(--card-2);border:1px solid var(--line-2);border-radius:10px;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.mi-glyph.book{color:var(--good)}.mi-glyph .cur-icon{position:static;transform:none}.mi-qty{background:var(--bg);border:1px solid var(--line-2);border-radius:5px;padding:0 5px;font-size:11px;font-weight:700;position:absolute;bottom:-4px;right:-14px}.mi-name{font-size:13px}.mi-price{align-items:center;gap:5px;font-size:13px;display:flex}.mi-price s{font-size:11px}.mi button{width:100%}.settings{gap:8px}.setting-ctl{align-items:center;gap:10px;display:flex}.setting-ctl input[type=range]{width:220px;accent-color:var(--gold)}.setting-val{text-align:right;width:42px;font-size:13px}.confirm-box{background:#2a1414;border:1px solid #6a2a2a;border-radius:10px;flex-direction:column;gap:6px;margin-top:10px;padding:10px 12px;font-size:13px;display:flex}.confirm-box[hidden]{display:none}.tier-gems{z-index:2;pointer-events:none;gap:2px;display:flex;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.tier-gems i{background:var(--frame,var(--gold));border:1px solid #0e1016;width:7px;height:7px;transform:rotate(45deg);box-shadow:0 0 3px #000000b3}.hero-big-card .tier-gems{gap:4px;bottom:-6px}.hero-big-card .tier-gems i{width:10px;height:10px}.path-chip{color:#f0a093;border:1px solid #6a2a2a;border-radius:6px;padding:2px 8px;font-size:11px}.rank-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;font-size:12px;display:flex}.rank-now{flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.rank-gems{letter-spacing:1px}.rank-next{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:8px;display:flex}.rank-next-head{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.req-row{flex-wrap:wrap;gap:4px 14px;display:flex}.req.ok{color:var(--good)}.req.no{color:var(--enemy)}.trial-box{background:#1a1622;border:1px solid #3a2f48;border-radius:10px;flex-direction:column;gap:5px;padding:9px 10px;display:flex}.trial-box.won{border-color:#2f4a35}.trial-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.trial-head b{font-family:var(--heading);font-size:14px}.trial-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.path-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.path-card{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:5px;padding:10px;font-size:12px;display:flex}.path-card.on{background:#241614;border-color:#e0584a}.path-card.placeholder{border-style:dashed}.path-head{flex-direction:column;gap:1px;display:flex}.path-head b{font-family:var(--heading);font-size:15px}.path-desc{color:var(--text-2);font-style:italic}.path-skill{color:var(--text-2);font-size:11px;line-height:1.35}.path-skill b{color:var(--text)}.path-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:4px;display:flex}.path-on{color:#f0a093;font-weight:600}.rank-up-fx .portrait{animation:rank-frame var(--rank-ms,1.4s) ease-out}@keyframes rank-frame{0%{border-color:var(--rank-from);box-shadow:0 0 0 0 var(--rank-from);transform:scale(1)}40%{border-color:var(--rank-from);box-shadow:0 0 12px 2px var(--rank-from);transform:scale(1.04)}62%{border-color:var(--frame);box-shadow:0 0 24px 6px var(--frame);transform:scale(1.1)}to{border-color:var(--frame);box-shadow:0 0 12px 2px var(--frame);transform:scale(1)}}.char-rank{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.char-rank>div{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-direction:column;gap:2px;padding:8px;font-size:11px;display:flex}.char-rank b{color:var(--text);font-size:13px}.shard-gain{color:var(--magic);font-size:11px}.trial-result{background:#2a1414;border:1px solid #6a2a2a;border-radius:10px;flex-direction:column;gap:4px;padding:12px;font-size:13px;display:flex}.trial-result.won{background:#14241a;border-color:#2f4a35}.trial-result b{font-family:var(--heading);font-size:16px}.perk-common{color:var(--r-common)}.perk-rare{color:var(--r-rare)}.perk-epic{color:var(--r-epic)}.perk-legendary{color:var(--r-legendary)}.team-bar{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.saved-teams{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.saved-team{text-align:left;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:6px 9px;font-size:12px;display:flex}.saved-team b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.saved-team .muted{font-size:10px}.saved-team.on{border-color:var(--gold);background:var(--gold-bg);color:var(--gold-soft)}.team-ops{align-items:center;gap:6px;display:flex}.team-ops button{padding:5px 11px;font-size:12px}.team-ops .spacer{flex:1}.code-input{width:190px;padding:5px 8px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.team-rename{align-items:center;gap:6px;display:flex}.team-rename input{width:220px}.code-report{border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12px;display:flex}.code-report.ok{background:#14241a;border:1px solid #2f4a35}.code-report.warn{border:1px solid var(--gold-line);background:#2a2213}.code-report ul{margin:0;padding-left:18px}.team-paths{flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.team-path{align-items:center;gap:6px;display:flex}.team-path select,.team-select{background:var(--card-2);color:var(--text);border:1px solid var(--line-2);border-radius:6px;padding:3px 6px;font-size:12px}.team-box{flex-direction:column;gap:6px;display:flex}.team-box .team-btn-head{align-items:center}.team-select{max-width:170px;color:var(--gold-soft);font-weight:600}.prep-team-label{align-items:center;gap:10px;display:flex}.gear-perks{font-size:11px}.forge{gap:10px}.forge-weapon{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.forge-sig{color:var(--gold-soft);background:var(--gold-bg);border:1px solid var(--gold-line);border-radius:8px;padding:6px 8px;font-size:11px}.forge-perks{flex-direction:column;gap:6px;display:flex}.forge-perk{background:var(--card);border:1px solid var(--line-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.forge-perk.perk-epic{border-color:#3f3566}.forge-perk.perk-legendary{border-color:var(--gold-line);background:var(--gold-bg)}.forge-perk.locked{box-shadow:inset 0 0 0 1px var(--gold-soft)}.forge-rarity{flex-shrink:0;width:66px;font-size:11px;font-weight:600}.forge-perk-body{color:var(--text-2);flex-direction:column;flex:1;gap:1px;display:flex}.forge-perk-body b{color:var(--text)}.forge-perk button{white-space:nowrap;padding:4px 9px;font-size:11px}.forge-wallet{justify-content:space-between;font-size:12px;display:flex}.forge-wallet .cur-icon{vertical-align:-3px;width:16px;height:16px;display:inline-block;position:static;transform:none}.forge-reroll{background:var(--magic);color:#1c1530;border:none;padding:11px;font-weight:700}.forge-reroll:disabled{background:var(--card-2);color:var(--muted)}.forge-odds{justify-content:space-between;font-size:11px;display:flex}.forge-pity{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.forge-pity b{color:var(--enemy)}.mi-glyph.lock{color:var(--gold-soft)}#title{z-index:3000;cursor:pointer;background:#0b0a0e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#title[hidden]{display:none}.title-art{color:#6a6080;background:radial-gradient(circle at 50% 45%,#2a1f3a,#0b0a0e 70%);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.title-center{flex-direction:column;align-items:center;gap:38px;display:flex;position:relative}.title-logo{color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:11px;display:flex}.title-logo b{font-family:var(--heading);color:var(--text);font-size:64px;line-height:1}.title-start{letter-spacing:3px;color:var(--gold);font-size:18px;animation:1.8s ease-in-out infinite title-pulse}.title-version{color:var(--muted);font-size:12px;position:absolute;bottom:14px;right:18px}@keyframes title-pulse{0%,to{opacity:.35}50%{opacity:1}}.avatar{color:var(--text)}.avatar.big{width:72px;height:72px;font-size:30px}.daily-card{flex-direction:column;gap:3px;padding:7px 9px;font-size:12px;display:flex}.daily-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.daily-go{background:var(--gold);color:#1a1406;border:none;padding:3px 12px;font-size:11px;font-weight:700}.daily-card.done .daily-go{background:var(--card-2);color:var(--text-2);border:1px solid var(--line-2);font-weight:500}.daily-card .muted{font-size:11px;line-height:1.3}.daily-note{color:var(--gold-soft);font-size:10px}.daily-card.done .daily-note{color:var(--good)}.portrait.frame-glow,.hero-big-card.frame-glow{box-shadow:0 0 12px 2px var(--glow), 0 0 0 1px #0006}.portrait.frame-double{outline:1px solid var(--frame);outline-offset:2px}.hero-big-card.frame-double{outline:2px solid var(--frame);outline-offset:3px}.profile{flex-direction:row;align-items:flex-start;gap:16px}.profile-left{flex-direction:column;flex-shrink:0;gap:10px;width:260px;display:flex}.profile-right{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.profile .card{flex-direction:column;gap:6px;display:flex}.profile-id{align-items:flex-start}.profile-name{gap:6px;width:100%;display:flex}.profile-name input{flex:1;min-width:0}.profile-title{color:var(--gold-soft);font-size:12px}.profile-level{justify-content:space-between;width:100%;font-size:12px;display:flex}.showcase{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.badge{background:var(--card-2);border:1px solid var(--line-2);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:18px;display:flex}.badge i{color:var(--muted);text-align:center;font-size:9px;font-style:normal;line-height:1.1}.badge.pinned{border-color:var(--gold-line);background:var(--gold-bg);color:var(--gold-soft)}.badge.empty{opacity:.4;border-style:dashed}.stat-list{flex-direction:column;gap:3px;font-size:12px;display:flex}.stat-list>div{justify-content:space-between;display:flex}.used-list,.recent-list,.ach-list{flex-direction:column;gap:4px;display:flex}.used-row{background:var(--card);border:1px solid var(--line);border-radius:8px;grid-template-columns:90px 1fr auto;align-items:baseline;gap:8px;padding:6px 9px;font-size:12px;display:grid}.used-rate{color:var(--enemy);font-weight:600}.used-rate.good{color:var(--good)}.recent-row{background:var(--card);border:1px solid var(--line);border-radius:8px;grid-template-columns:38px 1.3fr 2fr auto;align-items:baseline;gap:8px;padding:5px 9px;font-size:11px;display:grid}.recent-result{color:var(--good);font-weight:700}.recent-row.lose .recent-result{color:var(--enemy)}.ach{background:var(--card);border:1px solid var(--line);opacity:.8;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.ach.on{opacity:1;border-color:var(--gold-line)}.ach-icon{background:var(--card-2);border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.ach.on .ach-icon{background:var(--gold-bg);color:var(--gold-soft)}.ach-body{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:12px;display:flex}.ach-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ach-head .muted{font-size:11px}.ach-foot{align-items:center;gap:8px;font-size:11px;display:flex}.ach-foot .bar{flex:1;min-width:60px}.ach-reward{gap:8px;font-size:10px;display:flex}.ach-actions{flex-direction:column;gap:4px;display:flex}.ach-actions button{padding:3px 10px;font-size:11px}.ach-new{color:var(--gold-soft);font-size:12px}.cosmetics{flex-direction:row;align-items:flex-start;gap:16px}.cos-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.cos-tabs{flex-wrap:wrap;gap:6px;display:flex}.cos-tab{padding:5px 10px;font-size:12px}.cos-tab.on{background:var(--gold-bg);border-color:var(--gold-line);color:var(--gold-soft)}.cos-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.cos-item{text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px;font-size:12px;display:flex}.cos-item.locked{opacity:.6}.cos-item.picked{border-color:var(--gold)}.cos-item.equipped{border-color:var(--good)}.cos-item .muted{font-size:10px;line-height:1.25}.cos-owned{color:var(--text-2);font-size:10px}.cos-on{color:var(--good);font-size:10px;font-weight:600}.cos-swatch{place-items:center;height:46px;display:grid}.cos-swatch i{place-items:center;font-style:normal;display:grid}.sw-frame{border:3px solid var(--frame,#6aa8ff);width:34px;height:42px;box-shadow:0 0 8px var(--glow);border-radius:6px}.sw-frame.frame-double{outline-offset:2px;outline:1px solid #6aa8ff}.sw-back{background:radial-gradient(circle at 50% 40%,#4d6fc0,#12141c 75%);border-radius:6px;width:34px;height:42px}.sw-bg{border:1px solid var(--line-2);border-radius:6px;width:64px;height:38px}.sw-num{font-family:var(--heading);font-size:20px;font-weight:700}.sw-av{border:2px solid;border-radius:10px;width:40px;height:40px;font-size:20px}.sw-title{color:var(--gold-soft);font-size:11px}.sw-skin{width:38px;height:38px;font-family:var(--heading);background:#2a3b30;border-radius:8px;font-size:18px}.cos-side{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex-shrink:0;gap:10px;width:250px;padding:14px;display:flex}.pv-card{justify-content:center;padding:34px 0 10px;display:flex}.pv-card .hero-big-card{--w:130px}.pv-field{border:1px solid var(--line-2);border-radius:8px;justify-content:center;align-items:center;gap:10px;height:54px;display:flex;position:relative}.pv-hint{color:var(--muted);font-size:8px;position:absolute;top:3px;left:6px}.pv-num{font-family:var(--heading);font-weight:700}.pv-id{align-items:center;gap:10px;font-size:13px;display:flex}.cos-action{display:flex}.cos-action button{flex:1}.ranks-note{flex-direction:column;gap:4px;display:flex}.best-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.best-grid>div{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;font-size:12px;display:flex}.best-grid b{font-family:var(--heading);color:var(--gold-soft);font-size:20px}.mastery-card{gap:6px}.mastery-steps{flex-wrap:wrap;gap:4px;display:flex}.mstep{border:1px dashed var(--line-2);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:10px}.mstep.on{border-style:solid;border-color:var(--good);color:var(--good)}.story-list{flex-direction:column;gap:5px;display:flex}.story{background:var(--card);border:1px solid var(--line);color:var(--text-2);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.story b{color:var(--text)}.story.locked{opacity:.55;border-style:dashed}.account-box{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12px;display:flex}button{transition:transform var(--glow-ms,.14s) ease, box-shadow var(--glow-ms,.14s) ease, border-color var(--glow-ms,.14s) ease, filter var(--glow-ms,.14s) ease}button:hover:not(:disabled){box-shadow:0 0 12px #f2b84b47}button.primary:hover:not(:disabled){box-shadow:0 0 18px #f2b84b8c}button.danger:hover:not(:disabled){box-shadow:0 0 12px #f0956f4d}button:active:not(:disabled){transform:translateY(1px) scale(var(--press-scale,.97));transition-duration:40ms}.menu-btn:hover:not(:disabled),.stage-tile:hover:not(:disabled),.saved-team:hover:not(:disabled),.cos-item:hover:not(:disabled),.hero-card:hover{box-shadow:0 0 12px #6aa8ff47}#screen.screen-in{animation:screen-in var(--screen-fade,.22s) ease-out}@keyframes screen-in{0%{opacity:0;transform:translateY(var(--screen-slide,14px))}to{opacity:1;transform:none}}#title.leaving{opacity:0;transition:opacity calc(var(--screen-fade,.22s) * 2) ease;pointer-events:none}.results-box{animation:.26s ease-out results-in}@keyframes results-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.drop-in{animation:.52s cubic-bezier(.2,1.3,.4,1) both banner-drop}@keyframes banner-drop{0%{opacity:0;transform:translateY(-26px)scale(1.18)}to{opacity:1;transform:none}}.results-banner.win .results-kicker{text-shadow:0 0 14px #f2b84b99}.pop{opacity:0;animation:.32s cubic-bezier(.2,1.4,.4,1) forwards reward-pop;animation-delay:calc(var(--i,0) * var(--reward-step,.16s) + .3s)}@keyframes reward-pop{0%{opacity:0;transform:translateY(8px)scale(.85)}to{opacity:1;transform:none}}.burst{z-index:81;pointer-events:none;width:0;height:0;position:absolute}.burst i{opacity:0;width:6px;height:6px;animation:burst-rise var(--burst-ms,.9s) cubic-bezier(.2, .7, .3, 1) forwards;border-radius:1px;position:absolute;top:-3px;left:-3px;transform:rotate(45deg);box-shadow:0 0 8px 1px}@keyframes burst-rise{0%{opacity:0;transform:translate(var(--sx), var(--sy)) rotate(45deg) scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(calc(var(--sx) + var(--dx)), calc(var(--sy) + var(--dy))) rotate(225deg) scale(.7)}}.cel-ring{z-index:80;pointer-events:none;opacity:0;border:2px solid var(--c);box-shadow:0 0 14px 2px var(--c), inset 0 0 12px 1px var(--c);animation:cel-ring var(--ring-ms,.8s) cubic-bezier(.1, .7, .3, 1) forwards;border-radius:12px;position:absolute}@keyframes cel-ring{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.cel-label{z-index:82;pointer-events:none;white-space:nowrap;font-family:var(--heading);letter-spacing:1px;color:var(--c);text-shadow:0 0 12px var(--c), 0 2px 4px #000c;animation:cel-label var(--label-ms,1.3s) ease-out forwards;font-size:22px;font-weight:700;position:absolute;transform:translate(-50%,-100%)}@keyframes cel-label{0%{opacity:0;transform:translate(-50%,-60%)scale(.6)}18%{opacity:1;transform:translate(-50%,-110%)scale(1.15)}30%{transform:translate(-50%,-110%)scale(1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}@media (prefers-reduced-motion:reduce){#screen.screen-in,.results-box,.drop-in,.pop,.cel-ring,.cel-label,.burst i{animation-duration:1ms!important;animation-delay:0s!important}button:active:not(:disabled){transform:none}}#devbar{z-index:2000;border:1px solid var(--gold-line);background:#0e1016f5;border-right:none;border-radius:10px 0 0 10px;flex-direction:column;gap:5px;width:132px;padding:8px;font-size:11px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-6px 0 22px #0000008c}#devbar.collapsed{width:auto;box-shadow:none;background:0 0;border:none;padding:0}#devbar .dev-tab{letter-spacing:1px;background:var(--gold-bg);color:var(--gold-soft);border-color:var(--gold-line);border-radius:8px 0 0 8px;padding:6px 8px;font-size:10px}#devbar .dev-head{color:var(--gold-soft);letter-spacing:1px;justify-content:space-between;align-items:center;display:flex}#devbar .dev-head .dev-tab{border-radius:6px;padding:1px 7px}#devbar select{background:var(--card-2);width:100%;color:var(--text);border:1px solid var(--line-2);border-radius:6px;padding:4px 6px;font-size:12px}#devbar .dev-now{color:var(--text-2);line-height:1.35}#devbar .dev-label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px}#devbar .dev-row{gap:4px;display:flex}#devbar .dev-row button{border-color:var(--c,var(--line-2));color:var(--c,var(--text));background:var(--card);flex:1;padding:5px 2px;font-size:11px}#devbar .dev-row button i{font-style:normal}#devbar .dev-row button.on{background:var(--c);color:#0e1016;font-weight:700}#devbar>button{padding:5px;font-size:11px}#devbar .dev-hint{color:var(--muted);font-size:10px}#devbar .dev-group{margin:2px 0 -2px;font-size:10px}.codex-wrap{gap:8px;height:100%}.codex{flex:1;place-items:start center;min-height:0;display:grid;overflow:hidden;container-type:size}.codex-grid{grid-template-columns:repeat(var(--cols), var(--size));grid-auto-rows:var(--size);--size:min(100cqw / var(--cols), 100cqh / var(--rows));display:grid}.codex-icon{width:var(--size);height:var(--size);display:block}.codex-icon .portrait{border-width:2px;border-radius:6px;width:100%;height:100%}.codex-icon .gear-icon{width:calc(100% - 6px);height:calc(100% - 6px);font-size:calc(var(--size) * .45);margin:3px}.codex-icon.dark{filter:brightness(.35)grayscale(.6)}.codex-nav{justify-content:center;align-items:center;gap:14px;display:flex}.gear-tabs{flex-shrink:0}.gear-tabs button{flex:1}.gear-middle{grid-template-columns:96px 1fr 96px;align-items:center;gap:8px;display:grid}.gear-col{flex-direction:column;align-items:center;gap:14px;display:flex}.gear-slot{background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex}.gear-slot:hover:not(:disabled){background:0 0}.gear-slot.on .gear-sq{box-shadow:0 0 14px 2px}.gear-slot.on{border-color:var(--gold-line);background:var(--gold-bg)}.gear-slot-lv{color:var(--text-2);font-size:11px;font-weight:700}.gear-sq{background:var(--card-2);border:3px solid;border-radius:12px;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 0 8px #00000080,inset 0 0 12px #0006}.gear-sq.big{width:84px;height:84px}.gear-sq-glyph{color:currentColor;font-size:28px;line-height:1}.gear-sq.empty{color:var(--muted);border:2px dashed var(--line-2);box-shadow:none;opacity:.55;background:0 0}.gear-sq.empty .gear-sq-glyph{opacity:.45}.gear-hero{background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.gear-stage{justify-content:center;align-items:center;gap:4px;width:100%;min-height:290px;padding-top:40px;display:flex;position:relative}.gear-hero-art{z-index:2;background:0 0;flex-shrink:0;align-items:flex-end;padding-top:0;display:flex;position:relative}.gear-hero-art .hero-big-card{--w:150px}.gear-pedestal{z-index:1;pointer-events:none;width:270px;height:270px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)}.gear-ring{border:2px solid var(--frame);opacity:.7;background:radial-gradient(circle, transparent 46%, color-mix(in srgb, var(--frame) 28%, transparent) 70%, transparent 72%);box-shadow:0 0 40px 4px color-mix(in srgb, var(--frame) 45%, transparent), inset 0 0 40px color-mix(in srgb, var(--frame) 35%, transparent);border-radius:50%;position:absolute;inset:0}.gear-platform{border:2px solid var(--frame);background:radial-gradient(ellipse at center, color-mix(in srgb, var(--frame) 40%, #0b0d12) 0%, #0b0d12 75%);width:210px;height:44px;box-shadow:0 0 22px 2px color-mix(in srgb, var(--frame) 55%, transparent);border-radius:50%;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.gear-arrow{z-index:3;border-radius:10px;flex-shrink:0;width:34px;height:56px;padding:0;font-size:26px;line-height:1;position:relative}.gear-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.gear-actions{gap:10px;display:flex}.gear-actions button{flex:1;padding:10px}.gear-confirm{background:var(--card);border:1px solid var(--enemy);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.gear-confirm span{flex:1}.gear-enhance{flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.gear-enhance-stats{gap:4px;width:100%;max-width:240px;font-size:13px;display:grid}.gear-enhance-stats>div{justify-content:space-between;display:flex}.bag-filters{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.bag-filters .seg{flex-wrap:wrap;align-items:center}.bag-body{grid-template-columns:1fr 240px;align-items:start;gap:12px;display:grid}.bag-grid{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.bag-item{background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex}.bag-item.on{border-color:var(--gold-line);background:var(--gold-bg)}.bag-item .gear-sq{width:54px;height:54px}.bag-detail{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:12px;font-size:12px;display:flex}.bag-detail-head{align-items:center;gap:10px;display:flex}.bag-detail-head .gear-sq{flex-shrink:0;width:48px;height:48px}.frag-list{flex-direction:column;gap:6px;display:flex}.frag-row{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:6px 10px;display:flex}.frag-row.none{opacity:.6}.frag-row .gear-sq{flex-shrink:0;width:44px;height:44px}.frag-row .gear-sq-glyph{font-size:20px}.frag-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.frag-bar{background:var(--card-2);border-radius:3px;height:6px;overflow:hidden}.frag-bar i{background:var(--gold);height:100%;display:block}.frag-count{text-align:right;min-width:64px;font-size:13px}.gear-hero-art{width:auto;height:auto}.frag-list{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.frag-row{gap:8px;padding:5px 8px}.frag-row .gear-sq{width:38px;height:38px}.frag-count{min-width:54px;font-size:12px}.frag-row button{padding:5px 10px}.char-screen{gap:8px;height:100%}.char-tools{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.char-count{color:var(--text-2);margin-right:auto;font-size:13px}.char-count b{color:var(--text);font-size:15px}.char-sort{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.char-tools .seg{gap:4px}.char-tools .seg button{padding:5px 10px;font-size:12px}.char-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.char-row{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);touch-action:auto;border-radius:12px;flex-shrink:0;grid-template-columns:56px minmax(120px,1.3fr) 56px 120px minmax(110px,1fr) 200px;align-items:center;gap:12px;width:100%;height:auto;padding:6px 12px 6px 6px;display:grid}.char-row:hover:not(.locked){border-color:var(--gold-line);background:var(--gold-bg)}.char-row-art{width:56px;height:56px;display:block;position:relative}.char-row-name{flex-direction:column;gap:1px;min-width:0;display:flex}.char-row-name b{font-size:15px}.char-row-name .muted{font-size:11px}.char-row-lv{color:var(--gold-soft);font-size:13px;font-weight:700}.char-row-stats{color:var(--text-2);flex-direction:column;gap:1px;font-size:12px;display:flex}.char-row-stats b{color:var(--text)}.char-row-tags{color:var(--text-2);font-size:12px}.char-row-end{justify-content:flex-end;align-items:center;gap:6px;display:flex}.char-row-power{text-align:right;min-width:54px;color:var(--gold-soft);font-size:14px;font-weight:700}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.team-badge{background:var(--good-bg,#8fd19e26);color:var(--good);border:1px solid var(--good)}.rankup-badge{background:var(--gold-bg);color:var(--gold-soft);border:1px solid var(--gold-line)}.char-row.locked{opacity:.45;filter:grayscale();cursor:default;grid-template-columns:56px minmax(120px,1.3fr) 1fr}.char-lock{border:2px solid var(--line-2);background:var(--card-2);border-radius:8px;place-items:center;width:100%;height:100%;font-size:22px;display:grid}.shard-icon{width:var(--s,26px);height:var(--s,26px);flex-shrink:0;place-items:center;display:inline-grid;position:relative}.shard-icon i{background:linear-gradient(160deg, #fff8 0%, var(--c) 45%, #0008 100%);clip-path:polygon(50% 0,100% 35%,80% 100%,20% 100%,0 35%);width:16px;height:20px;filter:drop-shadow(0 0 4px var(--c))}img.shard-icon{object-fit:contain}.inv-filters{margin-bottom:4px}.shard-row{gap:14px}.shard-who{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.forge-progress{align-items:center;gap:8px;width:220px;display:flex}.forge-progress .frag-bar{flex:1}.forge-count{text-align:right;min-width:56px;color:var(--text-2);font-size:12px}.forge-count.ready{color:var(--good)}button.forge-ready{box-shadow:0 0 12px #f2b84b8c}.char-tabs{flex-shrink:0}.char-tabs button{flex:1}.char-row.locked{opacity:1;filter:none;grid-template-columns:56px minmax(120px,1.3fr) 1fr auto}.char-row.locked .char-row-art,.char-row.locked .char-row-name,.char-row.locked .unlock-how{opacity:.45;filter:grayscale()}.locked-forge{align-items:center;gap:8px;display:flex}.copy-group{align-items:center;gap:10px;padding:4px 4px 0;display:flex}.copy-group button{margin-left:auto;padding:3px 8px;font-size:11px}.copy-row{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-shrink:0;grid-template-columns:56px minmax(120px,1.3fr) 1fr 28px;align-items:center;gap:12px;padding:6px 12px 6px 6px;display:grid}.copy-row:hover,.copy-row.on{border-color:var(--gold-line);background:var(--gold-bg)}.copy-art{width:56px;height:56px;display:block;position:relative}.copy-art .portrait{border-color:var(--rar)}.copy-art .lv-chip{z-index:3;padding:0 3px;font-size:9px;position:absolute;bottom:2px;right:2px}.copy-name{flex-direction:column;gap:1px;display:flex}.copy-stats{color:var(--text-2);gap:14px;font-size:12px;display:flex}.copy-stats b{color:var(--text)}.copy-row input{width:18px;height:18px;accent-color:var(--gold)}.char-selected{color:var(--text-2);font-size:13px}.char-selected button{margin-left:6px;padding:2px 8px;font-size:11px}.copy-warning{border:1px solid var(--enemy);background:var(--card);color:var(--enemy);border-radius:10px;padding:8px 12px;font-size:12px}.copy-warning button{margin-left:8px}.copy-bar{border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding-top:6px;display:flex}.copy-bar .muted{margin-right:auto}.copy-bar button{padding:8px 22px}.copy-confirm{background:var(--panel);border:1px solid var(--gold-line);border-radius:12px;flex-direction:column;flex-shrink:0;gap:8px;padding:12px;font-size:13px;display:flex}.copy-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-line{align-items:center;gap:8px;display:flex}.storage-screen{flex:1;gap:8px;min-height:0;padding:0}.down{color:var(--enemy)}.reveal-box{text-align:center;align-items:center;min-width:340px}.reveal-stage{place-items:center;width:240px;height:270px;margin:10px 0;display:grid;position:relative}.reveal-glow{background:radial-gradient(circle, var(--c) 0%, transparent 68%);opacity:0;border-radius:50%;width:230px;height:230px;animation:1.1s ease-out .2s forwards reveal-glow;position:absolute}.reveal-card{z-index:2;opacity:0;animation:.9s cubic-bezier(.2,.8,.3,1.2) .15s forwards reveal-card;position:relative;transform:scale(.3)rotateY(90deg)}.reveal-card .hero-big-card{--w:150px;border-color:var(--c);box-shadow:0 0 26px 4px var(--c)}.reveal-spark{background:var(--c);opacity:0;width:7px;height:7px;box-shadow:0 0 8px var(--c);animation:1s ease-out .45s forwards reveal-spark;position:absolute;top:50%;left:50%;transform:rotate(45deg)}@keyframes reveal-card{0%{opacity:0;transform:scale(.3)rotateY(90deg)}60%{opacity:1;transform:scale(1.1)rotateY(0)}to{opacity:1;transform:scale(1)rotateY(0)}}@keyframes reveal-glow{0%{opacity:0;transform:scale(.4)}50%{opacity:.9}to{opacity:.45;transform:scale(1.1)}}@keyframes reveal-spark{0%{opacity:0;transform:rotate(var(--a)) translateX(30px) rotate(45deg) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateX(calc(120px + var(--d) * 22px)) rotate(45deg) scale(.9)}}@media (prefers-reduced-motion:reduce){.reveal-card,.reveal-glow,.reveal-spark{animation-duration:1ms!important;animation-delay:0s!important}}#devbar button.on{background:var(--gold-bg);border-color:var(--gold-line);color:var(--gold-soft)}.gear-relic{background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;margin-top:4px;padding:4px 10px;display:flex}.relic-orb{border:3px solid var(--c,var(--line-2));background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--c,#6a7080) 55%, #1a1d26), #10131a 70%);width:72px;height:72px;box-shadow:0 0 22px 3px color-mix(in srgb, var(--c,#6a7080) 60%, transparent);border-radius:50%;place-items:center;animation:2.4s ease-in-out infinite relic-glow;display:grid}.relic-orb b{color:var(--c,var(--muted));text-shadow:0 0 10px var(--c,transparent);font-size:30px;line-height:1}.relic-orb.big{flex-shrink:0;width:64px;height:64px}.gear-relic.locked .relic-orb{--c:#50566a;box-shadow:none;opacity:.55;animation:none}.gear-relic.empty .relic-orb{--c:#7a8196;box-shadow:0 0 14px 1px #7a819666}.gear-relic.awakened .relic-orb{box-shadow:0 0 30px 6px var(--c)}@keyframes relic-glow{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}@media (prefers-reduced-motion:reduce){.relic-orb{animation:none}}.relic-panel{align-items:stretch;gap:8px}.relic-head{align-items:center;gap:12px;display:flex}.relic-passive{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px}.relic-actions{flex-direction:column;gap:6px;display:flex}.gear-option.blocked{opacity:.55}.gear-blocked{color:var(--enemy);font-size:11px}.gear-stats.main{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-stats.main>div b{font-size:20px}.gear-stats.sub{grid-template-columns:repeat(3,minmax(0,1fr))}.gear-stats.sub>div{padding:4px 8px}.gear-stats.sub>div b{font-size:13px}.shard-icon.art{display:block}.shard-base{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.shard-face{-webkit-mask-image:var(--mask);-webkit-mask-image:var(--mask);mask-image:var(--mask);pointer-events:none;position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%}.shard-face-art{display:block;position:absolute;overflow:hidden}.shard-face-art .portrait-img{max-width:none;height:auto;position:absolute}.shard-face:after{content:"";background:rgba(110, 170, 255, var(--glass,.12));position:absolute;inset:0}.stat-icon{object-fit:contain;vertical-align:-4px;width:18px;height:18px;margin-right:3px}.stat-name{align-items:center;gap:2px;display:inline-flex}.char-row-stats .stat-icon,.copy-stats .stat-icon{vertical-align:-3px;width:16px;height:16px}.title-logo.small b{font-size:40px}.auth-box{border:1px solid var(--line);text-align:center;background:#121018db;border-radius:16px;flex-direction:column;align-items:stretch;gap:10px;width:380px;padding:20px 22px;display:flex}.auth-title{font-family:var(--heading);color:var(--text);font-size:22px}.auth-row{gap:8px;display:flex}.auth-row>button{flex:1}.auth-field{text-align:left;color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.auth-field input{box-sizing:border-box;width:100%}.auth-error{color:#ff8f86;font-size:13px}.auth-note{color:var(--gold);font-size:13px}.auth-hint{font-size:11px}.auth-link{color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.auth-saves{gap:10px;display:flex}.auth-save{text-align:left;flex-direction:column;flex:1;gap:4px;padding:10px;font-size:12px;display:flex}.auth-save b{font-size:14px}.auth-save button{margin-top:6px}.title-center:has(.auth-box){gap:22px}.auth-pass{gap:6px;display:flex}.auth-pass input{flex:1;min-width:0}.auth-pass button{flex:none;width:58px;padding-left:0;padding-right:0;font-size:12px}.auth-or{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.player-who{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:10px;padding:2px 4px;display:flex}.player-who:hover{background:#ffffff0f}.player-who>span:last-child{flex-direction:column;min-width:0;display:flex}.player-menu{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:10px;font-size:12px;display:flex}.linked-yes{color:#7fd08a;font-size:13px}.confirm-box.plain{background:var(--card);border-color:var(--line)}.title-art{background:#0b0a0e;overflow:hidden}.title-art img{object-fit:cover;object-position:center;width:100%;height:100%}.title-art.dim:after{content:"";background:#06050c8c;position:absolute;inset:0}.title-logo-img{filter:drop-shadow(0 4px 18px #0009);width:min(560px,70vw);height:auto}.title-start{font-family:var(--title-font);letter-spacing:6px;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 10px #000;background:linear-gradient(90deg,#0000,#e8b65c8c 35% 65%,#0000) top/100% 1px no-repeat,linear-gradient(90deg,#0000,#e8b65c8c 35% 65%,#0000) bottom/100% 1px no-repeat,linear-gradient(90deg,#0000,#08060ccc 38% 62%,#0000);border-radius:0;padding:12px 140px;font-size:20px;font-weight:700;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}.title-logo-img.top{width:min(780px,62vw,105vh);position:absolute;top:5%;left:50%;transform:translate(-50%)}.title-art img{object-position:50% 100%}.title-logo-img.top{width:min(1000px,58vw,120vh);top:4%}.title-start{bottom:17%}.title-logo-img.top{width:auto;max-width:90vw;height:min(34vh,360px)}.title-center .title-logo-img:not(.top){width:auto;max-width:80vw;height:min(18vh,170px)}.title-art{isolation:isolate}.title-art:before{content:"";z-index:-1;background:var(--fill) center / cover;filter:blur(28px)brightness(.55);position:absolute;inset:-40px}.title-art img{object-fit:cover;object-position:50% 85%;width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0}.title-fx{mix-blend-mode:screen;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.title-fx-flame,.title-fx-near{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.title-logo-img.top{height:min(24vh,250px);top:17%}.title-center:has(.auth-box){position:absolute;top:17vh;left:50%;transform:translate(-50%)}.title-center .title-logo-img:not(.top){height:min(12.6vh,120px)}@keyframes title-logo-glow{0%{filter:drop-shadow(0 4px 18px #0009)drop-shadow(0 0 8px #ff8c2847)}to{filter:drop-shadow(0 4px 18px #0009)drop-shadow(0 0 22px #ff9632b3)}}.title-logo-img{animation:3.2s ease-in-out infinite alternate title-logo-glow}@media (prefers-reduced-motion:reduce){.title-logo-img{filter:drop-shadow(0 4px 18px #0009)drop-shadow(0 0 14px #ff912d73);animation:none}}#comic{z-index:2500;cursor:pointer;-webkit-user-select:none;user-select:none;background:#07060b;place-items:center;display:grid;position:fixed;inset:0}#comic[hidden]{display:none}#comic.leaving{opacity:0;transition:opacity var(--c-turn,.3s) ease;pointer-events:none}.comic-stage{place-items:center;display:grid;position:absolute;inset:0}.comic-frame{aspect-ratio:16/9;perspective:1800px;width:min(100vw,177.78vh);position:relative;container-type:inline-size}.comic-book{position:absolute;inset:0}.comic-page{background:#f1e8d4;position:absolute;inset:0;box-shadow:0 0 5cqw #000000b3}.comic-page.turn-flip{transform-origin:0;animation:comic-flip var(--c-turn) ease both}.comic-page.turn-fade{animation:comic-fade var(--c-turn) ease both}.comic-panel{box-sizing:border-box;opacity:0;visibility:hidden;background:#1a1624;border:.35cqw solid #15110f;position:absolute;overflow:visible}.comic-panel.shown{opacity:1;visibility:visible}.comic-art{background:linear-gradient(135deg,#2a2440,#171320);position:absolute;inset:0;overflow:hidden}.comic-art img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.comic-ph{color:#8e86a8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4cqw;font-size:1.5cqw;display:flex;position:absolute;inset:0}.comic-ph b{color:#b6aed0;font-size:1.9cqw}.comic-ph i{font-style:normal}.comic-panel.anim-fade.shown{animation:comic-fade var(--c-panel) ease both}.comic-panel.anim-slideLeft.shown{animation:comic-slide-left var(--c-panel) cubic-bezier(.2, .8, .2, 1) both}.comic-panel.anim-slideUp.shown{animation:comic-slide-up var(--c-panel) cubic-bezier(.2, .8, .2, 1) both}.comic-panel.anim-pan.shown{animation:comic-fade var(--c-panel) ease both}.comic-panel.anim-pan.shown .comic-art img,.comic-panel.anim-pan.shown .comic-ph{animation:comic-pan var(--c-pan) ease-out both}.comic-panel.anim-shake.shown{animation:comic-fade var(--c-panel) ease both, comic-shake var(--c-shake) ease-out both}.comic-panel.instant,.comic-panel.instant .comic-art img,.comic-panel.instant .comic-ph{animation:none!important}.comic-caption{color:#1c1713;font:italic 600 1.55cqw/1.3 var(--heading,serif);opacity:0;background:#f1e8d4f2;border:.2cqw solid #15110f;padding:.7cqw 1cqw;position:absolute;left:3%;right:3%}.comic-caption.at-top{top:3%}.comic-caption.at-bottom{bottom:3%}.comic-panel.shown .comic-caption{animation:comic-fade var(--c-bubble) ease both;animation-delay:calc(var(--c-panel) + var(--c-bubble-delay))}.comic-panel.instant .comic-caption,.comic-panel.instant .comic-bubble{opacity:1;transform:translate(-50%,-50%);animation:none!important}.comic-panel.instant .comic-caption{transform:none}.comic-bubble{color:#1c1713;max-width:62%;font:700 1.6cqw/1.25 var(--heading,sans-serif);text-align:center;opacity:0;--bg:#fffdf6;background:#fffdf6;border:.22cqw solid #15110f;border-radius:1.6cqw;padding:.8cqw 1.2cqw;position:absolute;transform:translate(-50%,-50%)}.comic-bubble:after{content:"";border:.75cqw solid #0000;position:absolute}.comic-bubble.tail-none:after{display:none}.comic-bubble.tail-down:after{border-top-color:#15110f;border-bottom:0;top:100%;left:50%;transform:translate(-50%)}.comic-bubble.tail-up:after{border-top:0;border-bottom-color:#15110f;bottom:100%;left:50%;transform:translate(-50%)}.comic-bubble.tail-left:after{border-left:0;border-right-color:#15110f;top:50%;right:100%;transform:translateY(-50%)}.comic-bubble.tail-right:after{border-left-color:#15110f;border-right:0;top:50%;left:100%;transform:translateY(-50%)}.comic-bubble.thought{border-radius:50%;padding:1.4cqw 1.8cqw;font-style:italic}.comic-bubble.shout{text-transform:uppercase;background:#ffe27a;border-width:.3cqw;border-radius:.6cqw;font-size:2.1cqw;transform:translate(-50%,-50%)rotate(-2deg)}.comic-speaker{letter-spacing:.06em;text-transform:uppercase;color:#8a4b1c;margin-bottom:.2cqw;font-size:1.1cqw;display:block}.comic-panel.shown .comic-bubble{animation:comic-pop var(--c-bubble) cubic-bezier(.2, 1.5, .4, 1) both;animation-delay:calc(var(--c-panel) + var(--c-bubble-delay) + var(--i) * var(--c-bubble-gap))}.comic-skip,.comic-back{z-index:2;color:#e9e4f5;cursor:pointer;background:#0e0c14cc;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:13px;position:absolute}.comic-skip{top:14px;right:16px}.comic-back{bottom:14px;left:16px}.comic-back:disabled{opacity:.35;cursor:default}.comic-dots{z-index:2;gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.comic-dots i{background:#ffffff40;border-radius:50%;width:8px;height:8px}.comic-dots i.past{background:#ffffff8c}.comic-dots i.on{background:var(--gold,#f2c14b);box-shadow:0 0 8px var(--gold,#f2c14b)}.comic-hint{color:#fff6;font-size:12px;position:absolute;bottom:14px;right:18px}.story-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.story-row{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}@keyframes comic-fade{0%{opacity:0}to{opacity:1}}@keyframes comic-slide-left{0%{opacity:0;transform:translate(8%)}to{opacity:1;transform:none}}@keyframes comic-slide-up{0%{opacity:0;transform:translateY(10%)}to{opacity:1;transform:none}}@keyframes comic-pan{0%{transform:scale(1.14)translate(-3%)}to{transform:scale(1)translate(0)}}@keyframes comic-shake{0%{transform:translate(0)}15%{transform:translate(-1.2%,.6%)}30%{transform:translate(1.1%,-.8%)}45%{transform:translate(-.8%,-.5%)}60%{transform:translate(.7%,.5%)}80%{transform:translate(-.3%,.2%)}to{transform:none}}@keyframes comic-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes comic-flip{0%{opacity:.3;transform:rotateY(-75deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.comic-panel,.comic-panel .comic-art img,.comic-panel .comic-ph,.comic-page{animation:none!important}.comic-panel.shown .comic-bubble,.comic-panel.shown .comic-caption{opacity:1;animation:none!important}}.auth-box .auth-google{color:#1f1f1f;letter-spacing:.25px;background:#fff;border:1px solid #747775;border-radius:999px;justify-content:center;align-items:center;gap:10px;height:42px;padding:0 14px;font:500 14px/1 Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.auth-box .auth-google:hover{background:#f2f2f2;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.auth-box .auth-google:active{background:#e8e8e8}.auth-google .google-g{flex:none;width:18px;height:18px}.auth-box .auth-discord{color:#fff;letter-spacing:.25px;background:#5865f2;border:1px solid #5865f2;border-radius:999px;justify-content:center;align-items:center;gap:10px;height:42px;padding:0 14px;font:500 14px/1 Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.auth-box .auth-discord:hover{background:#4752c4;border-color:#4752c4}.auth-discord .discord-mark{flex:none;width:20px;height:16px}#net-status{z-index:4000;border:1px solid var(--gold);color:var(--gold-soft);pointer-events:none;background:#14100ceb;border-radius:999px;padding:8px 16px;font-size:13px;position:fixed;top:10px;left:50%;transform:translate(-50%)}#net-status[hidden]{display:none}#kicked{z-index:4100;background:#06050cd1;place-items:center;display:grid;position:fixed;inset:0}#kicked[hidden]{display:none}#kicked .card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:22px 26px;display:flex}:is(#tutorial,#guide){z-index:2400;pointer-events:none;position:fixed;inset:0}:is(#tutorial,#guide)[hidden]{display:none}:is(#tutorial,#guide) .tut-block{background:rgba(4, 3, 8, var(--tut-dim,.68));pointer-events:auto;width:0;height:0;position:fixed}:is(#tutorial,#guide):not(.dimmed) .tut-block,:is(#tutorial,#guide):not(.dimmed) .tut-hole,:is(#tutorial,#guide):not(.dimmed) .tut-box,:is(#tutorial,#guide):not(.dimmed) .tut-catch{display:none}:is(#tutorial,#guide) .tut-hole{border:2px solid var(--gold,#f2c14b);pointer-events:none;border-radius:10px;animation:1.4s ease-in-out infinite tut-pulse;position:fixed;box-shadow:0 0 18px #f2c14bb3,inset 0 0 12px #f2c14b4d}:is(#tutorial,#guide) .tut-catch{pointer-events:auto;cursor:pointer;position:fixed}:is(#tutorial,#guide) .tut-catch[hidden]{display:none}:is(#tutorial,#guide) .tut-box{color:#f1ecfa;border:1px solid var(--gold-line,#6b5520);pointer-events:auto;background:#1a1624;border-radius:12px;flex-direction:column;gap:10px;max-width:340px;padding:14px 16px;font-size:14px;line-height:1.45;display:flex;position:fixed;box-shadow:0 10px 30px #0009}:is(#tutorial,#guide) .tut-next{align-self:flex-end}:is(#tutorial,#guide) .tut-next[hidden]{display:none}:is(#tutorial,#guide) .tut-arrow{border:1px solid var(--gold-line,#6b5520);background:#1a1624;width:14px;height:14px;position:absolute;transform:rotate(45deg)}:is(#tutorial,#guide) .tut-box[data-arrow=up] .tut-arrow{border-bottom:0;border-right:0;margin-left:-7px;top:-8px}:is(#tutorial,#guide) .tut-box[data-arrow=down] .tut-arrow{border-top:0;border-left:0;margin-left:-7px;bottom:-8px}:is(#tutorial,#guide) .tut-box[data-arrow=left] .tut-arrow{border-top:0;border-right:0;margin-top:-7px;left:-8px}:is(#tutorial,#guide) .tut-box[data-arrow=right] .tut-arrow{border-bottom:0;border-left:0;margin-top:-7px;right:-8px}:is(#tutorial,#guide) .tut-box[data-arrow=none] .tut-arrow{display:none}:is(#tutorial,#guide) .tut-box[data-arrow=up] .tut-arrow,:is(#tutorial,#guide) .tut-box[data-arrow=down] .tut-arrow{top:auto}:is(#tutorial,#guide) .tut-box[data-arrow=up] .tut-arrow{top:-8px}:is(#tutorial,#guide) .tut-skip{color:#e9e4f5;pointer-events:auto;cursor:pointer;background:#0e0c14d9;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:13px;position:fixed;top:14px;right:16px}@keyframes tut-pulse{0%,to{box-shadow:0 0 12px #f2c14b80,inset 0 0 10px #f2c14b40}50%{box-shadow:0 0 26px #f2c14be6,inset 0 0 14px #f2c14b66}}@media (prefers-reduced-motion:reduce){:is(#tutorial,#guide) .tut-hole{animation:none}}.red-dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--panel,#12101a), 0 0 8px #e0443acc;pointer-events:none;background:#e0443a;border-radius:50%;position:absolute;top:4px;right:6px}.menu-btn{position:relative}.events{flex-direction:row;align-items:stretch;gap:14px;min-height:100%}.ev-tabs{flex-direction:column;flex:none;gap:6px;width:190px;display:flex}.ev-tab{text-align:left;justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:relative}.ev-tab span{flex-direction:column;gap:2px;display:flex}.ev-tab i{color:var(--muted);font-size:11px;font-style:normal}.ev-tab.on{border-color:var(--gold);color:var(--gold-soft)}.ev-tab .red-dot{flex:none;position:static}.ev-body{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.ev-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ev-head>div{flex-direction:column;gap:3px;display:flex}.ev-title{font-family:var(--heading);font-size:20px}.ev-time{white-space:nowrap;border:1px solid var(--line);background:#0000004d;border-radius:999px;padding:5px 10px;font-size:13px}.ev-time b{color:var(--gold-soft)}.ev-bar{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:10px 26px 26px 14px;display:flex}.ev-bar-label{font-size:13px}.ev-track{background:#ffffff12;border-radius:999px;height:10px;margin:18px 0 0;position:relative}.ev-fill{background:linear-gradient(90deg, #b8742f, var(--gold));border-radius:999px;height:100%;transition:width .4s}.ev-chest{border:1px solid var(--line);background:#1d1a26;border-radius:10px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:50%;overflow:visible;transform:translate(-50%,-50%)}.ev-chest-box{font-size:18px}.ev-chest-day{color:var(--muted);margin-top:4px;font-size:11px;position:absolute;top:100%}.ev-chest.ready{border-color:var(--gold);cursor:pointer;animation:1.6s ease-in-out infinite ev-glow}.ev-chest:disabled{opacity:1}.ev-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.ev-grid.small{grid-template-columns:repeat(7,minmax(0,110px))}.ev-tile{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-height:104px;padding:8px 4px 10px;display:flex;position:relative;overflow:visible}.ev-tile:disabled{opacity:1;cursor:default}.ev-day{color:var(--muted);font-size:11px}.ev-tile.future{opacity:.55;filter:saturate(.6)}.ev-tile.ready{border-color:var(--gold);cursor:pointer;animation:1.6s ease-in-out infinite ev-glow}.ev-tile.ready:hover{transform:translateY(-2px)}.ev-tile.claimed .rw-icon,.ev-tile.claimed .rw-amount{opacity:.55}.ev-tile.just{animation:.6s ease-out ev-claim}@keyframes ev-glow{0%,to{box-shadow:0 0 8px #f2c14b59,inset 0 0 8px #f2c14b1f}50%{box-shadow:0 0 22px #f2c14bd9,inset 0 0 12px #f2c14b4d}}@keyframes ev-claim{0%{transform:scale(1)}35%{transform:scale(1.12);box-shadow:0 0 30px #f2c14be6}to{transform:scale(1)}}.ev-stamp{color:#e8443a;width:46px;height:46px;font:900 28px/1 var(--heading);text-shadow:0 1px #00000059;pointer-events:none;background:#d8352c14;border:3px solid #d8352c;border-radius:50%;place-items:center;margin:-23px 0 0 -23px;display:grid;position:absolute;top:50%;left:50%;transform:rotate(-14deg);box-shadow:inset 0 0 0 2px #d8352c40}.ev-chest .ev-stamp{border-width:2px;width:34px;height:34px;margin:-17px 0 0 -17px;font-size:20px}.ev-tile.just .ev-stamp{animation:.45s cubic-bezier(.2,1.6,.4,1) .18s both ev-stamp}@keyframes ev-stamp{0%{opacity:0;transform:rotate(-14deg)scale(2.2)}to{opacity:1;transform:rotate(-14deg)scale(1)}}.rw-icon{place-items:center;width:44px;height:44px;display:grid}.rw-icon .cur-icon{width:34px;height:34px;position:static;top:auto;left:auto;transform:none}.rw-icon .shard-icon i{width:62%;height:78%}.rw-icon.small{width:28px;height:28px}.rw-icon.small .cur-icon{width:22px;height:22px}.rw-icon.small .book-icon,.rw-icon.small .ess-icon{transform:scale(.65)}.rw-hero{width:44px;height:44px;display:block}.rw-hero .portrait{width:44px;height:44px}.rw-amount{font-size:13px}.rw-more{color:var(--muted);font-size:10px}.rw-glyph{color:var(--gold-soft);font-size:22px}.rw-row{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.rw-part{align-items:center;gap:4px;font-size:13px;display:inline-flex}.ev-stage,.ev-double{flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.ev-double{flex-direction:row;align-items:center;gap:14px}.ev-mult{font-family:var(--heading);color:var(--gold);font-size:40px}.ev-tokens{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.ev-token{background:radial-gradient(circle at 35% 35%, #fff6, transparent 50%), var(--c,var(--gold));width:12px;height:12px;box-shadow:0 0 6px var(--c,var(--gold));vertical-align:-1px;border-radius:50%;display:inline-block}.ev-token.big{width:22px;height:22px}.ev-shop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.ev-shop-item{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.ev-shop-item.sold{opacity:.55}.ev-mail{flex-direction:column;gap:8px;display:flex}.ev-mail-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.ev-mail-row>span{flex-direction:column;gap:6px;display:flex}.stage-tile.event{border-color:#b65cf0;box-shadow:0 0 10px #b65cf059}.ev-chip{color:#e2b8ff;background:#3a1f4f}.ev-label{color:#e2b8ff}.settings-tabs{margin-bottom:10px}.red-dot.count{width:auto;min-width:16px;height:16px;font:700 10px/1 var(--body);color:#fff;border-radius:999px;place-items:center;padding:0 4px;display:grid}.count-dot{color:#fff;min-width:16px;height:16px;font:700 10px/1 var(--body);background:#e0443a;border-radius:999px;place-items:center;margin-left:6px;padding:0 4px;display:inline-grid}.friends{gap:12px}.friend-tabs{align-self:flex-start}.friend-list{flex-direction:column;gap:8px;display:flex}.friend-row{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.friend-who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.friend-who .muted{letter-spacing:.5px;font-size:12px}.friend-seen{color:var(--muted);white-space:nowrap;font-size:12px}.friend-seen.on{color:var(--good)}.friend-seen.on:before{content:"";background:var(--good);width:8px;height:8px;box-shadow:0 0 6px var(--good);border-radius:50%;margin-right:6px;display:inline-block}.friend-actions{margin:0}.friend-confirm{flex-basis:100%}.friend-mine{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.friend-id{align-items:center;gap:10px;display:inline-flex}.friend-id b{letter-spacing:3px;color:var(--gold-soft);-webkit-user-select:all;user-select:all;font:700 18px/1 ui-monospace,Consolas,monospace}.friend-search input{text-transform:lowercase;letter-spacing:2px;flex:1;max-width:320px;font-family:ui-monospace,Consolas,monospace}.friend-tabs button{white-space:nowrap}.menu-btn.locked{opacity:.45;filter:grayscale();cursor:not-allowed}.menu-btn.locked:hover{opacity:.6}.lock-badge{filter:none;opacity:1;text-shadow:0 1px 2px #000;font-size:12px;position:absolute;top:2px;right:8px}.locked-note{padding:12px 14px}#unlock-pop{z-index:2450;background:#040308b8;place-items:center;animation:.24s ease-out comic-fade;display:grid;position:fixed;inset:0}#unlock-pop[hidden]{display:none}.unlock-card{text-align:center;border:1px solid var(--gold-line,#6b5520);background:linear-gradient(#221c2e,#15121c);border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:min(380px,90vw);padding:26px 24px 22px;animation:.42s cubic-bezier(.2,1.4,.4,1) unlock-in;display:flex;box-shadow:0 0 40px #f2c14b40}.unlock-icon{background:radial-gradient(circle,#f2c14b59,#0000 70%);border-radius:50%;place-items:center;width:84px;height:84px;font-size:40px;animation:1.8s ease-in-out infinite unlock-glow;display:grid}.unlock-icon img{object-fit:contain;filter:drop-shadow(0 0 10px #f2c14be6);width:64px;height:64px}.unlock-kicker{letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-size:12px}.join-portrait{filter:drop-shadow(0 0 14px #f2c14b8c);width:104px;height:104px;animation:1.8s ease-in-out infinite unlock-glow;display:block}.join-portrait .portrait{width:100%;height:100%}.unlock-name{font-family:var(--heading);font-size:28px}.unlock-blurb{color:var(--text-2);font-size:14px}.unlock-gift{background:#00000040;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;display:flex}@keyframes unlock-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes unlock-glow{0%,to{box-shadow:0 0 18px #f2c14b59}50%{box-shadow:0 0 40px #f2c14bcc}}.home-btns{flex-direction:column;gap:10px;margin-top:14px;display:flex}.home-btn{background:var(--card);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;font-size:16px;display:flex;position:relative}.home-btn:hover{border-color:var(--gold);color:var(--gold-soft)}.home-btn-icon{place-items:center;width:40px;height:40px;font-size:24px;display:grid}.home-btn-icon img{object-fit:contain;width:40px;height:40px}.home-btn .red-dot{top:10px;right:12px}.modes-label{margin-top:10px}.fight-btn{flex-direction:column;align-items:center;gap:2px;display:flex}.fight-btn .mode-name{font-size:20px}.fight-btn .mode-stage{opacity:.8;font-size:12px;font-weight:500}.campaign{gap:14px}.campaign .stage-map{grid-template-columns:repeat(5,minmax(0,120px));gap:10px}.campaign .stage-tile{padding:14px 6px}.campaign .stage-tile b{font-size:16px}.campaign .stage-tile span{font-size:12px}.campaign .stage-pick{flex-direction:column;gap:10px;max-width:640px;padding:16px;display:flex}.campaign .fight-btn{align-self:flex-start;min-width:280px}.passive-area{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.passive-card{background:var(--card);border:2px solid var(--rc);min-width:220px;max-width:320px;box-shadow:0 0 14px color-mix(in srgb, var(--rc) 30%, transparent);border-radius:12px;flex-direction:column;flex:1;gap:6px;padding:12px 14px;display:flex;position:relative}.passive-card.empty{border:1px dashed var(--line);box-shadow:none}.passive-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.passive-head b{color:var(--rc);font-size:15px}.passive-rarity,.passive-type{border:1px solid var(--rc);color:var(--rc);border-radius:999px;padding:2px 7px;font-size:11px}.passive-type{border-color:var(--line);color:var(--text-2)}.passive-desc{color:var(--text-2);font-size:13px}.passive-tag{letter-spacing:1px;text-transform:uppercase;background:var(--panel,#12101a);color:var(--rc);padding:0 6px;font-size:10px;position:absolute;top:-9px;left:10px}.passive-arrow{color:var(--muted);align-self:center;font-size:22px}.passive-choice{flex-direction:column;justify-content:center;gap:8px;display:flex}.passive-card.reveal{animation:passive-reveal var(--reveal-ms,.9s) cubic-bezier(.2, 1.3, .4, 1) both}.passive-card.reveal:after{content:"";pointer-events:none;animation:passive-flash var(--reveal-ms,.9s) ease-out both;border-radius:12px;position:absolute;inset:-2px}@keyframes passive-reveal{0%{opacity:0;transform:scale(.6)rotateY(80deg)}60%{opacity:1;transform:scale(1.06)rotateY(0)}to{transform:none}}@keyframes passive-flash{0%{box-shadow:0 0 0 0 var(--rc)}40%{box-shadow:0 0 40px 12px var(--rc)}to{box-shadow:0 0 #0000}}.pbooks{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.pbook{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.pbook-body{flex-direction:column;font-size:13px;display:flex}.pbook-body .muted{font-size:11px}.passive-odds{flex-direction:column;gap:3px;margin-top:6px;font-size:12px;display:flex}.passive-line b{color:var(--rc)}.tw-none{font-size:12px}.skill-book img{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--glow) 70%, transparent))}
