@import url('./arena.css');
main{max-width:1240px}.header-right{display:flex;align-items:center;gap:10px}.header-right>span{font-size:10px;color:#9cb28e}.economy{display:flex;gap:25px}.economy>div{display:flex;flex-direction:column;gap:7px}.economy b{font:26px Georgia;color:#e3c984}.economy small{font-size:9px;color:#9eae8e}.shop-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}.shop-heading strong{font:19px "Songti SC",serif;color:#e0d1a5}.shop-heading span{font-size:10px;display:block;color:#93aa83;margin-top:7px}.shop-heading button{font-size:11px;padding:10px 14px}.shop-heading>div:last-child{display:flex;gap:8px}.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.offer{text-align:left;position:relative;padding:12px 16px;background:linear-gradient(145deg,#38553a,#203b2a);border-color:#97ad7444;border-radius:10px;box-shadow:0 9px 18px #0002;transition:transform .15s}.offer:hover:not(:disabled){transform:translateY(-4px)}.offer.rare{border-color:#b7a1d077;background:linear-gradient(145deg,#43424c,#253c34)}.offer-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a7ba95}.offer-top b{font-size:13px;color:#e8ce89}.offer-art{height:85px;width:110px;margin:5px auto}.offer-art.ice_turtle{filter:sepia(.4) saturate(1.6)}.offer-art.ember_bird{filter:hue-rotate(80deg)}.offer-art.shadow_wolf{filter:hue-rotate(45deg)}.offer strong{font:19px "Songti SC",serif;color:#eadab0;display:block}.offer>small{display:block;font-size:10px;line-height:1.7;color:#afc09e;margin-top:7px;min-height:36px}.offer-bottom{border-top:1px solid #a0ac772c;font-size:11px;color:#e1c58a;padding-top:10px;margin-top:10px}.collection-title{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px;font-size:11px}.collection-title>span{font-size:9px;color:#8fa781}.roster{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.roster-card{display:flex;padding:8px;text-align:left;gap:7px;align-items:center;background:#1e3a2b}.roster-card.active{border-color:#d2bd7c;background:#384b32}.roster-card>span{width:36px;height:45px;flex-shrink:0}.roster-card strong{font-size:11px;display:block}.roster-card small{font-size:9px;color:#d0b878;display:block;margin:5px 0}.roster-card em{font-size:8px;font-style:normal;color:#9eb291}.battle-heading{display:flex;justify-content:space-between;margin:22px 0 10px;font-size:10px;color:#c2c79e}.arena canvas{aspect-ratio:1000/440;max-height:480px}.arena{border-radius:10px}#lanes{padding:0}.actions{margin-top:16px}.relic-bar{text-align:center;color:#b8c4a0;font-size:11px;margin:15px 0}.rules{font-size:10px;color:#9fb28e;margin-top:18px}.rules summary{cursor:pointer}.rules p{font-size:10px;max-width:850px}.upgrades button{max-width:230px}.upgrades small{line-height:1.6}.start{font-size:18px}#shop[hidden]{display:none}.status{padding:12px;background:#203e2c;border-radius:6px;color:#e1ce9f}.title h1{font-size:26px}@media(max-width:800px){.roster{grid-template-columns:repeat(3,1fr)}.offers{gap:8px}.offer{padding:10px}.offer-art{width:75px;height:75px}.offer strong{font-size:16px}.offer>small{font-size:9px}.offer-bottom{font-size:9px}.shop-heading>div:last-child{flex-direction:column}.shop-heading button{font-size:10px;padding:8px}.economy{gap:18px}.arena canvas{height:360px;max-height:none;aspect-ratio:auto}.upgrades button{padding:15px 10px;max-width:160px}.upgrades small{font-size:9px}.header-right>span{display:none}}@media(max-width:480px){.title{display:block}.economy{justify-content:space-between;margin-top:18px}.economy b{font-size:23px}.offers{grid-template-columns:repeat(2,1fr);gap:10px}.offer-art{height:62px}.offer>small{min-height:31px}.collection-title{gap:10px}.collection-title>span{max-width:190px}.roster-card{padding:7px 5px;gap:4px}.roster-card>span{width:25px;height:36px}.roster-card strong{font-size:10px}.roster-card small{font-size:8px}.battle-heading{font-size:9px}.arena canvas{height:310px}.shop-heading{margin-top:22px}.upgrades{flex-direction:column;gap:7px;width:85%}.upgrades button{max-width:none;padding:10px;font-size:15px;text-align:left}.upgrades small{margin-top:4px}#overlay h2{margin:10px 0}.title h1{font-size:23px}.relic-bar{font-size:10px}.header-right{gap:5px}.header-right .quiet{font-size:10px;padding:8px}}
.shop-message{font-size:12px;color:#e6cf90;background:#364b3066;border-left:2px solid #d6bd7b;padding:9px 13px;margin:0 0 14px}.roster-card em{line-height:1.5}.offer-bottom{font-weight:600}
.tactic-panel{margin:22px 0 8px;border:1px solid #9cad7838;border-radius:9px;padding:15px;background:#18382a}.tactic-heading{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#dfd2aa;margin-bottom:14px}.tactic-heading span{font-size:10px;color:#99af8c}.tactic-options{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tactic-options>div>b{font-size:12px;color:#d4c795}.tactic-options>div>div{display:flex;gap:7px;margin:10px 0}.tactic-options button{padding:9px 12px;font-size:11px;flex:1;background:transparent}.tactic-options button.active{border-color:#dfc784;background:#4c5738;color:#f0deb0}.tactic-options button:disabled{opacity:.65}.tactic-options button.active:disabled{opacity:1}.tactic-options small{font-size:10px;color:#a2b694;line-height:1.8;display:block;min-height:34px}.auto-skill{border:1px solid #8c9d7040;border-radius:8px;cursor:default}.battle-report{padding:16px 20px;border:1px solid #adbc7947;border-radius:9px;background:#273f2e;margin:0 0 23px}.battle-report>div{display:flex;justify-content:space-between;font-size:13px;color:#e4d2a0;margin-bottom:12px}.battle-report>div>span{font-size:9px;color:#99af88}.battle-report p{margin:8px 0}.battle-report b{font-weight:500;color:#d0d5b2;font-size:11px}.battle-report small{display:block;color:#9bb28d;font-size:10px;margin-top:4px}@media(max-width:650px){.tactic-options{grid-template-columns:1fr;gap:12px}.tactic-options>div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:6px}.tactic-options>div>div{margin:0}.tactic-options small{grid-column:1/3;min-height:0;font-size:9px}.tactic-heading{display:block}.tactic-heading span{display:block;margin-top:6px}.battle-report{padding:12px}.battle-report>div{gap:10px}.auto-skill small{min-height:0}.header-right .quiet{padding:7px 6px;font-size:9px}}
#formation-slots{position:absolute;inset:0;pointer-events:none}#formation-slots[hidden]{display:none}.formation-slot{position:absolute;padding:5px;background:#35533b66;border:1px dashed #bfd09b77;border-radius:8px;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dfdbb9;transition:background .15s,border-color .15s}.formation-slot.occupied{border-style:solid;background:#233f2f99;cursor:grab}.formation-slot.selected,.roster-card.selected{outline:2px solid #f1d690;outline-offset:2px}.formation-slot .slot-label{position:absolute;top:4px;left:5px;color:#c5cda7;font-size:.8em;line-height:1}.slot-art{width:77%;height:65%;margin-top:4px;pointer-events:none}.slot-art.ice_turtle{filter:sepia(.4) saturate(1.6)}.slot-art.ember_bird{filter:hue-rotate(80deg)}.slot-art.shadow_wolf{filter:hue-rotate(45deg)}.formation-slot b{font-size:.9em;font-weight:500;line-height:1.2;pointer-events:none}.formation-slot small{font-size:.8em;color:#9eaf89}.empty-slot{font:26px Georgia;color:#9eb28a}.formation-slot.drop-hover,.bench-drop.drop-hover{border:2px solid #f4d999;background:#68734b99}.dragging .formation-slot{border-color:#d5ca8eb0}.bench-drop{padding:12px;margin-top:12px;border:1px dashed #91a97b55;border-radius:7px;font-size:10px;text-align:center;color:#9caf8d;display:flex;gap:15px;align-items:center;justify-content:center}.bench-drop button{font-size:10px;padding:7px 11px}.roster-card[draggable=true]{cursor:grab}.roster{max-height:240px;overflow:auto;padding:3px}#skill-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));flex:1}.auto-skill{min-width:0}.formation-slot:hover{transform:none}@media(max-width:700px){#skill-list{grid-template-columns:repeat(3,1fr)}.formation-slot{padding:2px;border-radius:4px}.formation-slot .slot-label{font-size:7px;top:2px;left:2px}.formation-slot b{font-size:7px}.formation-slot small{font-size:7px}.empty-slot{font-size:18px}.roster{max-height:290px}.slot-art{height:57%;margin-top:8px}.bench-drop{font-size:9px;padding:10px}.collection-title>span{max-width:165px}}
.roster-card[draggable=true]>* ,.formation-slot>*{pointer-events:none;user-select:none}.roster-card[draggable=true],.formation-slot{user-select:none}
.roster-card,.formation-slot{touch-action:none;user-select:none}.roster-card>*{pointer-events:none;user-select:none}.unit-drag-ghost{position:fixed;width:70px;height:80px;z-index:1000;pointer-events:none;filter:drop-shadow(0 5px 10px #071c15);opacity:.9}
/* Preparation stays in a bounded dialog; the battlefield owns the main screen. */
[hidden]{display:none!important}main{max-width:960px;padding:12px 20px}header{padding:12px 24px}.match-bar{display:flex;align-items:center;justify-content:space-between;font-size:15px;padding:5px 0}.lives{color:#db9e7c}.battle-heading{margin:12px 0;font-size:12px}.arena canvas{width:100%;height:auto;aspect-ratio:1000/560;max-height:56vh}.play-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.play-bar #status{padding:0;background:none;font-size:13px;margin:0}.start{padding:12px 26px;font-size:16px}.match-details{margin-top:14px;font-size:12px;color:#9fb28e}.match-details p{font-size:12px}.auto-label{font-size:12px;color:#dfc888}footer{margin-top:14px;padding:0;font-size:10px;gap:12px;flex-wrap:wrap}footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}footer a:hover{color:#dfc888}
#prep-dialog{color:#e3ddc3;background:#19372c;border:1px solid #8fa78388;border-radius:16px;padding:0;width:min(680px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 25px 100px #0009}#prep-dialog::backdrop{background:#071b16bb;backdrop-filter:blur(5px)}#prep-dialog[open]{display:flex;flex-direction:column}.prep-head{display:flex;align-items:center;gap:16px;padding:16px 20px}.prep-head strong{flex:1;font-size:17px}.prep-head>span{font-size:13px;color:#e1c785}.prep-head button{padding:7px 11px}.prep-tabs{display:flex;padding:0 20px;gap:8px}.prep-tabs button{flex:1;padding:11px;background:transparent;font-size:14px}.prep-tabs button.active{background:#435637;border-color:#d9bd78;color:#f6dfa3}.prep-body{padding:12px 20px;overflow:auto;min-height:0}.prep-hint{font-size:12px;color:#b5c5a6;margin:0 0 12px}.formation-workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-label{display:flex;justify-content:space-around;font-size:12px;color:#b5c5a6;margin-bottom:8px}#formation-slots{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;pointer-events:auto}.formation-slot{position:relative;width:100%;height:94px;padding:4px;background:#294938;min-width:0}.slot-art{width:66px;height:59px;margin:0}.formation-slot b{font-size:11px;line-height:1.3}.formation-slot small{font-size:11px}.empty-slot{font-size:26px}.bench-column{min-width:0}.roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:233px;overflow:auto;padding:3px}.roster-card{min-height:66px;padding:4px;gap:3px;flex-direction:column;text-align:center}.roster-card>span{width:35px;height:33px}.roster-card strong{font-size:11px}.roster-card small{font-size:10px;margin:2px}.empty-bench{grid-column:1/-1;font-size:13px;line-height:1.8;color:#93ab90;text-align:center;margin:36px 0}.bench-drop{min-height:42px;padding:5px;margin-top:8px;font-size:11px}.bench-drop button{padding:8px;font-size:11px}.prep-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #829b6840;padding:12px 20px;flex-shrink:0}.prep-foot>span{font-size:13px}.offers{gap:8px}.offer{padding:9px}.offer-art{width:75px;height:66px}.offer strong{font-size:16px}.offer>small{font-size:11px;min-height:56px}.offer-top{font-size:10px}.offer-bottom{font-size:11px;padding-top:8px}.shop-heading{gap:8px;margin-bottom:12px}.shop-heading span{font-size:11px;line-height:1.6}.shop-heading>div:last-child{flex-direction:row}.shop-heading button{font-size:12px;padding:9px;white-space:nowrap}.shop-message{margin:12px 0 0;font-size:12px}.tactic-panel{padding:0;border:0;margin:0;background:none}.tactic-options{grid-template-columns:1fr;gap:16px}.tactic-options>div{display:grid;grid-template-columns:45px 1fr;gap:8px;align-items:center}.tactic-options>div>div{margin:0}.tactic-options small{grid-column:2;font-size:12px;min-height:0;line-height:1.5}.tactic-options button{font-size:13px;padding:10px}.unit-drag-ghost{z-index:1000}.offer:hover:not(:disabled){transform:none}
@media(max-width:600px){header{padding:12px 14px}.brand{font-size:22px}.brand span{font-size:11px}main{padding:10px 12px}.arena canvas{height:auto;aspect-ratio:1000/700;max-height:55vh}.match-bar{font-size:13px}.battle-heading{font-size:11px}.prep-head{padding:12px;gap:8px}.prep-head strong{font-size:15px}.prep-head>span{font-size:12px}.prep-tabs{padding:0 12px}.prep-body{padding:12px}.prep-foot{padding:10px 12px}.formation-workspace{gap:10px;grid-template-columns:1.15fr 1fr}.formation-slot{height:84px}.slot-art{width:53px;height:53px}.formation-slot b{font-size:10px}.roster{max-height:207px}.roster-card strong{font-size:10px}.roster-card>span{height:28px;width:30px}.roster-card{min-height:58px}.offers{grid-template-columns:repeat(2,1fr);gap:8px}.offer-art{height:43px;width:58px}.offer>small{min-height:30px;font-size:10px;line-height:1.4;margin-top:4px}.offer strong{font-size:14px}.offer-bottom{margin-top:5px;padding-top:5px}.offer-top{font-size:9px}.shop-heading{margin-top:0}.shop-heading span{font-size:10px}.shop-heading button{font-size:11px;padding:8px 6px}.shop-message{font-size:11px;padding:7px}.play-bar #status{font-size:12px}.start{padding:12px 20px;font-size:14px}}
.prep-foot .start,.play-bar .start{width:auto;min-width:130px;flex:none}.prep-foot>span{white-space:nowrap}.prep-foot{gap:12px}
.sell-unit{width:100%;padding:10px 5px;font-size:12px;margin-top:8px;border-color:#c1936a;color:#e7bb8c}
.shop-types{display:flex;gap:8px;margin-bottom:12px}.shop-types button{padding:7px 14px;font-size:12px}.shop-types [aria-pressed=true]{border-color:#d9bd78;background:#435637}.gear-symbol{font-size:36px;text-align:center;padding:18px;color:#e1c78b}.gear-target{display:flex;align-items:center;gap:12px;font-size:13px}.gear-target select{background:#294938;color:#eee1bd;border:1px solid #8fa783;border-radius:6px;padding:10px;flex:1;min-width:0;font:inherit}.equipped-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.equipped-slots>div{border:1px solid #8fa78366;border-radius:8px;padding:12px}.equipped-slots small{display:block;color:#9eb699;font-size:11px;margin-bottom:8px}.equipped-slots strong{font-size:14px}.equipped-slots button{padding:6px 12px;font-size:12px}.gear-bag{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gear-bag button{text-align:left;padding:10px}.gear-bag strong{display:block;font-size:13px}.gear-bag small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#b3c2a5}.prep-tabs{gap:5px}.prep-tabs button{padding:10px 5px}
.offer-art.stone_turtle,.slot-art.stone_turtle{filter:grayscale(.8)}.offer-art.moss_turtle,.slot-art.moss_turtle{filter:hue-rotate(35deg) saturate(1.5)}.offer-art.thunder_bird,.slot-art.thunder_bird{filter:hue-rotate(190deg)}.offer-art.sun_bird,.slot-art.sun_bird{filter:sepia(.6) saturate(1.5)}.offer-art.blood_wolf,.slot-art.blood_wolf{filter:sepia(.7) saturate(2)}.offer-art.moon_wolf,.slot-art.moon_wolf{filter:hue-rotate(70deg) brightness(1.3)}
.race-chips{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:10px}.race-chips>span{border:1px solid #8fa78355;border-radius:5px;padding:4px 6px;color:#9cb18e}.race-chips>span.active{border-color:#d9bd78;color:#eed28c;background:#435637}.race-chips small{font-size:10px;color:#9cb18e}

.unit-profile{display:block;font-style:normal;font-size:10px;line-height:1.5;color:#d7c68f;margin-top:4px}.formation-slot em{font-style:normal;font-size:10px;line-height:1.25;color:#9fb591;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.roster-card small{line-height:1.35}.roster-card small .unit-profile{display:inline;color:#b9c7a9;font-size:inherit;margin:0}
@media(max-width:600px){.unit-profile{font-size:9px;line-height:1.35}.formation-slot em{font-size:8px}.offer>small{min-height:42px}}
/* Single-screen preparation layout: shop, board, hand. */
#prep-dialog{width:min(860px,calc(100vw - 24px))}.prep-layout{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:14px 20px}.prep-zone{border:1px solid #8fa78355;border-radius:12px;background:#17382b;padding:12px}.zone-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:9px}.zone-title b{font-size:18px;color:#f0ddb0}.zone-title span{font-size:11px;color:#adc09e}.shop-zone.drop-hover,.hand-zone.drop-hover{outline:3px solid #f2d381;outline-offset:2px;background:#294c36}.formation-zone{min-height:0}.formation-zone #formation-slots{grid-template-columns:repeat(2,minmax(132px,1fr));max-width:500px;margin:auto}.formation-zone .formation-slot{height:105px}.shop-zone .offers{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.shop-zone .offer{min-height:174px}.shop-zone .offer-art{width:62px;height:54px}.shop-zone .offer strong{font-size:14px}.shop-zone .offer>small{min-height:38px;font-size:10px}.shop-zone .gear-symbol{font-size:31px;padding:15px 0 12px}.shop-zone .offer.sold{opacity:.45}.hand-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-height:88px}.hand-list .roster-card,.gear-card{border:1px solid #8fa78366;border-radius:9px;background:#213f30;color:#eadfbd;min-height:78px;padding:7px;text-align:center}.hand-list .roster-card>span{width:38px;height:34px}.hand-list .roster-card em{display:block;font-style:normal;font-size:9px;color:#91ad91}.gear-card span{display:block;font-size:25px;color:#e3c783}.gear-card strong{display:block;font-size:12px}.gear-card small{display:block;font-size:9px;line-height:1.35;color:#a9bb9e}.gear-card.selected,.roster-card.selected{outline:2px solid #f1d690;outline-offset:2px}.formation-slot small{font-size:9px;color:#d1bd80;line-height:1.1}.unit-drag-ghost .gear-symbol{padding:12px 0;font-size:38px;background:#244532;border:1px solid #d5ca8e;border-radius:10px}.prep-foot{background:#143225}.tactic-panel{margin:0}.tactic-panel summary{cursor:pointer;color:#e5d2a2;font-size:13px}.tactic-panel[open]{padding:10px 12px;border:1px solid #8fa78355;border-radius:10px;background:#163629}
@media(max-width:760px){#prep-dialog{width:min(560px,calc(100vw - 18px))}.prep-layout{padding:10px;gap:9px}.zone-title{display:block}.zone-title b{font-size:16px}.zone-title span{display:block;margin-top:4px}.shop-zone .offers{grid-template-columns:repeat(3,1fr)}.shop-zone .offer{min-height:142px}.shop-zone .offer-art{width:48px;height:38px}.shop-zone .gear-symbol{font-size:24px;padding:10px 0 7px}.formation-zone #formation-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.formation-zone .formation-slot{height:86px}.hand-list{grid-template-columns:repeat(3,1fr);min-height:70px}.hand-list .roster-card,.gear-card{min-height:66px}.shop-heading{display:block}.shop-heading>div:last-child{margin-top:8px}.prep-head{align-items:flex-start}.prep-head>span{max-width:145px;line-height:1.4;text-align:right}}
/* Keep the three preparation zones from overlapping. */
.prep-layout{display:flex;flex-direction:column;gap:12px}.formation-zone{overflow:visible}.formation-zone #formation-slots{position:static;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;width:min(540px,100%);max-width:540px;margin:0 auto;pointer-events:auto}.formation-zone .formation-slot{position:relative;height:104px}.hand-zone{min-height:116px}.shop-zone,.formation-zone,.hand-zone{flex:none}
@media(max-width:760px){.formation-zone #formation-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.formation-zone .formation-slot{height:84px}.hand-zone{min-height:88px}}
.formation-zone{min-height:435px}.shop-zone .offer{min-height:150px}.shop-zone .offer>small{min-height:26px}.shop-zone .offer-art{height:44px}.shop-zone .unit-profile{font-size:9px}.shop-zone .offer-bottom{margin-top:6px;padding-top:6px}.shop-zone .gear-symbol{padding:10px 0 6px}
@media(max-width:760px){.formation-zone{min-height:335px}.shop-zone .offer{min-height:124px}}
/* Desktop compact pass: keep shop, board and hand visible together. */
@media(min-width:761px){#prep-dialog{width:min(940px,calc(100vw - 24px))}.prep-head{padding:12px 20px}.prep-layout{padding:10px 20px;gap:10px}.prep-zone{padding:10px 12px}.zone-title{margin-bottom:6px}.shop-zone{height:308px;overflow:hidden}.shop-zone .offers{gap:7px}.shop-zone .offer{min-height:120px;padding:7px 9px}.shop-zone .offer-art{height:30px;width:48px;margin:2px auto}.shop-zone .gear-symbol{font-size:22px;padding:5px 0}.shop-zone .offer strong{font-size:13px}.shop-zone .offer>small{font-size:9px;line-height:1.35;min-height:24px}.shop-zone .unit-profile{font-size:8px;line-height:1.25}.shop-zone .offer-bottom{font-size:10px}.formation-zone{min-height:282px}.formation-zone #formation-slots{width:min(440px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.formation-zone .formation-slot{height:66px}.formation-zone .slot-art{width:42px;height:34px}.formation-zone .formation-slot b{font-size:10px}.formation-zone .formation-slot em,.formation-zone .formation-slot small{font-size:8px}.hand-zone{min-height:98px}.hand-list{min-height:70px}.hand-list .roster-card,.gear-card{min-height:58px;padding:5px}.hand-list .roster-card>span{width:30px;height:24px}.hand-list .roster-card strong,.gear-card strong{font-size:10px}.hand-list .roster-card small,.hand-list .roster-card em,.gear-card small{font-size:8px}.prep-foot{padding:10px 20px}}
/* Reference-inspired portrait board: top shop, center team board, bottom hand/event bar. */
#prep-dialog{background:radial-gradient(circle at 50% 20%,#1f3142 0,#10241f 45%,#0a1715 100%);border-color:#809c73;width:min(520px,calc(100vw - 18px));max-height:calc(100dvh - 14px);border-radius:18px}.prep-head{background:#211f24aa;border-bottom:1px solid #78906a44}.prep-head strong{font-size:17px}.prep-head>span{background:#e5d08e;color:#18281f;border-radius:14px;padding:4px 9px;font-weight:700}.prep-layout{padding:10px 12px 86px;gap:10px;overflow:auto}.prep-zone{background:#11191fcc;border-color:#6f866766;border-radius:13px}.zone-title b{color:#f3d284}.zone-title span{color:#9dae98}.shop-zone{height:auto;overflow:visible;box-shadow:0 12px 32px #0007}.shop-zone .shop-heading{display:grid;grid-template-columns:1fr auto;align-items:center;margin:4px 0 10px}.shop-zone .shop-heading span{font-size:11px;color:#b9c0a4}.shop-zone .shop-heading>div:last-child{display:flex;gap:7px}.shop-zone .offers{grid-template-columns:repeat(3,1fr);gap:9px}.shop-zone .offer{min-height:176px;background:linear-gradient(180deg,#d8d0b3 0,#20212a 18%,#131620 100%);border:3px solid #4b4a51;border-radius:9px;box-shadow:0 7px 18px #0008;color:#eadfbd;padding:7px}.shop-zone .offer.rare{border-color:#b99244;background:linear-gradient(180deg,#ead49a 0,#2a2233 18%,#151724 100%)}.shop-zone .offer-top{font-size:9px;color:#d9d1b4}.shop-zone .offer-top b{font-size:12px;background:#1f2a33;border-radius:12px;padding:2px 5px}.shop-zone .offer-art{width:64px;height:55px;margin:3px auto}.shop-zone .gear-symbol{font-size:32px;padding:13px 0 6px}.shop-zone .offer strong{font-size:13px;text-align:center}.shop-zone .unit-profile{font-size:8px;text-align:center;color:#d3c78f}.shop-zone .offer>small{font-size:9px;min-height:30px;color:#c8c7b0}.shop-zone .offer-bottom{font-size:10px;color:#f0d37d}.shop-message{background:#1f1518;border-left:3px solid #d49b47;color:#f2c87e}.formation-zone{min-height:350px;background:linear-gradient(180deg,#111820,#0c1517);border-color:#617b7455;position:relative;overflow:hidden}.formation-zone:before{content:'';position:absolute;inset:56px 22px 20px;border:2px solid #78a7b055;border-radius:0 0 28px 28px;box-shadow:inset 0 0 22px #5bb0d222;pointer-events:none}.formation-zone .zone-title,.formation-zone .race-chips,.formation-zone .grid-label,.formation-zone #formation-slots{position:relative}.formation-zone .grid-label{max-width:360px;margin:4px auto 8px;color:#d6d0a8}.formation-zone #formation-slots{width:min(360px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:16px 20px;max-width:none}.formation-zone .formation-slot{height:96px;background:transparent;border:0;border-radius:50%;overflow:visible}.formation-zone .formation-slot.occupied{background:transparent;border:0}.formation-zone .formation-slot:after{content:'';position:absolute;left:50%;bottom:8px;width:62px;height:18px;border:2px solid #9bb4a466;border-radius:50%;transform:translateX(-50%);z-index:0}.formation-zone .slot-art{width:70px;height:62px;position:relative;z-index:1;filter:drop-shadow(0 6px 5px #0008)}.formation-zone .formation-slot b{font-size:11px;text-shadow:0 2px 4px #000;position:relative;z-index:2}.formation-zone .formation-slot em{font-size:0;height:0}.formation-zone .formation-slot small{font-size:9px;color:#e0c677;position:relative;z-index:2}.formation-zone .empty-slot{font-size:30px;color:#a8b995}.hand-zone{position:absolute;left:0;right:0;bottom:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;min-height:72px;background:#191d21ee}.hand-zone .zone-title{margin:0 0 5px}.hand-zone .zone-title b{font-size:14px}.hand-zone .zone-title span{font-size:10px}.hand-list{display:flex;gap:8px;overflow-x:auto;min-height:42px}.hand-list .roster-card,.gear-card{min-width:72px;min-height:42px;background:#262a35;border-color:#67716f;border-radius:12px;padding:4px}.hand-list .roster-card>span{width:28px;height:22px}.hand-list .roster-card strong,.gear-card strong{font-size:9px}.hand-list .roster-card small,.hand-list .roster-card em,.gear-card small{display:none}.prep-foot{position:absolute;left:0;right:0;bottom:0;transform:translateY(100%);background:transparent;border:0;pointer-events:none}.prep-foot>span{display:none}.prep-foot .start{position:absolute;right:12px;bottom:14px;pointer-events:auto;background:#a61918;border-color:#e05340;color:#ffe4cf;min-width:112px}.tactic-panel{display:none}
@media(min-width:761px){#prep-dialog{width:min(560px,calc(100vw - 24px))}.prep-layout{padding:10px 12px 86px}.shop-zone{height:auto}.shop-zone .offer{min-height:176px}.formation-zone{min-height:350px}.formation-zone #formation-slots{width:min(360px,100%);grid-template-columns:repeat(3,1fr);gap:16px 20px}.formation-zone .formation-slot{height:96px}.hand-zone{min-height:72px}.prep-foot .start{bottom:14px}}
@media(max-width:520px){#prep-dialog{width:100vw;max-height:100dvh;border-radius:0;border-left:0;border-right:0}.prep-head{padding:9px 12px}.prep-layout{padding:8px 9px 78px}.shop-zone .offer{min-height:158px}.shop-zone .offer-art{width:52px;height:44px}.shop-zone .offer>small{display:none}.formation-zone{min-height:330px}.formation-zone #formation-slots{gap:14px 16px}.formation-zone .formation-slot{height:88px}.formation-zone .slot-art{width:60px;height:54px}.prep-foot .start{right:9px;bottom:12px}}
#prep-dialog{position:relative}.prep-foot{position:absolute;left:0;right:0;bottom:0;height:78px;transform:none;background:linear-gradient(180deg,#191d2100,#191d21 30%);border-top:1px solid #67716f66;pointer-events:none}.prep-foot .start{right:12px;bottom:12px}.hand-zone{bottom:0;padding-bottom:54px;padding-right:130px}.hand-zone .empty-bench{margin:8px 0 0;color:#aeb89e;font-size:12px;line-height:1.6}.formation-zone{margin-bottom:0}
@media(max-width:520px){.prep-foot{height:72px}.hand-zone{padding-bottom:48px;padding-right:120px}.prep-foot .start{right:9px;bottom:10px}}
@media(max-width:520px){.formation-zone{min-height:282px}.formation-zone #formation-slots{gap:7px 12px}.formation-zone .formation-slot{height:72px}.formation-zone .slot-art{width:48px;height:42px}.formation-zone .formation-slot:after{width:52px;height:14px;bottom:5px}.formation-zone .formation-slot b{font-size:9px}.formation-zone .formation-slot small{font-size:8px}.hand-zone{min-height:58px;padding-top:8px;padding-bottom:42px}.hand-zone .zone-title b{font-size:13px}.hand-zone .empty-bench{font-size:11px;line-height:1.35;margin:3px 0}.prep-foot .start{bottom:9px;padding:10px 18px}}
/* Mobile one-screen pass: no vertical scrolling during preparation. */
@media(max-width:520px){
  body:has(#prep-dialog[open]){overflow:hidden}
  #prep-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;overflow:hidden}
  #prep-dialog[open]{display:flex;flex-direction:column}
  .prep-head{height:54px;min-height:54px;padding:8px 10px;align-items:center;gap:7px;box-sizing:border-box}
  .prep-head strong{font-size:16px;line-height:1}.prep-head>span{font-size:12px;white-space:nowrap;max-width:none}.prep-head button{width:38px;height:38px;padding:0;font-size:20px;display:grid;place-items:center}
  .prep-layout{height:calc(100dvh - 54px);min-height:0;overflow:hidden;padding:8px 8px 70px;gap:7px;box-sizing:border-box;display:flex;flex-direction:column}
  .prep-zone{padding:8px;border-radius:10px}.zone-title{margin:0 0 4px}.zone-title b{font-size:15px}.zone-title span{display:none}
  .shop-zone{height:268px;min-height:268px;overflow:hidden}.shop-zone .shop-heading{display:grid;grid-template-columns:1fr auto;margin:0 0 6px;gap:6px}.shop-zone .shop-heading span{font-size:10px;line-height:1.25;max-height:25px;overflow:hidden;margin:0}.shop-zone .shop-heading>div:last-child{margin:0;gap:5px}.shop-zone .shop-heading button{font-size:10px;padding:7px 8px}.shop-zone .offers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.shop-zone .offer{min-height:128px;height:128px;padding:6px 5px;border-width:2px}.shop-zone .offer-top{font-size:8px}.shop-zone .offer-top b{font-size:10px}.shop-zone .offer-art{width:44px;height:34px;margin:1px auto}.shop-zone .gear-symbol{font-size:24px;padding:6px 0 2px}.shop-zone .offer strong{font-size:12px;line-height:1.1}.shop-zone .unit-profile{font-size:7px;line-height:1.15;margin-top:2px}.shop-zone .offer>small{display:block;font-size:8px;line-height:1.25;min-height:20px;max-height:20px;overflow:hidden;margin-top:3px}.shop-zone .offer-bottom{font-size:9px;line-height:1.2;margin-top:4px;padding-top:4px}.shop-message{font-size:10px;line-height:1.25;margin-top:6px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .formation-zone{flex:1;min-height:0;height:auto;padding:7px 8px;overflow:hidden}.formation-zone:before{inset:52px 22px 12px}.formation-zone .zone-title{display:flex;align-items:center;justify-content:space-between}.formation-zone .zone-title span{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.formation-zone .race-chips{gap:4px;margin:3px 0 4px}.formation-zone .race-chips>span{font-size:9px;padding:2px 4px}.formation-zone .race-chips small{display:none}.formation-zone .grid-label{font-size:10px;margin:2px auto 4px}.formation-zone #formation-slots{width:min(330px,100%);grid-template-columns:repeat(3,1fr);gap:4px 10px}.formation-zone .formation-slot{height:58px}.formation-zone .slot-art{width:40px;height:34px}.formation-zone .formation-slot:after{width:44px;height:12px;bottom:2px}.formation-zone .formation-slot b{font-size:8px;line-height:1}.formation-zone .formation-slot small{display:none}.formation-zone .empty-slot{font-size:23px}.formation-zone .formation-slot em{display:none}
  .hand-zone{position:absolute;left:0;right:0;bottom:0;min-height:60px;height:60px;padding:7px 118px 7px 10px;border-radius:0;box-sizing:border-box}.hand-zone .zone-title{display:flex;gap:8px;align-items:center}.hand-zone .zone-title b{font-size:13px}.hand-zone .zone-title span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-list{min-height:26px;height:26px}.hand-list .roster-card,.gear-card{min-width:50px;min-height:24px;height:24px;padding:2px 4px;border-radius:8px}.hand-list .roster-card>span,.gear-card span{display:none}.hand-list .roster-card strong,.gear-card strong{font-size:9px;line-height:1.1}.empty-bench{font-size:10px;line-height:1.2;margin:0;text-align:left}
  .prep-foot{height:60px}.prep-foot .start{right:8px;bottom:9px;min-width:104px;padding:10px 14px;font-size:15px}
}
.egg-offer{border-color:#d69d59!important;background:linear-gradient(180deg,#f0ce82 0,#332233 18%,#18121c 100%)!important}.egg-symbol{font:38px/1.35 "Songti SC",serif;text-align:center;color:#ffe2a3;text-shadow:0 0 16px #df7f3f;padding:10px 0 3px}.mutant-offer,.slot-art.mutant,.offer-art.mutant{filter:drop-shadow(0 0 10px #cfa05a66)}.formation-slot .slot-art.mutant{filter:drop-shadow(0 6px 5px #0008) drop-shadow(0 0 8px #d9b36a88)}.roster-card span[style]{filter:drop-shadow(0 0 7px #d9b36a77)}.egg-offer .offer-bottom{color:#ffd78e}
@media(max-width:520px){.egg-symbol{font-size:28px;padding:5px 0 0}.egg-offer .unit-profile{display:block}}
/* Compact readable detail layer: cards stay simple, hover/tap reveals depth. */
.quick-inspector{display:block!important;min-width:0;max-width:calc(100% - 136px);font-size:11px;line-height:1.35;color:#ead8a3;background:#101a1ecc;border:1px solid #806d4d66;border-radius:10px;padding:7px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}.offer,.formation-slot,.roster-card,.gear-card{position:relative}.offer[data-tip]:hover:after,.formation-slot[data-tip]:hover:after,.roster-card[data-tip]:hover:after,.gear-card[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:min(260px,80vw);white-space:pre-line;text-align:left;background:#0b1417f2;border:1px solid #d7b66c99;border-radius:10px;color:#f1dfb3;padding:10px 12px;font-size:12px;line-height:1.5;box-shadow:0 14px 40px #000b;z-index:30;pointer-events:none}.offer[data-tip]:hover:before,.formation-slot[data-tip]:hover:before,.roster-card[data-tip]:hover:before,.gear-card[data-tip]:hover:before{content:'';position:absolute;left:50%;bottom:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#d7b66c99;z-index:31}.formation-slot.occupied .slot-art,.hand-list .roster-card>span,.offer-art{animation:beast-idle 2.8s ease-in-out infinite}.formation-slot.occupied:nth-child(2n) .slot-art,.hand-list .roster-card:nth-child(2n)>span,.offer:nth-child(2n) .offer-art{animation-delay:-1.1s}@keyframes beast-idle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.03)}}.shop-zone .offer:hover:not(:disabled){box-shadow:0 0 0 1px #f2d68a88,0 12px 28px #0009}.formation-slot.selected:before,.roster-card.selected:before{content:'';position:absolute;inset:-4px;border-radius:inherit;border:1px solid #f6d784;box-shadow:0 0 18px #e9b65a88;pointer-events:none}.battle-heading span:nth-child(2){color:#f1d28b;text-shadow:0 0 10px #ed9f4f}
@media(max-width:520px){.quick-inspector{max-width:calc(100% - 118px);font-size:10px;line-height:1.25;padding:6px 7px}.offer[data-tip]:hover:after,.formation-slot[data-tip]:hover:after,.roster-card[data-tip]:hover:after,.gear-card[data-tip]:hover:after,.offer[data-tip]:hover:before,.formation-slot[data-tip]:hover:before,.roster-card[data-tip]:hover:before,.gear-card[data-tip]:hover:before{display:none}.formation-slot.occupied .slot-art,.hand-list .roster-card>span,.offer-art{animation:none}.shop-zone{height:252px!important;min-height:252px!important}.shop-zone .offer{height:120px!important;min-height:120px!important}.shop-zone .offer-bottom{display:none}.formation-zone .race-chips{display:none}.formation-zone:before{inset:38px 22px 10px}.formation-zone .grid-label{display:none}.hand-zone{height:58px;min-height:58px}.prep-foot{height:58px}.prep-foot .start{bottom:8px}}
.quick-inspector{pointer-events:none}
@media(max-width:520px){.prep-layout{padding-bottom:124px}.hand-zone{bottom:58px;height:54px;min-height:54px;padding:6px 8px}.hand-zone .zone-title{margin:0 0 3px}.hand-list{height:23px;min-height:23px}.formation-zone #formation-slots{width:min(300px,100%);gap:2px 8px}.formation-zone .formation-slot{height:50px}.formation-zone .slot-art{width:36px;height:30px}.formation-zone .formation-slot:after{width:40px;height:10px}.prep-foot{background:#191d21f5}}
@media(max-width:520px){.formation-zone{flex:0 0 318px!important;height:318px!important}.formation-zone:before{inset:38px 26px 9px}.formation-zone #formation-slots{gap:0 8px}.formation-zone .formation-slot{height:46px}.formation-zone .slot-art{width:34px;height:29px}.formation-zone .formation-slot b{font-size:8px}.hand-zone .zone-title span{max-width:235px}}
@media(max-width:520px){.formation-zone:before{top:70px;left:38px;right:38px;bottom:auto;height:150px;border-radius:0 0 22px 22px}.formation-zone{background:linear-gradient(180deg,#111820 0,#0c1517 76%,#0c151700 100%)}}
@media(max-width:520px){.formation-zone{flex:0 0 260px!important;height:260px!important}.formation-zone:before{height:128px}.formation-zone #formation-slots{width:min(288px,100%)}.hand-zone{box-shadow:0 -8px 24px #061412aa}}
.card-tip{position:fixed;z-index:5000;max-width:min(300px,calc(100vw - 24px));white-space:pre-line;text-align:left;background:#071216f7;border:1px solid #d7b66ccc;border-radius:12px;color:#f5e4b6;padding:11px 13px;font-size:12px;line-height:1.55;box-shadow:0 18px 50px #000c;pointer-events:none;transform:translateY(-8px)}.card-tip[hidden]{display:none}.prep-layout{overscroll-behavior:contain;scroll-behavior:auto}.hand-list .roster-card>span{display:block}.hand-list .roster-card small{display:block;color:#b8c8ac}.hand-list .roster-card em{display:none}.hand-zone{z-index:4}.prep-foot{z-index:5}.offer[data-tip]:hover:after,.formation-slot[data-tip]:hover:after,.roster-card[data-tip]:hover:after,.gear-card[data-tip]:hover:after,.offer[data-tip]:hover:before,.formation-slot[data-tip]:hover:before,.roster-card[data-tip]:hover:before,.gear-card[data-tip]:hover:before{display:none!important}
@media(max-width:520px){.prep-layout{padding-bottom:166px}.shop-zone{height:238px!important;min-height:238px!important}.shop-zone .offer{height:112px!important;min-height:112px!important}.formation-zone{flex:0 0 230px!important;height:230px!important}.formation-zone:before{top:62px;height:116px}.hand-zone{bottom:58px;height:94px;min-height:94px;padding:7px 8px}.hand-zone .zone-title{margin-bottom:5px}.hand-zone .zone-title span{font-size:9px;max-width:245px}.hand-list{height:48px;min-height:48px;gap:7px}.hand-list .roster-card,.gear-card{min-width:74px;height:46px;min-height:46px;padding:4px 5px}.hand-list .roster-card>span{display:block!important;width:24px;height:20px;margin:0 auto 1px}.hand-list .roster-card strong,.gear-card strong{font-size:10px}.hand-list .roster-card small{display:block;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-card span{display:block;font-size:16px;line-height:1}.quick-inspector{max-width:calc(100% - 124px)}}

/* Final prep readability pass: remove teaching copy and give hand cards real space. */
#prep-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.prep-head{position:relative;z-index:3}
.prep-layout{min-height:0;padding:10px 12px 0!important;overflow:auto!important;display:flex;flex-direction:column;gap:9px;scroll-behavior:auto;overscroll-behavior:contain}
.zone-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.zone-title>span,.shop-heading,.shop-message{display:none!important}
.shop-actions{display:flex;gap:7px;align-items:center}
.shop-actions button{font-size:11px;padding:8px 11px}
.shop-zone{height:auto!important;min-height:0!important;overflow:visible!important}
.shop-zone .offers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shop-zone .offer{height:154px!important;min-height:154px!important;padding:7px 8px}
.shop-zone .offer>small{display:none!important}
.shop-zone .offer-art{width:56px;height:48px;margin:3px auto}
.shop-zone .gear-symbol{font-size:30px;padding:10px 0 4px}
.formation-zone{flex:1 1 270px!important;min-height:250px!important;height:auto!important;margin-bottom:0;overflow:hidden}
.formation-zone:before{top:58px;left:36px;right:36px;height:150px;bottom:auto}
.formation-zone .race-chips{margin:0 0 6px;gap:5px;overflow:hidden;white-space:nowrap}
.formation-zone .race-chips small{display:none!important}
.formation-zone .race-chips>span{font-size:10px;padding:3px 7px}
.formation-zone .grid-label{font-size:12px;margin:2px auto 4px}
.formation-zone #formation-slots{width:min(350px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px}
.formation-zone .formation-slot{height:72px}
.formation-zone .slot-art{width:54px;height:46px}
.formation-zone .formation-slot:after{width:54px;height:14px;bottom:4px}
.hand-zone{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:2;flex:0 0 auto;min-height:120px!important;height:auto!important;padding:9px 10px 10px!important;border:1px solid #6f866766!important;border-radius:13px!important;background:#151c21ee!important;box-shadow:0 -8px 22px #06141255}
.hand-zone .zone-title{margin-bottom:7px}
.hand-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;min-height:70px!important;height:auto!important;max-height:96px;overflow:auto!important}
.hand-list .roster-card,.gear-card{min-width:0!important;height:64px!important;min-height:64px!important;padding:6px 7px!important;border-radius:11px!important;display:grid;grid-template-columns:32px 1fr;gap:6px;align-items:center;text-align:left}
.hand-list .roster-card>span,.gear-card span{display:block!important;width:32px!important;height:28px!important;margin:0!important;font-size:20px;line-height:1.2;text-align:center}
.hand-list .roster-card strong,.gear-card strong{font-size:11px!important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hand-list .roster-card small,.gear-card small{display:block!important;font-size:9px!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b8c8ac}
.prep-foot{position:static!important;height:auto!important;z-index:3;transform:none!important;background:#191d21f5!important;border-top:1px solid #67716f66!important;pointer-events:auto!important;display:flex;justify-content:flex-end;padding:9px 12px!important}
.prep-foot .quick-inspector{display:none!important}
.prep-foot .start{position:static!important;min-width:118px;padding:11px 18px;font-size:16px}

@media(max-width:520px){
  #prep-dialog{height:100dvh;max-height:100dvh}
  .prep-head{height:52px;min-height:52px;padding:8px 10px}
  .prep-layout{padding:7px 8px 0!important;gap:7px}
  .zone-title{margin-bottom:5px}.zone-title b{font-size:14px}
  .shop-actions{gap:5px}.shop-actions button{font-size:10px;padding:6px 7px}
  .shop-zone .offers{gap:6px}
  .shop-zone .offer{height:108px!important;min-height:108px!important;border-width:2px;padding:5px 5px}
  .shop-zone .offer-art{width:42px;height:32px;margin:1px auto}.shop-zone .gear-symbol{font-size:23px;padding:5px 0 1px}.egg-symbol{font-size:27px;padding:4px 0 0}
  .shop-zone .offer strong{font-size:11px}.shop-zone .unit-profile{font-size:7px}.shop-zone .offer-bottom{display:none!important}
  .formation-zone{flex:1 1 210px!important;min-height:190px!important;padding:7px 8px}.formation-zone:before{top:42px;left:28px;right:28px;height:118px}.formation-zone .race-chips{display:flex}.formation-zone .race-chips>span{font-size:9px;padding:2px 5px}.formation-zone .grid-label{display:none}.formation-zone #formation-slots{width:min(288px,100%);gap:2px 8px}.formation-zone .formation-slot{height:47px}.formation-zone .slot-art{width:35px;height:30px}.formation-zone .formation-slot:after{width:40px;height:10px}.formation-zone .formation-slot b{font-size:8px}.formation-zone .formation-slot small{display:none}
  .hand-zone{min-height:100px!important;padding:7px 8px 8px!important}.hand-list{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));max-height:78px;min-height:60px!important;gap:6px}.hand-list .roster-card,.gear-card{height:54px!important;min-height:54px!important;grid-template-columns:26px 1fr;padding:5px!important}.hand-list .roster-card>span,.gear-card span{width:26px!important;height:22px!important}.hand-list .roster-card strong,.gear-card strong{font-size:10px!important}.hand-list .roster-card small,.gear-card small{font-size:8px!important}
  .prep-foot{padding:8px!important}.prep-foot .start{min-width:104px;padding:10px 14px;font-size:15px}
}

/* Final tooltip and battle viewport fixes. */
.race-chips [data-tip]{cursor:help}
.card-tip{background:#071216!important;color:#f5e4b6!important;border-color:#d7b66c!important;opacity:1!important;mix-blend-mode:normal!important}
body:has(#app main) main{min-height:0}
body:has(.arena) .arena{max-height:calc(100dvh - 190px);min-height:280px}
body:has(.arena) .arena canvas{height:min(56vw,calc(100dvh - 190px))!important;max-height:calc(100dvh - 190px)!important;aspect-ratio:auto!important}
body:has(#prep-dialog[open]) .arena{max-height:none;min-height:0}
body:has(#prep-dialog[open]) .arena canvas{height:auto!important;max-height:56vh!important;aspect-ratio:1000/560!important}
@media(max-width:700px){body:has(.arena) .arena{max-height:calc(100dvh - 176px);min-height:250px}body:has(.arena) .arena canvas{height:min(62vw,calc(100dvh - 176px))!important;min-height:250px;max-height:calc(100dvh - 176px)!important}}

/* Keep reverted left-right battle composition inside the viewport. */
body:has(.arena) .arena{max-height:calc(100dvh - 230px);min-height:260px}
body:has(.arena) .arena canvas{height:min(52vw,calc(100dvh - 230px))!important;max-height:calc(100dvh - 230px)!important;aspect-ratio:auto!important}
@media(max-width:700px){body:has(.arena) .arena{max-height:calc(100dvh - 190px);min-height:250px}body:has(.arena) .arena canvas{height:min(62vw,calc(100dvh - 190px))!important;min-height:250px;max-height:calc(100dvh - 190px)!important}}

/* Battle view keeps only the fight controls visible in one screen. */
body:has(.auto-label) main{height:calc(100dvh - 76px);overflow:hidden;display:flex;flex-direction:column}
body:has(.auto-label) .match-bar{flex:0 0 auto}
body:has(.auto-label) .battle-heading{flex:0 0 auto;margin:8px 0}
body:has(.auto-label) .arena{flex:1 1 auto;min-height:240px;max-height:none}
body:has(.auto-label) .arena canvas{height:100%!important;max-height:none!important}
body:has(.auto-label) .play-bar{flex:0 0 auto;margin-top:8px}
body:has(.auto-label) .match-details,body:has(.auto-label) footer{display:none!important}
@media(max-width:700px){body:has(.auto-label) main{height:calc(100dvh - 64px)}body:has(.auto-label) .arena{min-height:240px}}

/* Desktop prep layout: market and formation share the first row, hand stays compact below. */
@media(min-width:761px){
  #prep-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 22px)}
  #prep-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto}
  .prep-head{padding:14px 18px}
  .prep-head strong{font-size:19px}.prep-head>span{font-size:14px;padding:5px 12px}.prep-head button{width:48px;height:48px;padding:0;font-size:28px;display:grid;place-items:center}
  .prep-layout{display:grid!important;grid-template-columns:minmax(430px,1fr) minmax(380px,.9fr);grid-template-rows:minmax(292px,auto) auto;gap:10px;padding:10px 14px!important;overflow:hidden!important}
  .shop-zone{grid-column:1;grid-row:1;padding:12px!important;display:flex;flex-direction:column}
  .formation-zone{grid-column:2;grid-row:1;min-height:292px!important;flex:none!important;padding:12px!important;overflow:hidden!important}
  .hand-zone{grid-column:1 / -1;grid-row:2;min-height:94px!important;padding:9px 10px!important}
  .zone-title b{font-size:18px}.shop-actions button{padding:8px 10px;font-size:11px}
  .shop-zone .offers{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px}
  .shop-zone .offer{height:218px!important;min-height:218px!important;padding:9px 10px!important}
  .shop-zone .offer-art{width:62px;height:54px;margin:5px auto}.shop-zone .gear-symbol{font-size:32px;padding:16px 0 8px}.egg-symbol{font-size:42px;padding:15px 0 5px}
  .shop-zone .offer strong{font-size:15px}.shop-zone .unit-profile{font-size:9px}.shop-zone .offer-bottom{font-size:11px;margin-top:7px;padding-top:7px}
  .formation-zone:before{display:none!important}
  .formation-zone .zone-title{margin-bottom:6px}.formation-zone .race-chips{margin:0 0 8px;display:flex;gap:5px}.formation-zone .grid-label{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:340px;margin:0 auto 6px;font-size:12px;text-align:center}
  .formation-zone #formation-slots{width:min(340px,100%);max-width:340px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;background:#0c171bcc;border:2px solid #5d7f8766;border-radius:14px;padding:10px 12px 12px}
  .formation-zone .formation-slot{height:66px!important;border:1px solid #6c817b77!important;border-radius:12px!important;background:#132126cc!important;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:6px;text-align:left;padding:5px 7px!important;overflow:hidden!important}
  .formation-zone .formation-slot:after{display:none!important}.formation-zone .formation-slot .slot-art{grid-row:1 / 3;width:45px!important;height:39px!important;margin:0!important}.formation-zone .formation-slot b{font-size:11px!important;line-height:1.1}.formation-zone .formation-slot small{font-size:9px!important;line-height:1.1}.formation-zone .formation-slot em{display:none!important}.formation-zone .empty-slot{grid-row:1 / 3;font-size:26px;line-height:1;text-align:center}.formation-zone .formation-slot:not(.occupied){grid-template-columns:1fr;text-align:center;place-items:center}
  .hand-list{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));min-height:54px!important;max-height:66px!important;gap:8px}.hand-list .roster-card,.gear-card{height:54px!important;min-height:54px!important;grid-template-columns:30px 1fr;padding:5px 7px!important}.hand-list .roster-card>span,.gear-card span{width:28px!important;height:24px!important}.empty-bench{font-size:13px!important;line-height:1.5;margin:4px 0!important;align-self:center;justify-self:center;grid-column:1/-1}
  .prep-foot{padding:8px 14px!important}.prep-foot .start{padding:10px 24px;font-size:17px;min-width:128px}
}

/* Equipped gear stays movable: click to return to hand, drag to transfer or sell. */
.formation-slot .equipped-chips{grid-column:2;display:flex;gap:4px;min-width:0;pointer-events:auto;position:relative;z-index:3}
.formation-slot .equipped-chip{display:inline-flex;align-items:center;gap:2px;max-width:64px;padding:1px 4px;border:1px solid #d1b66b88;border-radius:999px;background:#0a1418cc;color:#f1d28b;font-size:8px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;user-select:none;cursor:grab}
.formation-slot .equipped-chip.skill{border-color:#82abc588;color:#afd7e3}
@media(max-width:760px){
  .formation-slot .equipped-chips{display:flex!important;position:absolute;right:2px;bottom:2px;gap:2px;grid-column:auto}
  .formation-slot .equipped-chip{max-width:18px;width:18px;height:16px;padding:0;justify-content:center;font-size:0;line-height:1}
  .formation-slot .equipped-chip::first-letter{font-size:10px}
}

/* Visible combat values make growth readable without opening details. */
.stat-badges{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 6px;z-index:4;pointer-events:none}.stat-badge{min-width:32px;padding:2px 6px;border:1px solid #0008;border-radius:999px;background:#15181de6;color:#f0dfbd;font:700 11px/1.2 Georgia,serif;text-align:center;box-shadow:0 3px 8px #0008}.stat-badge.hp{color:#ff9b86;background:linear-gradient(180deg,#431f24,#15181de6)}.stat-badge.atk{color:#ffd36f;background:linear-gradient(180deg,#493719,#15181de6)}.stat-badge.boosted{border-color:#f3d67faa;box-shadow:0 0 0 1px #f3d67f33,0 0 16px #f0c65b66,0 4px 10px #0009;text-shadow:0 0 8px currentColor}.offer .stat-badges{bottom:34px;padding:0 8px}.hand-list .roster-card .stat-badges{bottom:3px;padding:0 4px}.hand-list .roster-card .stat-badge{min-width:24px;padding:1px 4px;font-size:8px}.formation-slot .stat-badges{bottom:7px;padding:0 8px}.formation-slot .stat-badge{min-width:26px;padding:1px 5px;font-size:9px}.formation-slot .equipped-chips{margin-bottom:13px}
@media(min-width:761px){.shop-zone .offer{padding-bottom:28px!important}.shop-zone .offer .stat-badges{bottom:28px}.formation-zone .formation-slot{padding-bottom:19px!important}.formation-zone .formation-slot .stat-badges{bottom:3px;padding:0 5px}.formation-zone .formation-slot .stat-badge{min-width:24px;font-size:8px;padding:1px 4px}.formation-slot .equipped-chips{margin-bottom:0;transform:translateY(-2px)}}
@media(max-width:520px){.stat-badge{font-size:8px;min-width:23px;padding:1px 3px}.offer .stat-badges{bottom:6px;padding:0 4px}.shop-zone .offer{padding-bottom:18px!important}.formation-zone .formation-slot{padding-bottom:16px!important}.formation-zone .formation-slot .stat-badges{bottom:2px;padding:0 6px}.hand-list .roster-card .stat-badges{bottom:2px}.hand-list .roster-card .stat-badge{min-width:22px;font-size:7px;padding:1px 3px}.formation-slot .equipped-chips{right:50%!important;bottom:17px!important;transform:translateX(50%);max-width:46px}}

/* Short scene transitions keep battle/reward/prep changes from feeling abrupt. */
.scene-transition{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:radial-gradient(circle at 50% 44%,#f4d37a24,transparent 28%),linear-gradient(120deg,#071316f0,#0d1e20f6 48%,#261a18f0);opacity:0;transform:scale(1.03);transition:opacity .22s ease,transform .22s ease;pointer-events:auto}.scene-transition.show{opacity:1;transform:scale(1)}.scene-transition.leave{opacity:0;transform:scale(.98)}.scene-transition>div{position:relative;min-width:min(320px,78vw);padding:28px 34px;border:1px solid #e7ca7daa;border-radius:22px;background:#071316e8;box-shadow:0 24px 70px #000c,0 0 46px #d8b6602b;text-align:center;overflow:hidden}.scene-transition>div:before{content:"";position:absolute;inset:-45%;background:conic-gradient(from 0deg,transparent,#f0d07855,transparent 30%);animation:scene-sweep 1s ease both}.scene-transition span{position:relative;display:block;font:700 28px "Songti SC",serif;color:#f5df9b;letter-spacing:.14em;text-shadow:0 0 18px #d69b42aa}.scene-transition small{position:relative;display:block;margin-top:10px;color:#c6d4b1;font-size:13px;letter-spacing:.08em}.scene-transition.win{background:radial-gradient(circle at 50% 45%,#f2d87830,transparent 30%),linear-gradient(120deg,#091819f2,#183121f6 52%,#2e2515f2)}.scene-transition.lose{background:radial-gradient(circle at 50% 45%,#c87b5b30,transparent 30%),linear-gradient(120deg,#091316f2,#1f2028f6 52%,#2b1515f2)}.scene-transition.reward{background:radial-gradient(circle at 50% 45%,#d6b4ff2e,transparent 30%),linear-gradient(120deg,#081416f2,#17212af6 52%,#231734f2)}.scene-transition.battle span:after{content:"";display:block;width:90px;height:2px;margin:14px auto 0;background:linear-gradient(90deg,transparent,#f2d784,transparent);box-shadow:0 0 16px #f2d784}
@keyframes scene-sweep{from{transform:rotate(0deg)}to{transform:rotate(120deg)}}
@media(max-width:520px){.scene-transition>div{min-width:min(260px,82vw);padding:22px 24px}.scene-transition span{font-size:23px}.scene-transition small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.scene-transition,.scene-transition>div:before{transition:none!important;animation:none!important}}

/* P0 Meshy forge: a compact overlay inside prep, without changing the core shop/formation flow. */
.forge-entry{border-color:#d8b85f88!important;color:#f4dd93!important;background:linear-gradient(180deg,#443a1d,#18231d)!important}
.forge-panel{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 38%,#e7c46e24,transparent 34%),#04101599;backdrop-filter:blur(5px)}
.forge-panel[hidden]{display:none!important}.forge-card{position:relative;width:min(520px,100%);max-height:calc(100dvh - 64px);overflow:auto;padding:18px;border:1px solid #d8bd73aa;border-radius:18px;background:linear-gradient(160deg,#172326f8,#0a1215fa);box-shadow:0 24px 70px #000d,0 0 42px #d6aa4b24}.forge-close{position:absolute;right:12px;top:10px;width:34px;height:34px;padding:0;font-size:20px}.forge-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-right:40px}.forge-title b{font:700 22px "Songti SC",serif;color:#f1d890}.forge-title span{font-size:12px;color:#9fb391}.forge-roles{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:14px 0}.forge-roles button{padding:8px 4px;font-size:12px}.forge-roles button.active{border-color:#f2d481;background:#53431f;color:#f7df98}.forge-card label{display:block;margin-top:10px;color:#b8c9aa;font-size:12px}.forge-card input,.forge-card textarea{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #6f856a88;border-radius:10px;background:#071114;color:#f4e7c2;padding:10px 11px;font:12px/1.45 inherit;outline:none}.forge-card textarea{resize:vertical;min-height:86px}.forge-card input:focus,.forge-card textarea:focus{border-color:#dfc476;box-shadow:0 0 0 2px #d8b85f22}.forge-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:13px}.forge-actions button{padding:9px 13px;font-size:12px}.forge-actions #forge-create{background:linear-gradient(180deg,#d8b85f,#9d6f2c);color:#1b1308;border-color:#f0d989}.forge-card small{display:block;margin-top:10px;color:#90a68a;font-size:11px;line-height:1.5}
@media(max-width:520px){.forge-panel{padding:10px}.forge-card{padding:14px}.forge-title b{font-size:19px}.forge-roles{grid-template-columns:repeat(3,1fr)}.forge-card textarea{min-height:78px}.forge-actions button{flex:1}}

/* Meshy models become a visible toy: only preview GLB on demand to keep combat light. */
.mesh-badge{position:absolute;right:5px;top:5px;z-index:5;padding:2px 5px;border:1px solid #86d7ffaa;border-radius:999px;background:#0a151dcc;color:#b9ecff;font:800 9px/1 Inter,sans-serif;box-shadow:0 0 12px #5bc6ff66;pointer-events:none}.slot-art .mesh-badge,.hand-list .mesh-badge{right:2px;top:2px;font-size:7px;padding:1px 3px}.mesh-preview{height:178px;margin:12px 0 4px;border:1px dashed #7fa2a066;border-radius:13px;display:grid;place-items:center;background:#071115;color:#7f978d;font-size:12px;overflow:hidden}.mesh-preview.empty:before{content:'3D';display:grid;place-items:center;width:64px;height:64px;margin-bottom:8px;border-radius:50%;border:1px solid #d8bd7377;color:#e4c678}.mesh-viewer{display:block;width:100%;height:100%;min-height:170px;background:radial-gradient(circle at 50% 38%,#d8c06a22,transparent 42%),#091317}.model-panel{position:absolute;inset:0;z-index:25;display:grid;place-items:center;padding:16px;background:#041015b8;backdrop-filter:blur(6px)}.model-card{position:relative;width:min(560px,100%);padding:18px;border:1px solid #89d8ffaa;border-radius:18px;background:linear-gradient(160deg,#101f27f8,#071115fb);box-shadow:0 24px 80px #000e,0 0 48px #69ceff26}.model-card .mesh-viewer{height:min(430px,56dvh);min-height:280px;border-radius:14px;margin-top:12px}.model-card small{display:block;margin-top:10px;color:#9fb4ac;font-size:11px;text-align:center}
@media(max-width:520px){.mesh-preview{height:136px}.model-panel{padding:10px}.model-card{padding:14px}.model-card .mesh-viewer{height:48dvh;min-height:240px}}

.archive-card{width:min(720px,100%)}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.archive-item{display:grid;gap:6px;padding:8px;border:1px solid #6f856a88;border-radius:12px;background:#091417}.archive-item button:first-child{display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.archive-item span{position:relative;display:grid;place-items:center;min-height:72px;border-radius:10px;background:#10231f;overflow:hidden}.archive-item svg{width:68px;height:68px}.archive-item strong{font-size:13px;color:#f1d890}.archive-item small{min-height:30px;color:#aab99f;font-size:10px;line-height:1.35}.archive-item em{color:#8fb7c8;font-size:10px;font-style:normal}.archive-item button:last-child{padding:7px 8px;font-size:11px}.archive-panel .model-card .mesh-viewer{height:min(380px,48dvh)}@media(max-width:640px){.archive-grid{grid-template-columns:repeat(2,1fr)}}

.forge-quest{margin:10px 0 8px;padding:10px;border:1px solid #d8bd7355;border-radius:12px;background:#111b18}.forge-quest>b{color:#f2d481}.forge-quest>span{float:right;color:#b9ecff;font-weight:800}.forge-quest div{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px}.forge-quest em{font-style:normal;font-size:11px;border:1px solid #6f856a88;border-radius:999px;padding:3px 7px;color:#8fa28c}.forge-quest em.hit{border-color:#79d8ff;background:#11313d;color:#bff0ff}.forge-quest small{color:#9fb391;font-size:11px}
.fusion-entry{border-color:#d8b85f88!important;color:#f4dd93!important;background:linear-gradient(180deg,#4b3329,#18231d)!important}.fusion-panel{position:absolute;inset:0;z-index:24;display:grid;place-items:center;padding:14px;background:#041015b8;backdrop-filter:blur(6px)}.fusion-card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 54px);overflow:auto;padding:16px;border:1px solid #d8bd73aa;border-radius:18px;background:linear-gradient(160deg,#172326f8,#0a1215fa);box-shadow:0 24px 70px #000d,0 0 42px #d6aa4b24}.fusion-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.fusion-unit{min-height:92px;padding:8px;border-radius:12px;background:#172b27;border-color:#697e69;color:#eadfbd;text-align:center}.fusion-unit.selected{border-color:#f5d685;background:#423921;box-shadow:0 0 0 1px #f5d68544,0 0 18px #d99d3e55}.fusion-unit span{display:block;width:48px;height:42px;margin:0 auto 4px}.fusion-unit strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fusion-unit small{display:block;font-size:10px;color:#b7c7a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fusion-result{min-height:74px;border:1px solid #806d4d77;border-radius:14px;background:#101a1ecc;padding:10px}.fusion-result p{margin:18px 0;text-align:center;color:#9fb391}.fusion-result-card{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center}.fusion-result-card>span{width:66px;height:58px;display:block}.fusion-result-card strong{display:block;color:#f3d284;font-size:17px}.fusion-result-card small{display:block;color:#f0d37d;font-size:12px;margin:4px 0}.fusion-result-card em{display:block;color:#b8c9aa;font-size:11px;line-height:1.45;font-style:normal}.fusion-card .forge-actions #confirm-fusion{background:linear-gradient(180deg,#d8b85f,#9d6f2c);color:#1b1308;border-color:#f0d989}.fusion-card>small{display:block;margin-top:10px;color:#90a68a;font-size:11px;line-height:1.5}@media(max-width:520px){.fusion-panel{padding:8px}.fusion-card{padding:13px}.fusion-picks{grid-template-columns:repeat(2,1fr);gap:7px}.fusion-unit{min-height:74px;padding:6px}.fusion-unit span{width:34px;height:30px}.fusion-result-card{grid-template-columns:52px 1fr}.fusion-result-card>span{width:50px;height:44px}.fusion-result-card strong{font-size:15px}}
.fusion-result-card i{display:block;margin-top:5px;color:#86d7ff;font-size:11px;font-style:normal}.fusion-card:before{content:'';position:absolute;inset:10px;border-radius:16px;border:1px solid #e5bd5c22;box-shadow:inset 0 0 28px #d89b4130;pointer-events:none}.fusion-unit.selected span,.fusion-result-card>span{filter:drop-shadow(0 0 12px #e5bd62aa)}
.profile-panel{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:14px;background:#041015c4;backdrop-filter:blur(6px)}.profile-card{position:relative;width:min(620px,100%);max-height:calc(100dvh - 54px);overflow:auto;padding:18px;border:1px solid #8fd4b0aa;border-radius:18px;background:linear-gradient(160deg,#172326fb,#0a1215fb);box-shadow:0 24px 80px #000e,0 0 44px #62d8a926}.profile-card label{display:block;margin:14px 0;color:#b8c9aa;font-size:12px}.profile-card input{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #6f856a88;border-radius:10px;background:#071114;color:#f4e7c2;padding:10px 11px;font:14px/1.45 inherit;outline:none}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.profile-stats b{display:grid;gap:4px;padding:12px 8px;border:1px solid #7da77d66;border-radius:12px;background:#10241d;color:#f1d890;text-align:center;font-size:22px}.profile-stats small{font-size:10px;color:#9fb391;font-weight:500}.profile-section{margin-top:13px;padding:12px;border:1px solid #6f856a66;border-radius:12px;background:#0d1818}.profile-section>strong{display:block;margin-bottom:8px;color:#f1d890}.profile-section p{margin:8px 0;color:#94a98f;font-size:12px}.history-list,.fusion-history{display:grid;gap:7px}.history-list div,.fusion-history div{display:grid;gap:2px;padding:8px;border-radius:9px;background:#172820}.history-list b,.fusion-history b{font-size:13px;color:#eadfbd}.history-list span,.fusion-history span{font-size:11px;color:#9fb391}.fusion-history small{font-size:10px;line-height:1.35;color:#86d7ff}.profile-card>small{display:block;margin-top:10px;color:#90a68a;font-size:11px}@media(max-width:520px){.profile-card{padding:14px}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-stats b{font-size:19px;padding:10px 6px}}
.daily-chip{border:1px solid #d9bd6a88;border-radius:999px;padding:3px 9px;background:#2a2413;color:#f5d88c;font-size:11px}.daily-card{border-color:#d7b85c88;background:linear-gradient(135deg,#1f2418,#111b1d)}.daily-card p{color:#f2d68b}.title-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.title-list span{display:grid;gap:3px;border:1px solid #836e3f88;border-radius:10px;background:#201b13;padding:8px}.title-list b{font-size:13px;color:#f3d284}.title-list small{font-size:10px;color:#b8c9aa}.bloodline-list{display:grid;gap:7px}.bloodline-list div{display:grid;gap:2px;padding:8px;border-radius:9px;background:linear-gradient(90deg,#172820,#201b28)}.bloodline-list b{font-size:13px;color:#eadfbd}.bloodline-list span{font-size:11px;color:#cdb879}.bloodline-list small{font-size:10px;line-height:1.35;color:#86d7ff}@media(max-width:520px){.title-list{grid-template-columns:1fr}.daily-chip{display:none}}
.chapter-card{border-color:#6ea4b888;background:linear-gradient(135deg,#13212a,#111a18)}.chapter-card strong{color:#9ed8ff}.chapter-card small{display:block;color:#91b6c6;font-size:10px}.daily-stages{display:grid;gap:6px;margin:8px 0}.daily-stages span{border:1px solid #6d735588;border-radius:999px;padding:5px 9px;background:#171d16;color:#b7c7a8;font-size:11px}.daily-stages span.done{border-color:#d8be61;background:#302713;color:#f5d98e}.guard-card div{display:flex;flex-wrap:wrap;gap:6px}.guard-card div span{border:1px solid #637b7488;border-radius:999px;background:#152320;color:#d7e3c8;padding:4px 8px;font-size:11px}
