/* Stable search fields and a single portrait format throughout the squad. */
.tl-builder-context>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
.tl-builder-context .tl-draft-controls{min-width:0;max-width:100%}
.tl-builder-context .tl-draft-controls label{display:grid;gap:6px;min-width:0;max-width:100%;flex:0 1 360px}
.tl-builder-context .tl-draft-controls select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:550px){.tl-builder-context .tl-draft-controls label{width:100%;flex-basis:100%}}
.search{display:block;min-width:0}
.search>svg{top:50%;transform:translateY(-50%);pointer-events:none}
.search>input{display:block;min-width:0;min-height:44px;box-sizing:border-box}
.builder-workspace{container-type:inline-size}
.builder-workspace .builder-layout{grid-template-columns:minmax(0,1fr) 350px;gap:24px}
.builder-workspace #squad-container{order:0;min-width:0}
.builder-workspace #squad-container{position:sticky;top:var(--squad-sticky-top,12px);align-self:start;max-height:calc(100dvh - var(--squad-sticky-top,12px) - 16px);overflow-y:auto;overflow-x:hidden;border-radius:14px;scrollbar-width:thin}
.builder-workspace #squad-container:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.builder-workspace #squad-container>.squad-panel{position:static}
.builder-roster-section{min-width:0}
.builder-workspace .roster-toolbar{display:grid;gap:16px;margin:0 0 20px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.builder-workspace .roster-toolbar .search{width:100%;max-width:none;margin:0}
.builder-workspace .builder-search input{height:46px;padding:11px 14px 11px 42px;border-radius:8px;border:1px solid var(--line);background:var(--field-bg);color:var(--text);font:inherit;font-size:13px;line-height:1.5}
.builder-workspace .builder-search svg{left:15px;width:17px;height:17px;color:var(--muted)}
.builder-workspace .builder-search input:focus{outline:2px solid var(--accent);outline-offset:2px}
.builder-workspace .roster-toolbar .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin:0;align-items:start}
.builder-filter-field{display:grid;gap:7px;min-width:0;font-size:11px;font-weight:650;color:var(--muted);line-height:1.4}
.builder-workspace .builder-filter-field select{display:block;width:100%;min-width:0;max-width:100%;height:44px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:inherit;font-size:12px}
.builder-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.builder-reset{border:0;padding:7px 0;background:none;color:var(--accent);font:inherit;font-size:12px;cursor:pointer;min-height:32px}
.builder-reset:hover{text-decoration:underline;text-underline-offset:3px}
.builder-workspace .squad-interaction-bar{margin:0 0 20px;padding:12px 16px;background:var(--surface-muted);font-size:12px}
.builder-workspace .squad-panel{padding:16px;border-color:var(--line);background:var(--surface);box-shadow:var(--theme-shadow)}
.builder-workspace .squad-panel .hub-head{align-items:center;margin-bottom:0}
.builder-workspace .squad-panel h2{margin-bottom:0;font-size:27px}
.builder-workspace .squad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.builder-workspace .squad-slot{border-radius:10px;background:var(--surface-raised);border-color:var(--line);min-height:0}
.builder-workspace .squad-slot.filled{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
.builder-workspace .squad-slot.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.squad-portrait-frame{position:relative;display:block;flex:none;width:100%;aspect-ratio:1;overflow:hidden;background:var(--surface-muted);border-bottom:1px solid var(--line);pointer-events:none}
.squad-portrait-frame>img.original-unit-portrait{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:none;padding:0;margin:0;pointer-events:none}
.builder-workspace .squad-slot .slot-label{padding:11px 10px 12px;line-height:1.5;color:var(--text)}
.builder-workspace .squad-slot .slot-label>b{font-size:12px;line-height:1.35;color:var(--text)}
.builder-workspace .squad-slot .slot-label small{font-size:10px;line-height:1.5;margin-top:4px;color:var(--muted);overflow-wrap:normal;min-height:30px}
.builder-workspace .squad-slot .slot-label span{font-size:10px;margin-top:8px;color:var(--accent)}
.builder-workspace .slot-actions{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px;padding:0 9px 10px;margin-top:auto}
.builder-workspace .slot-actions button{min-width:0;min-height:34px;font-size:11px;padding:7px 6px;line-height:1.3}
.builder-workspace .slot-actions button[data-edit-slot]{grid-column:1/-1;background:var(--soft-accent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));font-weight:700}
.builder-workspace .slot-actions button[data-remove-slot]{margin:0;font-size:17px}
.builder-workspace .squad-slot:not(.filled){min-height:180px}
.builder-workspace .squad-slot>p{color:var(--muted);font-size:12px}
.builder-workspace .squad-panel .synergy-list{border-top:1px solid var(--line);padding-top:18px}
.builder-workspace .squad-panel .synergy-list h3{font-size:21px;margin:4px 0 12px}
.builder-workspace .squad-panel .synergy-list h3:not(:first-child){margin-top:22px}
.builder-workspace .roster-add:disabled{opacity:1}
.builder-mobile-actions{display:none}
.squad-continue{display:block;width:100%;min-height:44px;margin-top:14px;border-radius:8px;padding:10px;background:var(--accent);color:var(--on-accent,#092031);font-weight:700;line-height:1.4}
.tl-views .tl-community-tab{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:8px;color:var(--accent);font:inherit;font-size:13px;text-decoration:none}
.builder-workspace .roster-item:has(.roster-add:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.quick-art>img.original-unit-portrait{width:min(220px,100%);height:auto;aspect-ratio:1;object-fit:contain;object-position:center;transform:none;border-radius:10px}
@container(max-width:960px){
 .builder-mobile-actions{display:flex;gap:8px;position:sticky;top:8px;z-index:5;padding:8px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--theme-shadow)}
 .builder-mobile-actions button{flex:1;min-width:0;min-height:44px;padding:10px;border-radius:7px;background:var(--soft-accent);color:var(--text);font-size:12px;line-height:1.4}
 .builder-workspace #squad-container[data-mobile-open=false]{display:none}
 .builder-workspace #squad-container[data-mobile-open=true]{display:block;scroll-margin-top:80px}
 .builder-workspace .builder-layout{grid-template-columns:minmax(0,1fr);gap:22px}
 .builder-workspace #squad-container{order:-1;position:static;max-height:none;overflow:visible}
 .builder-workspace .squad-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .builder-workspace .squad-panel{position:static}
}
@container(max-width:620px){
 .builder-workspace .squad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .builder-workspace .roster-toolbar{padding:14px;gap:14px}
 .builder-workspace .roster-toolbar .filters{gap:12px 10px}
 .builder-workspace .builder-filter-field select{font-size:11px;padding-left:10px;padding-right:22px}
 .builder-workspace .builder-search input{font-size:16px}
 .builder-workspace .squad-interaction-bar{font-size:11px}
 .builder-workspace .slot-actions button{min-height:40px}
 .builder-workspace .slot-actions{grid-template-columns:minmax(0,1fr) 40px}
}
@container(max-width:350px){
 .builder-workspace .roster-toolbar .filters{grid-template-columns:minmax(0,1fr)}
 .builder-workspace .squad-panel{padding:12px}
 .builder-workspace .squad-grid{gap:10px}
}
