/* The loadout uses three battle slots and one horizontal travel slot. */
.equipment-page { color:var(--ink,#173e4c); container:equipment-layout / inline-size; }
.equipment-stage { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr); gap:18px; align-items:start; }
.equipment-loadout,.equipment-values,.equipment-bag { border:1px solid var(--theme-line,#c4e1e4); border-radius:22px; padding:20px; background:linear-gradient(135deg,var(--theme-surface,#fff) 20%,var(--theme-soft,#effafa)); box-shadow:0 14px 36px #173e4c06; min-width:0; }
.equipment-owner { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin-bottom:14px; }
.equipment-owner>img { width:48px; height:48px; object-fit:cover; border-radius:50%; border:3px solid var(--theme-line,white); box-shadow:0 0 0 1px #acdbdf,0 6px 20px #1a708326; }
.equipment-owner>div { min-width:0; flex:1; }
.equipment-owner h2 { margin:3px 0; font-size:22px; line-height:1.2; overflow-wrap:anywhere; }
.equipment-owner>div>span:last-child { font-size:12px; color:var(--theme-muted,#668590); }
.equipment-state { display:inline-flex; align-items:center; gap:7px; max-width:200px; padding:7px 9px; border-radius:10px; background:color-mix(in srgb,var(--theme-gold,#c6a149) 12%,transparent); color:var(--theme-gold,#967025); font-size:11px; line-height:1.4; }
.equipment-state svg { flex:none; width:13px; height:15px; fill:none; stroke:currentColor; stroke-width:1.4; }
.equipment-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.equipment-slot { display:flex; align-items:center; flex-direction:column; gap:5px; text-align:center; border:1px solid var(--theme-line,#badbde); border-radius:16px; padding:12px 10px; background:radial-gradient(ellipse at 50% 35%,var(--theme-soft,#cceeed88),transparent 68%),var(--theme-surface,#ffffff90); transition:border-color .2s,box-shadow .2s; min-width:0; }
.equipment-slot>.eyebrow { font-size:9px; letter-spacing:.14em; line-height:1.4; }
.equipment-slot.drop-ready { border-color:#139faa; box-shadow:0 0 0 3px #18b5c528,inset 0 0 40px #2cbdc915; }
.equipment-slot-copy { min-width:0; width:100%; }
.equipment-slot h3 { margin:0 0 4px; font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
.equipment-slot p { font-size:12px; color:var(--theme-muted,#668590); margin:0; line-height:1.4; overflow-wrap:anywhere; }
.equipment-slot button { margin-top:auto; padding:7px 12px; min-height:34px; max-width:100%; }
.equipment-art { --gear-art-height:88px; height:var(--gear-art-height); display:grid; place-items:center; width:100%; }
.equipment-art img,.equipment-art .item-picture { display:block; min-height:0; height:var(--gear-art-height); max-height:var(--gear-art-height); width:100%; object-fit:contain; filter:drop-shadow(0 8px 10px #1645521a); }
.equipment-empty { width:64px; height:64px; fill:#d8eceb88; stroke:#82afb8; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; filter:drop-shadow(0 3px 0 #fff); }
.equipment-slot[data-gear-target="ship"] { grid-column:1/-1; display:grid; grid-template-columns:100px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:3px 14px; align-items:center; text-align:left; min-height:0; }
.equipment-slot[data-gear-target="ship"]>.eyebrow { grid-column:2; align-self:end; }
.equipment-slot[data-gear-target="ship"]>.equipment-art { grid-column:1; grid-row:1/3; --gear-art-height:76px; }
.equipment-slot[data-gear-target="ship"]>.equipment-slot-copy { grid-column:2; grid-row:2; align-self:start; }
.equipment-slot[data-gear-target="ship"]>button { grid-column:3; grid-row:1/3; margin:0; }
.equipment-values>h2 { margin:6px 0; font-size:22px; line-height:1.25; }
.equipment-values>p { color:var(--theme-muted,#6e8b95); font-size:12px; line-height:1.5; margin:0; }
.equipment-values .stat-radar { width:100%; max-width:220px; box-sizing:border-box; margin:10px auto; }
.equipment-bonuses { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.equipment-bonuses>div { display:flex; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:10px; background:var(--theme-soft,#e7f3f3); font-size:12px; }
.equipment-bonuses strong { color:var(--theme-accent,#138e98); white-space:nowrap; }
.equipment-comparison-space { display:flow-root; min-height:42px; min-width:0; grid-column:1/-1; }
.equipment-comparison { font-size:12px; border-left:3px solid var(--theme-line,#e5ac39); padding:5px 8px; margin:7px 0 0; display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; }
.equipment-comparison>span { display:block; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.equipment-comparison>.we-text-button { font-size:11px; padding:0; }
.equipment-bag { margin-top:18px; }
.equipment-bag>header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.equipment-bag h2 { margin:4px 0 0; font-size:22px; }
.equipment-bag select { padding:8px 10px; min-height:36px; border:1px solid var(--theme-line,#b9d8dd); border-radius:10px; background:var(--theme-surface,white); color:inherit; max-width:100%; }
.equipment-bag label { display:grid; gap:4px; font-size:11px; }
.equipment-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr)); gap:14px; }
.equipment-card { min-width:0; padding:14px; background:var(--theme-surface,white); border:1px solid var(--theme-line,#c9e2e5); border-radius:16px; display:flex; flex-direction:column; gap:10px; }
.equipment-card.selected { border-color:#209da8; box-shadow:0 0 0 2px #209da81a; }
.equipment-card-preview { display:flex; align-items:center; gap:12px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; width:100%; padding:0; touch-action:pan-y; user-select:none; }
.equipment-card-preview>.item-picture { flex:none; width:64px; height:72px; display:block; }
.equipment-card-preview>span:not(.item-picture) { display:grid; gap:5px; min-width:0; }
.equipment-card-preview small { font-size:11px; color:var(--theme-muted,#718c94); }
.equipment-card-preview strong { font-size:16px; overflow-wrap:anywhere; }
.equipment-card-preview span span { font-size:12px; }
.equipment-card>.training-primary { margin-top:auto; }
.equipment-card>.training-primary+.training-primary { margin-top:0; }
.equipment-tech { display:flex; align-items:center; gap:8px; font-size:12px; }
.equipment-tech>*:first-child { width:32px; height:32px; overflow:hidden; border-radius:7px; }
.equipment-tech img { width:100%; height:100%; object-fit:cover; }
.equipment-empty-bag { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:20px 12px; color:var(--theme-muted,#67838f); }
.equipment-empty-bag>h3,.equipment-empty-bag>p { margin:0; }
.equipment-empty-bag>.training-secondary { display:inline-flex; align-items:center; justify-content:center; margin-top:4px; max-width:100%; box-sizing:border-box; text-decoration:none; }
.equipment-page button:focus-visible { outline:3px solid #dfae45; outline-offset:3px; }
.equipment-drag-ghost { position:fixed!important; z-index:10000; pointer-events:none!important; opacity:.85; box-shadow:0 14px 32px #173e4c33; max-width:300px; box-sizing:border-box; }
.equipment-card[data-draggable="true"] { cursor:grab; }
.equipment-drag-handle { font-size:11px; color:var(--theme-muted,#62848d); cursor:grab; user-select:none; touch-action:none; }
.equipment-card img { pointer-events:none; -webkit-user-drag:none; }
.equipment-slot .equipment-ship-lock:disabled { display:inline-flex; align-items:center; gap:7px; opacity:1; color:var(--theme-gold,#967025); border-color:#b5954855; background:var(--wash); font-size:11px; cursor:default; }
.equipment-ship-lock svg { flex:none; fill:none; stroke:currentColor; stroke-width:1.4; }
@container equipment-layout (max-width:900px) {
 .equipment-stage { grid-template-columns:1fr; }
 .equipment-values { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.7fr); gap:6px 18px; align-content:start; }
 .equipment-values>.eyebrow,.equipment-values>h2,.equipment-values>p,.equipment-values>.equipment-bonuses { grid-column:1; }
 .equipment-values .stat-radar { grid-column:2; grid-row:1/5; margin:0 auto; }
 .equipment-values>.equipment-comparison-space { grid-column:1; }
}
@container equipment-layout (max-width:600px) {
 .equipment-loadout,.equipment-values,.equipment-bag { padding:14px; border-radius:18px; }
 .equipment-slots { grid-template-columns:1fr; }
 .equipment-slot { display:grid; grid-template-columns:64px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:3px 10px; text-align:left; }
 .equipment-slot>.eyebrow { grid-column:2; align-self:end; }
 .equipment-slot>.equipment-art { grid-column:1; grid-row:1/3; --gear-art-height:64px; }
 .equipment-slot>.equipment-slot-copy { grid-column:2; grid-row:2; align-self:start; }
 .equipment-slot>button { grid-column:3; grid-row:1/3; margin:0; }
 .equipment-slot[data-gear-target="ship"] { grid-template-columns:64px minmax(0,1fr) auto; gap:3px 10px; }
 .equipment-slot[data-gear-target="ship"]>.equipment-art { --gear-art-height:64px; }
 .equipment-values { display:block; }
 .equipment-values .stat-radar { margin:10px auto; }
 .equipment-bag>header { align-items:flex-start; flex-direction:column; gap:10px; }
 .equipment-bag label { width:100%; }
 .equipment-owner h2,.equipment-values>h2,.equipment-bag h2 { font-size:20px; }
}
@container equipment-layout (max-width:380px) {
 .equipment-slot,.equipment-slot[data-gear-target="ship"] { grid-template-columns:52px minmax(0,1fr); }
 .equipment-slot>.equipment-art,.equipment-slot[data-gear-target="ship"]>.equipment-art { --gear-art-height:52px; }
 .equipment-empty { width:48px; height:48px; }
 .equipment-slot>button,.equipment-slot[data-gear-target="ship"]>button { grid-column:2; grid-row:3; justify-self:start; }
 .equipment-state { max-width:none; }
}
@media(pointer:coarse) { .equipment-slot button,.equipment-bag select { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .equipment-slot { transition:none; } }
