/* ============================================================================
   GetWheelSpinner — v7.0.0 new tool styles (isolated)
   Scoped to the two new generator pages:
     .nba-*  → /nba-team-picker-wheel/
     .fbd-*  → /fantasy-basketball-draft-order-wheel/

   This file is loaded AFTER assets/style.css on those pages only.
   assets/style.css is a PROTECTED v6.9.2 file and is NOT modified. The print
   reveal chain below extends the existing chain purely by specificity and
   source order:
       style.css   main>*                     (0,0,1)  display:none
       this file   main>.nba-tool             (0,1,1)  display:block   ← wins
       this file   .nba-tool>*                (0,1,0)  display:none
       this file   .nba-tool>.nba-print-area  (0,2,0)  display:block   ← wins
   Same display:none discipline as the original chain — never visibility:hidden,
   which previously produced blank printed pages.
   ============================================================================ */

/* ═══ SHARED CARD / BUTTON SHELL (mirrors the audited .nfl-* / .fd-* look) ═══ */
.nba-tool,.fbd-tool{margin:0 0 40px}
.nba-card,.fbd-card{
  background:linear-gradient(145deg,var(--card),rgba(18,20,46,.7));
  border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:18px;
}
html[data-theme="light"] .nba-card,html[data-theme="light"] .fbd-card{
  background:#FFFFFF;border-color:rgba(15,23,42,.11);
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 2px 14px rgba(15,23,42,.06);
}
.nba-card-title,.fbd-card-title{font-size:15px;font-weight:800;margin-bottom:6px;color:var(--text);letter-spacing:-.2px}
.nba-card-sub,.fbd-card-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:14px}
.nba-label,.fbd-label{display:block;font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:7px}

#nba-names,#fbd-names{
  width:100%;min-height:140px;resize:vertical;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-sm);padding:11px 13px;
  color:var(--text) !important;-webkit-text-fill-color:var(--text);caret-color:var(--amber);
  font-size:14px;line-height:1.6;font-family:var(--font);outline:none;
}
#nba-names:focus,#fbd-names:focus{border-color:rgba(245,158,11,.35)}
#nba-names::placeholder,#fbd-names::placeholder{color:var(--muted2)}
html[data-theme="light"] #nba-names,html[data-theme="light"] #fbd-names{
  background:#FFFFFF;border-color:rgba(15,23,42,.18);
  color:#0F172A !important;-webkit-text-fill-color:#0F172A;
}
html[data-theme="light"] #nba-names::placeholder,html[data-theme="light"] #fbd-names::placeholder{
  color:#64748B;-webkit-text-fill-color:#64748B;
}

.nba-select{
  width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-sm);padding:11px 13px;color:var(--text);
  font-size:14px;font-family:var(--font);outline:none;
}
html[data-theme="light"] .nba-select{background:#FFFFFF;border-color:rgba(15,23,42,.18);color:#0F172A}
.nba-preset-count{font-size:12px;font-weight:700;color:var(--amber);margin-top:8px}
html[data-theme="light"] .nba-preset-count{color:#92400E}

.nba-btn-row,.nba-actions,.fbd-btn-row,.fbd-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.nba-btn,.fbd-btn{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.92);border-radius:var(--radius-sm);padding:10px 16px;
  font-size:13.5px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .16s;
}
.nba-btn:hover,.fbd-btn:hover{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:var(--amber)}
html[data-theme="light"] .nba-btn,html[data-theme="light"] .fbd-btn{
  background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.14);color:#0F172A;
}
html[data-theme="light"] .nba-btn:hover,html[data-theme="light"] .fbd-btn:hover{
  background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.4);color:#92400E;
}
.nba-btn-primary,.fbd-btn-primary{
  background:linear-gradient(135deg,var(--amber) 0%,#F97316 50%,var(--red) 100%);
  color:#fff;border:none;box-shadow:0 4px 18px rgba(245,158,11,.32),inset 0 1px 0 rgba(255,255,255,.18);
}
.nba-btn-primary:hover,.fbd-btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 6px 26px rgba(245,158,11,.45)}
/* v7.0.1 LIGHT-MODE FIX (primary action buttons).
   DEFECT: `html[data-theme="light"] .nba-btn,.fbd-btn{background:rgba(15,23,42,.04)}`
   at (0,2,1) outranks `.nba-btn-primary/.fbd-btn-primary{background:linear-gradient(...)}`
   at (0,1,0), stripping the gradient, while the old `color:#fff` here kept the
   label white — white on #F5F6F6, contrast 1.08:1. "Assign NBA Teams" and
   "Generate Draft Order" were effectively invisible in light mode.
   FIX: restate the gradient at matching specificity. */
