/* Orbital outfitting: one item, one card, actions in context. */
#msg-box.equipment-menu { box-sizing:border-box; width:min(920px,calc(100vw - 24px))!important; min-width:0!important; min-height:0!important; max-width:none; height:calc(100dvh - 28px)!important; max-height:none!important; top:14px!important; bottom:14px!important; left:50%!important; right:auto!important; transform:translateX(-50%)!important; background:#08101a; border:1px solid #3c5666; border-radius:16px; overflow:hidden; z-index:500; box-shadow:0 30px 90px #000b; }
#msg-box.equipment-menu #msg-inner { height:100%; max-height:none!important; overflow-y:auto; overscroll-behavior:contain; padding:18px; box-sizing:border-box; scrollbar-width:thin; scrollbar-color:#476370 transparent; }
#msg-box.equipment-menu #msg-title, #msg-box.equipment-menu #msg-actions, #msg-box.equipment-menu #msg-drag-bar, #msg-box.equipment-menu #msg-resize-grip { display:none; }
#msg-box.equipment-menu #msg-body { font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:normal; color:#e5edf0; }
#equipment-root { --eq-accent:#9adcd4; padding-bottom:12px; }
#equipment-root[data-market=black] { --eq-accent:#e9b985; }
#equipment-root * { box-sizing:border-box; }
#equipment-root h2 { margin:2px 0 5px; color:#f4f6ee; font-size:25px; font-weight:650; line-height:1.12; letter-spacing:-.7px; }
#equipment-root h3 { margin:3px 0 6px; color:#eef2ed; font-size:18px; font-weight:650; line-height:1.2; letter-spacing:-.25px; }
#equipment-root p { margin:6px 0; }
.eq-top,.eq-tabs,.eq-actions,.eq-filters { display:flex; align-items:center; gap:6px; }
.eq-top { justify-content:space-between; }
.eq-location { font-size:9px; letter-spacing:1.8px; color:#91acb5; text-align:center; min-width:0; overflow-wrap:anywhere; }
#msg-box.equipment-menu #equipment-root .eq-button { min-height:44px!important; font-size:13px!important; padding:9px 12px!important; }
.eq-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 12px; margin:0; border:1px solid #3b5260; border-radius:7px; background:#15242e; color:#e5eced; font:600 13px/1.3 system-ui,sans-serif; cursor:pointer; touch-action:manipulation; gap:4px; }
.eq-button:disabled { color:#97a7ad; background:#121b23; border-color:#293a44; cursor:not-allowed; }
.eq-button:focus-visible,.eq-search:focus-visible,summary:focus-visible { outline:2px solid #f0d28e; outline-offset:3px; }
.eq-button[aria-pressed=true],.eq-primary { background:var(--eq-accent,#9adcd4); border-color:var(--eq-accent,#9adcd4); color:#0b232a; }
.eq-danger { color:#ffc1a5; border-color:#765143; background:#2e2524; }
.eq-top .eq-button { background:transparent; border-color:transparent; }
.eq-hero { position:relative; display:grid; grid-template-columns:130px 1fr; align-items:center; gap:15px; padding:20px 6px; margin:4px 0; overflow:hidden; isolation:isolate; }
.eq-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 22% 95%,#30707844,transparent 65%),radial-gradient(circle at 83% 17%,#e9e9d5 0 1px,transparent 1.7px),radial-gradient(circle at 68% 70%,#c2d1ec 0 1px,transparent 1.5px),radial-gradient(circle at 97% 90%,#93afa8 0 1px,transparent 1.5px); border-bottom:1px solid #304651; }
.eq-hero .eq-art { background:transparent; border:0; border-radius:0; }
.eq-eyebrow { color:#96b1b8; font:600 10px/1.3 system-ui,sans-serif; letter-spacing:1.4px; text-transform:uppercase; }
.eq-wallet { font-size:17px; color:#f0d99a; font-variant-numeric:tabular-nums; }
.eq-tabs { position:sticky; top:-18px; z-index:3; padding:9px 0; background:#08101af5; border-bottom:1px solid #344650; backdrop-filter:blur(12px); }
.eq-tabs .eq-button { flex:1; border-radius:5px; background:transparent; border-color:transparent; color:#99b1bb; }
.eq-tabs .eq-button[aria-pressed=true] { color:var(--eq-accent); background:#203540; border-bottom:2px solid var(--eq-accent); }
.eq-status:empty { display:none; }
.eq-status { padding:10px 12px; background:#173b3d; border-left:2px solid var(--eq-accent); border-radius:4px; color:#d2f8ec; }
.eq-filters { gap:4px; margin:12px 0 7px; }
.eq-filters .eq-button { flex:1; background:transparent; border-color:#2f4550; }
.eq-filters .eq-button[aria-pressed=true] { background:#263f48; color:#d5efe8; border-color:#6b979d; }
.eq-search { width:100%; min-height:44px; padding:10px 12px; font:16px system-ui; color:#f4f8ff; background:#0d1a24; border:1px solid #3c5361; border-radius:6px; margin:0 0 12px; }
.eq-search::placeholder { color:#92a6b1; }
.eq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:10px; }
.eq-card { position:relative; min-width:0; padding:12px; border-radius:9px; background:linear-gradient(130deg,#162b34,#101c28 75%); border:1px solid #334b57; margin-bottom:10px; box-shadow:0 5px 18px #0002; }
.eq-grid .eq-card { margin:0; }
.eq-selected { border-color:var(--eq-accent); box-shadow:inset 3px 0 var(--eq-accent),0 4px 20px #0003; }
.eq-card-head { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; gap:12px; }
.eq-art { position:relative; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; border-radius:5px; overflow:hidden; background:radial-gradient(ellipse,#244556,#09121d); }
.eq-art img { width:100%; height:100%; object-fit:contain; }
.eq-art-note { position:absolute; inset:auto 4px 4px; text-align:center; font-size:8px; color:#bfceda; }
.eq-art-wrap { display:flex; flex-direction:column; gap:6px; min-width:0; }
.eq-hero .eq-art-wrap { max-width:220px; }
.eq-mesh { position:relative; border-radius:5px; overflow:hidden; background:#0a1018; border:1px solid #243443; touch-action:none; overscroll-behavior:contain; }
.eq-mesh, .eq-mesh model-viewer { touch-action:none; overscroll-behavior:contain; }
.eq-mesh model-viewer { display:block; width:100%; height:200px; background:#0a1018; }
.eq-mesh-fallback { width:100%; height:200px; object-fit:contain; display:block; background:#0a1018; }
.eq-mesh-note { display:block; text-align:center; font-size:8px; letter-spacing:.02em; color:#9bb0c0; padding:2px 4px 5px; }
.eq-mesh-weapon model-viewer, .eq-mesh-weapon .eq-mesh-fallback { height:160px; }
.eq-card-head .eq-mesh { max-width:100%; }
/* Ship mesh only on docked hero — cards keep 2D portrait only */


.eq-hull-glyph { font-size:45px; color:var(--eq-accent); line-height:1; margin-bottom:10px; }
.eq-volley { display:flex; gap:10px; transform:rotate(30deg); padding-bottom:10px; }
.eq-projectile { display:block; width:5px; height:27px; background:linear-gradient(#e8ffff,#49a3b8,transparent); border-radius:50%; }
.eq-badge { display:inline-block; font-size:12px; color:var(--eq-accent); }
.eq-description { color:#d2dde0; font-size:14px; }
.eq-meta { font-size:12px; color:#a9bcc4; }
.eq-quick { font-size:12px; color:#b0c5cb; padding:7px 0 2px; font-variant-numeric:tabular-nums; }
.eq-actions { flex-wrap:wrap; align-items:stretch; margin-top:7px; }
.eq-actions>.eq-button { flex:1; }
.eq-info-button { flex:0 0 auto!important; background:transparent; color:#b9d3d6; }
.eq-info { margin-top:12px; padding-top:8px; border-top:1px solid #3d5260; }
.eq-info[hidden] { display:none; }
.eq-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:10px 0; margin:8px 0; border-block:1px solid #344a56; }
.eq-stats dt { color:#aabfc8; font-size:11px; }
.eq-weapon-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.eq-stats dd { margin:3px 0 0; font-weight:650; font-size:17px; font-variant-numeric:tabular-nums; }
.eq-stats dd span { display:block; font-size:11px; }
.eq-up { color:#9ee6c6; }.eq-down { color:#ffc6a4; }
.eq-requirements { color:#c1d3e6; font-size:12px; }
.eq-block { color:#efc38d; font-size:12px; }
.eq-confirm { flex-basis:100%; padding:12px; background:#273943; border:1px solid #99ada8; border-radius:6px; }
.eq-confirm .eq-button { margin:4px 4px 0 0; }
.eq-confirm p { font-size:13px; }
.eq-loadout { display:flex; flex-direction:column; gap:3px; padding:12px 0 0; font-size:12px; color:#cee3e5; }
.eq-fleet-summary { padding:15px 0 8px; }
.eq-tactics { margin:8px 0 15px; padding:0 12px; border:1px solid #3a515c; border-radius:7px; background:#101f28; }
.eq-tactics summary { padding:12px 0; min-height:44px; cursor:pointer; color:#c8e3e3; }
.eq-orders { border:1px solid #344a62; border-radius:7px; margin:12px 0; padding:10px; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.eq-orders legend { color:#e8f0fb; padding:0 6px; font-size:14px; font-weight:650; }
.eq-orders .eq-button { text-align:left; display:block; }
.eq-option-note { display:block; font-weight:400; font-size:12px; margin-top:6px; }
.eq-empty { grid-column:1/-1; padding:18px; color:#d0ddeb; background:#15253a; border-radius:8px; }
#equipment-root .eq-section-title { padding:8px 0; font-size:12px; color:#8caab4; text-transform:uppercase; letter-spacing:1.2px; }
@media(max-width:600px) {
 #msg-box.equipment-menu { width:calc(100vw - 12px)!important; top:calc(env(safe-area-inset-top,0px) + 6px)!important; bottom:calc(env(safe-area-inset-bottom,0px) + 6px)!important; height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 12px)!important; border-radius:11px; }
 #msg-box.equipment-menu #msg-inner { padding:12px; }
 .eq-grid { grid-template-columns:1fr; }
 .eq-tabs { top:-12px; }
 .eq-card-head { grid-template-columns:100px minmax(0,1fr); }
 .eq-hero { grid-template-columns:106px 1fr; padding:12px 0; gap:12px; }
 #equipment-root h2 { font-size:22px; }
 .eq-orders { grid-template-columns:1fr; }
}
@media(max-width:350px) { .eq-location { display:none; } .eq-card-head { grid-template-columns:85px minmax(0,1fr); gap:10px; } #equipment-root h3 { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { #equipment-root * { scroll-behavior:auto; transition:none; } }
