@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Cinzel:wght@600;700&display=swap";:root{color:#e8dfd2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#100e16;font-family:Be Vietnam Pro,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit}#root{min-height:100vh}.sound-toggle{color:#b7a99c;cursor:pointer;background:0 0;border:0;font-size:15px}.loading-screen{color:#d7b272;background:radial-gradient(circle,#2b2030,#100e16 68%);place-content:center;justify-items:center;gap:14px;min-height:100vh;display:grid}.loading-screen p{color:#a9969b;letter-spacing:1px;margin:0;font-size:13px}.loading-seal{font-size:64px;animation:1.8s ease-in-out infinite seal-spin}.loading-track{background:#3a2b3b;width:180px;height:3px;overflow:hidden}.loading-track i{background:#d5a35f;width:45%;height:100%;animation:1.1s ease-in-out infinite loading-slide;display:block}.fade-in{animation:.35s ease-out both fade-in}@keyframes seal-spin{50%{transform:rotate(180deg)scale(1.08)}}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.game-shell{color:#e8dfd2;background:#15121c;max-width:1440px;min-height:100vh;margin:auto}.topbar{background:#191620;border-bottom:1px solid #332a36;justify-content:space-between;align-items:center;height:76px;padding:0 6%;display:flex}.brand,.resources,.brand>div,.clan-stats,.section-heading,.spirit-info,.quest,.battle-heading{align-items:center;display:flex}.brand{letter-spacing:1px;gap:12px}.brand-mark{color:#d3a85e;font-size:32px}.brand strong{color:#f0dfc0;font:700 20px Cinzel,serif;display:block}.brand small{color:#827a85;letter-spacing:2px;font-size:9px}.resources{color:#b7a99c;gap:24px;font-size:13px}.resources b{color:#ead9bd}.avatar{background:#9c5e72;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.hero-panel{background:linear-gradient(90deg,#1d1723 0%,#211827 48%,#312237 100%);min-height:340px;padding:58px 8%;position:relative;overflow:hidden}.hero-panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#15121c26,#0000 55%,#562d494d);position:absolute;inset:0}.hero-copy{z-index:2;position:relative}.eyebrow{color:#ad7d73;letter-spacing:2px;margin:0 0 8px;font-size:10px;font-weight:700}.hero-copy h1{color:#f0dfc0;margin:0 0 8px;font:700 clamp(38px,5vw,66px) Cinzel,serif}.hero-copy h1 em{color:#d49b6a;font-style:normal}.hero-copy p:not(.eyebrow){color:#a89c9e;margin-bottom:24px}.mountain{opacity:.8;background:linear-gradient(135deg,#0000 22%,#34273d 22.2% 39%,#0000 39.2%),linear-gradient(25deg,#0000 38%,#493047 38.2% 51%,#0000 51.2%),linear-gradient(150deg,#0000 42%,#251d2c 42.2% 65%,#0000 65.2%);width:55%;height:300px;position:absolute;bottom:-30px;right:7%}.moon{color:#e3c697;text-shadow:0 0 45px #c88d77;font-size:80px;position:absolute;top:4px;right:20%}.pagoda{color:#16121b;font-size:100px;position:absolute;bottom:60px;right:33%}.mist{opacity:.12;filter:blur(8px);background:#b68b9b;border-radius:50%;width:70%;height:20px;position:absolute}.mist-one{bottom:76px;left:0}.mist-two{bottom:160px;right:0}.primary{color:#211721;cursor:pointer;background:#d5a35f;border:0;border-radius:4px;padding:12px 20px;font-weight:700;transition:all .2s;box-shadow:0 5px 16px #b2774a33}.primary:hover:not(:disabled){background:#e6bb7c;transform:translateY(-1px)}.primary:disabled{cursor:not-allowed;opacity:.5}.primary small{color:#6f4a39;margin-left:9px}.clan-stats{z-index:2;gap:28px;position:absolute;bottom:35px;right:8%}.clan-stats span{border-left:1px solid #78616b;padding-left:14px}.clan-stats small{color:#8d7c83;letter-spacing:1px;font-size:9px;display:block}.clan-stats b{color:#e5c992;font:700 21px Cinzel,serif}.tabs{background:#191620;border-bottom:1px solid #332a36;gap:28px;padding:0 8%;display:flex}.tabs button{color:#847985;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:18px 4px}.tabs button.active{color:#e2b976;border-color:#d09b5f}.content-grid,.battle-board{padding:42px 8%}.content-grid{grid-template-columns:1fr 320px;gap:42px;display:grid}.section-heading{justify-content:space-between;margin-bottom:22px}.section-heading h2,.battle-heading h2{color:#f0dfc0;margin:0;font:700 25px Cinzel,serif}.text-button{color:#c79767;cursor:pointer;background:0 0;border:0}.spirit-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.spirit-card{background:#211c28;border:1px solid #3b2e3c;border-radius:6px;transition:all .2s;overflow:hidden}.spirit-card:hover{border-color:#bb825c;transform:translateY(-3px)}.spirit-art{background:radial-gradient(circle,#4a2d42,#27202e);place-items:center;height:148px;display:grid;position:relative}.spirit-art span{filter:drop-shadow(0 10px 10px #0e0a12);font-size:70px}.spirit-image,.collection-image{object-fit:cover;width:100%;height:100%}.spirit-art .spirit-image{width:100%;height:148px}.spirit-art label{color:#201721;background:#bb805b;border-radius:2px;padding:3px 6px;font-size:9px;font-weight:800;position:absolute;top:9px;right:9px}.spirit-info{justify-content:space-between;padding:12px 12px 6px}.spirit-info h3{color:#ecdcc6;margin:0 0 4px;font-size:13px}.spirit-info strong{color:#ddb16d;font-size:14px}.element{color:#9d8b8e;font-size:10px}.mini-bar,.bar,.quest-progress{background:#3a303c;height:4px;overflow:hidden}.mini-bar{margin:7px 12px 12px}.mini-bar i,.bar i,.quest-progress i{background:#ca8b6b;height:100%;display:block}.summon-card{background:linear-gradient(110deg,#2c202c,#241c29);border:1px solid #57404a;border-radius:6px;justify-content:space-between;align-items:center;margin-top:30px;padding:22px 26px;display:flex;position:relative}.summon-card h2{margin:0 0 5px;font:700 19px Cinzel,serif}.summon-card p:not(.eyebrow){color:#95858b;margin:0;font-size:12px}.summon-toast{color:#d4a762;font-size:11px;position:absolute;bottom:-28px}.collection-screen{padding:42px 8%}.collection-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.collection-toolbar h2{color:#f0dfc0;margin:0;font:700 25px Cinzel,serif}.collection-count{color:#96868e;margin:7px 0 0;font-size:12px}.collection-filters{flex-wrap:wrap;gap:8px;display:flex}.collection-filters select,.filter-button,.detail-actions button,.progression-actions button:not(.primary){color:#c7a77e;cursor:pointer;background:#241d2a;border:1px solid #4d3a48;border-radius:4px;padding:9px 11px;font-size:11px}.collection-filters select:focus,.filter-button.active,.detail-actions button:hover,.progression-actions button:hover:not(:disabled){color:#efd29d;border-color:#c59664}.collection-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.collection-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.collection-card{text-align:left;color:inherit;cursor:pointer;background:#211c28;border:1px solid #3b2e3c;border-radius:6px;padding:0;transition:all .2s;overflow:hidden}.collection-card:hover,.collection-card.selected{border-color:#c59664;transform:translateY(-2px)}.collection-card.selected{box-shadow:inset 0 0 0 1px #8f614e}.collection-art{background:radial-gradient(circle,#4a2d42,#27202e);place-items:center;height:130px;display:grid;position:relative}.collection-art>span{filter:drop-shadow(0 9px 10px #0e0a12);font-size:62px}.collection-image{object-fit:cover;width:100%;height:130px}.collection-art label{color:#211721;background:#bb805b;padding:3px 6px;font-size:9px;font-weight:800;position:absolute;top:8px;right:8px}.collection-art i{color:#d5a35f;letter-spacing:1px;font-size:11px;font-style:normal;position:absolute;bottom:8px;left:9px}.collection-art i:first-letter{color:#f6d798}.collection-art b{color:#f0c77c;position:absolute;top:8px;left:9px}.collection-card-body{padding:10px 11px 12px}.collection-card-body strong,.collection-card-body small{display:block}.collection-card-body strong{color:#ecdcc6;font-size:13px}.collection-card-body small{color:#9d8b8e;margin-top:4px;font-size:10px}.level-line{color:#c9ab7f;justify-content:space-between;margin-top:10px;font-size:9px;display:flex}.level-line em{color:#82757e;font-style:normal}.collection-card-body .mini-bar{margin:5px 0 0}.spirit-detail{background:linear-gradient(145deg,#29202e,#201a26);border:1px solid #4b3745;border-radius:7px;padding:20px;position:sticky;top:20px}.detail-portrait{border-bottom:1px solid #443440;align-items:center;gap:15px;padding-bottom:18px;display:flex}.detail-image{object-fit:cover;background:#2e2334;border-radius:50%;width:82px;height:82px}.detail-portrait label{color:#d7a866;letter-spacing:1px;font-size:10px}.detail-portrait h2{color:#f0dfc0;margin:5px 0 3px;font:700 22px Cinzel,serif}.detail-portrait p{color:#9b8a91;margin:0;font-size:11px}.detail-actions{gap:7px;margin:15px 0;display:flex}.detail-actions button{flex:1}.stars{color:#d5a35f;letter-spacing:2px;font-size:16px}.stars span{color:#5a4653}.level-detail{margin-top:16px}.level-detail>div:first-child{color:#e2c89b;justify-content:space-between;font-size:11px;display:flex}.level-detail span{color:#96868e}.detail-progress{background:#3b303e;border-radius:5px;height:6px;margin-top:8px;overflow:hidden}.detail-progress i{background:linear-gradient(90deg,#a96462,#d5a35f);height:100%;display:block}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.stat-grid span{background:#231c29;border:1px solid #382c3a;border-radius:4px;padding:9px 7px}.stat-grid small,.stat-grid b{display:block}.stat-grid small{color:#887a85;font-size:8px}.stat-grid b{color:#e0bd80;margin-top:4px;font-size:13px}.detail-skills{margin-top:20px}.skill-row{border-bottom:1px solid #392e3a;gap:9px;padding:9px 0;display:flex}.skill-row>b{color:#bc826d;min-width:62px;font-size:8px}.skill-row strong,.skill-row small{display:block}.skill-row strong{color:#e5d2bd;font-size:11px}.skill-row small{color:#988992;margin-top:3px;font-size:9px}.progression-actions{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px;display:grid}.progression-actions button{min-height:34px;padding:6px;font-size:9px}.progression-actions button:disabled{cursor:not-allowed;opacity:.4}.side-panel{border-left:1px solid #332a36;padding-left:30px}.quest{border-bottom:1px solid #302833;gap:12px;padding:14px 0}.quest-icon{font-size:24px}.quest div{flex:1}.quest b{color:#e1d0bd;font-size:12px}.quest p{color:#827881;margin:4px 0 8px;font-size:10px}.quest em{color:#ae8a6e;font-size:10px;font-style:normal}.quest-progress{width:100%}.quest-progress i{background:#b56c5c;width:33%}.quest-progress.half i{background:#c09d68;width:68%}.sect-divider{height:35px}.notice{color:#a49499;border-bottom:1px solid #302833;padding:11px 0;font-size:11px;line-height:1.6}.empty-state{color:#a8979d;text-align:center;border:1px dashed #5a4653;border-radius:6px;padding:32px 20px;font-size:13px}.status-message{color:#d3a66d;margin:14px 0 0;font-size:11px}.defeat{text-align:center;color:#d69a9a;background:#2b222d;border:1px solid #704850;margin-top:18px;padding:16px}.battle-heading{justify-content:space-between;margin-bottom:18px}.battle-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.turn-chip{color:#d9a966;letter-spacing:1px;border:1px solid #795642;padding:7px 11px;font-size:10px}.control-button,.skill-button{color:#c7a77e;cursor:pointer;background:#241d2a;border:1px solid #4d3a48;border-radius:4px;padding:7px 9px;font-size:10px}.control-button:hover:not(:disabled),.skill-button:hover:not(:disabled){color:#efd29d;border-color:#c59664}.control-button:disabled,.skill-button:disabled{opacity:.4;cursor:not-allowed}.turn-order{color:#887a85;letter-spacing:1px;align-items:center;gap:8px;margin-bottom:16px;font-size:9px;display:flex;overflow-x:auto}.turn-order b{letter-spacing:0;white-space:nowrap;border-radius:3px;padding:5px 7px;font-size:10px}.turn-order b.ally{color:#a8d7af;background:#263d3b}.turn-order b.enemy{color:#dda1a1;background:#452b37}.arena{background:radial-gradient(circle,#29202e,#191620);border:1px solid #3c2d3e;border-radius:8px;grid-template-columns:1fr 160px 1fr;align-items:center;gap:24px;padding:28px;display:grid}.arena.effect-skill{animation:.35s ease-out arena-pulse}.arena.effect-critical{animation:.45s ease-out arena-critical}.arena.effect-dodge{animation:.3s ease-out arena-dodge}.side h3{color:#8f7b85;letter-spacing:1px;margin:0 0 14px;font-size:10px}.unit-card{color:#ead9c5;text-align:left;background:#251e2b;border:1px solid #3b2e3b;border-radius:5px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:10px;display:flex}.unit-card.ally{cursor:pointer}.unit-card.ally:hover{border-color:#c59664}.unit-card.enemy{opacity:.9}.unit-card.defeated{opacity:.25;filter:grayscale()}.unit-icon{font-size:27px}.unit-image{object-fit:cover;border-radius:5px;width:42px;height:42px}.unit-card div{flex:1}.unit-card b,.unit-card small{display:block}.unit-card b{font-size:12px}.unit-card small{color:#9d8b90;margin:3px 0 7px;font-size:9px}.bar,.speed-meter{background:#3a303c;width:100%;height:4px;overflow:hidden}.bar i{background:#75a46b}.speed-meter{height:2px;margin-top:3px}.speed-meter i{background:#c89b63;height:100%;display:block}.enemy .bar i{background:#ad5f61}.status-list{flex-wrap:wrap;gap:3px;margin-top:5px;display:flex}.status-list span{color:#e3b78e;background:#4a3547;border-radius:2px;padding:2px 4px;font-size:8px}.skill-actions{gap:4px;margin-bottom:9px;display:flex}.skill-button{flex:1;padding:5px 3px;font-size:8px}.versus{color:#b27b79;text-align:center;font:700 25px Cinzel,serif}.battle-log{text-align:left;color:#a6979a;margin-top:18px;font:10px Be Vietnam Pro,sans-serif}.battle-log p{margin:8px 0}.victory,.defeat,.reward-banner{text-align:center;margin-top:18px;padding:16px}.victory{color:#e8c27e;background:#2b2630;border:1px solid #745b48}.reward-banner{color:#c9dfa5;background:#24352c;border:1px solid #557354;font-size:12px}@keyframes arena-pulse{50%{box-shadow:inset 0 0 35px #bd7d5b55}}@keyframes arena-critical{25%{filter:brightness(1.7);transform:translate(2px)}50%{filter:brightness(.8);transform:translate(-2px)}}@keyframes arena-dodge{50%{transform:translate(8px)}}.build-badge{color:#2a1d21;letter-spacing:1px;vertical-align:middle;background:#e0ad65;border-radius:3px;margin-left:9px;padding:4px 6px;font:700 8px Be Vietnam Pro,sans-serif;display:inline-block}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#09070dbd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.summon-modal{text-align:center;background:radial-gradient(circle at 50% 30%,#4f2c46,#19131f 70%);border:1px solid #88644f;border-radius:9px;width:min(440px,100%);padding:30px;animation:.3s ease-out both modal-enter;position:relative;overflow:hidden;box-shadow:0 20px 70px #000b}.modal-close{color:#c4a99e;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:12px}.summon-modal h2{color:#f0dfc0;margin:0;font:700 25px Cinzel,serif}.summon-gate{place-items:center;height:230px;margin:12px 0;display:grid;position:relative}.summon-silhouette{z-index:2;color:#e4bd7c;place-items:center;width:130px;height:130px;font-size:75px;display:grid;position:relative}.summon-silhouette img{object-fit:cover;border-radius:50%;width:130px;height:130px;animation:.6s ease-out both summon-reveal}.summon-ring{border:2px solid #d5a35f;border-radius:50%;width:190px;height:190px;animation:3s linear infinite ring-spin;position:absolute;box-shadow:0 0 30px #cf925f}.summon-hint,.summon-result{color:#b09a9c;font-size:12px}.summon-result{color:#e6ba75;font-weight:700}.summon-modal-actions{justify-content:center;gap:9px;display:flex}.summon-modal-actions>button:not(.primary){color:#c7a77e;cursor:pointer;background:#241d2a;border:1px solid #4d3a48;border-radius:4px;padding:11px 16px}.summon-modal.revealed .summon-ring{border-color:#efcf83}.summon-modal:not(.revealed) .summon-silhouette{animation:1.1s ease-in-out infinite seal-pulse}@keyframes modal-enter{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes summon-reveal{0%{opacity:0;transform:scale(.35)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes seal-pulse{50%{filter:drop-shadow(0 0 15px #e1ae6b);transform:scale(1.13)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.battle-stage{background:radial-gradient(at 50% 62%,#5b354d 0%,#2d2035 34%,#17131f 76%);border:1px solid #624554;border-radius:10px;grid-template-columns:1fr 150px 1fr;align-items:center;gap:12px;min-height:470px;padding:46px 32px 28px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #08070d99,0 18px 50px #09070e80}.battle-stage:before,.battle-stage:after{content:"";pointer-events:none;filter:blur(1px);border-radius:50%;position:absolute}.battle-stage:before{background:#d29a5b33;width:60%;height:45%;bottom:-25%;left:20%;box-shadow:0 0 70px #d29a5b44}.battle-stage:after{background:linear-gradient(115deg,#0000 30%,#e2b8750d 50%,#0000 70%);animation:5s ease-in-out infinite stage-light;inset:0}.stage-stars{opacity:.8;pointer-events:none;position:absolute;inset:0}.stage-stars i{background:#ffe8ad;border-radius:50%;width:3px;height:3px;animation:2.4s ease-in-out infinite star-twinkle;position:absolute;box-shadow:0 0 10px #ffe8ad}.stage-stars i:first-child{top:18%;left:11%}.stage-stars i:nth-child(2){animation-delay:.4s;top:28%;left:38%}.stage-stars i:nth-child(3){animation-delay:.8s;top:13%;right:18%}.stage-stars i:nth-child(4){animation-delay:1.2s;top:43%;right:7%}.stage-stars i:nth-child(5){animation-delay:1.6s;bottom:20%;left:28%}.stage-stars i:nth-child(6){animation-delay:2s;bottom:30%;right:32%}.stage-title{z-index:2;text-align:center;color:#d7b17e;letter-spacing:3px;width:100%;font:700 10px Cinzel,serif;position:absolute;top:16px;left:0}.stage-title span{color:#f0d397;margin:0 10px}.stage-team{z-index:2;grid-template-columns:repeat(2,1fr);align-self:end;gap:30px 20px;display:grid;position:relative}.enemy-stage,.enemy-stage .stage-name,.enemy-stage .stage-status{transform:scaleX(-1)}.stage-unit{text-align:center;min-width:100px;animation:3s ease-in-out infinite unit-float;animation-delay:calc(var(--unit-index) * -.35s);transition:opacity .3s,filter .3s;position:relative}.stage-unit:nth-child(2n){animation-direction:reverse}.stage-unit.stage-active{filter:drop-shadow(0 0 18px #e6b866aa)}.stage-unit.stage-active .stage-image{transform:scale(1.09)}.stage-unit.stage-defeated{opacity:.2;filter:grayscale();animation:none}.stage-aura{z-index:-1;background:radial-gradient(circle,#e0a26755,#0000 68%);border-radius:50%;width:120px;height:120px;animation:2s ease-in-out infinite aura-pulse;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.enemy-stage .stage-aura{background:radial-gradient(circle,#8b5aaf55,#0000 68%)}.stage-image{object-fit:cover;border:2px solid #d5a35f99;border-radius:27px;width:116px;height:116px;transition:transform .2s;box-shadow:0 10px 24px #08060d99}.enemy-stage .stage-image{border-color:#9c657f99}.stage-name{color:#f0dfc0;text-shadow:0 2px 6px #000;margin-top:7px;font-size:11px;font-weight:700;position:relative}.stage-hp{background:#17121e;border:1px solid #755562;border-radius:4px;width:116px;height:5px;margin:5px auto 0;position:relative;overflow:hidden}.stage-hp i{background:linear-gradient(90deg,#df735d,#e6bc68);height:100%;transition:width .45s;display:block}.enemy-stage .stage-hp i{background:linear-gradient(90deg,#a54b6d,#c36c79)}.stage-status{justify-content:center;gap:3px;margin-top:4px;display:flex;position:relative}.stage-status span{color:#eed1a1;background:#442d46dd;border-radius:3px;padding:2px 4px;font-size:8px}.stage-center{z-index:3;place-items:center;min-height:240px;display:grid;position:relative}.battle-sigil{color:#e1b36c;text-shadow:0 0 24px #d89260;font-size:57px;animation:8s linear infinite sigil-spin}.stage-vs{color:#f2c184;text-shadow:0 0 18px #d17862;margin-top:10px;font:700 27px Cinzel,serif}.stage-impact{border:1px solid #e6b46d88;border-radius:50%;width:120px;height:120px;animation:4s linear infinite impact-spin;position:absolute}.damage-pop{z-index:4;color:#ffe4a0;text-shadow:0 2px #712e42,0 0 18px #ffb567;opacity:0;font:800 29px Cinzel,serif;position:absolute;top:27%}.effect-hit .damage-pop,.effect-critical .damage-pop{animation:.8s ease-out 50ms both damage-rise}.effect-critical .damage-pop{color:#fff0a9;font-size:37px}.effect-critical .stage-impact{border-color:#ffdd76;animation:.5s ease-out impact-burst;box-shadow:0 0 25px #ff8f54}.effect-dodge .stage-center{animation:.35s ease-out dodge-slide}.stage-log{z-index:4;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#120f19bb;border:1px solid #614352;border-radius:5px;width:min(520px,72%);margin:0;padding:7px 12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.stage-log p{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;overflow:hidden}.battle-roster{grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;display:grid}.skill-effect-asset{z-index:-1;object-fit:contain;opacity:0;filter:drop-shadow(0 0 18px #f4bd6d);pointer-events:none;width:180px;height:180px;position:absolute}.effect-hit .skill-effect-asset,.effect-critical .skill-effect-asset{animation:.85s ease-out both skill-burst}.effect-critical .skill-effect-asset{filter:drop-shadow(0 0 25px #fff0a0);width:235px;height:235px}.ally-turn .stage-team.ally-stage .stage-active{animation:.55s cubic-bezier(.2,.8,.2,1) attacker-lunge-right}.enemy-turn .stage-team.enemy-stage .stage-active{animation:.55s cubic-bezier(.2,.8,.2,1) attacker-lunge-left}.effect-dodge .stage-team .stage-active{animation:.4s ease-out dodge-unit}@keyframes stage-light{50%{opacity:.5;transform:translate(8%)}}@keyframes star-twinkle{50%{opacity:.25;transform:scale(.5)}}@keyframes unit-float{50%{transform:translateY(-7px)}}@keyframes aura-pulse{50%{opacity:.55;transform:translate(-50%)scale(1.16)}}@keyframes sigil-spin{to{transform:rotate(360deg)}}@keyframes impact-spin{to{transform:rotate(360deg)scale(1.05)}}@keyframes damage-rise{0%{opacity:0;transform:translateY(18px)scale(.7)}25%{opacity:1}to{opacity:0;transform:translateY(-34px)scale(1.12)}}@keyframes impact-burst{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}@keyframes dodge-slide{50%{transform:translate(12px)}}@keyframes skill-burst{0%{opacity:0;transform:scale(.25)rotate(-35deg)}25%{opacity:1}to{opacity:0;transform:scale(1.35)rotate(25deg)}}@keyframes attacker-lunge-right{35%{transform:translate(40px)scale(1.12)}70%{transform:translate(-4px)scale(1.02)}}@keyframes attacker-lunge-left{35%{transform:translate(-40px)scale(1.12)}70%{transform:translate(4px)scale(1.02)}}@keyframes dodge-unit{50%{transform:translate(24px)rotate(4deg)}}@media (width<=900px){.battle-stage{grid-template-rows:1fr 90px 1fr;grid-template-columns:1fr;min-height:560px;padding:45px 18px 38px}.stage-team{width:80%;margin:auto}.enemy-stage,.enemy-stage .stage-name,.enemy-stage .stage-status{transform:scaleX(-1)rotate(180deg)}.stage-center{min-height:70px}.battle-roster{grid-template-columns:1fr}}@media (width<=560px){.battle-stage{min-height:610px;padding-inline:8px}.stage-team{gap:18px 8px;width:100%}.stage-image{width:87px;height:87px}.stage-hp{width:87px}.stage-name{font-size:9px}.stage-log{width:92%}.battle-roster{margin-top:12px}}footer{color:#6d626d;letter-spacing:1px;border-top:1px solid #2c2632;justify-content:space-between;padding:24px 8%;font-size:10px;display:flex}@media (width<=900px){.content-grid{grid-template-columns:1fr}.side-panel{border:0;padding:0}.spirit-grid{grid-template-columns:repeat(2,1fr)}.collection-layout{grid-template-columns:1fr}.spirit-detail{position:static}.collection-grid{grid-template-columns:repeat(3,1fr)}.clan-stats{bottom:18px;right:5%}.hero-panel{padding-left:5%}.arena{grid-template-columns:1fr}.versus{order:2}.enemy-side{order:3}.battle-log{max-width:400px;margin:12px auto}.battle-heading{flex-direction:column;align-items:flex-start;gap:15px}}@media (width<=560px){.topbar{padding:0 4%}.resources span:not(:last-of-type){display:none}.hero-panel{min-height:410px}.mountain{opacity:.5;width:90%;right:-20%}.clan-stats{gap:15px;left:5%;right:auto}.content-grid,.battle-board,.collection-screen{padding:28px 5%}.collection-toolbar{flex-direction:column;align-items:flex-start}.collection-filters{width:100%}.collection-filters select,.filter-button{flex:1}.collection-grid{grid-template-columns:repeat(2,1fr)}.collection-art{height:110px}.collection-art>span{font-size:50px}.summon-card{flex-direction:column;align-items:flex-start;gap:15px}.tabs{gap:14px;padding:0 5%;overflow-x:auto}.tabs button{white-space:nowrap}.arena{padding:16px}.progression-actions{grid-template-columns:1fr}footer{flex-direction:column;gap:8px}}