html[data-theme="light"] .nba-btn-primary,html[data-theme="light"] .fbd-btn-primary{
  background:linear-gradient(135deg,var(--amber) 0%,#F97316 50%,var(--red) 100%);
  border:none;color:#fff;
}
.nba-btn-danger,.fbd-btn-danger{border-color:rgba(239,68,68,.3);color:#FCA5A5}
.nba-btn-danger:hover,.fbd-btn-danger:hover{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#FCA5A5}
html[data-theme="light"] .nba-btn-danger,html[data-theme="light"] .fbd-btn-danger{color:#B91C1C;border-color:rgba(239,68,68,.3)}

.nba-msg,.fbd-msg{font-size:13px;line-height:1.6;border-radius:var(--radius-sm);padding:11px 14px;margin-top:14px}
.nba-error,.fbd-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#FCA5A5}
html[data-theme="light"] .nba-error,html[data-theme="light"] .fbd-error{
  background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.3);color:#B91C1C;
}
.nba-warning,.fbd-warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.38);color:var(--amber2)}
html[data-theme="light"] .nba-warning,html[data-theme="light"] .fbd-warning{
  background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.4);color:#92400E;
}
.nba-privacy,.fbd-privacy{font-size:12px;color:var(--muted2);line-height:1.6;margin-top:14px}
.nba-disclaimer,.fbd-disclaimer{font-size:12px;color:var(--muted2);line-height:1.6;margin-top:8px;font-style:italic}

/* ═══ NBA assignment table ═══════════════════════════════════════════════════ */
.nba-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.nba-table{width:100%;border-collapse:collapse;font-size:14px;min-width:280px}
.nba-table th,.nba-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}
.nba-table th{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.nba-table td:first-child{font-weight:700;white-space:nowrap}
.nba-table td:last-child{color:var(--muted);line-height:1.5}
html[data-theme="light"] .nba-table th,html[data-theme="light"] .nba-table td{border-bottom-color:rgba(15,23,42,.10)}
.nba-table tr.nba-leftover td{opacity:.75}

/* ═══ Fantasy Basketball draft order list + snake preview ════════════════════ */
.fbd-block-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.4px;margin-bottom:10px}
.fbd-snake-title{margin-top:22px}
.fbd-snake-note{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:12px}
.fbd-order{list-style:none;counter-reset:fbdpick;display:flex;flex-direction:column;gap:6px}
.fbd-order li{
  counter-increment:fbdpick;display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:9px 13px;font-size:14px;color:var(--text);
}
html[data-theme="light"] .fbd-order li{background:rgba(15,23,42,.02)}
.fbd-order li::before{
  content:counter(fbdpick);flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:rgba(245,158,11,.16);color:var(--amber);font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
html[data-theme="light"] .fbd-order li::before{color:#92400E}
/* Long unbroken manager names must wrap, never truncate and never overflow. */
.fbd-name{font-weight:600;min-width:0;overflow-wrap:anywhere}
.fbd-snake{display:flex;flex-direction:column;gap:8px}
.fbd-round{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 13px}
html[data-theme="light"] .fbd-round{background:rgba(15,23,42,.02)}
.fbd-round-num{display:block;font-size:11px;font-weight:800;color:var(--amber);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}
html[data-theme="light"] .fbd-round-num{color:#92400E}
.fbd-round-seq{font-size:13.5px;color:var(--text);line-height:1.6;word-break:break-word}

/* Print-only titles stay hidden on screen */
.nba-print-title,.fbd-print-title{display:none}

@media(max-width:600px){
  .nba-btn,.fbd-btn{flex:1;min-width:130px}
  .fbd-round-seq{font-size:12.5px}
  .nba-table{font-size:13px}
  .nba-table td:first-child{white-space:normal}
}

/* ═══ PRINT REVEAL CHAIN EXTENSION ═══════════════════════════════════════════
   Extends — never replaces — the chain in style.css. Without these rules the
   Print button on either new generator would produce a blank page.           */
@media print{
  main>.nba-tool,main>.fbd-tool{display:block!important}
  .nba-tool>*,.fbd-tool>*{display:none!important}
  .nba-tool>.nba-print-area,.fbd-tool>.fbd-print-area{display:block!important}

  .nba-print-area,.fbd-print-area{position:static;width:100%;color:#000;background:#fff;margin:0;padding:0}
  .nba-print-title,.fbd-print-title{display:block!important;font-size:16pt;font-weight:800;margin:0 0 8pt;color:#000}

  #nba-results,#fbd-results{
    display:block!important;background:none!important;border:none!important;
    box-shadow:none!important;padding:0!important;margin:0!important;
  }

  .nba-table-wrap{overflow:visible!important;margin:0!important}
  .nba-table{width:100%;border-collapse:collapse;font-size:9pt}
  .nba-table th,.nba-table td{
    color:#000!important;border-bottom:1px solid #999!important;
    padding:3pt 6pt!important;page-break-inside:avoid;break-inside:avoid;
  }
  .nba-table thead{display:table-header-group}

  .fbd-order li,.fbd-round{
    background:none!important;border:none!important;border-bottom:1px solid #999!important;
    padding:3pt 0!important;color:#000!important;page-break-inside:avoid;break-inside:avoid;
  }
  .fbd-order li::before{background:none!important;color:#000!important}
  .fbd-name,.fbd-round-seq,.fbd-round-num,.fbd-block-title,.fbd-snake-note{color:#000!important}
}
