/* /builds/styles.css - MyFO2 Build Playground */
:root{
  --bg-x:0px;
  --bg-y:0px;
  --zoom:1;
  --panel:rgba(10,12,16,.78);
  --panel2:rgba(10,12,16,.90);
  --panel3:rgba(15,18,24,.96);
  --line:rgba(255,255,255,.12);
  --line2:rgba(255,255,255,.20);
  --txt:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.62);
  --faint:rgba(255,255,255,.43);
  --hover:rgba(255,255,255,.07);
  --accent:#22c55e;
  --accent-soft:rgba(34,197,94,.18);
  --accent-line:rgba(34,197,94,.46);
  --blue-soft:rgba(56,189,248,.16);
  --danger:rgba(248,113,113,.92);
  --bg-overlay:rgba(0,0,0,.58);
  --shadow:0 18px 42px rgba(0,0,0,.42);
}

*{ box-sizing:border-box; }
html,body{ min-height:100%; margin:0; background:#05070a; }
body{
  color:var(--txt);
  background:transparent;
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:12px;
  -webkit-font-smoothing:antialiased;
  image-rendering:pixelated;
}
button,input,select{ font:inherit; }
button{ color:inherit; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }
[hidden]{ display:none !important; }

.bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url("https://myfo2.com/zones/noob-island.png");
  background-repeat:no-repeat;
  background-size:calc(4096px / var(--zoom)) calc(3072px / var(--zoom));
  background-position:var(--bg-x) var(--bg-y);
  background-color:#05070a;
  image-rendering:pixelated;
}
.bg::after{ content:""; position:absolute; inset:0; background:var(--bg-overlay); }
.wrap{ position:relative; z-index:1; margin:0 auto; padding:14px; }

*{ scrollbar-width:thin; scrollbar-color:rgba(148,163,184,.55) transparent; }
*::-webkit-scrollbar{ width:8px; height:8px; }
*::-webkit-scrollbar-track{ background:transparent; }
*::-webkit-scrollbar-thumb{ border-radius:999px; background:rgba(148,163,184,.46); }
*::-webkit-scrollbar-thumb:hover{ background:rgba(148,163,184,.75); }

.builds-shell{ display:flex; flex-direction:column; gap:10px; }
.topbar,
.panel{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:10px;
  backdrop-filter:blur(6px);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.topbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; flex-wrap:wrap; }
