/* A portrait game viewport shared with the approved summon presentation. */
:root{--ink:#f3e9da;--muted:#ae9ea6;--gold:#d9b474;--line:#bba0742e;--panel:#17131b;--font-display:"Songti SC","SimSun",serif}
html,body{height:100%;min-height:100%;margin:0;background:#08090e}
body{font:13px/1.55 "Microsoft YaHei",system-ui,sans-serif;background:radial-gradient(ellipse at 50% 30%,#342033,#10121a 42%,#06070b 80%)}
button{font-family:inherit;-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.5}
.mobile-shell{width:100%;max-width:540px;height:100svh;min-height:640px;margin:0 auto;padding:0!important;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;position:relative;background:radial-gradient(ellipse at 90% 0,#35182350,transparent 55%),#100d15;border-inline:1px solid #a8814440;box-shadow:0 0 100px #000c}
.mobile-shell .game-topbar{height:80px;min-height:80px;padding:10px 19px;flex:none;flex-wrap:nowrap;border-bottom:1px solid #cfaa672a;background:linear-gradient(#0c0b12,#100c15);z-index:30;gap:12px}
.game-topbar .brand{min-width:0;display:flex;flex-direction:column;gap:3px;color:#f7eedf;white-space:nowrap}
.game-topbar .brand>span{font:9px/1.3 "Microsoft YaHei",sans-serif;letter-spacing:3px;color:#c8a774}
.game-topbar .brand>strong{font:500 23px/1.4 var(--font-display);letter-spacing:4px}
.header-actions{display:flex;gap:9px;align-items:center;min-width:0}
/* The entire collection card opens a character; the gallery is one step inside. */
.collection-card[data-character]{cursor:pointer;touch-action:manipulation}
.collection-card[data-character]:focus-visible{outline:2px solid #efcb86;outline-offset:3px}
.collection-card .card-enter{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:#c5ad88;border-top:1px solid #d5b07140;padding-top:6px}
.card-enter i{font-style:normal;font-size:16px}
.screen-character .game-scroll{padding:0;isolation:isolate}
.screen-character .game-scroll>.wallet{display:none}
.character-toolbar{position:absolute;top:10px;left:16px;right:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:11px;color:#e1c89b;text-shadow:0 1px 8px #000}
.character-toolbar button{background:none;border:0;padding-left:0;font-size:12px}
.character-portrait{position:relative;isolation:isolate;height:max(350px,calc(100dvh - 282px));overflow:hidden;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 35%,#512634,#100d15 75%)}
.character-portrait:before{display:none!important}
.character-portrait:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#100b15f5);pointer-events:none;z-index:1}
.character-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.character-caption{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;text-shadow:0 2px 12px #000}
.character-caption p{font-size:11px;color:#d7b881;letter-spacing:2px;margin:0}
.character-caption>span{font-size:12px;color:#d4c7bc}
.character-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:9px;margin:0;padding:12px 16px 4px;background:linear-gradient(#100b15,#171019)}
.character-actions button{font-size:13px;min-height:48px}
.character-actions span{margin-left:13px}
.character-inline-gallery{scroll-margin-top:12px;padding:22px 16px 26px;border-top:1px solid #cfaa672d;background:linear-gradient(180deg,#171019,#100d15)}
.character-inline-gallery .gallery-heading{margin-bottom:14px}
.character-inline-gallery .gallery-heading:before{content:"KEEP SCROLLING · CHARACTER GALLERY";display:block;width:100%;margin-bottom:11px;color:#caa66e;font-size:10px;letter-spacing:2px;text-align:center}
.character-inline-gallery .gallery-media{margin-top:18px}
.character-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ac864b40;border-radius:6px;padding:12px 0;background:#21182180}
.character-stats>div{text-align:center;border-right:1px solid #bc9b5925}.character-stats>div:last-child{border:0}
.character-stats small{display:block;color:#9b8b94;font-size:10px;margin-bottom:5px}.character-stats strong{color:#ead3ac;font-size:18px;font-weight:500}
.character-inventory{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;font-size:11px;color:#b7a7af;border-top:1px solid #ac864b30;padding-top:8px;margin-top:12px}
.character-inventory button{font-size:11px;background:none;border:0;color:#daba80;padding:5px}
.character-info{margin:0;padding:0 16px 14px;border-top:1px solid #cfaa671f;background:#171019}
.character-info>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;min-height:44px;font-size:11px;color:#cdb78f;cursor:pointer;padding:0!important}
.character-info>summary::-webkit-details-marker{display:none}.character-info>summary>span{font-size:10px;color:#8f808c}
@media(min-width:701px){.character-portrait{height:max(350px,calc(100dvh - 314px))}}
.game-topbar .resources{display:flex;flex-direction:column;gap:3px;align-items:flex-end;font-size:11px;min-width:0}
.game-topbar .resource{border:0;background:none;padding:0;display:flex;align-items:center;gap:5px;max-width:125px;overflow:hidden;font-variant-numeric:tabular-nums}
.resource svg{width:13px;height:13px;color:#d9b474;flex:none}.resource b{font-weight:500}
.game-menu{position:relative}.game-menu>summary{list-style:none;display:grid;place-items:center;width:40px;height:44px;min-height:44px;padding:0!important;border:1px solid #b7976340;border-radius:50%;cursor:pointer;color:#ddc391}.game-menu>summary::-webkit-details-marker{display:none}.game-menu svg{width:19px;height:19px}
.game-menu-popover{position:absolute;right:0;top:52px;width:185px;padding:15px;border:1px solid #b28c57;background:#19121ef5;box-shadow:0 10px 40px #000b;display:flex;flex-direction:column;gap:10px;border-radius:6px}.game-menu-popover span{font-size:11px;color:#b4a591}.game-menu-popover button{font-size:12px}
.game-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8b674850 transparent;padding:0 16px 22px;position:relative}
.mobile-shell .wallet{margin:0 0 15px;min-height:39px;padding:7px 0;gap:18px;font-size:10px;border-bottom:1px solid #d6ad6219;color:#9d9095;flex-wrap:wrap}.wallet b{color:#dccaac;margin-left:4px;font-weight:500}.writer-wait{font-size:10px;padding:2px 5px}
.mobile-shell .main-nav{height:72px;min-height:72px;flex:none;margin:0;padding:3px 13px max(3px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-top:1px solid #d6ad6230;background:linear-gradient(#17121d,#100d15);z-index:25;box-shadow:0 -6px 24px #09080c55}
.mobile-shell .main-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;min-width:0;min-height:56px;border:0;border-radius:0;background:none!important;padding:6px 0;color:#867b89;font-size:11px;font-weight:400;letter-spacing:2px}
.main-nav button svg{width:24px;height:24px}.mobile-shell .main-nav button.active{color:#f2ce8e;text-shadow:0 0 10px #d09b4933;background:radial-gradient(ellipse at 50% 0,#b5843c25,transparent 75%)!important}.main-nav button.active:before{content:"";position:absolute;top:-4px;width:30px;height:1px;background:#eac17c;box-shadow:0 0 10px #ffbe6766}
.screen-summon .game-scroll:has(.summon-home),.screen-qa .game-scroll:has(.summon-home){padding:0;display:flex;flex-direction:column}
.screen-summon .game-scroll:has(.summon-home)>.wallet,.screen-qa .game-scroll:has(.summon-home)>.wallet{display:none}
.mobile-shell h1{font:500 28px/1.25 var(--font-display);letter-spacing:2px;margin:10px 0}.mobile-shell h2{font:500 21px/1.4 var(--font-display);letter-spacing:1px;margin:5px 0}.mobile-shell h3{font-size:15px}.mobile-shell p{line-height:1.65}
.mobile-shell .panel{padding:15px;border:1px solid #b3976930;border-radius:7px;box-shadow:none;background:linear-gradient(125deg,#20151eee,#141119ee);margin:12px 0}
.mobile-shell .panel .muted{font-size:11px}
.mobile-shell button{border-radius:4px;min-height:44px}.mobile-shell button.primary{border:1px solid #e4bf7a;background:linear-gradient(110deg,#b68747,#dfb66c 48%,#ba8549);box-shadow:inset 0 1px #fff1c766;color:#2b1a1b;font-weight:650}
.mobile-shell .notice{font-size:11px;padding:10px 12px;border:1px solid #b5956030;border-left:2px solid #bf9860;border-radius:3px;background:#35243255;color:#d9cabb}
.mobile-shell .collection-head{display:block;margin:8px 0 14px}.collection-head>.muted{max-width:100%;font-size:11px!important;margin-top:8px!important;line-height:1.8}
.mobile-shell .role-filters{display:flex;flex-wrap:nowrap;overflow:auto;scrollbar-width:none;margin:0 0 16px;gap:6px;padding-bottom:10px}.role-filters button{flex:none;font-size:11px;min-width:53px;padding:8px 10px;min-height:44px}
.mobile-shell .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-shell .hero-grid .collection-card{min-height:0;aspect-ratio:3/5}.mobile-shell .hero-grid .card-copy{left:9px;right:9px;bottom:10px;gap:3px}.mobile-shell .hero-grid .card-copy h3{font-size:16px}.mobile-shell .hero-grid .card-copy>span{font-size:11px}.mobile-shell .hero-grid .card-copy .muted{font-size:10px}.mobile-shell .hero-grid .card-copy button{font-size:11px;padding:5px;margin-top:5px}
.mobile-shell .hero-grid .rarity-badge{top:8px;left:8px}.mobile-shell .hero-grid .role-seal{top:8px;right:8px;width:24px;height:24px;font-size:10px}.mobile-shell .collection-card.quality-sr .rarity-badge{width:35px;height:25px;font-size:11px}
.mobile-shell .split{display:block}.mobile-shell .gallery-layout{display:block;margin:12px 0}.mobile-shell .gallery-stage{position:relative;top:auto;min-height:0;max-width:none;width:100%;aspect-ratio:3/4}.mobile-shell .gallery-content{margin-top:16px}.mobile-shell .appearance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-shell .appearance-tile strong{font-size:12px}.mobile-shell .appearance-tile small{font-size:10px}
.mobile-shell .gallery-actions{display:flex;gap:8px}.gallery-actions button{font-size:11px;flex:1;min-width:0}
.mobile-shell .nav:not(.main-nav){display:grid;grid-template-columns:1fr 1fr;margin:0 0 12px;gap:7px}.mobile-shell .nav:not(.main-nav) button{font-size:12px;background:#16121b;border-color:#8c6e5038}.mobile-shell .nav:not(.main-nav) button.active{background:linear-gradient(120deg,#5b2637,#281621);border-color:#c39d66;color:#edcc91}
.mobile-shell .idle-controls{position:relative;padding:13px 14px;margin-top:0}.idle-controls h2{font-size:20px;margin:0}.idle-controls .eyebrow{margin:0 0 3px;font-size:10px}.idle-controls p:not(.eyebrow){font-size:11px;margin:6px 0 12px;color:#b5a6a8}.idle-controls .row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.idle-controls button{padding:5px;font:13px Georgia,serif;color:#d6bd91;background:#151119}.idle-controls button.active{border-color:#dab577;box-shadow:inset 0 0 12px #d6ad6222;color:#ffe4af}
.mobile-shell .enemy-frame{grid-template-columns:100px minmax(0,1fr);gap:10px;padding:11px 18px 11px 10px;clip-path:polygon(0 0,97% 0,100% 9%,100% 100%,3% 100%,0 90%)}.mobile-shell .enemy-visual{min-height:158px}.mobile-shell .enemy-head{display:block}.mobile-shell .enemy-head h1{font:500 21px/1.3 var(--font-display);margin:4px 0}.mobile-shell .enemy-head .eyebrow{font-size:9px;margin:4px 0}.mobile-shell .enemy-identity{font-size:9px;padding:2px 7px}.mobile-shell .enemy-head .muted{font-size:9px}.mobile-shell .intent{border:0;background:none;clip-path:none;text-align:left;padding:3px 0;font-size:10px}.mobile-shell .intent br,.mobile-shell .intent>span{display:none}.mobile-shell .intent strong{font-size:10px;color:#c3adb1}.mobile-shell .bar-row{grid-template-columns:24px minmax(0,1fr) auto;gap:5px;font-size:9px;margin-top:7px}
.mobile-shell .team-grid.five-team{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.mobile-shell .five-team .battle-card{grid-column:span 2;min-height:0;aspect-ratio:3/4.5;width:100%;max-width:none}.mobile-shell .five-team .battle-card:nth-child(4){grid-column:2/span 2}.mobile-shell .five-team .battle-card:nth-child(5){grid-column:4/span 2;width:100%}.mobile-shell .five-team .card-copy{left:5px;right:5px;bottom:6px;gap:2px}.mobile-shell .five-team .card-copy h3{font-size:11px}.mobile-shell .five-team .role{font-size:9px}.mobile-shell .five-team .skill strong,.mobile-shell .five-team .skill span{font-size:9px}.mobile-shell .five-team .rarity-badge{width:25px;height:21px;font-size:9px;left:6px;top:6px}.mobile-shell .five-team .quality-sr .rarity-badge{width:29px;height:23px}.mobile-shell .empty-slot strong{font-size:11px}.mobile-shell .empty-slot small{font-size:9px}.mobile-shell .section-head{align-items:center}.mobile-shell .section-head>span{font-size:10px;max-width:48%}.mobile-shell .section-head h2{font-size:20px}.mobile-shell .section-head .eyebrow{font-size:9px}
.mobile-shell .bottom-actions{bottom:-22px;padding:12px 0 10px;gap:8px;background:linear-gradient(#100d1580,#100d15 25%);backdrop-filter:blur(8px)}.bottom-actions button{font-size:12px;padding:8px}.mobile-shell .battle-now{font-size:10px;gap:8px}.battle-now strong{font-size:10px}.mobile-shell .battle-log{font-size:11px}.mobile-shell details.panel summary{font-size:12px;min-height:44px}.mobile-shell .skill-preview button{font-size:11px}
.screen-formation .wallet{min-height:29px;margin-bottom:8px;padding:4px 0}.screen-formation .role-filters{padding:0;margin-bottom:9px;border:0;display:grid;grid-template-columns:1fr 1fr}.screen-formation .role-filters button{width:100%;font-size:12px}
.mobile-shell .idle-controls{padding:10px 11px;margin-bottom:10px}.idle-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px;padding-right:21px}.idle-heading>span:last-child{font-size:10px;color:#ac99a4}.idle-heading .eyebrow{margin:0;letter-spacing:.03em}.idle-drop-details{position:absolute;top:0;right:0;z-index:15}.mobile-shell .idle-drop-details>summary{width:33px;height:37px;min-height:37px;padding:6px 8px;list-style:none;text-align:center;color:#aa946f}.idle-drop-details>summary::-webkit-details-marker{display:none}.idle-drop-details[open]>p{position:absolute;right:4px;top:29px;width:240px;padding:12px!important;border:1px solid #927046;background:#17111df5;box-shadow:0 8px 20px #0009;color:#d9c9b3!important;margin:0!important}
.mobile-shell .enemy-frame{grid-template-columns:85px minmax(0,1fr)}.mobile-shell .enemy-visual{min-height:120px}.mobile-shell .enemy-head .eyebrow{display:none}.mobile-shell .enemy-head h1{font-size:20px}.mobile-shell .enemy-head .muted{display:none}.mobile-shell .section-head{margin:10px 0 7px}.mobile-shell .section-head .eyebrow{display:none}.mobile-shell .section-head h2{font-size:19px}.mobile-shell .five-team .battle-card{aspect-ratio:3/4}.mobile-shell .five-team .card-copy h3{font-size:12px;letter-spacing:0}.mobile-shell .five-team .role{display:none}.mobile-shell .five-team .skill strong{font-size:10px}.mobile-shell .five-team .skill span{font-size:9px}
.mobile-shell .summon-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-shell .summon-card-grid .collection-card{min-height:0;aspect-ratio:3/4}.mobile-shell .summon-card-grid .card-copy h3{font-size:10px}.mobile-shell .tutorial-results{max-height:390px}.mobile-shell .tutorial-results .quality{font-size:9px}.mobile-shell .tutorial-results+.notice+button{width:100%}
.training-hero{position:relative;min-height:330px;height:43svh;max-height:440px;overflow:hidden;margin:-15px -16px 0;background:radial-gradient(ellipse at 50% 35%,#582039,transparent 70%),#0b0910}.training-hero>img{position:absolute;width:100%;height:170%;object-fit:cover;object-position:50% 10%;top:0}.training-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#100d15)}.training-caption{position:absolute;z-index:1;bottom:20px;left:22px;right:22px}.training-caption>span{font-size:10px;color:#ddbd82;letter-spacing:3px}.training-caption h1{font-size:32px;margin:6px 0}.training-caption button{position:absolute;bottom:4px;right:0;font-size:10px;background:#15101ddd;border-color:#bb95554d}
.training-picker{display:flex;gap:8px;overflow:auto;padding:10px 0 13px;scrollbar-width:thin}.training-picker button{position:relative;flex:0 0 64px;height:82px;padding:0;border:1px solid #6f566344;background:#0b090e;overflow:hidden}.training-picker img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}.training-picker span{position:absolute;bottom:0;left:0;right:0;background:#130d18dd;padding:3px 0;font-size:9px;white-space:nowrap}.training-picker button[aria-pressed=true]{border:1px solid #e9bc75;box-shadow:0 0 10px #c3944033}
.growth-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0;gap:8px}.growth-stats>div{border-left:1px solid #d7af7340;padding-left:10px}.growth-stats small{display:block;font-size:10px;color:#9f909a}.growth-stats strong{display:block;font-size:14px;font-weight:400;white-space:nowrap}.growth-stats i{font-size:10px;color:#dab77e;font-style:normal}.level-panel .primary{width:100%;display:flex;justify-content:space-between;align-items:center}.level-panel .primary small{font-size:10px;font-weight:400}
.modal{z-index:80}.modal>.panel{width:100%;max-height:85svh;overflow:auto}.modal .row button{flex:1}.mobile-shell .lord-panel{padding-top:250px;background:linear-gradient(transparent,#100d15 260px),url('../../assets/card-v04/characters/queen/sr.webp') 50% 8%/100% auto no-repeat,#100d15}.mobile-shell .lord-panel.eclipse-lord-panel{background:linear-gradient(180deg,transparent 18%,#100b1bd9 53%,#0b0812 76%),var(--lord-panel-art,url('../../assets/card-v04/characters/eclipse_lord/d.webp')) 50% 8%/100% auto no-repeat,#0b0812}.lord-panel h1{font-size:30px}.lord-panel button{width:100%}
@media(min-width:700px){body{padding:18px}.mobile-shell{max-width:490px;height:calc(100svh - 36px);min-height:740px;border-radius:7px}}
@media(max-height:760px){.mobile-shell{min-height:650px}.mobile-shell .game-topbar{height:67px;min-height:67px}.mobile-shell .main-nav{height:65px;min-height:65px}.main-nav button svg{width:21px;height:21px}.game-topbar .brand>strong{font-size:22px}.training-hero{min-height:290px}}
@media(max-height:660px) and (max-width:699px){.mobile-shell{min-height:640px}}
@media(prefers-reduced-motion:reduce){.mobile-shell *{scroll-behavior:auto!important}}

/* Direct-play controls live on the cards, rather than in a separate editor. */
[data-team-slot]{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:pointer;outline-offset:3px}
[data-team-slot][aria-disabled=true]{cursor:default}
[data-team-slot]:focus-visible{outline:2px solid #f4d29a}
[data-team-slot] img{-webkit-user-drag:none;user-select:none}
[data-slot-drag]{position:absolute;z-index:12;right:5px;top:5px;display:grid;place-items:center;width:27px;height:28px;border:1px solid #d8be8d45;border-radius:4px;background:#0a090dbb;color:#e0c18d;font:22px/1 sans-serif;touch-action:none;cursor:grab}
.is-dragging{opacity:.38}.is-drop-target{filter:brightness(1.3);outline:2px solid #f3cd81;outline-offset:-3px}.is-drag-armed [data-slot-drag]{background:#655034}.is-team-dragging{cursor:grabbing}
.team-slot-ghost{z-index:110!important;box-shadow:0 10px 35px #000b;pointer-events:none!important;filter:brightness(1.12)}
.team-slot-ghost .card-copy{left:5px;right:5px;bottom:6px;padding:0;gap:2px}.team-slot-ghost .card-copy h3{min-height:0;font-size:12px}.team-slot-ghost .card-copy:before{content:"";position:absolute;z-index:-1;inset:-24px -7px -7px;background:linear-gradient(transparent,#0a0b0ef5 40%)}.team-slot-ghost .skill strong{font-size:10px}.team-slot-ghost .skill span{font-size:9px}.team-slot-ghost .rarity-badge{width:25px;height:21px;font-size:9px;top:6px;left:6px}.team-slot-ghost.quality-sr .rarity-badge{width:29px;height:23px}
.mobile-shell .battle-now{min-height:38px;margin:12px 0 0;line-height:1.5;padding:8px 10px}
.mobile-shell .battle-now>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-shell .battle-log{margin:10px 0;font-size:11px}.battle-log>summary{min-height:40px;display:flex;align-items:center;color:#a4929d}.mobile-shell .battle-log .log{max-height:200px;overflow:auto}
.mobile-shell .duplicate-entry{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:13px 14px;text-align:left;background:linear-gradient(110deg,#32212d,#17111c);border:1px solid #a0805055;color:#e7c387}
.duplicate-entry strong{font-size:13px;font-weight:500}.duplicate-entry small{display:block;margin-top:5px;font-size:10px;color:#b19caa}.duplicate-entry>b{font-size:20px;font-weight:400}
.compact-modal{padding:16px;background:#08070bdd;backdrop-filter:blur(7px)}
.compact-modal>.panel{width:min(100%,450px);max-height:82svh;padding:20px;background:linear-gradient(145deg,#261a28,#100e16);border:1px solid #b68f5e66;border-radius:10px;box-shadow:0 20px 80px #0008}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dialog-heading h2{font:24px/1.3 var(--font-display,serif);color:#f3dfc0;margin:4px 0}.dialog-heading .eyebrow{font-size:10px;margin:0;color:#c5a369}.dialog-heading button{min-width:44px;min-height:44px;padding:3px;font:25px/1 sans-serif;border:1px solid #8b726344;background:#1c1420;color:#d3ba96;border-radius:50%}
.compact-modal .muted{font:11px/1.8 sans-serif;color:#b8a6b2;margin:8px 0 14px}.compact-modal .row{display:flex;gap:10px}.compact-modal .row button{min-height:46px;font-size:13px;border-radius:4px}
.compact-modal .primary{background:linear-gradient(110deg,#b68747,#dfb66c 48%,#ba8549);border-color:#dfb879;color:#2b1a1b;font-weight:600}
.duplicate-list{display:grid;gap:7px}.duplicate-row{display:flex;align-items:center;gap:9px;min-height:72px;border:1px solid #80604d44;border-radius:5px;padding:8px;background:#100d1599;cursor:pointer}
.duplicate-row input{accent-color:#d4ac6a;width:19px;height:19px;margin:0;flex:none}.duplicate-row img{width:39px;height:52px;object-fit:cover;object-position:50% 12%;border-radius:3px}.duplicate-row>span{flex:1;min-width:0}.duplicate-row strong{display:block;color:#e4d5c3;font-size:12px;font-weight:500}.duplicate-row small{display:block;color:#ab93a0;font-size:10px;margin-top:4px}.duplicate-row>b{color:#e1bb7e;font-size:16px;font-weight:400;text-align:right}
.duplicate-total{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #a38a573b;padding:18px 0;margin-top:15px;font-size:12px;color:#a995a4}.duplicate-total strong{color:#e4c18a;font-weight:500}.empty-duplicates{padding:28px 0;font-size:13px;text-align:center;color:#b8a6b2}
.slot-hero-list{display:grid;gap:7px}.slot-hero-list button{display:flex;align-items:center;gap:11px;width:100%;padding:7px 9px;min-height:76px;text-align:left;border:1px solid #84604355;border-radius:5px;background:#100d1599;color:#ead5b5}.slot-hero-list img{width:42px;height:61px;object-fit:cover;object-position:50% 12%;border-radius:3px}.slot-hero-list button>span{flex:1;min-width:0}.slot-hero-list strong{font-size:13px;font-weight:500}.slot-hero-list small{display:block;font-size:10px;color:#a893a1;margin-top:5px}.slot-hero-list b{font-size:10px;color:#d6b581;font-weight:400}.slot-hero-list button:disabled{opacity:.5}.squad-picker .slot-dismiss{width:100%;min-height:44px;margin-top:13px;font-size:12px;background:#342331;border:1px solid #8b7050;color:#dfc6a0}

/* Battle cards preserve the complete 9:16 illustration. Names, status bars and
   skill copy live in a dedicated footer and never cover the character art. */
.mobile-shell .five-team .battle-card{display:flex;flex-direction:column;aspect-ratio:auto!important;overflow:hidden;background:#090b0f}
.mobile-shell .five-team .battle-art-frame{position:relative;isolation:isolate;flex:0 0 auto;width:100%;aspect-ratio:9/16;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,var(--q-glow),#08090d 72%)}
.mobile-shell .five-team .battle-art-frame .card-art{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);max-width:none;object-fit:contain;object-position:center;transform:none;transform-origin:center;background:#08090d}
.mobile-shell .five-team .card-copy{position:relative;z-index:5;inset:auto;display:flex;flex:1 0 auto;min-height:72px;padding:7px 6px 8px;gap:3px;background:#0a0b0f;text-shadow:none}
.mobile-shell .five-team .card-copy:before{display:none}
.mobile-shell .five-team .card-copy h3{min-height:0;margin:0;color:var(--q-accent);font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-shell .five-team .card-copy .role,.mobile-shell .five-team .card-copy .mini-stat{display:none}
.mobile-shell .five-team .card-copy .mini-track{width:100%;height:5px;margin:1px 0 0}
.mobile-shell .five-team .card-copy .mini-track.sh{display:none}
.mobile-shell .five-team .card-copy .skill{width:100%;min-height:0;margin:2px 0 0;padding:0;border:0;line-height:1.2}
.mobile-shell .five-team .card-copy .skill strong,.mobile-shell .five-team .card-copy .skill span{display:block;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-shell .five-team .card-copy .effect-label{position:static;align-self:flex-start;max-width:100%;padding:1px 4px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-shell .five-team .battle-art-frame [data-slot-drag]{z-index:9}

