/* More room for the company; all clipping fixes stay inside preparation. */
#screen-setup,body.mobile-edge-to-edge #screen-setup{grid-template-rows:minmax(0,2fr) minmax(132px,.8fr)!important}
#screen-setup[data-storage-empty=true],body.mobile-edge-to-edge #screen-setup[data-storage-empty=true]{grid-template-rows:minmax(0,1fr) 106px!important}
#screen-setup #formationPanel,#screen-setup #formationPanel .formation-layout,#screen-setup #formationPanel .formation-layout .formation-zone,#screen-setup #formationPanel .formation-layout .formation-front,#screen-setup #formationPanel .formation-layout .formation-back{overflow:visible!important}
#screen-setup #formationPanel .formation-layout{gap:7px!important}
#screen-setup #formationPanel .formation-layout .formation-zone{padding:2px 0 5px!important;gap:5px!important}
#screen-setup #formationPanel .formation-layout .slot{overflow:visible!important;position:relative!important;isolation:isolate;padding:5px 8px!important;gap:3px!important;--party-portrait:38px;border-radius:11px!important}
#screen-setup #formationPanel .formation-layout .slot .formation-card-main,body.mobile-edge-to-edge #screen-setup #formationPanel .formation-layout .slot .formation-card-main{overflow:visible!important;height:var(--party-portrait,38px)!important;min-height:var(--party-portrait,38px)!important;flex:0 0 var(--party-portrait,38px)!important;gap:8px!important}
#screen-setup #formationPanel .formation-layout .slot .unit-avatar,#screen-setup #formationPanel .formation-layout .slot .formation-art,body.mobile-edge-to-edge #screen-setup #formationPanel .formation-layout .slot .unit-avatar,body.mobile-edge-to-edge #screen-setup #formationPanel .formation-layout .slot .formation-art{width:var(--party-portrait,38px)!important;min-width:var(--party-portrait,38px)!important;max-width:var(--party-portrait,38px)!important;height:var(--party-portrait,38px)!important;min-height:var(--party-portrait,38px)!important;max-height:var(--party-portrait,38px)!important;flex:0 0 var(--party-portrait,38px)!important;overflow:visible!important;object-fit:contain!important}
#screen-setup #formationPanel .formation-layout .slot .unitname{font-size:14px!important;line-height:1.15!important}
#screen-setup #formationPanel .formation-layout .slot .formation-card-element{font-size:10px!important;line-height:1.2!important}
#screen-setup #formationPanel .formation-layout .slot .slot-inline-stats{font-size:11px!important;line-height:1.15!important;min-height:22px!important;flex:0 0 22px!important;height:auto!important}
#screen-setup #terrainPanel #roster{overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#bca47766 transparent}
/* Fine etched arcs and organic silhouettes, balanced against quiet metallic portrait rims. */
#screen-setup .element-filigree{rotate:var(--filigree-tilt,0deg);opacity:.62}
#screen-setup .element-filigree svg{stroke-width:.8}
#screen-setup .element-filigree .filigree-keyline{opacity:.3;stroke-width:.6}
#screen-setup #formationPanel .element-filigree{width:54px;height:54px;margin:-27px 0 0 -27px;opacity:.6}
#screen-setup #shopPanel #offers .offer-portrait-wrap .summon-art[data-whimsy-element],#screen-setup #formationPanel .unit-avatar .formation-art[data-whimsy-element]{box-shadow:0 0 0 1px #e0c992aa,0 0 0 3px #132630c9,0 0 10px color-mix(in srgb,var(--whimsy-tone) 28%,transparent)!important}
/* Arrival effects live INSIDE the destination, without viewport coordinate conversion. */
#screen-setup [data-arrival-anchor]{position:relative!important}
#screen-setup .summoner-arrival.arrival-attached{position:absolute!important;inset:-10px!important;width:auto!important;height:auto!important;margin:0!important;color:#e9cf98;z-index:8;pointer-events:none!important;animation:arrival-bloom249 .95s ease-out both;transform:none!important}
#screen-setup .summoner-arrival.arrival-attached svg{width:100%;height:100%;display:block;overflow:visible;pointer-events:none!important}
#screen-setup .arrival-attached .arrival-keyline{opacity:.35}
#screen-setup .arrival-attached .arrival-orbit{transform-origin:60px 60px;animation:orbit-arrive249 .95s cubic-bezier(.16,.6,.3,1) both}
#screen-setup .arrival-attached .arrival-petal{transform-origin:60px 60px;rotate:-30deg;opacity:.65}
#screen-setup .arrival-attached .arrival-spark{opacity:.85}
#screen-setup .arrival-attached.is-merge{color:#dcc6f4}
#screen-setup .summoner-arrival.arrival-attached.arrival-card{inset:2px!important;border:1px solid #e6c785aa;border-radius:inherit;box-shadow:inset 0 0 10px #e6c78522}
#screen-setup .arrival-attached.arrival-card svg{display:none}
#screen-setup .arrival-attached.arrival-card.is-merge{border-color:#d6b8ee;box-shadow:inset 0 0 12px #c6a2e62a}
@keyframes arrival-bloom249{0%{opacity:0;scale:.88}20%{opacity:.9}100%{opacity:0;scale:1.08}}
@keyframes orbit-arrive249{from{rotate:-38deg;stroke-dashoffset:18}to{rotate:32deg;stroke-dashoffset:0}}
@supports(height:1cqh){#screen-setup #formationPanel .formation-layout .slot{container-type:size;--party-portrait:clamp(32px,calc(100cqh - 25px),46px)}}
@media(prefers-reduced-motion:reduce){#screen-setup .summoner-arrival.arrival-attached{display:none!important}}
