/* SAFE TO EDIT: compact shipyard layout, design selector, and preview sizing. */
#shipyardModal .shipyard-window {
  width: min(880px, calc(100vw - 28px));
  height: min(780px, calc(100dvh - 28px));
  max-height: calc(100dvh - 28px);
  padding: 10px;
  overflow: auto;
}

#shipyardModal .shipyard-titlebar {
  min-height: 42px;
  margin-bottom: 7px;
}

#shipyardModal .shipyard-titlebar h2 {
  font-size: clamp(23px, 3.2vw, 31px);
  letter-spacing: 1px;
}

#shipyardModal .shipyard-titlebar::before,
#shipyardModal .shipyard-titlebar::after {
  margin: 0 12px;
  font-size: 20px;
}

#shipyardModal .shipyard-close {
  top: 7px;
  right: 8px;
  width: 34px;
  height: 34px;
  font-size: 22px;
}

#shipyardModal .shipyard-main {
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
  gap: 9px;
  min-height: 0;
}

#shipyardModal .shipyard-preview {
  min-height: 176px;
  margin: 0 7px 6px;
}

#shipyardModal .shipyard-preview canvas {
  width: 100%;
  height: 176px;
  min-height: 176px;
}

#shipyardModal .shipyard-details-body {
  display: block;
  padding: 8px 10px;
}

#shipyardModal .shipyard-section-title {
  padding: 9px 10px 7px;
  font-size: 14px;
  letter-spacing: .4px;
}

#shipyardModal .shipyard-stats {
  gap: 2px;
}

#shipyardModal .shipyard-stat {
  grid-template-columns: 24px minmax(92px, .9fr) 1fr;
  gap: 6px;
  min-height: 30px;
}

#shipyardModal .shipyard-stat-icon {
  width: 22px;
  height: 22px;
  font-size: 14px;
}

#shipyardModal .shipyard-stat-label,
#shipyardModal .shipyard-stat-value,
#shipyardModal .shipyard-progress-label,
#shipyardModal .shipyard-progress-value,
#shipyardModal .shipyard-design-help {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#shipyardModal .shipyard-stat-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1px;
}

#shipyardModal .shipyard-stat-value {
  font-size: 11px;
  font-weight: 750;
}

#shipyardModal .shipyard-progress-block {
  padding: 0 8px 9px;
}

#shipyardModal .shipyard-progress-label {
  margin-bottom: 5px;
  font-size: 11px;
}

#shipyardModal .shipyard-progress-row {
  grid-template-columns: 1fr 96px;
  gap: 7px;
}

#shipyardModal .shipyard-progress {
  height: 24px;
}

#shipyardModal .shipyard-progress-value {
  font-size: 11px;
}

#shipyardModal .shipyard-icon-button {
  width: auto;
  min-width: 96px;
  height: 34px;
  padding: 0 9px;
  font-size: 11px;
}

.shipyard-design-help {
  margin: 8px 3px 2px;
  color: rgba(237, 229, 214, .72);
  font-size: 10px;
  line-height: 1.35;
}

.shipyard-design-panel {
  margin-top: 7px;
  border: 1px solid rgba(216, 172, 85, .38);
  background: rgba(8, 7, 5, .9);
}

.shipyard-design-panel.is-hidden {
  display: none;
}

.shipyard-design-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
  padding: 7px;
}

.shipyard-design-choice {
  min-height: 118px;
  padding: 6px;
  border: 1px solid rgba(216, 172, 85, .38);
  border-radius: 5px;
  background: linear-gradient(180deg, rgba(55, 34, 15, .9), rgba(14, 10, 7, .96));
  color: #f7e7bf;
  cursor: pointer;
  text-align: left;
}

.shipyard-design-preview {
  display: block;
  width: 128px;
  height: 128px;
  aspect-ratio: 1;
  margin: 0 auto 7px;
  border: 1px solid rgba(216, 172, 85, .22);
  border-radius: 3px;
  background: #071a23;
}

