.formation-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.neon-game .party-caption .formation-actions>button{min-height:44px;font-size:11px;padding:6px 10px;border:1px solid var(--glass-border);border-radius:9px;background:var(--color-panel)}.neon-game .party-caption .formation-actions>#formation-btn{color:var(--color-cyan);border-color:var(--color-cyan)}
#modal:has(.formation-top){width:min(680px,calc(100vw - 16px));max-height:94svh;overflow:hidden}
#modal:has(.formation-top) #modal-content{overflow:hidden;display:flex;flex-direction:column;min-height:0;max-height:calc(94svh - 80px);padding-bottom:6px}
.formation-top{flex:none}.formation-top>p{font-size:12px;line-height:1.5;margin-bottom:8px;color:var(--color-muted)}
.formation-active{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.formation-slot{min-width:0;display:grid;grid-template-rows:52px auto auto;justify-items:center;align-items:center;padding:4px 2px;background:var(--color-night-2);border:1px solid var(--glass-border);border-radius:10px;color:var(--color-ink)}
.formation-slot img{width:100%;height:52px;object-fit:contain}.formation-slot strong{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formation-slot small{font-size:9px;color:var(--color-muted)}.formation-slot>b{font-size:23px;color:var(--color-cyan)}.formation-slot.selected{border-color:var(--color-cyan);box-shadow:inset 0 0 12px var(--neon-cyan)}
.formation-bench{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;margin:8px 0}.formation-bench>.formation-slot{grid-template-rows:40px auto auto}.formation-bench>.formation-slot img{height:40px}.formation-bench>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0}.formation-bench strong{font-size:12px;line-height:1.35}.formation-bench small{font-size:10px;line-height:1.5}.formation-bench button[data-formation-remove]{min-height:44px;font-size:11px;padding:5px 10px;border:1px solid var(--glass-border);border-radius:8px}
.formation-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0}.formation-filters button{min-width:0;min-height:44px;font-size:12px;padding:5px;border-radius:10px;color:var(--color-ink)}.formation-filters button.selected{background:var(--color-cyan);color:var(--color-night);font-weight:800}
.formation-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow-y:auto;min-height:120px;overscroll-behavior:contain;padding:3px 4px 9px;flex:1 1 auto;scrollbar-width:thin}
.formation-candidate{position:relative;display:grid;grid-template-rows:66px auto auto auto;gap:3px;align-items:center;justify-items:center;min-width:0;padding:20px 4px 6px;border:1px solid var(--glass-border);border-radius:12px;background:var(--color-night-2);color:var(--color-ink);white-space:normal}
.formation-candidate img{height:66px;width:100%;object-fit:contain}.formation-candidate strong{font-size:13px;line-height:1.3;white-space:nowrap;max-width:100%;text-overflow:ellipsis;overflow:hidden}.formation-candidate small{font-size:10px;line-height:1.3;white-space:normal;text-align:center}.formation-candidate .recovery-note{color:var(--color-green);font-size:10px}.formation-badge{position:absolute;left:6px;top:5px;font-size:9px;line-height:1.3;color:var(--color-cyan)}.formation-candidate.selected{border-color:var(--color-cyan);background:var(--glass-high)}.formation-note{font-size:10px;line-height:1.5;color:var(--color-muted);padding-top:7px;flex:none}
@media(max-width:480px){.formation-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.formation-top>p{font-size:10px}.formation-slot{grid-template-rows:41px auto auto}.formation-slot img{height:41px}.formation-slot strong{font-size:10px}.formation-bench{grid-template-columns:65px minmax(0,1fr);gap:7px;margin:6px 0}.formation-bench>div{gap:2px}.formation-bench small{font-size:9px}.formation-bench button[data-formation-remove]{font-size:10px}.formation-candidate strong{font-size:11px}.formation-candidate small{font-size:9px}.formation-candidate .recovery-note{font-size:9px}.neon-game .party-caption .formation-actions>button{font-size:10px;padding:5px 8px}.formation-actions{gap:5px}.formation-note{font-size:9px}}
@media(max-height:550px) and (orientation:landscape){.formation-top{position:relative}.formation-top>p{display:none}.formation-active{width:calc(100% - 108px)}.formation-slot{grid-template-rows:42px auto auto}.formation-slot img{height:42px}.formation-bench{position:absolute;right:0;top:0;display:block;width:100px;margin:0}.formation-bench>div{display:none}.formation-filters{margin:5px 0}.formation-top .need-chips{margin-top:5px;max-width:calc(100% - 108px)}.formation-roster{min-height:80px;grid-template-columns:repeat(4,minmax(0,1fr))}.formation-candidate{grid-template-rows:42px auto auto auto;padding-top:17px}.formation-candidate img{height:42px}.formation-note{display:none}}
.neon-game #modal:has(.formation-top){width:min(680px,calc(100vw - 12px));max-width:calc(100vw - 12px);padding:12px}.neon-game #modal:has(.formation-top) #modal-content{padding-left:0;padding-right:0}.neon-game #modal:has(.formation-top) .modal-top{padding-left:0;padding-right:0}
.formation-roster{grid-auto-rows:max-content;align-content:start}.formation-candidate{min-height:150px}
@media(max-height:550px) and (orientation:landscape){.formation-candidate{min-height:124px}}
@media(min-width:640px) and (orientation:landscape) and (max-height:550px){
 .neon-game #modal:has(.formation-top){width:min(960px,calc(100vw - 12px));padding:9px 12px}
 .neon-game #modal:has(.formation-top) #modal-content{display:grid;grid-template-columns:minmax(165px,.57fr) minmax(0,1.43fr);grid-template-rows:44px minmax(0,1fr);column-gap:12px;row-gap:7px;height:calc(94svh - 72px);max-height:none;padding-bottom:0}
 .formation-top{grid-column:1;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:6px;align-content:start;position:static;padding-right:10px;border-right:1px solid var(--glass-border);min-width:0}
 .formation-top>p{display:none}.formation-active,.formation-bench{display:contents;width:auto;position:static}.formation-bench>div{display:none}
 .formation-slot,.formation-bench>.formation-slot{grid-template-rows:37px auto auto;min-height:73px;border-radius:8px;padding:3px 1px;min-width:0}.formation-slot img,.formation-bench>.formation-slot img{height:37px;width:100%;object-fit:contain}.formation-slot strong{font-size:10px}.formation-slot small{font-size:8px}
 .formation-top .need-chips{grid-column:1/-1;max-width:none;align-content:start;align-items:flex-start;justify-content:flex-start;margin:6px 0 0;gap:5px}.formation-top .need-chip{font-size:9px;padding:4px 6px}
 .formation-filters{grid-column:2;grid-row:1;margin:0;gap:5px;min-height:44px}.formation-filters button{font-size:11px;min-height:44px}
 .formation-roster{grid-column:2;grid-row:2;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 4px 6px 0;max-height:none}
 .formation-candidate{min-height:112px;padding:17px 4px 6px;grid-template-rows:40px auto auto auto;gap:2px}.formation-candidate img{height:40px}.formation-candidate strong{font-size:11px}.formation-candidate small,.formation-candidate .recovery-note{font-size:9px;line-height:1.2}
}

