:root {
    --bg: #0f1420;
    --panel: #1a2133;
    --panel2: #212a40;
    --border: #2c3650;
    --text: #e8ecf5;
    --muted: #8b96b3;
    --accent: #5b8def;
    --green: #3ecf8e;
    --red: #ef5b5b;
    --amber: #f5b942;
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
  }
  header {
    padding: 18px 24px 12px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, #151b2b, #0f1420);
  }
  header h1 { margin: 0 0 4px; font-size: 20px; letter-spacing: 0.2px; }
  header .sub { color: var(--muted); font-size: 13px; }
  .header-main { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  #accessOverlay[hidden] { display:none; }
  #accessOverlay { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(8,11,18,.92); backdrop-filter:blur(5px); }
  .access-card { width:min(420px,100%); background:var(--panel); border:1px solid var(--border); border-radius:14px; box-shadow:0 24px 80px rgba(0,0,0,.55); padding:24px; }
  .access-card h2 { margin:0 0 8px; font-size:20px; }
  .access-card p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.55; }
  .access-card label { display:block; color:var(--muted); font-size:12px; margin-bottom:5px; }
  .access-card input { display:block; width:100%; min-height:44px; margin-bottom:12px; padding:9px 11px; color:var(--text); background:var(--bg); border:1px solid var(--border); border-radius:8px; }
  .access-card button { min-height:44px; width:100%; }
  #accessStatus { min-height:18px; margin-top:10px; color:var(--red); font-size:12px; }
  .scoring-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
  }
  .chip {
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    color: var(--muted);
  }
  .chip b { color: var(--text); }
  .layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 16px;
    padding: 16px 24px 40px;
    max-width: 1400px;
    margin: 0 auto;
  }
  @media (max-width: 900px) {
    .layout { grid-template-columns: 1fr; }
  }
  /* Draft Assistant's strategy table is much wider than the Draft Rankings
     player list, so on laptop-width screens give it the full row and drop the
     advice sidebar below it, rather than cramming a ~950px table next to a
     300px sidebar. Rankings keeps its sidebar down to 900px (rule above). */
  @media (max-width: 1280px) {
    #strategyView { grid-template-columns: 1fr; }
  }
  .table-scroll { overflow-x: auto; border-radius: 10px; }
  @media (max-width: 640px) {
    header { padding: 14px 12px 10px; }
    header h1 { font-size: 17px; }
    .layout { padding: 12px 12px 32px; gap: 12px; }
    .tab-bar { padding: 0 12px; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .tab-bar::-webkit-scrollbar { display: none; }
    .tab-btn { flex: 0 0 auto; white-space: nowrap; font-size: 13px; }
    .controls { gap: 8px; }
    input[type="text"] { width: 100%; flex: 1 1 100%; }
    .pos-filters { flex: 1 1 100%; }
    .reset-btn { margin-left: 0; }
    table { font-size: 12px; }
    thead th { padding: 8px 6px; font-size: 10.5px; }
    tbody td { padding: 6px 6px; }
    .action-btn { padding: 4px 7px; font-size: 11px; margin-right: 3px; }
    .grades-grid { grid-template-columns: 1fr; }
    .depth-grid { grid-template-columns: 1fr 1fr; }
    .chat-log { height: 220px; }
    .chat-log.compact { height: 200px; }
    .chat-log.expanded { height: 65vh; }
    .wide-view { padding-left: 12px !important; padding-right: 12px !important; }
  }
  .controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
  }
  input[type="text"] {
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 14px;
    width: 220px;
  }
  input[type="text"]:focus { outline: 1px solid var(--accent); }
  .pos-filters { display: flex; gap: 6px; flex-wrap: wrap; }
  .pill-btn {
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--muted);
    padding: 7px 13px;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
    font-weight: 600;
  }
  .pill-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
  .toggle-btn {
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--muted);
    padding: 7px 13px;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
  }
  button, select, summary, input[type="checkbox"] { touch-action:manipulation; }
  .toggle-btn.active { background: var(--panel2); color: var(--text); border-color: var(--accent); }
  .reset-btn {
    margin-left: auto;
    background: transparent;
    border: 1px solid var(--red);
    color: var(--red);
    padding: 7px 13px;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
  }
  .reset-btn:hover { background: rgba(239,91,91,0.1); }
  table {
    width: 100%;
    border-collapse: collapse;
    background: var(--panel);
    border-radius: 10px;
    overflow: hidden;
    font-size: 13.5px;
  }
  thead th {
    text-align: left;
    padding: 10px 10px;
    background: var(--panel2);
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
  }
  thead th:hover { color: var(--text); }
  tbody tr { border-bottom: 1px solid var(--border); }
  tbody tr:hover { background: rgba(255,255,255,0.03); }
  tbody td { padding: 8px 10px; vertical-align: middle; }
  .rank-col { color: var(--muted); width: 40px; }
  .pos-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 5px;
    color: #0f1420;
  }
  .pos-QB { background: #f5b942; }
  .pos-RB { background: #3ecf8e; }
  .pos-WR { background: #5b8def; color: #fff; }
  .pos-TE { background: #e8845f; }
  .pos-K  { background: #b48ce8; color:#fff; }
  .pos-DEF{ background: #8b96b3; }
  .tier-dot {
    display: inline-block;
    width: 9px; height: 9px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
  }
  .name-cell { font-weight: 600; }
  .team-cell { color: var(--muted); font-size: 12px; }
  .depth-badge {
    display: inline-block;
    font-size: 9.5px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 5px;
    border: 1px solid;
    margin-left: 4px;
    vertical-align: middle;
    white-space: nowrap;
    letter-spacing: 0.2px;
  }
  .action-btn {
    font-size: 11.5px;
    padding: 4px 9px;
    border-radius: 6px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    margin-right: 5px;
  }
  .action-btn.draft { border-color: var(--green); color: var(--green); }
  .action-btn.draft:hover { background: rgba(62,207,142,0.12); }
  .action-btn.drafted {
    border-color: var(--border);
    color: var(--muted);
    background: rgba(255,255,255,0.03);
    cursor: not-allowed;
    opacity: 0.65;
  }
  tr.is-mine { background: rgba(62,207,142,0.08); }
  tr.is-taken { opacity: 0.38; }
  tr.is-taken .name-cell { text-decoration: line-through; }
  .panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 14px;
  }
  .panel h3,
  .panel h2.panel-heading {
    margin: 0 0 10px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--muted);
  }
  .roster-slot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 8px;
    border-radius: 6px;
    margin-bottom: 4px;
    background: var(--panel2);
    font-size: 13px;
  }
  .roster-slot .slot-label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    width: 44px;
  }
  .roster-slot.filled { background: rgba(62,207,142,0.1); }
  .roster-slot .slot-player { flex: 1; padding: 0 8px; }
  .roster-slot .slot-remove {
    cursor: pointer;
    color: var(--muted);
    font-size: 12px;
  }
  .scoring-detail { font-size: 12.5px; color: var(--muted); line-height: 1.7; }
  .scoring-detail b { color: var(--text); }
  .scoring-detail .sec { color: var(--text); font-weight: 700; margin-top: 8px; display:block; }
  .count-line { color: var(--muted); font-size: 12px; margin-bottom: 8px; }
  #refreshStatus { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; cursor: default; }
  ::-webkit-scrollbar { width: 8px; height: 8px; }
  ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }

  .tab-bar {
    display: flex;
    align-items:center;
    gap: 8px;
    padding: 0 24px;
    margin-top: 14px;
  }
  .tab-links{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tab-links::-webkit-scrollbar{display:none}
  .tab-btn {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--muted);
    padding: 10px 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }
  .tab-btn.active { color: var(--text); border-bottom-color: var(--accent); }
  .nav-section-label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--muted);
    align-self: center;
    margin-right: 2px;
    white-space: nowrap;
  }
  .nav-divider {
    width: 1px;
    align-self: stretch;
    background: var(--border);
    margin: 6px 6px;
  }
  .slot-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
  }
  .slot-btn {
    background: var(--panel2);
    border: 1px solid var(--border);
    color: var(--muted);
    padding: 10px 0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
  }
  .slot-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
  .overview-line { font-size: 13px; color: var(--muted); margin-bottom: 6px; line-height: 1.6; }
  .overview-line b { color: var(--text); }
  .round-note {
    display: inline-block;
    font-size: 11px;
    color: var(--muted);
    font-style: italic;
  }
  .target-chip {
    display: inline-block;
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 2px 7px;
    margin: 2px 4px 2px 0;
    font-size: 12px;
  }
  .target-chip .pos-badge { transform: scale(0.85); margin-right: 3px; }
  tbody td.round-col { font-weight: 700; color: var(--text); white-space: nowrap; }

  .board-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
  .board-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; }
  table.board-table { border-collapse: collapse; background: var(--panel); font-size: 12px; }
  table.board-table th, table.board-table td { border: 1px solid var(--border); padding: 0; }
  table.board-table th {
    background: var(--panel2);
    color: var(--muted);
    font-size: 11.5px;
    padding: 8px 6px;
    min-width: 118px;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
  }
  table.board-table th.my-col, table.board-table td.my-col { background: rgba(91,141,239,0.10); }
  table.board-table th.round-label, table.board-table td.round-label {
    background: var(--panel2);
    color: var(--muted);
    font-weight: 700;
    text-align: center;
    min-width: 42px;
    position: sticky; left: 0; z-index: 2;
  }
  .board-cell {
    min-width: 118px;
    height: 52px;
    padding: 4px 6px !important;
    cursor: pointer;
    vertical-align: top;
    position: relative;
  }
  .board-cell:hover { background: rgba(255,255,255,0.04); }
  .cell-pick-num { font-size: 9.5px; color: var(--muted); }
  .cell-empty { color: var(--muted); font-size: 11px; padding-top: 10px; text-align: center; }
  .cell-player { font-size: 12px; font-weight: 600; margin-top: 2px; line-height: 1.3; }
  .cell-team { font-size: 10.5px; color: var(--muted); }
  .cell-clear {
    position: absolute; top: 2px; right: 4px;
    color: var(--muted); font-size: 11px; cursor: pointer;
  }
  .grades-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 16px;
  }
  .depth-controls {
    display: flex;
    align-items: center;
    margin-bottom: 18px;
  }
  .depth-controls select {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
  }
  .depth-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 14px;
  }
  .depth-col {
    background: var(--panel);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 12px 14px;
  }
  .depth-col h4 {
    margin: 0 0 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--muted);
  }
  .depth-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 13px;
  }
  .depth-row:last-child { border-bottom: none; }
  .depth-row .dr-slot {
    color: var(--muted);
    font-size: 11px;
    width: 18px;
    flex: 0 0 auto;
  }
  .depth-row .dr-name { flex: 1 1 auto; font-weight: 600; }
  .depth-row.not-in-pool .dr-name { font-weight: 400; color: var(--muted); }
  .depth-row .dr-meta { font-size: 11px; color: var(--muted); flex: 0 0 auto; white-space: nowrap; }
  .grade-card {
    background: var(--panel);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 14px 16px;
  }
  .grade-card.is-mine { border-color: rgba(120,180,255,0.5); }
  .grade-card-head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-bottom: 8px;
  }
  .grade-card-head h4 { margin: 0; font-size: 15px; }
  .grade-badge {
    font-weight: 800; font-size: 20px; border-radius: 8px; padding: 2px 12px;
    line-height: 1.4; min-width: 46px; text-align: center;
  }
  .grade-summary { font-size: 12.5px; color: var(--text); line-height: 1.55; margin-bottom: 10px; }
  .grade-callouts { display: flex; flex-direction: column; gap: 4px; font-size: 12px; margin-bottom: 10px; }
  .grade-callouts .gc-label { color: var(--muted); }
  .pos-grade-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
  .pos-grade-chip {
    font-size: 11px; border-radius: 6px; padding: 2px 7px; font-weight: 700;
    border: 1px solid rgba(255,255,255,0.12);
  }
  .grade-picks { font-size: 11.5px; color: var(--muted); }
  .grade-picks-toggle {
    cursor: pointer; color: var(--accent); font-size: 12px; user-select: none;
  }
  .grade-picks-table { width: 100%; border-collapse: collapse; margin-top: 6px; display: none; }
  .grade-picks-table td { padding: 2px 4px; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .grade-picks-table.open { display: table; }
  #assignPopover {
    display: none;
    position: fixed;
    z-index: 100;
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
    width: 260px;
    max-width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    overflow: hidden;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  }
  #assignPopover[style*="display: block"] { display: flex !important; }
  #assignPopover .pop-title { font-size: 11px; color: var(--muted); margin-bottom: 6px; }
  #assignPopover input {
    width: 100%; margin-bottom: 6px;
  }
  .assign-item {
    padding: 6px 6px;
    border-radius: 6px;
    font-size: 12.5px;
    cursor: pointer;
  }
  .assign-item:hover { background: rgba(255,255,255,0.06); }
  #assignResults { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .pop-actions { display: flex; justify-content: space-between; margin-top: 4px; }
  .pop-actions button {
    font-size: 11px; padding: 4px 8px; border-radius: 6px;
    background: transparent; border: 1px solid var(--border); color: var(--muted); cursor: pointer;
  }
  #resultsBox {
    width: 100%; min-height: 160px;
    background: var(--panel2); color: var(--text);
    border: 1px solid var(--border); border-radius: 8px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px; padding: 10px; margin-top: 8px;
  }
  .team-name-input {
    width: 88px;
    background: transparent;
    border: none;
    color: var(--text);
    font-size: 11.5px;
    font-weight: 700;
    text-align: center;
    padding: 2px 0;
    border-radius: 4px;
  }
  .team-name-input:hover, .team-name-input:focus {
    background: rgba(255,255,255,0.06);
    outline: none;
  }
  .mycol-btn {
    background: transparent;
    border: none;
    color: var(--amber);
    cursor: pointer;
    font-size: 13px;
    vertical-align: middle;
    margin-left: 2px;
  }
  #saveStatus { font-size: 12px; color: var(--green); }
  .file-label {
    display: inline-flex;
    align-items: center;
  }
  .board-cell.is-keeper {
    background: rgba(245,185,66,0.12);
    box-shadow: inset 0 0 0 1px var(--amber);
  }
  .keeper-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: #0f1420;
    background: var(--amber);
    border-radius: 4px;
    padding: 1px 4px;
    margin-top: 2px;
  }
  .pop-keeper-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--muted);
    margin: 2px 0 8px;
  }
  .pop-current {
    font-size: 12px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 6px 8px;
    margin-bottom: 8px;
  }
  .keeper-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    background: var(--panel2);
    font-size: 12.5px;
    margin-bottom: 4px;
  }
  .keeper-row .kr-team { color: var(--muted); font-size: 11px; }
  .chat-log { background: var(--panel); border:1px solid var(--border); border-radius:10px; padding:14px; height:520px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; resize: vertical; min-height:150px; max-height:85vh; }
  .chat-log.compact { height:260px; }
  .chat-log.expanded { height:75vh; }
  .chat-expand-toggle { font-size:11.5px; color: var(--accent); cursor:pointer; user-select:none; }
  .chat-expand-toggle:hover { text-decoration:underline; }
  .chat-msg { max-width: 85%; padding:9px 12px; border-radius:10px; font-size:13.5px; line-height:1.5; }
  .chat-msg.user { align-self:flex-end; background: var(--accent); color:#fff; }
  .chat-msg.assistant { align-self:flex-start; background: var(--panel2); border:1px solid var(--border); }
  .chat-msg.system { align-self:center; color: var(--muted); font-size:12px; font-style:italic; background:transparent; }
  .chat-msg .cites { margin-top:6px; display:flex; flex-direction:column; gap:2px; }
  .chat-msg .cites a { color: var(--accent); font-size:11.5px; text-decoration:none; }
  .chat-msg .cites a:hover { text-decoration:underline; }
  .chat-input-row { display:flex; gap:8px; margin-top:10px; }
  .chat-input-row input { flex:1; }
  .chat-send-btn { background: var(--accent); border:none; color:#fff; padding:8px 16px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; }
  .chat-send-btn:disabled { opacity:0.5; cursor:default; }
  .chat-setup { background: var(--panel); border:1px solid var(--border); border-radius:10px; padding:18px; max-width:560px; }
  .chat-setup input[type="password"] { width:100%; margin: 10px 0; }
  .chat-setup .small-link { font-size:12px; }
  .chat-warn { padding:10px 14px; border-radius:8px; background:rgba(239,91,91,0.12); border:1px solid rgba(239,91,91,0.35); color:var(--red); font-size:13px; margin-bottom:14px; }
  .ask-claude-link { font-size:10.5px; color: var(--accent); cursor:pointer; margin-left:6px; white-space:nowrap; }
  .ask-claude-link:hover { text-decoration:underline; }
  .news-item { padding: 10px 0; border-bottom: 1px solid var(--border); }
  .news-item:last-child { border-bottom: none; }
  .news-item .ni-title { font-size: 13.5px; font-weight: 600; color: var(--text); }
  .news-item .ni-title a { color: inherit; text-decoration: none; }
  .news-item .ni-title a:hover { text-decoration: underline; }
  .news-item .ni-meta { font-size: 11px; color: var(--muted); margin: 2px 0 4px; }
  .news-item .ni-desc { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
  .watch-star { cursor:pointer; margin-right:5px; color: var(--muted); font-size:14px; user-select:none; }
  .watch-star.active { color: var(--amber); }
  .watch-star:hover { color: var(--amber); }
  #watchedOnlyBtn.active { color: var(--amber); border-color: var(--amber); }

  /* ---------------- Season KPI-grid UI (ported from fantasy_strategy_center_v5's season_engine.css) ---------------- */
  /* One uniform content cap across every tab so the left/right edges line up
     identically on all screen sizes. .layout is also 1400 (see above); keep all
     three view types in sync. */
  .wide-view { padding: 16px 24px 40px; max-width: 1400px; margin: 0 auto; }
  .season-view { padding: 16px 24px 40px; max-width: 1400px; margin: 0 auto; }
  .season-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
  .season-toolbar select,.season-toolbar input,.season-toolbar textarea { background:var(--panel); color:var(--text); border:1px solid var(--border); border-radius:7px; padding:6px 8px; font-size:12px; }
  .season-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px; }
  .season-card { background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:12px; min-width:0; }
  .season-card h3 { margin:0 0 9px; font-size:14px; }
  .season-card h4 { margin:0 0 6px; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
  .sg-12{grid-column:span 12}.sg-8{grid-column:span 8}.sg-6{grid-column:span 6}.sg-4{grid-column:span 4}.sg-3{grid-column:span 3}
  .season-kpi { font-size:25px; font-weight:800; line-height:1.1; }
  .season-kpi-label { color:var(--muted); font-size:11px; margin-top:4px; }
  .season-positive{color:var(--green)}.season-negative{color:var(--red)}.season-warn{color:var(--amber)}
  .season-muted{color:var(--muted)}
  .season-pill { display:inline-flex; align-items:center; gap:4px; border:1px solid var(--border); background:rgba(255,255,255,.025); border-radius:999px; padding:3px 7px; font-size:11px; margin:2px 3px 2px 0; }
  .season-action { border-left:3px solid var(--accent); padding:8px 9px; margin:7px 0; background:rgba(91,141,239,.07); border-radius:0 7px 7px 0; font-size:12px; line-height:1.45; }
  .season-action.good{border-left-color:var(--green);background:rgba(62,207,142,.07)}
  .season-action.warn{border-left-color:var(--amber);background:rgba(245,185,66,.07)}
  .season-action.bad{border-left-color:var(--red);background:rgba(239,91,91,.07)}
  .season-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}
  .season-table{width:100%;border-collapse:collapse;font-size:11.5px;white-space:nowrap}
  .season-table th{position:sticky;top:0;background:var(--panel);color:var(--muted);text-align:left;padding:7px;border-bottom:1px solid var(--border);z-index:1}
  .season-table td{padding:7px;border-bottom:1px solid var(--border);vertical-align:middle}
  .season-table tr:last-child td{border-bottom:none}.season-table tr:hover td{background:rgba(255,255,255,.025)}
  .season-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}
  .season-data-status{font-size:11px;color:var(--muted);line-height:1.5}
  .power-row{display:grid;grid-template-columns:30px minmax(120px,1fr) repeat(6,70px);gap:6px;align-items:center;font-size:11.5px;padding:6px 0;border-bottom:1px solid var(--border)}
  .power-row.head{color:var(--muted);font-size:10px;font-weight:700}.power-row:last-child{border-bottom:none}
  .lineup-slot-tag{display:inline-block;min-width:38px;text-align:center;padding:2px 5px;border-radius:5px;border:1px solid var(--border);font-size:10px;color:var(--muted)}
  .lineup-compare td,.lineup-compare th{vertical-align:top}
  .lineup-compare .lineup-diff{background:rgba(90,170,255,.10);border-radius:5px}
  .lineup-diff-dot{color:var(--accent);font-size:9px;vertical-align:middle}
  .lineup-total-row td{border-top:2px solid var(--border);padding-top:8px}
  .season-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .season-form-grid label{font-size:11px;color:var(--muted)}.season-form-grid select{width:100%;margin-top:3px}
  .trade-result{font-size:12px;line-height:1.55;padding:10px;border:1px solid var(--border);border-radius:8px;margin-top:8px}
  @media(max-width:900px){.sg-8,.sg-6,.sg-4,.sg-3{grid-column:span 12}.season-grid{gap:8px}.season-view{padding:12px}}

  /* ---------------- Draft Prep / In Season workspace selector ---------------- */
  .workspace-switcher{display:flex;align-items:center;gap:7px;min-width:178px;padding:4px 7px 4px 10px;background:var(--panel);border:1px solid var(--border);border-radius:9px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap}
  .workspace-switcher select{min-height:34px;max-width:110px;padding:4px 24px 4px 8px;border:0;border-radius:6px;background:var(--panel2);color:var(--text);font-size:12.5px;font-weight:750;text-transform:none;letter-spacing:0;cursor:pointer}
  .workspace-switcher select:focus{outline:1px solid var(--accent)}
  .workspace-status{color:var(--green);font-size:10px;text-transform:none;letter-spacing:0}

/* v15 — Draft Strategy / NFLverse */
/* Draft-strategy cells: one aligned row per position, columns line up across
   the Expected-tier and Cost-of-waiting cells for easy cross-reference. */
.strat-poscol{display:flex;flex-direction:column;gap:2px;min-width:196px;font-size:11px;line-height:1.3}
.strat-posrow{display:flex;align-items:center;gap:6px;padding:2px 3px;border-radius:5px}
.strat-posrow:hover{background:rgba(255,255,255,.04)}

.strat-wait-detail{margin:0;padding:0;border:0}
.strat-wait-detail>summary{list-style:none;cursor:pointer;touch-action:manipulation}
.strat-wait-detail>summary::-webkit-details-marker{display:none}
.strat-wait-detail[open]>summary{background:rgba(255,255,255,.05)}
.strat-info{margin-left:auto;color:var(--muted);font-size:11px}
.strat-wait-evidence{margin:2px 3px 6px 37px;padding:6px 8px;border-left:2px solid var(--border);font-size:10.5px;line-height:1.55;color:var(--muted);background:rgba(0,0,0,.10);border-radius:0 5px 5px 0}
.strat-wait-evidence b{color:var(--text);font-weight:600}
.strat-posrow .pos-badge{font-size:10px;padding:1px 0;min-width:30px;text-align:center}
.strat-tierpath{min-width:82px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.tier-arrow{margin:0 2px;opacity:.55}
.tier-move{font-weight:700;font-size:10px}
.tier-move.worse{color:var(--red)}
.tier-move.better{color:var(--green)}
.tier-move.flat{color:var(--muted)}
.strat-who{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}
.strat-who.same{color:var(--green);flex:0 1 auto}
.strategy-uncertainty{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap}
.risk-chip{min-width:72px;text-align:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.risk-low{background:rgba(62,207,142,.16);color:var(--green)}
.risk-med{background:rgba(245,185,66,.16);color:var(--amber)}
.risk-high{background:rgba(239,91,91,.16);color:var(--red)}
.risk-vhigh{background:rgba(239,91,91,.30);color:#ffb3b3}
.strat-vor{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.strat-vor-unit{font-weight:500;color:var(--muted);font-size:9.5px;margin-left:2px}
#strategyView{grid-template-columns:minmax(0,1fr) minmax(340px,400px);grid-template-areas:"banner banner" "current current" "slot chat" "table overview";align-items:start}
#mockStrategyBanner{grid-area:banner}.current-pick-panel{grid-area:current;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.strategy-slot-panel{grid-area:slot}.strategy-chat-panel{grid-area:chat}.strategy-overview-panel{grid-area:overview}.strategy-table-scroll{grid-area:table;max-width:100%;border:1px solid var(--border);background:var(--panel)}
.current-pick-help{margin:0 0 0 auto}.strategy-table-scroll table{width:100%;min-width:900px;table-layout:fixed}.strategy-col-round{width:44px}.strategy-col-pick{width:60px}.strategy-col-targets{width:44%}.strategy-col-tier{width:23%}.strategy-col-cost{width:auto}
.strategy-target-list{display:flex;flex-direction:column;gap:4px;min-width:0}.target-chip.strategy-target-row{display:grid;grid-template-columns:30px minmax(110px,1fr) auto auto auto 22px;align-items:center;gap:5px;width:100%;max-width:100%;margin:0;padding:3px 5px;white-space:nowrap;line-height:1.2}.strategy-target-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.strategy-target-metric{color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}.strategy-target-value{font-size:10.5px;font-weight:800}.strategy-target-row .ask-claude-link{margin:0;text-align:center}.strategy-target-row .pos-badge{transform:none;margin:0}
@media(max-width:1100px){#strategyView{grid-template-columns:1fr;grid-template-areas:"banner" "current" "slot" "overview" "chat" "table"}.current-pick-help{margin-left:0}.strat-tierpath{min-width:72px}.risk-chip{min-width:60px}}

/* ---------------- Player card (click a player → news + outlook) ---------------- */
.player-link{cursor:pointer;border-bottom:1px dotted rgba(255,255,255,.28)}
.player-link-button{appearance:none;background:none;border:0;border-bottom:1px dotted rgba(255,255,255,.28);padding:0;color:inherit;font:inherit;text-align:left;line-height:inherit;vertical-align:baseline}
.player-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
#playerCardOverlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
#playerCard{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;padding:18px 20px 20px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#playerCardClose{position:absolute;top:8px;right:8px;background:var(--panel2);border:1px solid var(--border);color:var(--muted);border-radius:8px;width:44px;height:44px;cursor:pointer;font-size:15px;line-height:1}
#playerCardClose:hover{color:var(--text)}
.pc-header{margin-bottom:4px;padding-right:30px}.pc-identity{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center}
.pc-photo{width:76px;height:76px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(145deg,var(--panel2),var(--bg));display:grid;place-items:center;position:relative}.pc-photo-img,.pc-photo-fallback{grid-area:1/1;width:100%;height:100%}.pc-photo-img{display:block;object-fit:cover;object-position:center top;background:var(--panel2)}.pc-photo-fallback{display:grid;place-items:center;color:var(--muted);font-size:22px;font-weight:900;letter-spacing:.6px}.pc-photo.has-image .pc-photo-fallback{visibility:hidden}.pc-photo.image-failed .pc-photo-fallback{visibility:visible}.pc-photo.image-failed .pc-photo-img{display:none}
.pc-name{font-size:16px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pc-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.pc-pill{background:var(--panel2);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:11px;color:var(--muted)}
.pc-pill b{color:var(--text)}
.pc-section{border-top:1px solid var(--border);padding-top:11px;margin-top:11px;font-size:12.5px;line-height:1.5}
.pc-h{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px;font-weight:600}
.pc-sub{color:var(--muted);font-size:11.5px;margin-top:4px}
.pc-projgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pc-projgrid>div{background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:7px 6px;text-align:center}
.pc-projgrid .pc-lbl{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}
.pc-projgrid b{font-size:15px}
.pc-range{display:block;font-size:10px;color:var(--muted);margin-top:2px}
#playerCard .news-item{margin:0 0 9px}
@media(max-width:640px){.pc-projgrid{grid-template-columns:repeat(2,1fr)}#playerCard{padding:16px 14px}.pc-identity{grid-template-columns:62px minmax(0,1fr);gap:10px}.pc-photo{width:62px;height:62px}.pc-photo-fallback{font-size:18px}}

@media(max-width:640px){
  .toggle-btn,.pill-btn,.reset-btn,.chat-send-btn{min-height:44px}
  .action-btn{min-height:40px}
  .strat-wait-detail>summary{min-height:44px}
  #currentDraftPickInput{min-height:44px;width:92px}
}

/* v38 — shared roster inspection, player-card ownership, and live timer */
.roster-team-label{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.roster-team-select{width:100%;min-height:44px;margin-bottom:8px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--text)}
.roster-inspector-disclosure>summary{display:none}.roster-inspector-body{display:grid;gap:4px}.roster-inspector-body .roster-slot{margin:0;border-left:4px solid var(--border)}.roster-inspector-body .slot-player{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-nfl-team,.roster-pick{color:var(--muted);font-size:10.5px}.roster-empty{opacity:.72}.roster-special,.roster-byes{display:grid;gap:4px;margin-top:7px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);font-size:11px}.roster-special b,.roster-byes>b{color:var(--muted);text-transform:uppercase;letter-spacing:.35px;font-size:10px}.roster-overflow{border-color:rgba(240,180,60,.5)}.roster-unresolved{border-color:rgba(239,83,80,.45)}
.roster-pos-QB{border-left-color:#8b7cf6!important;background:rgba(139,124,246,.11)!important}.roster-pos-RB{border-left-color:#43b581!important;background:rgba(67,181,129,.11)!important}.roster-pos-WR{border-left-color:#3f8ee8!important;background:rgba(63,142,232,.11)!important}.roster-pos-TE{border-left-color:#e6a23c!important;background:rgba(230,162,60,.11)!important}.roster-pos-K{border-left-color:#d36ad8!important;background:rgba(211,106,216,.1)!important}.roster-pos-DEF{border-left-color:#e15b64!important;background:rgba(225,91,100,.1)!important}
.pc-ownership{border-left:4px solid var(--border);padding-left:10px}.pc-ownership-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.pc-ownership-line span{color:var(--muted);text-align:right}.pc-ownership-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.pc-ownership-actions button,.pc-draft-action{min-height:44px}.pc-draft-action{width:100%;margin-top:9px}
.pc-draft-action{width:auto;min-width:0;padding:7px 11px;min-height:36px}.chat-meta-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;color:var(--muted);font-size:11.5px}.chat-clear-btn{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:4px}.draft-data-disclosure>summary{cursor:pointer;font-weight:700}.draft-action-cell .action-btn{width:100%;min-height:44px}
.strategy-advice-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);font-size:11.5px}.strategy-advice-help{min-width:0}.strategy-advice-help>summary{color:var(--muted)}.strategy-advice-help-text{padding-top:5px;line-height:1.4}.strategy-advice-tools>.chat-expand-toggle{flex:0 0 auto}
.draft-status-bar{position:sticky;top:0;z-index:45;max-width:1400px;margin:8px auto 0;padding:8px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 4px 18px rgba(0,0,0,.16)}.draft-status-bar[hidden]{display:none}.draft-status-anchor{display:flex;align-items:center;gap:7px;min-width:0}.draft-status-team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-timer-display{min-width:68px;text-align:center;font-size:23px;font-weight:900;font-variant-numeric:tabular-nums}.draft-timer-display.warning{color:var(--amber)}.draft-timer-display.expired{color:var(--red);font-size:15px}.draft-timer-actions{display:flex;gap:7px}.draft-timer-actions button{min-height:44px;min-width:68px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){.strategy-roster-panel{grid-row:4}.strategy-overview-panel{grid-row:5}.strategy-chat-panel{grid-row:6}.strategy-table-scroll{grid-row:7}}
@media(max-width:640px){.roster-inspector-disclosure>summary{display:flex;align-items:center;min-height:44px;font-weight:800;cursor:pointer}.roster-inspector-disclosure:not([open]) .roster-inspector-body{display:none}.draft-status-bar{position:sticky;top:96px;grid-template-columns:minmax(0,1fr) auto;margin:4px 10px 0;padding:8px 10px;gap:7px}.draft-status-anchor{font-size:12px}.draft-status-anchor #draftStatusTeam{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-timer-display{font-size:21px}.draft-timer-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.draft-timer-actions button{width:100%}.pc-ownership-line{align-items:flex-start;flex-direction:column}.pc-ownership-line span{text-align:left}.pc-ownership-actions{display:grid;grid-template-columns:1fr 1fr}.pc-ownership-actions button{width:100%}}

/* v25 — Smart CPU mock draft */
.mock-view{max-width:1400px;margin:0 auto;padding:18px 24px 40px}.mock-view h2{margin:0 0 5px}.mock-view p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.mock-title-row,.mock-status,.mock-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.mock-free-badge,.mock-eyebrow{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.mock-setup-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:18px 0}.mock-setup-grid>label,.mock-setup-grid fieldset{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;border:0;margin:0;padding:0}.mock-setup-grid fieldset label{display:inline-flex;align-items:center;gap:5px;margin-top:5px}.mock-setup-grid select,.mock-setup-grid input{min-height:42px;background:var(--panel2);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:7px 9px}.mock-primary{min-width:180px;min-height:46px}.mock-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.mock-status h2{margin:4px 0}.mock-actions{display:flex;gap:8px;flex-wrap:wrap}.mock-player-card{display:grid;grid-template-columns:28px minmax(160px,1fr) auto 74px;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--border)}.mock-player-rank{color:var(--muted);font-weight:800;text-align:center}.mock-player-main{display:flex;flex-direction:column;gap:4px;min-width:0}.mock-player-main>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-player-main>span,.mock-player-metrics{color:var(--muted);font-size:11px}.mock-player-metrics{display:flex;gap:10px}.mock-player-metrics b{color:var(--text)}.mock-draft-btn{min-height:40px}.mock-draft-btn:disabled{opacity:.4;cursor:not-allowed}.mock-board-wrap{overflow-x:auto}.mock-board-grid{display:grid;grid-template-columns:repeat(var(--mock-teams),minmax(100px,1fr));gap:5px;min-width:max-content}.mock-board-pick{width:105px;min-height:66px;padding:6px;border:1px solid var(--border);background:var(--panel2);border-radius:6px;display:flex;flex-direction:column;gap:3px}.mock-board-pick.mine{border-color:var(--green);background:rgba(62,207,142,.1)}.mock-board-pick small,.mock-board-pick span{font-size:9.5px;color:var(--muted)}.mock-board-pick b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-grade{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(62,207,142,.13);border:2px solid var(--green);color:var(--green);font-size:25px;font-weight:900}.mock-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.mock-report-grid>div{padding:12px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:5px}.mock-report-grid span{color:var(--muted);font-size:10px;text-transform:uppercase}.mock-report-grid b{font-size:14px}
@media(max-width:900px){.mock-setup-grid{grid-template-columns:repeat(2,1fr)}.mock-grid{grid-template-columns:1fr}.mock-report-grid{grid-template-columns:repeat(2,1fr)}}

/* iPhone layout: compact, horizontally scrollable navigation and stacked
   Draft Assistant cards. All information is visible/tappable without hover. */
@media(max-width:640px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}body{font-size:15px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}header .sub{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.header-main{align-items:center;min-width:0}header h1{overflow-wrap:anywhere}.count-line{white-space:normal;overflow-wrap:anywhere;max-width:100%}#refreshStatus{white-space:normal}
  .tab-bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:5px 10px;background:var(--bg);margin-top:8px;overflow:hidden}.tab-links{gap:3px;scroll-snap-type:x proximity}.tab-btn{scroll-snap-align:start;flex:0 0 auto;padding:9px 10px;min-height:44px;white-space:nowrap}.workspace-switcher{position:static;z-index:2;min-width:0;padding:4px;gap:4px}.workspace-switcher>span:first-child{display:none}.workspace-switcher select{max-width:104px;min-height:36px}.workspace-status{max-width:16px;overflow:hidden}
  #strategyView{width:100%;max-width:100%;overflow:hidden;grid-template-areas:"banner" "current" "slot" "overview" "chat" "table"}#strategyView>*{min-width:0;max-width:100%}.current-pick-panel{display:grid;grid-template-columns:1fr auto;align-items:center}.current-pick-panel>label{grid-column:1}.current-pick-panel>#currentDraftPickInput{grid-column:1}.current-pick-panel>#saveCurrentDraftPickBtn{grid-column:2;grid-row:2}.current-pick-help{grid-column:1/-1}#currentDraftPickInput{width:100%!important;min-width:0}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-btn{min-width:0;min-height:48px}.overview-line{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.panel{max-width:100%;min-width:0;overflow:hidden}
  #rankingsView td::before{content:attr(data-label)!important}
  #strategyView .strategy-table-scroll{overflow:visible}#strategyView table{display:block;min-width:0}#strategyView thead{display:none}#strategyView tbody{display:grid;gap:10px}#strategyView tbody tr{display:grid;grid-template-columns:1fr auto;background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:12px;gap:9px;box-shadow:0 3px 12px rgba(0,0,0,.12)}#strategyView tbody td{display:block!important;min-width:0!important;padding:0;border:0}#strategyView tbody td:nth-child(1){font-size:12px;color:var(--accent);font-weight:800}#strategyView tbody td:nth-child(2){text-align:right;font-size:14px;font-weight:800}#strategyView tbody td:nth-child(3),#strategyView tbody td:nth-child(4),#strategyView tbody td:nth-child(5){grid-column:1/-1}#strategyView tbody td:nth-child(3)::before,#strategyView tbody td:nth-child(4)::before,#strategyView tbody td:nth-child(5)::before{display:block;margin:7px 0 6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}#strategyView tbody td:nth-child(3)::before{content:'Targets now'}#strategyView tbody td:nth-child(4)::before{content:'Expected next pick'}#strategyView tbody td:nth-child(5)::before{content:'Cost of waiting'}
  .target-chip.strategy-target-row{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto 24px;min-height:44px;margin:0!important;padding:6px!important;white-space:normal!important;line-height:1.3}.strategy-target-name{grid-column:2;grid-row:1;font-size:13px}.strategy-target-name+.strategy-target-metric{grid-column:2;grid-row:2}.strategy-target-name+.strategy-target-metric+.strategy-target-metric{grid-column:3;grid-row:2}.strategy-target-value{grid-column:3;grid-row:1}.strategy-target-row .ask-claude-link{grid-column:4;grid-row:1/3}.strat-poscol{min-width:0;width:100%;gap:5px}.strat-posrow{min-height:44px;background:rgba(255,255,255,.025);padding:7px}.strat-wait-evidence{margin-left:0;font-size:12px}.strat-info{font-size:13px}.strategy-uncertainty{white-space:normal}
  .mock-view{padding:12px}.mock-title-row,.mock-status,.mock-section-heading{align-items:flex-start;flex-direction:column}.mock-setup-grid{grid-template-columns:1fr 1fr}.mock-primary{width:100%}.mock-player-card{grid-template-columns:28px minmax(0,1fr) 72px}.mock-player-metrics{grid-column:2/3;flex-wrap:wrap}.mock-draft-btn{grid-column:3;grid-row:1/3;min-height:48px}.mock-report-grid{grid-template-columns:1fr 1fr}.mock-actions{width:100%}.mock-actions button{flex:1;min-height:44px}

  #rankingsView{width:100%;max-width:100%;overflow:hidden}#rankingsView>div{min-width:0}#rankingsView .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#rankingsView #search,#rankingsView .pos-filters{grid-column:1/-1;width:100%;min-width:0}#rankingsView .pos-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}#rankingsView .pos-filters .pill-btn{min-width:0;padding:7px 5px}#rankingsView .controls>button{width:100%;min-width:0;margin:0;padding:7px 6px;white-space:normal}#rankingsView .table-scroll{overflow:visible}#rankingsView table{display:block;min-width:0;background:transparent;overflow:visible}#rankingsView thead{display:none}#rankingsView tbody{display:grid;gap:10px}#rankingsView tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:12px;opacity:1}#rankingsView tbody td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere}#rankingsView tbody td::before{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}#rankingsView tbody td:nth-child(1)::before{content:'ADP'}#rankingsView tbody td:nth-child(2)::before{content:'Tier'}#rankingsView tbody td:nth-child(4)::before{content:'Team'}#rankingsView tbody td:nth-child(5)::before{content:'Bye'}#rankingsView tbody td:nth-child(6)::before{content:'Position'}#rankingsView tbody td:nth-child(7)::before{content:'Pos rank'}#rankingsView tbody td:nth-child(8)::before{content:'Expert rank'}#rankingsView tbody td:nth-child(9)::before{content:'Value'}#rankingsView tbody td:nth-child(10)::before{content:'League pts'}#rankingsView tbody td:nth-child(11)::before{content:'League rank'}#rankingsView tbody td:nth-child(3){grid-column:1/-1;grid-row:1;font-size:17px;line-height:1.3;padding-bottom:9px;border-bottom:1px solid var(--border)}#rankingsView tbody td:nth-child(3)::before{content:'Player'}#rankingsView tbody td:nth-child(12){grid-column:1/-1}#rankingsView tbody td:nth-child(12) .action-btn{width:100%;min-height:44px;margin:0}#rankingsView tr.is-taken{opacity:.42}

  .season-view,.season-grid,.season-grid>*,.season-card,.season-table-wrap,.table-scroll{min-width:0;max-width:100%}.season-table-wrap,.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.season-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.season-toolbar>label,.season-toolbar>input,.season-toolbar>button{width:100%;min-width:0}.season-toolbar>.season-data-status,.season-toolbar>.count-line,.season-toolbar>.pos-filters{grid-column:1/-1}.season-form-grid{grid-template-columns:1fr}.power-row{min-width:720px}.depth-grid{grid-template-columns:1fr}
  .decision-table{display:block;min-width:0;white-space:normal;background:transparent}.decision-table thead{display:none}.decision-table tbody{display:grid;gap:10px}.decision-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;background:var(--panel2);border:1px solid var(--border);border-radius:10px}.decision-table tbody td{display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}.decision-table tbody td::before{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.waiver-decision-table tbody td:nth-child(1)::before{content:'Add'}.waiver-decision-table tbody td:nth-child(2)::before{content:'Drop'}.waiver-decision-table tbody td:nth-child(3)::before{content:'Week'}.waiver-decision-table tbody td:nth-child(4)::before{content:'Next 3'}.waiver-decision-table tbody td:nth-child(5)::before{content:'ROS'}.waiver-decision-table tbody td:nth-child(6)::before{content:'Playoffs'}.waiver-decision-table tbody td:nth-child(7)::before{content:'Strategy'}.waiver-decision-table tbody td:nth-child(7),.waiver-decision-table tbody td:nth-child(8){grid-column:1/-1}.waiver-decision-table tbody td:nth-child(8) button{width:100%;min-height:44px}.trade-finder-table tbody td:nth-child(1)::before{content:'Fit'}.trade-finder-table tbody td:nth-child(2)::before{content:'Partner'}.trade-finder-table tbody td:nth-child(3)::before{content:'You give'}.trade-finder-table tbody td:nth-child(4)::before{content:'You get'}.trade-finder-table tbody td:nth-child(5)::before{content:'Your ROS'}.trade-finder-table tbody td:nth-child(6)::before{content:'Their ROS'}.trade-finder-table tbody td:nth-child(7)::before{content:'Your playoffs'}.trade-finder-table tbody td:nth-child(3),.trade-finder-table tbody td:nth-child(4){grid-column:1/-1}
}

/* v21 AI provider / compare controls */
.ai-mode-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 9px;font-size:11.5px;color:var(--muted)}
.ai-mode-row label{font-weight:700;color:var(--text)}
.ai-mode-row select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-size:12px}
.ai-mode-row select option:disabled{color:var(--muted)}
.ai-provider-status{font-size:10.5px;color:var(--muted)}
.inline-cite{margin-left:2px;font-size:10px}.inline-cite a{color:var(--accent);text-decoration:none}.cites a{display:block;margin-top:4px;color:var(--accent);overflow-wrap:anywhere}
.ai-compare-breakdown{margin:6px 0 10px 22px;max-width:calc(100% - 22px);font-size:11.5px;color:var(--muted)}
.ai-compare-breakdown details{border:1px solid var(--border);border-radius:7px;background:var(--panel2);margin:5px 0;overflow:hidden}
.ai-compare-breakdown summary{cursor:pointer;padding:6px 8px;color:var(--accent);font-weight:700}
.ai-compare-breakdown details>div{padding:0 8px 8px;line-height:1.5;color:var(--text)}

.ai-research-toggle{display:inline-flex;align-items:center;gap:4px;font-weight:600!important;color:var(--muted)!important;cursor:pointer;white-space:nowrap}.ai-research-toggle input{accent-color:var(--accent);margin:0}.ai-research-toggle.disabled{opacity:.45;pointer-events:none}

/* v26 Draft Data source controls */
.draft-source-health>summary{min-height:40px;display:flex;align-items:center;color:var(--accent);font-size:11.5px;font-weight:700;cursor:pointer}
.draft-data-source{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(150px,1.5fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:11px}.draft-data-source>span{color:var(--muted)}.draft-data-source input{width:44px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px}@media(max-width:600px){.draft-data-source{grid-template-columns:1fr auto}.draft-data-source>span{grid-column:1/-1;grid-row:2}.draft-data-source label{grid-column:1}.draft-data-source button{grid-column:2}}

/* v34 Settings and isolated mock strategy context */
.settings-view{max-width:1100px}.settings-heading{margin-bottom:14px}.settings-heading h2{margin:0 0 5px}.settings-heading p,.settings-help{color:var(--muted);font-size:12px;line-height:1.55}.settings-help b{color:var(--text)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-grid .panel{margin:0}.settings-grid>.settings-wide{grid-column:1/-1}.settings-wide>details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--text);font-size:14px;font-weight:800}.settings-data-tools,.settings-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.settings-tool{min-width:0;padding:12px;background:var(--panel2);border:1px solid var(--border);border-radius:9px}.settings-tool h3{margin:0 0 8px}.settings-tool input[type="text"],.settings-tool input[type="file"],.settings-tool textarea{width:100%;max-width:100%;margin:0 0 7px;padding:8px 9px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:7px}.settings-tool textarea{min-height:88px;resize:vertical}.settings-tool pre{max-width:100%;overflow-x:auto;margin:7px 0;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:10.5px}.settings-file-label{display:block;margin:7px 0 4px;color:var(--muted);font-size:11px}.settings-file-info{margin-bottom:6px;color:var(--accent);font-size:10.5px}.settings-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-inline-actions label{color:var(--muted);font-size:11px}.settings-inline-actions input{width:58px;min-height:36px;margin-left:4px;padding:5px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}.settings-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.settings-fields label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.settings-fields input{width:100%;min-height:42px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--text)}.weight-example{margin:-2px 0 12px;padding:9px 10px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:rgba(91,141,239,.08);color:var(--muted);font-size:11.5px;line-height:1.5}.weight-example b{color:var(--text)}.settings-toggle{display:flex;align-items:center;gap:9px;min-height:44px;font-weight:700}.settings-toggle input{width:20px;height:20px;accent-color:var(--accent)}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.mock-strategy-banner{grid-column:1/-1;padding:10px 13px;border:1px solid rgba(62,207,142,.45);border-radius:9px;background:rgba(62,207,142,.1);color:var(--green);font-size:12px;font-weight:700}.mock-strategy-banner button{float:right;margin-left:10px}.draft-data-source .source-weight-readonly{color:var(--text);font-weight:700;white-space:nowrap}
.draft-refresh-primary{width:100%;min-height:44px;margin-bottom:8px;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800}.draft-freshness-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0 0 8px}.freshness-chip{display:flex;justify-content:space-between;gap:6px;min-width:0;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);font-size:10px}.freshness-chip b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.freshness-chip span{color:var(--muted);white-space:nowrap}.freshness-chip.fresh span{color:var(--green)}.freshness-chip.aging span{color:var(--amber)}.freshness-chip.missing span{color:var(--muted)}
.settings-source-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,auto) auto auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:11px}.settings-source-row>span{color:var(--muted)}.settings-source-row input{width:64px;min-height:38px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px}
@media(max-width:700px){.settings-grid,.settings-data-tools,.settings-reference-grid{grid-template-columns:1fr}.settings-fields{grid-template-columns:1fr}.settings-view{padding:12px}.mock-strategy-banner button{float:none;display:block;margin:8px 0 0;width:100%}.settings-source-row{grid-template-columns:1fr auto}.settings-source-row>span{grid-column:1/-1}}