.shipyard-design-choice strong {
  overflow: hidden;
  font: 750 11px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shipyard-design-choice strong,
.shipyard-design-choice small {
  display: block;
}

.shipyard-design-choice small {
  margin-top: 3px;
  color: rgba(237, 229, 214, .68);
  font: 600 9px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
}

.shipyard-design-choice.is-selected {
  border-color: #ffe2a0;
  box-shadow: 0 0 16px rgba(216, 172, 85, .3), inset 0 0 0 1px rgba(255, 226, 160, .24);
}

.shipyard-design-choice.is-equipped strong::after {
  content: " · Equipped";
  color: #60f0bd;
  font-size: 8px;
}

.shipyard-progress-detail {
  margin-top: 5px;
  color: rgba(237, 229, 214, .68);
  font: 700 9px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  text-align: center;
}

.shipyard-equipment {
  margin: 0 8px 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(216, 172, 85, .3);
}

.shipyard-equipment > h3 {
  margin: 0 0 7px;
  color: #ffe2a0;
  font: 850 11px/1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shipyard-equipment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.shipyard-equipment-slot {
  display: grid;
  grid-template-columns: 30px 1fr;
  grid-template-areas: "icon title" "icon copy";
  gap: 2px 7px;
  min-height: 76px;
  padding: 8px;
  border: 1px solid rgba(216, 172, 85, .38);
  border-radius: 5px;
  background: linear-gradient(145deg, rgba(55, 34, 15, .9), rgba(10, 10, 9, .98));
  color: #f5e6c4;
  cursor: pointer;
  text-align: left;
  transition: border-color .18s, transform .18s, box-shadow .18s;
}

.shipyard-equipment-slot:not(:disabled):hover { border-color: #ffe2a0; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.28); }
.equipment-slot-icon { grid-area: icon; align-self: center; font-size: 22px; text-align: center; }
.equipment-slot-title { grid-area: title; align-self: end; color: #ffe2a0; font: 850 10px/1 Inter,sans-serif; text-transform: uppercase; }
.equipment-slot-copy { grid-area: copy; color: rgba(237,229,214,.7); font: 650 8px/1.35 Inter,sans-serif; }
.equipment-slot-copy b { color: #60f0bd; }
.shipyard-equipment-slot.is-locked,.shipyard-equipment-slot.is-secret { border-color: rgba(120,120,120,.18); background: linear-gradient(145deg,#151515,#080808); color:#686868; cursor:not-allowed; }
.shipyard-equipment-slot.is-secret { place-content:center; grid-template-columns:auto; grid-template-areas:"icon" "title"; text-align:center; }

.equipment-modal-backdrop { z-index: 110; background: rgba(0,5,8,.78); backdrop-filter: blur(6px); }
.equipment-window { width:min(820px,calc(100vw - 28px)); max-height:min(650px,calc(100dvh - 28px)); overflow:auto; border:2px solid rgba(191,139,67,.75); border-radius:9px; background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 8px),linear-gradient(140deg,#160d08,#33200f 48%,#090d0e); box-shadow:0 28px 90px #000,inset 0 0 50px rgba(0,0,0,.65); color:#f4ead7; }
.equipment-titlebar { display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(216,172,85,.38);background:linear-gradient(#202528,#070909 70%,#2a170c); }
.equipment-titlebar span { color:#60f0bd;font:800 8px Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase }.equipment-titlebar h2{margin:3px 0 0;color:#ffe2a0;font:850 23px Georgia,serif;text-transform:uppercase}.equipment-titlebar button{width:34px;height:34px;border:1px solid rgba(255,214,135,.48);border-radius:6px;background:linear-gradient(#773126,#35120f);color:#ffe5a5;cursor:pointer;font:900 23px/1 sans-serif}
.equipment-capacity { padding:9px 16px;border-bottom:1px solid rgba(216,172,85,.2);color:#d9c796;font:750 10px Inter,sans-serif;text-align:center; }
.equipment-columns { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px; }.equipment-columns>section{min-width:0;border:1px solid rgba(216,172,85,.25);background:rgba(5,7,7,.55)}.equipment-columns h3{margin:0;padding:9px 11px;border-bottom:1px solid rgba(216,172,85,.25);color:#ffe2a0;font:850 10px Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.equipment-list { display:grid;gap:6px;min-height:220px;max-height:390px;padding:8px;overflow:auto;scrollbar-color:#896330 #140d08;scrollbar-width:thin; }
.equipment-item-card { --rarity:#98948a;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 45%,#2b1c0f);border-left:3px solid var(--rarity);border-radius:5px;background:linear-gradient(120deg,rgba(25,23,19,.96),rgba(50,29,14,.86)); }.equipment-item-card[data-rarity="rare"]{--rarity:#4ba6ff}.equipment-item-card[data-rarity="epic"]{--rarity:#a36aff}.equipment-item-card[data-rarity="legendary"]{--rarity:#ffb52e}.equipment-item-icon{display:grid;place-items:center;width:40px;height:45px;border:1px solid rgba(216,172,85,.25);background:#101719;font-size:21px}.equipment-item-card strong,.equipment-item-card small,.equipment-item-card div>span{display:block}.equipment-item-card strong{color:#fff0cd;font:800 11px Inter,sans-serif}.equipment-item-card small{margin:3px 0;color:#a99d89;font:600 8px/1.35 Inter,sans-serif}.equipment-item-card div>span{color:#d4c4a8;font:700 9px Inter,sans-serif}.equipment-item-controls{grid-column:1/-1;display:grid;grid-template-columns:92px 1fr 1fr;gap:5px}.equipment-item-controls .market-stepper{grid-template-columns:26px 40px 26px}.equipment-item-controls input{width:40px;border:0;background:#080b0c;color:#fff0cb;font:800 9px Inter,sans-serif;text-align:center}.equipment-item-controls>button,.equipment-actions button{border:1px solid rgba(230,190,105,.4);border-radius:5px;background:linear-gradient(#4a3b27,#15120e);color:#ffe19a;cursor:pointer;font:800 8px Inter,sans-serif;text-transform:uppercase}.equipment-empty{display:grid;place-items:center;min-height:180px;color:#8f846f;font:700 10px Inter,sans-serif;text-align:center}.equipment-actions{display:flex;justify-content:flex-end;gap:7px;padding:9px 10px;border-top:1px solid rgba(216,172,85,.25)}.equipment-actions button{min-width:110px;min-height:34px}.equipment-actions .is-primary{border-color:rgba(96,240,189,.4);background:linear-gradient(#245344,#0e2822);color:#a8ffdd}

.shipyard-design-bonuses {
  display: block;
  margin-top: 5px;
  color: #d9c796;
  font: 650 8px/1.35 Inter, ui-sans-serif, system-ui, sans-serif;
}

.shipyard-world-ranks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(216, 172, 85, .22);
  font: 700 9px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
}

.shipyard-world-ranks h4 {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  color: #ffe2a0;
  font-size: 10px;
  text-transform: uppercase;
}

.shipyard-world-ranks h4 small { color: rgba(237,229,214,.52); font-size: 8px; text-transform: none; }
.shipyard-world-ranks div { display: flex; justify-content: space-between; gap: 5px; padding: 4px 5px; background: rgba(255,255,255,.035); color: rgba(237,229,214,.7); }
.shipyard-world-ranks strong { color: #60f0bd; }

.shipyard-comparison {
  display: grid;
  gap: 3px;
  margin-top: 7px;
  padding: 8px;
  border: 1px solid rgba(216, 172, 85, .38);
  background: rgba(8, 7, 5, .94);
  color: #eadfc8;
  font: 650 9px/1.25 Inter, ui-sans-serif, system-ui, sans-serif;
}

.shipyard-comparison header,
.shipyard-comparison > div { display: grid; grid-template-columns: 1.1fr 1fr 1.25fr; gap: 7px; align-items: center; }
.shipyard-comparison header { grid-template-columns: 1fr 1fr; margin-bottom: 3px; color: #ffe2a0; font-size: 10px; }
.shipyard-comparison header strong { text-align: right; }
.shipyard-comparison > div { padding: 3px 5px; background: rgba(255,255,255,.025); }
.shipyard-comparison > div b { color: rgba(237,229,214,.7); font-weight: 650; }
.shipyard-comparison > div strong { color: #f8f1df; }
.shipyard-comparison .shipyard-comparison-labels { color: rgba(237,229,214,.48); font-size: 8px; text-transform: uppercase; }
.shipyard-comparison .is-better { color: #60f0bd; }
.shipyard-comparison .is-worse { color: #ff8f73; }
.shipyard-comparison button { justify-self: end; margin-top: 5px; padding: 7px 11px; border: 1px solid #b98d43; border-radius: 5px; background: linear-gradient(#725024, #2d1b0c); color: #ffe6ac; cursor: pointer; font: 800 9px Inter, sans-serif; }
.shipyard-comparison button:disabled { opacity: .5; cursor: default; }

@media (max-width: 720px) {
  #shipyardModal .shipyard-main {
    grid-template-columns: 1fr;
  }

  #shipyardModal .shipyard-preview,
  #shipyardModal .shipyard-preview canvas {
    min-height: 128px;
    height: 128px;
  }

  .equipment-columns { grid-template-columns:1fr; }
  .equipment-list { min-height:140px; max-height:240px; }
}

.equipment-item-icon img { display:block;width:38px;height:38px;object-fit:contain; }
