/* Generated v14 composition translated into responsive, real touch controls. */
#modal.formation-editor{width:min(1240px,calc(100vw - 24px));max-width:none;height:min(750px,calc(100dvh - 24px));max-height:none;padding:0;border:1px solid #998353;background:#0b1829;color:#f4f5f7;border-radius:18px;overflow:hidden;box-shadow:0 18px 80px #000a}
#modal.formation-editor .modal-top{height:48px;min-height:48px;margin:0;padding:0 18px;border-bottom:1px solid #334858;background:linear-gradient(100deg,#162b40,#0b192b)}
#modal.formation-editor .modal-top h2{font-size:18px;letter-spacing:.06em}
#modal.formation-editor #modal-content{height:calc(100% - 48px);padding:0;overflow:hidden;display:flex;flex-direction:column}
.formation-workspace{flex:1;min-height:0;display:grid;grid-template-columns:190px minmax(240px,1fr) minmax(285px,.98fr);gap:12px;padding:12px}
.formation-current,.formation-library,.formation-inspector{min-height:0;min-width:0;border:1px solid #314657;border-radius:12px;background:#0c1b2d;overflow:hidden}
.formation-current{padding:10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.formation-current h3,.formation-library h3{margin:0;font-size:13px;color:#b3c8d6}
.formation-current .formation-slot{flex:none;min-height:52px;width:100%;display:grid;grid-template-columns:24px 44px 1fr;grid-template-rows:auto auto;gap:0 7px;padding:5px 8px;text-align:left;align-items:center;border:1px solid #354b5b;border-radius:9px;background:#11273b;color:#f7f9fb}
.formation-current .formation-slot img{grid-column:2;grid-row:1/3;width:44px;height:44px;object-fit:contain;background:#1b3145;border-radius:7px}
.formation-current .formation-slot>b{grid-row:1/3;color:#90b5c5;font-size:16px;text-align:center}
.formation-current .formation-slot strong{grid-column:3;font-size:12px}
.formation-current .formation-slot small{grid-column:3;color:#9fb5c3;font-size:10px}
.formation-current .formation-slot.selected{border-color:#f1d086;box-shadow:inset 3px 0 #f1d086;background:#243543}
.formation-current .formation-slot.changed{outline:1px solid #48dcc5;outline-offset:-3px}
.formation-current .formation-slot.bench{margin-top:4px;border-style:dashed}
.formation-current .need-chips{margin:5px 0 0;gap:3px;font-size:10px}
.formation-current .formation-remove{min-height:40px;font-size:11px;background:#122739;color:#a5b8c5;border:1px solid #314b5b;border-radius:8px}
.formation-library{display:flex;flex-direction:column}
.formation-library-top{padding:10px 10px 6px;flex:none}
.formation-library .formation-filters{position:static;display:flex;flex-wrap:wrap;gap:4px;padding:0;background:transparent;border:0}
.formation-library .formation-filters button{min-height:36px;font-size:11px;padding:4px 10px;background:#152c40;border:1px solid #385063;border-radius:8px}
.formation-library .formation-filters button.selected{background:#d5ba79;color:#11243b;border-color:#f3d99c}
.formation-library .formation-filters input{flex-basis:100%;width:100%;min-width:0;height:36px;margin:4px 0 0;font-size:12px;background:#091827;border:1px solid #385063;border-radius:8px;color:white;padding:6px 9px}
.formation-roster.v14-roster{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(91px,1fr));align-content:start;gap:7px;padding:7px 10px 10px;overscroll-behavior:contain}
.formation-roster .roster-tile{min-height:116px;min-width:0;display:flex;flex-direction:column;gap:2px;border:1px solid #345065;border-radius:10px;background:#142a3e;padding:5px;text-align:left;position:relative;color:#f5f7fa;touch-action:manipulation}
.roster-tile>img{width:100%;height:66px;object-fit:contain;background:radial-gradient(ellipse,#274058,#0c1c2e);border-radius:6px}
.roster-tile strong{font-size:12px}.roster-tile small{font-size:10px;color:#9eb9c9;line-height:1.25}.roster-tile .tile-role{color:#66dfd3;font-size:10px}
.roster-tile.selected{border-color:#f4d789;box-shadow:inset 0 0 0 1px #d5b66c;background:#273b49}
.roster-tile.unrecruited{opacity:.76}.roster-tile .tile-position{position:absolute;top:6px;right:6px;font-size:9px;color:#fff1ba;background:#0b1c2fe8;border-radius:4px;padding:2px 4px}
.formation-inspector{padding:12px;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at top right,#26384c 0,#0b192b 65%)}
.inspector-person{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center;margin-bottom:10px}
.inspector-person img{width:88px;height:94px;object-fit:contain;filter:drop-shadow(0 3px 9px #0008)}
.inspector-person h3{font-size:20px;margin:0 0 4px}.inspector-person p{font-size:12px;color:#7dd9d3;margin:2px 0;line-height:1.4}.inspector-person small{font-size:11px;color:#b8ccd7}
.formation-inspector .formation-normal{display:flex;gap:6px;font-size:12px;color:#e5edf2;line-height:1.65;margin:6px 0}.formation-inspector .formation-normal b{color:#f2d393;white-space:nowrap}
.formation-inspector .formation-reach{font-size:11px;color:#abc1d0}.formation-inspector .formation-matchup{display:block;font-size:12px;color:#8cd7d0;margin:9px 0;line-height:1.55}
.formation-inspector .crew-skill-choices{grid-template-columns:1fr;gap:6px;margin-top:10px}
.formation-inspector .crew-skill-choices button{min-height:49px;background:#142d42;border:1px solid #425d71;padding:7px 10px;text-align:left;border-radius:9px;color:#f0f5f8}
.formation-inspector .crew-skill-choices button.selected{background:#233e4d;border-color:#efcd80}
.formation-inspector .crew-skill-choices b{font-size:12px}.formation-inspector .crew-skill-choices small{font-size:10px;color:#c0d1db}
.formation-inspector .formation-skill{margin-top:10px;font-size:12px}.formation-inspector .formation-skill-detail{font-size:12px;line-height:1.65;color:#d2e0e9}
.formation-inspector .crew-passive{background:#0b1b2b;border:1px solid #314b5d;padding:9px;border-radius:9px;margin-top:12px;font-size:12px;line-height:1.55}.formation-inspector .crew-passive strong{color:#e9d19a}
.formation-footer{flex:none;display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 14px;background:#0b1a2a;border-top:1px solid #49606e}
.formation-change{flex:1;min-width:0;font-size:12px;color:#d8e4eb}.formation-change strong{color:#80e7d4}.formation-change small{display:block;font-size:10px;color:#9cb1c1;margin-top:3px}
.formation-footer button{min-height:44px;min-width:100px;border-radius:9px;padding:7px 14px;border:1px solid #466173;background:#142e43;color:#d5e3ed;font-size:12px}
.formation-footer .formation-save{background:linear-gradient(#f6dea0,#c4a568);color:#10243b;border-color:#e1c386;font-weight:800;min-width:148px;box-shadow:0 3px 0 #796744}
.formation-footer button:disabled{opacity:.5}.formation-close-guard{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;font-size:12px;background:#533a20;border-top:1px solid #cd995e;flex:none}.formation-close-guard button{min-height:40px;padding:6px 10px}
.boss-timing-row{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0}.boss-timing-row #boss-phase{flex:1;min-width:0}
#boss-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:800;color:#ddf4f3;background:#143949;border:1px solid #4a858d;border-radius:6px;padding:4px 8px;font-size:12px}
#boss-time[data-warning="warning"]{color:#ffdf86;border-color:#d1a64a;background:#493a16}#boss-time[data-warning="danger"]{color:#fff;border-color:#ff7896;background:#742638;box-shadow:0 0 12px #ff456b66}
.fever-track{min-width:0}.fever-track>span{white-space:nowrap;font-size:9px}
@media(max-width:1000px) and (orientation:landscape){
 #modal.formation-editor{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:12px}
 #modal.formation-editor .modal-top{height:40px;min-height:40px;padding:0 12px}#modal.formation-editor #modal-content{height:calc(100% - 40px)}
 .formation-workspace{grid-template-columns:148px minmax(220px,1fr) minmax(260px,1.05fr);gap:7px;padding:7px}
 .formation-current{padding:6px;gap:4px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:14px repeat(3,minmax(58px,1fr));overflow:visible}.formation-current .formation-slot{min-height:58px;display:flex;flex-direction:column;gap:1px;padding:3px;position:relative;text-align:center}.formation-current .formation-slot img{width:30px;height:31px}.formation-current .formation-slot strong{font-size:9px}.formation-current .formation-slot small{font-size:8px}.formation-current .formation-slot>b{position:absolute;top:3px;left:4px;font-size:10px}.formation-current .formation-slot.bench{margin:0}
 .formation-current h3{font-size:10px;grid-column:1/-1}.formation-current .need-chips,.formation-current .formation-remove{display:none}
 .formation-library-top{padding:6px}.formation-library .formation-filters button{min-height:32px;padding:3px 8px}.formation-library .formation-filters input{height:32px}
 .formation-roster.v14-roster{grid-template-columns:repeat(auto-fill,minmax(77px,1fr));gap:5px;padding:5px 6px}.formation-roster .roster-tile{min-height:106px}.roster-tile>img{height:58px}.roster-tile strong{font-size:11px}.roster-tile small{font-size:9px}
 .formation-inspector{padding:9px}.inspector-person{grid-template-columns:64px 1fr;margin-bottom:6px}.inspector-person img{width:64px;height:68px}.inspector-person h3{font-size:17px}
 .formation-footer{min-height:54px;padding:5px 10px;gap:7px}.formation-footer button{min-height:42px;min-width:90px}.formation-footer .formation-save{min-width:132px}
 #boss-time{font-size:11px;padding:3px 6px}
}
@media(max-width:760px) and (orientation:landscape){.formation-workspace{grid-template-columns:128px minmax(170px,1fr) minmax(200px,1.03fr)}.formation-library .formation-filters button{padding:3px 6px;font-size:10px}.formation-footer .formation-save{min-width:118px}}
@media(max-width:639px){
 #modal.formation-editor{height:calc(100dvh - 16px);width:calc(100vw - 16px)}
 .formation-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(160px,.75fr) minmax(175px,1fr);gap:7px;padding:7px}
 .formation-current{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;padding:5px;overflow:visible}.formation-current h3,.formation-current .need-chips,.formation-current .formation-remove{display:none}
 .formation-current .formation-slot{min-height:64px;display:flex;flex-direction:column;gap:2px;padding:3px;text-align:center}.formation-current .formation-slot>b{display:none}.formation-current .formation-slot img{width:32px;height:34px}.formation-current .formation-slot strong{font-size:9px}.formation-current .formation-slot small{font-size:8px}.formation-current .formation-slot.bench{margin:0}
 .formation-roster.v14-roster{grid-template-columns:repeat(4,1fr);gap:4px}.formation-roster .roster-tile{min-height:95px}.roster-tile>img{height:46px}
 .formation-footer{gap:6px;min-height:62px;padding:6px}.formation-footer .formation-save{min-width:98px;padding:6px;font-size:11px}.formation-footer button{min-width:72px;padding:6px;font-size:11px}.formation-change{font-size:10px}.formation-change small{font-size:9px}
}

.formation-inspector>.formation-remove{min-height:42px;border:1px solid #3b5768;border-radius:8px;color:#b7cbd7;background:#142b3d;padding:8px 12px;margin-top:9px;font-size:12px}
