:root{--ink: #070b1a;--ink-2: #0b1226;--ink-3: #101a33;--panel: rgba(17, 27, 54, .86);--panel-2: rgba(22, 36, 74, .9);--line: rgba(232, 197, 122, .18);--gold: #e8c57a;--gold-hi: #ffe9b0;--gold-dim: #8a7346;--cyan: #5fd8e8;--violet: #b79bff;--danger: #ff6b6b;--text: #e9eefb;--text-dim: #93a0c4;--text-mute: #5d6b8f;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", Georgia, serif;--font-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--r-lg: 18px;--r-md: 13px;--shadow: 0 18px 46px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}h1,h2,h3{margin:0;font-family:var(--font-serif);font-weight:600;letter-spacing:.02em}p{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#e8c57a33;border-radius:99px}.starfield{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%,#12204a 0%,transparent 55%),radial-gradient(80% 60% at 110% 100%,#131a44 0%,transparent 60%),linear-gradient(180deg,#070b1a,#05070f);transition:opacity .4s ease}.starfield--dim{opacity:.55}.starfield__nebula{position:absolute;inset:-20%;background:radial-gradient(closest-side,rgba(95,216,232,.16),transparent 70%);filter:blur(28px);animation:drift 46s ease-in-out infinite alternate}.starfield__nebula--b{background:radial-gradient(closest-side,rgba(183,155,255,.14),transparent 70%);animation-duration:62s;animation-direction:alternate-reverse}.starfield__stars{position:absolute;inset:0;animation:driftSlow 90s linear infinite alternate}.starfield__stars i{position:absolute;border-radius:50%;background:#eaf2ff;box-shadow:0 0 6px #dcebffd9;animation-name:twinkle;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.starfield__veil{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(4,6,14,.75) 100%)}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes drift{0%{transform:translate3d(-4%,-2%,0) scale(1)}to{transform:translate3d(5%,3%,0) scale(1.12)}}@keyframes driftSlow{0%{transform:translateZ(0)}to{transform:translate3d(-1.5%,1%,0)}}.app{position:relative;height:100%;height:100dvh;display:flex;isolation:isolate}.shell{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.topbar{order:0;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:linear-gradient(180deg,#070b1af2,#070b1a59);border-bottom:1px solid rgba(232,197,122,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:6}.topbar__brand{display:flex;align-items:center;gap:6px;flex:0 0 auto}.brand-mark{color:var(--gold);font-size:13px;text-shadow:0 0 10px rgba(232,197,122,.8)}.brand-name{font-family:var(--font-serif);font-size:13.5px;letter-spacing:.14em;color:var(--gold-hi)}.topbar__res{display:flex;gap:6px;margin-left:auto;min-width:0}.res-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(232,197,122,.2);color:var(--gold-hi);font-size:12px}.res-pill b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.res-pill--shard{color:#cfc4ff;border-color:#b79bff47}.topbar__actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.pity-btn{display:inline-flex;align-items:baseline;gap:3px;padding:3px 8px;border-radius:999px;border:1px solid rgba(232,197,122,.22);color:var(--text-dim);font-size:11px;background:#ffffff0a}.pity-btn b{color:var(--gold);font-variant-numeric:tabular-nums}.icon-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--text-dim);border:1px solid transparent;transition:all .18s ease}.icon-btn:hover{color:var(--gold-hi);border-color:#e8c57a4d;background:#e8c57a14}.icon-btn:active{transform:scale(.94)}.tabbar{order:2;flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#070b1a8c,#070b1afa);border-top:1px solid rgba(232,197,122,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:6}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 5px;border-radius:11px;color:var(--text-mute);font-size:11px;letter-spacing:.08em;position:relative;transition:color .2s ease,background .2s ease}.tab svg{opacity:.85}.tab.is-active{color:var(--gold-hi);background:radial-gradient(60% 120% at 50% 100%,rgba(232,197,122,.16),transparent 70%)}.tab.is-active:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:16px;height:2px;border-radius:2px;background:var(--gold);box-shadow:0 0 8px var(--gold)}.tab:active{transform:scale(.96)}.screen{order:1;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 12px 18px;width:100%;scrollbar-gutter:stable}.stars{display:inline-flex;gap:1px;filter:drop-shadow(0 0 4px currentColor)}.stars svg{fill:currentColor;stroke:none}.sign-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border:1px solid;border-radius:999px;font-size:11px;letter-spacing:.06em;background:#ffffff0a}.sign-chip i{width:5px;height:5px;border-radius:50%;box-shadow:0 0 6px currentColor}.sign-chip--compact{padding:1px 6px;font-size:10px}.meter{position:relative;height:6px;border-radius:99px;background:#ffffff14;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.meter__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#b98c3f,var(--gold-hi));box-shadow:0 0 12px #e8c57a80;transition:width .28s cubic-bezier(.2,.8,.2,1)}.meter--cyan .meter__fill{background:linear-gradient(90deg,#2a86a8,#8fe8f5);box-shadow:0 0 12px #5fd8e880}.meter--violet .meter__fill{background:linear-gradient(90deg,#6c4fd6,#cbb6ff);box-shadow:0 0 12px #b79bff8c}.meter--danger .meter__fill{background:linear-gradient(90deg,#a83232,#ff8f8f)}.link-btn{color:var(--gold);font-size:11.5px;text-decoration:none;border-bottom:1px dashed rgba(232,197,122,.4);padding-bottom:1px}.link-btn:hover{color:var(--gold-hi)}.primary-btn,.ghost-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:12px;font-size:14px;letter-spacing:.08em;transition:transform .15s ease,filter .2s ease,box-shadow .2s ease}.primary-btn{background:linear-gradient(180deg,#f6e2ae,#dcae5f 62%,#b98c3f);color:#251a06;font-weight:700;border:1px solid rgba(255,238,190,.85);box-shadow:0 10px 26px #e8c57a47,inset 0 1px #fff9}.ghost-btn{border:1px solid rgba(232,197,122,.34);color:var(--gold-hi);background:#e8c57a12}.danger-btn{border:1px solid rgba(255,107,107,.45);color:#ff9b9b;background:#ff6b6b1a}.danger-btn--ghost{background:transparent}.primary-btn:active,.ghost-btn:active{transform:translateY(1px) scale(.99)}.primary-btn--wide,.ghost-btn--wide{width:100%}.is-disabled,button:disabled{opacity:.55;filter:grayscale(.75) brightness(.8);pointer-events:none;box-shadow:none}.chip-btn{padding:6px 12px;border-radius:999px;border:1px solid rgba(232,197,122,.3);color:var(--gold-hi);font-size:12px;background:#e8c57a14}.gaze{display:flex;flex-direction:column;gap:14px;min-height:100%}.gaze__hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:26px 0 6px;flex:1 1 auto;min-height:260px}.gaze__halo{position:absolute;top:8%;left:50%;width:min(96vw,420px);aspect-ratio:1;transform:translate(-50%);background:radial-gradient(circle,var(--sign, var(--gold)) 0%,transparent 60%);opacity:.1;filter:blur(34px);animation:breathe 7s ease-in-out infinite;pointer-events:none}.gaze__chapter{position:absolute;top:0;display:flex;align-items:baseline;gap:7px;padding:4px 12px;border-radius:999px;border:1px solid rgba(232,197,122,.22);background:#080d1c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gaze__chapter-label{font-size:10px;letter-spacing:.2em;color:var(--text-mute)}.gaze__chapter-name{font-family:var(--font-serif);font-size:12.5px;color:var(--gold-hi);letter-spacing:.1em}.gaze__sigil{width:min(52vw,208px);height:auto;aspect-ratio:100 / 132;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6));animation:floatY 7s ease-in-out infinite}.gaze__caption{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.gaze__epithet{font-size:10.5px;letter-spacing:.34em;color:var(--gold);text-indent:.34em}.gaze__name{font-size:27px;color:#fff;text-shadow:0 0 24px rgba(232,197,122,.35)}.gaze__quote{max-width:36ch;font-size:11.5px;line-height:1.7;color:var(--text-mute);text-align:center;font-style:italic;padding:0 8px}.gaze__panel{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--r-lg);background:linear-gradient(180deg,#121d3ae6,#090e1ef0);border:1px solid rgba(232,197,122,.16);box-shadow:var(--shadow)}.gaze__pity{display:flex;flex-direction:column;gap:6px}.gaze__pity-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--text-dim)}.gaze__pity-head b{color:var(--gold-hi);font-variant-numeric:tabular-nums}.gaze__actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px}.pull-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:13px 10px;border-radius:14px;border:1px solid rgba(232,197,122,.32);background:linear-gradient(180deg,#1a2749,#0c1428);color:var(--text);overflow:hidden;transition:transform .16s ease,box-shadow .25s ease}.pull-btn__label{font-family:var(--font-serif);font-size:15px;letter-spacing:.1em}.pull-btn__cost{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.pull-btn__cost em{font-style:normal;font-size:10px;color:#6ee7a8;margin-left:3px}.pull-btn--ten{background:linear-gradient(180deg,#f8e6b8,#e3bb72 45%,#bb8f42);border-color:#fff0c8e6;color:#2a1d07;box-shadow:0 12px 30px #e8c57a42,inset 0 1px #ffffffb3}.pull-btn--ten .pull-btn__cost{color:#2a1d07b8}.pull-btn--ten .pull-btn__cost em{color:#2a6b46}.pull-btn--ten:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 48%,transparent 58%);transform:translate(-120%);animation:shimmer 5.4s ease-in-out infinite;pointer-events:none}.pull-btn__ribbon{position:absolute;top:5px;right:5px;font-size:9px;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#2a1d072e;color:#4a3409}.pull-btn:active{transform:translateY(1px)}.pull-btn--single:hover{box-shadow:0 0 24px #e8c57a38}.gaze__hint{font-size:11px;color:var(--gold-dim);text-align:center}.supply-card{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);border:1px solid rgba(95,216,232,.24);background:linear-gradient(100deg,#5fd8e81f,#5fd8e805);text-align:left}.supply-card--done{border-color:#e8c57a33;background:#ffffff08}.supply-card__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--cyan);background:#5fd8e81f;flex:0 0 auto}.supply-card__body{display:flex;flex-direction:column;min-width:0}.supply-card__body b{font-size:12.5px;color:#dff7fb}.supply-card__body span{font-size:10.5px;color:var(--text-mute)}.supply-card__cta{margin-left:auto;font-size:11.5px;color:var(--gold-hi);padding:4px 10px;border-radius:999px;border:1px solid rgba(232,197,122,.3);flex:0 0 auto}.sigil{display:block;overflow:visible}.sigil__glyph{font-family:var(--font-serif);font-weight:600;-webkit-user-select:none;user-select:none}.sigil__body{animation:bodyBreath 6.5s ease-in-out infinite;transform-origin:50px 70px}.sigil__rotor{transform-origin:50px 68px;animation:spin 44s linear infinite}.sigil__rays{transform-origin:50px 68px;animation:spin 26s linear infinite reverse}.sigil__dot{filter:drop-shadow(0 0 3px currentColor)}.sigil--animate .sigil__dot{animation:starPulse 3.4s ease-in-out infinite;animation-delay:var(--d, 0s)}.sigil--animate .sigil__halo{animation:haloPulse 3.4s ease-in-out infinite;animation-delay:var(--d, 0s)}.sigil--card .sigil__rotor,.sigil--compact .sigil__rotor{animation-duration:70s}.pull-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#03050ce6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .22s ease;overflow:hidden;padding:16px}.pull-overlay__sky{position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 110%,rgba(95,216,232,.16),transparent 70%),radial-gradient(70% 50% at 50% 0%,rgba(183,155,255,.16),transparent 70%);animation:fadeIn .6s ease}.pull-overlay.is-legend .pull-overlay__sky{background:radial-gradient(70% 55% at 50% 45%,rgba(232,197,122,.35),transparent 68%);animation:legendFlash 1.1s ease-out both}.pull-overlay__rays{position:absolute;top:50%;left:50%;width:150vmax;height:150vmax;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(232,197,122,.16) 0deg 1.6deg,transparent 1.6deg 7deg);animation:spin 46s linear infinite;mask-image:radial-gradient(circle,#000 8%,transparent 46%);-webkit-mask-image:radial-gradient(circle,#000 8%,transparent 46%);pointer-events:none}.pull-overlay__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:640px}.pull-charge{display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--text-dim);letter-spacing:.3em;font-size:12px}.pull-charge__ring{width:96px;height:96px;border-radius:50%;border:1px solid rgba(232,197,122,.5);border-top-color:var(--gold-hi);animation:spin 1.1s linear infinite;box-shadow:0 0 34px #e8c57a59}.pull-charge__ring--b{position:absolute;width:62px;height:62px;border-color:#5fd8e84d;border-bottom-color:var(--cyan);animation:spin 1.7s linear infinite reverse}.pull-overlay__head{text-align:center}.pull-overlay__eyebrow{font-size:10.5px;letter-spacing:.34em;color:var(--gold);text-transform:uppercase}.pull-overlay__head h2{margin-top:4px;font-size:17px;color:#fff}.pull-overlay__head h2 em{font-style:normal;font-size:11px;color:#6ee7a8;letter-spacing:.08em}.pull-grid{display:grid;gap:7px;width:100%;justify-content:center}.pull-grid--1{grid-template-columns:minmax(0,208px)}.pull-grid--10{grid-template-columns:repeat(5,minmax(0,1fr));max-width:560px}.pull-card{position:relative;border-radius:11px;padding:5px 5px 6px;background:linear-gradient(180deg,#1a2648f2,#090e1efa);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;animation:cardIn .46s cubic-bezier(.2,.9,.25,1.05) both;overflow:hidden}.pull-card.r5{border-color:#f0ce84cc;box-shadow:0 0 26px #f0ce8459,inset 0 0 30px #f0ce841a}.pull-card.r4{border-color:#b79bff8c;box-shadow:0 0 18px #b79bff38}.pull-card.r5:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(240,206,132,.22),transparent 55%);pointer-events:none}.pull-card__art{aspect-ratio:1 / 1.06;border-radius:7px;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.09),transparent 62%);overflow:hidden}.pull-card__art svg{width:100%;height:100%}.pull-card__foot{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}.pull-card__title{font-size:9px;letter-spacing:.16em;color:var(--gold-dim)}.pull-card__name{font-family:var(--font-serif);font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pull-grid--1 .pull-card__name{font-size:18px}.pull-grid--1 .pull-card__title{font-size:11px}.pull-card__tag{position:absolute;top:7px;left:7px;font-size:8.5px;padding:1px 5px;border-radius:999px;letter-spacing:.06em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pull-card__tag.is-new{background:#6ee7a829;color:#8bf0bb;border:1px solid rgba(110,231,168,.4)}.pull-card__tag.is-dup{background:#b79bff24;color:#cfc4ff;border:1px solid rgba(183,155,255,.34)}.pull-overlay__actions{display:flex;gap:10px;width:100%;max-width:420px}.pull-overlay__actions>*{flex:1}.expedition{display:flex;flex-direction:column;gap:14px}.team-strip{padding:11px 12px;border-radius:var(--r-lg);background:linear-gradient(180deg,#14203ee6,#090e1eeb);border:1px solid rgba(232,197,122,.14);display:flex;flex-direction:column;gap:9px}.team-strip__head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-dim)}.team-strip__label{display:inline-flex;align-items:center;gap:5px;letter-spacing:.12em;color:var(--gold)}.team-strip__power{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text-mute)}.team-strip__slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.team-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px 6px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;min-width:0;transition:border-color .2s ease,background .2s ease}.team-slot svg{width:100%;height:54px}.team-slot.is-empty{justify-content:center;min-height:74px;border-style:dashed;color:var(--text-mute);font-size:11px}.team-slot.r5{border-color:#f0ce8466}.team-slot.r4{border-color:#b79bff4d}.team-slot__name{font-family:var(--font-serif);font-size:12px;color:#eef3ff;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-slot__lv{font-size:9.5px;color:var(--text-mute)}.expedition__head h2{font-size:17px;color:var(--gold-hi)}.expedition__head p{font-size:11.5px;color:var(--text-mute);margin-top:2px}.zone-list{display:flex;flex-direction:column;gap:8px}.zone-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.08);background:linear-gradient(100deg,#14203ed9,#090e1ed9);text-align:left;transition:border-color .2s ease,transform .15s ease,background .2s ease}.zone-row:hover:not(.is-locked){border-color:#e8c57a66;background:linear-gradient(100deg,#1c2c52e6,#0b1226e6)}.zone-row:active:not(.is-locked){transform:scale(.995)}.zone-row.is-locked{opacity:.5;cursor:default}.zone-row.is-cleared{border-color:#e8c57a38}.zone-row__idx{font-family:var(--font-serif);font-size:17px;color:var(--gold);width:26px;text-align:center;flex:0 0 auto;opacity:.85}.zone-row__idx--inf{font-size:20px}.zone-row__body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.zone-row__name{display:flex;align-items:center;gap:6px;font-family:var(--font-serif);font-size:14.5px;color:#f2f6ff}.zone-row__tag{font-family:var(--font-sans);font-style:normal;font-size:9.5px;padding:1px 6px;border-radius:999px;color:var(--gold);border:1px solid rgba(232,197,122,.3)}.zone-row__sub{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-row__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px;font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}.zone-row__go{color:var(--gold);flex:0 0 auto;display:grid;place-items:center}.zone-row--endless{border-color:#b79bff3d;background:linear-gradient(100deg,#241a42d9,#090e1ed9)}.expedition__progress{display:flex;flex-direction:column;gap:6px;margin-top:2px}.expedition__progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim)}.expedition__progress-head b{color:var(--gold-hi);font-variant-numeric:tabular-nums}.battle{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.battle__bg{position:absolute;inset:0;background:radial-gradient(100% 60% at 50% 105%,rgba(40,26,86,.85) 0%,transparent 62%),radial-gradient(80% 40% at 20% 12%,rgba(95,216,232,.1),transparent 70%),linear-gradient(180deg,#0a1229,#060a18 62%,#04060f)}.battle__fog{position:absolute;inset:0;background:radial-gradient(40% 22% at 72% 42%,rgba(123,61,255,.2),transparent 70%),radial-gradient(30% 18% at 22% 66%,rgba(95,216,232,.14),transparent 70%);filter:blur(18px);animation:breathe 9s ease-in-out infinite}.battle__ground{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,#0a102200,#060a16e6 55%,#04060f)}.battle__ground:before{content:"";position:absolute;inset:18% 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(232,197,122,.16),transparent)}.battle__top{position:relative;z-index:4;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:linear-gradient(180deg,rgba(4,7,16,.9),transparent)}.battle__zone{display:flex;flex-direction:column;gap:0;min-width:0}.battle__zone b{font-family:var(--font-serif);font-size:14px;color:var(--gold-hi)}.battle__zone span{font-size:10px;color:var(--text-mute)}.battle__ward{display:flex;align-items:center;gap:6px;margin-left:auto;flex:1 1 auto;max-width:210px}.battle__ward-label{font-size:10px;color:var(--cyan);letter-spacing:.1em;flex:0 0 auto}.battle__ward .meter{flex:1 1 auto;height:7px}.battle__ward-num{font-size:10.5px;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.battle__field{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.battle__scene{position:absolute;left:0;right:0;bottom:0;height:62%;z-index:0;pointer-events:none}.battle__scene svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.battle__moon{position:absolute;left:50%;top:4%;width:118px;height:118px;margin-left:-59px;border-radius:50%;background:radial-gradient(circle,#f2e4c280,#9a7bd633 42%,#5f5bd600 72%);filter:blur(2px);animation:breathe 9s ease-in-out infinite}.battle__moon:after{content:"";position:absolute;inset:38%;border-radius:50%;background:#f6ecd68c;box-shadow:0 0 22px #e8c57a80}.unit{position:absolute;width:clamp(56px,17vw,96px);transition:opacity .4s ease,filter .4s ease;z-index:2}.unit--ally{left:calc(3% + var(--i) * 12.5%);top:calc(15% + var(--i) * 21%);animation:floatY 5.4s ease-in-out infinite;animation-delay:calc(var(--i) * -1.4s)}.unit--foe{right:calc(1% + var(--i) * 8%);top:calc(7% + var(--i) * 20%);width:clamp(64px,19vw,106px);animation:floatY 6.2s ease-in-out infinite;animation-delay:calc(var(--i) * -2.1s)}.unit--boss,.unit--elite{width:clamp(76px,24vw,132px)}.unit__body{position:relative;aspect-ratio:100 / 118}.unit__body--hit{animation:hitShake .24s ease-out}.unit--foe .unit__body--hit{animation:foeHit .26s ease-out}.spark{position:absolute;left:50%;top:26%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff 0%,currentColor 32%,transparent 68%);animation:sparkOut .42s ease-out forwards}.spark--ally{color:#8fe8f5}.spark--foe{color:#ff9bd0}.spark:after{content:"";position:absolute;top:50%;right:70%;width:22px;height:1.5px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,currentColor);animation:streak .42s ease-out forwards}.spark--foe:after{right:auto;left:70%;background:linear-gradient(270deg,transparent,currentColor)}.battle__mist{position:absolute;left:0;right:0;bottom:24%;height:34%;background:radial-gradient(70% 100% at 50% 100%,rgba(95,216,232,.09),transparent 72%);animation:breathe 8s ease-in-out infinite;pointer-events:none}.unit__body svg{width:100%;height:100%}.unit--ally .unit__body{animation:hitShake .24s ease-out}.unit__shadow{position:absolute;left:50%;bottom:-2%;width:62%;height:8%;transform:translate(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(95,216,232,.34),transparent 70%)}.unit--foe .unit__shadow{background:radial-gradient(closest-side,rgba(150,90,255,.32),transparent 70%)}.unit__hp{position:relative;height:4px;border-radius:99px;background:#ffffff24;overflow:hidden;margin-top:3px}.unit__hp i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2a86a8,#8fe8f5);transition:width .3s ease}.unit__hp--foe i{background:linear-gradient(90deg,#7b3dff,#ff7ba8)}.unit__name{display:block;text-align:center;font-size:9.5px;color:var(--text-mute);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit.is-dead{opacity:.22;filter:grayscale(1);animation:none}.unit__pops{position:absolute;inset:0;pointer-events:none}.pop{position:absolute;left:50%;top:30%;transform:translate(-50%);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;text-shadow:0 2px 6px rgba(0,0,0,.9);animation:popUp .9s cubic-bezier(.2,.8,.3,1) forwards;white-space:nowrap}.pop--dmg{color:#ffe3d6}.pop--weak{color:#ffb15c;font-size:17px}.pop--ward{color:var(--cyan)}.pop--burst{color:#fff3c4;font-size:17px}.battle__field-pops{position:absolute;left:0;right:0;top:34%;pointer-events:none;text-align:center}.battle__field-pops .pop{position:relative;left:0;top:0;transform:none;display:inline-block;font-size:20px}.battle__banner{position:absolute;left:50%;top:22%;transform:translate(-50%);z-index:5;padding:6px 18px;border-radius:999px;border:1px solid rgba(232,197,122,.35);background:#060a16d1;color:var(--gold-hi);font-family:var(--font-serif);font-size:12.5px;letter-spacing:.18em;white-space:nowrap;animation:bannerIn 1.2s ease forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.battle__bottom{position:relative;z-index:4;display:flex;align-items:flex-end;gap:12px;padding:6px 14px calc(14px + env(safe-area-inset-bottom))}.battle__resonance{flex:1 1 auto;display:flex;flex-direction:column;gap:5px;padding-bottom:6px}.battle__resonance-head{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-dim);letter-spacing:.1em}.battle__resonance-head em{font-style:normal;color:var(--violet);font-variant-numeric:tabular-nums}.burst-btn{position:relative;width:84px;height:84px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(183,155,255,.4);background:radial-gradient(circle at 50% 35%,#34245e,#150f2c 70%);color:#d7cdff8c;transition:transform .15s ease,box-shadow .3s ease,color .3s ease}.burst-btn__ring{position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(183,155,255,.35)}.burst-btn__label{font-family:var(--font-serif);font-size:17px;letter-spacing:.1em}.burst-btn.is-ready{color:#fff;border-color:#ffecb4d9;background:radial-gradient(circle at 50% 35%,#6b4fbb,#241a48 72%);box-shadow:0 0 30px #a078ff8c,inset 0 0 22px #fff0be47;animation:breathe 1.7s ease-in-out infinite}.burst-btn.is-ready .burst-btn__ring{border-color:#fff0beb3;animation:spin 8s linear infinite}.burst-btn:active{transform:scale(.95)}.battle-result{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#03050cd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .3s ease}.battle-result__card{width:min(100%,380px);padding:22px 20px 18px;border-radius:20px;text-align:center;background:linear-gradient(180deg,#182444fa,#090d1cfc);border:1px solid rgba(232,197,122,.3);box-shadow:var(--shadow);animation:cardIn .45s cubic-bezier(.2,.9,.25,1.05) both}.battle-result--won .battle-result__card{border-color:#f0ce8499;box-shadow:0 0 60px #e8c57a38,var(--shadow)}.battle-result__eyebrow{font-size:10.5px;letter-spacing:.34em;color:var(--gold)}.battle-result--lost .battle-result__eyebrow{color:#ff8f8f}.battle-result__card h2{margin:6px 0 14px;font-size:21px;color:#fff}.battle-result__rewards{display:flex;justify-content:center;gap:22px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.battle-result__rewards>div{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--gold)}.battle-result__rewards b{font-size:17px;color:#fff;font-variant-numeric:tabular-nums}.battle-result__rewards span{font-size:10px;color:var(--text-mute)}.battle-result__first{align-self:center;font-style:normal;font-size:10px;padding:2px 8px;border-radius:999px;border:1px solid rgba(110,231,168,.4);color:#8bf0bb}.battle-result__hint{font-size:12px;color:var(--text-dim);line-height:1.7;padding:12px 0}.battle-result__actions{display:flex;gap:10px;margin-top:16px}.battle-result__actions>*{flex:1}.collection{display:flex;flex-direction:column;gap:12px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.section-head h3{font-size:15px;color:var(--gold-hi);letter-spacing:.08em}.section-head span{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:9px}.char-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:7px 7px 8px;border-radius:var(--r-md);background:linear-gradient(180deg,#162240e6,#090e1ef2);border:1px solid rgba(255,255,255,.08);text-align:left;overflow:hidden;transition:transform .16s ease,border-color .2s ease,box-shadow .25s ease}.char-card:active{transform:scale(.98)}.char-card.r5{border-color:#f0ce8473;box-shadow:inset 0 0 30px #f0ce8412}.char-card.r4{border-color:#b79bff4d}.char-card.is-team{border-color:#e8c57abf;box-shadow:0 0 16px #e8c57a33}.char-card__art{position:relative;aspect-ratio:1 / 1.12;border-radius:9px;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.08),transparent 65%);overflow:hidden}.char-card__art>svg{width:100%;height:100%}.char-card__art.is-silhouette>svg{filter:brightness(.24) saturate(.3)}.char-card__lock svg{width:15px;height:15px}.char-card__art .sign-chip{position:absolute;top:4px;right:4px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.char-card__badge{position:absolute;bottom:3px;left:3px;font-size:8.5px;padding:1px 5px;border-radius:999px;background:#e8c57a33;color:var(--gold-hi);border:1px solid rgba(232,197,122,.45)}.char-card__dot{position:absolute;top:5px;left:5px;width:7px;height:7px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 8px #6ee7a8;animation:breathe 2s ease-in-out infinite}.char-card__meta{display:flex;flex-direction:column;gap:0;min-width:0}.char-card__title{font-size:9px;letter-spacing:.16em;color:var(--gold-dim)}.char-card__name{font-family:var(--font-serif);font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-card__foot{display:flex;align-items:center;justify-content:space-between;gap:3px}.char-card__lv{font-size:9.5px;color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap}.char-card__lv em{font-style:normal;color:var(--violet)}.char-card--locked{opacity:.75}.char-card__art.is-silhouette{position:relative}.char-card__lock{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-mute)}.codex-head{display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:var(--r-lg);border:1px solid rgba(232,197,122,.16);background:linear-gradient(180deg,#14203edb,#090e1ee6)}.codex-head__top{display:flex;align-items:baseline;justify-content:space-between}.codex-head__top h2{font-size:15px;color:var(--gold-hi)}.codex-head__top b{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.codex-head__bar{display:flex;gap:4px}.codex-tick{flex:1 1 auto;height:6px;border-radius:3px;background:#ffffff14}.codex-tick.is-owned{background:linear-gradient(90deg,#b98c3f,var(--gold-hi));box-shadow:0 0 8px #e8c57a80}.codex-tick.is-owned.r4{background:linear-gradient(90deg,#6c4fd6,#cbb6ff);box-shadow:0 0 8px #b79bff80}.codex-head__hint{font-size:10.5px;color:var(--text-mute)}.empty-hint{text-align:center;font-size:12px;color:var(--text-mute);padding:24px 0}.sheet-scrim{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#03050cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease;padding:0}.sheet{position:relative;width:100%;max-width:520px;max-height:94dvh;overflow-y:auto;padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border:1px solid rgba(232,197,122,.26);border-bottom:0;background:linear-gradient(180deg,#121c38,#0a1024 58%,#080c1c);box-shadow:0 -20px 60px #0009;animation:sheetUp .3s cubic-bezier(.2,.85,.25,1) both}.sheet--narrow{max-width:460px}.sheet__close{position:absolute;top:10px;right:10px;z-index:3}.sheet__hero{position:relative;display:flex;align-items:center;gap:10px;padding:4px 34px 6px 0}.sheet__halo{position:absolute;left:-6%;top:-34%;width:150px;height:150px;background:radial-gradient(circle,var(--sign, var(--gold)) 0%,transparent 62%);opacity:.2;filter:blur(18px);pointer-events:none}.sheet__sigil{width:108px;aspect-ratio:100 / 132;flex:0 0 auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.6))}.sheet__id{display:flex;flex-direction:column;gap:3px;min-width:0}.sheet__title{font-size:10.5px;letter-spacing:.3em;color:var(--gold)}.sheet__id h2{font-size:25px;color:#fff;line-height:1.15}.sheet__badges{display:flex;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}.sheet__lore{margin:10px 0 12px;font-size:12px;line-height:1.75;color:var(--text-dim);padding:10px 12px;border-left:2px solid rgba(232,197,122,.35);background:#ffffff08;border-radius:0 8px 8px 0}.sheet__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.sheet__stats>div{display:flex;flex-direction:column;gap:1px;padding:7px 8px;border-radius:9px;background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.sheet__stats span{font-size:9.5px;color:var(--text-mute)}.sheet__stats b{font-size:14px;color:#eef3ff;font-variant-numeric:tabular-nums}.sheet__stats em{font-style:normal;font-size:9.5px;color:#6ee7a8}.sheet__skill{padding:10px 12px;border-radius:11px;background:linear-gradient(100deg,#b79bff1f,#b79bff08);border:1px solid rgba(183,155,255,.2);margin-bottom:12px}.sheet__skill-tag{font-size:10.5px;letter-spacing:.14em;color:#cfc4ff}.sheet__skill p{font-size:11.5px;color:var(--text-dim);margin-top:3px;line-height:1.65}.sheet__resonance{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.sheet__resonance-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-dim)}.sheet__resonance-head b{color:var(--gold-hi)}.sheet__resonance-own{display:inline-flex;align-items:center;gap:4px;color:#cfc4ff;font-variant-numeric:tabular-nums}.sheet__team{padding-top:4px}.sheet__replace{display:flex;flex-direction:column;gap:7px}.sheet__replace>span{font-size:11px;color:var(--text-mute)}.sheet__replace-row{display:flex;gap:7px}.sheet__replace-row>*{flex:1}.sheet__plain-title{font-size:18px;color:var(--gold-hi);margin-bottom:12px}.rates{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px}.rates th{text-align:left;font-weight:400;color:var(--text-mute);padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);width:34%}.rates td{padding:7px 0;color:#e7eeff;border-bottom:1px solid rgba(255,255,255,.06);font-variant-numeric:tabular-nums}.rates__current{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;background:#e8c57a14;border:1px solid rgba(232,197,122,.2);font-size:11.5px;color:var(--text-dim);margin-bottom:10px}.rates__current b{color:var(--gold-hi)}.rates__note{font-size:10.5px;color:var(--text-mute);margin-bottom:14px}.stat-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.stat-list li{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-dim);padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.stat-list b{color:#eef3ff;font-variant-numeric:tabular-nums}.settings__confirm{margin-top:10px;padding:12px;border-radius:11px;border:1px solid rgba(255,107,107,.35);background:#ff6b6b14}.settings__confirm p{font-size:12px;color:#ffc9c9;margin-bottom:10px}.settings__confirm-row{display:flex;gap:8px}.settings__confirm-row>*{flex:1}.settings__note{margin-top:12px;font-size:10.5px;color:var(--text-mute);text-align:center}.sheet .primary-btn--wide,.sheet .ghost-btn--wide,.sheet .danger-btn{margin-top:8px}.toast{position:fixed;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:90;padding:9px 16px;border-radius:999px;font-size:12.5px;letter-spacing:.04em;white-space:nowrap;background:#10182ef5;border:1px solid rgba(232,197,122,.35);color:var(--gold-hi);box-shadow:0 10px 30px #00000080;animation:toastIn .24s ease}.toast--error{border-color:#ff6b6b73;color:#ffb3b3}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bodyBreath{0%,to{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1.02)}}@keyframes starPulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes haloPulse{0%,to{opacity:.16}50%{opacity:.34}}@keyframes shimmer{0%,62%{transform:translate(-120%)}to{transform:translate(140%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes popUp{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}15%{opacity:1;transform:translate(-50%,-4px) scale(1.1)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}@keyframes hitShake{0%{transform:translate(0);filter:brightness(1)}25%{transform:translate(-3px);filter:brightness(1.7)}60%{transform:translate(2px);filter:brightness(1.1)}to{transform:translate(0);filter:brightness(1)}}@keyframes foeHit{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.08) translate(-3px);filter:brightness(2.1) saturate(.6)}to{transform:scale(1);filter:brightness(1)}}@keyframes sparkOut{0%{opacity:0;transform:scale(.2)}22%{opacity:1}to{opacity:0;transform:scale(1.6)}}@keyframes streak{0%{opacity:0;transform:translate(-18px,-50%) scaleX(.4)}30%{opacity:.9}to{opacity:0;transform:translate(6px,-50%) scaleX(1.4)}}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,8px)}18%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}@keyframes legendFlash{0%{opacity:0;transform:scale(.6)}22%{opacity:1}to{opacity:.75;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:760px){.topbar{padding:10px 20px}.brand-name{font-size:15px}.tabbar{order:1;display:inline-flex;align-self:center;gap:4px;margin:10px 0 0;padding:5px;border-radius:999px;border:1px solid rgba(232,197,122,.16);background:#0a1022b3;width:auto}.tab{flex-direction:row;gap:6px;padding:7px 18px;font-size:12.5px}.tab svg{width:16px;height:16px}.tab.is-active{background:#e8c57a1f;border-radius:999px}.tab.is-active:after{display:none}.screen{order:2;max-width:1120px;margin:0 auto;padding:18px 24px 28px}.gaze{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:28px;min-height:auto}.gaze__hero{min-height:460px}.gaze__sigil{width:min(30vw,280px)}.gaze__name{font-size:34px}.char-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.unit--ally{left:calc(8% + var(--i) * 15%);top:calc(12% + var(--i) * 21%)}.unit--foe{right:calc(8% + var(--i) * 12%);top:calc(8% + var(--i) * 18%)}.battle__bottom{padding:8px 28px 22px}.burst-btn{width:96px;height:96px}.toast{bottom:32px}.sheet-scrim{align-items:center}.sheet{border-radius:22px;border-bottom:1px solid rgba(232,197,122,.26);max-height:88dvh}}@media(min-width:1180px){.gaze__hero{min-height:520px}}@media(max-height:680px){.gaze__hero{min-height:200px;padding-top:16px}.gaze__quote{display:none}.gaze__sigil{width:min(42vw,168px)}}@media(prefers-reduced-motion:reduce){.starfield__stars,.starfield__stars i,.starfield__nebula,.sigil__ray,.sigil__rays,.sigil__rotor,.sigil__dot,.sigil__halo,.gaze__halo,.gaze__sigil,.unit,.pull-btn--ten:after,.char-card__dot,.battle__fog,.burst-btn.is-ready{animation:none!important}.meter__fill{transition:none}}