/* Readable normal/skill descriptions stay visible while selecting a formation. */
.formation-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.formation-candidate{display:block;padding:0;min-height:0;overflow:hidden;text-align:left}
.formation-choose{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:54px;width:100%;padding:5px 7px;background:linear-gradient(135deg,#153759,#0a2039);border:0;border-bottom:1px solid #2c5170;border-radius:0;color:#eff9ff;text-align:left}
.formation-choose img{width:42px;height:42px;object-fit:contain}.formation-person{min-width:0}.formation-person strong{display:block;font-size:13px;line-height:1.25;white-space:normal}.formation-person small{display:block;font-size:10px;line-height:1.3;text-align:left;color:#8ed8ef}.formation-choose>b{font-size:10px;line-height:1.35;color:#7de7fa;text-align:center;min-width:38px}.unrecruited .formation-choose>b{color:#ffe080}
.formation-abilities{padding:7px 9px 9px;display:flex;flex-direction:column;gap:5px;min-width:0}
.formation-normal{display:flex;gap:5px;align-items:flex-start;font-size:11px;line-height:1.5}.formation-normal>b{flex:none;color:#7dcff2;font-size:10px;line-height:1.5}.formation-normal>span{min-width:0;color:#d5eaf5}.formation-reach{font-size:9px;line-height:1.3;color:#8aaac3}
.formation-skill{display:flex;gap:6px;justify-content:space-between;align-items:baseline;border-top:1px solid #2c3e57;padding-top:6px}.formation-skill>strong{color:#ffe184;font-size:11px;line-height:1.4;white-space:normal}.formation-skill>em{font-style:normal;font-size:10px;color:#b6cade;white-space:nowrap}.formation-skill-detail{color:#eef6fd;font-size:11px;line-height:1.5}.formation-matchup{font-size:10px;line-height:1.45;color:#80e3c6;border-top:1px solid #20493d;padding-top:5px}
.formation-filters{grid-template-columns:repeat(4,minmax(44px,1fr)) minmax(100px,1.5fr);gap:5px}.formation-filters input{width:100%;min-width:0;min-height:44px;padding:5px 8px;border:1px solid #3c607e;border-radius:9px;background:#091a31;color:#effaff;font-size:11px}.formation-filters input:focus{outline:2px solid #43daf4;outline-offset:-2px}.formation-empty{grid-column:1/-1;font-size:12px;padding:14px;color:#b7d7e5}
@media(min-width:640px) and (orientation:landscape) and (max-height:550px){
 .neon-game #modal:has(.formation-top){width:min(1100px,calc(100vw - 12px))}
 .neon-game #modal:has(.formation-top) #modal-content{grid-template-columns:minmax(165px,.48fr) minmax(0,1.52fr)}
 .formation-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.formation-candidate{padding:0;min-height:0;display:block}.formation-candidate img{height:38px;width:38px}.formation-choose{grid-template-columns:38px minmax(0,1fr) auto;min-height:48px;padding:4px 6px;gap:5px}.formation-person strong{font-size:12px}.formation-person small{font-size:9px}.formation-choose>b{font-size:9px;min-width:32px}.formation-abilities{padding:5px 7px 7px;gap:4px}.formation-normal,.formation-skill-detail{font-size:10px;line-height:1.45}.formation-skill>strong{font-size:11px}.formation-matchup{font-size:9px;line-height:1.4}.formation-reach{font-size:9px}.formation-filters{grid-template-columns:repeat(4,minmax(44px,1fr)) minmax(110px,1.5fr);gap:4px}.formation-filters button{font-size:10px}
}
@media(max-width:480px){.formation-roster{grid-template-columns:1fr}.formation-choose{min-height:56px}.formation-choose img{width:44px;height:44px}.formation-person strong{font-size:14px}.formation-normal,.formation-skill-detail{font-size:12px}.formation-skill>strong{font-size:12px}.formation-matchup{font-size:11px}.formation-filters button{font-size:10px}.formation-filters{gap:4px}}
@media(min-width:640px) and (orientation:landscape) and (max-height:550px){
 .formation-normal,.formation-skill-detail{font-size:12px;line-height:1.5}.formation-reach{font-size:10px}.formation-skill>strong{font-size:12px}.formation-matchup{font-size:11px;line-height:1.45}.formation-person strong{font-size:13px}.formation-person small{font-size:10px}
 .formation-skill>strong:before{content:'スキル ';font-size:9px;color:#b6cade;font-weight:500}
}
.crew-skill-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:4px 0}.crew-skill-choices>button{min-height:48px;min-width:44px;white-space:normal;padding:5px 6px;border:1px solid #376183;border-radius:7px;background:#0a2036;color:#cde3f2;text-align:left}.crew-skill-choices>button.selected{border-color:#efce60;background:#383426;color:#ffe67f}.crew-skill-choices b{font-size:11px;display:block;line-height:1.4}.crew-skill-choices small{font-size:9px;display:block;color:#a8c9dc;text-align:left!important;margin-top:3px}.crew-passive{display:flex;flex-direction:column;gap:3px;border-top:1px solid #3b4261;padding-top:6px;color:#cbd7ef;font-size:11px;line-height:1.5}.crew-passive>small{color:#99a8ce;font-size:9px!important;text-align:left!important}.crew-passive>strong{font-size:11px;color:#d4b8fa;white-space:normal;overflow:visible}.detail-skills{display:flex;flex-direction:column;gap:7px}.detail-skills .crew-passive,.detail-skills .formation-skill-detail{font-size:13px}.detail-skills .crew-skill-choices b{font-size:12px}
@media(max-width:480px){.crew-skill-choices b{font-size:12px}.crew-skill-choices small{font-size:10px}.crew-passive{font-size:12px}.crew-passive>strong{font-size:12px}}
.formation-roster:has(.formation-candidate:only-child){grid-template-columns:1fr}.skill-rule-note{font-size:10px!important;line-height:1.45!important;text-align:left!important;color:#91b6d2;border-left:2px solid #386681;padding-left:6px}
