/* Readable campaign controls and two equal team strips; keep the viewport layout. */
body.anime-theme{font-size:18px}
.anime-theme.in-campaign .campaign-commands .command{min-height:76px;padding:9px 10px;gap:8px}
.anime-theme .campaign-commands .command-icon{flex:0 0 38px;width:38px;height:40px}
.anime-theme .campaign-commands .command-icon .menu-icon{display:block;width:38px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 4px #02071888)}
.anime-theme .command-copy{gap:4px}
.anime-theme .command-copy strong{font-size:16px;line-height:1.25}
.anime-theme .command-copy small{font-size:13px;line-height:1.35;color:#ddd3e9;overflow-wrap:anywhere}
.anime-theme #shop-dialog .dialog-top:before{background-image:url('assets/menu/icons/shop-v1.webp')}

.anime-theme.in-campaign .duel-benches{--bench-art:clamp(42px,4vw,64px);display:flex;gap:24px;align-items:flex-start;padding:8px 14px}
.anime-theme .duel-benches .bench{flex:1 1 0;min-width:0}
.anime-theme .duel-benches .bench>span{font-size:16px;font-weight:700;line-height:1.3;color:#f0e4f4}
.anime-theme.in-campaign .bench>div{display:flex;gap:6px;justify-content:flex-start;margin-top:6px}
.anime-theme.in-campaign .bench:last-child>div{justify-content:flex-end}
.anime-theme .duel-benches .bench-unit{display:flex;flex-direction:column;align-items:center;flex:0 1 calc((100% - 24px)/5);min-width:0;padding:3px 2px;border-radius:6px}
.anime-theme .duel-benches .bench-unit .avatar,.anime-theme .duel-benches .bench-unit .avatar canvas{width:min(100%,var(--bench-art))!important;height:var(--bench-art)!important;margin:0 auto}
.anime-theme .duel-benches .bench-unit .avatar .character-portrait{width:100%;height:100%;object-fit:contain}
.anime-theme.in-campaign .bench-unit small{font-size:12px;line-height:1.25;margin-top:3px;white-space:nowrap;color:#cfc3df}
.bench-status-compact{display:none;text-decoration:none}

/* Battle explanations and live information, without changing arena coordinates. */
.anime-theme.in-campaign .battle-head small{font-size:14px}
.anime-theme.in-campaign .fighter-label small{font-size:14px;line-height:1.5;color:#fff2e9;text-shadow:0 1px 4px #000}
.anime-theme.in-campaign :is(.prep-note,.demo-note){font-size:14px;line-height:1.5}
.anime-theme.in-campaign .battle-toolbar button{font-size:15px;min-height:38px}
.anime-theme.in-campaign .battle-toolbar>span{font-size:14px;line-height:1.4}
.anime-theme.in-campaign .combat-log{height:72px}
.anime-theme.in-campaign .combat-log p{font-size:14px;line-height:1.5}
.anime-theme.in-campaign .reward p{font-size:14px;line-height:1.5}
.anime-theme.in-campaign .reward button{font-size:15px}
.anime-theme.in-campaign .run-top .eyebrow{font-size:13px}
.anime-theme.in-campaign .offer-panel>p,.anime-theme.in-campaign .offer-card p{font-size:15px;line-height:1.5}
.anime-theme.in-campaign .offer-card>span{font-size:14px}
.anime-theme.in-campaign .story-lines p,.anime-theme.in-campaign .outcome p{font-size:17px;line-height:1.65}

/* Squad, bag, shop, character sheets and journal share the larger small type. */
.anime-theme.in-campaign .unit-title{font-size:15px;line-height:1.4}
.anime-theme.in-campaign .unit-title>span{max-width:none}
.anime-theme.in-campaign .unit-title small{font-size:13px}
.anime-theme.in-campaign .unit-stats{font-size:13px;line-height:1.5;flex-wrap:wrap;gap:2px 7px}
.anime-theme.in-campaign .unit-stats>span:last-child{max-width:none}
.anime-theme.in-campaign .unit-details{font-size:14px;line-height:1.4;padding:4px 0}
.anime-theme.in-campaign .order-controls button{font-size:13px;min-height:24px;padding:3px 6px}
.anime-theme.in-campaign .xp-line{font-size:13px}
.anime-theme.in-campaign .trait{font-size:14px;padding:6px}
.anime-theme.in-campaign .trait small{font-size:13px}
.anime-theme .synergy-link{font-size:14px;line-height:1.5;padding:6px 0}
.anime-theme :is(.bag-help,.bag-list span,.item-entry>span,#info-dialog .dialog-content>p,.hero-detail-head p,.journal-entry p,.progression-list span,.form-choice span){font-size:16px;line-height:1.6}
.anime-theme .item-entry-head strong,.anime-theme .bag-list strong{font-size:16px;line-height:1.4}
.anime-theme :is(.bag-targets button,.journal-entry>span,.progression-list b,.form-choice small,.training-grid small){font-size:14px;line-height:1.5}
.anime-theme .form-choice strong{font-size:22px}
.anime-theme :is(.form-future,.next-map>small){font-size:14px}
.anime-theme .form-button{font-size:14px;line-height:1.4;padding:7px 8px}

/* Dense map labels grow modestly; route options carry the readable descriptions. */
.anime-theme .radar-heading p{font-size:14px;line-height:1.4}
.anime-theme :is(.radar-kicker,.map-objective small){font-size:12px}
.anime-theme .expedition-choices{font-size:14px}
.anime-theme .route-option>strong{font-size:15px;line-height:1.3}
.anime-theme .route-option>small{font-size:13px;line-height:1.4}
.anime-theme .route-option>strong>b{font-size:12px}
.anime-theme .radar-field .radar-node>.node-caption{font-size:13px;width:110px;max-width:110px}
.anime-theme .node-caption>b{font-size:11px}
.anime-theme .map-party-member strong{font-size:14px}
.anime-theme .map-party-member small{font-size:12px}
.anime-theme .map-party-manage,.anime-theme .map-party-manage>b{font-size:14px}
.anime-theme .map-status>span{font-size:13px}

@media(max-width:1200px){.anime-theme.in-campaign .campaign-commands .command{min-height:92px;gap:3px;padding:6px 5px}.anime-theme .campaign-commands .command-icon{flex-basis:32px;width:32px;height:34px}.anime-theme .campaign-commands .command-icon .menu-icon{width:32px;height:34px}.anime-theme .command-copy strong{font-size:15px}}
@media(max-width:900px){.anime-theme .radar-field .radar-node>.node-caption{font-size:12px;width:84px;max-width:84px}}
@media(max-width:760px){.anime-theme.in-campaign .campaign-commands .command{min-height:64px;padding:6px;gap:5px}.anime-theme .campaign-commands .command-icon{flex-basis:27px;width:27px;height:30px}.anime-theme .campaign-commands .command-icon .menu-icon{width:27px;height:30px}.anime-theme .command-copy strong{font-size:14px}.anime-theme .command-copy small{font-size:12px;line-height:1.3}.anime-theme.in-campaign .duel-benches{--bench-art:40px;gap:12px;padding:7px}.anime-theme .duel-benches .bench>span{font-size:14px}.anime-theme.in-campaign .bench>div{gap:3px}.anime-theme .duel-benches .bench-unit{flex-basis:calc((100% - 12px)/5);padding:2px 1px}.anime-theme.in-campaign .bench-unit small{font-size:12px}.bench-status-full{display:none}.bench-status-compact{display:block}.anime-theme.in-campaign .fighter-label small{font-size:12px}.anime-theme.in-campaign .battle-head small{font-size:12px}.anime-theme.in-campaign .battle-toolbar>span{font-size:13px}.anime-theme.in-campaign .battle-toolbar button{font-size:14px}.anime-theme.in-campaign .combat-log{height:60px}.anime-theme.in-campaign .story-lines p{font-size:16px}.anime-theme .route-option>strong{font-size:13px}.anime-theme .route-option>small{font-size:12px}.anime-theme .route-option>strong>b{font-size:11px}.anime-theme .expedition-choices{font-size:12px}.anime-theme .map-status>span{font-size:12px}.anime-theme .map-party-member strong{font-size:13px}.anime-theme .map-party-member small{font-size:11px}}
@media(max-width:600px){.anime-theme.in-campaign #squad-dialog .team-list{grid-template-columns:1fr}.anime-theme #bag-dialog .bag-list,.anime-theme #shop-dialog .bag-list{grid-template-columns:repeat(2,minmax(0,1fr))}.anime-theme .bag-targets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.anime-theme #bag-dialog .bag-list,.anime-theme #shop-dialog .bag-list{grid-template-columns:1fr}.anime-theme .command-copy small{font-size:12px}.anime-theme.in-campaign .campaign-commands .command{flex-direction:column;justify-content:center;min-height:84px;gap:3px;padding:5px 4px;text-align:center}.anime-theme .command-copy{align-items:center;gap:3px;width:100%}.anime-theme .campaign-commands .command-icon{flex-basis:24px;width:26px;height:24px}.anime-theme .campaign-commands .command-icon .menu-icon{width:26px;height:24px}.anime-theme .map-party-manage,.anime-theme .map-party-manage>b{font-size:13px}}
@media(max-width:480px) and (max-height:700px){.anime-theme.in-campaign .run-top>div:first-child{display:none}}
@media(max-width:480px) and (max-height:620px){.anime-theme.in-campaign :is(.prep-note,.demo-note){display:none}}
@media(max-height:620px){.anime-theme.in-campaign .duel-benches{--bench-art:34px;padding-top:4px;padding-bottom:4px}.anime-theme.in-campaign .bench>div{margin-top:3px}.anime-theme.in-campaign .combat-log{height:42px}.anime-theme.in-campaign .story-lines p{font-size:15px;line-height:1.5}.anime-theme.in-campaign .prep-note,.anime-theme.in-campaign .demo-note{padding-top:4px;padding-bottom:4px}.anime-theme.in-campaign .battle-toolbar{padding-top:5px;padding-bottom:5px}}
@media(max-height:600px) and (orientation:landscape){.anime-theme.in-campaign .campaign-commands .command{min-height:52px;padding:4px;gap:4px}.anime-theme .campaign-commands .command-icon{flex-basis:24px;width:24px;height:26px}.anime-theme .campaign-commands .command-icon .menu-icon{width:24px;height:26px}.anime-theme .command-copy strong{font-size:13px}.anime-theme .command-copy small{font-size:12px}.anime-theme .duel-benches .bench>span{font-size:14px}.anime-theme.in-campaign .bench-unit small{font-size:11px}.bench-status-full{display:none}.bench-status-compact{display:block}}
@media(max-height:500px) and (orientation:landscape){.anime-theme.in-campaign .duel-benches{--bench-art:26px;padding-top:3px;padding-bottom:3px}.anime-theme .duel-benches .bench>span{font-size:13px}.anime-theme.in-campaign .bench>div{margin-top:2px}.anime-theme.in-campaign .bench-unit small{margin-top:1px}.anime-theme.in-campaign .battle-head{padding-top:5px;padding-bottom:5px}.anime-theme.in-campaign .battle-head h2{font-size:22px}.anime-theme.in-campaign .battle-toolbar button{min-height:32px}.anime-theme.in-campaign .battle-toolbar{padding-top:4px;padding-bottom:4px}.anime-theme.in-campaign .battle-panel .arena{min-height:88px}.anime-theme.in-campaign .combat-log{height:28px;padding-top:2px;padding-bottom:2px}.anime-theme.in-campaign :is(.prep-note,.demo-note){display:none}.anime-theme.in-campaign .battle-panel:has(.reward) .arena{display:none}.anime-theme.in-campaign .battle-panel:has(.reward) .combat-log{height:44px}}