.leftbar{ display:flex; align-items:center; gap:10px; min-width:0; }
.title{ color:var(--txt); font-size:13px; line-height:1.25; letter-spacing:.25px; }
.muted{ color:var(--muted); font-size:10px; line-height:1.45; }
.builds-subtitle{ margin-top:3px; }
.actions{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.meta{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:var(--muted); font-size:10px; }
.build-loaded-card{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:42px; padding:7px 9px 7px 11px; background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(10,12,16,.82)); border-color:rgba(34,197,94,.26); }
.build-loaded-copy{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-width:0; }
.build-loaded-title{ overflow:hidden; max-width:min(310px,34vw); color:var(--txt); font-size:12px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.build-loaded-separator{ color:rgba(255,255,255,.22); font-size:9px; }
.build-loaded-detail{ display:inline-flex; align-items:center; gap:4px; min-width:0; color:var(--faint); font-size:8px; }
.build-loaded-detail strong{ color:#dfffe8; font-size:9px; font-weight:600; }
.build-loaded-detail code{ overflow:hidden; max-width:min(300px,42vw); color:var(--muted); font-family:inherit; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.build-copy-link-btn{ flex:0 0 auto; min-height:26px; padding:5px 8px; border-radius:7px; font-size:8px; }

.btn,.close,.icon-btn,.mini-btn{
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
  color:var(--txt);
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,transform .12s ease,opacity .12s ease;
}
.btn:hover,.close:hover,.icon-btn:hover,.mini-btn:hover{ background:rgba(255,255,255,.11); border-color:var(--line2); transform:translateY(-1px); }
.btn:active,.close:active,.icon-btn:active,.mini-btn:active{ transform:translateY(0); }
.btn[disabled],.mini-btn[disabled]{ pointer-events:none; opacity:.38; transform:none; }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:7px 10px; border-radius:9px; font-size:10px; white-space:nowrap; }
.btn--accent{ color:#041007; border-color:rgba(34,197,94,.72); background:linear-gradient(135deg,#22c55e,#16a34a); font-weight:600; }
.btn--accent:hover{ background:linear-gradient(135deg,#34d66d,#22c55e); }
.close{ min-height:30px; padding:6px 9px; border-radius:9px; font-size:10px; white-space:nowrap; }
.icon-btn{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; font-size:20px; line-height:1; }
.mini-btn{ display:flex; align-items:center; justify-content:center; min-height:25px; border-radius:7px; font-size:12px; }
.stat-action-btn{ position:relative; min-height:28px; padding:0; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.045); }
.stat-action-btn:hover{ border-color:rgba(34,197,94,.4); background:rgba(34,197,94,.10); }
.stat-action-icon{ display:block; width:16px; height:16px; background-position:center; background-repeat:no-repeat; background-size:contain; image-rendering:pixelated; }
.stat-action-icon--up{ background-image:url("assets/stat-icons/up.png"); }
.stat-action-icon--plus{ background-image:url("assets/stat-icons/plus.png"); }
.stat-action-icon--minus{ background-image:url("assets/stat-icons/minus.png"); }
.stat-action-btn--min .stat-action-icon{ transform:scaleY(-1); }
.pill{ display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); border-radius:999px; padding:4px 8px; background:rgba(255,255,255,.045); color:var(--muted); font-size:10px; }

.section-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:9px; }
.section-head--inline{ align-items:center; }
.section-head h2{ margin:0; color:var(--txt); font-size:12px; font-weight:500; letter-spacing:.15px; }
.section-head p{ margin:3px 0 0; color:var(--muted); font-size:9px; line-height:1.45; }

.equip-workspace{ display:grid; grid-template-columns:minmax(215px,.9fr) minmax(390px,1.55fr) minmax(250px,1fr); gap:10px; align-items:start; }
.equip-left-column,.equip-center-column,.equip-side-column{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.equip-slots-card,.equip-preview-card,.equip-stats-card,.equip-assignment-card,.equip-skills-card{ padding:10px; min-width:0; }

.equip-slot-groups{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.equip-slot-column{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.equip-slot{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:7px;
  align-items:center;
  width:100%;
  min-height:47px;
  padding:5px 7px;
  overflow:hidden;
  text-align:left;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;
}
.equip-slot:hover{ background:rgba(255,255,255,.075); border-color:var(--line2); transform:translateY(-1px); }
.equip-slot--active{ border-color:var(--accent-line); background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.035)); box-shadow:0 0 0 1px rgba(34,197,94,.12); }
.equip-slot-icon{ display:block; width:34px; height:34px; border:1px solid var(--line); border-radius:7px; background-color:rgba(0,0,0,.22); background-position:center; background-repeat:no-repeat; background-size:100% 100%; image-rendering:pixelated; }
.equip-slot-copy{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.equip-slot-label{ overflow:hidden; color:var(--txt); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.equip-slot-meta{ overflow:hidden; color:var(--faint); font-size:8px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.equip-slot--filled .equip-slot-label{ color:#dfffe8; }
.equip-slot-clear,.equip-skill-clear{ position:absolute; top:3px; right:3px; display:none; align-items:center; justify-content:center; width:17px; height:17px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(0,0,0,.68); color:rgba(255,255,255,.76); font-size:12px; line-height:1; z-index:3; }
.equip-slot--filled .equip-slot-clear,.equip-skill-slot--filled .equip-skill-clear{ display:flex; }
.equip-slot-clear:hover,.equip-skill-clear:hover{ border-color:rgba(248,113,113,.72); color:var(--danger); }

.equip-preview-card{ overflow:hidden; }
.equip-rotate-controls{ display:flex; align-items:center; gap:6px; }
.equip-direction-label{ min-width:38px; color:var(--muted); font-size:9px; text-align:center; }
.equip-sprite-shell{ position:relative; display:flex; align-items:center; justify-content:center; min-height:248px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:radial-gradient(circle at 50% 20%,rgba(34,197,94,.13),transparent 48%),rgba(0,0,0,.23); }
.equip-dust-canvas{ position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; opacity:.77; pointer-events:none; mix-blend-mode:screen; }
.equip-sprite-floor{ position:absolute; left:50%; bottom:20px; z-index:1; width:190px; height:36px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(ellipse,rgba(34,197,94,.20),transparent 68%); filter:blur(2px); }
.equip-sprite{ position:relative; z-index:2; width:136px; height:200px; background-repeat:no-repeat; background-size:300% 400%; background-position:50% 0%; image-rendering:pixelated; filter:drop-shadow(0 12px 5px rgba(0,0,0,.44)); }

.equip-stats-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.equip-stat-pill{ min-width:0; padding:6px 7px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.035); }
.equip-stat-pill--wide{ background:linear-gradient(135deg,rgba(34,197,94,.11),rgba(255,255,255,.035)); }
.equip-stat-label{ color:var(--muted); font-size:8px; line-height:1.2; }
.equip-stat-value{ margin-top:3px; overflow:hidden; color:var(--txt); font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.equip-stats-extra{ margin-top:8px; }
.equip-stats-extra--empty{ display:none; }

.equip-level-grid{ display:grid; grid-template-columns:1fr 82px; gap:6px; }
.field-label{ display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:9px; line-height:1.25; }
.field-label span{ color:var(--faint); }
.input,.select,.search,.equip-base-input{ width:100%; min-width:0; color:var(--txt); outline:none; border:1px solid var(--line); border-radius:8px; background:rgba(0,0,0,.24); }
.input,.select,.search{ min-height:32px; padding:7px 8px; font-size:10px; }
.input::placeholder,.search::placeholder{ color:rgba(255,255,255,.36); }
.input:focus,.select:focus,.search:focus,.equip-base-input:focus{ border-color:rgba(34,197,94,.62); box-shadow:0 0 0 2px rgba(34,197,94,.10); }
.equip-level-range{
  --range-progress:59.6%;
  width:100%;
  height:20px;
  margin:10px 0 8px;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  outline:0;
  background:transparent;
  cursor:pointer;
}
.equip-level-range::-webkit-slider-runnable-track{
  height:6px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent) 0 var(--range-progress),rgba(255,255,255,.10) var(--range-progress) 100%);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.38);
}
.equip-level-range::-webkit-slider-thumb{
  width:16px;
  height:16px;
  margin-top:-6px;
  appearance:none;
  -webkit-appearance:none;
  border:2px solid #dfffe8;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(34,197,94,.16),0 4px 10px rgba(0,0,0,.38);
  transition:transform .12s ease,box-shadow .12s ease;
}
.equip-level-range:hover::-webkit-slider-thumb,
.equip-level-range:focus-visible::-webkit-slider-thumb{
  transform:scale(1.1);
  box-shadow:0 0 0 5px rgba(34,197,94,.19),0 5px 12px rgba(0,0,0,.44);
}
.equip-level-range::-moz-range-track{
  height:6px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.38);
}
.equip-level-range::-moz-range-progress{
  height:6px;
  border-radius:999px;
  background:var(--accent);
}
.equip-level-range::-moz-range-thumb{
  width:14px;
  height:14px;
  border:2px solid #dfffe8;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(34,197,94,.16),0 4px 10px rgba(0,0,0,.38);
  transition:transform .12s ease,box-shadow .12s ease;
}
.equip-level-range:hover::-moz-range-thumb,
.equip-level-range:focus-visible::-moz-range-thumb{
  transform:scale(1.1);
  box-shadow:0 0 0 5px rgba(34,197,94,.19),0 5px 12px rgba(0,0,0,.44);
}
@media (min-width:821px){
  .equip-level-range{ height:26px; margin:12px 0 9px; }
  .equip-level-range::-webkit-slider-runnable-track{ height:8px; }
  .equip-level-range::-webkit-slider-thumb{ width:20px; height:20px; margin-top:-7px; }
  .equip-level-range::-moz-range-track,.equip-level-range::-moz-range-progress{ height:8px; }
  .equip-level-range::-moz-range-thumb{ width:18px; height:18px; }
}
.equip-base-stats-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.equip-base-pill{ padding:6px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.03); }
.equip-base-pill-head{ display:flex; align-items:center; justify-content:space-between; gap:5px; color:var(--muted); font-size:9px; }
.equip-base-input{ width:54px; min-height:26px; padding:4px 5px; color:var(--txt); font-size:10px; text-align:right; }
.equip-base-value--hidden{ display:none; }
.equip-base-pill-controls{ display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin-top:5px; }
.equip-assignment-actions{ display:flex; gap:6px; margin-top:8px; }
.equip-assignment-actions .btn{ flex:1 1 0; }
.equip-remaining-pill strong{ color:var(--accent); font-size:11px; }

.equip-skill-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.equip-skill-body{ position:relative; display:grid; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:6px; min-height:38px; padding:5px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.035); text-align:left; cursor:pointer; }
.equip-skill-body:hover{ border-color:var(--line2); background:rgba(255,255,255,.07); }
.equip-skill-slot--active{ border-color:var(--accent-line); background:var(--accent-soft); }
.equip-skill-icon{ width:27px; height:27px; border:1px solid var(--line); border-radius:6px; background-color:rgba(0,0,0,.22); background-position:center; background-repeat:no-repeat; background-size:100% 100%; image-rendering:pixelated; }
.equip-skill-meta{ overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }

.equip-save-share-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }

/* API-driven bonus cards */
.equip-set-bonuses,.equip-other-bonuses{ margin-top:7px; }
.equip-set-bonuses-title{ margin-bottom:5px; color:var(--muted); font-size:9px; letter-spacing:.2px; text-transform:uppercase; }
.equip-set-bonuses-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:5px; }
.equip-set-bonus-card{ padding:7px; border:1px solid rgba(34,197,94,.28); border-radius:8px; background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(255,255,255,.025)); }
.equip-set-bonus-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:6px; margin-bottom:5px; }
.equip-set-bonus-name{ color:#dcffe6; font-size:10px; }
.equip-set-bonus-pieces{ color:var(--faint); font-size:8px; white-space:nowrap; }
.equip-set-bonus-values,.equip-other-bonus-values{ display:grid; grid-template-columns:repeat(auto-fit,minmax(115px,1fr)); gap:4px; }
.equip-set-bonus-line{ display:flex; align-items:center; gap:5px; min-width:0; padding:3px 4px; border-radius:6px; background:rgba(0,0,0,.16); }
.equip-set-bonus-amount{ min-width:43px; color:var(--accent); font-size:9px; font-weight:600; text-align:right; }
.equip-set-bonus-stat{ overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.equip-other-bonuses{ padding-top:6px; border-top:1px solid var(--line); }

/* Anchored item and skill picker */
.equip-picker-popover{ position:fixed; z-index:7000; display:none; width:min(430px,calc(100vw - 20px)); max-height:min(520px,calc(100vh - 20px)); padding:8px; overflow:hidden; border:1px solid var(--line2); border-radius:11px; background:rgba(10,12,16,.985); box-shadow:0 22px 56px rgba(0,0,0,.68); backdrop-filter:blur(10px); }
.equip-picker-popover.open{ display:flex; flex-direction:column; gap:7px; }
.equip-picker-popover::after{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(34,197,94,.08); }
.equip-picker-head{ display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.equip-picker-title{ color:var(--txt); font-size:11px; }
#equipItemsSlotName{ color:var(--accent); }
.equip-picker-tools{ display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
.equip-weapon-filter{ display:none; color:var(--muted); font-size:9px; }
.equip-weapon-filter--visible{ display:grid; grid-template-columns:110px minmax(0,1fr); gap:6px; align-items:center; }
.equip-items-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; min-height:80px; max-height:390px; overflow:auto; padding-right:2px; }
.equip-items-empty{ grid-column:1/-1; padding:14px 5px; color:var(--muted); font-size:10px; text-align:center; }
.equip-item-card{ display:grid; grid-template-columns:31px minmax(0,1fr); grid-template-areas:"icon name" "icon meta"; align-items:center; gap:3px 6px; min-height:43px; padding:5px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.035); cursor:pointer; user-select:none; }
.equip-item-card:hover{ border-color:var(--accent-line); background:rgba(34,197,94,.10); }
.equip-item-icon{ grid-area:icon; width:31px; height:31px; border:1px solid var(--line); border-radius:6px; background-color:rgba(0,0,0,.20); background-position:center; background-repeat:no-repeat; background-size:100% 100%; image-rendering:pixelated; }
.equip-item-name{ grid-area:name; overflow:hidden; color:var(--txt); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.equip-item-meta{ grid-area:meta; display:flex; gap:4px; overflow:hidden; color:var(--faint); font-size:8px; white-space:nowrap; }

/* Saved build browser */
.modal{ position:fixed; inset:0; z-index:6500; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(0,0,0,.66); }
.modal.open{ display:flex; }
.modal-card{ display:flex; flex-direction:column; width:min(1080px,96vw); max-height:82vh; overflow:hidden; border:1px solid var(--line2); border-radius:11px; background:rgba(10,12,16,.97); box-shadow:0 28px 80px rgba(0,0,0,.68); backdrop-filter:blur(10px); }
.modal-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:10px; border-bottom:1px solid var(--line); }
.modal-title{ color:var(--txt); font-size:12px; }
.modal-scroll-body{ display:flex; flex-direction:column; gap:8px; padding:9px; overflow:auto; }
.build-browser-filter{ padding:8px; }
.build-browser-filter{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.build-browser-filter-title{ color:var(--txt); font-size:11px; font-weight:600; }
.build-browser-filter-controls{ display:flex; align-items:flex-end; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.build-browser-filter .field-label{ width:220px; max-width:100%; }
.equip-builds-block{ padding:8px; }
.equip-builds-block--public{ padding:7px; }
.equip-build-list{ display:flex; flex-direction:column; gap:5px; margin:0; padding:0; list-style:none; }
.equip-build-row{ display:flex; align-items:center; gap:8px; min-width:0; padding:7px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.035); }
.equip-build-row:hover{ border-color:var(--line2); background:rgba(255,255,255,.065); }
.equip-build-main{ flex:1 1 auto; min-width:0; }
.equip-build-title{ overflow:hidden; color:var(--txt); font-size:10px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.equip-build-meta{ display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; color:var(--faint); font-size:8px; }
.equip-build-meta span{ padding:2px 5px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(0,0,0,.15); }
.equip-build-meta .equip-build-creator{ color:#dfffe8; border-color:rgba(34,197,94,.22); background:rgba(34,197,94,.08); }
.equip-build-code{ max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.equip-build-row-actions{ display:flex; align-items:center; gap:5px; flex:0 0 auto; }
.equip-open-build-btn{ min-height:28px; padding:5px 8px; color:#041007; border-color:rgba(34,197,94,.72); background:linear-gradient(135deg,#22c55e,#16a34a); font-size:9px; font-weight:600; }
.equip-open-build-btn:hover{ background:linear-gradient(135deg,#34d66d,#22c55e); }
.equip-like-btn,.equip-delete-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:28px; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.04); color:var(--muted); cursor:pointer; font-size:9px; }
.equip-like-btn{ gap:3px; padding:4px 7px; }
.equip-delete-btn{ width:28px; color:var(--danger); }
.equip-like-btn:hover,.equip-delete-btn:hover{ border-color:var(--line2); background:rgba(255,255,255,.10); }
.equip-like-btn--active{ color:var(--accent); border-color:var(--accent-line); }
.equip-builds-empty{ padding:9px 3px; color:var(--muted); font-size:9px; }

.toast{ position:fixed; left:50%; bottom:18px; z-index:9000; max-width:min(520px,calc(100vw - 22px)); transform:translate(-50%,15px); padding:8px 11px; border:1px solid var(--line2); border-radius:9px; background:rgba(10,12,16,.96); color:var(--txt); font-size:10px; opacity:0; pointer-events:none; transition:opacity .16s ease,transform .16s ease; box-shadow:0 16px 40px rgba(0,0,0,.5); }
.toast--visible{ transform:translate(-50%,0); opacity:1; }
body.has-build-modal{ overflow:hidden; }

.cursor-tooltip{ position:fixed; left:0; top:0; z-index:9800; max-width:220px; padding:7px 9px; border:1px solid rgba(34,197,94,.26); border-radius:8px; background:rgba(10,12,16,.96); color:var(--txt); font-size:10px; line-height:1.35; white-space:nowrap; pointer-events:none; opacity:0; transform:translate3d(0,0,0); transition:opacity .12s ease; box-shadow:0 16px 40px rgba(0,0,0,.45); }
.cursor-tooltip::after{ content:""; position:absolute; left:10px; bottom:-5px; width:9px; height:9px; border-right:1px solid rgba(34,197,94,.26); border-bottom:1px solid rgba(34,197,94,.26); background:rgba(10,12,16,.96); transform:rotate(45deg); }
.cursor-tooltip.is-visible{ opacity:1; }

@media (max-width:1120px){
  .equip-workspace{ grid-template-columns:minmax(205px,.9fr) minmax(360px,1.45fr); }
  .equip-side-column{ grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(280px,1fr)); align-items:start; }
  .equip-stats-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (max-width:820px){
  .wrap{ padding:9px; }
  .equip-workspace{ grid-template-columns:1fr; }
  .equip-center-column{ grid-row:1; }
  .equip-left-column{ grid-row:2; }
  .equip-side-column{ grid-column:auto; display:flex; width:100%; }
  .equip-assignment-card,.equip-skills-card{ width:100%; align-self:stretch; }
  .equip-preview-card{ order:0; }
  .equip-stats-card{ order:1; }
  .equip-sprite-shell{ min-height:220px; }
  .equip-sprite{ width:122px; height:180px; }
  .equip-stats-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .equip-builds-grid{ grid-template-columns:1fr; }
}

@media (max-width:540px){
  .topbar{ align-items:stretch; }
  .leftbar,.actions{ width:100%; }
  .actions .btn{ flex:1 1 0; }
  .equip-slot-groups{ gap:5px; }
  .equip-slot-column{ gap:5px; }
  .equip-slot{ grid-template-columns:30px minmax(0,1fr); gap:5px; min-height:42px; padding:4px 5px; }
  .equip-slot-icon{ width:30px; height:30px; }
  .equip-slot-label{ font-size:9px; }
  .equip-slot-meta{ font-size:7px; }
  .equip-stats-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .equip-stat-pill{ padding:5px; }
  .equip-stat-label{ font-size:7px; }
  .equip-stat-value{ font-size:10px; }
  .equip-level-grid{ grid-template-columns:1fr 74px; }
  .equip-items-list{ grid-template-columns:1fr; }
  .equip-picker-popover{ left:10px !important; right:10px !important; bottom:10px !important; top:auto !important; width:auto; max-height:72vh; }
  .modal{ padding:8px; }
  .modal-card{ width:100%; max-height:88vh; }
  .build-loaded-card{ align-items:center; flex-direction:row; }
  .build-loaded-copy{ gap:5px; }
  .build-loaded-title{ max-width:100%; flex:1 1 100%; }
  .build-loaded-detail code{ max-width:44vw; }
  .build-copy-link-btn{ align-self:center; }
  .build-browser-filter-controls,.build-browser-filter .field-label{ width:100%; }
  .equip-build-row{ align-items:stretch; flex-direction:column; }
  .equip-build-row-actions{ width:100%; }
  .equip-open-build-btn{ flex:1 1 auto; }
}


/* Immutable public-build save flow */
.btn[hidden],.modal[hidden]{ display:none !important; }
.build-copy-link-btn{ color:#fff; }
.equip-build-row--current{ border-color:rgba(34,197,94,.88); background:linear-gradient(135deg,rgba(34,197,94,.15),rgba(255,255,255,.04)); box-shadow:inset 0 0 0 1px rgba(34,197,94,.16); }
.equip-build-row--current:hover{ border-color:rgba(34,197,94,1); background:linear-gradient(135deg,rgba(34,197,94,.20),rgba(255,255,255,.065)); }
.modal-card--small{ width:min(520px,96vw); }
.save-build-modal-body{ gap:9px; }
.build-save-notice,.build-saved-info{ padding:8px 9px; border:1px solid rgba(34,197,94,.26); border-radius:8px; background:rgba(34,197,94,.08); color:#dfffe8; font-size:9px; line-height:1.55; }
.modal-actions-row{ display:flex; justify-content:flex-end; gap:6px; padding-top:2px; }
.saved-build-copy-btn{ color:#fff; white-space:nowrap; }
@media (max-width:540px){
  .equip-save-share-row{ grid-template-columns:1fr; }
  .saved-build-copy-btn{ width:100%; }
}

/* Clearer saved-build browser cards */
.builds-browser-modal-card .modal-title{ font-size:14px; }
.builds-browser-modal-card .muted{ font-size:11px; line-height:1.55; }
.builds-browser-modal-card .build-browser-filter-title{ font-size:13px; }
.builds-browser-modal-card .field-label{ font-size:10px; }
.builds-browser-modal-card .pill{ font-size:10px; }
.builds-browser-modal-card .equip-build-list{ gap:7px; }
.builds-browser-modal-card .equip-build-row{ gap:10px; padding:9px; }
.builds-browser-modal-card .equip-build-title{ font-size:12px; }
.builds-browser-modal-card .equip-build-meta{ gap:5px; margin-top:6px; font-size:10px; }
.builds-browser-modal-card .equip-build-meta span{ padding:3px 6px; }
.builds-browser-modal-card .equip-open-build-btn{ min-height:32px; padding:6px 10px; font-size:10px; }
.builds-browser-modal-card .equip-like-btn{ min-height:32px; gap:5px; padding:5px 9px; font-size:12px; }
.builds-browser-modal-card .equip-like-icon{ font-size:14px; line-height:1; }
.builds-browser-modal-card .equip-like-count{ min-width:1.25em; color:var(--txt); font-size:14px; font-weight:700; line-height:1; text-align:center; }
.builds-browser-modal-card .equip-delete-btn{ width:32px; min-height:32px; font-size:13px; }
.builds-browser-modal-card .equip-builds-empty{ font-size:11px; }

