/* ═══════════════════════════════════════════
   Forge/Workshop .ws-* classes
   ═══════════════════════════════════════════ */

  .ws-item-row { display: flex; align-items: center; gap: 8px; padding: 6px 4px;
    border-bottom: 1px solid rgba(255,255,255,0.04); font-family: 'JetBrains Mono', monospace; }
  .ws-item-btn { width: 28px; height: 28px; border: 1px solid var(--dim); border-radius: var(--r-xs);
    background: transparent; color: var(--text); font-size: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; }
  .ws-item-btn:disabled { opacity: 0.2; cursor: default; }
  .ws-affinity-legend { font-size: 10px; text-align: center; padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 4px; letter-spacing: 0.3px; }
  .ws-affinity-tag { font-size: 11px; margin-right: 4px; }
  .ws-affinity-preview { font-size: 11px; margin-top: 12px; padding: 6px 8px;
    border: 1px solid rgba(255,255,255,0.08); border-radius: var(--r-xs);
    text-align: center; letter-spacing: 0.5px; }

  /* Calibration dots */
  .ws-cal-dots { display: flex; justify-content: center; gap: 8px; margin: 12px 0; }
  .ws-cal-dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid var(--dim); }
  .ws-dot-current { border-color: var(--accent); box-shadow: 0 0 4px var(--accent); }
  .ws-dot-perfect { background: var(--green); border-color: var(--green); }
  .ws-dot-good { background: var(--amber); border-color: var(--amber); }
  .ws-dot-miss { background: var(--red); border-color: var(--red); }

  /* Calibration gauge */
  .ws-gauge { position: relative; width: 100%; max-width: 400px; height: 48px;
    background: rgba(255,255,255,0.04); border: 1px solid var(--dim); border-radius: var(--r-xs);
    overflow: hidden; margin: 16px 0; }
  .ws-gauge-target { position: absolute; top: 0; height: 100%;
    background: rgba(0,255,136,0.12); border-left: 1px solid var(--green);
    border-right: 1px solid var(--green); }
  .ws-gauge-needle { position: absolute; top: 0; height: 100%; width: 3px;
    background: var(--accent); transform: translateX(-1px); }
  .ws-needle-perfect { background: var(--green); box-shadow: 0 0 8px var(--green); }
  .ws-needle-good { background: var(--amber); box-shadow: 0 0 6px var(--amber); }
  .ws-needle-miss { background: var(--red); box-shadow: 0 0 6px var(--red); }

  /* Calibration feedback text */
  .ws-cal-feedback { font-family: 'Orbitron', monospace; font-size: 20px; letter-spacing: 3px; margin-top: 8px; }
  .ws-fb-perfect { color: var(--green); text-shadow: 0 0 8px rgba(0,255,136,0.4); }
  .ws-fb-good { color: var(--amber); }
  .ws-fb-miss { color: var(--red); }

  /* Result upgrade glow */
  .ws-result-upgrade { color: var(--green); font-family: 'Orbitron', monospace; font-size: 14px;
    margin: 12px 0; animation: ws-glow 1.5s ease infinite; }
  @keyframes ws-glow { 0%,100% { text-shadow: 0 0 4px rgba(0,255,136,0.3); }
    50% { text-shadow: 0 0 12px rgba(0,255,136,0.6); } }

  /* ═══════════════════════════════════════════════════════════
     STARBASE — Simple Black Goth
     ═══════════════════════════════════════════════════════════ */

  /* Layout */
  #screen-starbase.active { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
  .sb-container { display: flex; flex-direction: column; width: 100%; height: 100%; overflow: hidden; background: #050508; box-sizing: border-box; }
  .sb-grid-wrapper { flex: 1; overflow: auto; padding: 2px; min-height: 0; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); }
  .sb-grid-wrapper::-webkit-scrollbar { width: 4px; height: 4px; }
  .sb-grid-wrapper::-webkit-scrollbar-track { background: transparent; }
  .sb-grid-wrapper::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--r-xs); }
  .sb-grid { display: grid; grid-template-columns: repeat(10, 1fr); grid-template-rows: repeat(10, 1fr); gap: 1px; width: 100%; aspect-ratio: 1/1; background: #08080c; border: 1px solid var(--sb-border); position: relative; transform-origin: 0 0; overflow: hidden; }

  /* Mobile: compact spacing, maintain readable font sizes */
  @media (max-width: 600px) {
    .sb-header { padding: 4px 8px; }
    .sb-station-name { font-size: 12px !important; letter-spacing: 1px !important; }
    .sb-day-counter { font-size: 10px !important; }
    .sb-stats-row { gap: 4px 6px !important; font-size: 9px !important; }
    .sb-speed-btn { padding: 4px 6px !important; font-size: 9px !important; }
    .sb-header-actions .sb-btn { padding: 4px 6px !important; font-size: 9px !important; }
    .sb-level-tabs { padding: 2px 4px; }
    .sb-level-tab { padding: 3px !important; font-size: 10px !important; }
    .sb-btn { padding: 5px 8px !important; font-size: 10px !important; }
    .sb-room-label { font-size: 8px !important; }
    .sb-room-tier { font-size: 7px !important; }
    .sb-grid-wrapper { padding: 1px; }
  }

  /* Header */
  .sb-header { padding: 8px 12px; background: var(--sb-bg); border-bottom: 1px solid var(--sb-border); }
  .sb-header-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
  .sb-station-name { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--sb-text); letter-spacing: 2px; }
  .sb-rebuild-btn { background: none !important; border: 1px solid rgba(255,0,60,0.25) !important; color: rgba(255,0,60,0.6) !important; font-size: 12px !important; cursor: pointer; padding: 2px 6px !important; margin-left: 6px; border-radius: var(--r-xs) !important; vertical-align: middle; line-height: 1; min-width: 0 !important; transition: all var(--dur-fast); }

  /* ===== CONSISTENCY PASS: FORGE DETAIL ===== */
  .ws-item-row {
    padding: 10px 8px;
    border-bottom-color: rgba(255,179,0,0.08);
  }

  .ws-item-btn {
    border-color: rgba(255,179,0,0.18);
    border-radius: var(--r-sm);
    background: linear-gradient(180deg, rgba(18,16,13,0.94) 0%, rgba(9,9,9,0.98) 100%);
    color: rgba(208,220,232,0.82);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.03),
      0 10px 20px rgba(0,0,0,0.14);
  }

  .ws-affinity-legend {
    color: rgba(176,160,128,0.82);
    border-bottom-color: rgba(255,179,0,0.08);
  }

  .ws-affinity-preview {
    color: rgba(208,220,232,0.78);
  }

  .ws-cal-feedback {
    font-size: 16px;
    letter-spacing: 2.6px;
  }

  .ws-result-upgrade {
    text-shadow: none;
    animation-duration: 2s;
  }