/* v37 — two-tier navigation, independent Draft Assistant columns, and a
   page-scoped wide Draft Board. Kept last so release rules override legacy
   navigation and responsive declarations without broad refactoring. */
html,body{width:100%;max-width:100%}
body{overflow-x:clip}
@supports not (overflow:clip){body{overflow-x:hidden}}
.tab-bar{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}
.workspace-nav{display:flex;align-items:center;gap:4px;flex:0 0 auto;min-width:0;white-space:nowrap}
.workspace-btn{position:relative;min-height:44px;padding:10px 9px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.workspace-btn.active,.workspace-btn[aria-pressed="true"]{color:var(--accent);border-bottom-color:var(--accent);font-weight:850}
.workspace-btn:focus-visible,.tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.workspace-status{display:inline-flex;align-items:center;justify-content:center;min-width:16px;color:var(--green);font-size:12px;text-transform:none;letter-spacing:0}
.nav-divider{width:1px;height:26px;flex:0 0 1px;background:var(--border)}
.page-nav{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.page-nav::-webkit-scrollbar{display:none}
.tab-btn.active,.tab-btn[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}

#strategyView{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"banner banner" "left right";align-items:start}
#mockStrategyBanner{grid-area:banner}
.strategy-left-column{grid-area:left;display:flex;flex-direction:column;min-width:0}
.strategy-right-column{grid-area:right;display:flex;flex-direction:column;min-width:0}
.strategy-left-column>*:last-child,.strategy-right-column>*:last-child{margin-bottom:0}
.strategy-table-scroll{max-width:100%;border:1px solid var(--border);background:var(--panel)}

#boardView{width:100%;max-width:none;padding-left:24px;padding-right:24px}
#boardView .board-scroll{max-width:100%}
#boardView table.board-table{width:100%;min-width:1240px;table-layout:fixed}
#boardView table.board-table th:not(.round-label),#boardView .board-cell{min-width:0}
#boardView table.board-table th.round-label,#boardView table.board-table td.round-label{width:44px}
#rankingsView>*{min-width:0}

.settings-tool-wide{grid-column:1/-1}
.custom-data-source-list{display:grid;gap:8px;margin:10px 0}
.custom-data-source-row{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;gap:8px;align-items:center;padding:10px;background:var(--panel2);border:1px solid var(--border);border-radius:8px}
.custom-data-source-row>span{color:var(--muted);font-size:11px}
.custom-data-source-row label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}
.custom-data-source-row input{width:58px;min-height:36px;padding:5px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}

@media(max-width:1100px){
  #strategyView{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  #strategyView>.strategy-left-column,#strategyView>.strategy-right-column{display:contents}
  #mockStrategyBanner{grid-column:1;grid-row:1}.current-pick-panel{grid-column:1;grid-row:2}.strategy-slot-panel{grid-column:1;grid-row:3}.strategy-roster-panel{grid-column:1;grid-row:4;width:auto}.strategy-overview-panel{grid-column:1;grid-row:5;width:auto}.strategy-chat-panel{grid-column:1;grid-row:6;width:auto}.strategy-table-scroll{grid-column:1;grid-row:7;width:auto}
}

@media(max-width:640px){
  .tab-bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:0;padding:4px 10px;background:var(--bg);margin-top:8px;overflow:hidden}
  .workspace-nav{grid-row:1;width:100%;min-width:0;overflow:hidden}
  .workspace-btn{flex:0 0 auto;min-height:44px;padding:9px 10px}
  .workspace-status{margin-left:2px;flex:0 0 16px;max-width:16px;overflow:hidden}
  .nav-divider{display:none}
  .page-nav{grid-row:2;width:100%;max-width:100%;min-width:0;gap:3px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
  .page-nav .tab-btn{scroll-snap-align:start;flex:0 0 auto;padding:9px 10px;min-height:44px;white-space:nowrap}
  #strategyView{width:100%;max-width:100%;overflow:hidden;grid-template-areas:none}
  #strategyView>*{min-width:0;max-width:100%}
  #boardView{padding-left:12px;padding-right:12px}
  .custom-data-source-row{grid-template-columns:minmax(0,1fr) auto}.custom-data-source-row>span{grid-column:1/-1}.custom-data-source-row label{grid-column:1/-1;justify-content:space-between}.custom-data-source-row .reset-btn{grid-column:2;grid-row:1}
}
