:root{
    --bg:#0B0D12;
    --panel:#121722;
    --panel-hover:#182030;
    --glass:rgba(18,23,34,.88);
    --glass-strong:rgba(24,32,48,.94);
    --glass-border:rgba(255,255,255,.08);

    --cyan:#4F8CFF;
    --violet:#8E7CFF;
    --pink:#D7B56D;
    --green:#45D48A;
    --amber:#D7B56D;
    --red:#EE6A74;

    --text:#F4F1E8;
    --dim:#9298A6;

    --brand-glow:rgba(79,140,255,.18);
    --violet-glow:rgba(142,124,255,.14);
  }
  *{ box-sizing:border-box; }
  html,body{
    margin:0; padding:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    min-height:100vh;
    overflow-x:hidden;
  }
  .stage{ position:relative; min-height:100vh; padding:36px 40px 60px; }
  .blob{ position:fixed; border-radius:50%; filter:blur(90px); opacity:0.32; pointer-events:none; z-index:0; }
  .blob.b1{ width:520px;height:520px; background:var(--violet); top:-190px; left:-130px; animation:drift1 22s ease-in-out infinite; opacity:.18; }
  .blob.b2{ width:460px;height:460px; background:var(--cyan); bottom:-170px; right:-110px; animation:drift2 26s ease-in-out infinite; opacity:.18; }
  .blob.b3{ width:340px;height:340px; background:var(--violet); top:38%; right:8%; opacity:.08; animation:drift1 30s ease-in-out infinite reverse; }
  @keyframes drift1{ 0%,100%{ transform:translate(0,0);} 50%{ transform:translate(40px,60px);} }
  @keyframes drift2{ 0%,100%{ transform:translate(0,0);} 50%{ transform:translate(-50px,-30px);} }

  .content{ position:relative; z-index:1; max-width:1180px; margin:0 auto; }

  header{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:30px; }
  .logo{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:28px; letter-spacing:-0.02em; }
  .logo span{ color:var(--cyan); }
  .tagline{ color:var(--dim); font-size:13px; margin-top:4px; }
  .pill{
    display:flex; align-items:center; gap:8px;
    background:var(--glass); border:1px solid var(--glass-border);
    backdrop-filter:blur(14px); padding:8px 16px; border-radius:100px;
    font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.08em; color:var(--dim);
  }
  .dot{ width:8px;height:8px;border-radius:50%; background:var(--dim); transition:background .3s, box-shadow .3s; }
  .dot.ok{ background:var(--green); box-shadow:0 0 10px var(--green); }
  .dot.warn{ background:var(--amber); box-shadow:0 0 10px var(--amber); }
  .dot.err{ background:var(--red); box-shadow:0 0 10px var(--red); }

  /* two-column home layout */
  .home-layout{ display:grid; grid-template-columns: minmax(320px, 420px) 1fr; gap:26px; align-items:start; }
  .col-assistant{ position:sticky; top:20px; }
  .standalone-banner{display:none;margin:0 0 16px;padding:12px 14px;border:1px solid var(--glass-border);border-radius:14px;background:var(--glass);font-size:12px;color:var(--dim)}
  .standalone-banner b{color:var(--cyan)}
  body.standalone-mode .home-layout{grid-template-columns:1fr;}
  body.standalone-mode .col-assistant{display:none;}
  body.standalone-mode #espnSyncHead,
  body.standalone-mode #espnSyncRow,
  body.standalone-mode #askAboutBoardBtn,
  body.standalone-mode .pc-ask,
  
  body.standalone-mode #standaloneBanner{display:block;}
  body.standalone-mode .col-draft{min-width:0;}

  @media (max-width:980px){
    .home-layout{ grid-template-columns:1fr; }
    .col-assistant{ position:static; }
  }

  .needs-strip{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
  .need-pill{
    display:flex; align-items:center; gap:6px;
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(12px);
    border-radius:100px; padding:6px 12px; font-family:'JetBrains Mono', monospace; font-size:11px;
  }
  .need-pill b{ font-weight:700; }
  .need-pill.short{ border-color:var(--red); color:var(--red); }
  .need-pill.ok{ color:var(--dim); }
  .pick-suggested{ grid-column: 1 / -1; }
  .pick-suggested .pc-reason{ font-size:11px; color:var(--cyan); margin-top:4px; }

  /* draft position simulator */
  .draft-setup-row{
    display:flex; gap:18px; flex-wrap:wrap; align-items:center; margin-bottom:12px;
    font-size:12px; color:var(--dim);
  }
  .draft-setup-row label{ display:flex; align-items:center; gap:8px; }
  .draft-setup-row select, .draft-setup-row input{
    background:rgba(255,255,255,0.05); border:1px solid var(--glass-border); color:var(--text);
    padding:6px 9px; border-radius:8px; font-size:12.5px; width:64px;
  }
  .roster-list{
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(14px);
    border-radius:14px; overflow:hidden; margin-bottom:24px;
  }
  .roster-row{
    display:flex; align-items:center; gap:12px; padding:11px 16px;
    border-bottom:1px solid rgba(255,255,255,0.04);
  }
  .roster-row:last-child{ border-bottom:none; }
  .roster-row.locked{ background:rgba(61,220,151,0.05); }
  .roster-round{ font-family:'JetBrains Mono', monospace; color:var(--dim); font-size:11px; width:76px; flex-shrink:0; }
  .roster-player{ flex:1; font-weight:600; display:flex; align-items:center; gap:8px; }
  .roster-player.empty{ color:var(--dim); font-weight:400; font-style:italic; }
  .roster-tag{ font-size:10px; font-weight:700; padding:4px 9px; border-radius:100px; flex-shrink:0; }
  .roster-tag.locked{ background:rgba(61,220,151,0.18); color:var(--green); }
  .roster-tag.projected{ background:rgba(45,212,232,0.18); color:var(--cyan); }

  .hero{ display:flex; flex-direction:column; align-items:center; margin:10px 0 30px; }

  .avatar-stage{ position:relative; width:180px; height:180px; --state-color: #0f5b66; }

  .avatar-glow{
    position:absolute; inset:0; border-radius:50%;
    background:radial-gradient(circle at 50% 45%, var(--state-color), transparent 70%);
    opacity:0.35; filter:blur(10px); animation:pulse 3.4s ease-in-out infinite;
  }
  @keyframes pulse{ 0%,100%{ transform:scale(1); opacity:0.28;} 50%{ transform:scale(1.08); opacity:0.4;} }

  .avatar-center{
    position:absolute; top:50%; left:50%; width:104px; height:104px; margin:-52px 0 0 -52px;
    transition:opacity .25s ease, transform .25s ease;
  }
  .avatar-center.hide{ opacity:0; transform:scale(.6); pointer-events:none; }

  .bubble-icon{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-size:44px; opacity:0; transition:opacity .25s ease;
    filter: drop-shadow(0 0 10px var(--state-color));
  }
  .bubble-icon.show{ opacity:1; }

  .orbit-ring{
    position:absolute; inset:0; opacity:0; transition:opacity .25s ease;
    animation: orbit-spin 2.4s linear infinite; animation-play-state:paused;
  }
  .orbit-ring.show{ opacity:1; animation-play-state:running; }
  @keyframes orbit-spin{ from{ transform:rotate(0deg);} to{ transform:rotate(360deg);} }

  .orbit-avatar-pos{
    position:absolute; top:2px; left:50%; width:46px; height:46px; margin-left:-23px;
    animation: counter-spin 2.4s linear infinite; animation-play-state:paused;
  }
  .orbit-ring.show .orbit-avatar-pos{ animation-play-state:running; }
  @keyframes counter-spin{ from{ transform:rotate(0deg);} to{ transform:rotate(-360deg);} }

  .avatar-img{
    width:100%; height:100%; object-fit:cover; border-radius:50%; display:block;
    border:2px solid var(--state-color); box-shadow:0 0 14px var(--state-color);
  }

  .hero-status{ font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:18px; margin-top:14px; }

  .chat-panel{
    background:var(--glass); border:1px solid var(--glass-border);
    backdrop-filter:blur(18px); border-radius:18px;
    padding:18px 20px; max-height:320px; overflow-y:auto;
    display:flex; flex-direction:column; gap:10px; margin-bottom:14px;
  }
  .msg{ display:flex; }
  .msg.user{ justify-content:flex-end; }
  .msg.assistant{ justify-content:flex-start; }
  .bubble{
    max-width:75%; padding:10px 14px; border-radius:14px; font-size:13.5px; line-height:1.45;
    white-space:pre-wrap;
  }
  .msg.user .bubble{ background:linear-gradient(135deg, var(--cyan), var(--violet)); color:#07081a; font-weight:500; }
  .msg.assistant .bubble{ background:rgba(255,255,255,0.06); border:1px solid var(--glass-border); }
  .msg.system .bubble{ background:transparent; color:var(--dim); font-size:12px; border:1px dashed var(--glass-border); }

  .composer{
    background:var(--glass); border:1px solid var(--glass-border);
    backdrop-filter:blur(18px); border-radius:18px; padding:14px 16px; margin-bottom:30px;
  }
  .composer-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
  .chip{
    display:flex; align-items:center; gap:8px;
    background:rgba(255,255,255,0.05); border:1px solid var(--glass-border);
    padding:5px 10px; border-radius:100px; font-size:11.5px; color:var(--dim);
  }
  .chip span{ cursor:pointer; color:var(--red); }
  .composer-bar{ display:flex; align-items:flex-end; gap:10px; }
  textarea#chatInput{
    flex:1; background:rgba(255,255,255,0.03); border:1px solid var(--glass-border);
    border-radius:12px; color:var(--text); font-family:'Inter'; font-size:13.5px;
    padding:10px 12px; resize:none; max-height:110px;
  }
  textarea#chatInput:focus{ outline:none; border-color:var(--cyan); }
  .composer-actions{ display:flex; gap:8px; }
  .icon-btn{
    width:38px; height:38px; border-radius:10px; border:1px solid var(--glass-border);
    background:rgba(255,255,255,0.05); color:var(--text); font-size:15px; cursor:pointer;
  }
  .icon-btn:hover{ background:rgba(255,255,255,0.1); }
  .icon-btn.active{ border-color:var(--green); box-shadow:0 0 10px rgba(61,220,151,0.4); }
  .primary-btn{
    background:linear-gradient(135deg, var(--cyan), var(--violet));
    color:#07081a; font-weight:700; font-size:13px; padding:0 18px; height:38px;
    border-radius:10px; border:none; cursor:pointer;
  }
  .primary-btn:disabled{ opacity:0.5; cursor:default; }
  .ghost-btn{
    background:rgba(255,255,255,0.06); border:1px solid var(--glass-border);
    color:var(--text); font-size:12px; font-weight:600;
    padding:8px 14px; border-radius:9px; cursor:pointer;
  }
  .ghost-btn:hover{ background:rgba(255,255,255,0.12); }

  .grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .span2{ grid-column:1 / -1; }
  .card{
    position:relative; background:var(--glass); border:1px solid var(--glass-border);
    backdrop-filter:blur(18px); border-radius:18px; padding:22px 24px; overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  }
  .card::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:var(--accent, var(--cyan)); box-shadow:0 0 16px var(--accent, var(--cyan));
  }
  .card:hover{ transform:translateY(-3px); background:var(--glass-strong); box-shadow:0 18px 40px -20px rgba(0,0,0,0.6); }
  .card-head{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
  .card-icon{ font-size:17px; }
  .card-title{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.1em; color:var(--dim); text-transform:uppercase; }

  .status-card{ --accent:var(--cyan); }
  .status-row{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
  .model-name{ color:var(--dim); font-size:13px; }
  .status-sub{ color:var(--dim); font-size:11.5px; margin-top:8px; }

  .session-card{ --accent:var(--violet); }
  .big-num{ font-family:'Space Grotesk', sans-serif; font-size:44px; font-weight:700; color:var(--violet); line-height:1; }
  .sub{ color:var(--dim); font-size:13px; margin-top:6px; }
  .uptime{ color:var(--dim); font-family:'JetBrains Mono', monospace; font-size:12px; margin-top:14px; }

  .files-card{ --accent:var(--green); }
  .files-toolbar{ display:flex; gap:8px; margin-bottom:16px; }
  .file-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .file-tile{ background:rgba(255,255,255,0.03); border:1px solid var(--glass-border); border-radius:12px; padding:14px 16px; position:relative; }
  .file-tile::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; border-radius:12px 0 0 12px; background:var(--tile-accent); }
  .file-name{ font-size:12px; color:var(--dim); display:flex; justify-content:space-between; gap:8px; }
  .file-name b{ color:var(--text); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .file-name span{ cursor:pointer; flex-shrink:0; }
  .file-pct{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:19px; margin:8px 0 6px; }
  .bar-track{ height:6px; border-radius:6px; background:rgba(255,255,255,0.07); overflow:hidden; }
  .bar-fill{ height:100%; border-radius:6px; background:var(--tile-accent); width:0; transition:width .8s ease; box-shadow:0 0 10px var(--tile-accent); }
  .file-meta{ font-size:10px; color:var(--dim); margin-top:8px; }
  .empty-note{ color:var(--dim); font-size:12.5px; }

  .settings-card{ --accent:var(--pink); }
  .setting-row{ display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--dim); margin-bottom:8px; }
  .setting-row b{ color:var(--text); font-family:'JetBrains Mono', monospace; }
  input[type=range]{ width:100%; accent-color:var(--pink); margin:6px 0 16px; }
  .toggle-row{ display:flex; align-items:center; gap:10px; margin-bottom:14px; font-size:13px; cursor:pointer; }
  .switch{ width:38px; height:20px; border-radius:20px; background:rgba(255,255,255,0.15); position:relative; transition:background .2s; }
  .switch.on{ background:var(--pink); }
  .switch::after{ content:''; position:absolute; width:16px; height:16px; border-radius:50%; background:#fff; top:2px; left:2px; transition:left .2s; }
  .switch.on::after{ left:20px; }
  select{
    width:100%; background:rgba(255,255,255,0.04); border:1px solid var(--glass-border);
    color:var(--text); font-size:12.5px; padding:8px 10px; border-radius:9px; margin-bottom:10px;
  }
  textarea#sysPrompt{
    width:100%; background:rgba(255,255,255,0.03); border:1px solid var(--glass-border);
    border-radius:10px; color:var(--text); font-family:'Inter'; font-size:12.5px; padding:10px 12px; resize:none;
  }
  .settings-footer{ display:flex; justify-content:space-between; margin-top:12px; }
  .voice-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 4px; }

  /* nav tabs */
  .nav-tabs{ display:flex; gap:4px; background:var(--glass); border:1px solid var(--glass-border); border-radius:100px; padding:4px; }
  .nav-tab{ background:transparent; border:none; color:var(--dim); font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em; padding:8px 16px; border-radius:100px; cursor:pointer; }
  .nav-tab.active{ background:linear-gradient(135deg, var(--cyan), var(--violet)); color:#07081a; font-weight:700; }

  /* draft board */
  /* ESPN sync */
  .espn-sync-row{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(14px);
    border-radius:14px; padding:10px 16px; margin-bottom:18px;
  }
  .espn-sync-row select{
    width:auto; min-width:160px; margin-bottom:0;
    background:rgba(255,255,255,0.05); border:1px solid var(--glass-border);
    color:var(--text); font-size:12px; padding:8px 10px; border-radius:9px;
  }
  .espn-sync-row .toggle-row{ margin-bottom:0; }
  .espn-sync-note{ color:var(--dim); font-size:11px; font-family:'JetBrains Mono', monospace; margin-left:auto; }

  .draft-stats{ display:flex; gap:14px; margin-bottom:6px; }
  .dstat{
    flex:1; background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(14px);
    border-radius:14px; padding:14px 18px; display:flex; flex-direction:column; gap:2px;
  }
  .dstat b{ font-family:'Space Grotesk', sans-serif; font-size:26px; color:var(--cyan); }
  .dstat.mine b{ color:var(--green); }
  .dstat span{ color:var(--dim); font-size:11.5px; }

  .pick-strip{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:10px; margin-bottom:22px; }
  .pick-card{
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(14px);
    border-radius:14px; padding:12px 14px; cursor:pointer; transition:transform .2s, background .2s;
  }
  .pick-card:hover{ transform:translateY(-2px); background:var(--glass-strong); }
  .pick-card .pc-label{ font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--dim); letter-spacing:0.08em; }
  .pick-card .pc-name{ font-weight:600; font-size:13.5px; margin:6px 0 2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pick-card .pc-meta{ font-size:11px; color:var(--dim); }
  .pick-card .pc-ask{
    margin-top:8px; font-size:10.5px; color:var(--cyan); font-weight:700; cursor:pointer;
    opacity:0; transition:opacity .15s;
  }
  .pick-card:hover .pc-ask{ opacity:1; }
  .pick-card.empty{ opacity:0.35; cursor:default; }

  .draft-toolbar{ display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
  #draftSearch{
    flex:1; min-width:180px; background:rgba(255,255,255,0.04); border:1px solid var(--glass-border);
    border-radius:10px; color:var(--text); font-size:13px; padding:9px 12px;
  }
  #draftSearch:focus{ outline:none; border-color:var(--cyan); }
  .pos-chips{ display:flex; gap:6px; }
  .pos-chip{
    background:rgba(255,255,255,0.04); border:1px solid var(--glass-border); color:var(--dim);
    font-size:11.5px; font-weight:700; padding:8px 13px; border-radius:9px; cursor:pointer;
  }
  .pos-chip.active{ background:var(--cyan); color:#07081a; border-color:var(--cyan); }
  .hide-drafted{ font-size:12px; color:var(--dim); display:flex; align-items:center; gap:6px; cursor:pointer; }

  .board-panel{
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(18px);
    border-radius:16px; padding:6px 10px; max-height:560px; overflow-y:auto;
  }
  .board-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
  .board-table thead th{
    position:sticky; top:0; background:#12142c; color:var(--dim); text-align:left;
    font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.06em;
    padding:10px 8px; border-bottom:1px solid var(--glass-border); z-index:1;
  }
  .board-table tbody tr{ border-bottom:1px solid rgba(255,255,255,0.04); }
  .board-table tbody tr:hover{ background:rgba(255,255,255,0.03); }
  .board-table tbody tr.drafted{ opacity:0.35; }
  .board-table tbody tr.mine{ background:rgba(61,220,151,0.08); }
  .board-table td{ padding:12px 8px; white-space:nowrap; }
  .board-table td.player-cell{ font-weight:700; font-size:16px; white-space:normal; }
  .badge{ display:inline-block; padding:3px 8px; border-radius:100px; font-size:10.5px; font-weight:700; }
  .badge.pos-QB{ background:rgba(139,124,246,0.18); color:var(--violet); }
  .badge.pos-RB{ background:rgba(61,220,151,0.18); color:var(--green); }
  .badge.pos-WR{ background:rgba(45,212,232,0.18); color:var(--cyan); }
  .badge.pos-TE{ background:rgba(255,126,203,0.18); color:var(--pink); }
  .pos-rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;padding:0 9px;border-radius:999px;border:1px solid rgba(246,202,55,.28);background:rgba(246,202,55,.09);color:var(--harvest-gold);font:800 11px 'JetBrains Mono',monospace;letter-spacing:.04em;white-space:nowrap}.pos-rank-badge .pos-rank-icon{font-size:11px;margin-right:4px;opacity:.9}
  .badge.tier{ background:rgba(255,255,255,0.07); color:var(--text); font-weight:600; }
  .badge.cliff{ background:rgba(255,107,107,0.18); color:var(--red); margin-left:6px; }
  .badge.need{ background:rgba(255,180,84,0.18); color:var(--amber); margin-left:6px; }
  .row-actions{ display:flex; gap:8px; }
  .row-btn{
    border:1px solid var(--glass-border); background:rgba(255,255,255,0.05); color:var(--text);
    font-size:13px; font-weight:700; padding:9px 16px; border-radius:9px; cursor:pointer;
  }
  .row-btn.reset{ font-size:16px; padding:9px 12px; }
  .row-btn.mine{ border-color:var(--green); color:var(--green); }
  .row-btn.mine.active{ background:var(--green); color:#07081a; }
  .row-btn.drafted{ border-color:var(--dim); }
  .row-btn.drafted.active{ background:var(--dim); color:#07081a; }
  .row-btn.reset{ display:none; }
  tr.drafted .row-btn.reset, tr.mine .row-btn.reset{ display:inline-block; }

  .my-team-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; }
  .team-slot{
    background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(14px);
    border-radius:12px; padding:12px 14px;
  }
  .team-slot h4{ margin:0 0 8px; font-family:'JetBrains Mono', monospace; font-size:10.5px; color:var(--dim); letter-spacing:0.08em; }
  .team-slot .tp{ font-size:12.5px; padding:4px 0; display:flex; justify-content:space-between; }
  .team-slot .tp span{ color:var(--dim); font-size:11px; }

  @media (max-width:900px){ .my-team-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:760px){ .grid, .file-grid{ grid-template-columns:1fr; } }

  .league-config-panel{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);border-radius:16px;padding:16px;margin-bottom:18px}
  .preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
  .preset-btn{background:rgba(255,255,255,.04);border:1px solid var(--glass-border);color:var(--dim);padding:7px 10px;border-radius:9px;font-size:11px;font-weight:700;cursor:pointer}
  .preset-btn.active{background:linear-gradient(135deg,var(--cyan),var(--violet));color:#07081a;border-color:transparent}
  .league-config-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px}
  .league-config-grid label{display:flex;flex-direction:column;gap:6px;color:var(--dim);font-size:10px;font-family:'JetBrains Mono',monospace}
  .league-config-grid input,.league-config-grid select{width:100%;margin:0;background:rgba(255,255,255,.04);border:1px solid var(--glass-border);color:var(--text);border-radius:9px;padding:9px 10px;font-family:'Inter',sans-serif;font-size:12.5px}
  .generate-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}
  .roster-row .availability{margin-left:auto;min-width:76px;text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--cyan)}
  .te-limit-toggle{
    display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--dim);
    font-size:11px;cursor:pointer;user-select:none
  }
  .te-limit-toggle input{accent-color:var(--cyan)}

  @media(max-width:800px){.league-config-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}}


  .mobile-connection-panel{
    position:sticky;top:0;z-index:9999;
    margin:0;
    padding:10px 14px;
    background:rgba(10,13,25,.96);
    border-bottom:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mobile-connection-head{
    max-width:1180px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
  }
  .mobile-connection-title{font-weight:700;font-size:13px;color:var(--text)}
  .mobile-connection-sub{font-size:10px;color:var(--cyan);margin-top:2px;font-family:'JetBrains Mono',monospace}
  .mobile-collapse-btn{
    border:1px solid var(--glass-border);background:var(--glass);color:var(--text);
    border-radius:8px;padding:5px 9px;cursor:pointer
  }
  .mobile-connection-body{max-width:1180px;margin:10px auto 0}
  .mobile-connection-body.collapsed{display:none}
  .mobile-server-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .mobile-server-row input{
    min-width:0;padding:10px 12px;border-radius:9px;
    border:1px solid var(--glass-border);background:rgba(255,255,255,.05);
    color:var(--text);font-family:'JetBrains Mono',monospace;font-size:12px
  }
  .mobile-server-row button,.mobile-mode-actions button{
    border:1px solid var(--glass-border);background:var(--glass-strong);
    color:var(--text);border-radius:9px;padding:9px 12px;cursor:pointer;font-size:11px
  }
  .mobile-server-row button:hover,.mobile-mode-actions button:hover{border-color:var(--cyan)}
  .mobile-server-hint,.mobile-connection-result{
    color:var(--dim);font-size:10px;margin-top:7px;line-height:1.45
  }
  .mobile-mode-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
  .mobile-mode-actions .active-mode{border-color:var(--cyan);color:var(--cyan)}
  @media (max-width:650px){
    .mobile-connection-panel{padding:8px 10px}
    .mobile-server-row{grid-template-columns:1fr 1fr}
    .mobile-server-row input{grid-column:1/-1}
    .mobile-server-row button{width:100%}
  }


  /* =========================================================
     COCO CLEAN COMMAND CENTER
     ========================================================= */
  .content{max-width:1360px;}
  header{
    position:sticky; top:0; z-index:40;
    align-items:center; margin:0 -12px 28px;
    padding:12px;
    border-radius:18px;
    background:rgba(7,8,26,.78);
    border:1px solid rgba(255,255,255,.055);
    backdrop-filter:blur(22px);
    box-shadow:0 14px 44px rgba(0,0,0,.18);
  }
  .nav-tabs{
    display:flex; gap:4px; padding:4px;
    background:rgba(255,255,255,.035);
    border:1px solid var(--glass-border);
    border-radius:12px;
  }
  .nav-tab{
    border:0; background:transparent; color:var(--dim);
    padding:9px 13px; border-radius:9px; cursor:pointer;
    font:600 12px 'Inter',sans-serif;
    transition:.18s ease;
  }
  .nav-tab:hover{color:var(--text);background:rgba(255,255,255,.045);}
  .nav-tab.active{
    color:#fff;
    background:linear-gradient(135deg,rgba(45,212,232,.17),rgba(139,124,246,.17));
    box-shadow:inset 0 0 0 1px rgba(45,212,232,.18);
  }

  .workspace-view{animation:workspaceIn .18s ease;}
  @keyframes workspaceIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
  .workspace-heading{
    display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
    margin:4px 0 24px;
  }
  .workspace-heading.compact-heading{margin-bottom:18px;}
  .workspace-heading h1{
    margin:3px 0 7px;
    font:700 clamp(26px,3vw,38px)/1.05 'Space Grotesk',sans-serif;
    letter-spacing:-.035em;
  }
  .workspace-heading p{margin:0;color:var(--dim);font-size:13px;max-width:720px;line-height:1.55;}
  .eyebrow{
    color:var(--cyan);
    font:700 10px 'JetBrains Mono',monospace;
    letter-spacing:.15em;
  }
  .quick-coco-btn{
    flex:none;border:1px solid rgba(45,212,232,.22);
    background:rgba(45,212,232,.08);color:var(--cyan);
    border-radius:11px;padding:10px 15px;cursor:pointer;
    font-weight:700;
  }
  .quick-coco-btn:hover{background:rgba(45,212,232,.14);}

  .assistant-workspace{
    max-width:860px;
    margin:0 auto;
  }
  .assistant-workspace .hero{
    min-height:150px;
    margin-bottom:10px;
  }
  .assistant-workspace .chat-panel{
    min-height:350px;
    max-height:54vh;
  }

  .draft-command-grid{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(250px,.75fr);
    gap:16px;
    align-items:stretch;
    margin-bottom:20px;
  }
  .command-main,.command-side,.draft-section,.board-workspace{
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    backdrop-filter:blur(18px);
    box-shadow:0 18px 60px rgba(0,0,0,.16);
  }
  .command-main{
    position:relative;
    overflow:hidden;
    padding:20px;
  }
  .command-main:before{
    content:"";position:absolute;inset:0 auto 0 0;width:3px;
    background:linear-gradient(var(--cyan),var(--violet));
  }
  .command-main>.card-head{margin:10px 0 12px!important;}
  .command-kicker{
    display:flex;gap:8px;align-items:center;
    color:var(--cyan);
    font:700 10px 'JetBrains Mono',monospace;
    letter-spacing:.13em;
  }
  .command-side{padding:20px;}
  .mini-panel-title{
    font-weight:700;font-size:13px;margin-bottom:13px;
  }
  .command-side .draft-stats{
    display:grid;grid-template-columns:1fr;
    gap:8px;margin:0;
  }
  .command-side .dstat{
    min-height:0;padding:10px 12px;
    display:flex;justify-content:space-between;align-items:center;
  }
  .command-side .dstat b{font-size:19px;}
  .snapshot-note{
    color:var(--dim);font-size:11px;line-height:1.5;margin-top:13px;
  }

  .draft-section{padding:20px;margin-bottom:16px;}
  .section-heading-row{
    display:flex;align-items:end;justify-content:space-between;margin-bottom:14px;
  }
  .section-heading-row h2{margin:3px 0 0;font:700 20px 'Space Grotesk',sans-serif;}

  .clean-drawer{
    margin-bottom:12px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    overflow:hidden;
  }
  .clean-drawer summary{
    cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:center;
    gap:16px;padding:16px 18px;
  }
  .clean-drawer summary::-webkit-details-marker{display:none;}
  .clean-drawer summary span:first-child{display:flex;flex-direction:column;gap:3px;}
  .clean-drawer summary b{font-size:13px;}
  .clean-drawer summary small{font-size:11px;color:var(--dim);font-weight:400;}
  .drawer-chevron{color:var(--dim);font-size:18px;transition:transform .2s ease;}
  .clean-drawer[open] .drawer-chevron{transform:rotate(180deg);}
  .drawer-body{border-top:1px solid rgba(255,255,255,.055);padding:18px;}
  .drawer-body .roster-list{margin-bottom:0;}
  .setup-body{display:grid;grid-template-columns:1fr 1.4fr;gap:22px;}
  .setup-block>.card-head:first-child{margin-top:0!important;}

  .board-workspace{padding:16px;}
  .board-workspace .draft-toolbar{
    position:sticky;top:88px;z-index:15;
    margin:-2px -2px 12px;
    padding:12px;
    border-radius:13px;
    background:rgba(10,11,30,.92);
    border:1px solid rgba(255,255,255,.055);
    backdrop-filter:blur(18px);
  }
  .board-workspace .board-panel{
    border-radius:13px;
    max-height:calc(100vh - 235px);
    overflow:auto;
  }
  .board-workspace .board-table thead{
    position:sticky;top:0;z-index:3;
    background:#101126;
  }
  .board-workspace .board-table tbody tr:hover{
    background:rgba(45,212,232,.045);
  }

  #draftView .pick-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  #draftView .pick-suggested:first-child{
    grid-column:1 / -1;
    transform:none;
    border-color:rgba(45,212,232,.25);
    background:linear-gradient(135deg,rgba(45,212,232,.07),rgba(139,124,246,.06));
  }
  #draftView .needs-strip{margin:4px 0 12px;}
  #draftView #askAboutBoardBtn{margin-top:3px;}
  #draftView #rosterGrid{margin-top:0;}

  /* keep old section headings from creating duplicate visual noise */
  #draftView .draft-section + .clean-drawer{}
  #draftView .command-main > .card-head .card-icon{display:none;}
  #draftView .command-main > .card-head .card-title{font-size:11px;color:var(--dim);font-weight:600;}

  @media(max-width:980px){
    header{position:relative;align-items:flex-start;gap:14px;}
    header>div:last-child{width:100%;flex-wrap:wrap!important;}
    .nav-tabs{width:100%;overflow-x:auto;}
    .nav-tab{flex:1;white-space:nowrap;padding:9px 10px;}
    .draft-command-grid{grid-template-columns:1fr;}
    .setup-body{grid-template-columns:1fr;}
    .workspace-heading{align-items:flex-start;flex-direction:column;}
    .quick-coco-btn{width:100%;}
    #draftView .pick-strip{grid-template-columns:1fr;}
    .board-workspace{padding:10px;}
    .board-workspace .draft-toolbar{position:static;}
    .board-workspace .board-panel{max-height:none;}
  }

  @media(max-width:650px){
    .stage{padding:18px 12px 36px;}
    header{margin:0 0 18px;padding:10px;}
    .logo{font-size:23px;}
    .tagline{display:none;}
    header .pill{display:none;}
    .workspace-heading h1{font-size:28px;}
    .workspace-heading p{font-size:12px;}
    .command-main,.command-side,.draft-section{padding:14px;}
    .assistant-workspace .hero{min-height:110px;}
    .assistant-workspace .chat-panel{max-height:52vh;}
    .nav-tabs{display:grid;grid-template-columns:1fr 1fr;}
    .nav-tab{font-size:11px;}
  }


  .ask-coco-row-btn{
    border:1px solid rgba(45,212,232,.20);
    background:rgba(45,212,232,.065);
    color:var(--cyan);
    border-radius:7px;
    padding:5px 8px;
    font:700 9px 'Inter',sans-serif;
    white-space:nowrap;
    cursor:pointer;
    transition:.16s ease;
  }
  .ask-coco-row-btn:hover{
    background:rgba(45,212,232,.14);
    border-color:rgba(45,212,232,.36);
    transform:translateY(-1px);
  }
  .ask-coco-row-btn:active{
    transform:translateY(0);
    background:rgba(45,212,232,.22);
  }
  .board-table td:last-child > div{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  @media(max-width:650px){
    .ask-coco-row-btn{padding:6px 8px;font-size:9px;}
  }


  /* Mobile / Tailscale controls now live inside Settings */
  .remote-access-section{
    max-width:980px;
    margin:0 auto 18px;
    padding:20px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    background:rgba(255,255,255,.035);
    box-shadow:0 18px 55px rgba(0,0,0,.14);
  }
  .settings-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:16px;
  }
  .settings-section-head h2{
    margin:4px 0 5px;
    font:700 20px 'Space Grotesk',sans-serif;
  }
  .settings-section-head p{
    margin:0;
    color:var(--dim);
    font-size:12px;
    line-height:1.5;
  }
  .remote-status-mini{
    flex:none;
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid var(--glass-border);
    border-radius:999px;
    color:var(--dim);
    font:600 10px 'JetBrains Mono',monospace;
    background:rgba(255,255,255,.03);
  }
  .remote-status-mini .dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--green);
    box-shadow:0 0 12px rgba(61,220,151,.45);
  }

  .settings-mobile-card{
    position:static !important;
    inset:auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .settings-mobile-card .mobile-connection-head{
    padding:0 0 10px !important;
    border-bottom:1px solid rgba(255,255,255,.055);
  }
  .settings-mobile-card .mobile-connection-title{
    font-size:12px !important;
  }
  .settings-mobile-card .mobile-connection-sub{
    font-size:10px !important;
  }
  .settings-mobile-card .mobile-connection-body{
    padding:14px 0 0 !important;
  }
  .settings-mobile-card .mobile-server-row{
    gap:8px;
  }
  .settings-mobile-card #remoteServerInput{
    min-height:42px;
  }
  .settings-mobile-card button{
    min-height:40px;
  }
  .settings-mobile-card .mobile-mode-buttons{
    margin-top:10px;
  }
  .settings-mobile-card .mobile-connection-help,
  .settings-mobile-card .mobile-connection-result{
    font-size:11px;
  }

  @media(max-width:650px){
    .remote-access-section{padding:14px;}
    .settings-section-head{flex-direction:column;gap:10px;}
    .settings-mobile-card .mobile-server-row{
      grid-template-columns:1fr 1fr !important;
    }
    .settings-mobile-card #remoteServerInput{
      grid-column:1/-1;
    }
  }


  .remote-status-mini[data-mode="remote"] .dot{background:var(--cyan);box-shadow:0 0 12px rgba(45,212,232,.5);}
  .remote-status-mini[data-mode="standalone"] .dot{background:var(--amber);box-shadow:0 0 12px rgba(255,180,84,.4);}


  /* Settings must always remain reachable, even in Standalone mode,
     because Remote/Tailscale configuration now lives there. */
  #navSettings{
    display:block !important;
  }
  body.standalone-mode #navSettings{
    display:block !important;
  }


  .turn-status-card{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 11px;
    margin:0 0 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:11px;
    background:rgba(255,255,255,.025);
  }
  .turn-status-card .turn-status-dot{
    width:9px;height:9px;border-radius:50%;
    background:var(--amber);
    box-shadow:0 0 12px rgba(255,180,84,.35);
    flex:none;
  }
  .turn-status-card div{
    display:flex;flex-direction:column;gap:2px;
  }
  .turn-status-card b{font-size:11px;}
  .turn-status-card small{font-size:9px;color:var(--dim);}
  .turn-status-card[data-phase="on-turn"]{
    border-color:rgba(61,220,151,.2);
    background:rgba(61,220,151,.05);
  }
  .turn-status-card[data-phase="on-turn"] .turn-status-dot{
    background:var(--green);
    box-shadow:0 0 14px rgba(61,220,151,.5);
  }


  /* COCO fixed league: 1 QB / 1 RB / 1 WR / 3 FLEX */
  #leaguePresetRow,
  .league-slots,
  label:has(#avoidExtraTE),
  label:has(#avoidExtraQB){
    display:none !important;
  }
  .my-league-pill{
    display:inline-flex;align-items:center;
    margin:0 0 12px;padding:8px 11px;
    border-radius:999px;
    border:1px solid rgba(45,212,232,.18);
    background:rgba(45,212,232,.07);
    color:var(--cyan);
    font:700 10px 'JetBrains Mono',monospace;
  }


  /* --- COCO Draft Command brand refresh --- */
  body{
    background:
      radial-gradient(circle at 15% 10%, rgba(124,108,246,.10), transparent 28%),
      radial-gradient(circle at 85% 85%, rgba(45,212,191,.10), transparent 30%),
      var(--bg);
  }

  .logo{
    font-size:30px;
    letter-spacing:-0.035em;
    text-shadow:0 0 24px var(--brand-glow);
  }
  .logo span{
    color:var(--cyan);
  }
  .tagline{
    color:var(--dim);
    letter-spacing:.08em;
    text-transform:uppercase;
    font-family:'JetBrains Mono', monospace;
    font-size:10px;
  }

  .pill,
  .card,
  .panel,
  .roster-list,
  .turn-status-card,
  .standalone-banner{
    background:linear-gradient(180deg, rgba(18,32,51,.78), rgba(13,23,38,.88));
    border-color:rgba(143,163,184,.13);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
  }

  .primary-btn,
  button.primary-btn{
    background:linear-gradient(135deg, var(--cyan), #20b8a5);
    color:#041411;
    border:none;
    font-weight:800;
    box-shadow:0 8px 22px rgba(45,212,191,.18);
  }
  .primary-btn:hover,
  button.primary-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 28px rgba(45,212,191,.28);
  }

  .nav-btn.active,
  .tab-btn.active,
  .preset-btn.active{
    color:var(--cyan) !important;
    border-color:rgba(45,212,191,.28) !important;
    background:rgba(45,212,191,.08) !important;
    box-shadow:inset 0 0 0 1px rgba(45,212,191,.04);
  }

  .need-pill.short{
    color:var(--red);
    border-color:rgba(240,106,106,.28);
    background:rgba(240,106,106,.06);
  }

  .need-pill.ok{
    color:var(--dim);
  }

  .roster-tag.projected{
    background:rgba(124,108,246,.14);
    color:#A99FFF;
  }
  .roster-tag.locked{
    background:rgba(45,212,191,.14);
    color:var(--cyan);
  }

  .turn-status-card[data-phase="on-turn"]{
    border-color:rgba(45,212,191,.28);
    background:rgba(45,212,191,.07);
    box-shadow:0 0 24px rgba(45,212,191,.08);
  }
  .turn-status-card[data-phase="on-turn"] .turn-status-dot{
    background:var(--cyan);
    box-shadow:0 0 16px rgba(45,212,191,.65);
  }

  .avatar-stage{
    --state-color:#2DD4BF;
  }
  .avatar-glow{
    filter:drop-shadow(0 0 24px rgba(45,212,191,.22));
  }

  input, select, textarea{
    background:rgba(255,255,255,.035) !important;
    border-color:rgba(143,163,184,.14) !important;
  }

  input:focus, select:focus, textarea:focus{
    border-color:rgba(45,212,191,.42) !important;
    box-shadow:0 0 0 3px rgba(45,212,191,.08);
    outline:none;
  }

  .bubble.assistant,
  .msg.assistant .bubble{
    border-color:rgba(45,212,191,.16);
    background:rgba(45,212,191,.055);
  }

  .bubble.user,
  .msg.user .bubble{
    border-color:rgba(124,108,246,.16);
    background:rgba(124,108,246,.055);
  }

  ::selection{
    background:rgba(45,212,191,.28);
    color:var(--text);
  }


  /* =========================================================
     COCO Assistant redesign
     Graphite + cobalt + warm ivory
     ========================================================= */

  body{
    background:
      radial-gradient(circle at 18% 8%, rgba(79,140,255,.08), transparent 30%),
      radial-gradient(circle at 82% 18%, rgba(215,181,109,.045), transparent 24%),
      radial-gradient(circle at 75% 85%, rgba(142,124,255,.055), transparent 30%),
      var(--bg);
  }

  .blob{opacity:.09 !important;filter:blur(120px);}
  .blob.b1{background:#4F8CFF !important;}
  .blob.b2{background:#8E7CFF !important;}
  .blob.b3{background:#D7B56D !important;}

  .logo{
    color:var(--text);
    text-shadow:none;
    letter-spacing:-.045em;
  }
  .logo span{color:#4F8CFF;}
  .tagline{
    color:#A7ADBA;
    font-size:10px;
    letter-spacing:.16em;
  }

  /* Bigger, more intentional assistant workspace */
  #assistantView .home-layout{
    grid-template-columns:minmax(440px,560px) minmax(380px,1fr);
    gap:30px;
  }

  #assistantView .col-assistant{
    position:sticky;
    top:18px;
  }

  #assistantView .hero{
    margin:0 0 18px;
    padding:26px 22px 22px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:24px;
    background:
      linear-gradient(180deg, rgba(28,36,53,.88), rgba(15,19,28,.96));
    box-shadow:
      0 22px 60px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.025);
    overflow:hidden;
    position:relative;
  }

  #assistantView .hero::before{
    content:"";
    position:absolute;
    width:280px;height:280px;border-radius:50%;
    background:radial-gradient(circle, rgba(79,140,255,.14), transparent 68%);
    top:-100px;right:-70px;
    pointer-events:none;
  }

  /* Make COCO visual much bigger */
  #assistantView .avatar-stage{
    width:280px;
    height:280px;
    margin:8px auto 12px;
  }

  #assistantView .avatar-glow{
    filter:drop-shadow(0 0 36px rgba(79,140,255,.20));
  }

  #assistantView .hero h2,
  #assistantView .hero .hero-title{
    font-size:24px;
    letter-spacing:-.025em;
  }

  #assistantView #heroStatus{
    font-size:12px;
    color:#C1C7D2;
  }

  /* Assistant menu becomes a compact console */
  #assistantView .assistant-card,
  #assistantView .settings-card,
  #assistantView .chat-shell,
  #assistantView .chat-card{
    border-radius:20px;
  }

  #assistantView .col-assistant > .card,
  #assistantView .col-assistant .glass-card{
    background:linear-gradient(180deg, rgba(18,23,34,.96), rgba(13,17,24,.96));
    border-color:rgba(255,255,255,.07);
    box-shadow:0 18px 42px rgba(0,0,0,.22);
  }

  #assistantView .toggle-row,
  #assistantView .setting-row{
    min-height:44px;
    border-radius:12px;
    padding:9px 11px;
  }

  #assistantView select,
  #assistantView input,
  #assistantView textarea{
    border-radius:12px !important;
    background:#0D121B !important;
    border:1px solid rgba(255,255,255,.075) !important;
  }

  #assistantView .primary-btn,
  #assistantView button.primary-btn{
    background:linear-gradient(135deg,#4F8CFF,#6B6EFF);
    color:white;
    box-shadow:0 10px 26px rgba(79,140,255,.20);
  }

  #assistantView .primary-btn:hover,
  #assistantView button.primary-btn:hover{
    box-shadow:0 12px 32px rgba(79,140,255,.28);
  }

  /* Chat side */
  #assistantView .col-draft{
    min-width:0;
  }

  #assistantView #chatPanel{
    min-height:500px;
    max-height:620px;
    border-radius:20px;
    background:
      linear-gradient(180deg,rgba(13,17,24,.96),rgba(10,13,19,.98));
    border:1px solid rgba(255,255,255,.065);
    box-shadow:0 22px 54px rgba(0,0,0,.24);
  }

  #assistantView .msg.assistant .bubble,
  #assistantView .bubble.assistant{
    background:rgba(79,140,255,.075);
    border-color:rgba(79,140,255,.14);
  }

  #assistantView .msg.user .bubble,
  #assistantView .bubble.user{
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.07);
  }

  #assistantView .input-row,
  #assistantView .composer{
    gap:10px;
    margin-top:12px;
  }

  #assistantView textarea#chatInput,
  #assistantView #chatInput{
    min-height:74px;
    padding:14px 15px !important;
    font-size:14px;
  }

  /* Warm accent is now reserved for important info/warnings */
  .warning,
  .amber,
  .cliff,
  .risk,
  .status-warn{
    color:#D7B56D !important;
  }

  .roster-tag.projected{
    color:#B8B0FF;
    background:rgba(142,124,255,.12);
  }

  .turn-status-card[data-phase="on-turn"]{
    border-color:rgba(79,140,255,.25);
    background:rgba(79,140,255,.07);
  }

  .turn-status-card[data-phase="on-turn"] .turn-status-dot{
    background:#4F8CFF;
    box-shadow:0 0 16px rgba(79,140,255,.55);
  }

  @media (max-width:980px){
    #assistantView .home-layout{
      grid-template-columns:1fr;
    }
    #assistantView .col-assistant{
      position:static;
    }
    #assistantView .avatar-stage{
      width:240px;
      height:240px;
    }
  }

  @media (max-width:640px){
    #assistantView .hero{
      padding:20px 14px 18px;
    }
    #assistantView .avatar-stage{
      width:210px;
      height:210px;
    }
    #assistantView #chatPanel{
      min-height:390px;
      max-height:520px;
    }
  }


  /* ===== Corrected Assistant layout ===== */
  #assistantView .assistant-workspace{
    display:grid;
    grid-template-columns:minmax(360px,460px) minmax(0,1fr);
    grid-template-areas:
      "hero chat"
      "hero composer";
    gap:22px;
    align-items:stretch;
  }

  #assistantView .hero{
    grid-area:hero;
    min-height:650px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0;
    padding:34px 24px;
    border-radius:28px;
    background:
      radial-gradient(circle at 50% 35%, rgba(79,140,255,.16), transparent 30%),
      linear-gradient(180deg,#171D29 0%,#10141C 100%);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 28px 70px rgba(0,0,0,.34);
  }

  #assistantView .avatar-stage{
    width:360px !important;
    height:360px !important;
    max-width:90%;
    margin:0 auto 26px !important;
  }

  #assistantView .avatar-center{
    inset:42px !important;
  }

  #assistantView .avatar-img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  #assistantView #heroStatus{
    font-size:15px;
    font-weight:700;
    letter-spacing:.04em;
    color:#F4F1E8;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.07);
  }

  #assistantView #chatPanel{
    grid-area:chat;
    min-height:520px;
    max-height:650px;
    margin:0;
    padding:20px;
    border-radius:24px;
    background:#0E131C;
    border:1px solid rgba(255,255,255,.07);
    box-shadow:0 24px 60px rgba(0,0,0,.28);
  }

  #assistantView .composer{
    grid-area:composer;
    margin:0;
    padding:14px;
    border-radius:20px;
    background:#121824;
    border:1px solid rgba(255,255,255,.075);
  }

  #assistantView .composer-bar{
    display:flex;
    align-items:flex-end;
    gap:12px;
  }

  #assistantView #chatInput{
    min-height:88px !important;
    max-height:180px;
    font-size:15px;
    line-height:1.5;
    padding:15px 16px !important;
    background:#0B1018 !important;
  }

  #assistantView .composer-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:stretch;
  }

  #assistantView .composer-actions .icon-btn,
  #assistantView .composer-actions .primary-btn{
    min-width:82px;
    min-height:42px;
    border-radius:12px;
  }

  #assistantView .workspace-heading{
    margin-bottom:18px;
  }

  #assistantView .workspace-heading h1{
    font-size:30px;
    letter-spacing:-.035em;
    margin-bottom:6px;
  }

  #assistantView .workspace-heading p{
    max-width:720px;
    color:#9298A6;
  }

  @media(max-width:980px){
    #assistantView .assistant-workspace{
      grid-template-columns:1fr;
      grid-template-areas:
        "hero"
        "chat"
        "composer";
    }

    #assistantView .hero{
      min-height:460px;
    }

    #assistantView .avatar-stage{
      width:300px !important;
      height:300px !important;
    }
  }

  @media(max-width:640px){
    #assistantView .hero{
      min-height:390px;
      padding:24px 14px;
    }

    #assistantView .avatar-stage{
      width:250px !important;
      height:250px !important;
    }

    #assistantView .composer-bar{
      flex-direction:column;
      align-items:stretch;
    }

    #assistantView .composer-actions{
      flex-direction:row;
    }

    #assistantView .composer-actions .primary-btn{
      flex:1;
    }
  }


  /* ===== Center and enlarge the COCO face correctly ===== */
  #assistantView .hero{
    justify-content:center;
    align-items:center;
  }

  #assistantView .avatar-stage{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  #assistantView .avatar-center{
    inset:auto !important;
    top:50% !important;
    left:50% !important;
    width:228px !important;
    height:228px !important;
    margin:-114px 0 0 -114px !important;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  #assistantView .avatar-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    border-radius:50%;
  }

  #assistantView .avatar-glow{
    opacity:.48;
    filter:blur(18px);
  }

  @media(max-width:980px){
    #assistantView .avatar-center{
      width:200px !important;
      height:200px !important;
      margin:-100px 0 0 -100px !important;
    }
  }

  @media(max-width:640px){
    #assistantView .avatar-center{
      width:170px !important;
      height:170px !important;
      margin:-85px 0 0 -85px !important;
    }
  }


  /* =========================================================
     MOBILE PLAYER BOARD V1
     Convert the desktop table into readable player cards.
     ========================================================= */
  @media(max-width:650px){

    #boardView .workspace-heading{
      margin-bottom:12px;
    }

    #boardView .workspace-heading h1{
      font-size:26px;
      margin-bottom:4px;
    }

    #boardView .workspace-heading p{
      font-size:11px;
      line-height:1.45;
      max-width:320px;
    }

    /* The global Ask COCO button is redundant on mobile because every
       player card already has its own Ask COCO action. */
    #boardView .workspace-heading .quick-coco-btn{
      display:none;
    }

    #boardView .board-workspace{
      padding:8px;
      border-radius:16px;
    }

    #boardView .draft-toolbar{
      display:grid;
      grid-template-columns:1fr;
      gap:9px;
      padding:9px;
      margin-bottom:10px;
      border-radius:13px;
    }

    #boardView #draftSearch{
      width:100%;
      min-height:42px;
      font-size:13px;
      border-radius:10px !important;
      padding:0 12px;
    }

    #boardView .pos-chips{
      display:flex;
      gap:6px;
      overflow-x:auto;
      padding-bottom:2px;
      scrollbar-width:none;
    }

    #boardView .pos-chips::-webkit-scrollbar{
      display:none;
    }

    #boardView .pos-chip{
      flex:0 0 auto;
      min-width:43px;
      padding:7px 10px;
      font-size:10px;
    }

    #boardView .hide-drafted{
      justify-self:start;
      font-size:10px;
    }

    #boardView .board-panel{
      overflow:visible;
      background:transparent;
      border:none;
      padding:0;
    }

    #boardView .board-table{
      display:block;
      width:100%;
    }

    #boardView .board-table thead{
      display:none;
    }

    #boardView .board-table tbody{
      display:grid;
      gap:9px;
    }

    #boardView .board-table tbody tr{
      display:grid;
      grid-template-columns:40px minmax(0,1fr) auto;
      grid-template-areas:
        "rank player pos"
        "rank tier tier"
        "stats stats stats"
        "note note note"
        "actions actions actions";
      gap:7px 10px;
      align-items:center;
      padding:13px;
      border:1px solid rgba(255,255,255,.075);
      border-radius:14px;
      background:linear-gradient(180deg,rgba(24,29,44,.96),rgba(18,22,34,.96));
      box-shadow:0 8px 22px rgba(0,0,0,.14);
    }

    #boardView .board-table tbody tr.mine{
      border-color:rgba(61,220,151,.28);
      background:linear-gradient(180deg,rgba(20,42,38,.68),rgba(18,22,34,.96));
    }

    #boardView .board-table tbody tr.drafted{
      opacity:.58;
    }

    #boardView .board-table td{
      display:block;
      padding:0 !important;
      border:0 !important;
      font-size:11px;
      min-width:0;
    }

    #boardView .board-table td:nth-child(1){
      grid-area:rank;
      align-self:start;
      font:700 11px 'JetBrains Mono',monospace;
      color:var(--dim);
      padding-top:3px !important;
    }

    #boardView .board-table td:nth-child(1)::before{
      content:"#";
      opacity:.55;
    }

    #boardView .board-table td:nth-child(2){
      grid-area:player;
      font-size:15px;
      font-weight:800;
      line-height:1.15;
      color:var(--text);
    }

    #boardView .board-table td:nth-child(3){
      grid-area:pos;
      justify-self:end;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:5px;
    }

    #boardView .board-table td:nth-child(3) .pos-rank-badge{
      min-width:44px;
      height:25px;
      padding:0 8px;
      font-size:10px;
    }

    #boardView .board-table td:nth-child(4){
      grid-area:tier;
      display:flex;
      gap:6px;
      align-items:center;
      flex-wrap:wrap;
    }

    /* Score / VORP / ESPN / Grade become a compact stat strip */
    #boardView .board-table td:nth-child(5),
    #boardView .board-table td:nth-child(6),
    #boardView .board-table td:nth-child(7),
    #boardView .board-table td:nth-child(8){
      display:inline-flex;
      flex-direction:column;
      gap:2px;
      padding:7px 8px !important;
      border-radius:9px !important;
      background:rgba(255,255,255,.035);
      font:700 11px 'JetBrains Mono',monospace;
    }

    #boardView .board-table td:nth-child(5){grid-area:stats;}
    #boardView .board-table td:nth-child(6){grid-area:stats;margin-left:24%;}
    #boardView .board-table td:nth-child(7){grid-area:stats;margin-left:48%;}
    #boardView .board-table td:nth-child(8){grid-area:stats;margin-left:76%;}

    #boardView .board-table td:nth-child(5)::before{
      content:"SCORE";
      color:var(--dim);
      font-size:8px;
      font-weight:600;
    }
    #boardView .board-table td:nth-child(6)::before{
      content:"VORP";
      color:var(--dim);
      font-size:8px;
      font-weight:600;
    }
    #boardView .board-table td:nth-child(7)::before{
      content:"ESPN";
      color:var(--dim);
      font-size:8px;
      font-weight:600;
    }
    #boardView .board-table td:nth-child(8)::before{
      content:"GRADE";
      color:var(--dim);
      font-size:8px;
      font-weight:600;
    }

    #boardView .board-table td:nth-child(9){
      grid-area:note;
      color:var(--dim) !important;
      font-size:10px !important;
      line-height:1.35;
      padding-top:1px !important;
    }

    #boardView .board-table td:nth-child(9)::before{
      content:"VALUE: ";
      font:700 8px 'JetBrains Mono',monospace;
      letter-spacing:.06em;
      color:rgba(143,163,184,.72);
    }

    #boardView .board-table td:nth-child(10){
      grid-area:actions;
      margin-top:2px;
    }

    #boardView .board-table td:last-child > div,
    #boardView .row-actions{
      display:grid !important;
      grid-template-columns:1fr 1fr auto 1.25fr;
      gap:6px !important;
      justify-content:stretch !important;
    }

    #boardView .row-btn,
    #boardView .ask-coco-row-btn{
      min-height:36px;
      width:100%;
      padding:6px 7px;
      border-radius:9px;
      font-size:9px;
      white-space:nowrap;
    }

    #boardView .row-btn.reset{
      width:36px;
      min-width:36px;
      padding:0;
    }

    #boardView .ask-coco-row-btn{
      font-size:9px;
      font-weight:800;
    }

    #boardView .badge{
      font-size:8px;
      padding:4px 7px;
    }
  }


  /* =========================================================
     COCO TRASH TALK
     ========================================================= */
  .trash-talk-card{
    margin:20px 0 26px;
    padding:20px;
    border:1px solid rgba(246,184,74,.16);
    border-radius:20px;
    background:
      radial-gradient(circle at 95% 0%, rgba(246,184,74,.08), transparent 30%),
      linear-gradient(180deg,rgba(22,25,38,.96),rgba(15,18,28,.96));
    box-shadow:0 18px 44px rgba(0,0,0,.20);
  }

  .trash-talk-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:16px;
  }

  .trash-talk-head h2{
    margin:3px 0 5px;
    font:700 22px 'Space Grotesk',sans-serif;
    letter-spacing:-.025em;
  }

  .trash-talk-head p{
    margin:0;
    color:var(--dim);
    font-size:11px;
    line-height:1.45;
  }

  .trash-random-btn{
    flex:none;
    border:1px solid rgba(246,184,74,.22);
    background:rgba(246,184,74,.07);
    color:var(--amber);
    padding:9px 12px;
    border-radius:10px;
    font:700 10px 'JetBrains Mono',monospace;
    cursor:pointer;
  }

  .trash-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:13px;
  }

  .trash-controls label{
    display:flex;
    flex-direction:column;
    gap:6px;
  }

  .trash-controls label > span{
    color:var(--dim);
    font:700 9px 'JetBrains Mono',monospace;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  .trash-controls select{
    width:100%;
    min-height:42px;
    padding:0 11px;
    border-radius:11px;
    border:1px solid rgba(255,255,255,.08);
    background:#0D121B;
    color:var(--text);
  }

  .trash-output{
    position:relative;
    min-height:104px;
    display:flex;
    align-items:center;
    padding:18px 20px 18px 48px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    background:rgba(0,0,0,.16);
    overflow:hidden;
  }

  .trash-quote-mark{
    position:absolute;
    left:14px;
    top:5px;
    color:rgba(246,184,74,.40);
    font:700 52px Georgia,serif;
    line-height:1;
  }

  .trash-line{
    font:600 16px/1.5 'Space Grotesk',sans-serif;
    color:var(--text);
  }

  .trash-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:12px;
  }

  .trash-actions button{
    min-height:40px;
  }

  .trash-say-btn{
    min-width:110px;
  }

  @media(max-width:650px){
    .trash-talk-card{
      margin:14px 0 20px;
      padding:14px;
      border-radius:16px;
    }

    .trash-talk-head{
      flex-direction:column;
      gap:10px;
    }

    .trash-talk-head h2{
      font-size:20px;
    }

    .trash-random-btn{
      width:100%;
      min-height:39px;
    }

    .trash-controls{
      grid-template-columns:1fr;
      gap:9px;
    }

    .trash-output{
      min-height:115px;
      padding:16px 15px 16px 42px;
    }

    .trash-line{
      font-size:15px;
    }

    .trash-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
    }

    .trash-actions button{
      width:100%;
    }
  }


  /* =========================================================
     LARGE MOBILE PLAYER CARDS
     Stronger mobile override for Player Board
     ========================================================= */
  @media (max-width: 900px){

    #boardView .workspace-heading{
      margin-bottom:16px !important;
    }

    #boardView .workspace-heading h1{
      font-size:32px !important;
      line-height:1.05 !important;
      margin-bottom:6px !important;
    }

    #boardView .workspace-heading p{
      font-size:13px !important;
      line-height:1.5 !important;
      max-width:unset !important;
    }

    #boardView .quick-coco-btn{
      display:none !important;
    }

    #boardView .board-workspace{
      padding:10px !important;
      border-radius:18px !important;
    }

    #boardView .draft-toolbar{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:10px !important;
      padding:12px !important;
      margin-bottom:12px !important;
      border-radius:16px !important;
    }

    #boardView #draftSearch{
      width:100% !important;
      min-height:48px !important;
      font-size:15px !important;
      border-radius:12px !important;
      padding:0 14px !important;
    }

    #boardView .pos-chips{
      display:flex !important;
      flex-wrap:nowrap !important;
      gap:8px !important;
      overflow-x:auto !important;
      padding-bottom:2px !important;
      scrollbar-width:none;
    }

    #boardView .pos-chips::-webkit-scrollbar{
      display:none;
    }

    #boardView .pos-chip{
      flex:0 0 auto !important;
      min-width:50px !important;
      min-height:38px !important;
      padding:8px 12px !important;
      border-radius:11px !important;
      font-size:11px !important;
    }

    #boardView .hide-drafted{
      justify-self:start !important;
      font-size:12px !important;
      gap:8px !important;
    }

    #boardView .board-panel{
      overflow:visible !important;
      background:transparent !important;
      border:none !important;
      padding:0 !important;
      box-shadow:none !important;
    }

    #boardView .board-table,
    #boardView .board-table thead,
    #boardView .board-table tbody,
    #boardView .board-table tr,
    #boardView .board-table td{
      display:block !important;
      width:100% !important;
    }

    #boardView .board-table{
      border-collapse:separate !important;
      font-size:inherit !important;
    }

    #boardView .board-table thead{
      display:none !important;
    }

    #boardView .board-table tbody{
      display:grid !important;
      gap:14px !important;
    }

    #boardView .board-table tbody tr{
      display:grid !important;
      grid-template-columns:46px minmax(0,1fr) auto !important;
      grid-template-areas:
        "rank player pos"
        "rank tier tier"
        "stats stats stats"
        "note note note"
        "actions actions actions" !important;
      gap:10px 12px !important;
      align-items:start !important;
      min-height:174px !important;
      padding:16px !important;
      border:1px solid rgba(255,255,255,.085) !important;
      border-radius:18px !important;
      background:linear-gradient(180deg,rgba(24,29,44,.98),rgba(18,22,34,.98)) !important;
      box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
    }

    #boardView .board-table tbody tr.mine{
      border-color:rgba(61,220,151,.32) !important;
      background:linear-gradient(180deg,rgba(23,45,39,.80),rgba(18,22,34,.98)) !important;
    }

    #boardView .board-table tbody tr.drafted{
      opacity:.62 !important;
    }

    #boardView .board-table td{
      min-width:0 !important;
      padding:0 !important;
      margin:0 !important;
      border:0 !important;
      white-space:normal !important;
      font-size:12px !important;
      background:none !important;
    }

    #boardView .board-table td:nth-child(1){
      grid-area:rank !important;
      align-self:start !important;
      font:700 13px 'JetBrains Mono',monospace !important;
      color:var(--dim) !important;
      padding-top:4px !important;
      width:auto !important;
    }

    #boardView .board-table td:nth-child(1)::before{
      content:"#";
      opacity:.55;
      margin-right:1px;
    }

    #boardView .board-table td:nth-child(2){
      grid-area:player !important;
      font-size:24px !important;
      line-height:1.04 !important;
      font-weight:800 !important;
      color:var(--text) !important;
      width:auto !important;
      max-width:100% !important;
    }

    #boardView .board-table td:nth-child(3){
      grid-area:pos !important;
      justify-self:end !important;
      width:auto !important;
    }

    #boardView .board-table td:nth-child(4){
      grid-area:tier !important;
      display:flex !important;
      width:auto !important;
      flex-wrap:wrap !important;
      gap:7px !important;
      align-items:center !important;
    }

    /* Stats row becomes a proper four-column strip */
    #boardView .board-table td:nth-child(5),
    #boardView .board-table td:nth-child(6),
    #boardView .board-table td:nth-child(7),
    #boardView .board-table td:nth-child(8){
      display:flex !important;
      flex-direction:column !important;
      justify-content:center !important;
      gap:3px !important;
      min-height:52px !important;
      padding:8px 10px !important;
      border-radius:12px !important;
      background:rgba(255,255,255,.042) !important;
      font:700 12px 'JetBrains Mono',monospace !important;
      width:100% !important;
      box-sizing:border-box !important;
    }

    #boardView .board-table td:nth-child(5){ grid-area:stats !important; width:22% !important; }
    #boardView .board-table td:nth-child(6){ grid-area:stats !important; width:22% !important; margin-left:25.5% !important; }
    #boardView .board-table td:nth-child(7){ grid-area:stats !important; width:22% !important; margin-left:51% !important; }
    #boardView .board-table td:nth-child(8){ grid-area:stats !important; width:22% !important; margin-left:76.5% !important; }

    #boardView .board-table td:nth-child(5)::before,
    #boardView .board-table td:nth-child(6)::before,
    #boardView .board-table td:nth-child(7)::before,
    #boardView .board-table td:nth-child(8)::before{
      color:var(--dim) !important;
      font-size:9px !important;
      font-weight:700 !important;
      letter-spacing:.06em !important;
    }

    #boardView .board-table td:nth-child(5)::before{ content:"SCORE"; }
    #boardView .board-table td:nth-child(6)::before{ content:"VORP"; }
    #boardView .board-table td:nth-child(7)::before{ content:"ESPN"; }
    #boardView .board-table td:nth-child(8)::before{ content:"GRADE"; }

    #boardView .board-table td:nth-child(9){
      grid-area:note !important;
      color:var(--dim) !important;
      font-size:12px !important;
      line-height:1.42 !important;
      width:auto !important;
    }

    #boardView .board-table td:nth-child(9)::before{
      content:"VALUE NOTE";
      display:block;
      margin-bottom:4px;
      color:rgba(143,163,184,.78);
      font:700 9px 'JetBrains Mono',monospace;
      letter-spacing:.08em;
    }

    #boardView .board-table td:nth-child(10){
      grid-area:actions !important;
      width:auto !important;
      margin-top:4px !important;
    }

    #boardView .board-table td:last-child > div,
    #boardView .row-actions{
      display:grid !important;
      grid-template-columns:1fr 1fr 48px 1.3fr !important;
      gap:8px !important;
      width:100% !important;
      align-items:stretch !important;
    }

    #boardView .row-btn,
    #boardView .ask-coco-row-btn{
      min-height:42px !important;
      width:100% !important;
      padding:8px 10px !important;
      border-radius:11px !important;
      font-size:11px !important;
      font-weight:800 !important;
      white-space:nowrap !important;
    }

    #boardView .row-btn.reset{
      width:48px !important;
      min-width:48px !important;
      padding:0 !important;
    }

    #boardView .badge{
      font-size:10px !important;
      padding:5px 8px !important;
      border-radius:999px !important;
    }
  }

  @media (max-width: 520px){
    #boardView .board-table tbody tr{
      min-height:188px !important;
      padding:15px !important;
    }

    #boardView .board-table td:nth-child(2){
      font-size:21px !important;
    }

    #boardView .board-table td:last-child > div,
    #boardView .row-actions{
      grid-template-columns:1fr 1fr !important;
    }

    #boardView .row-btn.reset{
      width:100% !important;
      min-width:0 !important;
    }
  }


  .espn-filter-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 2px;
  }
  .espn-filter-wrap label{
    color:var(--dim);
    font:700 10px 'JetBrains Mono', monospace;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  #espnMaxFilter{
    width:96px;
    min-height:38px;
    padding:0 10px;
    border-radius:10px;
    border:1px solid var(--glass-border);
    background:rgba(255,255,255,0.03);
    color:var(--text);
  }
  #espnMaxFilter:focus{
    outline:none;
    border-color:var(--cyan);
  }

  @media (max-width: 900px){
    #boardView .espn-filter-wrap{
      display:flex !important;
      align-items:center !important;
      gap:10px !important;
      padding:0 !important;
    }
    #boardView #espnMaxFilter{
      width:110px !important;
      min-height:44px !important;
      font-size:14px !important;
      border-radius:12px !important;
      padding:0 12px !important;
    }
    #boardView .espn-filter-wrap label{
      font-size:11px !important;
    }
  }


  /* =========================================================
     EASIER-TO-READ MENUS / SELECTS
     ========================================================= */
  :root{
    color-scheme: dark;
  }

  /* Global select readability */
  select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background:
      linear-gradient(180deg, rgba(20,27,40,.96), rgba(15,20,31,.98)) !important;
    color:var(--text) !important;
    border:1px solid rgba(79,140,255,.18) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.03),
      0 6px 18px rgba(0,0,0,.16);
    font-weight:700 !important;
    letter-spacing:.01em;
  }

  select:hover{
    border-color:rgba(79,140,255,.34) !important;
  }

  select:focus{
    outline:none !important;
    border-color:rgba(79,140,255,.55) !important;
    box-shadow:
      0 0 0 3px rgba(79,140,255,.12),
      0 10px 24px rgba(0,0,0,.18) !important;
  }

  /* Make native option lists dark where supported */
  select option,
  select optgroup{
    background:#161D2A !important;
    color:#F4F1E8 !important;
    font-weight:600;
  }

  /* Better custom arrow */
  .trash-controls select,
  #espnTeamSelect,
  #trashPersonSelect,
  #trashCategorySelect{
    background-image:
      linear-gradient(180deg, rgba(20,27,40,.96), rgba(15,20,31,.98)),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23D7DEE8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat, no-repeat;
    background-position:0 0, calc(100% - 14px) 50%;
    background-size:auto, 15px;
    padding-right:42px !important;
  }

  /* Trash talk section specifically */
  .trash-controls label > span{
    color:#B6C0D0 !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.12em !important;
  }

  .trash-controls select{
    min-height:56px !important;
    font-size:17px !important;
    line-height:1.2 !important;
    padding-left:16px !important;
    border-radius:14px !important;
  }

  .trash-talk-head p{
    color:#A9B2C2 !important;
  }

  /* Nav/settings selects and ESPN sync */
  #espnTeamSelect,
  #voiceSelect,
  #engineSelect,
  #leaguePreset,
  #pickPosition,
  #leagueSize,
  #scoringFormat{
    min-height:46px !important;
    font-size:15px !important;
    border-radius:12px !important;
    padding-left:14px !important;
  }

  /* Mobile: even larger tap targets */
  @media (max-width: 900px){
    select{
      font-size:16px !important;
    }

    .trash-controls{
      gap:12px !important;
    }

    .trash-controls select{
      min-height:58px !important;
      font-size:18px !important;
      border-radius:15px !important;
    }

    .trash-controls label > span{
      font-size:11px !important;
    }

    #espnMaxFilter{
      min-height:48px !important;
    }
  }

  @media (max-width: 520px){
    .trash-controls select{
      min-height:60px !important;
      font-size:18px !important;
      padding-left:15px !important;
      padding-right:42px !important;
    }
  }


  .active-voice-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:10px 0 2px;
    padding:12px 14px;
    border:1px solid rgba(61,220,151,.18);
    border-radius:12px;
    background:rgba(61,220,151,.05);
  }
  .active-voice-card > div{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
  }
  .active-voice-label{
    color:var(--dim);
    font:700 9px 'JetBrains Mono',monospace;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  #activeVoiceName{
    color:var(--text);
    font-size:14px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .active-voice-status{
    flex:none;
    color:var(--green);
    font:700 10px 'JetBrains Mono',monospace;
    white-space:nowrap;
  }
  .active-voice-card[data-ready="false"]{
    border-color:rgba(246,184,74,.18);
    background:rgba(246,184,74,.05);
  }
  .active-voice-card[data-ready="false"] .active-voice-status{
    color:var(--amber);
  }

  @media(max-width:650px){
    .active-voice-card{
      align-items:flex-start;
      flex-direction:column;
      gap:7px;
    }
  }



  /* === Silent Draft Board === */
  .silent-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
  .silent-mode-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(69,212,138,.22);border-radius:999px;background:rgba(69,212,138,.07);color:var(--green);font:800 9px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
  .silent-mode-pill::before{content:'🔇';font-size:12px;}
  .silent-insights{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:0 0 12px;}
  .silent-card{min-height:92px;padding:12px 13px;border:1px solid var(--glass-border);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden;}
  .silent-card.primary{border-color:rgba(79,140,255,.26);background:linear-gradient(135deg,rgba(79,140,255,.10),rgba(142,124,255,.045));}
  .silent-kicker{color:var(--dim);font:800 9px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;}
  .silent-pick-name{font:700 18px 'Space Grotesk',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .silent-pick-meta{margin-top:4px;color:var(--dim);font-size:11px;line-height:1.4;}
  .silent-big{font:700 21px 'Space Grotesk',sans-serif;}
  .silent-big.good{color:var(--green)} .silent-big.warn{color:var(--amber)} .silent-big.hot{color:var(--red)}
  .draft-grid-wrap{border:1px solid var(--glass-border);border-radius:15px;background:rgba(255,255,255,.018);overflow:auto;-webkit-overflow-scrolling:touch;box-shadow:0 18px 44px rgba(0,0,0,.18);margin-bottom:14px;}
  .draft-grid{display:grid;min-width:980px;grid-template-columns:56px repeat(var(--team-count,12), minmax(116px,1fr));}
  .draft-grid .dg-corner,.draft-grid .dg-team,.draft-grid .dg-round,.draft-grid .dg-cell{border-right:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055);}
  .dg-corner,.dg-team{position:sticky;top:0;z-index:4;min-height:43px;background:#111620;display:flex;align-items:center;justify-content:center;padding:7px;}
  .dg-corner{left:0;z-index:6;color:var(--dim);font:800 9px 'JetBrains Mono',monospace;}
  .dg-team{font:700 10px 'Inter',sans-serif;text-align:center;color:var(--dim);}
  .dg-team.mine{color:var(--cyan);background:rgba(79,140,255,.10);}
  .dg-round{position:sticky;left:0;z-index:3;min-height:76px;background:#111620;color:var(--dim);display:flex;align-items:center;justify-content:center;font:800 10px 'JetBrains Mono',monospace;}
  .dg-cell{min-height:76px;padding:7px;background:rgba(255,255,255,.012);position:relative;}
  .dg-cell.user-pick{background:rgba(79,140,255,.045);box-shadow:inset 0 0 0 1px rgba(79,140,255,.14);}
  .dg-cell.on-clock{background:rgba(69,212,138,.08);box-shadow:inset 0 0 0 2px rgba(69,212,138,.45);}
  .dg-empty{height:100%;display:flex;align-items:center;justify-content:center;color:rgba(146,152,166,.38);font:700 9px 'JetBrains Mono',monospace;}
  .dg-player{height:100%;border-radius:9px;padding:7px 8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.035);display:flex;flex-direction:column;justify-content:space-between;gap:4px;}
  .dg-player.pos-QB{background:rgba(238,106,116,.09);border-color:rgba(238,106,116,.18)}
  .dg-player.pos-RB{background:rgba(215,181,109,.09);border-color:rgba(215,181,109,.20)}
  .dg-player.pos-WR{background:rgba(79,140,255,.09);border-color:rgba(79,140,255,.20)}
  .dg-player.pos-TE{background:rgba(69,212,138,.08);border-color:rgba(69,212,138,.18)}
  .dg-player.pos-K,.dg-player.pos-DST{background:rgba(142,124,255,.08);border-color:rgba(142,124,255,.18)}
  .dg-name{font:700 11px 'Inter',sans-serif;line-height:1.15;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .dg-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;}
  .dg-pick{position:absolute;top:5px;right:6px;color:rgba(146,152,166,.55);font:700 8px 'JetBrains Mono',monospace;}
  .board-view-toggle{display:flex;gap:6px;margin-bottom:10px;padding:4px;border:1px solid var(--glass-border);border-radius:11px;background:rgba(255,255,255,.02);width:max-content;}
  .board-view-toggle button{border:0;border-radius:8px;background:transparent;color:var(--dim);padding:8px 12px;font:700 10px 'Inter',sans-serif;cursor:pointer;}
  .board-view-toggle button.active{background:rgba(79,140,255,.14);color:var(--text);}
  .player-list-section{display:none}.player-list-section.active{display:block}.draft-grid-section{display:block}.draft-grid-section.hidden{display:none}
  @media(max-width:700px){
    .silent-insights{grid-template-columns:1fr 1fr;}
    .silent-card.primary{grid-column:1/-1;min-height:86px;}
    .draft-grid-wrap{margin-left:-2px;margin-right:-2px;border-radius:13px;}
    .draft-grid{min-width:900px;grid-template-columns:48px repeat(var(--team-count,12),112px);}
    .dg-round,.dg-cell{min-height:72px;}
    .silent-board-head{align-items:flex-start;}
  }


  #espnSyncNote{
    transition:color .2s ease;
  }
  #espnSyncSwitch.on + *{
    color:var(--green);
  }


  .espn-setup-card{
    position:relative;
  }
  .espn-setup-card .card-head{
    display:flex;
    align-items:center;
  }
  .espn-setup-pill{
    margin-left:auto;
    padding:5px 9px;
    border-radius:999px;
    border:1px solid var(--glass-border);
    background:rgba(255,255,255,.035);
    color:var(--dim);
    font:700 9px 'JetBrains Mono',monospace;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .espn-setup-pill.ok{
    color:var(--green);
    border-color:rgba(61,220,151,.24);
    background:rgba(61,220,151,.07);
  }
  .espn-setup-pill.err{
    color:var(--amber);
    border-color:rgba(255,180,84,.24);
    background:rgba(255,180,84,.07);
  }
  .espn-security-note{
    margin:-2px 0 14px;
    max-width:850px;
  }
  .espn-setup-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .espn-setup-grid .span2{
    grid-column:1/-1;
  }
  .espn-field{
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .espn-field > span{
    color:var(--dim);
    font:800 9px 'JetBrains Mono',monospace;
    letter-spacing:.09em;
  }
  .espn-field input{
    width:100%;
    min-height:44px;
    padding:0 13px;
    border-radius:11px;
    border:1px solid var(--glass-border);
    background:rgba(255,255,255,.025);
    color:var(--text);
    font-size:13px;
  }
  .espn-field input:focus{
    outline:none;
    border-color:rgba(79,140,255,.48);
    box-shadow:0 0 0 3px rgba(79,140,255,.09);
  }
  .espn-field small{
    color:var(--dim);
    font-size:10px;
    line-height:1.4;
  }
  #espnLeagueDetected.detected{
    color:var(--green);
  }
  .espn-auth-state{
    align-self:end;
    min-height:44px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
    border:1px solid var(--glass-border);
    border-radius:11px;
    color:var(--dim);
    font-size:11px;
  }
  .espn-setup-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:14px;
  }
  .espn-clear-btn{
    margin-left:auto;
  }
  .espn-setup-result{
    margin-top:12px;
    padding:11px 12px;
    border-radius:10px;
    border:1px solid var(--glass-border);
    background:rgba(255,255,255,.02);
    color:var(--dim);
    font-size:11px;
    line-height:1.5;
  }
  .espn-setup-result.ok{
    color:var(--green);
    border-color:rgba(61,220,151,.18);
    background:rgba(61,220,151,.045);
  }
  .espn-setup-result.err{
    color:var(--amber);
    border-color:rgba(255,180,84,.18);
    background:rgba(255,180,84,.045);
  }
  .espn-one-tap-box{
    margin-top:14px;padding:14px;border-radius:14px;
    border:1px solid rgba(79,140,255,.20);
    background:linear-gradient(135deg,rgba(79,140,255,.08),rgba(142,124,255,.05));
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  .espn-one-tap-box>div{display:flex;flex-direction:column;gap:4px;min-width:0;}
  .espn-one-tap-box b{font:700 13px 'Space Grotesk',sans-serif;}
  .espn-one-tap-box span{color:var(--dim);font-size:11px;line-height:1.45;}
  .espn-connect-main{min-height:44px;white-space:nowrap;}
  .espn-advanced{margin-top:12px;border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.018);}
  .espn-advanced summary{cursor:pointer;list-style:none;padding:12px 14px;color:var(--dim);font:700 10px 'JetBrains Mono',monospace;display:flex;justify-content:space-between;align-items:center;}
  .espn-advanced summary::-webkit-details-marker{display:none;}
  .espn-advanced-body{padding:14px;border-top:1px solid var(--glass-border);}
  .espn-bottom-actions{margin-top:10px;}

  @media(max-width:700px){
    .espn-setup-grid{
      grid-template-columns:1fr;
    }
    .espn-setup-grid .span2{
      grid-column:auto;
    }
    .espn-clear-btn{
      margin-left:0;
      width:100%;
    }
    .espn-setup-actions .primary-btn,
    .espn-setup-actions .ghost-btn{
      min-height:44px;
    }
    .espn-one-tap-box{align-items:stretch;flex-direction:column;}
    .espn-connect-main{width:100%;min-height:48px;}
  }


  .model-note-1pfd{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid rgba(215,181,109,.18);
    border-radius:12px;
    background:rgba(215,181,109,.045);
    color:var(--dim);
    font-size:11px;
    line-height:1.45;
  }
  .model-note-1pfd b{
    color:var(--gold, #D7B56D);
    white-space:nowrap;
  }
  @media(max-width:650px){
    .model-note-1pfd{
      align-items:flex-start;
      flex-direction:column;
      gap:4px;
    }
  }


  .strategy-box{
    margin:14px 0 12px;
    padding:12px;
    border:1px solid rgba(215,181,109,.18);
    border-radius:13px;
    background:rgba(215,181,109,.04);
  }
  .strategy-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
  }
  .strategy-head > span{
    color:var(--dim);
    font:800 9px 'JetBrains Mono',monospace;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  #effectiveStrategyBadge{
    color:var(--gold,#D7B56D);
    font:800 9px 'JetBrains Mono',monospace;
    letter-spacing:.04em;
    text-align:right;
  }
  #draftStrategySelect{
    width:100%;
    min-height:42px;
    padding:0 38px 0 12px;
    border-radius:11px;
    font-size:12px !important;
  }
  .strategy-explain{
    margin-top:8px;
    color:var(--dim);
    font-size:10px;
    line-height:1.45;
  }
  @media(max-width:700px){
    #draftStrategySelect{
      min-height:48px;
      font-size:15px !important;
    }
    .strategy-explain{
      font-size:11px;
    }
  }


  /* =========================================================
     COCO MOBILE APP SHELL
     ========================================================= */
  .mobile-app-topbar,
  .mobile-bottom-nav,
  .mobile-app-drawer,
  .mobile-drawer-scrim{
    display:none;
  }

  @media(max-width:760px){
    html,body{
      min-height:100%;
      background:#000 !important;
      overscroll-behavior-y:none;
    }

    body{
      margin:0 !important;
      padding:0 !important;
      min-height:100dvh;
      color:#f5f5f5;
    }

    body.mobile-drawer-open{
      overflow:hidden;
    }

    .stage{
      width:100% !important;
      min-height:100dvh !important;
      padding:0 !important;
      margin:0 !important;
      background:#000 !important;
    }

    .content{
      width:100% !important;
      max-width:none !important;
      min-height:100dvh !important;
      margin:0 !important;
      padding:
        calc(env(safe-area-inset-top) + 78px)
        14px
        calc(env(safe-area-inset-bottom) + 94px) !important;
      box-sizing:border-box;
      background:#000 !important;
    }

    /* Desktop header becomes the app chrome. */
    body > .stage > .content > header{
      display:none !important;
    }

    .mobile-app-topbar{
      position:fixed;
      z-index:5000;
      inset:0 0 auto 0;
      height:calc(env(safe-area-inset-top) + 68px);
      padding:
        calc(env(safe-area-inset-top) + 10px)
        18px
        8px;
      box-sizing:border-box;
      display:grid;
      grid-template-columns:48px 1fr 48px;
      align-items:center;
      gap:10px;
      background:linear-gradient(180deg,#000 72%,rgba(0,0,0,.86));
    }

    .mobile-app-brand{
      min-width:0;
      text-align:center;
      line-height:1;
    }

    .mobile-app-brand b{
      display:block;
      font-family:'Space Grotesk',sans-serif;
      font-size:19px;
      font-weight:700;
      letter-spacing:-.04em;
      color:#f3f2ed;
    }

    .mobile-app-brand b span{
      color:var(--cyan);
    }

    .mobile-app-brand small{
      display:block;
      margin-top:5px;
      color:#777e8c;
      font:700 8px 'JetBrains Mono',monospace;
      letter-spacing:.14em;
      text-transform:uppercase;
    }

    .mobile-round-btn{
      width:46px !important;
      height:46px !important;
      min-width:46px !important;
      min-height:46px !important;
      padding:0 !important;
      display:grid !important;
      place-items:center !important;
      border-radius:50% !important;
      border:1px solid rgba(255,255,255,.13) !important;
      background:#151515 !important;
      box-shadow:inset 0 1px rgba(255,255,255,.06) !important;
      color:#f4f4f4 !important;
      font-size:20px !important;
      line-height:1 !important;
    }

    .mobile-bottom-nav{
      position:fixed;
      z-index:4900;
      left:12px;
      right:12px;
      bottom:calc(env(safe-area-inset-bottom) + 8px);
      min-height:68px;
      padding:5px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:3px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:26px;
      background:rgba(20,20,20,.96);
      box-shadow:0 14px 50px rgba(0,0,0,.55);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
    }

    .mobile-bottom-nav button{
      min-width:0 !important;
      min-height:56px !important;
      padding:7px 2px 5px !important;
      border:0 !important;
      border-radius:21px !important;
      background:transparent !important;
      color:#767a84 !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:center !important;
      justify-content:center !important;
      gap:3px !important;
      box-shadow:none !important;
    }

    .mobile-bottom-nav button > span{
      font-size:18px;
      line-height:1;
    }

    .mobile-bottom-nav button > small{
      font:700 8px 'JetBrains Mono',monospace;
      letter-spacing:.04em;
    }

    .mobile-bottom-nav button.active{
      color:#fff !important;
      background:rgba(79,140,255,.17) !important;
    }

    .mobile-bottom-nav button.active > span{
      color:#72a4ff;
    }

    .mobile-drawer-scrim{
      position:fixed;
      z-index:5090;
      inset:0;
      display:none;
      background:rgba(0,0,0,.58);
      backdrop-filter:blur(4px);
      -webkit-backdrop-filter:blur(4px);
    }

    .mobile-app-drawer{
      position:fixed;
      z-index:5100;
      top:calc(env(safe-area-inset-top) + 72px);
      left:14px;
      width:min(290px,calc(100vw - 28px));
      padding:8px;
      display:none;
      border:1px solid rgba(255,255,255,.11);
      border-radius:22px;
      background:#151515;
      box-shadow:0 24px 80px rgba(0,0,0,.65);
    }

    body.mobile-drawer-open .mobile-app-drawer{
      display:grid;
      gap:4px;
    }

    body.mobile-drawer-open .mobile-drawer-scrim{
      display:block;
    }

    .mobile-app-drawer button{
      display:flex !important;
      align-items:center !important;
      gap:12px !important;
      width:100% !important;
      min-height:52px !important;
      padding:0 15px !important;
      border:0 !important;
      border-radius:15px !important;
      background:transparent !important;
      color:#f3f3f3 !important;
      font-size:15px !important;
      text-align:left !important;
      box-shadow:none !important;
    }

    .mobile-app-drawer button:active{
      background:rgba(255,255,255,.08) !important;
    }

    /* Every view becomes a true app screen. */
    .workspace-view{
      width:100% !important;
      max-width:none !important;
      margin:0 !important;
    }

    .workspace-heading{
      padding:2px 4px 14px !important;
      margin:0 !important;
    }

    .workspace-heading .eyebrow{
      font-size:9px !important;
    }

    .workspace-heading h1{
      font-size:26px !important;
      line-height:1.02 !important;
      letter-spacing:-.04em !important;
    }

    .workspace-heading p{
      font-size:12px !important;
      line-height:1.5 !important;
    }

    /* -------------------------------------------------------
       ASSISTANT = immersive mobile home screen
       ------------------------------------------------------- */
    body.mobile-assistant-open .content{
      padding:
        calc(env(safe-area-inset-top) + 68px)
        0
        calc(env(safe-area-inset-bottom) + 92px) !important;
    }

    body.mobile-assistant-open .mobile-bottom-nav{
      opacity:.0;
      pointer-events:none;
      transform:translateY(20px);
    }

    body.mobile-assistant-open #assistantView{
      min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 160px);
    }

    #assistantView .workspace-heading{
      display:none !important;
    }

    #assistantView .assistant-workspace{
      width:100% !important;
      height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 92px) !important;
      min-height:590px !important;
      margin:0 !important;
      padding:0 !important;
      display:block !important;
      position:relative !important;
      background:#000 !important;
      border:0 !important;
      box-shadow:none !important;
    }

    #assistantView .hero{
      position:absolute !important;
      inset:0 !important;
      width:100% !important;
      min-height:0 !important;
      height:100% !important;
      padding:0 !important;
      border:0 !important;
      border-radius:0 !important;
      background:#000 !important;
      box-shadow:none !important;
      overflow:hidden !important;
    }

    #assistantView .hero::before{
      display:none !important;
    }

    #assistantView .avatar-stage{
      position:absolute !important;
      inset:0 !important;
      width:100% !important;
      height:100% !important;
      min-height:0 !important;
      background:transparent !important;
    }

    #assistantView .avatar-glow{
      opacity:.72 !important;
      filter:blur(34px) !important;
      transform:scale(1.12) !important;
    }

    #assistantView .avatar-center{
      top:47% !important;
      left:50% !important;
      width:min(54vw,250px) !important;
      height:min(54vw,250px) !important;
      margin:0 !important;
      transform:translate(-50%,-50%) !important;
      border-width:2px !important;
      box-shadow:
        0 0 0 1px rgba(79,140,255,.14),
        0 0 48px rgba(79,140,255,.16) !important;
    }

    #assistantView .avatar-img{
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
    }

    #assistantView #heroStatus{
      position:absolute !important;
      left:50% !important;
      bottom:27% !important;
      transform:translateX(-50%) !important;
      width:auto !important;
      max-width:80vw !important;
      min-height:0 !important;
      padding:7px 11px !important;
      border:1px solid rgba(255,255,255,.08) !important;
      border-radius:999px !important;
      background:rgba(20,20,20,.62) !important;
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      color:#9da2ad !important;
      font:700 9px 'JetBrains Mono',monospace !important;
      letter-spacing:.08em !important;
      white-space:nowrap;
      z-index:4;
    }

    #assistantView .bubble-icon,
    #assistantView .orbit-ring{
      display:none !important;
    }

    /* Chat becomes a translucent overlay above the composer. */
    #assistantView #chatPanel{
      position:absolute !important;
      z-index:8 !important;
      left:16px !important;
      right:16px !important;
      top:4px !important;
      height:auto !important;
      max-height:30vh !important;
      min-height:0 !important;
      padding:0 !important;
      border:0 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      overflow-y:auto !important;
      mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 100%);
      -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 100%);
    }

    #assistantView #chatPanel .msg{
      margin:8px 0 !important;
    }

    #assistantView #chatPanel .bubble{
      width:auto !important;
      max-width:84% !important;
      padding:10px 13px !important;
      border-radius:17px !important;
      background:rgba(24,24,25,.86) !important;
      border:1px solid rgba(255,255,255,.08) !important;
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      color:#f1f1f1 !important;
      font-size:13px !important;
      line-height:1.45 !important;
    }

    #assistantView #chatPanel .msg.user{
      justify-content:flex-end !important;
    }

    #assistantView #chatPanel .msg.user .bubble{
      background:rgba(79,140,255,.16) !important;
      border-color:rgba(79,140,255,.22) !important;
    }

    /* Composer matches the familiar mobile chat pill. */
    #assistantView .composer{
      position:fixed !important;
      z-index:5200 !important;
      left:12px !important;
      right:12px !important;
      bottom:calc(env(safe-area-inset-bottom) + 9px) !important;
      width:auto !important;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      background:transparent !important;
      box-shadow:none !important;
    }

    #assistantView .composer-chips{
      margin:0 4px 7px !important;
      max-height:64px;
      overflow:auto;
    }

    #assistantView .composer-bar{
      width:100% !important;
      min-height:58px !important;
      padding:5px !important;
      display:grid !important;
      grid-template-columns:minmax(0,1fr) auto !important;
      align-items:end !important;
      gap:6px !important;
      border:1px solid rgba(255,255,255,.12) !important;
      border-radius:29px !important;
      background:#151515 !important;
      box-shadow:0 12px 34px rgba(0,0,0,.55) !important;
    }

    #assistantView #chatInput{
      width:100% !important;
      min-height:46px !important;
      max-height:118px !important;
      padding:12px 8px 10px 14px !important;
      border:0 !important;
      border-radius:22px !important;
      background:transparent !important;
      box-shadow:none !important;
      color:#f5f5f5 !important;
      font-size:16px !important;
      line-height:1.35 !important;
      resize:none !important;
    }

    #assistantView #chatInput::placeholder{
      color:#7e7e84 !important;
    }

    #assistantView .composer-actions{
      display:flex !important;
      align-items:center !important;
      gap:5px !important;
      padding:0 !important;
    }

    #assistantView .composer-actions .icon-btn,
    #assistantView .composer-actions .primary-btn{
      width:46px !important;
      height:46px !important;
      min-width:46px !important;
      min-height:46px !important;
      padding:0 !important;
      display:grid !important;
      place-items:center !important;
      border-radius:50% !important;
      font-size:0 !important;
      border:1px solid rgba(255,255,255,.10) !important;
    }

    #assistantView #attachBtn{
      display:none !important;
    }

    #assistantView #voiceBtn{
      background:#202020 !important;
      color:#fff !important;
    }

    #assistantView #voiceBtn::before{
      content:'🎙';
      font-size:18px;
    }

    #assistantView #sendBtn{
      background:#f2f2f2 !important;
      color:#050505 !important;
    }

    #assistantView #sendBtn::before{
      content:'↑';
      font-size:23px;
      font-weight:700;
    }

    /* Draft, board, settings: clean app cards instead of edge-to-edge desktop panels. */
    #draftView,
    #boardView,
    #settingsView{
      padding-bottom:12px !important;
    }

    #draftView .card,
    #boardView .card,
    #settingsView .card,
    #draftView section,
    #settingsView section{
      border-radius:20px !important;
    }

    #draftView .draft-command-grid,
    #settingsView .settings-grid{
      gap:12px !important;
    }

    #boardView .model-note-1pfd{
      margin:0 2px 12px !important;
    }

    /* Hide redundant desktop-only utility buttons in the app shell. */
    .quick-coco-btn[data-open-assistant]{
      display:none !important;
    }
  }


  /* =========================================================
     MOBILE AVATAR PHOTO FIX
     Keep COCO's real embedded photo visible at all times.
     ========================================================= */
  @media(max-width:760px){
    #assistantView .avatar-stage{
      isolation:isolate !important;
    }

    #assistantView .avatar-center,
    #assistantView .avatar-center.hide{
      display:flex !important;
      visibility:visible !important;
      opacity:1 !important;
      z-index:6 !important;
      pointer-events:auto !important;

      top:47% !important;
      left:50% !important;
      width:min(58vw,260px) !important;
      height:min(58vw,260px) !important;
      margin:0 !important;

      /* Override the old .hide { transform:scale(.6) } state. */
      transform:translate(-50%,-50%) scale(1) !important;
    }

    #assistantView #avatarImgCenter{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
      object-position:center center !important;
      border-radius:50% !important;
      position:relative !important;
      z-index:2 !important;
    }

    /* Keep state feedback as a glow around the real photo rather
       than replacing the photo with an icon/orbit animation. */
    #assistantView .bubble-icon,
    #assistantView .orbit-ring{
      display:none !important;
      opacity:0 !important;
    }

    #assistantView .avatar-glow{
      display:block !important;
      visibility:visible !important;
      opacity:.62 !important;
      z-index:1 !important;
    }
  }


  /* =========================================================
     MOBILE STATIC NAV — V2
     Keep bottom navigation visible on every mobile screen.
     ========================================================= */
  @media(max-width:760px){
    .mobile-bottom-nav{
      position:fixed !important;
      z-index:4900 !important;
      left:12px !important;
      right:12px !important;
      bottom:calc(env(safe-area-inset-bottom) + 8px) !important;
      display:grid !important;
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transform:none !important;
    }

    /* The Assistant screen used to hide the nav to mimic a voice-only UI.
       Keep it visible now, just like the other app pages. */
    body.mobile-assistant-open .mobile-bottom-nav{
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transform:none !important;
    }

    /* Reserve space for the fixed nav on every page. */
    .content{
      padding-bottom:calc(env(safe-area-inset-bottom) + 104px) !important;
    }

    body.mobile-assistant-open .content{
      padding-bottom:calc(env(safe-area-inset-bottom) + 104px) !important;
    }

    /* Lift the Assistant composer above the fixed navigation bar. */
    #assistantView .composer{
      bottom:calc(env(safe-area-inset-bottom) + 88px) !important;
    }

    /* Give the immersive assistant enough space above both fixed controls. */
    #assistantView .assistant-workspace{
      height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 168px) !important;
      min-height:520px !important;
    }

    /* All non-assistant screens get reliable breathing room below cards. */
    #draftView,
    #boardView,
    #settingsView{
      padding-bottom:22px !important;
    }
  }



  /* ==========================================================
     SEASON HUB · mobile-first trade lab + league rankings
     ========================================================== */
  .season-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;align-items:start}
  .season-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:18px;backdrop-filter:blur(18px)}
  .season-card h2{font:700 20px 'Space Grotesk',sans-serif;margin:2px 0 4px}
  .season-card p{color:var(--dim);font-size:12px;line-height:1.45;margin:0}
  .season-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}
  .season-toolbar select{width:auto;min-width:180px;margin:0}
  .season-status{font:600 10px 'JetBrains Mono',monospace;color:var(--dim);margin-left:auto}
  .season-tabs{display:flex;gap:6px;margin:16px 0;padding:4px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:12px;width:max-content;max-width:100%}
  .season-tab{border:0;background:transparent;color:var(--dim);font-weight:700;font-size:11px;padding:9px 13px;border-radius:9px;cursor:pointer}
  .season-tab.active{background:rgba(79,140,255,.15);color:var(--text)}
/* Matchups moved to the mobile hamburger menu; keep its pane routable without showing a League Center tab. */
.season-tab[data-season-tab="matchups"]{display:none!important}
  .season-pane{display:none}.season-pane.active{display:block}
  .trade-teams{display:grid;grid-template-columns:1fr 64px 1fr;gap:10px;align-items:start}
  .trade-side{min-width:0}.trade-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
  .trade-side-head select{margin:0;min-width:0}
  .trade-side-label{font:700 10px 'JetBrains Mono',monospace;color:var(--dim)}
  .trade-arrow{align-self:center;text-align:center;font-size:24px;color:var(--cyan);padding-top:42px}
  .trade-roster{display:flex;flex-direction:column;gap:7px;max-height:455px;overflow:auto;padding-right:2px}
  .trade-player{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--glass-border);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
  .trade-player.selected{border-color:var(--cyan);background:rgba(79,140,255,.11)}
  .trade-player input{width:18px;height:18px;accent-color:var(--cyan)}
  .trade-player b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .trade-player small{display:block;color:var(--dim);font-size:10px;margin-top:2px}
  .trade-val{font:700 11px 'JetBrains Mono',monospace;color:var(--cyan)}
  .trade-result{margin-top:14px;padding:14px;border-radius:14px;border:1px solid var(--glass-border);background:rgba(255,255,255,.025)}
  .trade-score-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center}
  .trade-score{font:700 28px 'Space Grotesk',sans-serif}.trade-score small{font:600 9px 'JetBrains Mono',monospace;color:var(--dim);display:block;margin-top:2px}
  .trade-verdict{font:700 11px 'JetBrains Mono',monospace;color:var(--green);padding:6px 8px;border:1px solid rgba(69,212,138,.25);border-radius:999px}
  .trade-explain{font-size:11.5px;color:var(--dim);line-height:1.45;margin-top:10px;text-align:left}
  .rank-list{display:flex;flex-direction:column;gap:10px}
  .rank-card{border:1px solid var(--glass-border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.018));padding:12px 13px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
  .rank-card:hover{border-color:rgba(79,140,255,.26);background:linear-gradient(180deg,rgba(79,140,255,.055),rgba(255,255,255,.02));transform:translateY(-1px)}
  .rank-card.mine{border-color:rgba(79,140,255,.45);background:linear-gradient(180deg,rgba(79,140,255,.09),rgba(255,255,255,.02))}
  .rank-card.expanded{border-color:rgba(79,140,255,.38);background:linear-gradient(180deg,rgba(79,140,255,.08),rgba(255,255,255,.022))}
  .rank-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:center}
  .rank-num{font:800 24px 'Space Grotesk',sans-serif;color:var(--text);line-height:1;min-width:28px;text-align:center}
  .rank-badge{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(79,140,255,.20),rgba(142,124,255,.18));border:1px solid rgba(255,255,255,.08);font:800 12px 'JetBrains Mono',monospace;color:var(--text);text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
  .rank-main{min-width:0}
  .rank-title-row{display:flex;gap:8px;align-items:center;min-width:0}
  .rank-title-row b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rank-grade{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:21px;padding:0 7px;border-radius:7px;background:rgba(255,255,255,.06);font:800 10px 'JetBrains Mono',monospace;color:var(--text)}
  .rank-sub{display:flex;gap:9px;flex-wrap:wrap;color:var(--dim);font-size:10px;margin-top:4px}
  .rank-sub span b{color:var(--text);font-weight:700}
  .rank-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:68px}
  .rank-score b{font:800 23px 'Space Grotesk',sans-serif;color:var(--cyan);line-height:1}
  .rank-score small{display:block;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;letter-spacing:.06em}
  .rank-bar{display:grid;grid-template-columns:14% 24% 34% 14%;gap:2px;height:20px;margin-top:10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.04)}
  .rank-seg{display:flex;align-items:center;justify-content:center;font:800 10px 'JetBrains Mono',monospace;color:#091018;text-shadow:none}
  .rank-seg.qb{background:#1dc9a8}
  .rank-seg.rb{background:#22aef2}
  .rank-seg.wr{background:#ff3d78}
  .rank-seg.te{background:#d535ef}
  .rank-minirow{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
  .rank-mini{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);color:var(--dim);font:700 9px 'JetBrains Mono',monospace}
  .rank-mini b{color:var(--text);font-size:10px}
  .rank-chevron{margin-left:auto;color:var(--dim);font-size:14px;transition:transform .15s ease}
  .rank-card.expanded .rank-chevron{transform:rotate(180deg)}
  .rank-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
  .rank-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
  .rank-component{padding:10px;border:1px solid var(--glass-border);border-radius:11px;background:rgba(255,255,255,.022)}
  .rank-component span{display:block;color:var(--dim);font:700 8.5px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.04em}
  .rank-component b{display:block;font:700 17px 'Space Grotesk',sans-serif;margin-top:4px}
  .rank-component small{display:block;color:var(--dim);font-size:8.5px;margin-top:2px}
  .rank-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 12px}
  .rank-room{border:1px solid var(--glass-border);border-radius:13px;background:rgba(255,255,255,.02);overflow:hidden;min-width:0}
  .rank-room-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 8px;border-bottom:1px solid rgba(255,255,255,.05)}
  .rank-room-head b{font-size:12px}
  .rank-room-head span{color:var(--dim);font:700 9px 'JetBrains Mono',monospace}
  .rank-player-list{display:flex;flex-direction:column}
  .rank-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border-top:1px solid rgba(255,255,255,.04)}
  .rank-player:first-child{border-top:0}
  .rank-player b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rank-player small{display:block;color:var(--dim);font-size:9px;margin-top:2px}
  .rank-player-val{text-align:right;font:800 11px 'JetBrains Mono',monospace;color:var(--cyan)}
  .rank-player-val small{display:block;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;margin-top:2px}
  .rank-why{font-size:11px;line-height:1.5;color:var(--text);margin:5px 0 10px}
  .rank-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .rank-insight{padding:10px;border-radius:11px;background:rgba(255,255,255,.022);border:1px solid var(--glass-border)}
  .rank-insight span{display:block;color:var(--dim);font:700 8.5px 'JetBrains Mono',monospace;text-transform:uppercase}
  .rank-insight b{display:block;font-size:10.8px;margin-top:5px}
  .rank-formula{margin-top:10px;padding:10px;border-radius:10px;border:1px dashed var(--glass-border);font-size:9.5px;color:var(--dim);line-height:1.45}
  .season-empty{padding:20px;text-align:center;color:var(--dim);font-size:12px;border:1px dashed var(--glass-border);border-radius:12px}
  @media(max-width:900px){.season-grid{grid-template-columns:1fr}.season-side-card{order:-1}}
  @media(max-width:760px){
    #seasonView .workspace-heading{padding-top:4px}
    #seasonView .workspace-heading p{font-size:12px}
    .season-card{padding:13px;border-radius:15px}
    .season-toolbar{display:grid;grid-template-columns:1fr auto}.season-toolbar select{width:100%;min-width:0}.season-status{grid-column:1/-1;margin-left:0}
    .season-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.season-tab{padding:10px 5px;font-size:10px}
    .trade-teams{grid-template-columns:1fr;gap:12px}.trade-arrow{padding:0;transform:rotate(90deg);font-size:18px}
    .trade-roster{max-height:310px}.trade-player{min-height:52px;padding:10px 9px}
    .trade-score-row{grid-template-columns:1fr auto 1fr}.trade-score{font-size:24px}
    .rank-card{padding:11px}
    .rank-head{grid-template-columns:auto auto minmax(0,1fr) auto;gap:9px}
    .rank-num{font-size:20px}
    .rank-badge{width:34px;height:34px;border-radius:10px;font-size:11px}
    .rank-score{min-width:54px}.rank-score b{font-size:19px}
    .rank-sub{gap:6px}
    .rank-bar{grid-template-columns:16% 24% 34% 16%;height:18px}
    .rank-seg{font-size:9px}
    .rank-summary-grid{grid-template-columns:1fr 1fr}.rank-component:last-child{grid-column:1/-1}
    .rank-room-grid{grid-template-columns:1fr 1fr}
    .rank-insights{grid-template-columns:1fr}.rank-controls{align-items:stretch}.rank-mode{width:100%;display:grid;grid-template-columns:1fr 1fr}.rank-mode button{padding:10px 6px}
    .mobile-bottom-nav{grid-template-columns:repeat(5,1fr)!important}
    .mobile-bottom-nav button{min-width:0;padding-left:2px!important;padding-right:2px!important}
    .mobile-bottom-nav small{font-size:9px!important}
  }



/* === COCO v2.4 · fantasy platform cleanup === */
#assistantView{display:none!important}
.quick-coco-btn,[data-open-assistant]{display:none!important}
.logo span,.mobile-app-brand b span{display:none}
.product-dashboard{display:grid;gap:16px}
.product-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:20px;border:1px solid var(--glass-border);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))}
.product-hero h1{margin:4px 0 5px;font-size:30px}.product-hero p{margin:0;color:var(--dim);max-width:680px}
.product-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.product-card{border:1px solid var(--glass-border);border-radius:20px;background:rgba(255,255,255,.035);padding:17px;min-width:0}
.product-card h2,.product-card h3{margin:3px 0 10px}.product-card p{color:var(--dim)}
.product-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.product-stat{padding:11px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055)}.product-stat b{font-size:19px;display:block}.product-stat span{font:10px 'JetBrains Mono',monospace;color:var(--dim);text-transform:uppercase}
.product-list{display:grid;gap:8px}.product-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}.product-row .meta{color:var(--dim);font-size:11px}.product-row .score{font-family:'JetBrains Mono',monospace;font-weight:700}
.product-lineup{display:grid;gap:8px}.product-player{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}.product-slot{font:10px 'JetBrains Mono',monospace;color:var(--cyan);font-weight:700}.product-player small{display:block;color:var(--dim);margin-top:2px}.product-proj{font-family:'JetBrains Mono',monospace;font-weight:700;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.product-proj::before{content:'PROJ';font:700 8px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--dim)}.product-proj.product-ros::before{content:'ROS AVG'}.metric-value{display:flex;align-items:baseline;gap:5px;white-space:nowrap;font-family:'JetBrains Mono',monospace;font-weight:700}.metric-value small{font:700 8px 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}.metric-value.coco small{color:var(--amber)}.metric-value.win small{color:var(--cyan)}
.product-room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.product-room{padding:13px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border)}.product-room h3{font-size:13px}.product-room .product-row{padding:8px;border:none;background:transparent;border-bottom:1px solid rgba(255,255,255,.05);border-radius:0}.product-room .product-row:last-child{border-bottom:none}
.source-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid var(--glass-border);background:rgba(255,255,255,.04);font:10px 'JetBrains Mono',monospace;color:var(--dim)}
#seasonView .workspace-heading h1{font-size:30px}#seasonView .workspace-heading .eyebrow{color:var(--cyan)}
#seasonView .season-tabs{margin-top:12px}
#seasonView .rank-method{font-size:10px}
.legacy-advanced-note{margin-top:14px;padding:10px 12px;border-radius:12px;background:rgba(255,180,84,.08);border:1px solid rgba(255,180,84,.18);font-size:11px;color:var(--dim)}
@media(max-width:900px){.product-grid{grid-template-columns:1fr}.product-room-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .product-hero{padding:15px;align-items:flex-start;flex-direction:column}.product-hero h1{font-size:24px}
 .product-stat-row{grid-template-columns:1fr 1fr}.product-room-grid{grid-template-columns:1fr}.product-card{padding:13px}
 .mobile-bottom-nav{grid-template-columns:repeat(5,1fr)!important}
}


/* v2.4 final cleanup: keep legacy plumbing out of the product UI */
#settingsView .status-card,#settingsView .session-card,#settingsView .files-card,#settingsView .settings-card{display:none!important}
#boardView .mock-capture-card,#boardView .silent-insights,#boardView .silent-board-head,#boardView .board-view-toggle,#boardView .draft-grid-section{display:none!important}
#boardView #playerListSection{display:block!important}


/* === Harvest Church Fantasy Football League branding · v2.6 === */
:root{--harvest-gold:#f5c934;--harvest-navy:#08052f;}
.harvest-app-brand{display:flex;flex-direction:column;align-items:center;line-height:1.05;min-width:190px;}
.harvest-app-brand b{font-size:17px;letter-spacing:.08em;color:#fff;}
.harvest-app-brand small{font-size:9px;letter-spacing:.22em;text-transform:uppercase;margin-top:4px;color:var(--harvest-gold);}
.harvest-app-brand span{font-size:8px;letter-spacing:.12em;margin-top:4px;color:#858ba4;text-transform:uppercase;}
.harvest-logo{display:flex!important;flex-direction:column;line-height:1.05;gap:3px;}
.harvest-logo>span{font-size:22px;font-weight:800;letter-spacing:.07em;color:#fff;}
.harvest-logo>small{font-size:9px;letter-spacing:.16em;color:var(--harvest-gold);font-weight:700;}
.harvest-logo>em{font-size:8px;letter-spacing:.12em;color:#858ba4;font-style:normal;text-transform:uppercase;}
.harvest-product-hero .eyebrow{color:var(--harvest-gold);}
.harvest-product-hero h1{letter-spacing:-.02em;}
@media(max-width:700px){.harvest-app-brand b{font-size:15px}.harvest-app-brand span{font-size:7px}}



/* === Harvest visual identity · v2.7 === */
:root{
  --harvest-navy:#07042f;
  --harvest-navy-2:#0d0a3e;
  --harvest-gold:#f6ca37;
  --harvest-cream:#f4f2ed;
  --harvest-ink:#12113f;
}
body{
  background:
    radial-gradient(circle at 50% -15%, rgba(246,202,55,.10), transparent 31%),
    linear-gradient(180deg,#05031f 0%,#08052f 44%,#040319 100%);
}
.harvest-mobile-crest{
  width:40px;height:40px;border-radius:12px;overflow:hidden;position:relative;
  background:var(--harvest-gold);box-shadow:0 0 0 1px rgba(246,202,55,.30),0 8px 24px rgba(0,0,0,.28);
  flex:0 0 auto;
}
.harvest-mobile-crest img{
  height:40px;width:auto;max-width:none;display:block;
  /* The supplied wordmark is clipped so only the real Harvest arch/wheat mark shows. */
  transform:translateX(-1px) scale(1.02);transform-origin:left center;
}
.mobile-app-brand.harvest-app-brand{min-width:0;flex:1;align-items:flex-start;padding-left:10px;}
.mobile-app-brand.harvest-app-brand b{font-size:13px;letter-spacing:.045em;white-space:nowrap;}
.mobile-app-brand.harvest-app-brand small{font-size:8px;letter-spacing:.18em;margin-top:3px;}
.mobile-app-brand.harvest-app-brand span{font-size:7px;margin-top:3px;}
.harvest-mobile-brand-wrap{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;}

.harvest-desktop-lockup{display:flex;align-items:center;gap:12px;}
.harvest-desktop-crest{width:52px;height:52px;border-radius:15px;overflow:hidden;background:var(--harvest-gold);flex:0 0 auto;box-shadow:0 0 0 1px rgba(246,202,55,.25);}
.harvest-desktop-crest img{height:52px;width:auto;max-width:none;display:block;transform:translateX(-1px) scale(1.02);transform-origin:left center;}
.harvest-logo>span{font-family:Georgia,'Times New Roman',serif;font-size:22px;letter-spacing:.035em;}
.harvest-logo>small{letter-spacing:.14em;}

.harvest-league-hero{
  position:relative;overflow:hidden;border:1px solid rgba(246,202,55,.20)!important;
  background:linear-gradient(145deg,rgba(13,10,62,.96),rgba(5,3,31,.98))!important;
  padding:22px!important;
}
.harvest-league-hero:after{
  content:'';position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-120px;
  background:radial-gradient(circle,rgba(246,202,55,.18),rgba(246,202,55,0) 68%);pointer-events:none;
}
.harvest-hero-lockup{
  width:min(560px,100%);background:var(--harvest-cream);border-radius:18px;padding:13px 16px 10px;
  box-shadow:0 14px 34px rgba(0,0,0,.20);margin-bottom:18px;
}
.harvest-hero-lockup img{display:block;width:100%;height:auto;}
.harvest-league-title{font-size:clamp(25px,4vw,42px)!important;line-height:1.03;margin:5px 0 8px!important;max-width:760px;}
.harvest-league-kicker{color:var(--harvest-gold)!important;font-weight:800;letter-spacing:.18em!important;}
.harvest-powered{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:#a8adc0;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.10em;text-transform:uppercase;}
.harvest-powered:before{content:'✦';color:var(--harvest-gold);font-size:11px;}
.source-pill{border-color:rgba(246,202,55,.22)!important;}
.product-stat b,#homePowerScore{color:var(--harvest-gold);}
.nav-tab.active,.primary-btn,.mobile-bottom-nav button.active{
  background:linear-gradient(135deg,rgba(246,202,55,.98),rgba(226,170,30,.98))!important;
  color:var(--harvest-ink)!important;
  box-shadow:0 8px 24px rgba(246,202,55,.12);
}
.mobile-bottom-nav button.active > span{color:var(--harvest-ink)!important;}
.mobile-bottom-nav button.active small{color:var(--harvest-ink)!important;}
.eyebrow{color:var(--harvest-gold);}

@media(max-width:700px){
  .mobile-app-topbar{background:rgba(4,3,25,.93)!important;border-bottom:1px solid rgba(246,202,55,.13);}
  .harvest-mobile-crest{width:36px;height:36px;border-radius:10px;}
  .harvest-mobile-crest img{height:36px;}
  .harvest-league-hero{padding:16px!important;border-radius:20px!important;}
  .harvest-hero-lockup{padding:9px 11px 7px;border-radius:13px;margin-bottom:14px;}
  .harvest-league-title{font-size:28px!important;}
  .harvest-product-hero p{font-size:13px;line-height:1.5;}
}



/* === Harvest supplied-logo refinement · v2.8 === */
.harvest-mobile-brand-wrap{gap:0;justify-content:center;}
.harvest-mobile-crest{
  width:154px;height:42px;border-radius:0;overflow:hidden;background:transparent;
  box-shadow:none;display:flex;align-items:center;justify-content:center;flex:0 1 154px;
}
.harvest-mobile-crest img{
  width:154px!important;height:auto!important;max-width:100%!important;display:block;
  transform:none!important;object-fit:contain;
}
.mobile-app-brand.harvest-app-brand{display:none!important;}

.harvest-desktop-lockup{gap:14px;align-items:center;}
.harvest-desktop-crest{
  width:216px;height:88px;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;
  display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;
}
.harvest-desktop-crest img{
  width:216px!important;height:auto!important;max-width:100%!important;display:block;transform:none!important;
}
.harvest-desktop-lockup .harvest-logo{display:none!important;}

.harvest-league-hero{
  background:
    radial-gradient(circle at 90% 0%,rgba(246,202,55,.13),transparent 34%),
    linear-gradient(145deg,rgba(11,8,58,.98),rgba(4,3,27,.99))!important;
}
.harvest-hero-lockup{
  width:min(430px,100%);background:transparent;border-radius:0;padding:0;margin:0 0 16px;
  box-shadow:none;border:0;
}
.harvest-hero-lockup img{width:min(390px,100%);height:auto;display:block;}
.harvest-league-kicker{
  display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;
  background:rgba(246,202,55,.10);border:1px solid rgba(246,202,55,.22);
}
.harvest-league-title{margin-top:11px!important;}
.harvest-powered{padding-top:2px;}

@media(max-width:700px){
  .mobile-app-topbar{min-height:64px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));}
  .harvest-mobile-crest{width:142px;height:38px;flex-basis:142px;}
  .harvest-mobile-crest img{width:142px!important;}
  .harvest-hero-lockup{margin-bottom:14px;}
  .harvest-hero-lockup img{width:min(320px,100%);margin:0 auto;}
  .harvest-league-hero{text-align:left;}
}


/* v2.9 branding asset fallback */
.harvest-mobile-crest.logo-fallback::after,.harvest-desktop-crest.logo-fallback::after,.harvest-hero-lockup.logo-fallback::after{content:"HARVEST CHURCH";display:flex;align-items:center;font-family:Georgia,'Times New Roman',serif;font-weight:800;letter-spacing:.025em;color:#fff;line-height:.9;}
.harvest-mobile-crest.logo-fallback::after{font-size:12px;max-width:84px;}
.harvest-desktop-crest.logo-fallback::after{font-size:18px;max-width:150px;}
.harvest-hero-lockup.logo-fallback::after{font-size:28px;max-width:240px;}

.home-team-chip{display:inline-flex;align-items:center;gap:9px;margin-top:12px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);max-width:100%;}
.home-team-chip span{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.16em;color:var(--harvest-gold);white-space:nowrap;}
.home-team-chip b{font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:700px){.home-team-chip{margin-top:10px;padding:7px 10px}.home-team-chip b{font-size:12px;max-width:210px}}
.product-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.product-card-title-row h2{margin-bottom:0}.product-link-btn{border:1px solid rgba(245,197,66,.34);background:rgba(245,197,66,.08);color:var(--harvest-gold);border-radius:999px;padding:8px 12px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.product-action-row{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;border-left:0;border-right:0}.product-action-row:hover,.product-action-row:focus-visible{background:rgba(245,197,66,.08);outline:none}.product-action-row span{color:var(--harvest-gold);font-weight:800}@media(max-width:640px){.product-card-title-row{align-items:flex-start}.product-link-btn{padding:7px 10px;font-size:.76rem}}

/* v3.3 matchup cards + mobile header cleanup */
.matchup-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.matchup-method{color:#9aa1b9;font-size:.92rem;line-height:1.45;max-width:540px}
.matchup-list{display:grid;grid-template-columns:1fr;gap:14px}
.matchup-card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-radius:22px;padding:18px 18px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.matchup-card.mine{border-color:rgba(246,202,55,.30);box-shadow:0 0 0 1px rgba(246,202,55,.08),0 16px 36px rgba(0,0,0,.22)}
.matchup-card.mine .matchup-badge{background:rgba(246,202,55,.14);border-color:rgba(246,202,55,.28);color:var(--harvest-gold)}
.matchup-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.matchup-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.03);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#cfd4e6}
.matchup-teams{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:12px;align-items:stretch}
.matchup-team{border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.03);padding:14px 14px 12px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.matchup-team.winner{border-color:rgba(246,202,55,.26);background:linear-gradient(180deg,rgba(246,202,55,.10),rgba(246,202,55,.04))}
.matchup-team b{display:block;font-size:1.15rem;line-height:1.18;margin-bottom:8px;color:#fff}
.matchup-team small{display:block;color:#aeb5cc;font-size:.82rem;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
.matchup-proj{margin-top:14px;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;color:#fff}
.matchup-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.025);color:#9aa1b9;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.matchup-vs b{display:block;font-size:1.05rem;letter-spacing:.08em;color:var(--harvest-gold)}
.vs-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.vs-badge img{display:block;height:auto;filter:drop-shadow(0 6px 12px rgba(0,0,0,.28))}.vs-badge span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#a6aec5}.matchup-vs{padding:10px 8px}.matchup-vs .vs-badge img{width:60px}.home-matchup-stack{display:grid;gap:10px}.home-matchup-vs{display:flex;align-items:center;justify-content:center;padding:4px 0 2px}.home-matchup-vs .vs-badge img{width:82px}.home-matchup-vs .vs-badge span{font-size:.7rem;letter-spacing:.18em;color:var(--harvest-gold)}
.matchup-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#b9bfd5;font-size:.92rem}
.matchup-foot b{color:#fff}
.matchup-view-btn{border:1px solid rgba(246,202,55,.28);background:rgba(246,202,55,.07);color:var(--harvest-gold);border-radius:999px;padding:8px 13px;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.04em;white-space:nowrap}.matchup-view-btn:active{transform:scale(.98)}

/* compact matchup fit + full-matchup swipe carousel */
#seasonMatchupList{min-width:0;overflow:hidden}
#seasonMatchupList .matchup-card{min-width:0;max-width:100%;overflow:hidden}
#seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:8px;min-width:0}
#seasonMatchupList .matchup-team{min-width:0;padding:11px 11px 10px;border-radius:15px}
#seasonMatchupList .matchup-team b{font-size:1rem;line-height:1.14;margin-bottom:5px;overflow-wrap:anywhere}
#seasonMatchupList .matchup-team small{font-size:.72rem;letter-spacing:.045em}
#seasonMatchupList .matchup-proj{margin-top:10px;font-size:1.55rem}
#seasonMatchupList .matchup-vs{min-width:0;padding:8px 4px;border-radius:15px}
#seasonMatchupList .matchup-vs .vs-badge img{width:49px}
#seasonMatchupList .matchup-vs .vs-badge span{font-size:.54rem;letter-spacing:.12em}
#seasonMatchupList .winbar{margin-top:9px}
#seasonMatchupList .matchup-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding-top:9px;min-width:0;font-size:.78rem}
#seasonMatchupList .matchup-foot>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#seasonMatchupList .matchup-view-btn{max-width:100%;padding:7px 10px;font-size:9.5px;letter-spacing:.02em}
.matchup-detail-head .matchup-carousel-next{display:flex;align-items:center;justify-content:center;font-size:21px}
.matchup-detail-swipe-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:5px 0 13px;color:var(--dim);font:700 8.5px 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
.matchup-detail-swipe-hint span{color:var(--harvest-gold)}
.matchup-detail-body.carousel-shift-left{animation:matchupSlideLeft .18s ease}
.matchup-detail-body.carousel-shift-right{animation:matchupSlideRight .18s ease}
@keyframes matchupSlideLeft{from{opacity:.35;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes matchupSlideRight{from{opacity:.35;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media(max-width:520px){
  #seasonMatchupList .matchup-card{padding:10px 9px 9px;border-radius:15px}
  #seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:6px}
  #seasonMatchupList .matchup-team{padding:10px 9px 9px;border-radius:14px}
  #seasonMatchupList .matchup-team b{font-size:.91rem}
  #seasonMatchupList .matchup-team small{font-size:.65rem}
  #seasonMatchupList .matchup-proj{font-size:1.42rem;margin-top:8px}
  #seasonMatchupList .matchup-vs .vs-badge img{width:43px}
  #seasonMatchupList .matchup-vs .vs-badge span{font-size:.48rem}
  #seasonMatchupList .matchup-foot{font-size:.69rem;gap:6px}
  #seasonMatchupList .matchup-view-btn{font-size:8.8px;padding:7px 8px}
}
@media(max-width:380px){
  #seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:5px}
  #seasonMatchupList .matchup-team b{font-size:.85rem}
  #seasonMatchupList .matchup-team small{font-size:.61rem}
  #seasonMatchupList .matchup-proj{font-size:1.32rem}
  #seasonMatchupList .matchup-view-btn{font-size:8.2px;padding-inline:7px}
}
.matchup-detail{position:fixed;inset:0;z-index:20000;background:#050505;display:none;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(34px + env(safe-area-inset-bottom))}.matchup-detail.open{display:block}.matchup-detail-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:rgba(5,5,5,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.matchup-detail-head button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#151515;color:#fff;font-size:24px}.matchup-detail-title{text-align:center;min-width:0}.matchup-detail-title b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-detail-title small{display:block;color:var(--dim);font-size:10px;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.matchup-detail-body{max-width:880px;margin:0 auto;padding:18px 14px}.matchup-detail-summary{border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:18px}.matchup-detail-teams{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;gap:10px}.matchup-detail-team{min-width:0}.matchup-detail-team.away{text-align:right}.matchup-detail-team b{display:block;font-size:17px;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.matchup-detail-team small{display:block;color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.matchup-detail-proj{font-size:33px;font-weight:800;margin-top:10px;letter-spacing:-.03em}.matchup-detail-total-compare{display:flex;gap:7px;align-items:center;margin-top:7px;flex-wrap:wrap}.matchup-detail-team.away .matchup-detail-total-compare{justify-content:flex-end}.matchup-total-chip{display:inline-flex;align-items:baseline;gap:4px;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);font:700 8px 'JetBrains Mono',monospace;letter-spacing:.04em;color:var(--dim)}.matchup-total-chip b{font-size:10px;color:var(--text)}.matchup-total-chip.coco{border-color:rgba(79,140,255,.22);background:rgba(79,140,255,.07);color:#7aa9ff}.matchup-total-chip.espn{border-color:rgba(255,255,255,.11)}.matchup-detail-vs img{width:62px;display:block;margin:auto}.matchup-detail-vs small{display:block;text-align:center;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.matchup-detail-win{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:18px;color:#d8dbe5;font-size:12px}.matchup-detail-winbar{display:flex;height:7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}.matchup-detail-winbar span:first-child{background:var(--harvest-gold)}.matchup-detail-winbar span:last-child{background:#4da3ff}.matchup-lineup-title{margin:24px 3px 10px}.matchup-lineup-title .eyebrow{margin-bottom:4px}.matchup-lineup-title h3{font-size:22px}.matchup-lineup-grid{border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;background:#0d0d0d}.matchup-line-row{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);min-height:76px;border-bottom:1px solid rgba(255,255,255,.06)}.matchup-line-row:last-child{border-bottom:none}.matchup-line-player{padding:13px 12px;display:flex;flex-direction:column;justify-content:center;min-width:0}.matchup-line-player.away{text-align:right}.matchup-line-player b{font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-line-player small{color:var(--dim);font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-line-proj{font:700 13px 'JetBrains Mono',monospace;margin-top:5px;color:#fff}.matchup-line-slot{display:flex;align-items:center;justify-content:center;background:#080808;border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05);color:#aeb3c3;font:700 10px 'JetBrains Mono',monospace;text-align:center}.matchup-detail-note{margin:14px 4px 0;color:var(--dim);font-size:11px;line-height:1.5}.matchup-line-player.empty b{color:#5f6470}
.matchup-lineup-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 3px 10px;flex-wrap:wrap}.matchup-lineup-toolbar .matchup-lineup-title{margin:0}.matchup-lineup-toggle{display:flex;gap:7px;padding:4px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.matchup-lineup-toggle button{border:0;background:transparent;color:var(--dim);padding:8px 11px;border-radius:999px;font:800 9px 'JetBrains Mono',monospace;letter-spacing:.06em;cursor:pointer}.matchup-lineup-toggle button.active{background:rgba(245,197,66,.12);box-shadow:inset 0 0 0 1px rgba(245,197,66,.34);color:var(--harvest-gold)}.matchup-lineup-toggle button:disabled{opacity:.4;cursor:not-allowed}.lineup-opt-alert{margin:16px 0 2px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);display:flex;gap:11px;align-items:flex-start}.lineup-opt-alert.good{border-color:rgba(61,220,151,.25);background:rgba(61,220,151,.055)}.lineup-opt-alert.warn{border-color:rgba(245,197,66,.30);background:rgba(245,197,66,.065)}.lineup-opt-alert.urgent{border-color:rgba(255,107,107,.34);background:rgba(255,107,107,.065)}.lineup-opt-alert.unavailable{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.lineup-opt-icon{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.055);font-size:16px}.lineup-opt-copy{min-width:0;flex:1}.lineup-opt-copy b{display:block;font-size:12px}.lineup-opt-copy p{margin:4px 0 0;color:var(--dim);font-size:10.5px;line-height:1.45}.lineup-opt-gain{white-space:nowrap;color:var(--harvest-gold);font:800 13px 'JetBrains Mono',monospace}.lineup-opt-moves{display:flex;flex-direction:column;gap:5px;margin-top:8px}.lineup-opt-move{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:9px;background:rgba(0,0,0,.20);font-size:9.5px}.lineup-opt-move span:last-child{color:var(--harvest-gold);font:800 9px 'JetBrains Mono',monospace}.matchup-line-player.lineup-change{background:linear-gradient(90deg,rgba(245,197,66,.055),transparent)}.matchup-line-player.away.lineup-change{background:linear-gradient(270deg,rgba(245,197,66,.055),transparent)}.home-lineup-status{margin-top:10px;padding:9px 11px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--dim)}.home-lineup-status b{color:var(--text);font-size:10px}.home-lineup-status.good{border-color:rgba(61,220,151,.22);background:rgba(61,220,151,.045)}.home-lineup-status.warn{border-color:rgba(245,197,66,.28);background:rgba(245,197,66,.055)}.home-lineup-status.urgent{border-color:rgba(255,107,107,.30);background:rgba(255,107,107,.055)}.home-lineup-status .gain{color:var(--harvest-gold);font:800 10px 'JetBrains Mono',monospace;white-space:nowrap}
@media(max-width:600px){.matchup-lineup-toolbar{align-items:flex-start}.matchup-lineup-toggle{width:100%}.matchup-lineup-toggle button{flex:1;padding:9px 8px}.lineup-opt-alert{padding:12px}.lineup-opt-gain{font-size:12px}.home-lineup-status{align-items:flex-start}}
@media(max-width:600px){.matchup-detail-body{padding:14px 10px}.matchup-detail-summary{padding:15px 12px;border-radius:20px}.matchup-detail-teams{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:6px}.matchup-detail-vs img{width:50px}.matchup-detail-team b{font-size:15px}.matchup-detail-proj{font-size:29px}.matchup-line-row{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);min-height:72px}.matchup-line-player{padding:12px 9px}.matchup-line-player b{font-size:13px}.matchup-line-slot{font-size:9px}}


/* v3.5 compact weekly matchup cards */
#seasonMatchupList.matchup-list{gap:11px}
#seasonMatchupList .matchup-card{padding:13px 14px 12px;border-radius:18px}
#seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:9px;align-items:center}
#seasonMatchupList .matchup-team{padding:10px 11px;border-radius:14px;min-height:92px}
#seasonMatchupList .matchup-team b{font-size:1rem;line-height:1.15;margin-bottom:5px}
#seasonMatchupList .matchup-team small{font-size:.68rem;line-height:1.25}
#seasonMatchupList .matchup-proj{font-size:1.45rem;margin-top:7px}
#seasonMatchupList .matchup-vs{min-height:92px;padding:7px 4px;border-radius:14px}
#seasonMatchupList .matchup-vs .vs-badge{gap:2px}
#seasonMatchupList .matchup-vs .vs-badge img{width:42px}
#seasonMatchupList .matchup-vs .vs-badge span{font-size:.52rem;letter-spacing:.10em}
#seasonMatchupList .winbar{margin-top:10px;height:5px}
#seasonMatchupList .matchup-foot{margin-top:10px;padding-top:9px;gap:9px;font-size:.77rem;flex-wrap:nowrap}
#seasonMatchupList .matchup-foot>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#seasonMatchupList .matchup-view-btn{padding:8px 11px;font-size:9.5px;flex:0 0 auto}
#seasonMatchupList .matchup-card-note{font-size:9px;margin-top:8px}
@media(max-width:700px){
  #seasonMatchupList .matchup-card{padding:11px 11px 10px;border-radius:16px}
  #seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr);gap:6px}
  #seasonMatchupList .matchup-team{padding:9px 9px 8px;border-radius:13px;min-height:86px}
  #seasonMatchupList .matchup-team.away{order:initial}
  #seasonMatchupList .matchup-team b{font-size:.94rem;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #seasonMatchupList .matchup-team small{font-size:.62rem;letter-spacing:.045em}
  #seasonMatchupList .matchup-proj{font-size:1.35rem;margin-top:6px}
  #seasonMatchupList .matchup-vs{order:initial;min-height:86px;padding:6px 3px}
  #seasonMatchupList .matchup-vs .vs-badge img{width:38px}
  #seasonMatchupList .matchup-vs .vs-badge span{font-size:.46rem;letter-spacing:.08em}
  #seasonMatchupList .matchup-foot{font-size:.70rem}
  #seasonMatchupList .matchup-view-btn{font-size:9px;padding:7px 10px}
}
@media(max-width:390px){
  #seasonMatchupList .matchup-teams{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:5px}
  #seasonMatchupList .matchup-team{padding:8px 8px 7px;min-height:82px}
  #seasonMatchupList .matchup-team b{font-size:.88rem}
  #seasonMatchupList .matchup-proj{font-size:1.25rem}
  #seasonMatchupList .matchup-vs{min-height:82px}
  #seasonMatchupList .matchup-vs .vs-badge img{width:34px}
}

@media(max-width:700px){
  .harvest-mobile-brand-wrap{min-width:0;justify-content:center;padding:0 4px}
  .harvest-mobile-crest{flex:0 1 auto;width:auto;max-width:calc(100vw - 132px);height:34px}
  .harvest-mobile-crest img{width:auto!important;max-width:100%!important;height:34px!important}
  .matchup-head{align-items:flex-start}
  .matchup-method{font-size:.85rem}
  .matchup-card{padding:14px 14px 12px;border-radius:18px}
  .matchup-top{margin-bottom:12px}
  .matchup-teams{grid-template-columns:1fr;gap:10px}
  .matchup-vs{min-height:74px;order:2}
  .matchup-vs .vs-badge{gap:4px}
  .matchup-vs .vs-badge img{width:48px}
  .home-matchup-vs .vs-badge img{width:68px}
  .matchup-team.away{order:3}
  .matchup-proj{font-size:1.6rem;margin-top:10px}
  .matchup-foot{font-size:.86rem;gap:8px}
}


/* === v3.8 flatter product layout === */
.home-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:20px;align-items:start}
.home-flat-section{padding:8px 2px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:transparent}
.home-flat-section h2{margin:4px 0 12px}.home-roster-section{margin-top:10px;padding-top:10px;padding-bottom:26px}.home-roster-section .product-card-title-row{margin-bottom:12px;gap:12px;flex-wrap:wrap}.home-roster-section .product-list{gap:14px}
.home-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;margin-bottom:8px}
.home-quick-actions button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:16px;padding:16px 14px;color:var(--text);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;column-gap:10px;cursor:pointer;min-height:116px}
.home-quick-actions button>span{grid-row:1/3;font-size:20px;color:var(--harvest-gold);align-self:center}.home-quick-actions b{font-size:14px}.home-quick-actions small{color:var(--dim);font-size:11px;margin-top:2px}.home-quick-actions button:hover{background:rgba(246,202,55,.06);border-color:rgba(246,202,55,.2)}
.team-overview-card{max-width:none}.team-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.team-profile-head .product-stat-row{margin:0;min-width:280px}.section-divider{height:1px;background:rgba(255,255,255,.08);margin:18px 0}.team-roster-flat{margin-top:18px;border-bottom:0}
.tools-list{border-top:1px solid rgba(255,255,255,.08)}.tools-list button{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:18px 4px;text-align:left;cursor:pointer}.tools-list button:hover{background:rgba(255,255,255,.025)}.tools-list .tools-icon{width:40px;height:40px;border-radius:12px;background:rgba(246,202,55,.09);display:grid;place-items:center;color:var(--harvest-gold);font-size:18px}.tools-list b{display:block;font-size:15px}.tools-list small{display:block;color:var(--dim);font-size:12px;margin-top:3px}.tools-list em{font-style:normal;color:var(--dim);font-size:26px}
@media(max-width:900px){.home-main-grid{grid-template-columns:1fr}.team-profile-head{display:block}.team-profile-head .product-stat-row{margin-top:12px;min-width:0}}

.team-picker-backdrop{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:center;padding:20px;background:rgba(3,6,14,.74);backdrop-filter:blur(10px);z-index:120;opacity:0;pointer-events:none;transition:opacity .2s ease}.team-picker-backdrop.show{display:flex;opacity:1;pointer-events:auto}.team-picker-card{width:min(680px,100%);max-height:min(82vh,760px);overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:22px 18px 18px;background:linear-gradient(180deg,rgba(15,18,27,.98),rgba(8,11,18,.98));box-shadow:0 30px 80px rgba(0,0,0,.42)}.team-picker-card h2{margin:4px 0 10px}.team-picker-card p{margin:0 0 16px;color:#c2c8d8;line-height:1.55}.team-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team-picker-btn{width:100%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);border-radius:16px;padding:14px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.team-picker-btn span:first-child{display:block;min-width:0}.team-picker-btn b{display:block;font-size:15px;line-height:1.28}.team-picker-btn small{display:block;color:var(--dim);font-size:11px;margin-top:3px}.team-picker-btn:hover{border-color:rgba(246,202,55,.24);background:rgba(246,202,55,.06)}.team-picker-btn.selected{border-color:rgba(246,202,55,.36);background:rgba(246,202,55,.1);box-shadow:inset 0 0 0 1px rgba(246,202,55,.18)}.team-picker-check{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:transparent;flex:0 0 auto;font-weight:800}.team-picker-btn.selected .team-picker-check{background:rgba(246,202,55,.18);color:var(--harvest-gold)}
@media(max-width:700px){.team-picker-backdrop{align-items:flex-end;padding:12px}.team-picker-card{width:100%;max-height:78vh;border-radius:22px;padding:20px 16px 16px}.team-picker-list{grid-template-columns:1fr}.team-picker-btn{padding:13px 12px}}
@media(max-width:700px){
  .product-dashboard{gap:14px!important}
  #homeView .product-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0}
  #homeView .product-stat{border:0!important;background:transparent!important;border-radius:0!important;padding:8px 7px!important;min-height:66px;box-shadow:none!important}
  #homeView .product-stat:not(:last-child){border-right:1px solid rgba(255,255,255,.08)!important}
  #homeView .product-stat b{font-size:22px!important}#homeView .product-stat span{font-size:8px!important}
  .home-matchup-card{padding:16px!important;border-radius:18px!important}
  .home-flat-section{padding:4px 2px 17px}.home-main-grid{gap:16px}
  .home-quick-actions{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.home-quick-actions button{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 8px;gap:5px;border-radius:16px;min-height:102px}.home-quick-actions button>span{font-size:20px}.home-quick-actions b{font-size:12px}.home-quick-actions small{font-size:9px}
  .product-card-title-row{align-items:flex-start;flex-wrap:wrap}.home-roster-section .product-link-btn,.home-matchup-card .product-link-btn{white-space:nowrap}.home-roster-section .product-link-btn{margin-left:auto}.home-matchup-card .product-card-title-row{margin-bottom:14px}.home-matchup-card .product-link-btn{flex:0 0 auto}
  #teamView .product-card{padding:15px}.team-roster-flat{padding-left:0;padding-right:0}
  .tools-list button{padding:16px 2px}.tools-list .tools-icon{width:38px;height:38px}
  #seasonView .season-side-card{display:none}
  #seasonView .season-card{background:transparent;border:0;padding:0;backdrop-filter:none}
  #seasonView .season-tabs{border-radius:14px}
}


/* === v4.1 League Center mobile containment + draft board === */
#seasonView,
#seasonView .season-grid,
#seasonView .season-card,
#seasonView .season-pane{min-width:0;max-width:100%;}
#seasonView{overflow-x:hidden;}
#seasonView .season-grid{width:100%;}

.season-draft-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  padding:2px 0 10px;
  scrollbar-width:thin;
}
.season-draft-table{
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:8px;
  table-layout:fixed;
}
.season-draft-table th,
.season-draft-table td{vertical-align:top;}
.season-draft-table .draft-rd-head,
.season-draft-table .draft-rd-cell{
  position:sticky;
  left:0;
  z-index:4;
  width:48px;
  min-width:48px;
  max-width:48px;
  background:#000;
  text-align:center;
}
.season-draft-table .draft-rd-head{z-index:6;}
.season-draft-table .draft-team-head{
  width:158px;
  min-width:158px;
  max-width:158px;
  padding:7px 9px;
  text-align:left;
  font-size:12px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
}
.season-draft-pick{
  width:158px;
  min-height:86px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  box-sizing:border-box;
}
.season-draft-pick b{
  display:block;
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.season-draft-pick .meta{margin-top:6px;line-height:1.35;}
.season-draft-hint{display:none;color:var(--dim);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.06em;margin:-2px 0 8px;}

@media(max-width:760px){
  #seasonView{width:100%!important;max-width:100vw!important;overflow-x:hidden!important;}
  #seasonView .workspace-heading{padding-left:0!important;padding-right:0!important;}
  #seasonView .workspace-heading h1,
  #seasonView .workspace-heading p{max-width:100%;overflow-wrap:anywhere;}
  #seasonView .season-grid,
  #seasonView .season-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}

  /* Five league tools should swipe like app tabs instead of forcing the page wide. */
  #seasonView .season-tabs{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    padding:4px!important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  #seasonView .season-tabs::-webkit-scrollbar{display:none;}
  #seasonView .season-tab{
    flex:0 0 auto!important;
    min-width:max-content!important;
    padding:10px 13px!important;
    font-size:10px!important;
    scroll-snap-align:start;
    white-space:nowrap;
  }

  #seasonHistoryDraftPane .matchup-head{gap:8px;margin-bottom:10px;}
  #seasonHistoryDraftPane .matchup-method{font-size:10px;max-width:100%;}
  .season-draft-hint{display:block;}
  .season-draft-scroll{
    width:calc(100vw - 28px);
    max-width:100%;
    margin-right:0;
    padding-bottom:14px;
  }
  .season-draft-table{border-spacing:7px;}
  .season-draft-table .draft-rd-head,
  .season-draft-table .draft-rd-cell{width:42px;min-width:42px;max-width:42px;}
  .season-draft-table .draft-team-head{width:142px;min-width:142px;max-width:142px;font-size:11px;padding:6px 8px;}
  .season-draft-pick{width:142px;min-height:82px;padding:11px;border-radius:15px;}
  .season-draft-pick b{font-size:12px;}

  /* Keep long filter/tool rows inside the viewport too. */
  #transactionFilter{display:flex!important;max-width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  #transactionFilter::-webkit-scrollbar{display:none;}
  #transactionFilter button{flex:0 0 auto;}
}

/* v4.0 startup + team identity */
.home-team-under{display:flex;align-items:baseline;gap:10px;padding:10px 4px 2px;color:#fff}
.home-team-under span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--harvest-gold);font-weight:800}
.home-team-under b{font-size:1.05rem;letter-spacing:-.01em}
.harvest-startup{position:fixed;inset:0;z-index:99999;background:radial-gradient(circle at 50% 22%,rgba(246,202,55,.12),transparent 30%),linear-gradient(180deg,#07042f 0%,#04031d 100%);display:flex;align-items:center;justify-content:center;padding:24px;opacity:1;visibility:visible;transition:opacity .48s cubic-bezier(.2,.7,.2,1),visibility .48s ease}
.harvest-startup.done{opacity:0;visibility:hidden;pointer-events:none}
.harvest-startup-inner{width:min(440px,100%);text-align:center}
.harvest-startup-logo{display:block;width:min(300px,78vw);height:auto;margin:0 auto 16px;object-fit:contain}
.harvest-startup-brand{font-size:.78rem;letter-spacing:.2em;color:var(--harvest-gold);font-weight:800;margin-bottom:22px}
.harvest-startup-status{font-size:1rem;color:#e9ebf3;margin-bottom:15px}
.harvest-loader{display:flex;justify-content:center;gap:7px;min-height:20px}
.harvest-loader i{width:7px;height:7px;border-radius:50%;background:var(--harvest-gold);animation:harvestPulse 1s infinite ease-in-out}
.harvest-loader i:nth-child(2){animation-delay:.15s}.harvest-loader i:nth-child(3){animation-delay:.3s}
@keyframes harvestPulse{0%,80%,100%{opacity:.3;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}
.harvest-startup-picker{margin-top:10px}
.harvest-startup-question{font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:12px}
.harvest-startup-team-list{display:grid;gap:8px;max-height:min(52vh,440px);overflow:auto;padding:2px}
.harvest-startup-team{width:100%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:14px;padding:13px 14px;text-align:left;color:#fff;font:inherit;cursor:pointer}
.harvest-startup-team b{display:block;font-size:.98rem}.harvest-startup-team small{display:block;color:#9ca4bd;margin-top:3px}
.harvest-startup-team:hover,.harvest-startup-team:focus-visible{border-color:rgba(246,202,55,.45);background:rgba(246,202,55,.09);outline:none}
.harvest-startup-settings{margin-top:8px;border:1px solid rgba(246,202,55,.35);background:rgba(246,202,55,.10);color:var(--harvest-gold);border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}
.harvest-startup-powered{margin-top:24px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#838ba7}
@media(max-width:700px){.home-team-under{padding:10px 2px 0}.home-team-under b{font-size:1rem}.harvest-startup{padding:max(22px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom))}.harvest-startup-logo{width:min(270px,76vw)}}

/* Waiver wire filters */
.waiver-card{overflow:hidden}
.waiver-filter-bar{display:grid;gap:12px;margin:14px 0 12px}
.waiver-position-filters{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.waiver-position-filters::-webkit-scrollbar{display:none}
.waiver-filter-chip{flex:0 0 auto;min-width:54px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:#c5cad8;border-radius:999px;padding:9px 14px;font:700 12px 'JetBrains Mono',monospace;letter-spacing:.06em;cursor:pointer}
.waiver-filter-chip.active{background:var(--harvest-gold);border-color:var(--harvest-gold);color:#080811;box-shadow:0 7px 18px rgba(246,202,55,.14)}
.waiver-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.waiver-search{min-width:0;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:14px;padding:0 12px;color:var(--dim)}
.waiver-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:11px 0;font:500 14px 'Inter',sans-serif}
.waiver-search input::placeholder{color:#777f96}
.waiver-result-count{white-space:nowrap;color:var(--dim);font:700 11px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
#waiverList{margin-top:0}
@media(max-width:700px){
  .waiver-filter-bar{margin-top:12px}
  .waiver-filter-chip{min-width:52px;padding:9px 13px}
  .waiver-search-row{grid-template-columns:1fr}
  .waiver-result-count{padding-left:2px}
}

/* v3.7 simplified navigation + weekly matchup browser */
@media(max-width:760px){
  .mobile-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;left:8px!important;right:8px!important;padding:5px 4px!important;gap:2px!important}
  .mobile-bottom-nav button{min-height:56px!important;border-radius:19px!important;padding:6px 0 5px!important}
  .mobile-bottom-nav button > span{font-size:17px!important}
  .mobile-bottom-nav button > small{font-size:7.5px!important;letter-spacing:0!important}
  .mobile-app-drawer{width:min(270px,calc(100vw - 28px))!important;padding:10px!important}
  .mobile-drawer-label{padding:8px 12px 6px;color:var(--harvest-gold);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.14em}
}
.matchup-week-head{margin-bottom:10px}
.matchup-week-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;margin:12px 0 9px;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}
.matchup-week-nav button{width:42px;height:42px;border-radius:14px;border:1px solid rgba(245,197,66,.24);background:rgba(245,197,66,.07);color:var(--harvest-gold);font-size:28px;line-height:1;cursor:pointer}
.matchup-week-nav button:disabled{opacity:.28;cursor:default}
.matchup-week-nav>div{text-align:center;min-width:0}
.matchup-week-nav small{display:block;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;letter-spacing:.14em}
.matchup-week-nav b{display:block;margin-top:2px;color:#fff;font:800 16px 'Space Grotesk',sans-serif}
.matchup-week-quick{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding-bottom:2px}
.matchup-week-quick::-webkit-scrollbar{display:none}
.matchup-week-chip{flex:0 0 auto;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:var(--dim);border-radius:999px;padding:7px 11px;font:700 9px 'JetBrains Mono',monospace;white-space:nowrap}
.matchup-week-chip.active{border-color:rgba(245,197,66,.38);background:rgba(245,197,66,.12);color:var(--harvest-gold)}
.matchup-card.future .matchup-team.winner{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.03)}
.matchup-card.future .winbar{opacity:.45}
.matchup-card-note{margin-top:10px;color:var(--dim);font-size:10px;line-height:1.45}


.fp-debug-panel{margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(6,9,17,.64);padding:14px;max-height:520px;overflow:auto}
.fp-debug-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.fp-debug-head b{font:700 13px 'Space Grotesk',sans-serif}.fp-debug-head small{color:var(--dim);display:block;margin-top:4px;line-height:1.4}
.fp-debug-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.fp-debug-chip{padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);font:700 9px 'JetBrains Mono',monospace;color:var(--dim)}.fp-debug-chip b{color:var(--text)}
.fp-debug-row{padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.fp-debug-row:first-of-type{border-top:0}.fp-debug-player{display:flex;justify-content:space-between;gap:12px}.fp-debug-player b{font-size:12px}.fp-debug-meta{font:600 9px 'JetBrains Mono',monospace;color:var(--dim);margin-top:3px}.fp-debug-hint{font-size:10px;color:var(--amber);margin-top:7px}.fp-debug-cands{display:grid;gap:5px;margin-top:8px}.fp-debug-cand{padding:7px 8px;border-radius:9px;background:rgba(255,255,255,.03);font-size:10px;color:var(--dim)}.fp-debug-cand b{color:var(--text)}

/* COCO vs ESPN projection comparison */
.proj-compare{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;margin-top:4px}
.proj-chip{display:inline-flex;align-items:baseline;gap:4px;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);font:700 8px 'JetBrains Mono',monospace;white-space:nowrap}
.proj-chip b{font:800 12px 'Space Grotesk',sans-serif;line-height:1}
.proj-chip.coco{color:#7aa9ff;border-color:rgba(79,140,255,.22);background:rgba(79,140,255,.07)}
.proj-chip.espn{color:var(--dim)}
.proj-delta{font:800 8px 'JetBrains Mono',monospace;color:var(--dim)}
.proj-delta.up{color:var(--green)}
.proj-delta.down{color:var(--red)}
.matchup-line-player.away .proj-compare{justify-content:flex-end}
.matchup-proj-legend{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin:8px 0 2px;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:520px){.proj-chip{padding:3px 5px}.proj-chip b{font-size:11px}.proj-delta{font-size:7px}}

/* Power Rankings polish: roomy formula chips + Harvest-style mode pills */
#seasonRankingsPane .rank-controls{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:18px 0 18px;
}
#rankModeToggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  width:100%;
  background:transparent;
  padding:0;
}
#rankModeToggle button{
  appearance:none;
  min-height:58px;
  padding:12px 18px;
  border:1px solid rgba(246,202,55,.38);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(246,202,55,.055),rgba(246,202,55,.018));
  color:var(--harvest-gold,#f6ca37);
  font:700 13px 'Space Grotesk',sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
#rankModeToggle button:active{transform:scale(.985)}
#rankModeToggle button.active{
  border-color:rgba(246,202,55,.82);
  background:linear-gradient(180deg,rgba(246,202,55,.16),rgba(246,202,55,.075));
  color:#ffd95a;
  box-shadow:0 0 0 1px rgba(246,202,55,.08),inset 0 1px 0 rgba(255,255,255,.055);
}
#seasonRankingsPane .rank-breakdown{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0 2px 2px;
  line-height:1.3;
}
#seasonRankingsPane .rank-breakdown span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#aeb5c8;
  font:600 10px 'JetBrains Mono',monospace;
  white-space:nowrap;
}
#seasonRankingsPane .rank-breakdown b{
  color:#f5f6fa;
  font-weight:800;
}
#seasonRankingsPane .rank-list{gap:14px}
#seasonRankingsPane .rank-card{padding:16px 16px 15px}
#seasonRankingsPane .rank-head{gap:14px}
#seasonRankingsPane .rank-sub{margin-top:7px;gap:8px 13px;line-height:1.42}
#seasonRankingsPane .rank-bar{margin-top:14px}
#seasonRankingsPane .rank-list{gap:16px}
#seasonRankingsPane .rank-card{
  padding:18px 18px 17px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(10,13,24,.96),rgba(6,8,15,.98));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
#seasonRankingsPane .rank-card.mine{
  border-color:rgba(79,140,255,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(79,140,255,.12);
}
#seasonRankingsPane .rank-head{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
#seasonRankingsPane .rank-rail{
  min-width:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
}
#seasonRankingsPane .rank-rail-label{
  color:var(--harvest-gold);
  font:700 9px 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
}
#seasonRankingsPane .rank-rail-value{
  color:var(--text);
  font:800 32px 'Space Grotesk',sans-serif;
  line-height:.95;
}
#seasonRankingsPane .rank-badge{
  width:56px;
  height:56px;
  border-radius:18px;
  background:radial-gradient(circle at 30% 20%,rgba(30,53,110,.32),rgba(19,27,56,.95));
  border:1px solid rgba(245,197,66,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(245,197,66,.08);
  font:800 18px 'JetBrains Mono',monospace;
}
#seasonRankingsPane .rank-main{min-width:0}
#seasonRankingsPane .rank-title-row{gap:10px;align-items:center;flex-wrap:wrap}
#seasonRankingsPane .rank-title-row b{font-size:18px;line-height:1.1;white-space:normal;overflow:visible;text-overflow:clip}
#seasonRankingsPane .rank-grade{
  min-width:42px;
  height:28px;
  padding:0 10px;
  border-radius:11px;
  font-size:14px;
  color:#d7f6a1;
  background:rgba(122,194,89,.12);
  border:1px solid rgba(122,194,89,.32);
}
#seasonRankingsPane .rank-sub{margin-top:8px;gap:8px 14px;line-height:1.45}
#seasonRankingsPane .rank-sub span{display:inline-flex;align-items:center;gap:5px}
#seasonRankingsPane .rank-score{
  min-width:136px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(79,140,255,.22);
  background:linear-gradient(180deg,rgba(17,24,50,.82),rgba(7,12,24,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(0,0,0,.18);
}
#seasonRankingsPane .rank-score span{
  color:#d9e7ff;
  font:700 8.5px 'JetBrains Mono',monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}
#seasonRankingsPane .rank-score b{
  color:#5da0ff;
  text-shadow:0 0 16px rgba(79,140,255,.18);
  font-size:42px;
  line-height:.95;
}
#seasonRankingsPane .rank-score small{
  margin-top:4px;
  letter-spacing:.18em;
  color:#7aa9ff;
}
#seasonRankingsPane .rank-wheel-layout{
  display:grid;
  grid-template-columns:minmax(190px,230px) minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:18px;
}
#seasonRankingsPane .rank-wheel-wrap{display:flex;align-items:center;justify-content:center}
#seasonRankingsPane .rank-wheel{
  position:relative;
  width:min(100%,228px);
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:2px;
  padding:2px;
  background:rgba(245,197,66,.24);
  box-shadow:0 18px 40px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.05);
}
#seasonRankingsPane .rank-wheel:after{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  pointer-events:none;
}
#seasonRankingsPane .rank-wheel-seg{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:16px 10px;
  text-align:center;
  color:#f5f6fa;
}
#seasonRankingsPane .rank-wheel-seg .pos{
  font:800 18px 'JetBrains Mono',monospace;
  letter-spacing:.04em;
}
#seasonRankingsPane .rank-wheel-seg b{
  font:800 22px 'Space Grotesk',sans-serif;
  line-height:1;
}
#seasonRankingsPane .rank-wheel-seg.qb{background:radial-gradient(circle at 30% 20%,rgba(74,152,255,.42),rgba(13,24,51,.96))}
#seasonRankingsPane .rank-wheel-seg.rb{background:radial-gradient(circle at 70% 20%,rgba(91,205,99,.34),rgba(24,45,22,.96))}
#seasonRankingsPane .rank-wheel-seg.wr{background:radial-gradient(circle at 30% 80%,rgba(156,102,255,.34),rgba(31,17,56,.96))}
#seasonRankingsPane .rank-wheel-seg.te{background:radial-gradient(circle at 70% 80%,rgba(255,182,64,.34),rgba(55,32,10,.96))}
#seasonRankingsPane .rank-wheel-seg.qb .pos{color:#54a8ff}
#seasonRankingsPane .rank-wheel-seg.rb .pos{color:#7ed771}
#seasonRankingsPane .rank-wheel-seg.wr .pos{color:#bf98ff}
#seasonRankingsPane .rank-wheel-seg.te .pos{color:#f4be67}
#seasonRankingsPane .rank-wheel-cutout{
  position:absolute;
  inset:50%;
  width:74px;
  height:74px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 35% 25%,rgba(20,30,56,.98),rgba(7,11,20,.98));
  border:2px solid rgba(245,197,66,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.22);
  color:var(--harvest-gold);
  font:800 18px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
#seasonRankingsPane .rank-profile{display:flex;flex-direction:column;gap:14px;min-width:0}
#seasonRankingsPane .rank-minirow{margin-top:0;gap:10px}
#seasonRankingsPane .rank-mini{
  padding:10px 12px;
  border-radius:15px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  font-size:10px;
}
#seasonRankingsPane .rank-mini b{font-size:14px}
#seasonRankingsPane .rank-expand-btn{
  align-self:flex-start;
  padding:11px 16px;
  font-size:.92rem;
}
#seasonRankingsPane .rank-detail{margin-top:18px;padding-top:16px}
#seasonRankingsPane .rank-summary-grid{gap:10px;margin-bottom:14px}
#seasonRankingsPane .rank-room-grid{gap:12px}

@media(max-width:760px){
  #seasonRankingsPane .rank-head{
    grid-template-columns:auto auto minmax(0,1fr);
    align-items:start;
    gap:12px;
  }
  #seasonRankingsPane .rank-rail{min-width:42px;padding-top:2px}
  #seasonRankingsPane .rank-rail-value{font-size:28px}
  #seasonRankingsPane .rank-badge{width:52px;height:52px;border-radius:16px;font-size:16px}
  #seasonRankingsPane .rank-title-row b{font-size:16px}
  #seasonRankingsPane .rank-grade{height:26px;min-width:38px;font-size:13px}
  #seasonRankingsPane .rank-score{
    grid-column:1 / -1;
    min-width:0;
    width:100%;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:end;
    gap:12px;
    padding:10px 12px;
  }
  #seasonRankingsPane .rank-score span{grid-column:1 / -1}
  #seasonRankingsPane .rank-score b{font-size:34px}
  #seasonRankingsPane .rank-score small{margin-top:0;align-self:end}
  #seasonRankingsPane .rank-wheel-layout{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:16px;
  }
  #seasonRankingsPane .rank-wheel{width:min(100%,238px)}
  #seasonRankingsPane .rank-profile{gap:12px}
  #seasonRankingsPane .rank-minirow{gap:8px;justify-content:center}
  #seasonRankingsPane .rank-mini{flex:1 1 calc(50% - 8px);min-width:135px;text-align:center}
  #seasonRankingsPane .rank-expand-btn{align-self:stretch;width:100%;text-align:center}
}
@media(max-width:420px){
  #seasonRankingsPane .rank-card{padding:16px 14px 15px;border-radius:22px}
  #seasonRankingsPane .rank-sub{gap:6px 10px}
  #seasonRankingsPane .rank-score b{font-size:30px}
  #seasonRankingsPane .rank-wheel{width:min(100%,210px)}
  #seasonRankingsPane .rank-wheel-seg .pos{font-size:16px}
  #seasonRankingsPane .rank-wheel-seg b{font-size:20px}
  #seasonRankingsPane .rank-wheel-cutout{width:68px;height:68px;font-size:16px}
  #seasonRankingsPane .rank-mini{min-width:122px;padding:9px 10px}
}

@media(max-width:760px){
  #seasonRankingsPane .rank-controls{gap:13px;margin:16px 0 17px}
  #rankModeToggle{gap:10px}
  #rankModeToggle button{min-height:56px;padding:11px 10px;font-size:12px}
  #seasonRankingsPane .rank-breakdown{gap:7px}
  #seasonRankingsPane .rank-breakdown span{min-height:29px;padding:6px 9px;font-size:9.5px}
  #seasonRankingsPane .rank-card{padding:15px 14px 14px}
  #seasonRankingsPane .rank-head{gap:11px}
  #seasonRankingsPane .rank-sub{margin-top:7px;gap:6px 10px;line-height:1.48}
  #seasonRankingsPane .rank-bar{margin-top:13px}
  #seasonRankingsPane .rank-minirow{margin-top:11px}
}
@media(max-width:390px){
  #rankModeToggle button{font-size:11px;padding-inline:8px}
  #seasonRankingsPane .rank-breakdown span{font-size:9px;padding-inline:8px}
}

/* Player Rankings is a season screen now: no draft-control buttons, more breathing room. */
#boardView{overflow-x:hidden!important}
#boardView .workspace-heading{margin-bottom:24px!important}
#boardView .workspace-heading h1{margin-bottom:8px!important}
#boardView .board-workspace{max-width:100%!important;overflow:hidden!important}
#boardView .draft-toolbar{margin-bottom:18px!important;gap:12px!important;padding:16px!important}
#boardView .board-panel{overflow:visible!important;max-width:100%!important}
#boardView .fantasy-owner{display:flex;flex-direction:column;gap:3px;min-width:0}
#boardView .fantasy-owner small{font:700 9px 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--dim)}
#boardView .fantasy-owner b{font-size:12px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
#boardView .fantasy-owner.fantasy-owned b{color:var(--harvest-gold)}
#boardView .fantasy-owner.fantasy-free b{color:var(--dim)}
#boardView .row-actions,#boardView .row-btn,#boardView .ask-coco-row-btn{display:none!important}

/* Absolute safety net: the one-time team picker is never normal page content. */
#seasonTeamPicker[hidden],#seasonTeamPicker:not(.show){display:none!important}
#seasonTeamPicker.show{position:fixed!important;inset:0!important;z-index:120!important;display:flex!important}

@media(max-width:760px){
  #boardView .workspace-heading{padding:8px 8px 0!important;margin-bottom:20px!important}
  #boardView .workspace-heading h1{font-size:34px!important;line-height:1.02!important}
  #boardView .workspace-heading p{font-size:15px!important;line-height:1.5!important;margin-top:10px!important}
  #boardView .draft-toolbar{padding:14px!important;border-radius:18px!important;gap:12px!important}
  #boardView #draftSearch{min-height:50px!important}
  #boardView .pos-chips{gap:8px!important;padding-bottom:2px!important}
  #boardView .board-table tbody{gap:16px!important}
  #boardView .board-table tbody tr{
    grid-template-columns:40px minmax(0,1fr) auto!important;
    grid-template-areas:
      "rank player pos"
      "rank tier tier"
      "stats stats stats"
      "note note note"
      "owner owner owner"!important;
    min-height:0!important;
    padding:18px 16px!important;
    gap:12px!important;
    border-radius:20px!important;
  }
  #boardView .board-table td:nth-child(2){font-size:23px!important;line-height:1.08!important}
  #boardView .board-table td:nth-child(4){margin-bottom:2px!important}
  #boardView .board-table td:nth-child(5),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7),
  #boardView .board-table td:nth-child(8){min-height:58px!important;padding:10px!important}
  #boardView .board-table td:nth-child(9){margin-top:2px!important;padding-top:4px!important}
  #boardView .board-table td:nth-child(10){grid-area:owner!important;margin-top:2px!important;padding:12px 14px!important;border:1px solid rgba(246,202,55,.14)!important;border-radius:13px!important;background:rgba(246,202,55,.045)!important;width:auto!important}
  #boardView .fantasy-owner{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important}
  #boardView .fantasy-owner small{font-size:8px!important;white-space:nowrap!important}
  #boardView .fantasy-owner b{font-size:13px!important;text-align:right!important}
}
@media(max-width:520px){
  #boardView .workspace-heading h1{font-size:32px!important}
  #boardView .board-table tbody tr{padding:16px 14px!important;gap:11px!important}
  #boardView .board-table td:nth-child(2){font-size:21px!important}
  #boardView .board-table td:nth-child(5),#boardView .board-table td:nth-child(6),#boardView .board-table td:nth-child(7),#boardView .board-table td:nth-child(8){font-size:11px!important;padding:9px 7px!important}
}


/* =========================================================
   COCO UI CONSISTENCY PASS · v5
   ========================================================= */
:root{
  --coco-radius-sm:14px;
  --coco-radius-md:18px;
  --coco-radius-lg:24px;
  --coco-section-gap:22px;
}

/* One visual language for page headings */
.workspace-heading{margin-bottom:24px!important;gap:14px!important}
.workspace-heading .eyebrow,
.home-flat-section>.eyebrow,
.matchup-head .eyebrow{letter-spacing:.18em!important;font-weight:800!important}
.workspace-heading h1{margin:5px 0 8px!important;line-height:1.03!important;letter-spacing:-.035em!important}
.workspace-heading p{line-height:1.55!important;max-width:760px!important}

/* One action language: gold = navigation / primary contextual action */
.product-link-btn,
.rank-expand-btn{
  border:1px solid rgba(245,201,52,.42)!important;
  background:linear-gradient(180deg,rgba(245,201,52,.10),rgba(245,201,52,.055))!important;
  color:var(--harvest-gold)!important;
  border-radius:999px!important;
  font-weight:800!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.product-link-btn:hover,.rank-expand-btn:hover{background:rgba(245,201,52,.14)!important;border-color:rgba(245,201,52,.62)!important}
.ghost-btn{border-radius:999px!important;border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.035)!important}

/* Consistent card surfaces */
.product-card,.season-card,.trade-result,.waiver-card,.board-workspace{
  border-radius:var(--coco-radius-lg)!important;
}
.product-row{border-radius:var(--coco-radius-md)!important}

/* Branded empty/loading states instead of floating text */
.season-empty,.empty-note{
  padding:20px 18px!important;
  border:1px dashed rgba(245,201,52,.20)!important;
  border-radius:18px!important;
  background:rgba(245,201,52,.035)!important;
  color:#aeb5c8!important;
  line-height:1.5!important;
}

/* Matchup identity aligns with ranking identity */
.matchup-team{border-radius:20px!important}
.matchup-team.winner{box-shadow:inset 0 0 0 1px rgba(245,201,52,.08)}
.matchup-team b{letter-spacing:-.02em}

/* ---------- Waivers: scouting cards ---------- */
#waiverList{display:grid;gap:12px}
.waiver-player-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"rank main score" "rank meta meta";
  gap:8px 12px;
  align-items:center;
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.018));
}
.waiver-pos-rank{
  grid-area:rank;
  min-width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  border:1px solid rgba(245,201,52,.25);
  background:rgba(245,201,52,.065);
  color:var(--harvest-gold);
  font:800 12px 'JetBrains Mono',monospace;
}
.waiver-card-main{grid-area:main;min-width:0}
.waiver-card-main b{display:block;font-size:16px;line-height:1.15}
.waiver-card-main small{display:block;color:var(--dim);font-size:10px;margin-top:4px;text-transform:uppercase;letter-spacing:.08em}
.waiver-card-score{grid-area:score;text-align:right;min-width:76px}
.waiver-card-score small{display:block;color:var(--amber);font:800 8px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.waiver-card-score b{display:block;font:800 23px 'JetBrains Mono',monospace;color:#fff;margin-top:3px}
.waiver-card-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:7px}
.waiver-mini{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 9px;border-radius:999px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.03);
  color:var(--dim);font:700 9px 'JetBrains Mono',monospace;
}
.waiver-mini b{color:#eef1fb;font-size:10px}
.waiver-mini.upgrade-positive{border-color:rgba(61,220,151,.24);color:#69dfa8;background:rgba(61,220,151,.055)}
.waiver-mini.upgrade-negative{color:#9399ab}

/* ---------- Trade Lab: two clear teams + one verdict ---------- */
#seasonTradePane .trade-teams{gap:16px}
#seasonTradePane .trade-side{
  padding:14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:rgba(255,255,255,.02);
}
#seasonTradePane .trade-side-head{margin-bottom:12px;gap:10px;align-items:flex-start;flex-direction:column}
#seasonTradePane .trade-side-label{color:var(--harvest-gold);letter-spacing:.12em}
#seasonTradePane .trade-side-head select{width:100%;min-height:44px;border-radius:13px!important}
#seasonTradePane .trade-player{border-radius:14px;padding:11px 10px;grid-template-columns:22px minmax(0,1fr) auto}
#seasonTradePane .trade-player.selected{border-color:rgba(245,201,52,.42);background:rgba(245,201,52,.075)}
#seasonTradePane .trade-player input{accent-color:var(--harvest-gold)}
#seasonTradePane .trade-val{color:var(--harvest-gold)}
#seasonTradePane .trade-arrow{color:var(--harvest-gold);opacity:.85}
#seasonTradePane .trade-result{
  margin-top:18px;padding:18px;
  border-color:rgba(245,201,52,.18);
  background:linear-gradient(180deg,rgba(245,201,52,.045),rgba(255,255,255,.018));
}
#seasonTradePane .trade-score-row{align-items:center}
#seasonTradePane .trade-score{font-size:30px}
#seasonTradePane .trade-verdict{
  min-width:118px;padding:9px 12px;border-radius:999px;
  text-align:center;background:rgba(255,255,255,.035)
}
.trade-selected-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 4px}
.trade-selected-box{padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025)}
.trade-selected-box small{display:block;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}
.trade-selected-chips{display:flex;gap:5px;flex-wrap:wrap}
.trade-selected-chip{padding:5px 8px;border-radius:999px;background:rgba(245,201,52,.07);border:1px solid rgba(245,201,52,.14);font-size:10px;color:#e7e9f1}
.trade-selected-empty{color:#72798e;font-size:10px}

/* ---------- Player Rankings: less dashboard density on mobile ---------- */
#boardView .board-table tbody tr{transition:border-color .16s,background .16s}
#boardView .fantasy-owner small{display:block;color:var(--dim);font:700 8px 'JetBrains Mono',monospace;letter-spacing:.10em;margin-bottom:2px}
#boardView .fantasy-owner b{font-size:10px;color:#d9ddea}

/* More breathing room above fixed navigation */
@media(max-width:760px){
  .workspace-view{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
  #settingsView{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
  .workspace-heading{margin-bottom:22px!important;padding-top:5px!important}
  .workspace-heading h1{font-size:32px!important}
  .product-dashboard{gap:18px!important}
  .home-main-grid{gap:20px!important}
  .home-flat-section{padding-bottom:22px!important}
  .section-divider{margin:22px 0!important}

  .waiver-player-card{padding:13px 13px;grid-template-columns:auto minmax(0,1fr) auto;gap:7px 9px}
  .waiver-pos-rank{min-width:46px;height:46px;border-radius:14px;font-size:11px}
  .waiver-card-main b{font-size:15px}
  .waiver-card-score b{font-size:20px}

  #seasonTradePane .trade-teams{gap:12px}
  #seasonTradePane .trade-side{padding:12px;border-radius:18px}
  #seasonTradePane .trade-arrow{transform:none!important;padding:0!important;font-size:20px}
  #seasonTradePane .trade-score-row{grid-template-columns:1fr;gap:8px}
  #seasonTradePane .trade-score{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:25px;text-align:left}
  #seasonTradePane .trade-score small{margin:0;text-align:right}
  #seasonTradePane .trade-verdict{width:100%;order:-1}
  .trade-selected-summary{grid-template-columns:1fr;gap:7px;margin-top:12px}

  /* Three meaningful values instead of a four-box stat wall. */
  #boardView .board-table tbody tr{
    grid-template-columns:36px minmax(0,1fr) auto;
    grid-template-areas:
      "rank player pos"
      "rank tier tier"
      "stats stats stats"
      "actions actions actions";
    padding:15px 13px;
    gap:8px 10px;
    border-radius:18px;
  }
  #boardView .board-table td:nth-child(5),
  #boardView .board-table td:nth-child(7),
  #boardView .board-table td:nth-child(8){
    grid-area:stats!important;
    display:inline-flex!important;
    margin-left:0!important;
    width:calc(33.333% - 6px);
    min-height:50px;
    justify-content:center;
  }
  #boardView .board-table td:nth-child(5){justify-self:start}
  #boardView .board-table td:nth-child(7){justify-self:center}
  #boardView .board-table td:nth-child(8){justify-self:end}
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(9){display:none!important}
  #boardView .board-table td:nth-child(5)::before{content:'COCO'}
  #boardView .board-table td:nth-child(7)::before{content:'CONSENSUS'}
  #boardView .board-table td:nth-child(8)::before{content:'ESPN'}
  #boardView .board-table td:nth-child(10){grid-area:actions;margin-top:2px;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.055)!important}
  #boardView .fantasy-owner{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
  #boardView .fantasy-owner small{margin:0}
  #boardView .fantasy-owner b{text-align:right;font-size:11px}
}

@media(max-width:760px){
  #mobileBottomNav.mobile-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;left:8px!important;right:8px!important;padding:5px 4px!important;gap:2px!important}
  #mobileBottomNav.mobile-bottom-nav button{min-width:0!important;min-height:56px!important;border-radius:19px!important;padding:6px 0 5px!important}
  #mobileBottomNav.mobile-bottom-nav button>span{font-size:17px!important}
  #mobileBottomNav.mobile-bottom-nav button>small{font-size:7.5px!important;letter-spacing:0!important}
}

/* Standalone Matchups page: bottom-nav Matchups is no longer visually nested inside League Center. */
#seasonView.matchups-standalone > .workspace-heading{display:none!important}
#seasonView.matchups-standalone .season-grid{display:block!important}
#seasonView.matchups-standalone .season-grid > .season-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
#seasonView.matchups-standalone .season-grid > .season-card > .eyebrow,
#seasonView.matchups-standalone .season-grid > .season-card > h2,
#seasonView.matchups-standalone .season-grid > .season-card > p,
#seasonView.matchups-standalone .season-toolbar,
#seasonView.matchups-standalone .season-tabs{display:none!important}
#seasonView.matchups-standalone .season-pane{display:none!important}
#seasonView.matchups-standalone #seasonMatchupsPane{display:block!important}
#seasonView:not(.matchups-standalone) #seasonMatchupsPane{display:none!important}
.matchups-page-intro{display:none;margin:0 0 26px}
#seasonView.matchups-standalone .matchups-page-intro{display:block}
.matchups-page-intro h1{margin:5px 0 8px;font-size:clamp(2rem,5vw,3rem);line-height:1.02}
.matchups-page-intro p{margin:0;color:var(--dim);max-width:760px;line-height:1.5}
#seasonView.matchups-standalone .matchup-week-head{margin-top:0}
@media(max-width:760px){
  #seasonView.matchups-standalone{padding-top:10px}
  .matchups-page-intro{margin-bottom:22px;padding:0 2px}
  .matchups-page-intro h1{font-size:2.15rem}
  .matchups-page-intro p{font-size:.98rem}
}

/* Cloud cleanup stage 1: remove legacy local-assistant surfaces from the product UI. */
#assistantView,#navAssistant,#voiceToggleRow,#voiceCloneSection,#activeVoiceCard{display:none!important}
#cloudRuntimeCard .setting-row{min-height:48px}
#cloudRuntimeCard .setting-row b{color:var(--text)}

/* ============================================================
   COCO polish pass — visual consistency only.
   Intentionally avoids changing ESPN/data logic.
   ============================================================ */
:root{
  --coco-surface:#090b11;
  --coco-surface-2:#0d1018;
  --coco-border:rgba(255,255,255,.075);
  --coco-border-strong:rgba(255,255,255,.12);
  --coco-gold-soft:rgba(245,201,52,.075);
  --coco-blue-soft:rgba(79,140,255,.075);
  --coco-radius:20px;
}

/* One rhythm for the main app pages. */
.workspace-view{max-width:1360px;margin-inline:auto}
.workspace-heading{align-items:flex-end;gap:18px;margin-bottom:26px}
.workspace-heading h1{letter-spacing:-.035em;line-height:1.02;margin-top:5px}
.workspace-heading p{max-width:760px;line-height:1.55;margin-top:10px}
.eyebrow{letter-spacing:.16em}

/* Surfaces should read as one design system rather than separate modules. */
.product-card,.season-card,.waiver-card,.settings-section,.board-workspace,.command-main,.trash-talk-card,.draft-section{
  border-color:var(--coco-border)!important;
}
.product-card,.season-card,.waiver-card{
  border-radius:var(--coco-radius)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.product-card-title-row{gap:14px;margin-bottom:14px}
.product-card-title-row h2{letter-spacing:-.025em;line-height:1.08}
.home-flat-section h2,.team-roster-flat h2{letter-spacing:-.025em}
.section-divider{border-color:rgba(255,255,255,.065)!important}

/* Primary/secondary controls: consistent size, weight and focus treatment. */
.primary-btn,.product-link-btn,.ghost-btn,.preset-btn,.waiver-filter-chip,.season-tab,.rank-controls button,
.matchup-week-btn,.matchup-week-quick button,.rank-expand-btn{
  min-height:42px;
}
button,select,input{font-family:inherit}
button{ -webkit-tap-highlight-color:transparent }
button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid rgba(245,201,52,.72)!important;
  outline-offset:2px!important;
}
.product-link-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;padding:8px 13px;
  border-color:rgba(245,201,52,.28)!important;
  background:linear-gradient(180deg,rgba(245,201,52,.095),rgba(245,201,52,.055))!important;
}
.product-link-btn:hover{border-color:rgba(245,201,52,.48)!important;background:rgba(245,201,52,.12)!important}
.ghost-btn{border-radius:999px!important}

/* Status/source copy gets a quieter, consistent treatment. */
.source-pill,.my-league-pill{
  border-radius:999px!important;
  line-height:1.35;
}
.meta{line-height:1.45}

/* Empty/loading states should look intentional rather than like raw paragraphs. */
#homeMatchup>p,#homeTopTeams>p,#homeCore>p,#myTeamLineup>p,#waiverList>p,#seasonRankList>.season-empty,
#seasonMatchupsList>.season-empty,#seasonTransactionsList>.season-empty{
  margin:0!important;padding:16px 17px!important;
  border:1px dashed rgba(255,255,255,.10)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.018)!important;
  color:var(--dim)!important;
  line-height:1.5!important;
}

/* Home: preserve hierarchy, remove visual competition between sections. */
.product-dashboard{gap:22px}
.home-main-grid{align-items:start}
.home-flat-section{border-top-color:rgba(255,255,255,.065)!important}
.home-roster-section{margin-top:2px}
.product-stat-row{gap:10px}
.product-stat{border-color:rgba(255,255,255,.065)!important}
.product-stat b{letter-spacing:-.025em}
.product-row{border-color:rgba(255,255,255,.055)!important}
.product-row:last-child{border-bottom:0!important}

/* Team page: clearer split between overview, starters and rooms. */
.team-profile-head{gap:16px}
.team-overview-card #myTeamSummary{max-width:820px;line-height:1.55}
.product-lineup .product-row{min-height:64px}
.product-room-grid{gap:12px}

/* Waivers: filters remain visible and compact, result cards get consistent spacing. */
.waiver-toolbar{gap:12px}
.waiver-position-filters{scrollbar-width:none}
.waiver-position-filters::-webkit-scrollbar{display:none}
.waiver-search input{min-height:42px}
.waiver-player-card{border-color:rgba(255,255,255,.07)!important}
.waiver-player-card:hover{border-color:rgba(245,201,52,.22)!important}

/* League: tabs should scroll cleanly instead of squeezing or clipping. */
.season-tabs{
  overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;
  scrollbar-width:none;padding-bottom:2px;
}
.season-tabs::-webkit-scrollbar{display:none}
.season-tabs button{scroll-snap-align:start;white-space:nowrap;flex:0 0 auto}
.season-toolbar{gap:12px}

/* Matchups: scoreboard cards stay the hero, controls stay secondary. */
.matchups-page-intro p{max-width:720px}
.matchup-week-head{border-color:rgba(255,255,255,.075)!important}
.matchup-week-quick{gap:8px;overflow-x:auto;scrollbar-width:none}
.matchup-week-quick::-webkit-scrollbar{display:none}
.matchup-week-quick button{white-space:nowrap;flex:0 0 auto}
.compact-matchup-card{border-color:rgba(255,255,255,.075)!important}
.matchup-detail-summary{box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}

/* Rankings: keep analytic density but make the cards read top-to-bottom. */
#seasonRankingsPane .rank-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
#seasonRankingsPane .rank-mini{white-space:nowrap}
#seasonRankingsPane .rank-detail{border-top-color:rgba(255,255,255,.065)!important}
#boardView .board-table tbody tr{box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}

/* Settings: less "developer console", more product settings. */
#settingsView .settings-section{border-radius:20px!important}
#settingsView .settings-section h2{letter-spacing:-.02em}
#cloudRuntimeCard .setting-row{border-color:rgba(255,255,255,.06)!important}

/* Drawer: secondary navigation only; larger touch rows and cleaner hierarchy. */
.mobile-app-drawer{border-color:rgba(255,255,255,.11)!important;box-shadow:0 22px 60px rgba(0,0,0,.52)!important}
.mobile-app-drawer button{min-height:58px;border-radius:13px!important}
.mobile-app-drawer button:hover{background:rgba(245,201,52,.055)!important}
.mobile-app-drawer button small{opacity:.72}

@media(max-width:760px){
  /* Fixed chrome clearance: no page title should sit under the app header/nav. */
  .content{
    padding-top:calc(env(safe-area-inset-top) + 84px)!important;
    padding-left:14px!important;padding-right:14px!important;
    padding-bottom:calc(env(safe-area-inset-bottom) + 128px)!important;
  }
  .workspace-view,#settingsView{padding-bottom:24px!important}
  .workspace-heading{align-items:flex-start!important;margin-bottom:20px!important;padding-top:4px!important}
  .workspace-heading h1{font-size:30px!important;line-height:1.04!important}
  .workspace-heading p{font-size:14px!important;line-height:1.5!important}

  /* Bottom nav: six destinations fit without looking compressed. */
  #mobileBottomNav.mobile-bottom-nav{
    bottom:calc(env(safe-area-inset-bottom) + 8px)!important;
    border-radius:29px!important;
    padding:5px!important;
    background:rgba(16,16,18,.97)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.035)!important;
  }
  #mobileBottomNav.mobile-bottom-nav button{
    min-height:58px!important;border-radius:20px!important;gap:3px!important;
  }
  #mobileBottomNav.mobile-bottom-nav button>span{font-size:17px!important;line-height:1!important}
  #mobileBottomNav.mobile-bottom-nav button>small{font-size:7.6px!important;font-weight:700!important;line-height:1.05!important}
  #mobileBottomNav.mobile-bottom-nav button.active{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 18px rgba(245,201,52,.10)!important;
  }

  .product-dashboard{gap:20px!important}
  .product-card,.season-card,.waiver-card{border-radius:19px!important}
  .product-card-title-row{margin-bottom:12px}
  .product-link-btn{min-height:38px;padding:7px 11px;font-size:.76rem}
  .product-stat-row{gap:7px!important}
  .product-stat{padding:12px 8px!important}
  .product-stat b{font-size:20px!important}
  .product-stat span{font-size:8px!important}

  .home-main-grid{gap:18px!important}
  .home-flat-section{padding-bottom:20px!important}
  .product-row{padding-top:13px!important;padding-bottom:13px!important}

  .team-profile-head{align-items:flex-start!important}
  .product-room-grid{grid-template-columns:1fr!important;gap:10px!important}

  .waiver-card{padding:14px!important}
  .waiver-toolbar{gap:10px!important}
  .waiver-position-filters{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px}
  .waiver-filter-chip{flex:0 0 auto;min-height:38px!important}
  .waiver-search-row{gap:8px!important}

  .season-toolbar{align-items:stretch!important}
  .season-tabs{margin-left:-2px;margin-right:-2px;padding-left:2px;padding-right:2px}
  .season-tab{min-height:40px!important}

  .matchups-page-intro{margin-bottom:18px!important}
  .matchups-page-intro h1{font-size:2rem!important}
  .matchups-page-intro p{font-size:.91rem!important;line-height:1.48!important}
  .matchup-week-head{border-radius:18px!important}
  .matchup-week-quick button{min-height:38px!important}

  #seasonRankingsPane .rank-card{border-radius:20px!important}
  #seasonRankingsPane .rank-minirow{gap:7px!important}
  #seasonRankingsPane .rank-mini{min-width:0!important}

  #settingsView .settings-section{border-radius:18px!important}
}

@media(max-width:390px){
  .content{padding-left:11px!important;padding-right:11px!important}
  #mobileBottomNav.mobile-bottom-nav{left:6px!important;right:6px!important;padding:4px!important}
  #mobileBottomNav.mobile-bottom-nav button{min-height:56px!important;border-radius:18px!important}
  #mobileBottomNav.mobile-bottom-nav button>small{font-size:7px!important}
  .product-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .workspace-heading h1{font-size:28px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

#boardView .workspace-heading{margin-bottom:16px!important}#boardView .board-workspace{overflow:visible!important}
#boardView .draft-toolbar{position:sticky;top:82px;z-index:15;display:grid!important;grid-template-columns:minmax(220px,1.25fr) auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important;padding:12px!important;margin-bottom:14px!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:18px!important;background:rgba(8,10,16,.94)!important;backdrop-filter:blur(18px);box-shadow:0 12px 34px rgba(0,0,0,.22)!important}
#boardView #draftSearch{min-height:44px!important;border-radius:13px!important;background:rgba(255,255,255,.045)!important}#boardView .espn-filter-wrap{min-height:44px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:13px!important;background:rgba(255,255,255,.035)!important;padding:0 10px!important}
#boardView .pos-chips{gap:6px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:0!important}#boardView .pos-chip{min-width:48px!important;min-height:40px!important;padding:0 13px!important;border-radius:12px!important}#boardView .pos-chip.active{background:rgba(246,202,55,.15)!important;border-color:rgba(246,202,55,.48)!important;color:var(--harvest-gold)!important}
#boardView .board-panel{border:1px solid rgba(255,255,255,.075)!important;border-radius:20px!important;background:#090a0d!important;overflow:hidden!important}#boardView .board-table{width:100%!important;border-collapse:collapse!important;table-layout:auto!important}#boardView .board-table thead{display:table-header-group!important;background:#0e1015!important}#boardView .board-table thead tr{display:table-row!important}#boardView .board-table th{padding:11px 12px!important;border-bottom:1px solid rgba(255,255,255,.075)!important;color:#8d93a3!important;font:700 9px 'JetBrains Mono',monospace!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-align:left!important;white-space:nowrap!important}
#boardView .board-table tbody{display:table-row-group!important}#boardView .board-table tbody tr.player-ranking-row{display:table-row!important;background:#0a0c10!important;transition:background .14s ease!important}#boardView .board-table tbody tr.player-ranking-row:hover{background:#10131a!important}#boardView .board-table tbody tr.player-ranking-row.fantasy-owned{background:linear-gradient(90deg,rgba(246,202,55,.025),#0a0c10 23%)!important}#boardView .board-table td{display:table-cell!important;padding:10px 12px!important;border-bottom:1px solid rgba(255,255,255,.055)!important;vertical-align:middle!important;color:#eef1f7!important;width:auto!important;min-width:0!important;margin:0!important;position:static!important}#boardView .board-table td::before{display:none!important}
#boardView .ranking-tier-row{display:table-row!important}#boardView .ranking-tier-row td{display:table-cell!important;padding:8px 10px 7px!important;background:#07080b!important;border-bottom:1px solid rgba(255,255,255,.04)!important}#boardView .ranking-tier-divider{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border-left:4px solid var(--tier-accent);border-radius:8px;background:rgba(255,255,255,.025)}#boardView .ranking-tier-divider span{font:800 11px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#fff}#boardView .ranking-tier-divider small{font:700 8px 'JetBrains Mono',monospace;letter-spacing:.08em;color:#727887}
#boardView .ranking-overall{width:48px!important;text-align:center!important}#boardView .ranking-overall span{display:inline-flex;width:31px;height:31px;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.045);font:800 13px 'Space Grotesk',sans-serif;color:#e8eaf0}#boardView .player-cell{min-width:230px!important}#boardView .ranking-player-name{font:700 14px 'Space Grotesk',sans-serif;line-height:1.15;color:#f5f6f9}#boardView .ranking-player-sub{display:flex;gap:5px;margin-top:4px;color:#717786;font:600 9px 'JetBrains Mono',monospace;text-transform:uppercase}
#boardView .clean-pos-rank{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:29px;padding:0 9px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:rgba(79,140,255,.10);font:800 10px 'JetBrains Mono',monospace;color:#80adff}#boardView .clean-pos-rank.pos-RB{background:rgba(38,183,235,.11);color:#53c4f2}#boardView .clean-pos-rank.pos-WR{background:rgba(255,61,120,.11);color:#ff6a98}#boardView .clean-pos-rank.pos-TE{background:rgba(213,53,239,.11);color:#dd75ef}#boardView .clean-pos-rank.pos-QB{background:rgba(29,201,168,.11);color:#58d6bd}
#boardView .ranking-team{font:700 10px 'JetBrains Mono',monospace;color:#b8bdc9!important}#boardView .ranking-metric{text-align:center!important;min-width:72px!important}#boardView .ranking-metric small{display:none}#boardView .ranking-metric b{font:800 13px 'JetBrains Mono',monospace;color:#dfe3ec}#boardView .ranking-metric.coco-metric b{color:var(--harvest-gold)}#boardView .fantasy-owner{min-width:130px!important;gap:2px!important}#boardView .fantasy-owner small{font-size:7px!important;letter-spacing:.10em!important}#boardView .fantasy-owner b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}#boardView .fantasy-owner.fantasy-owned b{color:var(--harvest-gold)!important}#boardView .ranking-empty-row td{text-align:center!important;padding:34px!important;color:var(--dim)!important}
@media(max-width:760px){#boardView .workspace-heading{padding-inline:2px!important;margin-bottom:14px!important}#boardView .workspace-heading h1{font-size:31px!important}#boardView .workspace-heading p{font-size:13px!important;margin-top:6px!important}#boardView .draft-toolbar{position:static;grid-template-columns:1fr auto!important;padding:10px!important;gap:9px!important;border-radius:16px!important}#boardView #draftSearch{grid-column:1/2;min-height:43px!important}#boardView .espn-filter-wrap{grid-column:2/3;min-height:43px!important}#boardView .pos-chips{grid-column:1/-1!important;width:100%!important}#boardView .board-panel{border-radius:17px!important;background:transparent!important;border:0!important;overflow:visible!important}#boardView .board-table,#boardView .board-table tbody{display:block!important}#boardView .board-table thead{display:none!important}#boardView .ranking-tier-row{display:block!important;margin:14px 0 7px!important}#boardView .ranking-tier-row td{display:block!important;padding:0!important;background:transparent!important;border:0!important}#boardView .ranking-tier-divider{min-height:31px;padding:0 12px}#boardView .board-table tbody tr.player-ranking-row{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;grid-template-areas:'rank player pos' 'rank metrics metrics' 'owner owner owner'!important;gap:8px 10px!important;padding:12px 12px 11px!important;margin-bottom:7px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:14px!important;background:#0b0d11!important}#boardView .board-table td{display:block!important;padding:0!important;border:0!important;background:transparent!important}#boardView .ranking-overall{grid-area:rank!important;width:auto!important;align-self:start!important;text-align:left!important}#boardView .ranking-overall span{width:34px;height:34px;border-radius:10px;font-size:14px}#boardView .player-cell{grid-area:player!important;min-width:0!important}#boardView .ranking-player-name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#boardView .ranking-player-sub{margin-top:5px}#boardView .board-table td:nth-child(3){grid-area:pos!important;justify-self:end!important}#boardView .clean-pos-rank{min-width:50px;height:31px}#boardView .ranking-team{display:none!important}#boardView .board-table td:nth-child(5),#boardView .board-table td:nth-child(6),#boardView .board-table td:nth-child(7){grid-area:metrics!important;display:flex!important;align-items:center!important;justify-content:center!important;width:31%!important;min-width:0!important;height:44px!important;padding:5px!important;border:1px solid rgba(255,255,255,.055)!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important}#boardView .board-table td:nth-child(5){justify-self:start!important}#boardView .board-table td:nth-child(6){justify-self:center!important}#boardView .board-table td:nth-child(7){justify-self:end!important}#boardView .ranking-metric{flex-direction:column!important;gap:2px!important}#boardView .ranking-metric small{display:block!important;font:700 7px 'JetBrains Mono',monospace;color:#707686;letter-spacing:.08em}#boardView .ranking-metric b{font-size:12px}#boardView .board-table td:nth-child(8){grid-area:owner!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.05)!important}#boardView .fantasy-owner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-width:0!important}#boardView .fantasy-owner b{font-size:10px!important;max-width:68%;text-align:right}}
@media(max-width:390px){#boardView .draft-toolbar{grid-template-columns:1fr!important}#boardView #draftSearch,#boardView .espn-filter-wrap,#boardView .pos-chips{grid-column:1!important}#boardView .espn-filter-wrap{justify-self:start!important;width:auto!important}#boardView .ranking-player-name{font-size:15px}}
/* Player Rankings must always participate in normal page scrolling. */
html,body{min-height:100%;overflow-y:auto!important}
#boardView{height:auto!important;min-height:0!important;max-height:none!important;overflow-y:visible!important;padding-bottom:150px!important}
#boardView .board-workspace,#boardView #playerListSection,#boardView .board-panel,#boardView .board-table,#boardView .board-table tbody{height:auto!important;max-height:none!important;overflow-y:visible!important}
#boardView .ranking-tier-divider.dynamic-tier{background:linear-gradient(90deg,color-mix(in srgb,var(--tier-accent) 8%,transparent),rgba(255,255,255,.018))}
#boardView .ranking-tier-divider small em{font-style:normal;color:var(--harvest-gold);margin-left:7px}
#boardView .ranking-metric.live-coco b{color:var(--harvest-gold)!important}
#boardView .ranking-player-sub .live-dot{color:#43d79a;font-size:8px}

.player-profile-overlay{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,4,10,.78);backdrop-filter:blur(16px)}
.player-profile-overlay.show{display:flex}.player-profile-card{width:min(1080px,96vw);max-height:min(880px,92vh);overflow:auto;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(180deg,rgba(10,15,27,.985),rgba(5,8,14,.995));box-shadow:0 28px 90px rgba(0,0,0,.55);position:relative}
.player-profile-close{position:sticky;top:14px;float:right;margin:14px 14px 0 0;z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(15,18,27,.92);color:#fff;font-size:22px;cursor:pointer}
.player-profile-hero{display:grid;grid-template-columns:minmax(250px,34%) minmax(0,1fr);gap:24px;padding:26px 26px 18px}.player-profile-photo{position:relative;min-height:360px;border-radius:24px;overflow:hidden;border:1px solid rgba(79,140,255,.22);background:radial-gradient(circle at 30% 18%,rgba(65,127,255,.28),rgba(10,19,38,.95) 55%,rgba(5,8,14,.98));display:flex;align-items:flex-end;justify-content:center}
.player-profile-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 30px rgba(0,0,0,.32))}.player-profile-photo .fallback{font:800 72px 'Space Grotesk',sans-serif;color:rgba(255,255,255,.14);align-self:center}
.player-profile-photo-label{position:absolute;left:16px;right:16px;bottom:14px;padding:13px 15px;border-radius:16px;background:rgba(3,7,14,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);display:flex;justify-content:space-between;gap:12px;align-items:center}.player-profile-photo-label b{font-size:18px}.player-profile-photo-label small{color:var(--dim)}
.player-profile-main{padding:12px 4px 0;min-width:0}.player-profile-kicker{font:700 10px 'JetBrains Mono',monospace;letter-spacing:.18em;color:var(--harvest-gold);text-transform:uppercase}.player-profile-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:8px}.player-profile-title h2{font-size:clamp(32px,5vw,58px);line-height:.98;margin:0}.player-profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.player-profile-tag{padding:8px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);font-weight:800}.player-profile-tag.pos{color:#7cc7ff;border-color:rgba(79,163,255,.35);background:rgba(79,163,255,.12)}
.player-profile-rank{min-width:150px;padding:16px 18px;border-radius:20px;border:1px solid rgba(245,197,66,.36);background:radial-gradient(circle at 50% 10%,rgba(245,197,66,.15),rgba(20,15,5,.55));text-align:center;box-shadow:0 0 30px rgba(245,197,66,.08)}.player-profile-rank b{display:block;color:var(--harvest-gold);font-size:48px;line-height:.95}.player-profile-rank span{font:700 9px 'JetBrains Mono',monospace;letter-spacing:.18em;color:#ddd;text-transform:uppercase}
.player-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden}.player-profile-metric{padding:17px 14px;border-right:1px solid rgba(255,255,255,.07);min-width:0}.player-profile-metric:last-child{border-right:0}.player-profile-metric small{display:block;color:var(--dim);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.player-profile-metric b{display:block;font-size:30px;margin-top:6px;white-space:nowrap}.player-profile-metric.coco b{color:var(--harvest-gold)}
.player-profile-chart{margin-top:18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px 16px 12px}.player-profile-chart-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.player-profile-chart-head b{font-size:16px}.player-profile-chart-head small{color:var(--dim)}.player-profile-bars{height:170px;display:flex;align-items:flex-end;gap:7px;padding-top:12px}.player-profile-week{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;height:100%}.player-profile-week .val{font-size:10px;color:#b9c0d2}.player-profile-week .bar{width:min(20px,78%);min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#4da3ff,#1f57c7)}.player-profile-week .wk{font:700 8px 'JetBrains Mono',monospace;color:#737b92}.player-profile-body{padding:0 26px 26px}.player-profile-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden}.player-profile-info>div{padding:16px;border-right:1px solid rgba(255,255,255,.07)}.player-profile-info>div:last-child{border-right:0}.player-profile-info small{display:block;color:var(--dim);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.player-profile-info b{font-size:16px;line-height:1.25}.player-profile-tier{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tier-color) 45%,transparent);background:color-mix(in srgb,var(--tier-color) 9%,transparent);color:var(--tier-color);font:800 10px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.player-ranking-row{cursor:pointer}.player-ranking-row:hover{background:rgba(255,255,255,.025)}
@media(max-width:760px){.player-profile-overlay{padding:0;align-items:flex-end}.player-profile-card{width:100%;max-height:94vh;border-radius:26px 26px 0 0}.player-profile-hero{grid-template-columns:1fr;padding:18px 16px 12px;gap:14px}.player-profile-photo{min-height:250px}.player-profile-title-row{align-items:center}.player-profile-title h2{font-size:34px}.player-profile-rank{min-width:104px;padding:12px}.player-profile-rank b{font-size:36px}.player-profile-metrics{grid-template-columns:1fr 1fr}.player-profile-metric:nth-child(2){border-right:0}.player-profile-metric:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}.player-profile-metric b{font-size:24px}.player-profile-body{padding:0 16px 24px}.player-profile-info{grid-template-columns:1fr 1fr}.player-profile-info>div:nth-child(2){border-right:0}.player-profile-info>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}.player-profile-bars{height:132px;gap:4px}.player-profile-week .val{font-size:8px}.player-profile-photo-label{left:12px;right:12px}.player-profile-close{position:absolute;right:0;top:0}}

/* Game-rank tier language + compact dividers */
#boardView .ranking-tier-divider.dynamic-tier{
  min-height:36px!important;
  padding:7px 12px!important;
  border-left-width:3px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--tier-accent) 12%,#080a0e),#080a0e 58%,rgba(255,255,255,.018))!important;
}
#boardView .ranking-tier-divider.dynamic-tier>span{display:flex;align-items:center;gap:8px;font-size:10.5px!important}
#boardView .game-tier-mark{font-style:normal;color:var(--tier-accent);font-size:13px;text-shadow:0 0 14px color-mix(in srgb,var(--tier-accent) 45%,transparent)}
#boardView .ranking-tier-divider.dynamic-tier small{white-space:nowrap}

/* More premium, compact profile */
.player-profile-overlay{z-index:10000!important;background:rgba(2,4,9,.88)!important}
.player-profile-card{scrollbar-width:thin;overscroll-behavior:contain}
.player-profile-card:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--harvest-gold),#4da3ff,transparent);opacity:.7;z-index:2}
.player-profile-tier{justify-content:flex-start!important;border-radius:16px!important;padding:12px 14px!important;letter-spacing:0!important;text-transform:none!important}
.player-profile-tier .tier-emblem{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--tier-color) 14%,#080b12);border:1px solid color-mix(in srgb,var(--tier-color) 48%,transparent);color:var(--tier-color);font-size:19px;box-shadow:0 0 18px color-mix(in srgb,var(--tier-color) 15%,transparent)}
.player-profile-tier>span:last-child{display:flex;flex-direction:column;gap:2px}.player-profile-tier strong{font:800 13px 'Space Grotesk',sans-serif;color:var(--tier-color);text-transform:uppercase;letter-spacing:.08em}.player-profile-tier small{font:700 8px 'JetBrains Mono',monospace;color:#8d94a6;letter-spacing:.11em;text-transform:uppercase}

@media(max-width:760px){
  body.player-profile-open{overflow:hidden!important}
  body.player-profile-open .mobile-app-topbar,
  body.player-profile-open .mobile-bottom-nav,
  body.player-profile-open .mobile-app-drawer,
  body.player-profile-open .mobile-drawer-scrim{visibility:hidden!important;pointer-events:none!important}
  .player-profile-overlay{padding:0!important;align-items:stretch!important;background:#05070c!important;backdrop-filter:none!important}
  .player-profile-card{width:100vw!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#07101d 0,#05070c 46%,#05070c 100%)!important;padding-bottom:max(20px,env(safe-area-inset-bottom));}
  .player-profile-close{position:fixed!important;top:max(14px,env(safe-area-inset-top))!important;right:14px!important;float:none!important;margin:0!important;width:44px!important;height:44px!important;z-index:10003!important;background:rgba(7,10,16,.88)!important;backdrop-filter:blur(12px)!important}
  .player-profile-hero{display:block!important;padding:0 14px 12px!important}
  .player-profile-photo{margin:0 -14px 0!important;min-height:0!important;height:clamp(245px,39vh,340px)!important;border-radius:0 0 24px 24px!important;border-width:0 0 1px!important;background:radial-gradient(circle at 50% 20%,rgba(47,105,207,.34),rgba(6,14,27,.97) 65%)!important}
  .player-profile-photo img{object-fit:contain!important;object-position:center bottom!important;max-height:100%!important}
  .player-profile-photo-label{left:14px!important;right:14px!important;bottom:12px!important;padding:10px 12px!important;border-radius:14px!important}.player-profile-photo-label b{font-size:15px!important}
  .player-profile-main{padding:18px 6px 0!important}
  .player-profile-kicker{font-size:8.5px!important;letter-spacing:.2em!important}
  .player-profile-title-row{align-items:flex-start!important;gap:12px!important;margin-top:7px!important}
  .player-profile-title{min-width:0!important}.player-profile-title h2{font-size:32px!important;line-height:1!important;letter-spacing:-.02em!important}
  .player-profile-tags{margin-top:10px!important;gap:6px!important}.player-profile-tag{padding:6px 9px!important;border-radius:9px!important;font-size:12px!important}
  .player-profile-rank{min-width:91px!important;padding:11px 10px!important;border-radius:16px!important}.player-profile-rank b{font-size:34px!important}.player-profile-rank span{font-size:7px!important}
  .player-profile-metrics{margin-top:14px!important;border-radius:16px!important}.player-profile-metric{padding:13px 12px!important;min-height:78px!important}.player-profile-metric small{font-size:7.5px!important}.player-profile-metric b{font-size:23px!important;margin-top:5px!important}
  .player-profile-chart{margin-top:14px!important;border-radius:16px!important;padding:14px 13px 11px!important}.player-profile-chart-head b{font-size:15px!important}.player-profile-chart-head small{font-size:11px!important}.player-profile-bars{height:112px!important}
  .player-profile-body{padding:0 20px 28px!important}
  .player-profile-info{border-radius:16px!important}.player-profile-info>div{padding:13px 12px!important;min-height:74px!important}.player-profile-info small{font-size:7.5px!important;margin-bottom:5px!important}.player-profile-info b{font-size:14px!important}
  .player-profile-tier{margin-top:12px!important;padding:10px 12px!important}.player-profile-tier .tier-emblem{width:34px;height:34px;font-size:17px}.player-profile-tier strong{font-size:12px}.player-profile-tier small{font-size:7px}
  #boardView .ranking-tier-row{margin:10px 0 6px!important}
  #boardView .ranking-tier-divider.dynamic-tier{min-height:34px!important;padding:7px 10px!important}
  #boardView .ranking-tier-divider.dynamic-tier>span{font-size:10px!important}
  #boardView .ranking-tier-divider.dynamic-tier small{font-size:7px!important}
}

/* =========================================================
   COCO POLISH: compact player rows + unified app shell
   ========================================================= */
:root{
  --coco-bg:#000000;
  --coco-surface:#0b0d11;
  --coco-surface-2:#11141b;
  --coco-border:rgba(255,255,255,.085);
  --coco-gold:#f6ca37;
  --coco-navy:#040319;
}
html,body{background:var(--coco-bg)!important}
body,.stage,.content{background:var(--coco-bg)!important}

/* Use the same app chrome at every viewport size. */
body > .stage > .content > header{display:none!important}
.mobile-app-topbar{
  position:fixed!important;
  z-index:5000!important;
  inset:0 0 auto 0!important;
  min-height:72px!important;
  height:auto!important;
  padding:12px max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left))!important;
  display:grid!important;
  grid-template-columns:48px 1fr 48px!important;
  align-items:center!important;
  gap:12px!important;
  background:rgba(4,3,25,.96)!important;
  border-bottom:1px solid rgba(246,202,55,.13)!important;
  box-shadow:0 12px 36px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important;
}
.mobile-round-btn{
  width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  border-radius:50%!important;border:1px solid rgba(255,255,255,.13)!important;
  background:#151515!important;color:#f7f7f7!important;display:grid!important;place-items:center!important;
  padding:0!important;box-shadow:inset 0 1px rgba(255,255,255,.06)!important;
}
.harvest-mobile-brand-wrap{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important}
.harvest-mobile-crest{display:flex!important;align-items:center!important;justify-content:center!important;width:142px!important;height:38px!important;overflow:hidden!important}
.harvest-mobile-crest img{width:142px!important;height:auto!important;max-height:38px!important;object-fit:contain!important}

.mobile-bottom-nav{
  position:fixed!important;
  z-index:4900!important;
  left:50%!important;right:auto!important;bottom:calc(env(safe-area-inset-bottom) + 10px)!important;
  transform:translateX(-50%)!important;
  width:min(900px,calc(100vw - 24px))!important;
  min-height:68px!important;
  padding:5px!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:3px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:26px!important;
  background:rgba(20,20,20,.96)!important;
  box-shadow:0 14px 50px rgba(0,0,0,.55)!important;
  backdrop-filter:blur(22px)!important;
  -webkit-backdrop-filter:blur(22px)!important;
}
.mobile-bottom-nav button{
  min-width:0!important;min-height:56px!important;padding:7px 4px 5px!important;border:0!important;
  border-radius:20px!important;background:transparent!important;color:#777b86!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  box-shadow:none!important;
}
.mobile-bottom-nav button>span{font-size:18px!important;line-height:1!important}
.mobile-bottom-nav button>small{font:700 8px 'JetBrains Mono',monospace!important;letter-spacing:.02em!important}
.mobile-bottom-nav button.active{background:var(--coco-gold)!important;color:#05040f!important}
.mobile-bottom-nav button.active>span,.mobile-bottom-nav button.active>small{color:#05040f!important}

.mobile-drawer-scrim{
  position:fixed!important;z-index:5090!important;inset:0!important;display:none!important;
  background:rgba(0,0,0,.62)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
}
.mobile-app-drawer{
  position:fixed!important;z-index:5100!important;top:82px!important;left:max(18px,calc((100vw - 1360px)/2 + 18px))!important;
  width:min(300px,calc(100vw - 36px))!important;padding:10px!important;display:none!important;
  border:1px solid rgba(255,255,255,.11)!important;border-radius:20px!important;background:#151515!important;
  box-shadow:0 24px 80px rgba(0,0,0,.68)!important;
}
body.mobile-drawer-open{overflow:hidden!important}
body.mobile-drawer-open .mobile-app-drawer{display:grid!important;gap:4px!important}
body.mobile-drawer-open .mobile-drawer-scrim{display:block!important}
.mobile-app-drawer button{
  display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:52px!important;
  padding:0 15px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#f3f3f3!important;
  font-size:15px!important;text-align:left!important;box-shadow:none!important;
}
.mobile-app-drawer button:hover{background:rgba(246,202,55,.065)!important}

/* Desktop and mobile now share the same app-shell spacing and background. */
.content{
  width:min(1360px,100%)!important;
  max-width:1360px!important;
  min-height:100dvh!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  padding:96px 22px 112px!important;
}
.workspace-view{width:100%!important;max-width:none!important;margin:0!important}
.workspace-heading{padding:4px 2px 16px!important;margin:0!important}
.workspace-heading .eyebrow{color:var(--coco-gold)!important}
.card,.product-card,.board-panel,.season-panel,.settings-card{border-color:var(--coco-border)!important}

/* Player board: same visual language on desktop and mobile. */
#boardView .draft-toolbar{background:rgba(8,10,16,.96)!important;border-color:var(--coco-border)!important}
#boardView .board-panel{background:var(--coco-surface)!important;border-color:var(--coco-border)!important}
#boardView .ranking-tier-divider.dynamic-tier{
  min-height:26px!important;padding:5px 10px!important;border-radius:9px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--tier-accent) 9%,transparent),rgba(255,255,255,.015))!important;
}
#boardView .ranking-tier-divider.dynamic-tier>span{font-size:10px!important;letter-spacing:.14em!important}
#boardView .ranking-tier-divider.dynamic-tier small{font-size:7px!important}

/* Compact player cards: the list is for scanning; details live on tap. */
@media(max-width:760px){
  .content{
    width:100%!important;max-width:none!important;
    padding:calc(env(safe-area-inset-top) + 82px) 12px calc(env(safe-area-inset-bottom) + 98px)!important;
  }
  .mobile-app-topbar{
    padding:calc(env(safe-area-inset-top) + 10px) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))!important;
    min-height:calc(env(safe-area-inset-top) + 68px)!important;
  }
  .mobile-app-drawer{top:calc(env(safe-area-inset-top) + 72px)!important;left:14px!important}
  .mobile-bottom-nav{width:calc(100vw - 16px)!important}

  #boardView .workspace-heading{margin-bottom:10px!important}
  #boardView .workspace-heading h1{font-size:29px!important}
  #boardView .workspace-heading p{font-size:12.5px!important;line-height:1.4!important}
  #boardView .draft-toolbar{padding:9px!important;gap:8px!important;margin-bottom:10px!important}
  #boardView #draftSearch{min-height:42px!important}

  #boardView .ranking-tier-row{margin:10px 0 5px!important}
  #boardView .ranking-tier-divider.dynamic-tier{min-height:28px!important;padding:5px 9px!important}

  #boardView .board-table tbody{gap:0!important}
  #boardView .board-table tbody tr.player-ranking-row{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    grid-template-areas:
      'rank player pos'
      'rank coco owner'!important;
    align-items:center!important;
    gap:5px 10px!important;
    min-height:82px!important;
    padding:10px 11px!important;
    margin-bottom:6px!important;
    border:1px solid rgba(255,255,255,.075)!important;
    border-radius:14px!important;
    background:#0a0c10!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
    cursor:pointer!important;
  }
  #boardView .board-table tbody tr.player-ranking-row:active{background:#11141a!important;transform:scale(.995)}
  #boardView .board-table td{padding:0!important;border:0!important;background:transparent!important;min-width:0!important}

  #boardView .ranking-overall{grid-area:rank!important;width:auto!important;align-self:center!important}
  #boardView .ranking-overall span{width:34px!important;height:34px!important;border-radius:10px!important;font-size:14px!important}
  #boardView .player-cell{grid-area:player!important;min-width:0!important}
  #boardView .ranking-player-name{font-size:16px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #boardView .ranking-player-sub{font-size:8.5px!important;margin-top:4px!important;gap:5px!important}
  #boardView .board-table td:nth-child(3){grid-area:pos!important;justify-self:end!important}
  #boardView .clean-pos-rank{min-width:48px!important;height:30px!important;padding:0 8px!important;border-radius:9px!important}

  /* Only COCO stays visible as the primary list metric. */
  #boardView .board-table td:nth-child(5){
    grid-area:coco!important;display:flex!important;align-items:baseline!important;justify-content:flex-start!important;
    width:auto!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;
  }
  #boardView .board-table td:nth-child(5)::before{content:'COCO '!important;display:inline!important;margin-right:6px!important;color:#737a89!important;font:700 7px 'JetBrains Mono',monospace!important;letter-spacing:.1em!important}
  #boardView .board-table td:nth-child(5) b{font-size:13px!important;color:var(--coco-gold)!important}
  #boardView .board-table td:nth-child(5) small{display:none!important}

  /* VORP + ESPN belong in the detail page, not the scanning list. */
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7){display:none!important}

  #boardView .board-table td:nth-child(8){
    grid-area:owner!important;display:block!important;justify-self:end!important;padding:0!important;border:0!important;min-width:0!important;
  }
  #boardView .fantasy-owner{
    display:block!important;width:auto!important;min-width:0!important;text-align:right!important;
  }
  #boardView .fantasy-owner small{display:none!important}
  #boardView .fantasy-owner b{
    display:block!important;max-width:155px!important;font-size:9px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    color:#888f9e!important;text-align:right!important;
  }
  #boardView .fantasy-owner.fantasy-owned b{color:#bba34d!important}
  #boardView .fantasy-owner.fantasy-free b::before{content:'FA · '!important;color:#777!important}

  /* Defensive cleanup from older card layouts. */
  #boardView .ranking-team,#boardView .board-table td:nth-child(9),#boardView .board-table td:nth-child(10){display:none!important}
}

/* Desktop player board is a tighter version of the same hierarchy. */
@media(min-width:761px){
  #boardView .board-table tbody tr.player-ranking-row{cursor:pointer!important}
  #boardView .board-table tbody tr.player-ranking-row td{padding-top:9px!important;padding-bottom:9px!important}
  #boardView .ranking-player-name{font-size:14px!important}
  #boardView .ranking-overall span{width:30px!important;height:30px!important}
  #boardView .clean-pos-rank{height:28px!important}
  #boardView .ranking-tier-row td{padding-top:6px!important;padding-bottom:6px!important}
}

/* Full-screen player detail stays immersive on both desktop and mobile. */
body.player-profile-open .mobile-bottom-nav,
body.player-profile-open .mobile-app-topbar{display:none!important}
body.player-profile-open .content{padding-top:18px!important;padding-bottom:24px!important}

@media(min-width:761px){
  body.player-profile-open .content{max-width:1180px!important}
}

/* ==========================================================
   Mobile repair pass: compact ranking rows + stable 6-tab nav
   Deliberately placed last so legacy draft-board CSS cannot win.
   ========================================================== */
@media (max-width:760px){
  /* Bottom navigation must always span the real viewport. */
  #mobileBottomNav.mobile-bottom-nav{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(env(safe-area-inset-bottom) + 8px)!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    transform:none!important;
    margin:0!important;
    padding:5px 4px!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:2px!important;
    border-radius:25px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #mobileBottomNav.mobile-bottom-nav button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:58px!important;
    padding:6px 1px 5px!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  #mobileBottomNav.mobile-bottom-nav button>span{font-size:17px!important;line-height:1!important}
  #mobileBottomNav.mobile-bottom-nav button>small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:7.2px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
  }

  /* Give fixed app chrome enough room without clipping page headings. */
  .content{padding-top:calc(env(safe-area-inset-top) + 90px)!important;padding-bottom:calc(env(safe-area-inset-bottom) + 100px)!important}
  #boardView .workspace-heading{padding-top:8px!important}

  /* Tier separators are dividers, never cards. */
  #boardView .ranking-tier-row{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:12px 0 7px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
  }
  #boardView .ranking-tier-row td{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier{
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    box-sizing:border-box!important;
    padding:0 12px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier>span{font-size:10px!important;line-height:1!important;gap:7px!important}
  #boardView .ranking-tier-divider.dynamic-tier small{font-size:7px!important;line-height:1!important}

  /* Compact scan-first player list. */
  #boardView .board-table,
  #boardView .board-table tbody{display:block!important;width:100%!important}
  #boardView .board-table thead{display:none!important}
  #boardView .board-table tbody tr.player-ranking-row{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    grid-template-areas:
      "rank player pos"
      "rank meta coco"!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:4px!important;
    width:100%!important;
    min-height:72px!important;
    height:auto!important;
    margin:0 0 7px!important;
    padding:10px 11px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(255,255,255,.075)!important;
    border-radius:15px!important;
    background:#0a0c10!important;
    overflow:hidden!important;
  }
  #boardView .board-table tbody tr.player-ranking-row>*{min-width:0!important;max-width:none!important}

  #boardView .ranking-overall{
    grid-area:rank!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:stretch!important;
    width:38px!important;
    margin:0!important;
  }
  #boardView .ranking-overall span{
    display:grid!important;place-items:center!important;
    width:34px!important;height:34px!important;
    border-radius:10px!important;font-size:14px!important;
  }

  #boardView .player-cell{
    grid-area:player!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
  }
  #boardView .ranking-player-name{
    display:block!important;
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.12!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #boardView .ranking-player-sub{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin-top:4px!important;
    font-size:8.5px!important;
    line-height:1!important;
  }

  #boardView .board-table td:nth-child(3){
    grid-area:pos!important;
    display:block!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    margin:0!important;
  }
  #boardView .clean-pos-rank{min-width:49px!important;height:31px!important;padding:0 8px!important;border-radius:9px!important}

  /* NFL team duplicate column, VORP and ESPN are detail-view data. */
  #boardView .board-table td:nth-child(4),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7){display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important}

  /* COCO score is the only numeric value on the collapsed card. */
  #boardView .board-table td:nth-child(5){
    grid-area:coco!important;
    display:flex!important;
    align-items:baseline!important;
    justify-self:end!important;
    gap:5px!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  #boardView .board-table td:nth-child(5)::before{
    content:"COCO"!important;
    display:inline!important;
    margin:0!important;
    color:#747b8a!important;
    font:700 7px 'JetBrains Mono',monospace!important;
    letter-spacing:.09em!important;
  }
  #boardView .board-table td:nth-child(5) small{display:none!important}
  #boardView .board-table td:nth-child(5) b{font-size:13px!important;line-height:1!important;color:var(--coco-gold)!important}

  /* Ownership is a subtle subtitle, not its own box. */
  #boardView .board-table td:nth-child(8){
    grid-area:meta!important;
    display:block!important;
    align-self:center!important;
    justify-self:start!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  #boardView .fantasy-owner{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  #boardView .fantasy-owner small{display:none!important}
  #boardView .fantasy-owner b{
    display:block!important;
    max-width:100%!important;
    font:600 8.5px 'JetBrains Mono',monospace!important;
    line-height:1.1!important;
    color:#777f8e!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }
  #boardView .fantasy-owner.fantasy-owned b{color:#a99b62!important}
  #boardView .fantasy-owner.fantasy-free b{color:#6f7581!important}

  /* Remove every leftover draft-card artifact from older styles. */
  #boardView .board-table td:nth-child(n+9),
  #boardView .ranking-team,
  #boardView .row-actions,
  #boardView .row-btn,
  #boardView .ask-coco-row-btn{display:none!important}
}

@media(max-width:390px){
  #mobileBottomNav.mobile-bottom-nav{left:6px!important;right:6px!important}
  #mobileBottomNav.mobile-bottom-nav button>small{font-size:6.8px!important}
  #boardView .board-table tbody tr.player-ranking-row{grid-template-columns:36px minmax(0,1fr) auto!important;padding:9px 10px!important;column-gap:8px!important}
  #boardView .ranking-player-name{font-size:15px!important}
  #boardView .clean-pos-rank{min-width:46px!important}
}

/* Final mobile rankings compression: list rows, not mini dashboards. */
@media (max-width:760px){
  /* Keep the heading fully below the fixed Harvest shell. */
  #boardView{padding-top:10px!important}
  #boardView .workspace-heading{margin-top:8px!important;padding-top:10px!important}

  /* Tier is a slim divider only. Explicit fixed height prevents legacy table rules
     from turning it back into a large card. */
  #boardView .board-table tbody tr.ranking-tier-row{
    display:block!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:10px 0 6px!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
  }
  #boardView .board-table tbody tr.ranking-tier-row td{
    display:block!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:transparent!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:0!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    border-radius:8px!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier>span{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:10px!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier small{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* One compact ranking row: rank | player | COCO | position rank. */
  #boardView .board-table tbody tr.player-ranking-row{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto auto!important;
    grid-template-areas:"rank player coco pos"!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:0!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    margin:0 0 5px!important;
    padding:7px 9px!important;
    overflow:hidden!important;
    border-radius:13px!important;
  }
  #boardView .ranking-overall{
    grid-area:rank!important;
    width:34px!important;
    height:100%!important;
    align-self:center!important;
    display:grid!important;
    place-items:center!important;
  }
  #boardView .ranking-overall span{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    min-height:31px!important;
    font-size:13px!important;
    border-radius:9px!important;
    overflow:visible!important;
  }
  #boardView .player-cell{
    grid-area:player!important;
    align-self:center!important;
    min-width:0!important;
  }
  #boardView .ranking-player-name{
    font-size:15px!important;
    line-height:1.05!important;
    max-width:100%!important;
  }
  #boardView .ranking-player-sub{
    display:flex!important;
    margin-top:4px!important;
    font-size:8px!important;
    line-height:1!important;
  }

  #boardView .board-table td:nth-child(3){
    grid-area:pos!important;
    align-self:center!important;
    justify-self:end!important;
  }
  #boardView .clean-pos-rank{
    min-width:44px!important;
    height:28px!important;
    padding:0 7px!important;
    font-size:9px!important;
    border-radius:8px!important;
  }

  #boardView .board-table td:nth-child(5){
    grid-area:coco!important;
    align-self:center!important;
    justify-self:end!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:1px!important;
    width:auto!important;
    height:auto!important;
  }
  #boardView .board-table td:nth-child(5)::before{
    content:"COCO"!important;
    display:block!important;
    font-size:6px!important;
    line-height:1!important;
  }
  #boardView .board-table td:nth-child(5) b{font-size:12px!important;line-height:1!important}

  /* Everything else belongs in the tap-through player profile. */
  #boardView .board-table td:nth-child(4),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7),
  #boardView .board-table td:nth-child(8),
  #boardView .board-table td:nth-child(n+9),
  #boardView .fantasy-owner,
  #boardView .ranking-team{display:none!important}
}
@media (max-width:390px){
  #boardView .board-table tbody tr.player-ranking-row{
    grid-template-columns:31px minmax(0,1fr) auto auto!important;
    column-gap:6px!important;
    height:55px!important;min-height:55px!important;max-height:55px!important;
    padding:6px 8px!important;
  }
  #boardView .ranking-overall{width:31px!important}
  #boardView .ranking-overall span{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important}
  #boardView .ranking-player-name{font-size:14px!important}
  #boardView .clean-pos-rank{min-width:40px!important;height:26px!important;padding:0 6px!important}
}


/* Final mobile tier-header alignment: keep tier name left, center count + week context. */
@media(max-width:760px){
  #boardView .ranking-tier-divider.dynamic-tier{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier small{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    width:max-content!important;
    max-width:58%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }
  #boardView .ranking-tier-divider.dynamic-tier small em{
    margin-left:0!important;
  }
}

/* === COCO LIVE TIER IDENTITY SYSTEM: GLOBAL PLAYER SURFACES === */
.player-tier-chip{
  --tier-color:#8b93b0;
  display:inline-flex;align-items:center;gap:5px;
  margin-left:8px;padding:4px 9px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--tier-color) 62%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--tier-color) 24%,transparent),color-mix(in srgb,var(--tier-color) 11%,transparent));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tier-color) 15%,transparent) inset,0 0 18px color-mix(in srgb,var(--tier-color) 16%,transparent);
  color:var(--tier-color);
  font:800 8px 'JetBrains Mono',monospace;
  letter-spacing:.08em;text-transform:uppercase;
  vertical-align:middle;white-space:nowrap;
}
.player-tier-chip .tier-dot{font-size:8px;line-height:1}
.player-tier-chip.compact{padding:2px 7px;font-size:7px;margin-left:6px}
.tiered-player-name{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;vertical-align:middle}
.tiered-player-name .tier-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.js-open-player-profile{cursor:pointer}
.js-open-player-profile:hover .tier-name-text,.js-open-player-profile:focus-visible .tier-name-text{color:#fff;text-shadow:0 0 14px rgba(255,255,255,.18)}
.js-open-player-profile:focus-visible{outline:2px solid color-mix(in srgb,var(--harvest-gold) 72%,transparent);outline-offset:2px;border-radius:14px}

/* A stronger tier treatment so players feel more premium everywhere. */
.tier-player-surface{--tier-color:rgba(255,255,255,.16);position:relative}
.tier-player-surface::after{content:'';position:absolute;inset:8px auto 8px 0;width:4px;border-radius:99px;background:linear-gradient(180deg,color-mix(in srgb,var(--tier-color) 95%,white 5%),color-mix(in srgb,var(--tier-color) 60%,transparent));box-shadow:0 0 16px color-mix(in srgb,var(--tier-color) 30%,transparent);opacity:.95;pointer-events:none}
.matchup-line-player.tier-player-surface{box-shadow:inset 4px 0 0 color-mix(in srgb,var(--tier-color) 70%,transparent), inset 0 0 0 1px color-mix(in srgb,var(--tier-color) 16%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 7%,transparent),transparent 26%)}
.matchup-line-player.away.tier-player-surface{box-shadow:inset -4px 0 0 color-mix(in srgb,var(--tier-color) 70%,transparent), inset 0 0 0 1px color-mix(in srgb,var(--tier-color) 16%,transparent);background:linear-gradient(270deg,color-mix(in srgb,var(--tier-color) 7%,transparent),transparent 26%)}
.matchup-line-player.away.tier-player-surface::after{left:auto;right:0}
.product-player.tier-player-surface,.product-row.tier-player-surface,.trade-player.tier-player-surface,.rank-player.tier-player-surface,.waiver-player-card.tier-player-surface{
  border-color:color-mix(in srgb,var(--tier-color) 34%,rgba(255,255,255,.08))!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tier-color) 13%,transparent) inset,0 0 18px color-mix(in srgb,var(--tier-color) 9%,transparent)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 6%,transparent),rgba(255,255,255,.02) 28%,rgba(255,255,255,.02))!important;
}

/* Tier-specific custom properties. */
.tier-diamond{--tier-color:#79d9ff}.tier-platinum{--tier-color:#e7edf7}.tier-gold{--tier-color:#f5c542}.tier-silver{--tier-color:#bcc6d8}.tier-bronze{--tier-color:#d69260}.tier-iron{--tier-color:#7b8494}

@media(max-width:760px){
  .player-tier-chip{font-size:7px;padding:3px 6px;margin-left:5px;letter-spacing:.06em}
  .player-tier-chip.compact{font-size:6.4px;padding:2px 6px}
  .matchup-line-player .player-tier-chip{display:inline-flex;margin-top:0}
  .product-row .player-tier-chip,.product-player .player-tier-chip{font-size:6.2px}
}

/* Let the browser skip layout/paint work for large hidden/offscreen sections. */
  #draftView,
  #boardView,
  #seasonView,
  #settingsView,
  #moreView,
  #assistantView{
    content-visibility:auto;
    contain-intrinsic-size:900px;
  }

  .season-pane:not(.active),
  .workspace-view[style*="display:none"]{
    content-visibility:hidden;
  }

  /* Native tap feedback is cheaper than JS-driven mutation observers. */
  @media(hover:none){
    .app-pressable:active,
    button:active,
    .nav-tab:active,
    .mobile-bottom-nav button:active{
      transform:scale(.985);
    }
  }

.coco-sync-toast{
    position:fixed;
    top:max(76px,calc(env(safe-area-inset-top) + 68px));
    right:14px;
    z-index:19000;
    display:flex;
    align-items:center;
    gap:8px;
    max-width:min(340px,calc(100vw - 28px));
    padding:9px 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(9,12,20,.92);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 12px 32px rgba(0,0,0,.32);
    color:#aeb5c5;
    font:700 9px 'JetBrains Mono',monospace;
    letter-spacing:.04em;
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
  }
  .coco-sync-toast.show{opacity:1;transform:none}
  .coco-sync-toast.ok{border-color:rgba(69,212,138,.28);color:#70dfa2}
  .coco-sync-toast.err{
    pointer-events:auto;
    border-color:rgba(238,106,116,.28);
    color:#f08a94;
    border-radius:16px;
  }
  .coco-sync-dot{
    width:7px;height:7px;border-radius:50%;
    background:currentColor;flex:0 0 7px;
    box-shadow:0 0 12px currentColor;
  }
  .coco-sync-toast.syncing .coco-sync-dot{animation:cocoSyncPulse 1s ease-in-out infinite}
  .coco-sync-retry{
    display:none;
    border:0;background:transparent;color:var(--harvest-gold);
    font:800 9px 'JetBrains Mono',monospace;
    padding:2px 0 2px 6px;cursor:pointer;
  }
  .coco-sync-toast.err .coco-sync-retry{display:inline}
  @keyframes cocoSyncPulse{50%{opacity:.35;transform:scale(.75)}}
  @media(max-width:760px){
    .coco-sync-toast{
      top:max(72px,calc(env(safe-area-inset-top) + 64px));
      left:12px;right:12px;
      width:auto;justify-content:center;
    }
  }

html{scroll-behavior:smooth}
  body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
  .workspace-view:not([style*="display:none"]),
  .matchup-detail.open,
  .player-profile-overlay.show .player-profile-card{
    animation:appFadeIn .22s ease;
  }
  @keyframes appFadeIn{from{opacity:.0;transform:translateY(8px)}to{opacity:1;transform:none}}

  /* stronger shell polish */
  .mobile-app-topbar,
  .harvest-mobile-brand-wrap,
  #mobileBottomNav.mobile-bottom-nav,
  .player-profile-card,
  .matchup-card,
  .matchup-detail,
  .board-panel,
  .rank-room,
  .product-room,
  .season-card,
  .home-matchup-card,
  .home-roster-section,
  .files-card,
  .status-card,
  .settings-card,
  .league-config-panel,
  .assistant-workspace,
  .chat-panel{
    box-shadow:0 14px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.03) inset;
  }

  .mobile-app-topbar{
    position:sticky!important;top:0;z-index:180!important;
    backdrop-filter:blur(18px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
    background:linear-gradient(180deg,rgba(5,6,18,.96),rgba(6,8,21,.88))!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
  }
  body.scrolled .mobile-app-topbar{
    box-shadow:0 14px 26px rgba(0,0,0,.32),0 1px 0 rgba(255,255,255,.05) inset;
  }

  #mobileBottomNav.mobile-bottom-nav{
    backdrop-filter:blur(18px) saturate(1.15)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
    background:linear-gradient(180deg,rgba(10,12,20,.96),rgba(8,10,17,.98))!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03) inset!important;
  }
  #mobileBottomNav.mobile-bottom-nav button{
    transition:transform .16s ease,background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease!important;
  }
  #mobileBottomNav.mobile-bottom-nav button.active{
    box-shadow:0 10px 28px rgba(246,202,55,.24),0 0 0 1px rgba(246,202,55,.22) inset!important;
  }

  /* tactile app-like interactions */
  .app-pressable,
  button,
  .nav-tab,
  .icon-btn,
  .chip,
  .player-profile-close,
  .mobile-bottom-nav button{
    transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,opacity .18s ease,filter .18s ease;
  }
  .app-pressable{cursor:pointer;user-select:none}
  .app-pressable:hover{filter:saturate(1.04)}
  .app-pressable:active,
  button:active,
  .nav-tab:active,
  .icon-btn:active,
  .chip:active,
  .mobile-bottom-nav button:active{
    transform:scale(.985) translateY(1px);
    filter:saturate(1.08);
  }

  /* subtle lift for cards and rows */
  .product-row,
  .product-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .roster-player,
  .roster-row,
  .player-ranking-row,
  .lineup-opt-alert,
  .player-profile-tier,
  .player-profile-metric,
  .player-profile-info>div,
  .season-card,
  .silent-card,
  .pick-card,
  .status-row,
  .file-tile{
    transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
  }
  .product-row:hover,
  .product-player:hover,
  .rank-player:hover,
  .waiver-player-card:hover,
  .matchup-line-player:hover,
  .roster-player:hover,
  .roster-row:hover,
  .player-ranking-row:hover,
  .lineup-opt-alert:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 26px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.04) inset;
  }

  /* premium sheet feel */
  .player-profile-overlay.show{
    animation:overlayFade .18s ease;
  }
  .player-profile-card{
    animation:sheetRise .24s cubic-bezier(.2,.9,.2,1);
    overscroll-behavior:contain;
  }
  @keyframes overlayFade{from{opacity:0}to{opacity:1}}
  @keyframes sheetRise{from{opacity:.2;transform:translateY(16px) scale(.99)}to{opacity:1;transform:none}}

  /* desktop/mobile consistency */
  .nav-tab.active,.primary-btn,.mobile-bottom-nav button.active{
    letter-spacing:.04em;
  }
  .section-divider,.eyebrow,.command-kicker,.compact-heading,.silent-kicker,.harvest-league-kicker,.player-profile-kicker{
    text-shadow:0 0 12px rgba(246,202,55,.12);
  }

  @media (max-width:760px){
    .stage{padding-bottom:104px!important}
    .player-profile-card{border-radius:28px 28px 0 0!important}
    .matchup-detail,.board-panel,.rank-room,.product-room,.home-roster-section,.home-matchup-card,.settings-card{border-radius:24px!important}
  }

:root{
    --app-radius-xl:24px;
    --app-radius-lg:19px;
    --app-radius-md:14px;
    --app-card-bg:linear-gradient(180deg,rgba(15,18,25,.97),rgba(9,11,16,.985));
    --app-card-border:rgba(255,255,255,.075);
    --app-card-shadow:0 14px 38px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.018) inset;
    --app-gold:#f5c542;
    --app-top-offset:78px;
  }

  /* One visual card language across desktop + mobile. */
  :where(.product-card,.season-card,.rank-room,.product-room,.board-panel,.home-roster-section,.home-matchup-card,
  .settings-card,.league-config-panel,.status-card,.files-card,.assistant-workspace,.chat-panel,.matchup-card,
  .lineup-opt-alert,.player-profile-chart,.player-profile-info,.player-profile-metrics,.draft-toolbar){
    border-color:var(--app-card-border)!important;
    box-shadow:var(--app-card-shadow)!important;
  }
  :where(.product-card,.season-card,.rank-room,.product-room,.home-roster-section,.home-matchup-card,
  .settings-card,.league-config-panel,.status-card,.files-card,.assistant-workspace,.chat-panel,.matchup-card){
    border-radius:var(--app-radius-xl)!important;
  }
  :where(.product-row,.product-player,.rank-player,.waiver-player-card,.matchup-line-player,.roster-player,.roster-row,
  .player-ranking-row,.lineup-opt-move,.trade-player){
    border-radius:var(--app-radius-md);
  }

  /* Page motion: short enough to feel native, not animated-web. */
  .workspace-view,
  #seasonView,
  #moreView,
  #settingsView,
  #draftView,
  #boardView{
    animation:appViewEnter .22s cubic-bezier(.2,.82,.25,1);
    transform-origin:50% 8%;
  }
  @keyframes appViewEnter{
    from{opacity:0;transform:translateY(7px) scale(.997)}
    to{opacity:1;transform:none}
  }

  /* Active controls have a consistent selected state. */
  :where(.nav-tab,.pos-chip,.season-tab,.matchup-lineup-toggle button,.matchup-week-chip,.rank-mode button){
    position:relative;
  }
  :where(.nav-tab.active,.pos-chip.active,.season-tab.active,.matchup-lineup-toggle button.active,.matchup-week-chip.active,.rank-mode button.active){
    box-shadow:0 8px 22px rgba(245,197,66,.11),inset 0 0 0 1px rgba(245,197,66,.18);
  }

  /* More obvious tap affordance on player surfaces. */
  .js-open-player-profile{cursor:pointer}
  .js-open-player-profile::before{
    content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .18s ease,background .18s ease;
  }
  .js-open-player-profile:hover::before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)}
  .js-open-player-profile:active::before{background:rgba(255,255,255,.025)}

  /* Tier badges should read as a core identity badge, not metadata. */
  .player-tier-chip{
    min-height:22px;
    padding:3px 8px!important;
    border-width:1px!important;
    font-size:7.5px!important;
    box-shadow:0 0 0 1px color-mix(in srgb,var(--tier-color) 14%,transparent) inset,
               0 4px 14px color-mix(in srgb,var(--tier-color) 16%,transparent)!important;
  }
  .player-tier-chip .tier-dot{font-size:8px!important}
  .tiered-player-name{gap:5px!important}

  /* Player profile becomes a real bottom sheet on phones. */
  @media(max-width:760px){
    :root{--app-top-offset:76px}
    .player-profile-overlay{
      align-items:flex-end!important;
      padding:0!important;
      background:rgba(0,0,0,.62)!important;
      backdrop-filter:blur(10px)!important;
      -webkit-backdrop-filter:blur(10px)!important;
    }
    .player-profile-card{
      width:100vw!important;
      height:96dvh!important;
      max-height:96dvh!important;
      border-radius:28px 28px 0 0!important;
      border:1px solid rgba(255,255,255,.09)!important;
      border-bottom:0!important;
      background:linear-gradient(180deg,#09111e 0,#05070c 34%,#05070c 100%)!important;
      transform-origin:50% 100%;
      padding-top:12px!important;
      overscroll-behavior:contain;
    }
    .player-profile-card::after{
      content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);
      width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.22);z-index:8;pointer-events:none;
    }
    .player-profile-close{
      position:absolute!important;top:18px!important;right:14px!important;
      width:42px!important;height:42px!important;margin:0!important;z-index:20!important;
    }
    .player-profile-photo{height:clamp(220px,33vh,300px)!important;border-radius:20px!important;margin:10px 0 0!important}
    .player-profile-hero{padding:6px 14px 12px!important}
    .player-profile-main{padding-top:14px!important}
    .player-profile-title h2{font-size:31px!important}
    .player-profile-tier{margin-top:12px!important}

    /* Sticky filters / local navigation beneath the app header. */
    #boardView .draft-toolbar{
      position:sticky!important;top:calc(var(--app-top-offset) + env(safe-area-inset-top))!important;
      z-index:42!important;margin-bottom:12px!important;
      background:rgba(7,9,15,.93)!important;
      backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
      box-shadow:0 12px 26px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.05) inset!important;
    }
    .matchup-lineup-toolbar{
      position:sticky!important;top:calc(4px + env(safe-area-inset-top))!important;z-index:12!important;
      margin-left:-4px!important;margin-right:-4px!important;padding:8px 4px!important;
      background:linear-gradient(180deg,rgba(5,5,5,.97),rgba(5,5,5,.88))!important;
      backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
    }
    .season-tabs{
      position:sticky!important;top:calc(var(--app-top-offset) + env(safe-area-inset-top))!important;z-index:38!important;
      background:rgba(5,7,12,.92)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
    }

    /* Slightly denser content rhythm makes the phone app feel intentional. */
    .workspace-heading{margin-bottom:14px!important}
    .workspace-heading h1{letter-spacing:-.03em}
    .eyebrow{letter-spacing:.18em}
    #mobileBottomNav.mobile-bottom-nav{bottom:max(7px,env(safe-area-inset-bottom))!important}
  }

  @media(min-width:761px){
    /* Desktop uses the same surfaces and navigation language instead of a separate visual system. */
    .nav-tabs{padding:4px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.025)}
    .nav-tab{border-radius:13px!important}
    .workspace-heading h1{letter-spacing:-.035em}
    .product-dashboard,.season-grid,.board-workspace{max-width:1500px;margin-inline:auto}
  }

  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  }

/* Repair pass: preserve the original app-shell geometry while keeping v2 polish. */
@media(max-width:760px){
  .mobile-app-topbar{
    position:fixed!important;
    z-index:5000!important;
    inset:0 0 auto 0!important;
    top:0!important;
  }
  .matchup-detail{
    border-radius:0!important;
  }
}

/* Player profiles must sit above every full-screen app surface, including Matchups. */
.player-profile-overlay{
  z-index:50000!important;
}
.player-profile-close{
  z-index:50020!important;
}
body.player-profile-open .matchup-detail{
  pointer-events:none!important;
}
body.player-profile-open #playerProfileOverlay{
  pointer-events:auto!important;
}

/* Keep transforms from changing the geometry of fixed/full-screen screens. */
body.app-polish-ready .matchup-detail{
  animation:none!important;
  transform:none!important;
}

/* Desktop gets hover lift; touch devices get press feedback only. */
@media(hover:none){
  .product-row:hover,
  .product-player:hover,
  .rank-player:hover,
  .waiver-player-card:hover,
  .matchup-line-player:hover,
  .roster-player:hover,
  .roster-row:hover,
  .player-ranking-row:hover,
  .lineup-opt-alert:hover{
    transform:none!important;
  }
}

/* A player sheet is its own app layer; nothing underneath should visually compete. */
.player-profile-overlay.show{
  isolation:isolate;
}


/* Cosmetic app-launch polish: visual only, never tied to ESPN completion. */
.harvest-startup:not(.done) .harvest-startup-logo{
  animation:cocoLaunchLogo .75s cubic-bezier(.2,.8,.2,1) both;
}
.harvest-startup:not(.done) .harvest-startup-brand,
.harvest-startup:not(.done) .harvest-startup-status,
.harvest-startup:not(.done) .harvest-loader,
.harvest-startup:not(.done) .harvest-startup-powered{
  animation:cocoLaunchText .55s ease both;
}
.harvest-startup:not(.done) .harvest-startup-brand{animation-delay:.12s}
.harvest-startup:not(.done) .harvest-startup-status{animation-delay:.2s}
.harvest-startup:not(.done) .harvest-loader{animation-delay:.26s}
.harvest-startup:not(.done) .harvest-startup-powered{animation-delay:.32s}
@keyframes cocoLaunchLogo{
  from{opacity:0;transform:translateY(10px) scale(.97)}
  to{opacity:1;transform:none}
}
@keyframes cocoLaunchText{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .harvest-startup,
  .harvest-startup *{animation:none!important;transition-duration:.01ms!important}
}


/* Desktop scroll fix
   Mobile overlays may lock body scrolling while open, but desktop pages must
   always remain vertically scrollable with mouse wheel / trackpad. */
@media (min-width: 761px){
  html{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    height:auto !important;
    min-height:100% !important;
  }
  body{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    height:auto !important;
    min-height:100vh !important;
    position:static !important;
    touch-action:auto !important;
    overscroll-behavior-y:auto !important;
  }
  body.mobile-drawer-open{
    overflow-y:auto !important;
  }
  body.player-profile-open{
    overflow-y:auto !important;
  }
  .stage,
  .workspace,
  .workspace-view,
  .content{
    max-height:none !important;
  }
}

/* Only lock background scrolling for actual full-screen overlays on desktop. */
@media (min-width: 761px){
  body.coco-modal-open{
    overflow:hidden !important;
  }
}


/* Players · league availability filter */
.player-availability-chips{
  display:flex;
  align-items:center;
  gap:6px;
  padding:3px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.availability-chip{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:8px 11px;
  background:transparent;
  color:var(--dim);
  font:800 9px 'JetBrains Mono',monospace;
  letter-spacing:.06em;
  cursor:pointer;
  white-space:nowrap;
}
.availability-chip.active{
  background:rgba(246,202,55,.14);
  color:var(--harvest-gold);
  box-shadow:inset 0 0 0 1px rgba(246,202,55,.24);
}
@media(max-width:760px){
  .player-availability-chips{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .availability-chip{
    min-height:36px;
  }
}


/* Player profile · previous-season fallback */
.player-history-empty{
  color:var(--dim);
  padding:44px 8px;
  width:100%;
  text-align:center;
  font-size:13px;
}


/* Full 2025 profile history: keep all 17 weekly bars usable on mobile. */
.player-profile-bars{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding-bottom:8px !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.player-profile-week{
  flex:0 0 34px !important;
  min-width:34px !important;
}
@media(max-width:760px){
  .player-profile-week{
    flex-basis:30px !important;
    min-width:30px !important;
  }
}


/* Matchup detail · full ESPN roster bench below starters */
.matchup-bench-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:24px 0 10px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
}
.matchup-bench-heading h3{
  margin:3px 0 0;
  font-size:19px;
}
.matchup-bench-heading > small{
  color:var(--dim);
  font:700 9px 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.matchup-bench-grid{
  display:grid;
  gap:7px;
}
.matchup-bench-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
  gap:8px;
  align-items:stretch;
}
.matchup-bench-center{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--dim);
  font:800 9px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.matchup-bench-player{
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  cursor:pointer;
}
.matchup-bench-player.away{
  text-align:right;
}
.matchup-bench-player.empty{
  opacity:.38;
  cursor:default;
}
.matchup-bench-name{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.matchup-bench-player.away .matchup-bench-name{
  justify-content:flex-end;
}
.matchup-bench-name b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.matchup-bench-slot{
  flex:0 0 auto;
  padding:2px 5px;
  border-radius:6px;
  background:rgba(255,255,255,.055);
  color:var(--dim);
  font:800 7px 'JetBrains Mono',monospace;
}
.matchup-bench-player > small{
  display:block;
  margin-top:4px;
  color:var(--dim);
  font-size:9px;
  line-height:1.3;
}
.matchup-bench-player .projection-compare{
  margin-top:7px;
}

@media(max-width:760px){
  .matchup-bench-heading{
    margin-top:20px;
    padding-top:15px;
  }
  .matchup-bench-heading h3{
    font-size:18px;
  }
  .matchup-bench-row{
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
    gap:5px;
  }
  .matchup-bench-player{
    padding:9px 8px;
    border-radius:11px;
  }
  .matchup-bench-name{
    gap:5px;
  }
  .matchup-bench-name b{
    font-size:11px;
  }
  .matchup-bench-player > small{
    font-size:8px;
  }
  .matchup-bench-center{
    font-size:7px;
  }
}


/* Settings · 2025 history cache status */
.history-cache-status-section{
  margin-top:14px;
}
.history-cache-status-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:12px;
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.history-cache-status-main{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.history-cache-status-main b{
  display:block;
  font-size:13px;
}
.history-cache-status-main small{
  display:block;
  margin-top:3px;
  color:var(--dim);
  font-size:10px;
  line-height:1.35;
}
.history-cache-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#777;
  box-shadow:0 0 0 4px rgba(255,255,255,.035);
  flex:0 0 auto;
}
.history-cache-dot.importing{
  background:#f5c542;
  box-shadow:0 0 0 4px rgba(245,197,66,.08),0 0 14px rgba(245,197,66,.25);
}
.history-cache-dot.ready{
  background:#3ddc97;
  box-shadow:0 0 0 4px rgba(61,220,151,.08),0 0 14px rgba(61,220,151,.22);
}
.history-cache-dot.error{
  background:#ff6b6b;
}
.history-cache-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(72px,1fr));
  gap:8px;
}
.history-cache-stats > div{
  min-width:76px;
  padding:8px 10px;
  text-align:center;
  border-radius:11px;
  background:rgba(255,255,255,.035);
}
.history-cache-stats b{
  display:block;
  font:800 14px 'JetBrains Mono',monospace;
}
.history-cache-stats span{
  display:block;
  margin-top:2px;
  color:var(--dim);
  font:700 7px 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
@media(max-width:760px){
  .history-cache-status-card{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }
  .history-cache-stats{
    grid-template-columns:1fr 1fr;
  }
}


/* Player profile season switcher + actual vs projected weekly bars */
.player-profile-chart-head{
  align-items:flex-start !important;
}
.player-profile-season-toggle{
  display:inline-flex;
  gap:4px;
  margin-top:9px;
  padding:3px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
.player-profile-season-toggle button{
  border:0;
  border-radius:7px;
  padding:6px 10px;
  background:transparent;
  color:var(--dim);
  font:800 8px 'JetBrains Mono',monospace;
  letter-spacing:.07em;
  cursor:pointer;
}
.player-profile-season-toggle button.active{
  background:rgba(245,197,66,.12);
  color:#f5c542;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.18);
}
.player-profile-week.projected .bar{
  background:linear-gradient(180deg,#8b93a3,#5f6673) !important;
  opacity:.58;
  box-shadow:none !important;
}
.player-profile-week.projected .val,
.player-profile-week.projected .wk{
  color:#8f96a5 !important;
}
.player-profile-week.actual .bar{
  opacity:1;
}
.player-profile-week.actual .val{
  color:var(--text);
}
@media(max-width:760px){
  .player-profile-chart-head{
    gap:10px;
  }
  .player-profile-season-toggle button{
    padding:6px 9px;
  }
}


/* =========================================================
   COCO Player Timeline
   Color = actual result. Gray = future projection.
   ========================================================= */
.player-profile-bars{
  position:relative;
  overflow-x:auto!important;
  overflow-y:visible!important;
  height:176px!important;
  display:block!important;
  padding:8px 0 10px!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.player-profile-timeline{
  position:relative;
  width:max(100%,var(--timeline-width));
  min-width:var(--timeline-width);
  height:148px;
}
.player-profile-bars-inner{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  gap:0;
  z-index:2;
}
.player-profile-week{
  position:relative;
  flex:1 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  height:100%!important;
  padding:0 4px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  cursor:pointer;
  overflow:visible;
}
.player-profile-week .bar{
  position:relative;
  z-index:2;
  width:18px!important;
  border-radius:6px 6px 2px 2px;
  transition:opacity .2s ease,filter .2s ease;
}
.player-profile-week.actual .bar{
  background:linear-gradient(180deg,#55b4ff,#2264dc)!important;
  box-shadow:0 0 14px rgba(77,163,255,.18);
  opacity:1!important;
}
.player-profile-week.projected .bar{
  background:linear-gradient(180deg,#9299a8,#5f6672)!important;
  opacity:.48!important;
  box-shadow:none!important;
}
.player-profile-week.projected .val,
.player-profile-week.projected .wk{
  color:#7f8795!important;
}
.player-profile-week.actual .val{
  color:#dce7ff!important;
}
.player-profile-week .val{
  white-space:nowrap;
  font-size:8px!important;
  line-height:1;
}
.player-profile-week .wk{
  font-size:7px!important;
  white-space:nowrap;
}
.player-profile-trend{
  position:absolute;
  left:0;
  right:0;
  top:2px;
  width:100%;
  height:118px;
  z-index:3;
  overflow:visible;
  pointer-events:none;
}
.player-profile-trend polyline{
  fill:none;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.player-profile-trend .actual-trend{
  stroke:#70bbff;
  stroke-width:2.25;
  filter:drop-shadow(0 0 4px rgba(77,163,255,.34));
}
.player-profile-trend .projected-trend{
  stroke:#828996;
  stroke-width:1.4;
  stroke-dasharray:5 5;
  opacity:.48;
}
.timeline-season-break{
  position:absolute;
  top:0;
  bottom:20px;
  z-index:1;
  width:1px;
  border-left:1px dashed rgba(255,255,255,.13);
  pointer-events:none;
}
.timeline-season-break b{
  position:absolute;
  top:0;
  left:6px;
  color:var(--dim);
  font:800 7px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.week-tooltip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translate(-50%,6px);
  z-index:40;
  width:max-content;
  max-width:210px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  background:rgba(8,10,15,.97);
  box-shadow:0 10px 26px rgba(0,0,0,.34);
  color:#dfe5ef;
  font:700 8px/1.35 'JetBrains Mono',monospace;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
}
.player-profile-week:hover .week-tooltip,
.player-profile-week:focus-visible .week-tooltip,
.player-profile-week.show-tip .week-tooltip{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.player-profile-season-toggle{
  flex-wrap:wrap;
}
.player-profile-season-toggle button[data-profile-season="career"]{
  letter-spacing:.06em;
}
.player-profile-chart-head > small{
  text-align:right;
  max-width:240px;
}
@media(max-width:760px){
  .player-profile-bars{
    height:160px!important;
    margin-inline:-4px;
    padding-inline:4px!important;
  }
  .player-profile-timeline{
    height:138px;
  }
  .player-profile-week{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    padding-inline:3px!important;
  }
  .player-profile-week .bar{
    width:15px!important;
  }
  .player-profile-chart-head{
    align-items:flex-start!important;
  }
  .player-profile-chart-head > small{
    max-width:145px;
    font-size:9px!important;
    line-height:1.3;
  }
}


/* Mobile bottom nav · center the five active destinations */
@media(max-width:760px){
  .mobile-bottom-nav{
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - 24px) !important;
    max-width:900px !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    margin:0 !important;
  }
}


/* FINAL mobile nav geometry override — five visible destinations, truly centered.
   ID selector is intentional so it outranks legacy #mobileBottomNav 6-column rules. */
@media(max-width:760px){
  #mobileBottomNav.mobile-bottom-nav{
    left:50% !important;
    right:auto !important;
    width:calc(100vw - 24px) !important;
    max-width:900px !important;
    min-width:0 !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:2px !important;
    box-sizing:border-box !important;
  }

  #mobileBottomNav.mobile-bottom-nav button{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* =========================================================
   Power Rankings · compact team identity cards
   Small position wheel replaces the old initials badge.
   The large default wheel is intentionally removed.
   ========================================================= */
#seasonRankingsPane .rank-card{
  padding:16px !important;
  border-radius:22px !important;
}

#seasonRankingsPane .rank-head{
  display:grid !important;
  grid-template-columns:auto auto minmax(0,1fr) !important;
  gap:13px !important;
  align-items:center !important;
}

#seasonRankingsPane .rank-mini-wheel{
  position:relative;
  width:88px;
  height:88px;
  flex:0 0 88px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:1px;
  padding:1px;
  background:rgba(245,197,66,.22);
  border:1px solid rgba(245,197,66,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 24px rgba(0,0,0,.24);
}

#seasonRankingsPane .rank-mini-wheel:after{
  content:'';
  position:absolute;
  inset:5px;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
  pointer-events:none;
}

#seasonRankingsPane .rank-mini-wheel-seg{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  min-width:0;
  color:#f6f7fb;
  line-height:1;
}

#seasonRankingsPane .rank-mini-wheel-seg span{
  font:800 8px 'JetBrains Mono',monospace;
  letter-spacing:.03em;
}

#seasonRankingsPane .rank-mini-wheel-seg b{
  font:800 10px 'Space Grotesk',sans-serif;
}

#seasonRankingsPane .rank-mini-wheel-seg.qb{
  background:radial-gradient(circle at 30% 20%,rgba(74,152,255,.48),rgba(13,24,51,.97));
}
#seasonRankingsPane .rank-mini-wheel-seg.rb{
  background:radial-gradient(circle at 70% 20%,rgba(91,205,99,.40),rgba(24,45,22,.97));
}
#seasonRankingsPane .rank-mini-wheel-seg.wr{
  background:radial-gradient(circle at 30% 80%,rgba(174,103,255,.38),rgba(40,22,55,.97));
}
#seasonRankingsPane .rank-mini-wheel-seg.te{
  background:radial-gradient(circle at 70% 80%,rgba(255,190,56,.40),rgba(61,40,11,.97));
}

#seasonRankingsPane .rank-mini-wheel-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
  background:#111827;
  border:2px solid rgba(245,197,66,.40);
  color:var(--harvest-gold);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05);
  font:800 10px 'JetBrains Mono',monospace;
  letter-spacing:.04em;
}

#seasonRankingsPane .rank-score-panel{
  width:100% !important;
  min-width:0 !important;
  margin-top:15px;
  padding:15px 18px !important;
  border-radius:18px !important;
  display:block !important;
  text-align:left !important;
  background:
    radial-gradient(circle at 12% 10%,rgba(67,132,255,.13),transparent 34%),
    linear-gradient(180deg,rgba(11,18,37,.96),rgba(7,11,23,.98)) !important;
  border:1px solid rgba(79,140,255,.26) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 10px 26px rgba(0,0,0,.18) !important;
}

#seasonRankingsPane .rank-score-panel > span{
  display:block;
  margin-bottom:7px;
  color:#9db9f7 !important;
  font:800 8px 'JetBrains Mono',monospace !important;
  letter-spacing:.22em !important;
}

#seasonRankingsPane .rank-score-line{
  display:flex;
  align-items:baseline;
  gap:9px;
}

#seasonRankingsPane .rank-score-line b{
  color:#5da0ff !important;
  font:800 39px/1 'Space Grotesk',sans-serif !important;
  letter-spacing:-.035em;
}

#seasonRankingsPane .rank-score-line small{
  color:#78a6ef !important;
  font:800 8px 'JetBrains Mono',monospace !important;
  letter-spacing:.17em;
}

#seasonRankingsPane .rank-profile{
  margin-top:13px;
}

#seasonRankingsPane .rank-minirow{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
}

#seasonRankingsPane .rank-mini{
  min-width:0;
  padding:10px 8px !important;
  border-radius:13px !important;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#seasonRankingsPane .rank-expand-btn{
  width:100% !important;
  min-height:42px !important;
  margin-top:10px !important;
  justify-content:center !important;
  border-radius:14px !important;
}

/* The old large wheel is no longer part of the default card layout. */
#seasonRankingsPane .rank-wheel-layout,
#seasonRankingsPane .rank-wheel-wrap{
  display:none !important;
}

@media(max-width:760px){
  #seasonRankingsPane .rank-card{
    padding:14px !important;
    border-radius:20px !important;
  }

  #seasonRankingsPane .rank-head{
    grid-template-columns:42px 78px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:start !important;
  }

  #seasonRankingsPane .rank-rail{
    min-width:42px !important;
    padding-top:4px;
  }

  #seasonRankingsPane .rank-rail-value{
    font-size:29px !important;
  }

  #seasonRankingsPane .rank-mini-wheel{
    width:78px;
    height:78px;
    flex-basis:78px;
  }

  #seasonRankingsPane .rank-mini-wheel-center{
    width:30px;
    height:30px;
    font-size:9px;
  }

  #seasonRankingsPane .rank-mini-wheel-seg span{
    font-size:7px;
  }

  #seasonRankingsPane .rank-mini-wheel-seg b{
    font-size:9px;
  }

  #seasonRankingsPane .rank-title-row{
    align-items:flex-start !important;
    gap:7px !important;
  }

  #seasonRankingsPane .rank-title-row b{
    font-size:16px !important;
    line-height:1.15 !important;
  }

  #seasonRankingsPane .rank-grade{
    min-width:37px !important;
    height:25px !important;
    padding:0 8px !important;
    font-size:12px !important;
  }

  #seasonRankingsPane .rank-sub{
    margin-top:5px !important;
    gap:5px 9px !important;
    font-size:9px !important;
    line-height:1.35 !important;
  }

  #seasonRankingsPane .rank-score-panel{
    margin-top:12px;
    padding:13px 14px !important;
  }

  #seasonRankingsPane .rank-score-line b{
    font-size:34px !important;
  }

  #seasonRankingsPane .rank-minirow{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  #seasonRankingsPane .rank-mini{
    padding:10px 7px !important;
    font-size:10px !important;
  }

  #seasonRankingsPane .rank-expand-btn{
    min-height:44px !important;
  }
}

@media(max-width:390px){
  #seasonRankingsPane .rank-head{
    grid-template-columns:38px 70px minmax(0,1fr) !important;
    gap:8px !important;
  }

  #seasonRankingsPane .rank-mini-wheel{
    width:70px;
    height:70px;
  }

  #seasonRankingsPane .rank-title-row b{
    font-size:15px !important;
  }

  #seasonRankingsPane .rank-sub{
    font-size:8.5px !important;
  }
}


/* COCO Power v2 methodology strip */
.power-v2-method{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 12px;
  padding:9px 11px;
  border:1px solid rgba(245,197,66,.12);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(245,197,66,.055),rgba(255,255,255,.014));
}
.power-v2-method b{
  color:#f5c542;
  font:800 9px 'JetBrains Mono',monospace;
  letter-spacing:.09em;
}
.power-v2-method span{
  color:#dfe4ee;
  font:800 8px 'JetBrains Mono',monospace;
  letter-spacing:.035em;
}
.power-v2-method small{
  margin-left:auto;
  color:var(--dim);
  font:700 8px 'JetBrains Mono',monospace;
}
@media(max-width:760px){
  .power-v2-method{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .power-v2-method small{
    margin-left:0;
  }
}


/* ==========================================================================
   COCO GLOBAL TIER VISUAL UPGRADE
   Shared visual identity for Diamond / Platinum / Gold / Silver / Bronze /
   Iron across Players, Team, Matchups, Bench, Trade, League and profiles.
   ========================================================================== */

/* Make the badges read as a premium status marker without becoming huge. */
.player-tier-chip{
  border-width:1px!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--tier-color) 28%,rgba(12,15,22,.94)),
      color-mix(in srgb,var(--tier-color) 12%,rgba(5,8,14,.96)))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 0 0 1px color-mix(in srgb,var(--tier-color) 12%,transparent),
    0 0 15px color-mix(in srgb,var(--tier-color) 20%,transparent)!important;
  text-shadow:0 0 10px color-mix(in srgb,var(--tier-color) 24%,transparent);
}
.player-tier-chip .tier-dot{
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tier-color) 55%,transparent));
}

/*
  Every actual player surface receives:
  • matching rail on BOTH sides
  • tier-tinted dark glass fill
  • subtle inner/outer glow
  The tint is deliberately restrained so projections remain the focal point.
*/
:where(
  .product-player,
  .product-row,
  .trade-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .matchup-bench-player
).tier-player-surface{
  --tier-wash:color-mix(in srgb,var(--tier-color) 10%,transparent);
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--tier-color) 30%,rgba(255,255,255,.075))!important;
  background:
    radial-gradient(circle at 12% 18%,
      color-mix(in srgb,var(--tier-color) 11%,transparent),
      transparent 43%),
    radial-gradient(circle at 88% 82%,
      color-mix(in srgb,var(--tier-color) 6%,transparent),
      transparent 38%),
    linear-gradient(180deg,rgba(14,17,24,.96),rgba(7,9,14,.985))!important;
  box-shadow:
    inset 0 0 28px color-mix(in srgb,var(--tier-color) 5%,transparent),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 0 0 1px color-mix(in srgb,var(--tier-color) 7%,transparent),
    0 8px 24px rgba(0,0,0,.16)!important;
}

/* The two glowing brackets / rails. */
:where(
  .product-player,
  .product-row,
  .trade-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .matchup-bench-player
).tier-player-surface::before,
:where(
  .product-player,
  .product-row,
  .trade-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .matchup-bench-player
).tier-player-surface::after{
  content:""!important;
  position:absolute!important;
  top:8px!important;
  bottom:8px!important;
  width:5px!important;
  border-radius:999px!important;
  opacity:.98!important;
  pointer-events:none!important;
  z-index:2!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--tier-color) 68%,white 32%) 0%,
      var(--tier-color) 24%,
      var(--tier-color) 76%,
      color-mix(in srgb,var(--tier-color) 68%,black 32%) 100%)!important;
  box-shadow:
    0 0 9px color-mix(in srgb,var(--tier-color) 45%,transparent),
    0 0 18px color-mix(in srgb,var(--tier-color) 18%,transparent)!important;
}

:where(
  .product-player,
  .product-row,
  .trade-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .matchup-bench-player
).tier-player-surface::before{
  left:0!important;
  right:auto!important;
}

:where(
  .product-player,
  .product-row,
  .trade-player,
  .rank-player,
  .waiver-player-card,
  .matchup-line-player,
  .matchup-bench-player
).tier-player-surface::after{
  left:auto!important;
  right:0!important;
}

/* Matchups used to show one rail based on home/away. Both sides now match. */
.matchup-line-player.away.tier-player-surface,
.matchup-line-player.tier-player-surface{
  background:
    radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--tier-color) 10%,transparent),transparent 40%),
    radial-gradient(circle at 82% 82%,color-mix(in srgb,var(--tier-color) 8%,transparent),transparent 40%),
    linear-gradient(180deg,rgba(13,15,21,.98),rgba(8,10,14,.99))!important;
  box-shadow:
    inset 0 0 26px color-mix(in srgb,var(--tier-color) 5%,transparent),
    inset 0 0 0 1px color-mix(in srgb,var(--tier-color) 15%,transparent),
    0 7px 20px rgba(0,0,0,.14)!important;
}

/* Give room-ranking rows and bench cards enough shape for the tier treatment. */
.rank-player.tier-player-surface{
  margin:4px 0;
  border:1px solid color-mix(in srgb,var(--tier-color) 24%,rgba(255,255,255,.055))!important;
  border-radius:12px;
  padding-inline:13px!important;
}
.matchup-bench-player.tier-player-surface{
  border-radius:14px;
}

/* Trade selection remains readable over the tier wash. */
.trade-player.tier-player-surface.selected{
  border-color:color-mix(in srgb,var(--tier-color) 58%,var(--harvest-gold))!important;
  box-shadow:
    inset 0 0 30px color-mix(in srgb,var(--tier-color) 7%,transparent),
    0 0 0 1px color-mix(in srgb,var(--harvest-gold) 30%,transparent),
    0 8px 24px rgba(0,0,0,.18)!important;
}

/* Tiny selected-trade chips inherit the color but not giant side rails. */
.trade-selected-chip.tier-player-surface{
  border-color:color-mix(in srgb,var(--tier-color) 30%,rgba(255,255,255,.08))!important;
  background:color-mix(in srgb,var(--tier-color) 7%,rgba(255,255,255,.025))!important;
}
.trade-selected-chip.tier-player-surface::before,
.trade-selected-chip.tier-player-surface::after{
  display:none!important;
}

/* --------------------------------------------------------------------------
   PLAYERS PAGE
   Table rows need a special treatment because pseudo-elements on <tr> are
   inconsistent across browsers. Desktop rails live on the first/last cells.
   Mobile cards also get inset left/right rails on the card itself.
   -------------------------------------------------------------------------- */
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--tier-color) 8%,#0a0c10) 0%,
      #0a0c10 22%,
      #0a0c10 78%,
      color-mix(in srgb,var(--tier-color) 8%,#0a0c10) 100%)!important;
}
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface td:first-child{
  box-shadow:inset 4px 0 0 var(--tier-color);
}
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface td:last-child{
  box-shadow:inset -4px 0 0 var(--tier-color);
}
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface:hover{
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--tier-color) 12%,#10131a) 0%,
      #10131a 25%,
      #10131a 75%,
      color-mix(in srgb,var(--tier-color) 12%,#10131a) 100%)!important;
}

/* --------------------------------------------------------------------------
   PLAYER PROFILE
   Same identity, but broader/softer so the large profile remains elegant.
   -------------------------------------------------------------------------- */
.player-profile-card.profile-tier-surface{
  border-color:color-mix(in srgb,var(--tier-color) 30%,rgba(255,255,255,.09))!important;
  background:
    radial-gradient(circle at 12% 4%,color-mix(in srgb,var(--tier-color) 9%,transparent),transparent 34%),
    radial-gradient(circle at 92% 16%,color-mix(in srgb,var(--tier-color) 5%,transparent),transparent 30%),
    linear-gradient(180deg,rgba(10,15,27,.99),rgba(5,8,14,.995))!important;
  box-shadow:
    0 28px 90px rgba(0,0,0,.58),
    0 0 34px color-mix(in srgb,var(--tier-color) 8%,transparent)!important;
}
.player-profile-card.profile-tier-surface .player-profile-tier{
  border-color:color-mix(in srgb,var(--tier-color) 58%,transparent)!important;
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--tier-color) 15%,rgba(5,9,15,.88)),
      color-mix(in srgb,var(--tier-color) 6%,rgba(5,9,15,.88)))!important;
  box-shadow:
    inset 4px 0 0 var(--tier-color),
    inset -4px 0 0 var(--tier-color),
    0 0 22px color-mix(in srgb,var(--tier-color) 10%,transparent)!important;
}
.player-profile-card.profile-tier-surface .player-profile-photo{
  border-color:color-mix(in srgb,var(--tier-color) 34%,rgba(79,140,255,.18))!important;
  box-shadow:inset 0 0 38px color-mix(in srgb,var(--tier-color) 5%,transparent);
}

/* Tier intensity: Diamond/Gold feel richer while lower tiers stay restrained. */
.tier-diamond{--tier-color:#79d9ff!important}
.tier-platinum{--tier-color:#e7edf7!important}
.tier-gold{--tier-color:#f5c542!important}
.tier-silver{--tier-color:#bcc6d8!important}
.tier-bronze{--tier-color:#d69260!important}
.tier-iron{--tier-color:#7b8494!important}

@media(max-width:760px){
  :where(
    .product-player,
    .product-row,
    .trade-player,
    .rank-player,
    .waiver-player-card,
    .matchup-line-player,
    .matchup-bench-player
  ).tier-player-surface::before,
  :where(
    .product-player,
    .product-row,
    .trade-player,
    .rank-player,
    .waiver-player-card,
    .matchup-line-player,
    .matchup-bench-player
  ).tier-player-surface::after{
    width:4px!important;
    top:7px!important;
    bottom:7px!important;
  }

  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
    box-shadow:
      inset 4px 0 0 var(--tier-color),
      inset -4px 0 0 var(--tier-color),
      inset 0 0 26px color-mix(in srgb,var(--tier-color) 5%,transparent)!important;
    background:
      radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--tier-color) 10%,transparent),transparent 40%),
      radial-gradient(circle at 88% 80%,color-mix(in srgb,var(--tier-color) 6%,transparent),transparent 38%),
      #0b0d11!important;
    border-color:color-mix(in srgb,var(--tier-color) 28%,rgba(255,255,255,.07))!important;
  }
  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface td:first-child,
  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface td:last-child{
    box-shadow:none;
  }

  .player-tier-chip{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 0 12px color-mix(in srgb,var(--tier-color) 17%,transparent)!important;
  }
}

/* Accessibility: preserve hierarchy without forced glow animation. */
@media(prefers-reduced-motion:reduce){
  .tier-player-surface,.player-tier-chip{transition:none!important}
}


/* ==========================================================================
   COCO PLAYER PROFILE INTELLIGENCE
   Compact fantasy context: outlook, floor/ceiling, form, consistency & usage.
   ========================================================================== */

.player-profile-intelligence-host{
  margin-top:18px;
}
.profile-intelligence-loading{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.07);
  border-radius:20px;
  background:rgba(5,8,13,.62);
  color:#8790a2;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.player-profile-intelligence{
  display:grid;
  gap:12px;
}
.profile-intelligence-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--tier-color) 26%,rgba(255,255,255,.07));
  border-radius:18px;
  background:
    linear-gradient(100deg,
      color-mix(in srgb,var(--tier-color) 9%,rgba(7,10,16,.94)),
      rgba(6,9,15,.94) 55%);
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--tier-color) 72%,transparent);
}
.profile-intelligence-head>div{
  min-width:0;
  display:grid;
  gap:5px;
}
.profile-intelligence-head span,
.profile-usage-head span{
  color:var(--harvest-gold,#f2c94c);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.19em;
}
.profile-intelligence-head strong{
  color:#f4f6fb;
  font-size:14px;
  line-height:1.35;
}
.profile-intelligence-head>small{
  flex:0 0 auto;
  color:#7f8899;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-top:2px;
}

.profile-outlook-grid,
.profile-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  overflow:hidden;
  background:rgba(4,7,12,.72);
}
.profile-outlook-stat{
  min-width:0;
  padding:13px 14px;
  border-right:1px solid rgba(255,255,255,.065);
}
.profile-outlook-stat:last-child{border-right:0}
.profile-outlook-stat small,
.profile-rate-strip small,
.profile-usage-stat small{
  display:block;
  color:#80899b;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.profile-outlook-stat b{
  display:block;
  color:#f4f6fb;
  font-size:17px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-outlook-stat.positive b,
.profile-outlook-stat.up b{color:#62dda6}
.profile-outlook-stat.negative b,
.profile-outlook-stat.down b{color:#ff737d}
.profile-outlook-stat.stable b{color:#9db4dc}

.profile-form-grid .profile-outlook-stat{
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);
}

.profile-rate-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.profile-rate-strip>span{
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.profile-rate-strip small{margin-bottom:5px}
.profile-rate-strip b{
  color:#dce2ed;
  font-size:13px;
}

.profile-usage-panel{
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  padding:14px;
  background:
    linear-gradient(180deg,rgba(11,14,21,.88),rgba(5,8,13,.9));
}
.profile-usage-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.profile-usage-head small{
  color:#697386;
  font-size:10px;
}
.profile-usage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.profile-usage-stat{
  min-width:0;
  padding:11px 12px;
  border-radius:13px;
  border:1px solid color-mix(in srgb,var(--tier-color) 18%,rgba(255,255,255,.06));
  background:color-mix(in srgb,var(--tier-color) 4%,rgba(255,255,255,.018));
}
.profile-usage-stat small{margin-bottom:5px}
.profile-usage-stat b{
  color:#f3f5f9;
  font-size:16px;
}
.profile-usage-empty{
  grid-column:1/-1;
  padding:12px;
  color:#707a8c;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

@media(max-width:760px){
  .player-profile-intelligence-host{margin-top:14px}
  .profile-intelligence-head{
    padding:13px 14px;
    gap:10px;
  }
  .profile-intelligence-head strong{font-size:12px}
  .profile-intelligence-head>small{
    font-size:8px;
    max-width:95px;
    text-align:right;
  }

  .profile-outlook-grid,
  .profile-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-outlook-stat{
    padding:11px 12px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .profile-outlook-stat:nth-child(2n){border-right:0}
  .profile-outlook-stat:nth-last-child(-n+2){border-bottom:0}
  .profile-outlook-stat b{font-size:15px}

  .profile-rate-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }
  .profile-rate-strip>span{
    padding:9px 7px;
    text-align:center;
  }
  .profile-rate-strip small{
    font-size:7px;
    letter-spacing:.08em;
  }
  .profile-rate-strip b{font-size:11px}

  .profile-usage-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-usage-stat{padding:10px}
  .profile-usage-stat b{font-size:14px}
}


/* Multi-season ESPN history database */
.history-cache-multi{display:grid!important;gap:12px!important}
.history-cache-summary{font-size:12px;font-weight:800;color:#dfe5ef;letter-spacing:.03em}
.history-cache-season-rows{display:grid;gap:7px;width:100%}
.history-season-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(255,255,255,.018)}
.history-season-year{display:flex;align-items:center;gap:9px;color:#f3f5f8}
.history-season-year b{font:800 14px 'JetBrains Mono',monospace;letter-spacing:.05em}
.history-season-detail{min-width:0;display:grid;gap:3px}
.history-season-detail strong{font:800 10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:#e8edf5}
.history-season-detail small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#798397;font-size:10px}
.history-cache-weight-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:3px;color:#7c8698;font:700 9px 'JetBrains Mono',monospace;letter-spacing:.08em}
.history-cache-weight-note b{color:#f0c84b}
.history-import-all-btn{border:1px solid rgba(240,200,75,.32);border-radius:12px;background:rgba(240,200,75,.08);color:#f0c84b;padding:10px 13px;font:800 9px 'JetBrains Mono',monospace;letter-spacing:.09em;cursor:pointer}
.history-import-all-btn:disabled{opacity:.5;cursor:default}
@media(max-width:760px){
  .history-cache-status-section .settings-section-head{align-items:flex-start!important}
  .history-import-all-btn{width:100%;margin-top:8px}
  .history-season-row{grid-template-columns:78px minmax(0,1fr);padding:9px 10px}
  .history-cache-weight-note{align-items:flex-start;flex-direction:column;gap:5px}
  .player-profile-season-toggle{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .player-profile-season-toggle::-webkit-scrollbar{display:none}
  .player-profile-season-toggle button{flex:0 0 auto;padding:6px 8px!important}
}


/* ==========================================================================
   INTERACTIVE POSITION STATS → SEASON PERFORMANCE CHART
   ========================================================================== */

.profile-chart-metric-label{
  color:#7f8a9e;
  font-weight:600;
}
.profile-chart-metric-label em{
  color:var(--tier-color,#d8dee9);
  font-style:normal;
}

.profile-usage-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.profile-usage-stat.profile-chart-metric-btn{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  text-align:left;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}
.profile-usage-stat.profile-chart-metric-btn::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:transparent;
}
.profile-usage-stat.profile-chart-metric-btn span{
  display:block;
  margin-top:7px;
  color:#596477;
  font-family:"JetBrains Mono",monospace;
  font-size:7px;
  font-weight:800;
  letter-spacing:.11em;
}
.profile-usage-stat.profile-chart-metric-btn:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--tier-color) 38%,rgba(255,255,255,.08))!important;
  background:color-mix(in srgb,var(--tier-color) 7%,rgba(255,255,255,.025))!important;
}
.profile-usage-stat.profile-chart-metric-btn.active{
  border-color:color-mix(in srgb,var(--tier-color) 64%,rgba(255,255,255,.1))!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--tier-color) 13%,rgba(12,16,23,.92)),
      color-mix(in srgb,var(--tier-color) 6%,rgba(5,8,13,.95)))!important;
  box-shadow:
    inset 0 0 20px color-mix(in srgb,var(--tier-color) 6%,transparent),
    0 0 16px color-mix(in srgb,var(--tier-color) 10%,transparent)!important;
}
.profile-usage-stat.profile-chart-metric-btn.active::after{
  background:var(--tier-color);
  box-shadow:0 0 9px color-mix(in srgb,var(--tier-color) 45%,transparent);
}
.profile-usage-stat.profile-chart-metric-btn.active span{
  color:var(--tier-color);
}
.profile-usage-stat.profile-chart-metric-btn:focus-visible{
  outline:2px solid var(--tier-color);
  outline-offset:2px;
}

@media(max-width:760px){
  .profile-usage-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .profile-usage-stat.profile-chart-metric-btn{
    min-height:76px;
  }
  .profile-usage-stat.profile-chart-metric-btn b{
    font-size:15px;
  }
}


/* ==========================================================================
   PLAYER INTELLIGENCE TUNING — confidence + metric-aware trend
   ========================================================================== */

.profile-source-stack{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.profile-source-stack>small{
  color:#7f8899;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:right;
}
.profile-sample-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:4px 7px;
  border-radius:999px;
  font-family:"JetBrains Mono",monospace;
  font-size:7px;
  font-weight:900;
  letter-spacing:.11em;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.profile-sample-badge.low{
  color:#ff9b73;
  border-color:rgba(255,155,115,.25);
  background:rgba(255,155,115,.07);
}
.profile-sample-badge.building{
  color:#f2c94c;
  border-color:rgba(242,201,76,.25);
  background:rgba(242,201,76,.07);
}
.profile-sample-badge.established{
  color:#62dda6;
  border-color:rgba(98,221,166,.25);
  background:rgba(98,221,166,.07);
}
.profile-form-grid .profile-outlook-stat:first-child b{
  font-size:14px;
  white-space:normal;
  line-height:1.12;
}

@media(max-width:760px){
  .profile-source-stack{max-width:122px}
  .profile-source-stack>small{font-size:7px}
  .profile-sample-badge{
    font-size:6px;
    padding:3px 6px;
  }
  .profile-form-grid .profile-outlook-stat:first-child b{
    font-size:12px;
  }
}


/* ========================================================================== 
   TIER PORTRAIT BACKGROUNDS — FIXED / MOBILE-SAFE
   Uses higher specificity + !important because the existing mobile profile
   CSS intentionally locks the portrait background with !important.
   ========================================================================== */
.player-profile-card.profile-tier-surface .player-profile-photo{
  isolation:isolate!important;
  position:relative!important;
  overflow:hidden!important;
}
.player-profile-card.profile-tier-surface .player-profile-photo img,
.player-profile-card.profile-tier-surface .player-profile-photo .fallback{
  position:relative!important;
  z-index:3!important;
}

/* Keep the information strip anchored over the photo.
   The previous background patch accidentally changed this from absolute
   positioning to relative, which pushed it left/off-screen on mobile. */
.player-profile-card.profile-tier-surface .player-profile-photo .player-profile-photo-label{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:12px!important;
  width:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:4!important;
  box-sizing:border-box!important;
}
.player-profile-card.profile-tier-surface .player-profile-photo::before,
.player-profile-card.profile-tier-surface .player-profile-photo::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}
.player-profile-card.profile-tier-surface .player-profile-photo::before{z-index:1!important}
.player-profile-card.profile-tier-surface .player-profile-photo::after{z-index:2!important}

/* DIAMOND — crystalline blue atmosphere + visible sparkle field */
.player-profile-card.profile-tier-surface.tier-diamond .player-profile-photo{
  background:
    radial-gradient(circle at 50% 12%,rgba(209,247,255,.35),transparent 18%),
    radial-gradient(circle at 22% 26%,rgba(78,178,255,.42),transparent 34%),
    radial-gradient(circle at 82% 20%,rgba(113,223,255,.30),transparent 28%),
    radial-gradient(circle at 52% 68%,rgba(37,110,210,.22),transparent 44%),
    linear-gradient(145deg,#0a2853 0%,#07172f 48%,#020711 100%)!important;
  box-shadow:
    inset 0 0 70px rgba(87,203,255,.13),
    inset 0 -30px 70px rgba(0,0,0,.28),
    0 0 0 1px rgba(121,217,255,.34)!important;
}
.player-profile-card.profile-tier-surface.tier-diamond .player-profile-photo::before{
  background:
    linear-gradient(132deg,transparent 0 30%,rgba(203,246,255,.11) 30% 32%,transparent 32% 58%,rgba(121,217,255,.07) 58% 60%,transparent 60%),
    linear-gradient(48deg,transparent 0 38%,rgba(172,235,255,.08) 38% 40%,transparent 40%),
    radial-gradient(circle at 50% 28%,rgba(181,239,255,.24),transparent 28%)!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
}
.player-profile-card.profile-tier-surface.tier-diamond .player-profile-photo::after{
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.98) 0 1.5px,transparent 2.2px),
    radial-gradient(circle at 18% 44%,rgba(214,247,255,.95) 0 1.2px,transparent 2px),
    radial-gradient(circle at 28% 12%,rgba(255,255,255,.88) 0 1px,transparent 1.8px),
    radial-gradient(circle at 38% 34%,rgba(193,239,255,.84) 0 1.4px,transparent 2.2px),
    radial-gradient(circle at 48% 16%,rgba(255,255,255,.95) 0 1.1px,transparent 2px),
    radial-gradient(circle at 60% 38%,rgba(214,247,255,.88) 0 1.3px,transparent 2px),
    radial-gradient(circle at 70% 14%,rgba(255,255,255,.96) 0 1.6px,transparent 2.4px),
    radial-gradient(circle at 80% 46%,rgba(186,235,255,.86) 0 1.2px,transparent 2px),
    radial-gradient(circle at 91% 24%,rgba(255,255,255,.98) 0 1.3px,transparent 2px),
    radial-gradient(circle at 14% 70%,rgba(205,242,255,.72) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 72%,rgba(255,255,255,.72) 0 1px,transparent 2px)!important;
  opacity:.92!important;
  filter:drop-shadow(0 0 7px rgba(183,239,255,.55))!important;
  mix-blend-mode:screen!important;
}

/* PLATINUM — icy metal / polished sheen */
.player-profile-card.profile-tier-surface.tier-platinum .player-profile-photo{
  background:
    radial-gradient(circle at 50% 12%,rgba(255,255,255,.28),transparent 21%),
    radial-gradient(circle at 18% 28%,rgba(202,219,246,.19),transparent 34%),
    linear-gradient(145deg,#273241 0%,#111823 50%,#050910 100%)!important;
  box-shadow:inset 0 0 60px rgba(235,243,255,.08),0 0 0 1px rgba(231,237,247,.28)!important;
}
.player-profile-card.profile-tier-surface.tier-platinum .player-profile-photo::before{
  background:
    linear-gradient(116deg,transparent 0 24%,rgba(255,255,255,.13) 24% 27%,transparent 27% 54%,rgba(214,226,246,.07) 54% 57%,transparent 57%),
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.18),transparent 30%)!important;
  opacity:.85!important;
  mix-blend-mode:screen!important;
}
.player-profile-card.profile-tier-surface.tier-platinum .player-profile-photo::after{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 2px,transparent 2px 11px)!important;
  opacity:.48!important;
}

/* GOLD — warm metallic shimmer */
.player-profile-card.profile-tier-surface.tier-gold .player-profile-photo{
  background:
    radial-gradient(circle at 50% 13%,rgba(255,232,143,.30),transparent 22%),
    radial-gradient(circle at 21% 27%,rgba(245,197,66,.28),transparent 34%),
    radial-gradient(circle at 82% 23%,rgba(255,215,88,.17),transparent 28%),
    linear-gradient(145deg,#3c2a08 0%,#181205 46%,#07090e 100%)!important;
  box-shadow:inset 0 0 65px rgba(245,197,66,.10),0 0 0 1px rgba(245,197,66,.28)!important;
}
.player-profile-card.profile-tier-surface.tier-gold .player-profile-photo::before{
  background:
    linear-gradient(120deg,transparent 0 30%,rgba(255,229,137,.11) 30% 32%,transparent 32% 62%,rgba(245,197,66,.06) 62% 64%,transparent 64%),
    radial-gradient(circle at 50% 26%,rgba(255,217,105,.18),transparent 30%)!important;
  opacity:.9!important;
  mix-blend-mode:screen!important;
}
.player-profile-card.profile-tier-surface.tier-gold .player-profile-photo::after{
  background-image:
    radial-gradient(circle at 16% 24%,rgba(255,245,208,.72) 0 1.3px,transparent 2px),
    radial-gradient(circle at 76% 17%,rgba(255,225,125,.70) 0 1.2px,transparent 2px),
    radial-gradient(circle at 86% 58%,rgba(255,243,196,.48) 0 1px,transparent 2px),
    radial-gradient(circle at 31% 66%,rgba(255,211,86,.48) 0 1px,transparent 2px)!important;
  opacity:.62!important;
  mix-blend-mode:screen!important;
}

/* SILVER — cool satin steel */
.player-profile-card.profile-tier-surface.tier-silver .player-profile-photo{
  background:
    radial-gradient(circle at 50% 14%,rgba(218,229,246,.22),transparent 22%),
    radial-gradient(circle at 24% 28%,rgba(173,190,215,.15),transparent 34%),
    linear-gradient(145deg,#222b39 0%,#111721 52%,#06090e 100%)!important;
  box-shadow:inset 0 0 55px rgba(188,198,216,.07),0 0 0 1px rgba(188,198,216,.22)!important;
}
.player-profile-card.profile-tier-surface.tier-silver .player-profile-photo::before{
  background:linear-gradient(120deg,transparent 0 31%,rgba(229,236,248,.08) 31% 33%,transparent 33%)!important;
  opacity:.7!important;
  mix-blend-mode:screen!important;
}
.player-profile-card.profile-tier-surface.tier-silver .player-profile-photo::after{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 2px,transparent 2px 13px)!important;
  opacity:.36!important;
}

/* BRONZE — copper / ember metal */
.player-profile-card.profile-tier-surface.tier-bronze .player-profile-photo{
  background:
    radial-gradient(circle at 50% 14%,rgba(235,170,113,.23),transparent 23%),
    radial-gradient(circle at 24% 28%,rgba(214,146,96,.22),transparent 34%),
    linear-gradient(145deg,#3b1f12 0%,#18100c 50%,#07090d 100%)!important;
  box-shadow:inset 0 0 55px rgba(214,146,96,.08),0 0 0 1px rgba(214,146,96,.24)!important;
}
.player-profile-card.profile-tier-surface.tier-bronze .player-profile-photo::before{
  background:linear-gradient(120deg,transparent 0 30%,rgba(239,188,137,.075) 30% 32%,transparent 32%)!important;
  opacity:.75!important;
  mix-blend-mode:screen!important;
}
.player-profile-card.profile-tier-surface.tier-bronze .player-profile-photo::after{
  background-image:
    radial-gradient(circle at 18% 28%,rgba(255,220,183,.42) 0 1.1px,transparent 2px),
    radial-gradient(circle at 80% 24%,rgba(226,161,105,.34) 0 1px,transparent 2px)!important;
  opacity:.42!important;
  mix-blend-mode:screen!important;
}

/* IRON — graphite / matte steel */
.player-profile-card.profile-tier-surface.tier-iron .player-profile-photo{
  background:
    radial-gradient(circle at 50% 15%,rgba(142,153,171,.16),transparent 22%),
    radial-gradient(circle at 26% 30%,rgba(98,108,126,.10),transparent 34%),
    linear-gradient(145deg,#1e242d 0%,#0d1118 54%,#04070b 100%)!important;
  box-shadow:inset 0 0 45px rgba(123,132,148,.05),0 0 0 1px rgba(123,132,148,.18)!important;
}
.player-profile-card.profile-tier-surface.tier-iron .player-profile-photo::before{
  background:linear-gradient(120deg,transparent 0 30%,rgba(185,194,208,.045) 30% 32%,transparent 32%)!important;
  opacity:.55!important;
}
.player-profile-card.profile-tier-surface.tier-iron .player-profile-photo::after{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 2px,transparent 2px 14px)!important;
  opacity:.26!important;
}

@media(max-width:760px){
  /* Beat the legacy mobile portrait background rule at the end of the stylesheet. */
  .player-profile-card.profile-tier-surface.tier-diamond .player-profile-photo,
  .player-profile-card.profile-tier-surface.tier-platinum .player-profile-photo,
  .player-profile-card.profile-tier-surface.tier-gold .player-profile-photo,
  .player-profile-card.profile-tier-surface.tier-silver .player-profile-photo,
  .player-profile-card.profile-tier-surface.tier-bronze .player-profile-photo,
  .player-profile-card.profile-tier-surface.tier-iron .player-profile-photo{
    background-color:#07101f!important;
  }
  .player-profile-card.profile-tier-surface.tier-diamond .player-profile-photo::after{opacity:.82!important}
  .player-profile-card.profile-tier-surface.tier-gold .player-profile-photo::after{opacity:.55!important}
}


/* ==========================================================================
   COCO GLOBAL THEME CLEANUP · v46
   Final visual consistency pass.
   Players + Matchups are the reference language:
   near-black sport surfaces, Harvest gold navigation/identity, cool blue only
   for secondary ESPN/data context, and tier color reserved for players.
   ========================================================================== */

:root{
  --coco-ui-bg:#05070c;
  --coco-ui-surface:#0a0d13;
  --coco-ui-surface-2:#0d1118;
  --coco-ui-surface-3:#111620;
  --coco-ui-border:rgba(255,255,255,.075);
  --coco-ui-border-strong:rgba(255,255,255,.115);
  --coco-ui-gold:var(--harvest-gold,#f6ca37);
  --coco-ui-blue:#6fa2ff;
  --coco-ui-muted:#858ea2;
  --coco-ui-radius:22px;
  --coco-ui-radius-sm:14px;
  --coco-ui-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);
}

/* --------------------------------------------------------------------------
   APP / PAGE LANGUAGE
   -------------------------------------------------------------------------- */
body{
  background:
    radial-gradient(circle at 50% -12%,rgba(31,49,84,.12),transparent 32%),
    var(--coco-ui-bg)!important;
}
.workspace-heading .eyebrow,
#seasonView .workspace-heading .eyebrow,
#teamView .workspace-heading .eyebrow,
#moreView .workspace-heading .eyebrow{
  color:var(--coco-ui-gold)!important;
}
.workspace-heading h1{
  color:#f5f7fb!important;
}
.workspace-heading p{
  color:var(--coco-ui-muted)!important;
}

/* Same sport-card surface used by Matchups/Players. */
:where(
  #homeView .product-card,
  #teamView .product-card,
  #seasonView .season-card,
  #settingsView .settings-section,
  #settingsView .remote-access-section,
  #moreView .tools-list
){
  border:1px solid var(--coco-ui-border)!important;
  border-radius:var(--coco-ui-radius)!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(255,255,255,.025),transparent 28%),
    linear-gradient(180deg,rgba(14,17,24,.97),rgba(7,9,14,.99))!important;
  box-shadow:var(--coco-ui-shadow)!important;
}

/* Neutral row language; tier-player-surface keeps its own richer treatment. */
:where(
  #homeView .product-row:not(.tier-player-surface),
  #teamView .product-row:not(.tier-player-surface),
  #seasonView .product-row:not(.tier-player-surface),
  #seasonView .trade-player:not(.tier-player-surface)
){
  border:1px solid rgba(255,255,255,.06)!important;
  background:rgba(255,255,255,.022)!important;
  border-radius:var(--coco-ui-radius-sm)!important;
}
:where(
  #homeView .product-row:not(.tier-player-surface),
  #teamView .product-row:not(.tier-player-surface),
  #seasonView .product-row:not(.tier-player-surface)
):hover{
  border-color:rgba(246,202,55,.17)!important;
  background:rgba(246,202,55,.035)!important;
}

/* Shared labels / dividers. */
.section-divider{
  background:rgba(255,255,255,.065)!important;
}
.eyebrow{
  color:var(--coco-ui-gold);
}
.meta{
  color:var(--coco-ui-muted)!important;
}

/* --------------------------------------------------------------------------
   HOME
   -------------------------------------------------------------------------- */
#homeView .product-dashboard{
  gap:18px!important;
}
#homeView .harvest-league-hero{
  border-color:rgba(246,202,55,.22)!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}
#homeView .home-team-under{
  padding:11px 12px!important;
  border:1px solid rgba(246,202,55,.13);
  border-radius:14px;
  background:rgba(246,202,55,.035);
}
#homeView .product-stat-row{
  border:1px solid var(--coco-ui-border)!important;
  border-radius:18px!important;
  padding:7px!important;
  background:linear-gradient(180deg,rgba(12,15,21,.95),rgba(7,9,14,.98))!important;
}
#homeView .product-stat{
  border-color:rgba(255,255,255,.055)!important;
  background:rgba(255,255,255,.018)!important;
}
#homeView .product-stat b{
  color:var(--coco-ui-gold)!important;
}

/* These were intentionally "flat"; bring them into the same card family now. */
#homeView .home-flat-section,
#teamView .team-roster-flat{
  border:1px solid var(--coco-ui-border)!important;
  border-radius:var(--coco-ui-radius)!important;
  padding:17px!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(255,255,255,.022),transparent 28%),
    linear-gradient(180deg,rgba(13,16,23,.96),rgba(7,9,14,.985))!important;
  box-shadow:var(--coco-ui-shadow)!important;
}
#homeView .home-roster-section,
#teamView .team-roster-flat{
  margin-top:0!important;
}
#homeView .home-main-grid{
  gap:14px!important;
}

#homeView .home-quick-actions{
  gap:10px!important;
}
#homeView .home-quick-actions button{
  position:relative;
  overflow:hidden;
  border:1px solid var(--coco-ui-border)!important;
  background:linear-gradient(180deg,rgba(14,17,24,.97),rgba(8,10,15,.985))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#homeView .home-quick-actions button::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:0;
  height:2px;border-radius:999px;
  background:rgba(246,202,55,.42);
  opacity:.55;
}
#homeView .home-quick-actions button:hover{
  border-color:rgba(246,202,55,.25)!important;
  background:
    linear-gradient(180deg,rgba(246,202,55,.055),rgba(9,11,16,.985))!important;
}
#homeView .home-quick-actions button>span{
  color:var(--coco-ui-gold)!important;
}

/* --------------------------------------------------------------------------
   TEAM
   -------------------------------------------------------------------------- */
#teamView .team-overview-card{
  background:
    radial-gradient(circle at 9% 0%,rgba(246,202,55,.035),transparent 26%),
    linear-gradient(180deg,rgba(14,17,24,.97),rgba(7,9,14,.99))!important;
}
#teamView .product-stat{
  background:rgba(255,255,255,.02)!important;
  border-color:rgba(255,255,255,.06)!important;
}
#teamView .product-stat b{
  color:var(--coco-ui-gold)!important;
}
#teamView .product-slot{
  color:var(--coco-ui-gold)!important;
}
#teamView .product-room{
  border:1px solid var(--coco-ui-border)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(13,16,23,.96),rgba(8,10,15,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
#teamView .product-room h3{
  color:#eef2f8!important;
}

/* --------------------------------------------------------------------------
   LEAGUE CENTER
   -------------------------------------------------------------------------- */
#seasonView .season-card{
  background:
    radial-gradient(circle at 10% 0%,rgba(246,202,55,.025),transparent 24%),
    linear-gradient(180deg,rgba(13,16,23,.975),rgba(7,9,14,.99))!important;
}
#seasonView .season-toolbar{
  padding:10px!important;
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  background:rgba(255,255,255,.018);
}
#seasonView select,
#settingsView select,
#settingsView input,
#settingsView textarea{
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:12px!important;
  background:#090c12!important;
  color:#edf1f7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#seasonView select:focus,
#settingsView input:focus,
#settingsView select:focus,
#settingsView textarea:focus{
  border-color:rgba(246,202,55,.42)!important;
}

/* Tabs now match Players filter chips / Matchups toggles. */
#seasonView .season-tabs{
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:16px!important;
  padding:4px!important;
  background:#090c12!important;
}
#seasonView .season-tab{
  border:1px solid transparent!important;
  border-radius:12px!important;
  color:#8b94a7!important;
  background:transparent!important;
}
#seasonView .season-tab.active{
  color:var(--coco-ui-gold)!important;
  border-color:rgba(246,202,55,.28)!important;
  background:rgba(246,202,55,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 7px 20px rgba(0,0,0,.14)!important;
}

/* Trade Lab follows the same gold interaction language. */
#seasonTradePane .trade-side{
  border-color:var(--coco-ui-border)!important;
  background:linear-gradient(180deg,rgba(13,16,22,.93),rgba(8,10,15,.96))!important;
}
#seasonTradePane .trade-player.selected{
  border-color:rgba(246,202,55,.42)!important;
  background:rgba(246,202,55,.075)!important;
}
#seasonTradePane .trade-player input{
  accent-color:var(--coco-ui-gold)!important;
}
#seasonTradePane .trade-val,
#seasonTradePane .trade-arrow{
  color:var(--coco-ui-gold)!important;
}
#seasonTradePane .trade-result{
  border:1px solid rgba(246,202,55,.16)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(246,202,55,.045),transparent 34%),
    linear-gradient(180deg,rgba(13,16,22,.96),rgba(8,10,15,.98))!important;
  box-shadow:var(--coco-ui-shadow)!important;
}

/* Power Rankings: keep position colors, but make COCO/your-team identity gold. */
#seasonRankingsPane .rank-card{
  border-color:var(--coco-ui-border)!important;
  background:linear-gradient(180deg,rgba(13,16,23,.96),rgba(8,10,15,.985))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#seasonRankingsPane .rank-card:hover,
#seasonRankingsPane .rank-card.expanded{
  border-color:rgba(246,202,55,.22)!important;
  background:
    linear-gradient(180deg,rgba(246,202,55,.035),rgba(8,10,15,.985))!important;
}
#seasonRankingsPane .rank-card.mine{
  border-color:rgba(246,202,55,.42)!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(246,202,55,.07),transparent 27%),
    linear-gradient(180deg,rgba(15,17,22,.98),rgba(8,10,15,.99))!important;
  box-shadow:
    inset 4px 0 0 rgba(246,202,55,.72),
    0 10px 30px rgba(0,0,0,.20)!important;
}
#seasonRankingsPane .rank-score b,
#seasonRankingsPane .rank-player-val{
  color:var(--coco-ui-gold)!important;
}
#seasonRankingsPane .rank-component,
#seasonRankingsPane .rank-insight,
#seasonRankingsPane .rank-room{
  border-color:rgba(255,255,255,.065)!important;
  background:rgba(255,255,255,.018)!important;
}

/* Transactions + history feel like League Center, not a separate utility. */
#seasonTransactionList{
  display:grid;
  gap:8px;
}
#seasonTransactionList .product-row{
  min-height:68px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
#seasonView .source-pill{
  border-color:rgba(246,202,55,.16)!important;
  background:rgba(246,202,55,.035)!important;
}
#seasonView .season-draft-scroll{
  border:1px solid var(--coco-ui-border)!important;
  border-radius:18px!important;
  background:#080b11!important;
  overflow:auto;
}
#seasonView .season-draft-table{
  background:transparent!important;
}
#seasonView .season-draft-table th{
  background:#0d1118!important;
  color:var(--coco-ui-gold)!important;
  border-color:rgba(255,255,255,.065)!important;
}
#seasonView .season-draft-table td{
  border-color:rgba(255,255,255,.055)!important;
  background:rgba(255,255,255,.012)!important;
}
#seasonView .season-draft-pick{
  border-radius:12px;
}
#seasonView .season-draft-hint{
  color:var(--coco-ui-muted)!important;
}

/* --------------------------------------------------------------------------
   MORE
   -------------------------------------------------------------------------- */
#moreView .tools-list{
  padding:10px!important;
  display:grid!important;
  gap:8px!important;
  border-top:1px solid var(--coco-ui-border)!important;
}
#moreView .tools-list button{
  border:1px solid rgba(255,255,255,.055)!important;
  border-radius:15px!important;
  padding:14px!important;
  background:rgba(255,255,255,.018)!important;
}
#moreView .tools-list button:last-child{
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}
#moreView .tools-list button:hover{
  border-color:rgba(246,202,55,.20)!important;
  background:rgba(246,202,55,.035)!important;
}
#moreView .tools-list .tools-icon{
  border:1px solid rgba(246,202,55,.16)!important;
  background:rgba(246,202,55,.065)!important;
  color:var(--coco-ui-gold)!important;
}

/* --------------------------------------------------------------------------
   SETTINGS
   -------------------------------------------------------------------------- */
#settingsView{
  max-width:1360px;
  margin-inline:auto;
}
#settingsView .settings-section,
#settingsView .remote-access-section{
  max-width:none!important;
  margin:0 0 14px!important;
  padding:18px!important;
}
#settingsView .settings-section-head{
  padding-bottom:13px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
#settingsView .settings-section-head h2{
  color:#f1f4f9!important;
}
#settingsView .history-cache-status-card{
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:17px!important;
  padding:12px!important;
  background:#090c12!important;
}
#settingsView .history-season-row{
  border-color:rgba(255,255,255,.055)!important;
  background:rgba(255,255,255,.018)!important;
}
#settingsView .history-import-all-btn{
  border-radius:999px!important;
  border-color:rgba(246,202,55,.30)!important;
  background:rgba(246,202,55,.075)!important;
  color:var(--coco-ui-gold)!important;
}
#settingsView .remote-status-mini{
  border-color:rgba(255,255,255,.08)!important;
  background:#090c12!important;
}
#settingsView .mobile-server-row button,
#settingsView .mobile-mode-actions button,
#settingsView .mobile-mode-buttons button{
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:12px!important;
  background:#0b0e14!important;
  color:#e8edf5!important;
}
#settingsView .mobile-server-row button:hover,
#settingsView .mobile-mode-actions button:hover,
#settingsView .mobile-mode-buttons button:hover{
  border-color:rgba(246,202,55,.25)!important;
  background:rgba(246,202,55,.055)!important;
}

/* --------------------------------------------------------------------------
   GLOBAL CONTROLS / STATES
   -------------------------------------------------------------------------- */
:where(
  .product-link-btn,
  .ghost-btn,
  .history-import-all-btn,
  .matchup-view-btn,
  .rank-expand-btn
){
  font-weight:800!important;
}
.season-empty,
.empty-note{
  border-color:rgba(246,202,55,.15)!important;
  background:rgba(246,202,55,.025)!important;
}
.source-pill{
  border-radius:999px!important;
}

/* Blue is now intentionally reserved for ESPN/secondary data. */
.proj-chip.espn,
.matchup-total-chip.espn{
  color:#a9b3c5;
}
.proj-chip.coco,
.matchup-total-chip.coco{
  color:var(--coco-ui-blue);
}

/* --------------------------------------------------------------------------
   MOBILE RHYTHM
   -------------------------------------------------------------------------- */
@media(max-width:760px){
  #homeView .home-flat-section,
  #teamView .team-roster-flat{
    padding:14px!important;
    border-radius:19px!important;
  }
  #homeView .home-team-under{
    margin-top:-2px;
  }
  #homeView .product-stat-row{
    padding:5px!important;
    border-radius:16px!important;
  }
  #homeView .home-quick-actions button{
    min-height:96px!important;
  }

  #teamView .team-overview-card,
  #seasonView .season-card,
  #settingsView .settings-section,
  #settingsView .remote-access-section{
    border-radius:19px!important;
    padding:14px!important;
  }

  #seasonView .season-toolbar{
    padding:9px!important;
    border-radius:14px!important;
  }
  #seasonView .season-tabs{
    border-radius:14px!important;
  }
  #seasonView .season-tab{
    min-height:39px!important;
  }

  #moreView .tools-list{
    border-radius:19px!important;
    padding:8px!important;
  }
  #moreView .tools-list button{
    padding:13px 11px!important;
  }

  #settingsView .settings-section-head{
    padding-bottom:11px;
  }
}

/* Keep tier player surfaces and Matchup lineup cards visually dominant. */
.tier-player-surface,
.matchup-line-player.tier-player-surface,
.matchup-bench-player.tier-player-surface{
  position:relative;
}


/* ==========================================================================
   EXPANDED ESPN PLAYER POOL + FANTASY OWNERSHIP FILTERS
   ========================================================================== */

#boardView .workspace-heading{
  align-items:flex-end!important;
}
.player-pool-meta{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(246,202,55,.17);
  border-radius:999px;
  background:rgba(246,202,55,.045);
  color:var(--harvest-gold);
  font:800 8px "JetBrains Mono",monospace;
  letter-spacing:.08em;
  white-space:nowrap;
}
.live-pool-tag{
  display:inline-flex;
  align-items:center;
  min-height:16px;
  margin-left:5px;
  padding:2px 5px;
  border-radius:999px;
  border:1px solid rgba(111,162,255,.20);
  background:rgba(111,162,255,.06);
  color:#8eb5ff;
  font:800 6px "JetBrains Mono",monospace;
  letter-spacing:.07em;
  vertical-align:middle;
}
.player-ranking-row.fantasy-free .fantasy-owner b{
  color:#b6c1d3;
}

@media(max-width:760px){
  #boardView .workspace-heading{
    align-items:flex-start!important;
    gap:10px!important;
  }
  .player-pool-meta{
    align-self:flex-start;
    font-size:7px;
    padding:6px 8px;
  }
  .player-availability-chips{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .availability-chip{
    padding-inline:6px!important;
    font-size:7.5px!important;
    letter-spacing:.035em!important;
  }
}


/* ==========================================================================
   COCO AVAILABILITY STATE MODEL
   Talent/role value is separate from weekly playability.
   ========================================================================== */

.coco-availability-badge{
  --availability-accent:#8e98aa;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:21px;
  margin-left:6px;
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--availability-accent) 35%,rgba(255,255,255,.08));
  border-radius:999px;
  background:color-mix(in srgb,var(--availability-accent) 8%,rgba(6,9,14,.92));
  color:var(--availability-accent);
  font:900 7px "JetBrains Mono",monospace;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
  vertical-align:middle;
}
.coco-availability-badge.compact{
  min-height:17px;
  padding:3px 5px;
  margin-left:5px;
  font-size:6px;
}
.coco-availability-badge.availability-hard{
  --availability-accent:#ff737d;
}
.coco-availability-badge.availability-uncertain{
  --availability-accent:#f2c94c;
}
.coco-availability-badge.availability-schedule{
  --availability-accent:#8eb5ff;
}
.coco-availability-badge.availability-soft{
  --availability-accent:#9ba7ba;
}

.player-situation-card{
  --availability-accent:#8e98aa;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid color-mix(in srgb,var(--availability-accent) 30%,rgba(255,255,255,.07));
  border-radius:16px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--availability-accent) 7%,rgba(8,11,17,.96)),
      rgba(7,10,15,.96));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--availability-accent) 72%,transparent);
}
.player-situation-card.availability-hard{--availability-accent:#ff737d}
.player-situation-card.availability-uncertain{--availability-accent:#f2c94c}
.player-situation-card.availability-schedule{--availability-accent:#8eb5ff}
.player-situation-card.availability-soft{--availability-accent:#9ba7ba}

.player-situation-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  border:1px solid color-mix(in srgb,var(--availability-accent) 42%,transparent);
  background:color-mix(in srgb,var(--availability-accent) 10%,#080b11);
  color:var(--availability-accent);
  font:900 15px "JetBrains Mono",monospace;
}
.player-situation-copy{
  min-width:0;
}
.player-situation-copy small,
.player-situation-impact small{
  display:block;
  color:#7e8799;
  font:800 7px "JetBrains Mono",monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.player-situation-copy b{
  display:block;
  margin-top:3px;
  color:var(--availability-accent);
  font-size:13px;
}
.player-situation-copy p{
  margin:4px 0 0;
  color:#a3acba;
  font-size:10px;
  line-height:1.4;
}
.player-situation-impact{
  display:grid;
  grid-template-columns:repeat(2,auto);
  gap:7px;
}
.player-situation-impact span{
  min-width:70px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:11px;
  background:rgba(255,255,255,.022);
}
.player-situation-impact b{
  display:block;
  margin-top:4px;
  color:#edf1f7;
  font:800 10px "JetBrains Mono",monospace;
  white-space:nowrap;
}

.matchup-line-player>.coco-availability-badge,
.matchup-bench-player>.coco-availability-badge{
  margin:6px 0 0!important;
}

@media(max-width:760px){
  .player-situation-card{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
  }
  .player-situation-impact{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .player-situation-impact span{
    min-width:0;
  }
  .player-situation-copy p{
    font-size:9px;
  }
}


/* ==========================================================================
   COCO VALUE / WEEK VALUE + OPPORTUNITY ENGINE · v49
   ========================================================================== */

/* VALUE / WEEK pair used on Home + Team. */
.coco-value-week{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(44px,auto));
  gap:5px;
}
.coco-value-week>span{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  min-height:38px;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.022);
}
.coco-value-week small{
  color:#747e91;
  font:800 6px "JetBrains Mono",monospace;
  letter-spacing:.09em;
}
.coco-value-week b{
  margin-top:3px;
  color:#edf2f8;
  font:800 11px "JetBrains Mono",monospace;
}
.coco-value-week .asset{
  border-color:rgba(246,202,55,.14);
  background:rgba(246,202,55,.035);
}
.coco-value-week .asset b{
  color:var(--harvest-gold);
}
.coco-value-week .week{
  border-color:rgba(111,162,255,.14);
  background:rgba(111,162,255,.035);
}
.coco-value-week .week b{
  color:#9cbeff;
}
.coco-value-week.compact>span{
  min-height:34px;
  padding:5px 7px;
}

/* Matchup projection chips: WEEK is the weekly decision number, VALUE is the
   long-term asset number. ESPN remains the market projection comparison. */
.proj-chip.value{
  border-color:rgba(246,202,55,.18)!important;
  background:rgba(246,202,55,.045)!important;
  color:var(--harvest-gold)!important;
}
.proj-chip.value b{
  color:#f8e6a3!important;
}

/* Player Rankings WEEK column gets a subtle data-blue treatment. */
#boardView .week-value-metric b{
  color:#9cbeff!important;
}

/* Opportunity badge. */
.coco-opportunity-badge{
  --opp:#a9b3c5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  margin-left:5px;
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--opp) 34%,rgba(255,255,255,.07));
  border-radius:999px;
  background:color-mix(in srgb,var(--opp) 7%,rgba(7,10,15,.94));
  color:var(--opp);
  font:900 6.5px "JetBrains Mono",monospace;
  letter-spacing:.07em;
  line-height:1;
  white-space:nowrap;
  vertical-align:middle;
}
.coco-opportunity-badge.compact{
  min-height:17px;
  padding:3px 5px;
  font-size:5.8px;
}
.coco-opportunity-badge.role-up{--opp:#58dda2}
.coco-opportunity-badge.opportunity-up{--opp:#f2c94c}
.coco-opportunity-badge.watchlist{--opp:#8eb5ff}

/* Player profile opportunity card. */
.player-opportunity-card{
  --opp:#8eb5ff;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid color-mix(in srgb,var(--opp) 28%,rgba(255,255,255,.07));
  border-radius:16px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--opp) 7%,rgba(8,11,17,.96)),
      rgba(7,10,15,.96));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--opp) 70%,transparent);
}
.player-opportunity-card.role-up{--opp:#58dda2}
.player-opportunity-card.opportunity-up{--opp:#f2c94c}
.player-opportunity-card.watchlist{--opp:#8eb5ff}
.player-opportunity-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:10px;
  border:1px solid color-mix(in srgb,var(--opp) 40%,transparent);
  background:color-mix(in srgb,var(--opp) 10%,#080b11);
  color:var(--opp);
  font:900 16px "JetBrains Mono",monospace;
}
.player-opportunity-copy small,
.player-opportunity-impact small{
  display:block;
  color:#7e8799;
  font:800 7px "JetBrains Mono",monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.player-opportunity-copy b{
  display:block;
  margin-top:3px;
  color:var(--opp);
  font-size:13px;
}
.player-opportunity-copy p{
  margin:4px 0 0;
  color:#a3acba;
  font-size:10px;
  line-height:1.4;
}
.player-opportunity-impact{
  display:grid;
  grid-template-columns:repeat(2,auto);
  gap:7px;
}
.player-opportunity-impact span{
  min-width:76px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:11px;
  background:rgba(255,255,255,.022);
}
.player-opportunity-impact b{
  display:block;
  margin-top:4px;
  color:#edf1f7;
  font:800 9px "JetBrains Mono",monospace;
  white-space:nowrap;
}

/* Opportunity Watch on Players. */
.player-opportunity-watch{
  margin:12px 0 14px;
  padding:12px;
  border:1px solid rgba(246,202,55,.11);
  border-radius:18px;
  background:
    radial-gradient(circle at 10% 0%,rgba(246,202,55,.045),transparent 28%),
    linear-gradient(180deg,rgba(13,16,23,.96),rgba(7,9,14,.985));
  box-shadow:0 12px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);
}
.opportunity-watch-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}
.opportunity-watch-head span{
  display:block;
  color:var(--harvest-gold);
  font:900 7px "JetBrains Mono",monospace;
  letter-spacing:.11em;
}
.opportunity-watch-head b{
  display:block;
  margin-top:3px;
  font-size:13px;
}
.opportunity-watch-head small{
  color:#737d90;
  font:700 7px "JetBrains Mono",monospace;
}
.opportunity-watch-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.opportunity-watch-player{
  --opp:#8eb5ff;
  min-width:0;
  padding:10px;
  text-align:left;
  color:#eef2f8;
  border:1px solid color-mix(in srgb,var(--opp) 16%,rgba(255,255,255,.055));
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.opportunity-watch-player.role-up{--opp:#58dda2}
.opportunity-watch-player.opportunity-up{--opp:#f2c94c}
.opportunity-watch-player.watchlist{--opp:#8eb5ff}
.opportunity-watch-player:hover{
  border-color:color-mix(in srgb,var(--opp) 36%,rgba(255,255,255,.07));
  background:color-mix(in srgb,var(--opp) 4%,rgba(255,255,255,.018));
}
.opportunity-watch-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
}
.opportunity-watch-top>b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.opportunity-watch-player>small{
  display:block;
  margin-top:4px;
  color:#7f899b;
  font:700 7px "JetBrains Mono",monospace;
}
.opportunity-watch-player>em{
  display:block;
  margin-top:6px;
  color:#aab3c1;
  font-style:normal;
  font-size:8px;
  line-height:1.35;
}

/* Trade Lab now shows VALUE and WEEK explicitly. */
.trade-val-stack{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,auto);
  gap:5px;
}
.trade-val-stack>span{
  min-width:48px;
  padding:5px 6px;
  text-align:right;
  border:1px solid rgba(255,255,255,.055);
  border-radius:9px;
  background:rgba(255,255,255,.018);
}
.trade-val-stack small{
  display:block;
  color:#737d90;
  font:800 5.8px "JetBrains Mono",monospace;
  letter-spacing:.08em;
}
.trade-val-stack b{
  display:block;
  margin-top:2px;
  color:#edf1f7;
  font:800 9px "JetBrains Mono",monospace;
}
.trade-val-stack>span:first-child{
  border-color:rgba(246,202,55,.14);
}
.trade-val-stack>span:first-child b{
  color:var(--harvest-gold);
}

/* Opportunity badges in matchup cards get their own line only when needed. */
.matchup-line-player>.coco-opportunity-badge,
.matchup-bench-player>.coco-opportunity-badge{
  margin:5px 0 0!important;
  align-self:flex-start;
}
.matchup-line-player.away>.coco-opportunity-badge{
  align-self:flex-end;
}

@media(max-width:760px){
  .coco-value-week{
    grid-template-columns:repeat(2,minmax(38px,auto));
    gap:4px;
  }
  .coco-value-week>span{
    min-height:32px;
    padding:4px 6px;
  }
  .coco-value-week b{font-size:9px}
  .coco-value-week small{font-size:5.3px}

  .player-opportunity-card{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
  }
  .player-opportunity-impact{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .player-opportunity-impact span{min-width:0}

  .opportunity-watch-head{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .opportunity-watch-grid{
    grid-template-columns:1fr 1fr;
  }
  .opportunity-watch-player{
    padding:9px;
  }
  .opportunity-watch-top{
    align-items:flex-start;
    flex-direction:column;
  }

  .trade-val-stack{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   UNROSTERED PLAYER PROFILE CLARITY · v50
   Current pickup decision data is visually separated from historical stats.
   ========================================================================== */

.profile-pickup-snapshot{
  margin-top:12px;
  padding:13px;
  border:1px solid rgba(246,202,55,.19);
  border-radius:17px;
  background:
    radial-gradient(circle at 10% 0%,rgba(246,202,55,.055),transparent 28%),
    linear-gradient(180deg,rgba(14,17,23,.97),rgba(8,10,15,.98));
  box-shadow:
    inset 3px 0 0 rgba(246,202,55,.62),
    0 10px 28px rgba(0,0,0,.16);
}
.profile-pickup-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.profile-pickup-head span{
  display:block;
  color:var(--harvest-gold);
  font:900 7px "JetBrains Mono",monospace;
  letter-spacing:.11em;
}
.profile-pickup-head b{
  display:block;
  margin-top:3px;
  color:#edf1f7;
  font-size:13px;
}
.profile-pickup-head>small{
  padding:4px 7px;
  border:1px solid rgba(88,221,162,.20);
  border-radius:999px;
  background:rgba(88,221,162,.055);
  color:#75e6b2;
  font:900 6px "JetBrains Mono",monospace;
  letter-spacing:.08em;
}
.profile-pickup-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.profile-pickup-grid .profile-outlook-stat{
  min-height:58px;
  border-color:rgba(255,255,255,.065)!important;
  background:rgba(255,255,255,.02)!important;
}
.profile-pickup-grid .profile-outlook-stat small{
  color:#7f899d!important;
}
.profile-pickup-grid .profile-outlook-stat b{
  color:#f0f4fa!important;
}
.profile-pickup-grid .profile-outlook-stat:first-child{
  border-color:rgba(246,202,55,.15)!important;
  background:rgba(246,202,55,.035)!important;
}
.profile-pickup-grid .profile-outlook-stat:first-child b{
  color:var(--harvest-gold)!important;
}
.profile-pickup-grid .profile-outlook-stat:nth-child(2){
  border-color:rgba(111,162,255,.15)!important;
  background:rgba(111,162,255,.035)!important;
}
.profile-pickup-grid .profile-outlook-stat:nth-child(2) b{
  color:#9cbeff!important;
}
.profile-pickup-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.055);
}
.profile-pickup-note p{
  margin:0;
  color:#9ca6b6;
  font-size:9px;
  line-height:1.45;
}
.profile-pickup-status{
  flex:0 0 auto;
  padding:4px 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#c5cedc;
  font:900 6px "JetBrains Mono",monospace;
  letter-spacing:.07em;
}

/* Historical-only analytics intentionally recede behind the current snapshot. */
.player-profile-intelligence.historical-context-only{
  margin-top:10px;
  border-color:rgba(255,255,255,.055)!important;
  background:
    linear-gradient(180deg,rgba(10,13,19,.86),rgba(7,9,14,.90))!important;
  opacity:.84;
}
.player-profile-intelligence.historical-context-only .profile-intelligence-head>div:first-child>span{
  color:#9da6b8!important;
}
.player-profile-intelligence.historical-context-only .profile-source-stack small{
  color:#8d96a8!important;
}
.player-profile-intelligence.historical-context-only .profile-outlook-stat,
.player-profile-intelligence.historical-context-only .profile-rate-strip>span,
.player-profile-intelligence.historical-context-only .profile-usage-stat{
  border-color:rgba(255,255,255,.045)!important;
  background:rgba(255,255,255,.012)!important;
}
.player-profile-intelligence.historical-context-only .profile-outlook-stat b,
.player-profile-intelligence.historical-context-only .profile-rate-strip b,
.player-profile-intelligence.historical-context-only .profile-usage-stat b{
  color:#c7ced9!important;
}
.player-profile-intelligence.historical-context-only .profile-usage-head span{
  color:#a3acba!important;
}

@media(max-width:760px){
  .profile-pickup-snapshot{
    padding:11px;
    border-radius:15px;
  }
  .profile-pickup-grid{
    grid-template-columns:1fr 1fr;
  }
  .profile-pickup-grid .profile-outlook-stat{
    min-height:52px;
  }
  .profile-pickup-note{
    flex-direction:column;
    gap:6px;
  }
}


/* ==========================================================================
   AUTOMATIC AVAILABILITY OVERRIDE · v51
   Major status news can bypass preseason ranking inertia without changing the
   slow-moving "when available" talent baseline.
   ========================================================================== */

.availability-override-note{
  display:inline-flex!important;
  width:max-content;
  margin-top:5px;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--tier-color) 22%,rgba(255,255,255,.07));
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#9ba5b6!important;
  font:800 6px "JetBrains Mono",monospace!important;
  letter-spacing:.065em!important;
  line-height:1!important;
}
.ranking-override-chip{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  margin-left:5px;
  padding:3px 5px;
  border:1px solid rgba(242,201,76,.20);
  border-radius:999px;
  background:rgba(242,201,76,.055);
  color:#e8c75e;
  font:900 5.8px "JetBrains Mono",monospace;
  letter-spacing:.06em;
  white-space:nowrap;
}

.player-situation-impact{
  grid-template-columns:repeat(3,auto)!important;
}
.player-situation-impact span{
  min-width:82px;
}
.player-situation-impact span:nth-child(2){
  border-color:rgba(246,202,55,.13);
  background:rgba(246,202,55,.03);
}
.player-situation-impact span:nth-child(3){
  border-color:rgba(255,255,255,.05);
  background:rgba(255,255,255,.015);
}
.player-situation-impact span:nth-child(2) b{
  color:var(--harvest-gold);
}
.player-situation-impact span:nth-child(3) b{
  color:#aeb7c5;
}

@media(max-width:760px){
  .player-situation-impact{
    grid-template-columns:1fr!important;
  }
  .player-situation-impact span{
    min-width:0!important;
  }
  .availability-override-note{
    font-size:5.5px!important;
  }
}


/* Official NFL status source shown when ESPN Fantasy's injury tag is stale. */
.official-status-source{
  display:block;
  margin-top:5px;
  color:#778397;
  font:700 6.5px "JetBrains Mono",monospace;
  letter-spacing:.035em;
  line-height:1.4;
}


/* ==========================================================================
   LEAGUE CENTER POLISH · v56
   Players + Matchups visual language, applied deliberately to the League hub.
   CSS/markup only: no ranking, trade, ESPN or history logic changes.
   ========================================================================== */

#seasonView{
  --league-gold:var(--harvest-gold,#f6ca37);
  --league-surface:#090c12;
  --league-surface-2:#0d1118;
  --league-border:rgba(255,255,255,.07);
}

/* ---------- Header / main shell ---------- */
#seasonView .workspace-heading{
  margin-bottom:16px!important;
}
#seasonView .workspace-heading h1{
  margin:3px 0 5px!important;
  letter-spacing:-.035em;
}
#seasonView .season-grid{
  grid-template-columns:minmax(0,1fr) 286px!important;
  gap:18px!important;
}
#seasonView .season-main-card{
  padding:20px!important;
  border-radius:24px!important;
  overflow:hidden;
}
.league-center-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
}
.league-center-head h2{
  margin:3px 0 5px!important;
  font-size:24px!important;
}
.league-center-head p{
  max-width:740px;
  font-size:11px!important;
}
.league-live-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid rgba(88,221,162,.16);
  border-radius:999px;
  background:rgba(88,221,162,.045);
  color:#7de5b5;
  font:900 7px 'JetBrains Mono',monospace;
  letter-spacing:.09em;
}
.league-live-pill>span{
  width:6px;height:6px;border-radius:50%;
  background:#58dda2;
  box-shadow:0 0 9px rgba(88,221,162,.5);
}

/* ---------- League selector / connection status ---------- */
#seasonView .season-toolbar{
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) auto minmax(180px,auto);
  gap:8px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  padding:9px!important;
  border-radius:15px!important;
  background:#080b10!important;
}
#seasonView .season-toolbar select{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
}
#seasonView .season-toolbar .ghost-btn{
  min-height:42px;
  border-color:rgba(246,202,55,.16)!important;
}
#seasonView .season-status{
  min-width:0;
  margin:0!important;
  text-align:right;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7f899c!important;
  font-size:7.5px!important;
}

/* ---------- Tool navigation ---------- */
#seasonView .league-tool-tabs{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0 0 18px!important;
  padding:5px!important;
  overflow:visible!important;
  border-radius:17px!important;
  background:#070a0f!important;
}
#seasonView .league-tool-tabs .season-tab{
  min-width:0!important;
  min-height:58px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  text-align:left;
  color:#8b95a8!important;
}
#seasonView .league-tool-tabs .season-tab>span:last-child{
  min-width:0;
}
#seasonView .league-tool-tabs .season-tab b{
  display:block;
  color:inherit;
  font:800 10px 'Space Grotesk',sans-serif;
  white-space:nowrap;
}
#seasonView .league-tool-tabs .season-tab small{
  display:block;
  margin-top:2px;
  color:#697386;
  font:700 6.5px 'JetBrains Mono',monospace;
  white-space:nowrap;
}
#seasonView .league-tab-icon{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.025);
  color:#8d96a7;
  font-size:14px;
}
#seasonView .league-tool-tabs .season-tab.active{
  border-color:rgba(246,202,55,.24)!important;
  background:
    linear-gradient(180deg,rgba(246,202,55,.075),rgba(246,202,55,.025))!important;
  color:var(--league-gold)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 8px 18px rgba(0,0,0,.12)!important;
}
#seasonView .league-tool-tabs .season-tab.active small{
  color:#aa9861;
}
#seasonView .league-tool-tabs .season-tab.active .league-tab-icon{
  border-color:rgba(246,202,55,.20);
  background:rgba(246,202,55,.07);
  color:var(--league-gold);
}

/* ---------- Pane heading ---------- */
#seasonView .league-pane-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:1px 2px 13px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
#seasonView .league-pane-head h3{
  margin:3px 0 3px;
  color:#f2f5fa;
  font-size:18px;
  letter-spacing:-.02em;
}
#seasonView .league-pane-head p{
  max-width:680px;
  font-size:10px!important;
  line-height:1.45!important;
}
.league-pane-chip{
  flex:0 0 auto;
  padding:6px 8px;
  border:1px solid rgba(246,202,55,.16);
  border-radius:999px;
  background:rgba(246,202,55,.045);
  color:var(--league-gold);
  font:900 6.5px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.league-pane-chip.neutral{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#939cad;
}

/* ---------- Trade Lab ---------- */
#seasonTradePane .trade-teams{
  grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)!important;
  gap:10px!important;
}
#seasonTradePane .trade-side{
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.065)!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(255,255,255,.022),transparent 25%),
    linear-gradient(180deg,rgba(12,15,21,.97),rgba(8,10,15,.985))!important;
}
#seasonTradePane .trade-side-head{
  gap:7px!important;
  margin-bottom:10px!important;
}
#seasonTradePane .trade-side-label{
  color:#949daf!important;
  font-size:7px!important;
}
#seasonTradePane .trade-side-head select{
  min-height:40px!important;
}
#seasonTradePane .trade-arrow{
  width:34px;height:34px;
  align-self:center!important;
  display:grid;
  place-items:center;
  margin:auto;
  padding:0!important;
  border:1px solid rgba(246,202,55,.18);
  border-radius:999px;
  background:rgba(246,202,55,.055);
  color:var(--league-gold)!important;
  font-size:16px!important;
}
#seasonTradePane .trade-roster{
  max-height:500px!important;
  gap:6px!important;
}
#seasonTradePane .trade-player{
  min-height:58px;
  border-radius:13px!important;
}
#seasonTradePane .trade-result{
  margin-top:12px!important;
  padding:14px!important;
  border-radius:18px!important;
}
#seasonTradePane .trade-verdict{
  min-width:128px;
  text-align:center;
  border-color:rgba(246,202,55,.18)!important;
  background:rgba(246,202,55,.045);
  color:var(--league-gold)!important;
}

/* ---------- Power ---------- */
#seasonRankingsPane .rank-controls{
  margin:0 0 10px!important;
  gap:10px!important;
}
#rankModeToggle{
  gap:7px!important;
}
#rankModeToggle button{
  min-height:44px!important;
  padding:9px 12px!important;
  border-radius:13px!important;
  border-color:rgba(255,255,255,.07)!important;
  background:#080b10!important;
  color:#8d96a8!important;
  font-size:10px!important;
}
#rankModeToggle button.active{
  border-color:rgba(246,202,55,.25)!important;
  background:rgba(246,202,55,.07)!important;
  color:var(--league-gold)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
#seasonRankingsPane .power-v2-method{
  margin:0 0 12px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#080b10!important;
}
#seasonRankingsPane .power-v2-method b{
  color:#8f98aa!important;
}
#seasonRankingsPane .power-v2-method span{
  color:#c7cfda!important;
}
#seasonRankingsPane .rank-list{
  gap:8px!important;
}
#seasonRankingsPane .rank-card{
  border-radius:18px!important;
}

/* ---------- Activity ---------- */
#seasonTransactionsPane #transactionFilter{
  gap:6px!important;
  margin:0 0 12px!important;
  padding-bottom:2px;
}
#seasonTransactionsPane #transactionFilter button{
  min-height:34px;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.065)!important;
  border-radius:999px!important;
  background:#080b10!important;
  color:#858fa2!important;
  font-size:7.5px!important;
}
#seasonTransactionsPane #transactionFilter button.active{
  border-color:rgba(246,202,55,.23)!important;
  background:rgba(246,202,55,.065)!important;
  color:var(--league-gold)!important;
}
#seasonTransactionsPane #seasonTransactionList{
  gap:7px!important;
}
#seasonTransactionsPane #seasonTransactionList .product-row{
  min-height:70px!important;
  border-radius:14px!important;
}
.league-sync-btn{
  flex:0 0 auto;
  min-height:36px;
}

/* ---------- Draft ---------- */
#seasonHistoryDraftPane .season-draft-scroll{
  border-radius:16px!important;
}
#seasonHistoryDraftPane .season-draft-table th{
  height:40px;
  font-size:7px!important;
  letter-spacing:.08em;
}
#seasonHistoryDraftPane .season-draft-table td{
  min-width:108px;
}
#seasonHistoryDraftPane .season-draft-pick{
  min-height:56px;
  padding:7px 8px;
}

/* ---------- League Pulse ---------- */
#seasonView .league-pulse-card{
  position:sticky;
  top:16px;
  padding:16px!important;
  border-radius:22px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(246,202,55,.055),transparent 30%),
    linear-gradient(180deg,rgba(13,16,23,.98),rgba(7,9,14,.99))!important;
}
.league-pulse-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.league-pulse-mark{
  width:36px;height:36px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:12px;
  border:1px solid rgba(246,202,55,.18);
  background:rgba(246,202,55,.055);
  color:var(--league-gold);
  font-size:17px;
}
#seasonView .league-pulse-card h2{
  font-size:17px!important;
  line-height:1.15;
}
#seasonView .league-pulse-card>p{
  margin-top:7px!important;
  font-size:9px!important;
}
#seasonView .season-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:14px;
}
#seasonView .season-metric{
  min-height:72px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
#seasonView .season-metric b{
  color:#f3f5f8;
  font:800 22px 'Space Grotesk',sans-serif;
  line-height:1;
}
#seasonView .season-metric span{
  margin-top:4px;
  color:#727c8f;
  font:800 6.5px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#seasonView .season-metric:nth-child(3),
#seasonView .season-metric:nth-child(4){
  border-color:rgba(246,202,55,.10);
}
#seasonView .season-metric:nth-child(3) b,
#seasonView .season-metric:nth-child(4) b{
  color:var(--league-gold);
}
#seasonView .league-pulse-card>.trade-explain{
  margin-top:10px!important;
  padding:10px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
  background:rgba(255,255,255,.016);
  color:#7d8798!important;
  font-size:8.5px!important;
}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  #seasonView .season-grid{
    grid-template-columns:1fr!important;
  }
  #seasonView .league-pulse-card{
    position:static;
    order:-1;
  }
  #seasonView .season-summary{
    grid-template-columns:repeat(4,1fr);
  }
  #seasonView .season-metric{
    min-height:64px;
  }
}

@media(max-width:700px){
  /* Re-enable League Pulse on mobile as a compact score strip. */
  #seasonView .season-side-card{
    display:block!important;
  }
  #seasonView .season-card{
    background:
      linear-gradient(180deg,rgba(12,15,21,.97),rgba(7,9,14,.99))!important;
    border:1px solid rgba(255,255,255,.06)!important;
    padding:13px!important;
  }
  #seasonView .season-main-card{
    padding:13px!important;
    border-radius:20px!important;
  }
  #seasonView .league-pulse-card{
    padding:13px!important;
    border-radius:18px!important;
  }
  #seasonView .league-pulse-card>.trade-explain{
    display:none;
  }
  #seasonView .season-summary{
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    margin-top:10px;
  }
  #seasonView .season-metric{
    min-width:0;
    min-height:54px;
    padding:7px 6px;
  }
  #seasonView .season-metric b{
    font-size:18px;
  }
  #seasonView .season-metric span{
    font-size:5.5px;
  }

  .league-center-head{
    padding-bottom:12px;
  }
  .league-live-pill{
    padding:5px 7px;
    font-size:5.8px;
  }
  .league-center-head h2{
    font-size:21px!important;
  }

  #seasonView .season-toolbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:7px!important;
  }
  #seasonView .season-status{
    grid-column:1/-1;
    text-align:left;
    white-space:normal;
    line-height:1.35;
  }

  #seasonView .league-tool-tabs{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    padding:5px!important;
    margin-bottom:14px!important;
  }
  #seasonView .league-tool-tabs .season-tab{
    min-height:52px!important;
    grid-template-columns:26px minmax(0,1fr);
    padding:7px 8px!important;
  }
  #seasonView .league-tab-icon{
    width:26px;height:26px;
    border-radius:8px;
    font-size:12px;
  }
  #seasonView .league-tool-tabs .season-tab b{
    font-size:9px;
  }
  #seasonView .league-tool-tabs .season-tab small{
    font-size:5.8px;
  }

  #seasonView .league-pane-head{
    gap:9px;
    margin-bottom:11px;
    padding-bottom:10px;
  }
  #seasonView .league-pane-head h3{
    font-size:16px;
  }
  #seasonView .league-pane-head p{
    font-size:8.8px!important;
  }
  .league-pane-chip{
    font-size:5.5px;
    padding:5px 6px;
  }

  #seasonTradePane .trade-teams{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #seasonTradePane .trade-arrow{
    transform:rotate(90deg)!important;
    margin:-1px auto!important;
  }
  #seasonTradePane .trade-side{
    padding:9px!important;
    border-radius:15px!important;
  }
  #seasonTradePane .trade-roster{
    max-height:285px!important;
  }
  #seasonTradePane .trade-result{
    border-radius:15px!important;
    padding:11px!important;
  }

  #rankModeToggle button{
    min-height:42px!important;
    font-size:9px!important;
  }

  #seasonTransactionsPane #transactionFilter{
    margin-bottom:10px!important;
  }
}

@media(max-width:390px){
  .league-live-pill{
    display:none;
  }
  #seasonView .season-summary{
    grid-template-columns:1fr 1fr;
  }
  #seasonView .league-pane-head{
    flex-direction:column;
  }
  .league-pane-chip,
  .league-sync-btn{
    align-self:flex-start;
  }
}


/* ==========================================================================
   TRANSACTION FEED CLEANUP · v57
   One ESPN activity = one card. Duplicate stored actions are hidden.
   ========================================================================== */

#seasonTransactionsPane .transaction-group-card{
  align-items:flex-start!important;
  gap:12px!important;
  padding:11px 12px!important;
}
.transaction-group-main{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.transaction-group-icon{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#aeb8c8;
  font-size:15px;
}
.transaction-group-card.waiver .transaction-group-icon{
  border-color:rgba(246,202,55,.16);
  background:rgba(246,202,55,.045);
  color:var(--harvest-gold);
}
.transaction-group-card.trade .transaction-group-icon{
  border-color:rgba(111,162,255,.16);
  background:rgba(111,162,255,.045);
  color:#9cbeff;
}
.transaction-group-copy{
  min-width:0;
}
.transaction-group-copy>b{
  display:block;
  color:#edf1f7;
  font-size:12px;
}
.transaction-moves{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:6px 0 5px;
}
.transaction-moves>span{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:9px;
  background:rgba(255,255,255,.018);
}
.transaction-moves>span>small{
  color:#798396;
  font:800 6px 'JetBrains Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.transaction-moves>span>b{
  color:#cfd6e1;
  font-size:9px;
}
.transaction-group-tail{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.transaction-faab{
  padding:5px 7px;
  border:1px solid rgba(246,202,55,.15);
  border-radius:999px;
  background:rgba(246,202,55,.04);
  color:var(--harvest-gold);
  font:900 6.5px 'JetBrains Mono',monospace;
  white-space:nowrap;
}

@media(max-width:700px){
  #seasonTransactionsPane .transaction-group-card{
    padding:10px!important;
  }
  .transaction-group-tail{
    flex-direction:column;
    align-items:flex-end;
  }
  .transaction-moves{
    gap:4px;
  }
  .transaction-moves>span{
    max-width:100%;
    padding:4px 6px;
  }
  .transaction-moves>span>b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}


/* ==========================================================================
   COCO POWER v3 BETA · v58
   Replacement-adjusted roster strength.
   ========================================================================== */

#seasonRankingsPane .power-v3-beta{
  border-color:rgba(88,221,162,.22)!important;
  background:rgba(88,221,162,.055)!important;
  color:#76e4b1!important;
}
#seasonRankingsPane .rank-score-panel>span{
  letter-spacing:.085em;
}
#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(1){
  border-color:rgba(246,202,55,.15)!important;
  background:rgba(246,202,55,.028)!important;
}
#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(3){
  border-color:rgba(88,221,162,.12)!important;
  background:rgba(88,221,162,.02)!important;
}
#seasonRankingsPane .rank-formula{
  border-left:3px solid rgba(88,221,162,.42)!important;
  background:
    linear-gradient(90deg,rgba(88,221,162,.035),rgba(255,255,255,.012))!important;
}
#seasonRankingsPane .rank-minirow{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#seasonRankingsPane .rank-mini{
  min-width:0;
}
#seasonRankingsPane .rank-mini b{
  color:#eef2f7;
}

@media(max-width:700px){
  #seasonRankingsPane .rank-score-panel>span{
    font-size:6px!important;
  }
  #seasonRankingsPane .rank-minirow{
    grid-template-columns:1fr 1fr!important;
  }
}


/* ==========================================================================
   COCO POWER v3.1 BETA · v59
   Projection confidence + no standalone depth weight.
   ========================================================================== */

#seasonRankingsPane .rank-minirow{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(4){
  border-color:rgba(121,217,255,.14)!important;
  background:rgba(121,217,255,.025)!important;
}
#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(5){
  border-color:rgba(255,255,255,.07)!important;
}
#seasonRankingsPane .rank-player-val small{
  white-space:nowrap;
}

@media(max-width:700px){
  #seasonRankingsPane .rank-minirow{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #seasonRankingsPane .rank-mini{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}


/* ==========================================================================
   COCO POWER v3.2 BETA · v60
   Early-season market anchor + projected scoring blend.
   ========================================================================== */

#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(2){
  border-color:rgba(121,217,255,.15)!important;
  background:rgba(121,217,255,.024)!important;
}
#seasonRankingsPane .rank-summary-grid .rank-component:nth-child(3){
  border-color:rgba(246,202,55,.14)!important;
  background:rgba(246,202,55,.022)!important;
}
#seasonRankingsPane .power-v3-beta{
  border-color:rgba(121,217,255,.20)!important;
  background:linear-gradient(90deg,rgba(121,217,255,.055),rgba(88,221,162,.035))!important;
  color:#9edfff!important;
}


/* =========================================================
   COCO POWER v4.1 · TRUE COMPACT RANKING CARDS · v62
   ========================================================= */
#seasonRankList{
  display:grid!important;
  gap:8px!important;
}
#seasonRankList .rank-card{
  border-radius:16px!important;
  cursor:pointer;
}
#seasonRankList .rank-card:not(.expanded){
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 92px!important;
  grid-template-areas:
    "head score"
    "profile profile"!important;
  align-items:center!important;
  gap:6px 10px!important;
  min-height:0!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-head{
  grid-area:head!important;
  display:grid!important;
  grid-template-columns:42px 58px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-rail{
  min-width:0!important;
  width:42px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-rail-label{
  font-size:7px!important;
  letter-spacing:.14em!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-rail-value{
  font-size:26px!important;
  line-height:1!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini-wheel{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  transform:none!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-seg span{
  font-size:6px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-seg b{
  font-size:8px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-center{
  width:22px!important;
  height:22px!important;
  font-size:8px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-title-row{
  gap:7px!important;
  line-height:1.1!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-title-row>b{
  font-size:16px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-grade{
  padding:3px 7px!important;
  font-size:10px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-sub{
  margin-top:3px!important;
  gap:8px!important;
  font-size:9px!important;
  line-height:1.25!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-sub:nth-of-type(2){
  opacity:.78!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-score-panel{
  grid-area:score!important;
  min-width:0!important;
  width:92px!important;
  padding:7px 8px!important;
  margin:0!important;
  border-radius:12px!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-score-panel>span{
  display:none!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-score-line{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:4px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-score-line b{
  font-size:25px!important;
  line-height:1!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-score-line small{
  font-size:6px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-profile{
  grid-area:profile!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-minirow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  margin:0!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini{
  padding:5px 6px!important;
  min-height:0!important;
  border-radius:9px!important;
  font-size:9px!important;
  line-height:1.1!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini b{
  font-size:11px!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-expand-btn{
  width:auto!important;
  min-width:74px!important;
  margin:0!important;
  padding:5px 8px!important;
  border-radius:9px!important;
  font-size:9px!important;
  white-space:nowrap!important;
}
#seasonRankList .rank-card.expanded{
  padding:15px!important;
}
#seasonRankList .rank-card.expanded .rank-minirow{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

@media(max-width:720px){
  #seasonRankList{gap:7px!important;}
  #seasonRankList .rank-card:not(.expanded){
    padding:8px 9px!important;
    grid-template-columns:minmax(0,1fr) 72px!important;
    gap:5px 7px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-head{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:7px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel{
    display:none!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-rail{
    width:34px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-rail-value{
    font-size:23px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-title-row>b{
    font-size:14px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-sub{
    font-size:8px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-sub:nth-of-type(2){
    display:none!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-panel{
    width:72px!important;
    padding:5px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-line b{
    font-size:21px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-profile{
    grid-template-columns:1fr auto!important;
    gap:5px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-minirow{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini{
    padding:4px 3px!important;
    font-size:7px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini b{
    font-size:9px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-expand-btn{
    font-size:0!important;
    min-width:28px!important;
    width:28px!important;
    height:26px!important;
    padding:0!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-expand-btn:after{
    content:'⌄';
    font-size:15px!important;
  }
}


/* COCO Power v4.3 audit clarity */
.rank-audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.rank-audit-card{border:1px solid var(--glass-border);border-radius:16px;background:rgba(255,255,255,.025);padding:14px;min-width:0}
.rank-audit-card h4{margin:3px 0 10px;font-size:14px;color:var(--text)}
.rank-audit-row{display:grid;grid-template-columns:minmax(150px,1.6fr) repeat(3,minmax(68px,.55fr));gap:10px;align-items:center;padding:8px 2px;border-top:1px solid rgba(255,255,255,.055);font-family:var(--mono,monospace);font-size:11px;color:var(--dim)}
.rank-audit-row:first-of-type{border-top:0}
.rank-audit-row>span:first-child{display:flex;flex-direction:column;min-width:0;font-family:inherit}
.rank-audit-row b{color:var(--text);font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-audit-row small{font-size:9px;opacity:.75;margin-top:2px}
.rank-audit-row strong{color:#9fe3ff;text-align:right;font-size:11px}
@media(max-width:760px){
  .rank-audit-grid{grid-template-columns:1fr}
  .rank-audit-row{grid-template-columns:minmax(120px,1.5fr) repeat(3,minmax(54px,.55fr));gap:6px;font-size:10px}
  .rank-audit-row small{font-size:8px}
}

/* Power v4.3.2 calibration audit */
.rank-calibration-card{margin-top:14px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.018)}
.rank-calibration-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.rank-calibration-head h4{margin:4px 0 0;font-size:17px}.rank-calibration-head>small{color:var(--dim);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.calibration-note{padding:11px 13px;margin:10px 0 12px;border-radius:12px;background:rgba(245,201,52,.055);border:1px solid rgba(245,201,52,.15);color:var(--dim);font-size:12px;line-height:1.55}.calibration-note b{color:var(--text)}
.calibration-audit-table{overflow-x:auto}.calibration-audit-row{min-width:930px;display:grid;grid-template-columns:minmax(185px,1.55fr) repeat(6,minmax(88px,.72fr)) minmax(88px,.72fr);align-items:center;gap:10px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.06);font-family:var(--mono)}.calibration-audit-row:first-child{border-top:0}.calibration-audit-row>span:not(.cal-player),.calibration-audit-row>strong{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right}.calibration-audit-row small{color:var(--dim);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.calibration-audit-row b,.calibration-audit-row strong{font-size:11px;color:var(--text)}.calibration-audit-row strong{color:#9de5ff}.cal-player{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-player b{font-family:var(--sans);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-player small{text-align:left}
.calibration-audit-row.elite-calibration{grid-template-columns:minmax(190px,1.6fr) repeat(5,minmax(92px,.75fr)) minmax(92px,.75fr)}
@media(max-width:720px){.rank-calibration-card{padding:12px}.rank-calibration-head{align-items:flex-start;flex-direction:column;gap:4px}.calibration-audit-row{min-width:850px}}


/* Power v4.3.4 · ESPN projection source verifier */
.espn-source-debug{margin-top:16px;border-color:rgba(245,201,52,.24)}
.espn-debug-controls{display:flex;gap:10px;align-items:center;margin:14px 0}
.espn-debug-controls select{flex:1;min-width:0;background:#0b0e14;color:var(--text);border:1px solid var(--glass-border);border-radius:10px;padding:11px 12px}
.espn-debug-result{border-top:1px solid var(--glass-border);padding-top:14px}
.espn-debug-verdict{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid var(--glass-border);border-radius:12px;background:rgba(255,255,255,.025);margin-bottom:12px}
.espn-debug-verdict.yes{border-color:rgba(61,220,151,.30);background:rgba(61,220,151,.055)}
.espn-debug-verdict b{font-size:12px;letter-spacing:.08em;color:var(--harvest-gold)}
.espn-debug-verdict span{color:var(--dim);line-height:1.45}
.espn-debug-summary{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:8px;margin-bottom:14px}
.espn-debug-summary>div,.espn-debug-chip{padding:10px;border:1px solid var(--glass-border);border-radius:10px;background:rgba(255,255,255,.02)}
.espn-debug-summary small,.espn-debug-chip small{display:block;color:var(--dim);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.espn-debug-summary b,.espn-debug-chip b{display:block;margin-top:3px}
.espn-debug-subhead{margin:14px 0 8px;color:var(--dim);font-size:10px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.espn-debug-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.espn-debug-chip span{display:block;font-weight:700}.espn-debug-chip b{color:var(--harvest-gold)}
.espn-debug-rows{display:flex;flex-direction:column;border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}
.espn-debug-row{display:grid;grid-template-columns:.8fr 1fr 1fr 2fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--glass-border);font-size:11px;color:var(--dim)}
.espn-debug-row:last-child{border-bottom:0}.espn-debug-row b{color:var(--text)}
@media(max-width:700px){.espn-debug-controls{align-items:stretch;flex-direction:column}.espn-debug-summary{grid-template-columns:1fr 1fr}.espn-debug-chips{grid-template-columns:1fr}.espn-debug-row{grid-template-columns:1fr 1fr}.espn-debug-row span:last-child{grid-column:1/-1}}


/* COCO VALUE one-click calibration · v4.3.6 */
.coco-value-audit-run{margin-left:auto;white-space:nowrap}
.coco-value-calibration-panel{margin:14px 0 18px;padding:18px;border:1px solid rgba(245,201,52,.28);border-radius:20px;background:linear-gradient(180deg,rgba(245,201,52,.045),rgba(8,11,18,.94))}
.coco-value-calibration-panel[hidden]{display:none!important}
.coco-value-calibration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.coco-value-calibration-head h3{margin:4px 0 4px;font-size:22px}.coco-value-calibration-head p{margin:0;color:var(--dim)}
.coco-value-calibration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.coco-value-calibration-summary>div{padding:12px 14px;border:1px solid var(--glass-border);border-radius:14px;background:rgba(255,255,255,.025)}.coco-value-calibration-summary small{display:block;color:var(--dim);font:700 10px/1.3 'JetBrains Mono',monospace;letter-spacing:.09em}.coco-value-calibration-summary b{display:block;margin-top:5px;font-size:18px}.coco-value-calibration-summary span{display:block;margin-top:3px;color:var(--dim);font-size:12px}
.coco-value-calibration-table-wrap{overflow:auto;border:1px solid var(--glass-border);border-radius:14px}.coco-value-calibration-table{width:100%;border-collapse:collapse;min-width:1040px}.coco-value-calibration-table th{padding:10px 9px;text-align:right;color:var(--dim);font:700 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.07em;background:rgba(255,255,255,.03);position:sticky;top:0}.coco-value-calibration-table th:first-child,.coco-value-calibration-table td:first-child{text-align:left}.coco-value-calibration-table td{padding:11px 9px;text-align:right;border-top:1px solid rgba(255,255,255,.06);font-family:'JetBrains Mono',monospace;font-size:12px}.coco-value-calibration-table td:first-child{font-family:inherit;min-width:170px}.coco-value-calibration-table td:first-child small,.coco-value-calibration-table td:nth-child(10) small,.coco-value-calibration-table td:last-child small{display:block;color:var(--dim);font-size:9px;margin-top:3px}.coco-value-calibration-table strong{color:var(--harvest-gold);font-size:14px}.calibration-disagree b{color:#ffb454}.calibration-aligned b{color:var(--green)}
@media(max-width:760px){.rank-controls{align-items:stretch;flex-direction:column}.coco-value-audit-run{margin-left:0;width:100%}.coco-value-calibration-summary{grid-template-columns:1fr}.coco-value-calibration-panel{padding:13px}.coco-value-calibration-head{align-items:flex-start}.coco-value-calibration-head h3{font-size:19px}}


/* Final league-wide COCO VALUE calibration · v4.3.7 */
.coco-value-calibration-summary.final{grid-template-columns:repeat(4,minmax(0,1fr))}
.coco-value-calibration-verdict{margin:0 0 12px;padding:13px 15px;border:1px solid var(--glass-border);border-radius:14px;background:rgba(255,255,255,.025)}
.coco-value-calibration-verdict b{display:block;font-size:14px;letter-spacing:.05em}.coco-value-calibration-verdict span{display:block;margin-top:4px;color:var(--dim);font-size:12px;line-height:1.5}.coco-value-calibration-verdict small{display:block;margin-top:6px;color:var(--dim);font:700 9px/1.4 'JetBrains Mono',monospace}
.coco-value-calibration-verdict.pass{border-color:rgba(61,220,151,.32);background:rgba(61,220,151,.055)}.coco-value-calibration-verdict.pass b{color:var(--green)}
.coco-value-calibration-verdict.review{border-color:rgba(255,180,84,.34);background:rgba(255,180,84,.055)}.coco-value-calibration-verdict.review b{color:var(--amber)}
.coco-value-calibration-positions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.coco-value-calibration-positions>div{padding:11px 12px;border:1px solid var(--glass-border);border-radius:13px;background:rgba(255,255,255,.02)}.coco-value-calibration-positions small{display:block;color:var(--dim);font:700 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.08em}.coco-value-calibration-positions b{display:block;margin-top:4px;font-size:18px}.coco-value-calibration-positions span{display:block;margin-top:2px;color:var(--dim);font-size:10px;line-height:1.4}
.calibration-table-label{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:4px 2px 8px}.calibration-table-label b{font-size:13px}.calibration-table-label span{color:var(--dim);font-size:10px}
.coco-value-calibration-table.final{min-width:820px}.coco-value-calibration-table.final td:first-child{min-width:210px}.coco-value-calibration-table.final td:nth-child(2) small,.coco-value-calibration-table.final td:nth-child(3) small,.coco-value-calibration-table.final td:nth-child(4) small,.coco-value-calibration-table.final td:nth-child(6) small{display:block;color:var(--dim);font-size:9px;margin-top:3px}
@media(max-width:760px){.coco-value-calibration-summary.final,.coco-value-calibration-positions{grid-template-columns:1fr 1fr}.calibration-table-label{align-items:flex-start;flex-direction:column}}

/* =========================================================
   COCO POWER · FROZEN MODEL UI CLEANUP · v70
   Scoring math unchanged. Diagnostics are intentionally tucked away.
   ========================================================= */
.model-diagnostics,
.team-model-diagnostics{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(255,255,255,.018);
  overflow:hidden;
}
.model-diagnostics>summary,
.team-model-diagnostics>summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  color:var(--dim);
  user-select:none;
}
.model-diagnostics>summary::-webkit-details-marker,
.team-model-diagnostics>summary::-webkit-details-marker{display:none}
.model-diagnostics>summary:after,
.team-model-diagnostics>summary:after{content:'⌄';font-size:15px;transition:transform .18s ease}
.model-diagnostics[open]>summary:after,
.team-model-diagnostics[open]>summary:after{transform:rotate(180deg)}
.model-diagnostics>summary span,
.team-model-diagnostics>summary span{
  font:700 8px/1.2 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--harvest-gold);
}
.model-diagnostics>summary b,
.team-model-diagnostics>summary b{font-size:11px;color:var(--text)}
.model-diagnostics>summary small,
.team-model-diagnostics>summary small{font-size:10px;color:var(--dim);min-width:0}
.model-diagnostics-body,
.team-model-diagnostics-body{padding:0 12px 12px;border-top:1px solid rgba(255,255,255,.055)}
.model-diagnostics-body>.coco-value-audit-run{margin:12px 0 0}

#seasonRankingsPane .league-pane-head{margin-bottom:12px}
#seasonRankingsPane .league-pane-head h3{margin-bottom:4px}
#seasonRankingsPane .league-pane-head p{max-width:780px;line-height:1.45}
#seasonRankingsPane .power-v2-method{margin:9px 0 0}

#seasonRankList .rank-card:not(.expanded){
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
#seasonRankList .rank-card:not(.expanded):hover{transform:translateY(-1px)}
#seasonRankList .rank-card:not(.expanded) .rank-sub:first-of-type span:last-child{color:var(--dim)}
#seasonRankList .rank-card:not(.expanded) .rank-score-line small{letter-spacing:.08em}
#seasonRankList .rank-card:not(.expanded) .rank-mini{background:rgba(255,255,255,.025)}

.rank-detail-clean{padding-top:4px}
.rank-explain-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,1.8fr) auto;
  gap:16px;
  align-items:center;
  padding:15px 16px;
  margin:4px 0 12px;
  border:1px solid rgba(245,201,52,.18);
  border-radius:16px;
  background:linear-gradient(120deg,rgba(245,201,52,.055),rgba(45,212,232,.025));
}
.rank-explain-card h4{margin:3px 0 0;font-size:17px}
.rank-explain-card p{margin:0;color:var(--dim);font-size:12px;line-height:1.55}
.rank-distance{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}
.rank-distance>b{font-size:27px;line-height:1;color:var(--text)}
.rank-distance>span{margin-top:3px;font:700 8px/1.2 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.rank-distance>small{margin-top:4px;color:var(--harvest-gold);font-size:10px}

.rank-signal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
.rank-signal-grid .rank-component{padding:11px 12px;min-height:0;border-radius:13px}
.rank-signal-grid .rank-component>span{font-size:9px}
.rank-signal-grid .rank-component>b{font-size:16px;margin-top:3px}
.rank-signal-grid .rank-component>small{font-size:9px;line-height:1.35;margin-top:3px}

.rank-audit-public{margin:10px 0 12px}
.rank-audit-public .rank-audit-card{padding:12px}
.rank-audit-public .rank-audit-card h4{margin-bottom:7px}
.rank-audit-public .rank-audit-row{padding:6px 2px}
.rank-insights-clean{margin-top:12px}
.team-model-diagnostics{margin-top:12px}
.team-model-diagnostics-body .diagnostics-summary-grid{margin-top:12px}
.team-model-diagnostics-body .rank-calibration-card{background:rgba(0,0,0,.11)}

/* Diagnostics should never dominate the consumer ranking view. */
#seasonRankingsPane .coco-value-calibration-panel{margin-bottom:0}
#seasonRankingsPane .model-diagnostics:not([open]){opacity:.86}

@media(max-width:760px){
  .model-diagnostics>summary,
  .team-model-diagnostics>summary{grid-template-columns:auto minmax(0,1fr) auto;padding:9px 10px}
  .model-diagnostics>summary small,
  .team-model-diagnostics>summary small{display:none}
  .model-diagnostics-body,.team-model-diagnostics-body{padding:0 9px 9px}
  .rank-explain-card{grid-template-columns:1fr auto;gap:9px;padding:12px}
  .rank-explain-card>div:first-child{grid-column:1/-1}
  .rank-explain-card p{font-size:11px}
  .rank-distance>b{font-size:23px}
  .rank-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .rank-signal-grid .rank-component{padding:9px}
  .rank-signal-grid .rank-component>b{font-size:14px}
  .rank-audit-public{grid-template-columns:1fr}
}

/* =========================================================
   COCO POWER · MOBILE VISUAL CLEANUP · v71
   Layout polish only. Frozen Power math is unchanged.
   ========================================================= */

/* Keep diagnostics available without letting them visually lead the page. */
#seasonRankingsPane .model-diagnostics:not([open]){
  width:max-content;
  max-width:100%;
  margin:6px 0 10px auto;
  border-color:rgba(255,255,255,.055);
  background:transparent;
}
#seasonRankingsPane .model-diagnostics:not([open])>summary{
  padding:7px 10px;
  grid-template-columns:auto auto auto;
  gap:7px;
}
#seasonRankingsPane .model-diagnostics:not([open])>summary small{display:none}
#seasonRankingsPane .model-diagnostics:not([open])>summary b{font-size:10px;font-weight:650}
#seasonRankingsPane .model-diagnostics:not([open])>summary span{font-size:7px}

/* Slightly calmer desktop cards too, so desktop/mobile stay visually matched. */
#seasonRankList .rank-card:not(.expanded){
  border-color:rgba(255,255,255,.075)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
}
#seasonRankList .rank-card:not(.expanded).mine{
  border-color:rgba(245,201,52,.34)!important;
  background:linear-gradient(180deg,rgba(245,201,52,.035),rgba(255,255,255,.012))!important;
}
#seasonRankList .rank-card:not(.expanded) .rank-mini{
  border-color:rgba(255,255,255,.055)!important;
  background:rgba(255,255,255,.018)!important;
}

@media(max-width:760px){
  /* Trim app chrome so the ranking content gets more of the screen. */
  .mobile-app-topbar{
    height:calc(env(safe-area-inset-top) + 60px)!important;
    padding:calc(env(safe-area-inset-top) + 7px) 12px 6px!important;
    grid-template-columns:42px 1fr 42px!important;
    gap:8px!important;
  }
  .mobile-round-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .harvest-mobile-crest{
    max-width:132px!important;
    height:34px!important;
  }
  .harvest-mobile-crest img{max-height:34px!important}
  .content{
    padding-top:calc(env(safe-area-inset-top) + 68px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
    padding-bottom:calc(env(safe-area-inset-bottom) + 80px)!important;
  }

  #mobileBottomNav.mobile-bottom-nav{
    width:calc(100vw - 20px)!important;
    padding:3px!important;
    border-radius:24px!important;
  }
  #mobileBottomNav.mobile-bottom-nav button{
    min-height:50px!important;
    border-radius:18px!important;
    padding:5px 0 4px!important;
  }
  #mobileBottomNav.mobile-bottom-nav button>span{font-size:16px!important}
  #mobileBottomNav.mobile-bottom-nav button>small{font-size:6.8px!important}

  #seasonRankList{gap:7px!important}
  #seasonRankList .rank-card:not(.expanded){
    position:relative;
    padding:9px 9px 8px!important;
    border-radius:15px!important;
    grid-template-columns:minmax(0,1fr) 66px!important;
    grid-template-areas:
      "head score"
      "profile profile"!important;
    gap:7px 8px!important;
  }

  #seasonRankList .rank-card:not(.expanded) .rank-head{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:8px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-rail{
    width:38px!important;
    padding-right:7px;
    border-right:1px solid rgba(255,255,255,.055);
  }
  #seasonRankList .rank-card:not(.expanded) .rank-rail-label{
    font-size:6.5px!important;
    color:var(--harvest-gold)!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-rail-value{
    font-size:24px!important;
    letter-spacing:-.045em;
  }

  #seasonRankList .rank-card:not(.expanded) .rank-main{min-width:0}
  #seasonRankList .rank-card:not(.expanded) .rank-title-row{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:0!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-title-row>b{
    font-size:14.5px!important;
    line-height:1.08!important;
    flex:0 1 auto!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-grade{
    flex:0 0 auto!important;
    padding:2px 6px!important;
    font-size:8px!important;
    border-radius:999px!important;
  }

  /* Show the useful context line, not the redundant record line. */
  #seasonRankList .rank-card:not(.expanded) .rank-main .rank-sub:nth-child(2){display:none!important}
  #seasonRankList .rank-card:not(.expanded) .rank-main .rank-sub:nth-child(3){
    display:flex!important;
    margin-top:5px!important;
    gap:7px!important;
    font-size:7.7px!important;
    color:var(--dim)!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-main .rank-sub:nth-child(3) span{
    min-width:0;
  }

  #seasonRankList .rank-card:not(.expanded) .rank-score-panel{
    width:66px!important;
    min-height:54px!important;
    padding:5px 4px!important;
    border-radius:12px!important;
    border-color:rgba(79,140,255,.20)!important;
    background:linear-gradient(180deg,rgba(24,54,107,.22),rgba(10,23,48,.18))!important;
    box-shadow:none!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-line{
    flex-direction:column!important;
    align-items:center!important;
    gap:1px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-line b{
    font-size:21px!important;
    letter-spacing:-.05em!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-line small{
    font-size:5.5px!important;
    letter-spacing:.13em!important;
    color:#7ea7ff!important;
  }

  #seasonRankList .rank-card:not(.expanded) .rank-profile{
    grid-template-columns:minmax(0,1fr) 30px!important;
    gap:6px!important;
    padding-top:1px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-minirow{
    gap:4px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini{
    min-width:0!important;
    padding:4px 2px 3px!important;
    border-radius:8px!important;
    text-align:center!important;
    font-size:6.6px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini b{
    display:block!important;
    margin-top:2px!important;
    font-size:8.5px!important;
    white-space:nowrap!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-expand-btn{
    min-width:30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    border-color:rgba(245,201,52,.24)!important;
    background:rgba(245,201,52,.045)!important;
  }

  /* Expanded analysis: maintain the same visual language without crowding. */
  #seasonRankList .rank-card.expanded{
    padding:11px!important;
    border-radius:16px!important;
  }
  .rank-explain-card{margin-top:2px!important}
  .rank-signal-grid .rank-component{border-radius:11px!important}

  #seasonRankingsPane .model-diagnostics:not([open]){
    margin-top:4px;
    margin-bottom:8px;
  }
}

/* =========================================================
   COCO POWER · MOBILE WHEEL + EXPAND CONTROL FIX · v72
   Layout only. Frozen Power math unchanged.
   ========================================================= */
@media(max-width:760px){
  /* Restore the position wheel and make it part of the compact identity row. */
  #seasonRankList .rank-card:not(.expanded) .rank-head{
    grid-template-columns:34px 42px minmax(0,1fr)!important;
    gap:6px!important;
    align-items:center!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel{
    display:grid!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0!important;
    transform:none!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-seg span{
    font-size:4.8px!important;
    line-height:1!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-seg b{
    font-size:6.6px!important;
    line-height:1!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-center{
    width:17px!important;
    height:17px!important;
    font-size:6.4px!important;
  }

  /* Give the score enough presence without pushing the card beyond the viewport. */
  #seasonRankList .rank-card:not(.expanded){
    grid-template-columns:minmax(0,1fr) 60px!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-panel{
    width:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    min-height:50px!important;
    height:auto!important;
    align-self:center!important;
    padding:5px 3px!important;
    border-radius:11px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-score-line b{
    font-size:19px!important;
  }

  /* Lock the expand affordance to a true compact square. */
  #seasonRankList .rank-card:not(.expanded) .rank-profile{
    grid-template-columns:minmax(0,1fr) 32px!important;
    align-items:center!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-expand-btn,
  #seasonRankingsPane #seasonRankList .rank-card:not(.expanded) .rank-expand-btn{
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:end!important;
    min-width:32px!important;
    max-width:32px!important;
    width:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    height:32px!important;
    padding:0!important;
    margin:0!important;
    border-radius:10px!important;
    line-height:1!important;
    font-size:0!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-expand-btn:after{
    content:'⌄'!important;
    display:block!important;
    font-size:16px!important;
    line-height:1!important;
    transform:translateY(-1px);
  }

  /* Keep long team names from colliding with the score panel. */
  #seasonRankList .rank-card:not(.expanded) .rank-title-row>b{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}

/* =========================================================
   COCO POWER · VIBRANT POSITION WHEEL · v73
   Visual only. Frozen Power math unchanged.
   ========================================================= */
#seasonRankingsPane .rank-mini-wheel{
  background:rgba(255,197,51,.42)!important;
  border-color:rgba(255,207,74,.58)!important;
  box-shadow:
    0 0 0 1px rgba(255,202,47,.12),
    0 0 14px rgba(255,190,36,.10),
    0 10px 24px rgba(0,0,0,.30)!important;
}
#seasonRankingsPane .rank-mini-wheel:after{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 0 12px rgba(255,255,255,.035)!important;
}
#seasonRankingsPane .rank-mini-wheel-seg{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.58);
}
#seasonRankingsPane .rank-mini-wheel-seg.qb{
  background:radial-gradient(circle at 28% 18%,#2688ff 0%,#0868ff 38%,#073ca9 72%,#071d52 100%)!important;
  box-shadow:inset 0 0 12px rgba(45,153,255,.42)!important;
}
#seasonRankingsPane .rank-mini-wheel-seg.rb{
  background:radial-gradient(circle at 72% 18%,#22e66d 0%,#00ba50 40%,#087536 74%,#07391f 100%)!important;
  box-shadow:inset 0 0 12px rgba(38,232,111,.36)!important;
}
#seasonRankingsPane .rank-mini-wheel-seg.wr{
  background:radial-gradient(circle at 28% 82%,#d14cff 0%,#9d16ea 40%,#6410a4 74%,#320851 100%)!important;
  box-shadow:inset 0 0 12px rgba(209,76,255,.38)!important;
}
#seasonRankingsPane .rank-mini-wheel-seg.te{
  background:radial-gradient(circle at 72% 82%,#ffd04a 0%,#f5a800 38%,#ad6900 72%,#563200 100%)!important;
  box-shadow:inset 0 0 12px rgba(255,190,41,.42)!important;
}
#seasonRankingsPane .rank-mini-wheel-center{
  background:radial-gradient(circle at 45% 35%,#171d28 0%,#0a0e16 72%,#05070b 100%)!important;
  border-color:rgba(255,201,48,.82)!important;
  color:#ffd13f!important;
  box-shadow:
    0 0 0 2px rgba(4,7,12,.88),
    0 0 10px rgba(255,194,36,.20),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
}

/* ==========================================================
   v74 MOBILE LEAGUE PRIORITY — POWER FIRST
   Frozen model; layout only.
   ========================================================== */
@media(max-width:700px){
  /* Pull real league content closer to the header. */
  #seasonView .workspace-heading{
    margin-bottom:12px!important;
    padding-bottom:0!important;
  }
  #seasonView .workspace-heading h1{
    margin:2px 0 4px!important;
    font-size:30px!important;
    line-height:1.02!important;
  }
  #seasonView .workspace-heading p{
    margin:0!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  #seasonView .season-grid{
    gap:10px!important;
  }

  /* League Pulse becomes a true glanceable strip instead of a feature card. */
  #seasonView .league-pulse-card{
    padding:10px 11px!important;
    border-radius:16px!important;
    min-height:0!important;
  }
  #seasonView .league-pulse-top{
    align-items:center!important;
    gap:8px!important;
  }
  #seasonView .league-pulse-top .eyebrow{
    display:none!important;
  }
  #seasonView .league-pulse-card h2{
    font-size:14px!important;
    margin:0!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #seasonView .league-pulse-mark{
    width:27px!important;
    height:27px!important;
    border-radius:9px!important;
    font-size:13px!important;
  }
  #seasonView .league-pulse-card>p{
    margin:3px 0 0!important;
    font-size:7px!important;
    line-height:1.2!important;
  }
  #seasonView .season-summary{
    margin-top:8px!important;
    gap:4px!important;
  }
  #seasonView .season-metric{
    min-height:40px!important;
    padding:5px 6px!important;
    border-radius:10px!important;
    justify-content:center!important;
  }
  #seasonView .season-metric b{
    font-size:15px!important;
  }
  #seasonView .season-metric span{
    margin-top:3px!important;
    font-size:5px!important;
  }

  /* Analyzer becomes controls, not a second hero section. */
  #seasonView .season-main-card{
    padding:10px!important;
    border-radius:18px!important;
  }
  #seasonView .league-center-head{
    padding:0 0 8px!important;
    margin:0!important;
    align-items:center!important;
  }
  #seasonView .league-center-head .eyebrow,
  #seasonView .league-center-head p{
    display:none!important;
  }
  #seasonView .league-center-head h2{
    font-size:15px!important;
    margin:0!important;
  }
  #seasonView .league-live-pill{
    font-size:6px!important;
    min-height:24px!important;
    padding:0 8px!important;
  }

  #seasonView .season-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    padding:0!important;
    margin:0 0 8px!important;
  }
  #seasonView .season-toolbar select{
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:12px!important;
    border-radius:11px!important;
  }
  #seasonView #seasonRefreshBtn{
    height:36px!important;
    min-height:36px!important;
    padding:0 11px!important;
    border-radius:11px!important;
    font-size:11px!important;
  }
  #seasonView .season-status{
    display:none!important;
  }

  /* Compact segmented navigation. Power is the default. */
  #seasonView .league-tool-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    padding:4px!important;
    margin:0 0 9px!important;
    border-radius:13px!important;
  }
  #seasonView .league-tool-tabs .season-tab{
    min-width:0!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 5px!important;
    border-radius:9px!important;
    gap:4px!important;
    justify-content:center!important;
  }
  #seasonView .league-tool-tabs .league-tab-icon{
    font-size:10px!important;
  }
  #seasonView .league-tool-tabs .season-tab b{
    font-size:8px!important;
    white-space:nowrap!important;
  }
  #seasonView .league-tool-tabs .season-tab small{
    display:none!important;
  }

  /* Rankings begin immediately; explanatory copy moves out of the way. */
  #seasonRankingsPane .league-pane-head{
    padding:5px 2px 7px!important;
    margin:0!important;
    align-items:center!important;
  }
  #seasonRankingsPane .league-pane-head .eyebrow,
  #seasonRankingsPane .league-pane-head p,
  #seasonRankingsPane .league-pane-chip{
    display:none!important;
  }
  #seasonRankingsPane .league-pane-head h3{
    margin:0!important;
    font-size:19px!important;
    line-height:1.1!important;
  }
  #seasonRankingsPane .rank-controls{
    margin:0 0 6px!important;
  }
  #seasonRankingsPane .rank-mode{
    min-height:30px!important;
  }
  #seasonRankingsPane .rank-mode button{
    min-height:30px!important;
    height:30px!important;
    padding:0 10px!important;
    font-size:7px!important;
  }
  #seasonRankingsPane .power-v2-method{
    display:none!important;
  }
  #seasonRankingsPane .model-diagnostics{
    margin:0 0 7px!important;
  }
  #seasonRankingsPane .model-diagnostics>summary{
    min-height:34px!important;
    padding:7px 9px!important;
  }
  #seasonRankingsPane .model-diagnostics>summary small{
    display:none!important;
  }
  #seasonRankingsPane .rank-list{
    margin-top:0!important;
  }
}
\n\n/* v75 — Home Power Rankings preview: the whole card opens the full rankings. */\n.home-power-preview{\n  cursor:pointer;\n  position:relative;\n  transition:border-color .18s ease, background .18s ease, transform .18s ease;\n  -webkit-tap-highlight-color:transparent;\n}\n.home-power-preview:focus-visible{\n  outline:2px solid rgba(255,207,51,.88);\n  outline-offset:3px;\n}\n@media (hover:hover){\n  .home-power-preview:hover{\n    border-color:rgba(255,207,51,.34)!important;\n    background:linear-gradient(180deg,rgba(255,207,51,.025),rgba(255,255,255,.01));\n  }\n}\n.home-power-preview:active{\n  transform:scale(.997);\n}\n.home-power-preview .product-row{\n  pointer-events:none;\n}\n.home-power-preview .home-power-score{\n  min-width:58px;\n  text-align:right;\n  font-size:24px;\n  line-height:1;\n}\n@media (max-width:700px){\n  .home-power-preview{\n    touch-action:manipulation;\n  }\n  .home-power-preview .home-power-score{\n    min-width:50px;\n    font-size:23px;\n  }\n}\n
/* =========================================================
   v76 · PLAYERS MOBILE FILTER ALIGNMENT
   Clean, even controls on iPhone without changing behavior.
   ========================================================= */
@media (max-width:760px){
  #boardView .draft-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 142px!important;
    grid-template-areas:
      "search espn"
      "availability availability"
      "positions positions"!important;
    align-items:stretch!important;
    gap:9px!important;
    padding:10px!important;
  }

  #boardView #draftSearch{
    grid-area:search!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
  }

  #boardView .espn-filter-wrap{
    grid-area:espn!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    padding:0 9px 0 11px!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
  }

  #boardView .espn-filter-wrap label{
    margin:0!important;
    font-size:10px!important;
    line-height:1!important;
  }

  #boardView #espnMaxFilter{
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    text-align:center!important;
    border-radius:9px!important;
    box-sizing:border-box!important;
  }

  #boardView .player-availability-chips{
    grid-area:availability!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    padding:4px!important;
    box-sizing:border-box!important;
  }

  #boardView .availability-chip{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:0 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:7.5px!important;
    line-height:1.05!important;
    letter-spacing:.025em!important;
    text-align:center!important;
  }

  #boardView .pos-chips{
    grid-area:positions!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
    padding:0!important;
  }

  #boardView .pos-chip{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:390px){
  #boardView .draft-toolbar{
    grid-template-columns:minmax(0,1fr) 126px!important;
    grid-template-areas:
      "search espn"
      "availability availability"
      "positions positions"!important;
  }
  #boardView .availability-chip{font-size:7px!important;}
  #boardView .pos-chips{gap:5px!important;}
}


/* =========================================================
   v77 · Professional mobile navigation
   Premium sports-app treatment: line icons + restrained gold state.
   ========================================================= */
@media(max-width:760px){
  #mobileBottomNav.mobile-bottom-nav{
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:calc(100vw - 20px)!important;
    min-height:64px!important;
    padding:5px 7px!important;
    gap:2px!important;
    border-radius:22px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    background:linear-gradient(180deg,rgba(12,14,20,.96),rgba(7,9,14,.98))!important;
    box-shadow:0 16px 44px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.035)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button{
    position:relative!important;
    min-height:52px!important;
    padding:6px 2px 5px!important;
    gap:4px!important;
    border-radius:14px!important;
    background:transparent!important;
    color:#777d8a!important;
    transition:color .18s ease,background .18s ease,transform .12s ease!important;
  }

  #mobileBottomNav.mobile-bottom-nav button::before{
    content:"";
    position:absolute;
    top:1px;
    left:50%;
    width:22px;
    height:2px;
    border-radius:999px;
    background:transparent;
    transform:translateX(-50%);
    transition:background .18s ease,box-shadow .18s ease;
  }

  #mobileBottomNav.mobile-bottom-nav .mobile-nav-icon{
    width:22px!important;
    height:22px!important;
    display:grid!important;
    place-items:center!important;
    font-size:0!important;
    line-height:1!important;
    color:currentColor!important;
  }

  #mobileBottomNav.mobile-bottom-nav .mobile-nav-icon svg{
    width:20px;
    height:20px;
    display:block;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
  }

  #mobileBottomNav.mobile-bottom-nav button>small{
    color:currentColor!important;
    font:600 8px 'Inter',sans-serif!important;
    letter-spacing:.015em!important;
    line-height:1!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active{
    background:rgba(255,203,51,.055)!important;
    color:#f7c934!important;
    box-shadow:inset 0 0 0 1px rgba(255,203,51,.055)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active::before{
    background:#f7c934!important;
    box-shadow:0 0 10px rgba(247,201,52,.42)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active>small{
    color:#f4f2ea!important;
    font-weight:700!important;
  }

  #mobileBottomNav.mobile-bottom-nav button:active{
    transform:scale(.96)!important;
  }
}
\n\n/* ==========================================================\n   COCO v78 TEST · rank wheel -> expanded position bars\n   Visual-only. Frozen Power model is unchanged.\n   ========================================================== */\n\n/* Center the Power score in both compact and expanded cards. */\n#seasonRankList .rank-score-panel{\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:center!important;\n  justify-content:center!important;\n  text-align:center!important;\n}\n#seasonRankList .rank-score-line{\n  width:100%!important;\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:center!important;\n  justify-content:center!important;\n  gap:4px!important;\n  text-align:center!important;\n}\n#seasonRankList .rank-score-line b,\n#seasonRankList .rank-score-line small{\n  width:100%!important;\n  margin:0!important;\n  text-align:center!important;\n  align-self:center!important;\n}\n\n/* Compact radial strength wheel. Exact position labels/ranks move to expanded bars. */\n#seasonRankingsPane .rank-mini-wheel{\n  position:relative!important;\n  display:grid!important;\n  place-items:center!important;\n  width:72px!important;\n  height:72px!important;\n  min-width:72px!important;\n  border-radius:50%!important;\n  overflow:visible!important;\n  background:radial-gradient(circle at 50% 42%,rgba(22,30,48,.98),rgba(6,9,16,.98) 72%)!important;\n  border:1px solid rgba(245,201,52,.30)!important;\n  box-shadow:inset 0 0 18px rgba(255,255,255,.025),0 0 18px rgba(245,201,52,.05)!important;\n}\n#seasonRankingsPane .rank-mini-wheel:after{display:none!important}\n#seasonRankingsPane .rank-mini-wheel-svg{\n  position:absolute;\n  inset:3px;\n  width:calc(100% - 6px);\n  height:calc(100% - 6px);\n  overflow:visible;\n  transform:rotate(-1deg);\n}\n#seasonRankingsPane .rank-wheel-track,\n#seasonRankingsPane .rank-wheel-fill{\n  fill:none;\n  stroke-width:13;\n  stroke-linecap:round;\n}\n#seasonRankingsPane .rank-wheel-track{opacity:.14}\n#seasonRankingsPane .rank-wheel-fill{\n  opacity:.98;\n  filter:drop-shadow(0 0 2.5px currentColor);\n  animation:rankArcDraw .42s cubic-bezier(.2,.75,.2,1) both;\n}\n#seasonRankingsPane .rank-wheel-fill.qb{color:#35a7ff}\n#seasonRankingsPane .rank-wheel-fill.rb{color:#2fe38c}\n#seasonRankingsPane .rank-wheel-fill.wr{color:#b64dff}\n#seasonRankingsPane .rank-wheel-fill.te{color:#ffc82e}\n#seasonRankingsPane .rank-wheel-core{\n  fill:#08101e;\n  stroke:rgba(245,201,52,.62);\n  stroke-width:2.4;\n  filter:drop-shadow(0 0 5px rgba(245,201,52,.12));\n}\n#seasonRankingsPane .rank-mini-wheel-center{\n  position:relative!important;\n  inset:auto!important;\n  transform:none!important;\n  width:34px!important;\n  height:34px!important;\n  display:grid!important;\n  place-items:center!important;\n  border:0!important;\n  border-radius:50%!important;\n  background:transparent!important;\n  color:var(--harvest-gold)!important;\n  font:800 12px/1 'Space Grotesk',sans-serif!important;\n  z-index:3!important;\n  box-shadow:none!important;\n}\n@keyframes rankArcDraw{\n  from{stroke-dashoffset:100;opacity:.2}\n  to{stroke-dashoffset:0;opacity:.98}\n}\n\n/* Expanded position-strength lines. */\n.rank-position-bars{\n  margin:2px 0 14px;\n  padding:13px 14px 14px;\n  border:1px solid rgba(255,255,255,.075);\n  border-radius:16px;\n  background:linear-gradient(180deg,rgba(255,255,255,.027),rgba(255,255,255,.012));\n  opacity:0;\n  transform:translateY(-7px) scale(.992);\n  animation:rankBarsIn .28s cubic-bezier(.2,.78,.2,1) .07s forwards;\n}\n.rank-position-bars-head{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n  margin-bottom:10px;\n}\n.rank-position-bars-head span{\n  color:var(--harvest-gold);\n  font:800 9px/1 'JetBrains Mono',monospace;\n  letter-spacing:.14em;\n}\n.rank-position-bars-head small{\n  color:var(--dim);\n  font:700 8px/1 'JetBrains Mono',monospace;\n  letter-spacing:.08em;\n}\n.rank-position-bars-grid{display:grid;gap:9px}\n.rank-position-line{\n  display:grid;\n  grid-template-columns:30px minmax(0,1fr) 32px;\n  align-items:center;\n  gap:9px;\n}\n.rank-position-label{\n  color:var(--dim);\n  font:800 9px/1 'JetBrains Mono',monospace;\n  letter-spacing:.08em;\n}\n.rank-position-track{\n  height:8px;\n  border-radius:999px;\n  overflow:hidden;\n  background:rgba(255,255,255,.055);\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);\n}\n.rank-position-track i{\n  display:block;\n  width:var(--rank-fill);\n  height:100%;\n  border-radius:inherit;\n  transform-origin:left center;\n  animation:rankBarGrow .38s cubic-bezier(.2,.78,.2,1) .12s both;\n}\n.rank-position-line.qb .rank-position-track i{background:linear-gradient(90deg,#227fff,#59c4ff);box-shadow:0 0 9px rgba(53,167,255,.28)}\n.rank-position-line.rb .rank-position-track i{background:linear-gradient(90deg,#16b96d,#3af2a0);box-shadow:0 0 9px rgba(47,227,140,.25)}\n.rank-position-line.wr .rank-position-track i{background:linear-gradient(90deg,#8f35e8,#d25cff);box-shadow:0 0 9px rgba(182,77,255,.25)}\n.rank-position-line.te .rank-position-track i{background:linear-gradient(90deg,#d79800,#ffd64d);box-shadow:0 0 9px rgba(255,200,46,.25)}\n.rank-position-line b{\n  color:var(--text);\n  text-align:right;\n  font:800 11px/1 'Space Grotesk',sans-serif;\n}\n@keyframes rankBarsIn{to{opacity:1;transform:translateY(0) scale(1)}}\n@keyframes rankBarGrow{from{transform:scaleX(.08);opacity:.45}to{transform:scaleX(1);opacity:1}}\n\n/* On expansion, the wheel gently yields attention to the line view. */\n#seasonRankList .rank-card.expanded .rank-mini-wheel{\n  animation:rankWheelYield .22s ease-out both;\n}\n@keyframes rankWheelYield{\n  from{opacity:1;transform:scale(1) rotate(0deg)}\n  to{opacity:.38;transform:scale(.90) rotate(-7deg)}\n}\n\n@media(max-width:720px){\n  /* v78 restores the compact wheel on phone; keep it small enough for the title row. */\n  #seasonRankList .rank-card:not(.expanded) .rank-head{\n    grid-template-columns:34px 46px minmax(0,1fr)!important;\n    gap:6px!important;\n  }\n  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel{\n    display:grid!important;\n    width:44px!important;\n    height:44px!important;\n    min-width:44px!important;\n  }\n  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-center{\n    width:22px!important;\n    height:22px!important;\n    font-size:8px!important;\n  }\n  #seasonRankList .rank-card:not(.expanded) .rank-wheel-track,\n  #seasonRankList .rank-card:not(.expanded) .rank-wheel-fill{stroke-width:14}\n  #seasonRankList .rank-card:not(.expanded) .rank-title-row>b{font-size:13px!important}\n  .rank-position-bars{padding:11px 11px 12px;margin-top:0}\n  .rank-position-line{grid-template-columns:27px minmax(0,1fr) 30px;gap:7px}\n}\n\n@media(prefers-reduced-motion:reduce){\n  #seasonRankingsPane .rank-wheel-fill,\n  #seasonRankList .rank-card.expanded .rank-mini-wheel,\n  .rank-position-bars,\n  .rank-position-track i{\n    animation:none!important;\n    transition:none!important;\n  }\n  .rank-position-bars{opacity:1;transform:none}\n  .rank-position-track i{transform:none}\n}\n
/* ==========================================================
   COCO v79 TEST · vibrant wheel -> compact strength strip
   Visual-only. Frozen Power model is unchanged.
   ========================================================== */

/* Center the Power score and prevent the expanded state from becoming a giant panel. */
#seasonRankList .rank-score-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
#seasonRankList .rank-score-line{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  text-align:center!important;
}
#seasonRankList .rank-score-line b,
#seasonRankList .rank-score-line small{
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  align-self:center!important;
}
#seasonRankList .rank-card.expanded .rank-score-panel{
  min-width:108px!important;
  width:108px!important;
  min-height:86px!important;
  padding:10px!important;
  border-radius:16px!important;
  align-self:start!important;
}
#seasonRankList .rank-card.expanded .rank-score-line b{font-size:28px!important;line-height:1!important}
#seasonRankList .rank-card.expanded .rank-score-line small{font-size:7px!important;margin-top:4px!important}
#seasonRankList .rank-card.expanded .rank-score-panel>span{display:none!important}

/* Restore the vibrant four-quadrant compact wheel. */
#seasonRankingsPane .rank-mini-wheel.rank-mini-wheel-v79{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#09101c!important;
  border:1px solid rgba(245,201,52,.34)!important;
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.04),
    0 0 0 1px rgba(255,255,255,.025),
    0 0 14px rgba(245,201,52,.08)!important;
}
#seasonRankingsPane .rank-mini-wheel.rank-mini-wheel-v79:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.14) 50%,transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent calc(50% - .5px),rgba(255,255,255,.14) 50%,transparent calc(50% + .5px))!important;
  pointer-events:none!important;
  z-index:2!important;
}
#seasonRankingsPane .rank-wheel-quadrant{
  position:absolute;
  width:50%;
  height:50%;
  opacity:.98;
}
#seasonRankingsPane .rank-wheel-quadrant.qb{
  left:0;top:0;
  background:radial-gradient(circle at 100% 100%,rgba(90,196,255,.98),#1268ff 62%,#0841ae 100%);
}
#seasonRankingsPane .rank-wheel-quadrant.rb{
  right:0;top:0;
  background:radial-gradient(circle at 0 100%,rgba(74,246,163,.98),#10c76f 62%,#08743f 100%);
}
#seasonRankingsPane .rank-wheel-quadrant.wr{
  left:0;bottom:0;
  background:radial-gradient(circle at 100% 0,rgba(218,96,255,.98),#922fe8 62%,#52168e 100%);
}
#seasonRankingsPane .rank-wheel-quadrant.te{
  right:0;bottom:0;
  background:radial-gradient(circle at 0 0,rgba(255,221,89,.98),#e3a000 62%,#8e5c00 100%);
}
#seasonRankingsPane .rank-mini-wheel-v79 .rank-mini-wheel-center{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#111827,#070c15)!important;
  border:2px solid rgba(245,201,52,.70)!important;
  color:var(--harvest-gold)!important;
  font:800 12px/1 'Space Grotesk',sans-serif!important;
  z-index:4!important;
  box-shadow:0 0 8px rgba(245,201,52,.18)!important;
}

/* Expanded position view: one compact strip directly under the header. */
.rank-position-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
  padding:10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  opacity:0;
  transform:translateY(-4px);
  animation:rankStripIn .20s cubic-bezier(.2,.78,.2,1) .04s forwards;
}
.rank-position-strip-item{
  min-width:0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:6px;
  align-items:center;
}
.rank-position-strip-label{
  color:var(--dim);
  font:800 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.rank-position-strip-track{
  height:6px;
  min-width:24px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.rank-position-strip-track i{
  display:block;
  width:var(--rank-fill);
  height:100%;
  border-radius:inherit;
  transform-origin:left center;
  animation:rankStripGrow .26s cubic-bezier(.2,.78,.2,1) .08s both;
}
.rank-position-strip-item.qb .rank-position-strip-track i{background:linear-gradient(90deg,#1268ff,#59c4ff)}
.rank-position-strip-item.rb .rank-position-strip-track i{background:linear-gradient(90deg,#10c76f,#4af6a3)}
.rank-position-strip-item.wr .rank-position-strip-track i{background:linear-gradient(90deg,#922fe8,#da60ff)}
.rank-position-strip-item.te .rank-position-strip-track i{background:linear-gradient(90deg,#e3a000,#ffdd59)}
.rank-position-strip-item b{
  color:var(--text);
  font:800 10px/1 'Space Grotesk',sans-serif;
  white-space:nowrap;
}
@keyframes rankStripIn{to{opacity:1;transform:translateY(0)}}
@keyframes rankStripGrow{from{transform:scaleX(.08);opacity:.4}to{transform:scaleX(1);opacity:1}}

/* Wheel yields gently on expansion instead of looking like it disappears. */
#seasonRankList .rank-card.expanded .rank-mini-wheel-v79{
  animation:rankWheelYieldV79 .18s ease-out both;
}
@keyframes rankWheelYieldV79{
  from{opacity:1;transform:scale(1) rotate(0deg)}
  to{opacity:.72;transform:scale(.94) rotate(-4deg)}
}

/* Retire the v78 vertical bar block if any stale markup is encountered. */
.rank-position-bars{display:none!important}

@media(max-width:720px){
  #seasonRankList .rank-card:not(.expanded) .rank-head{
    grid-template-columns:34px 46px minmax(0,1fr)!important;
    gap:6px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-v79{
    display:grid!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
  }
  #seasonRankList .rank-card:not(.expanded) .rank-mini-wheel-v79 .rank-mini-wheel-center{
    width:21px!important;
    height:21px!important;
    font-size:8px!important;
    border-width:1.5px!important;
  }
  #seasonRankList .rank-card.expanded .rank-score-panel{
    width:84px!important;
    min-width:84px!important;
    min-height:70px!important;
    padding:7px!important;
  }
  #seasonRankList .rank-card.expanded .rank-score-line b{font-size:23px!important}
  .rank-position-strip{
    grid-template-columns:1fr 1fr;
    gap:8px 10px;
    padding:9px 10px;
    margin-bottom:10px;
  }
  .rank-position-strip-item{
    grid-template-columns:24px minmax(0,1fr) 28px;
    gap:5px;
  }
  .rank-position-strip-label{font-size:7px}
  .rank-position-strip-item b{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  #seasonRankList .rank-card.expanded .rank-mini-wheel-v79,
  .rank-position-strip,
  .rank-position-strip-track i{
    animation:none!important;
    transition:none!important;
  }
  .rank-position-strip{opacity:1;transform:none}
  .rank-position-strip-track i{transform:none}
}


/* ==========================================================
   COCO v80 · expanded header cleanup
   Visual-only. Frozen Power model unchanged.
   ========================================================== */

/* Expanded card becomes a deliberate header grid:
   identity + centered score + strength strip, then score chips. */
#seasonRankList .rank-card.expanded{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 108px!important;
  grid-template-areas:
    "head score"
    "strip strip"
    "profile profile"
    "detail detail"!important;
  gap:12px 14px!important;
  align-items:start!important;
}

#seasonRankList .rank-card.expanded .rank-head{
  grid-area:head!important;
  min-width:0!important;
}

#seasonRankList .rank-card.expanded .rank-score-panel{
  grid-area:score!important;
  width:108px!important;
  min-width:108px!important;
  height:96px!important;
  min-height:96px!important;
  align-self:start!important;
  justify-self:end!important;
  margin:0!important;
  padding:8px!important;
  box-sizing:border-box!important;
}

#seasonRankList .rank-card.expanded .rank-position-strip{
  grid-area:strip!important;
  margin:0!important;
}

#seasonRankList .rank-card.expanded .rank-profile{
  grid-area:profile!important;
  margin:0!important;
}

#seasonRankList .rank-card.expanded .rank-detail{
  grid-area:detail!important;
  margin-top:0!important;
}

/* Expanded signal chips should never squeeze into unreadable pills. */
#seasonRankList .rank-card.expanded .rank-minirow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}

#seasonRankList .rank-card.expanded .rank-mini{
  min-width:0!important;
  width:auto!important;
  padding:8px 10px!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.15!important;
}

#seasonRankList .rank-card.expanded .rank-mini b{
  display:block!important;
  margin-top:3px!important;
  white-space:nowrap!important;
}

/* Keep the action compact; no giant full-width gold slab. */
#seasonRankList .rank-card.expanded .rank-expand-btn{
  align-self:flex-end!important;
  width:auto!important;
  min-width:126px!important;
  margin-left:auto!important;
  padding:8px 13px!important;
  border-radius:11px!important;
  font-size:11px!important;
}

/* Expanded wheel stays vivid rather than looking disabled. */
#seasonRankList .rank-card.expanded .rank-mini-wheel-v79{
  opacity:.88!important;
  transform:scale(.96)!important;
}

/* Phone layout: use the former empty header gap for the strength strip,
   and put the four signal scores in a readable 2x2 grid. */
@media(max-width:720px){
  #seasonRankList .rank-card.expanded{
    grid-template-columns:minmax(0,1fr) 78px!important;
    grid-template-areas:
      "head score"
      "strip strip"
      "profile profile"
      "detail detail"!important;
    gap:10px 9px!important;
    padding:12px!important;
  }

  #seasonRankList .rank-card.expanded .rank-head{
    display:grid!important;
    grid-template-columns:34px 52px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:start!important;
  }

  #seasonRankList .rank-card.expanded .rank-mini-wheel-v79{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    display:grid!important;
  }

  #seasonRankList .rank-card.expanded .rank-mini-wheel-v79 .rank-mini-wheel-center{
    width:23px!important;
    height:23px!important;
    font-size:8px!important;
  }

  #seasonRankList .rank-card.expanded .rank-score-panel{
    width:78px!important;
    min-width:78px!important;
    height:78px!important;
    min-height:78px!important;
    padding:5px!important;
    border-radius:14px!important;
  }

  #seasonRankList .rank-card.expanded .rank-score-line b{
    font-size:24px!important;
    line-height:1!important;
  }

  #seasonRankList .rank-card.expanded .rank-score-line small{
    font-size:6px!important;
    margin-top:4px!important;
  }

  #seasonRankList .rank-card.expanded .rank-position-strip{
    grid-template-columns:1fr 1fr!important;
    gap:7px 10px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }

  #seasonRankList .rank-card.expanded .rank-position-strip-item{
    grid-template-columns:22px minmax(0,1fr) 25px!important;
    gap:5px!important;
  }

  #seasonRankList .rank-card.expanded .rank-profile{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:8px!important;
  }

  #seasonRankList .rank-card.expanded .rank-minirow{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  #seasonRankList .rank-card.expanded .rank-mini{
    min-height:46px!important;
    padding:7px 8px!important;
    font-size:9px!important;
    border-radius:10px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
  }

  #seasonRankList .rank-card.expanded .rank-mini b{
    font-size:12px!important;
    margin-top:4px!important;
  }

  #seasonRankList .rank-card.expanded .rank-expand-btn{
    min-width:36px!important;
    width:36px!important;
    height:36px!important;
    padding:0!important;
    font-size:0!important;
    border-radius:10px!important;
    margin:0!important;
    align-self:center!important;
  }

  #seasonRankList .rank-card.expanded .rank-expand-btn:after{
    content:'⌃';
    font-size:16px!important;
    line-height:1!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #seasonRankList .rank-card.expanded .rank-mini-wheel-v79{
    transform:none!important;
  }
}



/* ==========================================================
   COCO v81 · mobile player-room repair
   Visual-only. Frozen Power model unchanged.
   ========================================================== */

@media(max-width:720px){

  /* One full-width room per row on phones.
     The former 2-column layout was forcing player names/tier chips to clip. */
  #seasonRankingsPane .rank-room-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:12px 0 14px!important;
  }

  #seasonRankingsPane .rank-room{
    width:100%!important;
    min-width:0!important;
    border-radius:16px!important;
  }

  #seasonRankingsPane .rank-room-head{
    padding:10px 12px!important;
  }

  #seasonRankingsPane .rank-room-head b{
    font-size:13px!important;
  }

  #seasonRankingsPane .rank-room-head span{
    font-size:10px!important;
  }

  #seasonRankingsPane .rank-player-list{
    gap:0!important;
  }

  /* Give every player row enough horizontal room for:
     player name + tier badge + projection + confidence. */
  #seasonRankingsPane .rank-player{
    grid-template-columns:minmax(0,1fr) 112px!important;
    gap:10px!important;
    align-items:center!important;
    min-height:66px!important;
    padding:9px 14px!important;
    margin:5px 6px!important;
    border-radius:12px!important;
  }

  #seasonRankingsPane .rank-player > span:first-child{
    min-width:0!important;
    overflow:hidden!important;
  }

  #seasonRankingsPane .rank-player > span:first-child > b{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
  }

  #seasonRankingsPane .rank-player .tiered-player-name{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  #seasonRankingsPane .rank-player .tier-name-text{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }

  #seasonRankingsPane .rank-player .player-tier-chip{
    flex:0 0 auto!important;
    margin-left:0!important;
    padding:3px 7px!important;
    font-size:6.7px!important;
  }

  #seasonRankingsPane .rank-player > span:first-child > small{
    margin-top:5px!important;
    font-size:9px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #seasonRankingsPane .rank-player-val{
    width:112px!important;
    min-width:112px!important;
    text-align:right!important;
    font-size:13px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  #seasonRankingsPane .rank-player-val small{
    margin-top:5px!important;
    font-size:7.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* Keep tier side rails clear of content. */
  #seasonRankingsPane .rank-player.tier-player-surface{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* Tablet: two rooms still works comfortably, but use wider rows. */
@media(min-width:721px) and (max-width:980px){
  #seasonRankingsPane .rank-room-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  #seasonRankingsPane .rank-player{
    grid-template-columns:minmax(0,1fr) 92px!important;
  }
}



/* COCO v82 · minimal VS treatment */
.vs-badge.vs-badge-minimal{display:grid!important;grid-template-columns:minmax(18px,42px) auto minmax(18px,42px)!important;grid-template-areas:"left core right" "label label label"!important;align-items:center!important;justify-content:center!important;gap:5px 9px!important;width:auto!important;min-width:104px!important;margin:0 auto!important;padding:4px 0!important;text-align:center!important}
.vs-badge-minimal .vs-badge-line{height:1px!important;width:100%!important;background:linear-gradient(90deg,rgba(245,201,52,0),rgba(245,201,52,.45))!important}
.vs-badge-minimal .vs-badge-line:first-child{grid-area:left!important}.vs-badge-minimal .vs-badge-line:nth-child(3){grid-area:right!important;transform:scaleX(-1)!important}
.vs-badge-minimal .vs-badge-core{grid-area:core!important;width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:radial-gradient(circle at 50% 30%,rgba(245,201,52,.08),transparent 58%),#0b0f18!important;border:1px solid rgba(245,201,52,.38)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 22px rgba(0,0,0,.22)!important;color:var(--harvest-gold)!important;font:800 13px/1 'Space Grotesk',sans-serif!important;letter-spacing:.06em!important}
.vs-badge.vs-badge-minimal>span{grid-area:label!important;display:block!important;margin-top:0!important;color:var(--dim)!important;font:700 8px/1.2 'JetBrains Mono',monospace!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.home-matchup-vs{padding:8px 0 5px!important}.home-matchup-vs .vs-badge.vs-badge-minimal{min-width:150px!important}.home-matchup-vs .vs-badge-minimal .vs-badge-core{width:50px!important;height:50px!important;font-size:15px!important}.home-matchup-vs .vs-badge.vs-badge-minimal>span{color:var(--harvest-gold)!important;font-size:9px!important}
#seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal{min-width:88px!important;gap:4px 7px!important}#seasonMatchupList .matchup-vs .vs-badge-minimal .vs-badge-core{width:34px!important;height:34px!important;font-size:11px!important}#seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal>span{font-size:7px!important;letter-spacing:.11em!important}
.matchup-detail-vs .vs-badge.vs-badge-minimal{min-width:132px!important;margin:4px auto 10px!important}.matchup-detail-vs .vs-badge-minimal .vs-badge-core{width:44px!important;height:44px!important;font-size:13px!important}.vs-badge img,.matchup-detail-vs img{display:none!important}
@media(max-width:640px){.home-matchup-vs .vs-badge.vs-badge-minimal{min-width:128px!important}.home-matchup-vs .vs-badge-minimal .vs-badge-core{width:44px!important;height:44px!important;font-size:14px!important}#seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal{min-width:72px!important}#seasonMatchupList .matchup-vs .vs-badge-minimal .vs-badge-core{width:30px!important;height:30px!important;font-size:10px!important}.vs-badge.vs-badge-minimal>span{font-size:7px!important}}


/* ==========================================================
   COCO v83 · persistent Power rank movement
   ========================================================== */
.rank-move-badge{
  appearance:none;border:1px solid transparent;background:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:3px;
  min-width:34px;height:22px;padding:0 7px;border-radius:999px;
  font:800 9px/1 'JetBrains Mono',monospace;cursor:pointer;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.rank-move-badge:hover,.rank-move-badge:active{transform:translateY(-1px)}
.rank-move-badge.up{color:#65e3ad;background:rgba(61,220,151,.08);border-color:rgba(61,220,151,.24)}
.rank-move-badge.down{color:#ff8585;background:rgba(255,107,107,.08);border-color:rgba(255,107,107,.24)}
.rank-move-badge span{font-size:12px;line-height:1}.rank-move-badge b{font:inherit;color:inherit}
.rank-move-badge.compact{min-width:22px;width:22px;height:22px;padding:0;margin-left:6px;vertical-align:middle}

#seasonRankList .rank-rail .rank-move-badge{margin-top:5px}

#homePowerRank{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
#homePowerRank>span{display:inline-block}
#homePowerRank .rank-move-badge.compact{position:relative;top:-1px}

.rank-movement-overlay{
  position:fixed;inset:0;z-index:400;display:grid;place-items:center;
  padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);
}
.rank-movement-modal{
  position:relative;width:min(460px,100%);max-height:min(680px,86vh);overflow:auto;
  padding:22px;border:1px solid rgba(245,201,52,.24);border-radius:22px;
  background:linear-gradient(180deg,#10151f,#090d14);
  box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.04);
}
.rank-movement-close{
  position:absolute;right:13px;top:12px;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);
  color:var(--dim);font-size:22px;line-height:1;cursor:pointer;
}
.rank-movement-hero{display:flex;align-items:center;gap:12px;margin:12px 0 8px}
.rank-movement-hero>span{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  font-size:25px;font-weight:900;
}
.rank-movement-hero.up>span{color:#65e3ad;background:rgba(61,220,151,.09);border:1px solid rgba(61,220,151,.25)}
.rank-movement-hero.down>span{color:#ff8585;background:rgba(255,107,107,.09);border:1px solid rgba(255,107,107,.25)}
.rank-movement-hero small{display:block;color:var(--dim);font:700 8px/1.2 'JetBrains Mono',monospace;letter-spacing:.12em}
.rank-movement-hero b{display:block;margin-top:4px;font-size:22px;color:var(--text)}
.rank-movement-modal h3{margin:8px 0 3px;font-size:22px}
.rank-movement-summary{margin:0 0 14px;color:var(--harvest-gold);font-weight:700}
.rank-movement-points{display:grid;gap:7px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.02)}
.rank-movement-points>div{display:grid;grid-template-columns:12px 1fr;gap:7px;align-items:start}
.rank-movement-points span{color:var(--harvest-gold)}
.rank-movement-points p{margin:0;color:var(--dim);font-size:12px;line-height:1.45}
.rank-movement-time{display:block;margin-top:12px;color:var(--dim);font:700 8px/1.4 'JetBrains Mono',monospace;letter-spacing:.06em}

@media(max-width:720px){
  #seasonRankList .rank-card:not(.expanded) .rank-rail{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
  #seasonRankList .rank-card:not(.expanded) .rank-rail .rank-move-badge{min-width:28px;height:18px;padding:0 5px;font-size:7px;margin-top:4px}
  #seasonRankList .rank-card:not(.expanded) .rank-rail .rank-move-badge span{font-size:10px}
  .rank-movement-overlay{padding:14px}
  .rank-movement-modal{padding:18px 16px;border-radius:18px}
}


/* ==========================================================
   COCO v85 · Premium Sports Polish
   Less AI-demo / more fantasy-platform.
   Visual and wording only — no model/scoring changes.
   ========================================================== */

/* Section labels become neutral editorial cues.
   Gold is reserved for active states, key numbers and primary actions. */
.eyebrow{
  color:#9aa3b5!important;
  text-shadow:none!important;
}

.harvest-league-kicker,
.home-matchup-card .eyebrow,
.home-power-preview .eyebrow,
.product-card-title-row .eyebrow,
.rank-rail-label,
.rank-explain-card .eyebrow,
.matchups-page-intro .eyebrow{
  color:rgba(245,201,52,.88)!important;
}

/* Calm the "AI neon" feel across core surfaces. */
.product-card,
.season-card,
.rank-card,
.team-overview-card,
.home-flat-section,
.product-row,
.rank-room,
.rank-player,
.matchup-card,
.matchup-team,
.board-table-wrap,
.board-filter-panel{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 24px rgba(0,0,0,.16)!important;
}

.rank-card:hover,
.product-card:hover,
.product-row:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 10px 26px rgba(0,0,0,.20)!important;
}

/* Gold buttons are now clean, low-glow controls. */
.product-link-btn,
.ghost-btn,
.rank-expand-btn,
.rank-mode button,
.season-tab,
.matchup-week-nav button,
.matchup-week-quick button{
  box-shadow:none!important;
  text-shadow:none!important;
}

.product-link-btn{
  background:rgba(245,201,52,.055)!important;
  border-color:rgba(245,201,52,.28)!important;
}

.product-link-btn:hover{
  background:rgba(245,201,52,.09)!important;
  border-color:rgba(245,201,52,.42)!important;
}

/* Primary numerics keep the Harvest identity without glowing. */
#homePowerRank,
#homePowerScore,
#seasonMyRank,
#seasonMyScore,
.rank-score-line b,
.home-power-score,
.product-stat b{
  text-shadow:none!important;
}

/* Small model/version chips recede into metadata. */
.league-pane-chip,
.power-v3-beta{
  color:#a7afbf!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:none!important;
}

.power-v3-beta{
  color:#c9ced8!important;
}

/* Diagnostics should look clearly secondary. */
.model-diagnostics,
.team-model-diagnostics{
  opacity:.82;
}

.model-diagnostics[open],
.team-model-diagnostics[open]{
  opacity:1;
}

.model-diagnostics summary span,
.team-model-diagnostics summary span{
  color:#858e9f!important;
}

/* Keep the colorful position wheel, but remove outer neon haze. */
.rank-mini-wheel-v79,
.rank-mini-wheel{
  filter:none!important;
  box-shadow:
    inset 0 1px 4px rgba(255,255,255,.08),
    0 0 0 1px rgba(245,201,52,.13)!important;
}

/* Player/tier surfaces retain their tier language but with reduced bloom. */
.tier-player-surface,
.rank-player{
  filter:none!important;
}

.player-tier-chip{
  box-shadow:none!important;
}

/* Navigation: professional glass bar, no sci-fi bloom. */
.mobile-bottom-nav{
  box-shadow:
    0 -8px 28px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}

.mobile-bottom-nav button.active{
  box-shadow:none!important;
}

/* Hero uses depth instead of glow. */
.harvest-product-hero{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 14px 36px rgba(0,0,0,.24)!important;
}

/* Subtle typography cleanup. */
.workspace-heading p,
.product-card p,
.home-flat-section p,
.league-pane-head p{
  color:#9ca5b6!important;
}

.meta{
  color:#8f98aa!important;
}

/* Keep COCO branding secondary rather than removing it. */
.harvest-powered,
.harvest-startup-powered,
.harvest-app-brand span,
.harvest-logo em{
  color:#8d96a8!important;
  opacity:.84!important;
  text-shadow:none!important;
}

/* Mobile: a little less decorative spacing and glow. */
@media(max-width:720px){
  .product-card,
  .season-card,
  .rank-card,
  .home-flat-section{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.025),
      0 6px 18px rgba(0,0,0,.15)!important;
  }

  .eyebrow{
    letter-spacing:.15em!important;
  }
}


/* ==========================================================
   COCO v89 · Home stat rank — single source of truth
   Rank matches Power Score / Week / Record.
   ========================================================== */

#homeView .product-stat #homePowerRank{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-height:auto!important;

  /* exact mobile stat-value treatment */
  font-family:inherit!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  color:var(--harvest-gold)!important;
}

#homeView .product-stat #homePowerRank > .home-power-rank-value{
  display:inline!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  text-transform:none!important;
  opacity:1!important;
}

/* Movement stays secondary and does not alter the rank typography. */
#homeView .product-stat #homePowerRank > .rank-move-badge.compact{
  flex:0 0 auto!important;
  width:22px!important;
  min-width:22px!important;
  height:20px!important;
  margin-left:1px!important;
  padding:0!important;
}

#homeView .product-stat #homePowerRank > .rank-move-badge.compact span{
  font:800 12px/1 'JetBrains Mono',monospace!important;
  letter-spacing:0!important;
}

/* Desktop follows the same stat treatment as the neighboring values. */
@media(min-width:721px){
  #homeView .product-stat #homePowerRank{
    font-size:20px!important;
  }
}


/* ==========================================================
   COCO v91 · Home rank structural alignment
   Rank returns to the exact block flow used by the other stat values.
   Movement badge is positioned independently.
   ========================================================== */

#homeView .product-stat{
  position:relative!important;
}

#homeView .product-stat #homePowerRank{
  /* Match neighboring <b> values structurally */
  display:block!important;
  position:relative!important;
  top:auto!important;
  margin:0!important;
  min-height:0!important;

  font-family:inherit!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:normal!important;
  letter-spacing:-.025em!important;
  color:var(--harvest-gold)!important;
  white-space:nowrap!important;
}

#homeView .product-stat #homePowerRank > .home-power-rank-value{
  display:inline!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  vertical-align:baseline!important;
}

/* Movement no longer participates in the value's line box. */
#homeView .product-stat #homePowerRank > .rank-move-badge.compact{
  position:absolute!important;
  left:calc(100% + 5px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:22px!important;
  min-width:22px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
}

#homeView .product-stat #homePowerRank > .rank-move-badge.compact span{
  font:800 12px/1 'JetBrains Mono',monospace!important;
  letter-spacing:0!important;
}

/* Same responsive size rule already used by neighboring mobile values. */
@media(min-width:721px){
  #homeView .product-stat #homePowerRank{
    font-size:20px!important;
  }
}



/* COCO v92 · Team page copy cleanup */
#teamView .team-profile-copy:empty,
#teamView .team-summary-copy:empty,
#teamView .lineup-legend:empty{
  display:none!important;
}



/* ==========================================================
   COCO v93 · Matchups page cleanup
   Less copy, tighter hierarchy, minimal VS treatment.
   ========================================================== */

#seasonMatchupsPane .matchups-page-intro{
  margin:0 0 12px!important;
}

#seasonMatchupsPane .matchups-page-intro h1{
  margin:4px 0 0!important;
}

#seasonMatchupsPane .matchups-page-intro p{
  display:none!important;
}

/* The page intro already says Weekly Matchups. Remove the duplicate heading/method row. */
#seasonMatchupsPane .matchup-week-head{
  display:none!important;
}

/* Week controls move directly under the page title. */
#seasonMatchupsPane .matchup-week-nav{
  margin:8px 0 8px!important;
  padding:7px!important;
  border-radius:15px!important;
}

#seasonMatchupsPane .matchup-week-nav button{
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
  font-size:24px!important;
}

#seasonMatchupsPane .matchup-week-nav b{
  font-size:15px!important;
}

#seasonMatchupsPane .matchup-week-quick{
  margin:0 0 12px!important;
  gap:7px!important;
}

#seasonMatchupsPane .matchup-week-quick button{
  padding:8px 12px!important;
  min-height:36px!important;
  border-radius:999px!important;
  box-shadow:none!important;
}

/* Matchup cards: more compact and less "dashboard report". */
#seasonMatchupList.matchup-list{
  gap:10px!important;
}

#seasonMatchupList .matchup-card{
  padding:11px 12px 10px!important;
  border-radius:18px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 7px 18px rgba(0,0,0,.15)!important;
}

#seasonMatchupList .matchup-teams{
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:stretch!important;
}

#seasonMatchupList .matchup-team{
  min-height:92px!important;
  padding:10px 11px!important;
  border-radius:14px!important;
}

#seasonMatchupList .matchup-team b{
  font-size:15px!important;
  margin-bottom:4px!important;
}

#seasonMatchupList .matchup-team small{
  font-size:9px!important;
  letter-spacing:.045em!important;
}

#seasonMatchupList .matchup-proj{
  margin-top:8px!important;
  font-size:25px!important;
  font-weight:700!important;
}

/* VS is now a separator, not a third matchup card. */
#seasonMatchupList .matchup-vs{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal{
  min-width:0!important;
  width:32px!important;
  display:block!important;
  padding:0!important;
  margin:auto!important;
}

#seasonMatchupList .matchup-vs .vs-badge-line,
#seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal > span{
  display:none!important;
}

#seasonMatchupList .matchup-vs .vs-badge-core{
  width:32px!important;
  height:32px!important;
  margin:auto!important;
  border-color:rgba(245,201,52,.32)!important;
  background:#0b0e14!important;
  font-size:10px!important;
  box-shadow:none!important;
}

/* The win bar is useful, but keep it subtle. */
#seasonMatchupList .winbar{
  margin-top:8px!important;
  height:3px!important;
  opacity:.72!important;
}

/* Footer is one concise line + one concise action. */
#seasonMatchupList .matchup-foot{
  margin-top:8px!important;
  padding-top:8px!important;
  gap:8px!important;
  font-size:11px!important;
}

#seasonMatchupList .matchup-view-btn{
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:9px!important;
  letter-spacing:.05em!important;
  box-shadow:none!important;
}

@media(max-width:700px){
  #seasonMatchupsPane{
    padding-top:0!important;
  }

  #seasonMatchupsPane .matchups-page-intro{
    margin-bottom:10px!important;
  }

  #seasonMatchupsPane .matchups-page-intro h1{
    font-size:34px!important;
    line-height:1.05!important;
  }

  #seasonMatchupsPane .matchup-week-nav{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    gap:7px!important;
  }

  #seasonMatchupList .matchup-card{
    padding:10px!important;
    border-radius:16px!important;
  }

  #seasonMatchupList .matchup-teams{
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)!important;
    gap:5px!important;
  }

  #seasonMatchupList .matchup-team{
    min-height:86px!important;
    padding:9px!important;
  }

  #seasonMatchupList .matchup-team b{
    font-size:14px!important;
    line-height:1.12!important;
  }

  #seasonMatchupList .matchup-proj{
    font-size:23px!important;
  }

  #seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal{
    width:28px!important;
  }

  #seasonMatchupList .matchup-vs .vs-badge-core{
    width:28px!important;
    height:28px!important;
    font-size:9px!important;
  }

  #seasonMatchupList .matchup-foot{
    font-size:10px!important;
  }

  #seasonMatchupList .matchup-view-btn{
    padding:6px 9px!important;
    font-size:8px!important;
  }
}

@media(max-width:390px){
  #seasonMatchupList .matchup-teams{
    grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important;
  }

  #seasonMatchupList .matchup-vs .vs-badge.vs-badge-minimal,
  #seasonMatchupList .matchup-vs .vs-badge-core{
    width:26px!important;
    height:26px!important;
  }
}



/* ==========================================================
   COCO v94 · Matchups navigation + card UX
   ========================================================== */

/* Local page navigation */
#seasonMatchupsPane .matchup-local-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin:0 0 10px;
  padding:4px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(8,10,16,.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  z-index:34;
}

#seasonMatchupsPane .matchup-local-nav button{
  min-height:36px;
  padding:7px 9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#939cad;
  font:700 10px/1 'JetBrains Mono',monospace;
  letter-spacing:.04em;
  cursor:pointer;
}

#seasonMatchupsPane .matchup-local-nav button.active{
  background:rgba(245,201,52,.08);
  color:var(--harvest-gold);
  box-shadow:inset 0 0 0 1px rgba(245,201,52,.20);
}

/* My matchup: recognizable without another label. */
#seasonMatchupList .matchup-card.mine{
  border-color:rgba(245,201,52,.34)!important;
  box-shadow:
    inset 3px 0 0 rgba(245,201,52,.70),
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 20px rgba(0,0,0,.16)!important;
}

/* Whole card feels tappable, but not like a giant button. */
#seasonMatchupList .matchup-card-clickable{
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

#seasonMatchupList .matchup-card-clickable:active{
  transform:scale(.992);
}

#seasonMatchupList .matchup-card-clickable:focus-visible{
  outline:2px solid rgba(245,201,52,.42);
  outline-offset:2px;
}

/* Keep winner treatment restrained. */
#seasonMatchupList .matchup-team.winner{
  background:linear-gradient(180deg,rgba(245,201,52,.06),rgba(245,201,52,.025))!important;
  border-color:rgba(245,201,52,.24)!important;
  box-shadow:inset 0 1px 0 rgba(245,201,52,.04)!important;
}

/* Team names stay consistent even when long. */
#seasonMatchupList .matchup-team>b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:2.24em!important;
}

/* Context appears only where useful. */
#seasonMatchupList .matchup-foot-meta{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  min-width:0;
}

#seasonMatchupList .matchup-context-tag{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(94,211,255,.18);
  background:rgba(94,211,255,.055);
  color:#a9dff2;
  font:700 7px/1 'JetBrains Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-style:normal;
}

#seasonMatchupList .matchup-context-tag.favorite{
  border-color:rgba(245,201,52,.20);
  background:rgba(245,201,52,.055);
  color:#d8bf65;
}

/* Week control focus feedback from local nav. */
#seasonMatchupsPane .matchup-week-nav{
  transition:border-color .2s ease,box-shadow .2s ease;
}

#seasonMatchupsPane .matchup-week-nav.matchup-nav-focus{
  border-color:rgba(245,201,52,.42)!important;
  box-shadow:0 0 0 3px rgba(245,201,52,.06)!important;
}

@media(max-width:720px){
  #seasonMatchupsPane .matchup-local-nav{
    position:sticky;
    top:calc(var(--app-top-offset,76px) + env(safe-area-inset-top));
    margin:0 0 9px;
  }

  #seasonMatchupsPane .matchup-local-nav button{
    min-height:34px;
    font-size:9px;
  }

  #seasonMatchupList .matchup-card.mine{
    box-shadow:
      inset 2px 0 0 rgba(245,201,52,.72),
      inset 0 1px 0 rgba(255,255,255,.025),
      0 6px 16px rgba(0,0,0,.14)!important;
  }

  #seasonMatchupList .matchup-context-tag{
    min-height:18px;
    padding:2px 6px;
    font-size:6px;
  }
}



/* ==========================================================
   COCO v95 · League Standings
   Actual results stay visually separate from Power.
   ========================================================== */

.league-primary-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  margin:8px 0 8px;
  padding:4px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:rgba(8,10,16,.72);
}

.league-primary-tabs .season-tab{
  min-height:44px;
  padding:8px 12px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#929bad;
  text-align:center;
  justify-content:center;
  box-shadow:none!important;
}

.league-primary-tabs .season-tab>span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.league-primary-tabs .season-tab b{
  font-size:13px;
}

.league-primary-tabs .season-tab small{
  font-size:8px;
  color:#7f899a;
}

.league-primary-tabs .season-tab.active{
  color:var(--harvest-gold);
  background:rgba(245,201,52,.075);
  box-shadow:inset 0 0 0 1px rgba(245,201,52,.20)!important;
}

.league-secondary-tabs{
  margin-top:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

#seasonStandingsPane{
  padding-top:4px;
}

.standings-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 12px;
}

.standings-head h3{
  margin:3px 0 0;
  font-size:20px;
}

.standings-head>small{
  color:var(--dim);
  font:700 9px/1 'JetBrains Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.standings-table{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}

.standings-row{
  display:grid;
  grid-template-columns:46px minmax(180px,1.8fr) 86px 76px 76px 70px;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 12px;
  border-top:1px solid rgba(255,255,255,.055);
}

.standings-row:first-child{
  border-top:0;
}

.standings-header{
  min-height:34px;
  background:rgba(255,255,255,.025);
  color:#7f899a;
  font:700 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.09em;
}

.standings-team{
  transition:background .15s ease,border-color .15s ease;
}

.standings-team.mine{
  background:linear-gradient(90deg,rgba(245,201,52,.07),rgba(245,201,52,.018));
  box-shadow:inset 3px 0 0 rgba(245,201,52,.72);
}

.standings-rank{
  color:var(--harvest-gold);
  font:800 16px/1 'Space Grotesk',sans-serif;
}

.standings-team-name{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.standings-team-name>b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}

.standings-team-name>small{
  color:var(--dim);
  font-size:9px;
}

.standings-record{
  font:700 13px/1 'JetBrains Mono',monospace;
}

.standings-points{
  color:#c8ced9;
  font:700 11px/1 'JetBrains Mono',monospace;
}

.standings-points.muted{
  color:#8d96a7;
}

.standings-streak{
  display:inline-flex;
  width:max-content;
  min-width:34px;
  justify-content:center;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#aab2c0;
  font:800 9px/1 'JetBrains Mono',monospace;
}

.standings-streak.win{
  color:#71dfaa;
  background:rgba(61,220,151,.07);
}

.standings-streak.loss{
  color:#ff8e8e;
  background:rgba(255,107,107,.07);
}

@media(max-width:720px){
  .league-primary-tabs{
    position:relative;
    margin:5px 0 7px;
  }

  .league-primary-tabs .season-tab{
    min-height:40px;
    padding:7px 8px;
  }

  .league-primary-tabs .season-tab>span{
    display:block;
  }

  .league-primary-tabs .season-tab b{
    display:block;
    font-size:12px;
  }

  .league-primary-tabs .season-tab small{
    display:block;
    margin-top:3px;
    font-size:7px;
  }

  .league-secondary-tabs{
    gap:5px!important;
    margin-bottom:8px!important;
  }

  .league-secondary-tabs .season-tab{
    min-height:44px!important;
  }

  .standings-head{
    margin:8px 0 9px;
  }

  .standings-head h3{
    font-size:18px;
  }

  .standings-head>small{
    font-size:7px;
  }

  .standings-table{
    border-radius:14px;
  }

  /* Mobile standings prioritize rank / team / record / points for.
     PA and streak remain available on wider screens. */
  .standings-row{
    grid-template-columns:34px minmax(0,1fr) 58px 62px!important;
    gap:7px;
    min-height:50px;
    padding:7px 9px;
  }

  .standings-row>*:nth-child(n+5){
    display:none!important;
  }

  .standings-header{
    min-height:30px;
    font-size:7px;
  }

  .standings-rank{
    font-size:14px;
  }

  .standings-team-name>b{
    font-size:12px;
  }

  .standings-team-name>small{
    display:none;
  }

  .standings-record{
    font-size:11px;
  }

  .standings-points{
    font-size:10px;
    text-align:right;
  }
}



/* ==========================================================
   COCO v96 · Power analysis simplification
   Conclusion first, math second.
   ========================================================== */

/* Public six-signal cards: keep only label + score/rank. */
.rank-signal-grid .rank-component-public{
  min-height:74px!important;
  padding:14px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
}

.rank-signal-grid .rank-component-public>small{
  display:none!important;
}

.rank-signal-grid .rank-component-public>span{
  color:#969eae!important;
  font:700 9px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.rank-signal-grid .rank-component-public>b{
  font-size:20px!important;
  line-height:1!important;
}

/* Starting 7 / Top-End Talent rows are now disclosure rows. */
.rank-audit-card .rank-audit-row-clean{
  display:block!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
  background:transparent!important;
}

.rank-audit-card .rank-audit-row-clean:first-of-type{
  border-top:1px solid rgba(255,255,255,.055)!important;
}

.rank-audit-row-clean>summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 92px 84px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:56px!important;
  padding:10px 4px!important;
  cursor:pointer!important;
}

.rank-audit-row-clean>summary::-webkit-details-marker{
  display:none!important;
}

.rank-audit-player{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}

.rank-audit-player>b{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:13px!important;
}

.rank-audit-player>small{
  color:#777f90!important;
  font-size:8px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.rank-audit-proj,
.rank-audit-edge,
.rank-elite-value{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:3px!important;
}

.rank-audit-proj>small,
.rank-audit-edge>small,
.rank-elite-value>small{
  color:#747d8f!important;
  font:700 7px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.06em!important;
}

.rank-audit-proj>b{
  color:#c4cad5!important;
  font:700 13px/1 'JetBrains Mono',monospace!important;
}

.rank-audit-edge{
  color:#92dcff!important;
  font:800 16px/1 'JetBrains Mono',monospace!important;
}

.rank-elite-value{
  color:#92dcff!important;
  font:800 16px/1 'JetBrains Mono',monospace!important;
}

.rank-audit-detail{
  margin:0 4px 10px!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.025)!important;
  color:#8f97a7!important;
  font-size:9px!important;
  line-height:1.45!important;
}

.rank-audit-detail>b{
  color:#c9d0db!important;
}

/* Elite only needs name + value in the default view. */
.rank-elite-row>summary{
  grid-template-columns:minmax(0,1fr) 110px!important;
}

/* Position rooms become compact scouting summaries until opened. */
.rank-room-summary{
  overflow:hidden!important;
}

.rank-room-summary>summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:68px!important;
  padding:12px 14px!important;
  cursor:pointer!important;
}

.rank-room-summary>summary::-webkit-details-marker{
  display:none!important;
}

.rank-room-summary>summary::after{
  content:'+'!important;
  position:absolute!important;
  right:10px!important;
  bottom:8px!important;
  color:#697183!important;
  font:700 11px/1 'JetBrains Mono',monospace!important;
}

.rank-room-summary[open]>summary::after{
  content:'–'!important;
}

.rank-room-summary{
  position:relative!important;
}

.rank-room-title,
.rank-room-score{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}

.rank-room-title>b{
  font-size:14px!important;
}

.rank-room-title>small{
  color:#929aaa!important;
  font-size:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.rank-room-score{
  align-items:flex-end!important;
  padding-right:18px!important;
}

.rank-room-score>b{
  color:var(--harvest-gold)!important;
  font-size:15px!important;
}

.rank-room-score>small{
  color:#7f8797!important;
  font:700 8px/1 'JetBrains Mono',monospace!important;
}

.rank-room-summary:not([open]) .rank-player-list{
  display:none!important;
}

.rank-room-summary[open] .rank-player-list{
  border-top:1px solid rgba(255,255,255,.055)!important;
}

/* Remove confidence clutter from public room rows. */
.rank-room-summary .rank-player-val small{
  opacity:.72!important;
}

/* Slightly tighten the public audit cards. */
.rank-audit-public .rank-audit-card{
  padding:16px!important;
}

.rank-audit-public .rank-audit-card h4{
  margin-bottom:8px!important;
}

@media(max-width:720px){
  .rank-signal-grid{
    gap:7px!important;
  }

  .rank-signal-grid .rank-component-public{
    min-height:66px!important;
    padding:11px 12px!important;
  }

  .rank-signal-grid .rank-component-public>b{
    font-size:17px!important;
  }

  .rank-audit-row-clean>summary{
    grid-template-columns:minmax(0,1fr) 72px 68px!important;
    gap:8px!important;
    min-height:52px!important;
  }

  .rank-audit-player>b{
    font-size:12px!important;
  }

  .rank-audit-proj>b{
    font-size:11px!important;
  }

  .rank-audit-edge,
  .rank-elite-value{
    font-size:14px!important;
  }

  .rank-elite-row>summary{
    grid-template-columns:minmax(0,1fr) 94px!important;
  }

  .rank-room-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .rank-room-summary>summary{
    min-height:62px!important;
    padding:10px 12px!important;
  }
}


/* ==========================================================
   COCO v97 · Matchup detail VS centering
   Give the VS treatment a real center column instead of
   allowing the badge to overflow a narrow grid track.
   ========================================================== */

.matchup-detail-teams{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(118px,132px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
}

.matchup-detail-vs{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  min-width:0!important;
}

.matchup-detail-vs .vs-badge.vs-badge-minimal{
  min-width:132px!important;
  width:132px!important;
  margin:0 auto 8px!important;
}

.matchup-detail-vs .vs-badge-minimal .vs-badge-core{
  margin:0 auto!important;
}

.matchup-detail-vs small{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  margin:4px auto 0!important;
}

@media(max-width:600px){
  .matchup-detail-teams{
    grid-template-columns:minmax(0,1fr) minmax(104px,118px) minmax(0,1fr)!important;
    gap:8px!important;
  }

  .matchup-detail-vs .vs-badge.vs-badge-minimal{
    min-width:104px!important;
    width:104px!important;
    margin:0 auto 6px!important;
  }

  .matchup-detail-vs .vs-badge-minimal .vs-badge-core{
    width:42px!important;
    height:42px!important;
    font-size:13px!important;
  }
}


/* ==========================================================
   COCO v98 · Player Rankings cleanup
   Scan-first sports board, less dashboard chrome.
   ========================================================== */

/* Page heading */
#boardView{
  padding-top:6px!important;
}

#boardView .workspace-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 12px!important;
  padding:0 2px!important;
}

#boardView .workspace-heading>div:first-child{
  min-width:0!important;
}

#boardView .workspace-heading .eyebrow{
  margin-bottom:5px!important;
}

#boardView .workspace-heading h1{
  margin:0!important;
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}

#boardView .workspace-heading p{
  display:none!important;
}

#boardView .player-pool-meta{
  flex:0 0 auto!important;
  margin:0 0 2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#777f8f!important;
  font:700 8px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

/* Remove the giant outer control card feeling. */
#boardView .board-workspace{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Filters: two concise rows on mobile, compact toolbar on desktop. */
#boardView .draft-toolbar{
  position:sticky!important;
  top:82px!important;
  z-index:15!important;
  display:grid!important;
  grid-template-columns:minmax(220px,1.2fr) 150px minmax(260px,auto) minmax(260px,auto)!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 10px!important;
  padding:8px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:14px!important;
  background:rgba(8,10,15,.94)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}

#boardView #draftSearch{
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:13px!important;
  background:rgba(255,255,255,.04)!important;
}

#boardView .espn-filter-wrap{
  min-height:40px!important;
  display:grid!important;
  grid-template-columns:auto 46px!important;
  align-items:center!important;
  gap:7px!important;
  padding:0 9px!important;
  border:1px solid rgba(255,255,255,.065)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.025)!important;
}

#boardView .espn-filter-wrap label{
  color:#818999!important;
  font:700 7px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
}

#boardView #espnMaxFilter{
  width:46px!important;
  min-width:46px!important;
  height:30px!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.045)!important;
  color:#d8dce5!important;
  text-align:center!important;
  font:700 10px/1 'JetBrains Mono',monospace!important;
}

#boardView .player-availability-chips,
#boardView .pos-chips{
  display:grid!important;
  gap:4px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

#boardView .player-availability-chips{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

#boardView .pos-chips{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

#boardView .availability-chip,
#boardView .pos-chip{
  min-width:0!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 9px!important;
  border:1px solid rgba(255,255,255,.065)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.02)!important;
  color:#8d95a5!important;
  font:700 8px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;
}

#boardView .availability-chip.active,
#boardView .pos-chip.active{
  background:rgba(246,202,55,.075)!important;
  border-color:rgba(246,202,55,.28)!important;
  color:var(--harvest-gold)!important;
  box-shadow:none!important;
}

/* Tier headers become true dividers, not another card. */
#boardView .ranking-tier-row{
  margin:12px 0 5px!important;
}

#boardView .ranking-tier-divider.dynamic-tier{
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  padding:0 8px!important;
  border:0!important;
  border-left:3px solid var(--tier-accent)!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.018)!important;
  box-shadow:none!important;
}

#boardView .ranking-tier-divider.dynamic-tier>span{
  font-size:9px!important;
  letter-spacing:.10em!important;
}

#boardView .ranking-tier-divider.dynamic-tier small{
  position:static!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  margin-left:auto!important;
  color:#717988!important;
  font-size:7px!important;
  letter-spacing:.06em!important;
}

#boardView .ranking-tier-divider.dynamic-tier small em{
  display:none!important;
}

/* Player rows: flatter, tighter, still retain tier identity. */
#boardView .board-table tbody tr.player-ranking-row{
  min-height:60px!important;
  height:60px!important;
  max-height:60px!important;
  margin:0 0 5px!important;
  padding:7px 9px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:12px!important;
  background:#0a0c10!important;
  box-shadow:none!important;
}

#boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
  box-shadow:
    inset 3px 0 0 color-mix(in srgb,var(--tier-color) 76%,transparent)!important;
  border-color:rgba(255,255,255,.075)!important;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 4%,transparent),transparent 30%),
    #0a0c10!important;
}

/* Disable ornamental tier glow bars from the ranking list only. */
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface::before,
#boardView .board-table tbody tr.player-ranking-row.tier-player-surface::after{
  display:none!important;
}

#boardView .ranking-overall span{
  background:rgba(255,255,255,.04)!important;
  box-shadow:none!important;
}

#boardView .ranking-player-name{
  font-size:15px!important;
  font-weight:700!important;
}

#boardView .ranking-player-sub{
  margin-top:4px!important;
  color:#747c8c!important;
  font-size:7.5px!important;
  gap:4px!important;
}

/* Tier chip stays, but stops competing with the player name. */
#boardView .player-tier-chip{
  margin-left:6px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  font-size:7px!important;
  letter-spacing:.08em!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Injury/opportunity badges become secondary metadata. */
#boardView .availability-badge,
#boardView .ranking-player-sub [class*="badge"]{
  transform:scale(.88)!important;
  transform-origin:left center!important;
  opacity:.78!important;
}

/* Value + position rank remain the two strong right-side signals. */
#boardView .board-table td:nth-child(5)::before{
  content:"VALUE"!important;
  color:#727a89!important;
}

#boardView .board-table td:nth-child(5) b{
  color:var(--harvest-gold)!important;
  font-size:13px!important;
}

#boardView .clean-pos-rank{
  min-width:43px!important;
  height:27px!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

/* The list itself should not live inside another framed panel. */
#boardView .board-panel{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

@media(max-width:760px){
  #boardView{
    padding-top:5px!important;
  }

  #boardView .workspace-heading{
    align-items:flex-end!important;
    margin:0 0 10px!important;
  }

  #boardView .workspace-heading h1{
    font-size:31px!important;
  }

  #boardView .player-pool-meta{
    margin-bottom:1px!important;
    font-size:7px!important;
  }

  #boardView .draft-toolbar{
    position:static!important;
    grid-template-columns:minmax(0,1fr) 105px!important;
    gap:6px!important;
    padding:7px!important;
    margin-bottom:9px!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }

  #boardView #draftSearch{
    grid-column:1/2!important;
    min-height:38px!important;
    height:38px!important;
  }

  #boardView .espn-filter-wrap{
    grid-column:2/3!important;
    min-height:38px!important;
    height:38px!important;
    grid-template-columns:1fr!important;
    gap:1px!important;
    padding:4px 6px!important;
  }

  #boardView .espn-filter-wrap label{
    font-size:5.5px!important;
    text-align:center!important;
  }

  #boardView #espnMaxFilter{
    width:100%!important;
    min-width:0!important;
    height:21px!important;
    padding:0!important;
    background:transparent!important;
    font-size:10px!important;
  }

  #boardView .player-availability-chips{
    grid-column:1/-1!important;
  }

  #boardView .pos-chips{
    grid-column:1/-1!important;
  }

  #boardView .availability-chip,
  #boardView .pos-chip{
    min-height:32px!important;
    height:32px!important;
    padding:0 5px!important;
    border-radius:8px!important;
    font-size:7px!important;
  }

  #boardView .ranking-tier-row{
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
    margin:10px 0 5px!important;
  }

  #boardView .ranking-tier-row td{
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
  }

  #boardView .ranking-tier-divider.dynamic-tier{
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
  }

  #boardView .board-table tbody tr.player-ranking-row{
    grid-template-columns:31px minmax(0,1fr) auto auto!important;
    column-gap:7px!important;
    min-height:58px!important;
    height:58px!important;
    max-height:58px!important;
    padding:7px 8px!important;
    border-radius:11px!important;
  }

  #boardView .ranking-overall{
    width:31px!important;
  }

  #boardView .ranking-overall span{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    border-radius:8px!important;
    font-size:12px!important;
  }

  #boardView .ranking-player-name{
    font-size:14px!important;
  }

  #boardView .ranking-player-sub{
    font-size:7px!important;
  }

  #boardView .player-tier-chip{
    margin-left:5px!important;
    padding:2px 6px!important;
    font-size:6px!important;
  }

  #boardView .board-table td:nth-child(5) b{
    font-size:12px!important;
  }

  #boardView .clean-pos-rank{
    min-width:40px!important;
    height:26px!important;
    padding:0 6px!important;
    font-size:8px!important;
  }
}

@media(max-width:390px){
  #boardView .workspace-heading h1{
    font-size:29px!important;
  }

  #boardView .player-pool-meta{
    display:none!important;
  }

  #boardView .draft-toolbar{
    grid-template-columns:minmax(0,1fr) 94px!important;
  }
}


/* ==========================================================
   COCO v99 · ESPN Rank select centering
   Fix iOS select baseline/padding so "All" is truly centered.
   ========================================================== */

#boardView .espn-filter-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
}

#boardView .espn-filter-wrap label{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
}

#boardView #espnMaxFilter{
  display:block!important;
  width:100%!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0 18px 0 0!important;
  border:0!important;
  background-color:transparent!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:22px!important;
  text-align:center!important;
  text-align-last:center!important;
  vertical-align:middle!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}

/* Draw our own caret so native iOS select chrome cannot shift the value. */
#boardView .espn-filter-wrap::after{
  content:'⌄'!important;
  position:absolute!important;
  right:10px!important;
  bottom:7px!important;
  color:#8d95a5!important;
  font-size:13px!important;
  line-height:1!important;
  pointer-events:none!important;
}

@media(max-width:760px){
  #boardView .espn-filter-wrap{
    height:38px!important;
    min-height:38px!important;
    padding:4px 8px 3px!important;
    justify-content:center!important;
  }

  #boardView .espn-filter-wrap label{
    flex:0 0 auto!important;
    font-size:5.5px!important;
    line-height:1!important;
  }

  #boardView #espnMaxFilter{
    flex:0 0 20px!important;
    height:20px!important;
    min-height:20px!important;
    line-height:20px!important;
    padding:0 16px 0 0!important;
    font-size:10px!important;
  }

  #boardView .espn-filter-wrap::after{
    right:8px!important;
    bottom:5px!important;
    font-size:12px!important;
  }
}


/* ==========================================================
   COCO v100 · Player Rankings heading alignment
   Match the left-aligned page hierarchy used throughout COCO.
   ========================================================== */

#boardView .workspace-heading.players-heading{
  display:block!important;
  margin:0 0 12px!important;
  padding:0 2px!important;
  text-align:left!important;
}

#boardView .workspace-heading.players-heading>div{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  text-align:left!important;
}

#boardView .workspace-heading.players-heading .eyebrow{
  margin:0 0 5px!important;
  text-align:left!important;
}

#boardView .workspace-heading.players-heading h1{
  margin:0!important;
  text-align:left!important;
}

#boardView .workspace-heading.players-heading .player-pool-meta{
  display:block!important;
  width:auto!important;
  margin:10px 0 0!important;
  text-align:left!important;
  white-space:normal!important;
}

@media(max-width:760px){
  #boardView .workspace-heading.players-heading{
    margin-bottom:10px!important;
  }

  #boardView .workspace-heading.players-heading .player-pool-meta{
    margin-top:8px!important;
  }
}


/* ==========================================================
   COCO v101 · Matchups nav simplification + ESPN-style standings
   ========================================================== */

/* Matchups local nav now has only two meaningful destinations. */
#seasonMatchupsPane .matchup-local-nav{
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
}

#seasonMatchupsPane .matchup-local-nav button{
  min-height:36px!important;
}

/* Week controls stand on their own; no extra "Week" nav layer needed. */
#seasonMatchupsPane .matchup-week-nav{
  margin-top:8px!important;
}

/* Standings: real table treatment */
#seasonStandingsPane .standings-head{
  margin:8px 0 10px!important;
}

#seasonStandingsPane .standings-table{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}

#seasonStandingsPane .standings-scroll{
  width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:14px!important;
  background:#0b0d11!important;
}

#seasonStandingsPane .standings-table-espn{
  width:100%!important;
  min-width:640px!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  color:var(--text)!important;
}

#seasonStandingsPane .standings-table-espn thead{
  background:rgba(255,255,255,.045)!important;
}

#seasonStandingsPane .standings-table-espn th{
  height:34px!important;
  padding:0 10px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  color:#c9ced8!important;
  font:700 8px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.07em!important;
  text-align:left!important;
  white-space:nowrap!important;
}

#seasonStandingsPane .standings-table-espn td{
  height:56px!important;
  padding:7px 10px!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
  color:#b7becb!important;
  font-size:11px!important;
  vertical-align:middle!important;
}

#seasonStandingsPane .standings-table-espn tbody tr:last-child td{
  border-bottom:0!important;
}

#seasonStandingsPane .standings-table-espn tbody tr:nth-child(odd){
  background:rgba(255,255,255,.012)!important;
}

#seasonStandingsPane .standings-table-espn tbody tr.mine{
  background:linear-gradient(90deg,rgba(245,201,52,.075),rgba(245,201,52,.018))!important;
  box-shadow:inset 3px 0 0 rgba(245,201,52,.72)!important;
}

#seasonStandingsPane .standings-table-espn .st-rk{
  width:44px!important;
  text-align:center!important;
}

#seasonStandingsPane .standings-table-espn .st-team{
  width:270px!important;
}

#seasonStandingsPane .standings-table-espn .st-record{
  width:84px!important;
  text-align:center!important;
}

#seasonStandingsPane .standings-table-espn .st-pct{
  width:76px!important;
  text-align:center!important;
}

#seasonStandingsPane .standings-table-espn .st-gb{
  width:58px!important;
  text-align:center!important;
}

#seasonStandingsPane .standings-table-espn .st-pf{
  width:90px!important;
  text-align:right!important;
}

#seasonStandingsPane .standings-team-cell{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}

#seasonStandingsPane .standings-team-badge{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.04)!important;
  color:#d6dbe5!important;
  font:800 11px/1 'Space Grotesk',sans-serif!important;
}

#seasonStandingsPane .standings-team-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}

#seasonStandingsPane .standings-team-copy b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#e6e8ee!important;
  font-size:12px!important;
}

#seasonStandingsPane .standings-team-copy small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#818999!important;
  font-size:8px!important;
}

@media(max-width:720px){
  #seasonStandingsPane .standings-head h3{
    font-size:18px!important;
  }

  #seasonStandingsPane .standings-scroll{
    border-radius:12px!important;
  }

  #seasonStandingsPane .standings-table-espn{
    min-width:610px!important;
  }

  #seasonStandingsPane .standings-table-espn th{
    height:31px!important;
    padding:0 8px!important;
    font-size:7px!important;
  }

  #seasonStandingsPane .standings-table-espn td{
    height:52px!important;
    padding:6px 8px!important;
    font-size:10px!important;
  }

  #seasonStandingsPane .standings-table-espn .st-team{
    width:250px!important;
  }

  #seasonStandingsPane .standings-team-badge{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
    font-size:10px!important;
  }

  #seasonStandingsPane .standings-team-copy b{
    font-size:11px!important;
  }
}


/* ==========================================================
   COCO v102 · League tab navigation state fix
   Standings / Power now exit standalone Matchups correctly.
   ========================================================== */

#seasonView .league-primary-tabs{
  pointer-events:auto!important;
  position:relative!important;
  z-index:6!important;
}

#seasonView.matchups-standalone .league-primary-tabs{
  display:grid!important;
}

/* Once a League tab is chosen, normal active-pane rules take over. */
#seasonView:not(.matchups-standalone) .season-pane.active{
  display:block!important;
}


/* ==========================================================
   COCO v103 · Matchups local-nav simplification
   Remove redundant League shortcut; bottom nav already owns League.
   ========================================================== */

#seasonMatchupsPane .matchup-local-nav-single{
  display:block!important;
  padding:4px!important;
}

#seasonMatchupsPane .matchup-local-nav-single button{
  width:100%!important;
  min-height:36px!important;
}




/* ==========================================================
   COCO v109 · Stabilization release
   Final UX/design-system layer. No Power math changes.
   ========================================================== */
:root{
  --ui-radius-card:18px;
  --ui-radius-control:11px;
  --ui-gap-xs:6px;
  --ui-gap-sm:10px;
  --ui-gap-md:16px;
  --ui-gap-lg:22px;
  --ui-page-title:34px;
  --ui-page-title-mobile:31px;
  --ui-section-title:21px;
  --ui-control-h:40px;
  --ui-safe-bottom:calc(84px + env(safe-area-inset-bottom));
}

/* Layout safety / consistency */
.workspace-view,
.product-dashboard,
.home-main-grid,
.season-grid,
.season-main-card,
.product-card,
.home-flat-section,
.rank-card,
.matchup-card,
.board-workspace,
.board-panel{min-width:0;max-width:100%}

:where(#teamView,#seasonView,#moreView,#boardView) .workspace-heading{
  margin:0 0 14px!important;
  padding:4px 2px 0!important;
  text-align:left!important;
}
:where(#teamView,#seasonView,#moreView,#boardView) .workspace-heading .eyebrow{
  margin:0 0 5px!important;
}
:where(#teamView,#seasonView,#moreView,#boardView) .workspace-heading h1{
  margin:0!important;
  font-size:var(--ui-page-title)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
.product-card,.season-card,.rank-card,.matchup-card,.home-flat-section{
  border-radius:var(--ui-radius-card)!important;
}
button,input,select,textarea{font-family:inherit}
button{touch-action:manipulation}
button:focus-visible,[role="button"]:focus-visible,summary:focus-visible{
  outline:2px solid rgba(215,181,109,.62)!important;
  outline-offset:2px!important;
}

/* Loading skeletons */
.app-skeleton-stack{display:grid;gap:8px;width:100%}
.app-skeleton{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
}
.app-skeleton::after{
  content:"";
  position:absolute;inset:0;
  transform:translateX(-105%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
  animation:cocoSkeleton 1.35s ease-in-out infinite;
}
.row-skeleton{height:58px}
.card-skeleton{height:108px}
.app-skeleton.row-skeleton span{display:none}
@keyframes cocoSkeleton{to{transform:translateX(105%)}}
body.league-loading #seasonRefreshBtn{opacity:.55;pointer-events:none}
body.league-loading #seasonRefreshBtn::first-letter{animation:cocoSpin .8s linear infinite}
@keyframes cocoSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .app-skeleton::after{animation:none}
}

/* Intentional empty/error states */
.app-state{
  width:100%;
  min-height:86px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:14px;
  border:1px dashed rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  color:#9aa2b2;
  text-align:left;
}
.app-state-icon{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.10);
  color:#aab1bf;
  font:800 12px/1 'JetBrains Mono',monospace;
}
.app-state b{display:block;color:#d9dde6;font-size:12px}
.app-state small{display:block;margin-top:4px;color:#7f8797;font-size:10px;line-height:1.4}
.app-state.error{border-color:rgba(238,106,116,.20)}
.app-state.error .app-state-icon{color:#ff8e98;border-color:rgba(238,106,116,.25)}
.app-state-action{
  min-height:32px;padding:0 10px;border-radius:9px;
  border:1px solid rgba(215,181,109,.22);
  background:rgba(215,181,109,.06);color:#d9c27d;
  font:700 8px 'JetBrains Mono',monospace;letter-spacing:.04em;
}

/* Team identity */
.team-avatar{
  flex:0 0 34px;
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--team-accent) 55%,rgba(255,255,255,.08));
  background:var(--team-avatar-bg);
  color:color-mix(in srgb,var(--team-accent) 72%,white);
  font:800 10px/1 'Space Grotesk',sans-serif;
  letter-spacing:-.02em;
}
.team-avatar.compact{flex-basis:28px;width:28px;height:28px;font-size:8px}
.team-inline-link{
  appearance:none;border:0;background:none;padding:0;margin:0;
  color:inherit;font:inherit;font-weight:700;text-align:inherit;cursor:pointer;
}
.team-inline-link:hover{color:#fff}
.standings-team-cell .team-avatar{margin-right:1px}
#seasonStandingsPane .standings-team-badge{display:none!important}
#seasonStandingsPane .standings-table-espn tbody tr[role="button"]{cursor:pointer}
#seasonStandingsPane .standings-table-espn tbody tr[role="button"]:hover{
  background:rgba(255,255,255,.025)!important;
}

/* Home Power rows now use team identity */
.home-power-team-row{
  width:100%;border:0;background:transparent;color:inherit;text-align:left;
  display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;
  align-items:center!important;gap:9px!important;cursor:pointer;
}
.home-power-team-row .home-power-score{justify-self:end}

/* League Pulse */
.home-league-pulse-section{margin-top:18px!important}
.home-pulse-updated{
  color:#71798a;font:700 8px/1 'JetBrains Mono',monospace;
  letter-spacing:.05em;text-transform:uppercase;
}
.home-pulse-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.home-pulse-item{
  min-width:0;min-height:88px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:5px;padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);border-radius:13px;
  background:rgba(255,255,255,.018);color:inherit;text-align:left;cursor:pointer;
  box-shadow:none;
}
.home-pulse-item:hover{border-color:rgba(215,181,109,.20);background:rgba(215,181,109,.025)}
.home-pulse-item.static{cursor:default}
.home-pulse-item small{color:#777f8f;font:700 7px/1 'JetBrains Mono',monospace;letter-spacing:.07em}
.home-pulse-item b{
  width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#e5e7ec;font-size:11px;line-height:1.2
}
.home-pulse-item span{color:#858d9c;font-size:9px;line-height:1.3}
.pulse-skeleton{height:88px}

/* Matchup identity + live/final state */
.matchup-team-name-line{
  display:flex;align-items:center;gap:7px;min-width:0;
}
.matchup-team-name-line .team-inline-link{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-width:0;font-size:14px;line-height:1.12;
}
.matchup-team-name-line.away{flex-direction:row-reverse}
.matchup-team-name-line.away .team-inline-link{text-align:right}
.matchup-card.live{border-color:rgba(69,212,138,.24)!important}
.matchup-card.final{opacity:.92}
.matchup-context-tag.live{
  border-color:rgba(69,212,138,.24)!important;
  background:rgba(69,212,138,.07)!important;color:#75dfa9!important;
}
.matchup-context-tag.final{
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.035)!important;color:#9ca4b2!important;
}
.home-matchup-team-id{display:flex;align-items:center;gap:9px;min-width:0}
.home-matchup-team-id>div{min-width:0}
.home-matchup-team .team-inline-link{
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* My Team: no ghost copy/empty paragraphs */
#teamView #myTeamSummary:empty{display:none!important}
#teamView .team-overview-card>.section-divider{margin-top:10px!important}
#teamView .product-room>p:only-child{margin:0;color:#727a89}

/* Player / table empty state */
#boardView .ranking-empty-row td{padding:10px 0!important}
#boardView .ranking-empty-row .app-state{margin:0}

/* Modal / scroll / safe-area QA */
.matchup-detail,.player-profile-modal{overscroll-behavior:contain}
.matchup-detail-body,.player-profile-body{min-width:0;max-width:100%}
.standings-scroll,.coco-value-calibration-table-wrap{overscroll-behavior-x:contain}
@media(max-width:760px){
  :root{--ui-page-title:var(--ui-page-title-mobile)}
  .workspace-view{padding-bottom:var(--ui-safe-bottom)!important}
  :where(#teamView,#seasonView,#moreView,#boardView) .workspace-heading h1{
    font-size:var(--ui-page-title-mobile)!important;
  }
  .home-pulse-grid{grid-template-columns:1fr 1fr}
  .home-pulse-item{min-height:82px;padding:10px}
  .home-pulse-item b{font-size:10px}
  .app-state{grid-template-columns:30px minmax(0,1fr);min-height:80px}
  .app-state-action{grid-column:1/-1;width:100%}
  .matchup-team-name-line{gap:5px}
  .matchup-team-name-line .team-avatar.compact{display:none}
  #seasonStandingsPane .standings-table-espn{min-width:600px!important}
  .matchup-detail{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  .home-pulse-grid{grid-template-columns:1fr}
  .home-pulse-item{min-height:70px}
}
@media(min-width:761px){
  .home-main-grid{align-items:start}
  #seasonView .season-main-card{padding:20px!important}
}

/* v109 standalone Matchups is a true dedicated page. */
#seasonView.matchups-standalone .league-center-head,
#seasonView.matchups-standalone .season-toolbar,
#seasonView.matchups-standalone .league-primary-tabs,
#seasonView.matchups-standalone .league-secondary-tabs,
#seasonView.matchups-standalone .season-side-card{display:none!important}
#seasonView.matchups-standalone .season-main-card{width:100%!important;max-width:100%!important}


/* ==========================================================
   COCO v110 · Final density + consolidation pass
   ========================================================== */

/* HOME — remove duplicated brand mass and tighten the scan path */
#homeView .harvest-league-hero{
  min-height:auto!important;
  padding-top:20px!important;
  padding-bottom:17px!important;
}
#homeView .harvest-league-kicker{margin-top:0!important}
#homeView .harvest-league-title{margin-top:5px!important}
#homeView .home-main-grid{gap:14px!important}
#homeView .home-power-preview{
  padding-top:1px!important;
  padding-bottom:9px!important;
}
#homeView .home-power-preview h2{margin-bottom:6px!important}
#homeView #homeTopTeams{gap:0!important}
#homeView #homeTopTeams .product-row{
  min-height:45px!important;
  padding:7px 3px!important;
  border-radius:0!important;
  border-bottom:1px solid rgba(255,255,255,.045)!important;
}
#homeView #homeTopTeams .product-row:last-child{border-bottom:0!important}
#homeView #homeTopTeams .meta{font-size:8px!important;margin-top:2px!important}

#homeView .home-league-pulse-section{
  margin-top:10px!important;
  padding-bottom:9px!important;
}
#homeView .home-league-pulse-section .product-card-title-row{margin-bottom:7px!important}
#homeView .home-pulse-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:7px!important;
}
#homeView .home-pulse-item{
  min-height:66px!important;
  padding:8px 10px!important;
  gap:3px!important;
  border-radius:11px!important;
}
#homeView .home-pulse-item b{font-size:10px!important}
#homeView .home-pulse-item span{font-size:8px!important}
#homeView .pulse-skeleton{height:66px!important}

/* My Core now matches the flatter sports-table language. */
#homeView #homeCore{gap:0!important}
#homeView #homeCore .product-row{
  min-height:52px!important;
  padding:9px 3px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
#homeView #homeCore .product-row::before,
#homeView #homeCore .product-row::after{display:none!important}
#homeView #homeCore .product-row:last-child{border-bottom:0!important}

/* TEAM — Starting 7 first, position rooms summarized until requested. */
#teamView .team-roster-flat{padding-top:9px!important}
#teamView .product-room-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#teamView .team-room-disclosure{
  padding:0!important;
  overflow:hidden;
  border-radius:14px!important;
  background:rgba(255,255,255,.018)!important;
  border:1px solid rgba(255,255,255,.065)!important;
  box-shadow:none!important;
}
#teamView .team-room-disclosure>summary{
  list-style:none;
  min-height:64px;
  display:grid;
  grid-template-columns:minmax(76px,.55fr) minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  cursor:pointer;
  user-select:none;
}
#teamView .team-room-disclosure>summary::-webkit-details-marker{display:none}
#teamView .team-room-title,
#teamView .team-room-leader{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
#teamView .team-room-title b{
  font-size:12px;
  color:#e3e6ec;
}
#teamView .team-room-title small,
#teamView .team-room-leader small{
  color:#707888;
  font:700 7px/1.2 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.055em;
}
#teamView .team-room-leader{text-align:right;align-items:flex-end}
#teamView .team-room-leader b{
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#b9c0cc;
  font-size:10px;
  font-weight:700;
}
#teamView .team-room-chevron{
  position:relative;
  width:14px;height:14px;
}
#teamView .team-room-chevron::before{
  content:"";
  position:absolute;
  left:3px;top:2px;
  width:6px;height:6px;
  border-right:1.5px solid #747c8b;
  border-bottom:1.5px solid #747c8b;
  transform:rotate(45deg);
  transition:transform .18s ease,top .18s ease;
}
#teamView .team-room-disclosure[open] .team-room-chevron::before{
  top:5px;
  transform:rotate(225deg);
}
#teamView .team-room-body{
  padding:0 10px 7px;
  border-top:1px solid rgba(255,255,255,.045);
}
#teamView .team-room-body .product-row{
  min-height:48px!important;
  padding:8px 2px!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* LEAGUE — one main card, actual league name, summary immediately below. */
#seasonView:not(.matchups-standalone) .season-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
#seasonView .league-center-head-merged{
  align-items:flex-start!important;
  margin-bottom:10px!important;
}
#seasonView .league-center-head-merged h2{
  margin:4px 0 3px!important;
  font-size:19px!important;
}
#seasonView .league-center-head-merged p{
  margin:0!important;
  color:#737b8b!important;
  font-size:9px!important;
}
#seasonView .league-inline-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:0 0 10px;
}
#seasonView .league-inline-metric{
  min-height:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:9px 11px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.018);
}
#seasonView .league-inline-metric b{
  color:#e6e8ed;
  font-size:17px;
  line-height:1;
}
#seasonView .league-inline-metric span{
  margin-top:5px;
  color:#6f7787;
  font:700 7px/1 'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#seasonView:not(.matchups-standalone) .season-toolbar{margin-top:0!important}
#seasonView:not(.matchups-standalone) .season-main-card{max-width:none!important}

/* PLAYERS — desktop keeps the full controls, mobile becomes a sticky quick rail. */
#boardView .player-quick-jumps{display:none}
@media(max-width:760px){
  #homeView .harvest-league-hero{
    padding-top:14px!important;
    padding-bottom:13px!important;
  }
  #homeView .harvest-league-title{font-size:25px!important}
  #homeView .home-league-pulse-section{margin-top:5px!important}
  #homeView .home-pulse-grid{
    display:flex!important;
    overflow-x:auto;
    gap:7px!important;
    padding-bottom:2px;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  #homeView .home-pulse-grid::-webkit-scrollbar{display:none}
  #homeView .home-pulse-item,
  #homeView .pulse-skeleton{
    flex:0 0 min(76vw,260px);
    min-height:62px!important;
    scroll-snap-align:start;
  }

  #teamView .product-room-grid{grid-template-columns:1fr!important;gap:7px!important}
  #teamView .team-room-disclosure>summary{min-height:58px;padding:9px 10px}
  #teamView .team-room-leader b{font-size:10px}

  #seasonView .league-inline-summary{
    grid-template-columns:repeat(4,minmax(68px,1fr));
    overflow-x:auto;
    gap:6px;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  #seasonView .league-inline-summary::-webkit-scrollbar{display:none}
  #seasonView .league-inline-metric{
    min-width:68px;
    min-height:49px;
    padding:7px 9px;
  }
  #seasonView .league-inline-metric b{font-size:15px}

  #boardView .draft-toolbar{
    position:sticky!important;
    top:58px!important;
    z-index:28!important;
    grid-template-columns:minmax(0,1fr) 88px!important;
    padding:8px!important;
    gap:7px!important;
    margin-bottom:8px!important;
    border-radius:13px!important;
    background:rgba(7,9,14,.97)!important;
    backdrop-filter:blur(18px)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.30)!important;
  }
  #boardView #draftSearch{
    grid-column:1/2!important;
    min-height:39px!important;
  }
  #boardView .espn-filter-wrap{
    grid-column:2/3!important;
    min-height:39px!important;
  }
  #boardView .player-availability-chips,
  #boardView .pos-chips{
    display:none!important;
  }
  #boardView .player-quick-jumps{
    grid-column:1/-1;
    display:flex!important;
    gap:6px;
    width:100%;
    overflow-x:auto;
    padding:1px 0 2px;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  #boardView .player-quick-jumps::-webkit-scrollbar{display:none}
  #boardView .player-quick-jump{
    flex:0 0 auto;
    min-height:31px;
    padding:0 10px;
    border-radius:9px;
    border:1px solid rgba(255,255,255,.065);
    background:rgba(255,255,255,.018);
    color:#878f9f;
    font:700 8px/1 'JetBrains Mono',monospace;
    letter-spacing:.035em;
  }
  #boardView .player-quick-jump.active{
    border-color:rgba(215,181,109,.30);
    background:rgba(215,181,109,.08);
    color:#e5ca7c;
  }
  #boardView .player-list-section{scroll-margin-top:150px}
}

@media(max-width:390px){
  #seasonView .league-inline-summary{grid-template-columns:repeat(4,72px)}
  #boardView .draft-toolbar{grid-template-columns:minmax(0,1fr) 80px!important}
}


#seasonView.matchups-standalone .league-inline-summary{display:none!important}


/* ==========================================================
   COCO v110 · Desktop-only polish
   Purpose: tighten desktop spacing/chrome without changing the
   polished iPhone/mobile layout.
   ========================================================== */
@media (min-width:761px){

  /* The shared app shell already places the sticky top bar in normal flow.
     v110 also reserved 96px above content, which doubled the desktop gap. */
  .content{
    width:min(1320px,calc(100% - 48px))!important;
    max-width:1320px!important;
    padding:30px 0 132px!important;
  }

  /* Keep the home dashboard visually anchored near the header. */
  #homeView .product-dashboard{
    gap:16px!important;
  }

  #homeView .harvest-league-hero{
    padding:18px 22px 17px!important;
    border-radius:20px!important;
  }

  #homeView .harvest-league-title{
    font-size:38px!important;
    line-height:1.02!important;
  }

  #homeView .harvest-product-hero p{
    font-size:14px!important;
    line-height:1.45!important;
  }

  #homeView .home-team-under{
    min-height:48px!important;
    padding:10px 13px!important;
  }

  #homeView .product-stat-row{
    gap:8px!important;
    padding:7px!important;
  }

  #homeView .product-stat{
    min-height:68px!important;
    padding:11px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  #homeView .product-stat b,
  #homeView .product-stat #homePowerRank{
    font-size:22px!important;
    line-height:1!important;
  }

  #homeView .home-main-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.86fr)!important;
    gap:16px!important;
    align-items:start!important;
  }

  #homeView .home-matchup-card,
  #homeView .home-power-preview{
    min-height:0!important;
  }

  #homeView .home-matchup-card{
    padding:17px 18px!important;
  }

  #homeView .home-power-preview{
    padding:14px 16px 10px!important;
  }

  /* Desktop nav should read as a compact dock, not a giant mobile pill. */
  #mobileBottomNav.mobile-bottom-nav{
    width:min(760px,calc(100vw - 56px))!important;
    min-height:58px!important;
    padding:4px!important;
    bottom:14px!important;
    border-radius:22px!important;
  }

  #mobileBottomNav.mobile-bottom-nav button{
    min-height:48px!important;
    padding:5px 8px 4px!important;
    border-radius:18px!important;
    gap:2px!important;
  }

  #mobileBottomNav.mobile-bottom-nav .mobile-nav-icon,
  #mobileBottomNav.mobile-bottom-nav button>span{
    font-size:16px!important;
  }

  #mobileBottomNav.mobile-bottom-nav button>small{
    font-size:7.5px!important;
  }

  /* Prevent fixed dock from visually colliding with the last dashboard row. */
  .workspace-view{
    padding-bottom:24px!important;
  }
}


/* ==========================================================
   COCO v112 · Desktop / mobile nav parity
   Desktop uses the same polished five-destination icon dock
   as iPhone. Navigation behavior is unchanged.
   ========================================================== */
@media (min-width:761px){

  #mobileBottomNav.mobile-bottom-nav{
    left:50%!important;
    right:auto!important;
    bottom:14px!important;
    transform:translateX(-50%)!important;
    width:min(720px,calc(100vw - 56px))!important;
    max-width:720px!important;
    min-height:64px!important;
    padding:5px 7px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    border-radius:22px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    background:linear-gradient(180deg,rgba(12,14,20,.96),rgba(7,9,14,.98))!important;
    box-shadow:0 16px 44px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.035)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    padding:6px 2px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border:0!important;
    border-radius:14px!important;
    background:transparent!important;
    color:#777d8a!important;
    box-shadow:none!important;
    transition:color .18s ease,background .18s ease,transform .12s ease!important;
  }

  #mobileBottomNav.mobile-bottom-nav button::before{
    content:""!important;
    position:absolute!important;
    top:1px!important;
    left:50%!important;
    width:22px!important;
    height:2px!important;
    border-radius:999px!important;
    background:transparent!important;
    transform:translateX(-50%)!important;
  }

  #mobileBottomNav.mobile-bottom-nav .mobile-nav-icon{
    width:22px!important;
    height:22px!important;
    display:grid!important;
    place-items:center!important;
    font-size:0!important;
    line-height:1!important;
    color:currentColor!important;
  }

  #mobileBottomNav.mobile-bottom-nav .mobile-nav-icon svg{
    width:20px!important;
    height:20px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    vector-effect:non-scaling-stroke!important;
  }

  #mobileBottomNav.mobile-bottom-nav button>small{
    color:currentColor!important;
    font:600 8px/1 'Inter',sans-serif!important;
    letter-spacing:.015em!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active{
    background:rgba(255,203,51,.055)!important;
    color:#f7c934!important;
    box-shadow:inset 0 0 0 1px rgba(255,203,51,.055)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active::before{
    background:#f7c934!important;
    box-shadow:0 0 10px rgba(247,201,52,.42)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active>small{
    color:#f4f2ea!important;
    font-weight:700!important;
  }

  #mobileBottomNav.mobile-bottom-nav button:hover{
    color:#c6cad3!important;
    background:rgba(255,255,255,.025)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button.active:hover{
    color:#f7c934!important;
    background:rgba(255,203,51,.075)!important;
  }

  #mobileBottomNav.mobile-bottom-nav button:active{
    transform:scale(.97)!important;
  }
}


/* ==========================================================
   COCO v114 · Home Power Rank movement fix
   Keep the ↑ / ↓ badge beside the Power Rank value, not the
   Power Score cell. CSS-only override of older v89/v91 rules.
   ========================================================== */
#homeView .product-stat-row,
#homeView .product-stat:first-child{
  overflow:visible !important;
}

#homeView .product-stat #homePowerRank{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 !important;
  min-height:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

#homeView .product-stat #homePowerRank > .home-power-rank-value{
  display:inline-block !important;
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  vertical-align:middle !important;
}

#homeView .product-stat #homePowerRank > .rank-move-badge.compact{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  min-width:22px !important;
  height:22px !important;
  margin:0 0 0 6px !important;
  padding:0 !important;
  vertical-align:middle !important;
}

#homeView .product-stat #homePowerRank > .rank-move-badge.compact span{
  font:800 12px/1 'JetBrains Mono', monospace !important;
  letter-spacing:0 !important;
}

@media (min-width:721px){
  #homeView .product-stat #homePowerRank{
    font-size:20px !important;
  }
}


/* ==========================================================
   COCO v115 · Remove Home Power Rank movement arrow
   Keep rank movement everywhere else; Home stat is value-only.
   ========================================================== */
#homeView .product-stat #homePowerRank{
  display:block !important;
  position:static !important;
  margin:0 !important;
  min-height:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  font-family:inherit !important;
  font-size:22px !important;
  font-weight:700 !important;
  line-height:normal !important;
  letter-spacing:-.025em !important;
  color:var(--harvest-gold) !important;
}

#homeView .product-stat #homePowerRank > .home-power-rank-value{
  display:inline !important;
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  font:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  color:inherit !important;
  vertical-align:baseline !important;
}

/* Hide only the compact Home movement badge. */
#homeView .product-stat #homePowerRank > .rank-move-badge.compact{
  display:none !important;
}

@media (min-width:721px){
  #homeView .product-stat #homePowerRank{
    font-size:20px !important;
  }
}


/* ==========================================================
   COCO v116 · Home banner + Power Rankings cleanup
   Power preview = top 3 teams, one column / three rows.
   League Pulse remains the existing 2×2 layout.
   ========================================================== */

#homeView .home-power-preview #homeTopTeams{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.012) !important;
}

#homeView .home-power-preview #homeTopTeams > .product-row,
#homeView .home-power-preview #homeTopTeams > .home-power-team-row{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
  min-height:70px !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:0 !important;
  border-radius:0 !important;
  border-bottom:1px solid rgba(255,255,255,.065) !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:left !important;
}

#homeView .home-power-preview #homeTopTeams > :last-child{
  border-bottom:0 !important;
}

#homeView .home-power-preview #homeTopTeams .team-avatar,
#homeView .home-power-preview #homeTopTeams .team-avatar-fallback{
  grid-column:1 !important;
}

#homeView .home-power-preview #homeTopTeams > .product-row > div,
#homeView .home-power-preview #homeTopTeams > .home-power-team-row > div{
  grid-column:2 !important;
  min-width:0 !important;
}

#homeView .home-power-preview #homeTopTeams b{
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#homeView .home-power-preview #homeTopTeams .meta{
  margin-top:3px !important;
  font-size:9px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#homeView .home-power-preview #homeTopTeams .score,
#homeView .home-power-preview #homeTopTeams .metric-value,
#homeView .home-power-preview #homeTopTeams .home-power-score{
  grid-column:3 !important;
  justify-self:end !important;
  align-self:center !important;
  min-width:42px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  font-size:15px !important;
  line-height:1 !important;
  text-align:right !important;
  white-space:nowrap !important;
}

@media(max-width:430px){
  #homeView .home-power-preview #homeTopTeams > .product-row,
  #homeView .home-power-preview #homeTopTeams > .home-power-team-row{
    grid-template-columns:38px minmax(0,1fr) auto !important;
    min-height:66px !important;
    gap:8px !important;
    padding:9px 10px !important;
  }

  #homeView .home-power-preview #homeTopTeams b{
    font-size:12px !important;
  }

  #homeView .home-power-preview #homeTopTeams .meta{
    font-size:8px !important;
  }

  #homeView .home-power-preview #homeTopTeams .score,
  #homeView .home-power-preview #homeTopTeams .metric-value,
  #homeView .home-power-preview #homeTopTeams .home-power-score{
    font-size:14px !important;
  }
}


/* ==========================================================
   COCO v118 · Trade Calculator mock layout
   Visual redesign only; existing ESPN team/player selection
   and COCO trade-value logic remain connected.
   ========================================================== */

#seasonTradePane .coco-trade-shell{max-width:980px;margin:0 auto}
#seasonTradePane .coco-trade-titlebar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:12px;padding:2px 2px 0
}
#seasonTradePane .coco-trade-titlebar h3{font-size:30px;line-height:1.05;margin:4px 0 0}
#seasonTradePane .coco-trade-context{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#seasonTradePane .coco-trade-context-pill{
  display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:10px;
  border:1px solid rgba(246,202,55,.20);background:rgba(246,202,55,.055);
  color:var(--harvest-gold);font:700 9px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTradePane .coco-trade-context-pill.muted{color:#9ba2b2;border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025)}

#seasonTradePane .coco-trade-builder{
  border:1px solid rgba(255,255,255,.075);border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,rgba(13,15,20,.98),rgba(6,8,12,.995));
  box-shadow:0 24px 70px rgba(0,0,0,.22)
}

#seasonTradePane .coco-trade-teamstrip{
  display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:8px;
  align-items:end;padding:12px;border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.018)
}
#seasonTradePane .coco-trade-teamselect small{
  display:block;margin:0 0 5px;color:#7f8798;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.12em
}
#seasonTradePane .coco-trade-teamselect select{
  width:100%;min-width:0;min-height:42px;margin:0;border-radius:12px!important;
  border-color:rgba(255,255,255,.07)!important;background:#080a0f!important
}
#seasonTradePane .coco-trade-swap{
  width:36px;height:36px;display:grid;place-items:center;justify-self:center;margin-bottom:3px;
  border-radius:999px;border:1px solid rgba(246,202,55,.18);background:rgba(246,202,55,.055);
  color:var(--harvest-gold);font-size:16px
}

#seasonTradePane .coco-trade-balance{
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:13px 14px 11px;
  border-bottom:1px solid rgba(255,255,255,.055)
}
#seasonTradePane .coco-trade-balance>span{
  color:#757e90;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.15em
}
#seasonTradePane .coco-trade-balance>b{
  margin-top:4px;color:var(--harvest-gold);font:800 12px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTradePane .coco-trade-balance>small{margin-top:4px;color:#8b93a3;font-size:10px;line-height:1.35}

#seasonTradePane .coco-trade-columns{
  display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
  gap:8px!important;padding:12px!important;align-items:start!important
}
#seasonTradePane .coco-trade-side{
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important
}
#seasonTradePane .coco-trade-side .trade-side-head{
  flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
  margin:0 2px 7px!important
}
#seasonTradePane .coco-trade-side .trade-side-head>small{color:#626b7d;font-size:8px}
#seasonTradePane .coco-trade-center-arrow{
  align-self:center!important;width:28px!important;height:28px!important;margin-top:42px!important;
  font-size:13px!important
}
#seasonTradePane .trade-roster{
  max-height:390px!important;overflow:auto!important;gap:6px!important;padding:0!important
}

#seasonTradePane .trade-player{
  position:relative;display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto 24px!important;
  gap:8px!important;align-items:center!important;min-height:61px!important;
  padding:7px 7px 7px 6px!important;border-radius:13px!important;
  border:1px solid rgba(255,255,255,.065)!important;background:#07090d!important
}
#seasonTradePane .trade-player:hover{border-color:rgba(246,202,55,.20)!important}
#seasonTradePane .trade-player.selected{
  border-color:rgba(246,202,55,.42)!important;
  background:linear-gradient(90deg,rgba(246,202,55,.075),rgba(246,202,55,.025))!important
}
#seasonTradePane .trade-player input{position:absolute;opacity:0;pointer-events:none}
#seasonTradePane .trade-player-photo{
  position:relative;width:42px;height:46px;border-radius:10px;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(180deg,#171b23,#0b0d12);border:1px solid rgba(255,255,255,.07);
  color:#8d95a5;font:800 10px 'JetBrains Mono',monospace
}
#seasonTradePane .trade-player-photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%
}
#seasonTradePane .trade-player-copy{min-width:0}
#seasonTradePane .trade-player-copy>b{
  display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:#f0f2f6;font-size:11px!important;line-height:1.2
}
#seasonTradePane .trade-player-tags{display:flex;gap:4px;align-items:center;margin-top:5px}
#seasonTradePane .trade-player-tags em,
#seasonTradePane .trade-player-tags i{
  display:inline-flex;align-items:center;min-height:19px;padding:0 6px;border-radius:6px;
  font:700 8px 'JetBrains Mono',monospace;font-style:normal
}
#seasonTradePane .trade-player-tags em{color:#e3b4ff;background:rgba(186,99,255,.10);border:1px solid rgba(186,99,255,.16)}
#seasonTradePane .trade-player-tags i{color:#aeb5c2;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
#seasonTradePane .trade-player-value{text-align:right}
#seasonTradePane .trade-player-value small{
  display:block;color:#6e7788;font:700 6px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTradePane .trade-player-value b{display:block;margin-top:2px;color:var(--harvest-gold);font-size:12px!important}
#seasonTradePane .trade-player-check{
  width:22px;height:22px;display:grid;place-items:center;border-radius:999px;
  border:1px solid rgba(255,255,255,.08);color:#858d9c;background:rgba(255,255,255,.025);
  font-size:13px
}
#seasonTradePane .trade-player.selected .trade-player-check{
  color:#090b0f;background:var(--harvest-gold);border-color:var(--harvest-gold);font-weight:900
}

#seasonTradePane .coco-trade-result{
  margin:0 12px 0!important;padding:12px!important;border-radius:16px!important;
  border:1px solid rgba(255,255,255,.065)!important;background:rgba(255,255,255,.018)!important
}
#seasonTradePane .coco-trade-totals{grid-template-columns:1fr auto 1fr!important}
#seasonTradePane .coco-trade-totals .trade-score{font-size:25px!important;color:#f2f3f6}
#seasonTradePane .coco-trade-totals .trade-score:last-child{text-align:right}
#seasonTradePane .coco-trade-totals .trade-score small{font-size:7px!important}
#seasonTradePane .coco-trade-even{
  padding:6px 9px;border:1px solid rgba(246,202,55,.18);border-radius:999px;
  color:var(--harvest-gold);font:700 7px 'JetBrains Mono',monospace;letter-spacing:.09em
}
#seasonTradePane .trade-selected-summary{margin:10px 0 0!important;gap:7px!important}
#seasonTradePane .trade-selected-box{padding:8px 9px!important;border-radius:10px!important}
#seasonTradePane .trade-selected-chip{font-size:8px!important;padding:4px 6px!important}

#seasonTradePane .coco-trade-tabs{
  display:flex;gap:0;margin-top:12px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.06);
  overflow-x:auto
}
#seasonTradePane .coco-trade-tabs button{
  flex:0 0 auto;padding:11px 14px;border:0;border-bottom:2px solid transparent;background:transparent;
  color:#858d9e;font-weight:700;font-size:10px
}
#seasonTradePane .coco-trade-tabs button.active{color:#f4f5f7;border-bottom-color:var(--harvest-gold)}

#seasonTradePane .coco-trade-analysis{padding:12px 12px 15px}
#seasonTradePane .coco-trade-analysis-pane{display:none}
#seasonTradePane .coco-trade-analysis-pane.active{display:block}
#seasonTradePane .coco-trade-impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#seasonTradePane .coco-trade-impact-grid>div{
  padding:11px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#080a0e
}
#seasonTradePane .coco-trade-impact-grid small{
  display:block;color:#747d8e;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTradePane .coco-trade-impact-grid b{display:block;margin-top:4px;color:var(--harvest-gold);font-size:18px}
#seasonTradePane #tradeImpactText{margin:10px 2px 0;color:#8f97a6;font-size:10.5px;line-height:1.45}

#seasonTradePane .coco-trade-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#seasonTradePane .coco-trade-breakdown section{
  padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#080a0e
}
#seasonTradePane .coco-trade-breakdown section>small{
  display:block;margin-bottom:7px;color:#7b8495;font:700 7px 'JetBrains Mono',monospace;text-transform:uppercase
}
#seasonTradePane .coco-trade-breakdown section>div{
  display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.045);
  color:#c7cbd3;font-size:9px
}
#seasonTradePane .coco-trade-breakdown section>strong{
  display:block;margin-top:8px;color:var(--harvest-gold);font-size:15px;text-align:right
}
#seasonTradePane .coco-trade-take{
  display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:13px;
  border:1px solid rgba(246,202,55,.11);background:rgba(246,202,55,.035)
}
#seasonTradePane .coco-trade-orb{
  flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;
  background:var(--harvest-gold);color:#08090b;font-weight:900
}
#seasonTradePane .coco-trade-take p{margin:2px 0 0;color:#aab1bd;font-size:10.5px;line-height:1.45}

@media(max-width:700px){
  #seasonTradePane .coco-trade-titlebar{align-items:flex-start}
  #seasonTradePane .coco-trade-titlebar h3{font-size:26px}
  #seasonTradePane .coco-trade-context{max-width:48%}
  #seasonTradePane .coco-trade-context-pill{min-height:27px;padding:0 8px;font-size:7px}

  #seasonTradePane .coco-trade-teamstrip{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);padding:9px;gap:5px}
  #seasonTradePane .coco-trade-teamselect select{min-height:38px!important;font-size:9px!important;padding-left:7px!important}
  #seasonTradePane .coco-trade-swap{width:29px;height:29px;font-size:12px}

  #seasonTradePane .coco-trade-columns{
    grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;
    gap:4px!important;padding:9px!important
  }
  #seasonTradePane .coco-trade-center-arrow{
    width:18px!important;height:18px!important;border:0!important;background:transparent!important;
    margin-top:42px!important;font-size:11px!important
  }
  #seasonTradePane .coco-trade-side .trade-side-head{margin:0 1px 6px!important}
  #seasonTradePane .coco-trade-side .trade-side-head>small{display:none}
  #seasonTradePane .trade-side-label{font-size:6.5px!important}
  #seasonTradePane .trade-roster{max-height:330px!important}

  #seasonTradePane .trade-player{
    grid-template-columns:34px minmax(0,1fr) auto!important;
    min-height:55px!important;padding:6px 5px!important;gap:6px!important
  }
  #seasonTradePane .trade-player-photo{width:34px;height:40px;border-radius:8px}
  #seasonTradePane .trade-player-copy>b{font-size:9.5px!important}
  #seasonTradePane .trade-player-tags{gap:3px;margin-top:4px}
  #seasonTradePane .trade-player-tags em,#seasonTradePane .trade-player-tags i{min-height:16px;padding:0 4px;font-size:6.5px}
  #seasonTradePane .trade-player-value small{font-size:5.5px}
  #seasonTradePane .trade-player-value b{font-size:10px!important}
  #seasonTradePane .trade-player-check{display:none}
  #seasonTradePane .coco-trade-totals .trade-score{font-size:21px!important}
  #seasonTradePane .coco-trade-even{font-size:6px;padding:5px 7px}

  #seasonTradePane .coco-trade-tabs button{padding:10px 11px;font-size:9px}
}


/* ==========================================================
   COCO v120 · League Story / durable Activity experience
   ========================================================== */
#seasonTransactionsPane .coco-activity-head{align-items:flex-start}
#seasonTransactionsPane .activity-local-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 14px;padding:5px;
  border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.018)
}
#seasonTransactionsPane .activity-local-tabs button{
  min-height:38px;border:0;border-radius:10px;background:transparent;color:#7f8797;font-size:10px;font-weight:800
}
#seasonTransactionsPane .activity-local-tabs button.active{
  color:#090b0f;background:var(--harvest-gold);box-shadow:0 6px 18px rgba(246,202,55,.10)
}
#seasonTransactionsPane .activity-view{display:none}
#seasonTransactionsPane .activity-view.active{display:block}

#seasonTransactionsPane .activity-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px
}
#seasonTransactionsPane .activity-scope{
  display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:#080a0e
}
#seasonTransactionsPane .activity-scope button,
#seasonTransactionsPane .activity-kind-row button{
  border:0;background:transparent;color:#777f8f;font:800 8px 'JetBrains Mono',monospace;letter-spacing:.04em
}
#seasonTransactionsPane .activity-scope button{min-height:29px;padding:0 9px;border-radius:8px}
#seasonTransactionsPane .activity-scope button.active{background:rgba(246,202,55,.10);color:var(--harvest-gold)}
#seasonTransactionsPane #activityTeamFilter,
#seasonTransactionsPane #activityTeamHistorySelect{
  min-height:38px;max-width:240px;margin:0;border-radius:10px!important;border-color:rgba(255,255,255,.07)!important;
  background:#080a0e!important;font-size:9px!important
}
#seasonTransactionsPane .activity-kind-row{
  display:flex;gap:5px;overflow-x:auto;padding:1px 0 8px;scrollbar-width:none
}
#seasonTransactionsPane .activity-kind-row::-webkit-scrollbar{display:none}
#seasonTransactionsPane .activity-kind-row button{
  flex:0 0 auto;min-height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.06);border-radius:999px
}
#seasonTransactionsPane .activity-kind-row button.active{border-color:rgba(246,202,55,.24);background:rgba(246,202,55,.07);color:var(--harvest-gold)}
#seasonTransactionsPane .activity-feed-meta{
  margin:0 0 9px;color:#666f80;font:700 8px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase
}

#seasonTransactionsPane .activity-timeline{display:flex;flex-direction:column;gap:0}
#seasonTransactionsPane .activity-event{
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;position:relative
}
#seasonTransactionsPane .activity-rail{position:relative;display:flex;flex-direction:column;align-items:center}
#seasonTransactionsPane .activity-dot{
  position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;
  border:1px solid rgba(255,255,255,.09);background:#0b0d12;color:#99a1b0;font:900 8px 'JetBrains Mono',monospace
}
#seasonTransactionsPane .activity-line{width:1px;flex:1;min-height:24px;background:rgba(255,255,255,.065)}
#seasonTransactionsPane .activity-event:last-child .activity-line{background:linear-gradient(rgba(255,255,255,.065),transparent)}
#seasonTransactionsPane .activity-event.trade .activity-dot,
#seasonTransactionsPane .activity-event.power .activity-dot{color:var(--harvest-gold);border-color:rgba(246,202,55,.25);background:rgba(246,202,55,.055)}
#seasonTransactionsPane .activity-event.waiver .activity-dot,
#seasonTransactionsPane .activity-event.move .activity-dot{color:#75dcad;border-color:rgba(61,220,151,.20);background:rgba(61,220,151,.05)}
#seasonTransactionsPane .activity-event.matchup .activity-dot{color:#a9b7ff;border-color:rgba(139,124,246,.22);background:rgba(139,124,246,.05)}

#seasonTransactionsPane .activity-card{
  margin:0 0 10px;padding:11px 12px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(255,255,255,.018)
}
#seasonTransactionsPane .activity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#seasonTransactionsPane .activity-card-head>div{min-width:0}
#seasonTransactionsPane .activity-card-head small{
  display:block;color:#6e7788;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTransactionsPane .activity-card-head b{
  display:block;margin-top:3px;color:#e9ebef;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
#seasonTransactionsPane .activity-card-head time{
  flex:0 0 auto;color:#616a7a;font:600 7px 'JetBrains Mono',monospace;white-space:nowrap
}
#seasonTransactionsPane .activity-event-mainline{display:flex;align-items:baseline;gap:7px;margin-top:9px}
#seasonTransactionsPane .activity-event-mainline b{font-size:12px;color:#f1f2f5}
#seasonTransactionsPane .activity-event-mainline span{font-size:9px;color:#8e96a4}
#seasonTransactionsPane .activity-summary{margin-top:8px;color:#929aa8;font-size:9.5px;line-height:1.4}
#seasonTransactionsPane .activity-scoreline{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin-top:9px;
  color:#aab1bc;font-size:9px
}
#seasonTransactionsPane .activity-scoreline span:first-child{text-align:right}
#seasonTransactionsPane .activity-scoreline span:last-child{text-align:left}
#seasonTransactionsPane .activity-scoreline b{color:#f0f2f5;font-size:14px}
#seasonTransactionsPane .activity-scoreline i{color:#555e6d;font-style:normal}

#seasonTransactionsPane .activity-team-picker{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px
}
#seasonTransactionsPane .activity-team-picker h4,
#seasonTransactionsPane .activity-story-head h4{margin:3px 0 0;font-size:20px}
#seasonTransactionsPane .activity-story-head p{margin:4px 0 12px;color:#788192;font-size:10px}

#seasonTransactionsPane .team-story-hero{
  display:flex;align-items:center;justify-content:space-between;padding:14px;border:1px solid rgba(246,202,55,.12);
  border-radius:16px;background:linear-gradient(135deg,rgba(246,202,55,.055),rgba(255,255,255,.012))
}
#seasonTransactionsPane .team-story-hero small{color:#817650;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.12em}
#seasonTransactionsPane .team-story-hero h4{margin:4px 0 0;font-size:18px}
#seasonTransactionsPane .team-story-rank{text-align:right;color:var(--harvest-gold);font-size:24px;font-weight:900}
#seasonTransactionsPane .team-story-rank small{display:block;margin-top:2px;color:#7d8491;font-size:6px}

#seasonTransactionsPane .team-story-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0
}
#seasonTransactionsPane .team-story-stats>div{
  padding:10px 7px;border:1px solid rgba(255,255,255,.055);border-radius:11px;background:#080a0e;text-align:center
}
#seasonTransactionsPane .team-story-stats b{display:block;color:var(--harvest-gold);font-size:16px}
#seasonTransactionsPane .team-story-stats small{display:block;margin-top:3px;color:#737c8c;font:700 6px 'JetBrains Mono',monospace}

#seasonTransactionsPane .team-story-narrative,
#seasonTransactionsPane .team-story-survivors,
#seasonTransactionsPane .team-story-trend,
#seasonTransactionsPane .team-story-moves{
  margin-top:8px;padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.015)
}
#seasonTransactionsPane .team-story-narrative p{margin:7px 0 0;color:#9ca3af;font-size:10px;line-height:1.45}
#seasonTransactionsPane .team-story-survivors>small{
  color:#737c8d;font:700 7px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTransactionsPane .team-story-survivors>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
#seasonTransactionsPane .team-story-survivors span{
  padding:5px 7px;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#080a0e;color:#aeb4bf;font-size:8px
}
#seasonTransactionsPane .team-story-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
#seasonTransactionsPane .team-story-section-head b{font-size:11px}
#seasonTransactionsPane .team-story-section-head small{color:#687182;font-size:7px}
#seasonTransactionsPane .team-story-week-row{
  display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none
}
#seasonTransactionsPane .team-story-week-row::-webkit-scrollbar{display:none}
#seasonTransactionsPane .team-story-week-row>div{
  flex:0 0 78px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.055);background:#080a0e
}
#seasonTransactionsPane .team-story-week-row small{display:block;color:#70798a;font:700 6px 'JetBrains Mono',monospace}
#seasonTransactionsPane .team-story-week-row b{display:block;margin-top:3px;font-size:11px}
#seasonTransactionsPane .team-story-week-row span{display:block;margin-top:3px;color:var(--harvest-gold);font-size:7px}
#seasonTransactionsPane .team-story-move{
  display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.045)
}
#seasonTransactionsPane .team-story-move:last-child{border-bottom:0}
#seasonTransactionsPane .team-story-move>span{
  width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#0a0c11;color:var(--harvest-gold);font-size:10px
}
#seasonTransactionsPane .team-story-move b{display:block;font-size:10px}
#seasonTransactionsPane .team-story-move small{display:block;margin-top:2px;color:#6f7888;font-size:7.5px}
#seasonTransactionsPane .team-story-move em{color:var(--harvest-gold);font:700 8px 'JetBrains Mono',monospace;font-style:normal}

#seasonTransactionsPane .season-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#seasonTransactionsPane .season-story-card{
  min-height:132px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#080a0e
}
#seasonTransactionsPane .season-story-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(246,202,55,.06);color:var(--harvest-gold);font-size:12px}
#seasonTransactionsPane .season-story-card>small{
  display:block;margin-top:9px;color:#727b8c;font:700 6.5px 'JetBrains Mono',monospace;letter-spacing:.08em
}
#seasonTransactionsPane .season-story-card>b{display:block;margin-top:4px;font-size:11px;line-height:1.25}
#seasonTransactionsPane .season-story-card>p{margin:5px 0 0;color:#7f8796;font-size:8.5px;line-height:1.4}
#seasonTransactionsPane .season-recap-preview{
  margin-top:8px;padding:13px;border:1px solid rgba(246,202,55,.12);border-radius:14px;
  background:linear-gradient(135deg,rgba(246,202,55,.04),rgba(255,255,255,.012))
}
#seasonTransactionsPane .season-recap-preview h4{margin:3px 0 0;font-size:15px}
#seasonTransactionsPane .season-recap-preview p{margin:8px 0 0;color:#8c94a2;font-size:9.5px;line-height:1.45}
#seasonTransactionsPane .season-recap-weeks{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
#seasonTransactionsPane .season-recap-weeks span{
  padding:5px 7px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#080a0e;color:#aeb5c0;font:700 7px 'JetBrains Mono',monospace
}

@media(max-width:520px){
  #seasonTransactionsPane .coco-activity-head{display:block}
  #seasonTransactionsPane .coco-activity-head .league-sync-btn{margin-top:9px}
  #seasonTransactionsPane .activity-toolbar{align-items:stretch}
  #seasonTransactionsPane #activityTeamFilter{max-width:46%;min-width:0}
  #seasonTransactionsPane .activity-card{padding:10px}
  #seasonTransactionsPane .activity-card-head time{display:none}
  #seasonTransactionsPane .activity-team-picker{display:block}
  #seasonTransactionsPane #activityTeamHistorySelect{max-width:100%;width:100%;margin-top:9px}
  #seasonTransactionsPane .team-story-stats{grid-template-columns:1fr 1fr}
}


/* COCO v122 · Activity event grouping / FAAB */
#seasonTransactionsPane .activity-move-list{
  display:flex;flex-direction:column;gap:6px;margin-top:9px
}
#seasonTransactionsPane .activity-move-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.04)
}
#seasonTransactionsPane .activity-move-row:last-child{padding-bottom:0;border-bottom:0}
#seasonTransactionsPane .activity-move-row b{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#f1f2f5;font-size:10px
}
#seasonTransactionsPane .activity-move-row span{
  flex:0 0 auto;color:#7f8797;font-size:8px;text-align:right
}
#seasonTransactionsPane .activity-faab{
  display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:999px;
  border:1px solid rgba(246,202,55,.18);background:rgba(246,202,55,.05);
  color:var(--harvest-gold);font:800 7px 'JetBrains Mono',monospace;letter-spacing:.04em
}


/* ==========================================================
   COCO v126 · Multi-season performance summaries
   ========================================================== */
.player-profile-chart .profile-season-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.player-profile-chart .profile-season-summary>div{
  min-width:0;
  padding:9px 7px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  text-align:center;
}
.player-profile-chart .profile-season-summary small{
  display:block;
  color:#737c8c;
  font:700 6.5px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.player-profile-chart .profile-season-summary b{
  display:block;
  margin-top:4px;
  color:#eceef2;
  font-size:13px;
  line-height:1;
}
.player-profile-chart .profile-season-summary b em{
  margin-left:1px;
  color:#6e7787;
  font:700 6px 'JetBrains Mono',monospace;
  font-style:normal;
}
.player-profile-chart .profile-season-summary[data-summary-label]::before{
  content:attr(data-summary-label);
  grid-column:1/-1;
  margin:0 0 -1px 1px;
  color:#686f7d;
  font:700 6px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:430px){
  .player-profile-chart .profile-season-summary{gap:5px}
  .player-profile-chart .profile-season-summary>div{padding:8px 4px}
  .player-profile-chart .profile-season-summary b{font-size:12px}
}


/* ==========================================================
   COCO v128 · Player card revamp
   Mobile-first visual card: smaller photo on the left, four
   purpose-built metrics beside it. Desktop table stays intact.
   ========================================================== */

#boardView .ranking-player-card-body{
  display:none;
}

@media(max-width:760px){
  #boardView .board-table tbody tr.player-ranking-row{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
    grid-template-areas:
      "rank player pos"
      "body body body"
      "owner owner owner"!important;
    gap:8px 8px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:10px!important;
    margin:0 0 8px!important;
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.075)!important;
    background:#090b0f!important;
    box-shadow:0 6px 16px rgba(0,0,0,.12)!important;
    overflow:hidden!important;
  }

  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
    box-shadow:
      inset 3px 0 0 color-mix(in srgb,var(--tier-color) 78%,transparent),
      0 6px 16px rgba(0,0,0,.12)!important;
    background:
      linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 4%,transparent),transparent 36%),
      #090b0f!important;
  }

  #boardView .ranking-overall{
    grid-area:rank!important;
    align-self:start!important;
    width:34px!important;
    padding-top:1px!important;
  }

  #boardView .ranking-overall span{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    min-height:31px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }

  #boardView .player-cell{
    grid-area:player!important;
    display:contents!important;
    min-width:0!important;
  }

  #boardView .ranking-player-identity{
    grid-area:player!important;
    min-width:0!important;
    align-self:center!important;
  }

  #boardView .ranking-player-name{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    font-size:15px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #boardView .ranking-player-sub{
    margin-top:4px!important;
    font-size:7px!important;
    line-height:1!important;
    gap:4px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  #boardView .player-tier-chip{
    flex:0 0 auto!important;
    margin-left:5px!important;
    padding:2px 6px!important;
    font-size:6px!important;
  }

  #boardView .board-table td:nth-child(3){
    grid-area:pos!important;
    align-self:start!important;
    justify-self:end!important;
    padding-top:2px!important;
  }

  #boardView .clean-pos-rank{
    min-width:42px!important;
    height:28px!important;
    padding:0 6px!important;
    border-radius:8px!important;
    font-size:8px!important;
  }

  /* Hide the legacy mobile metric cells; the new 2x2 metric block owns them. */
  #boardView .board-table td:nth-child(4),
  #boardView .board-table td:nth-child(5),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7){
    display:none!important;
  }

  #boardView .ranking-player-card-body{
    grid-area:body!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin-top:1px!important;
  }

  #boardView .ranking-player-photo{
    position:relative!important;
    width:58px!important;
    min-width:58px!important;
    height:70px!important;
    overflow:hidden!important;
    border-radius:11px!important;
    border:1px solid rgba(255,255,255,.07)!important;
    background:linear-gradient(180deg,#171a21,#0b0d11)!important;
    display:grid!important;
    place-items:center!important;
    color:#838c9c!important;
    font:800 11px 'JetBrains Mono',monospace!important;
  }

  #boardView .ranking-player-photo img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 8%!important;
    z-index:2!important;
    background:#0d1015!important;
  }

  #boardView .ranking-player-photo span{
    position:relative!important;
    z-index:1!important;
  }

  #boardView .ranking-player-card-metrics{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,1fr)!important;
    gap:5px!important;
    min-width:0!important;
  }

  #boardView .ranking-card-metric{
    min-width:0!important;
    min-height:32px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:6px 8px!important;
    border:1px solid rgba(255,255,255,.055)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.022)!important;
  }

  #boardView .ranking-card-metric small{
    display:block!important;
    max-width:100%!important;
    color:#707989!important;
    font:700 6px 'JetBrains Mono',monospace!important;
    letter-spacing:.055em!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #boardView .ranking-card-metric b{
    display:block!important;
    margin-top:4px!important;
    color:#e9ebef!important;
    font-size:13px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
  }

  #boardView .ranking-card-metric.coco{
    border-color:rgba(246,202,55,.12)!important;
    background:rgba(246,202,55,.035)!important;
  }

  #boardView .ranking-card-metric.coco b{
    color:var(--harvest-gold)!important;
  }

  #boardView .ranking-card-metric.week b{
    color:#dfe5ff!important;
  }

  #boardView .board-table td:nth-child(8){
    grid-area:owner!important;
    display:block!important;
    margin-top:0!important;
    padding-top:8px!important;
    border-top:1px solid rgba(255,255,255,.05)!important;
  }

  #boardView .fantasy-owner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:8px!important;
  }

  #boardView .fantasy-owner small{
    color:#687181!important;
    font-size:6.5px!important;
    letter-spacing:.08em!important;
  }

  #boardView .fantasy-owner b{
    max-width:68%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#aeb5c0!important;
    font-size:9px!important;
    text-align:right!important;
  }

  #boardView .player-ranking-row.fantasy-free .fantasy-owner b{
    color:#73dbaa!important;
  }
}

@media(max-width:390px){
  #boardView .ranking-player-card-body{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:7px!important;
  }

  #boardView .ranking-player-photo{
    width:52px!important;
    min-width:52px!important;
    height:66px!important;
  }

  #boardView .ranking-card-metric{
    padding:5px 6px!important;
  }

  #boardView .ranking-card-metric small{
    font-size:5.5px!important;
  }

  #boardView .ranking-card-metric b{
    font-size:12px!important;
  }
}


/* ==========================================================
   COCO v129 · Player PROFILE quick-card revamp
   The full profile keeps its intelligence/history sections, but
   the top becomes a compact dashboard:
     small photo left + 2×2 value grid right.
   ========================================================== */
@media(max-width:760px){

  /* Let the main profile children participate in one shared grid. */
  .player-profile-hero{
    display:grid !important;
    grid-template-columns:92px minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    gap:10px !important;
    padding:14px 14px 12px !important;
  }

  .player-profile-main{
    display:contents !important;
  }

  /* Identity remains first and full width. */
  .player-profile-kicker{
    grid-column:1 / -1 !important;
    order:1 !important;
    margin:1px 2px 0 !important;
  }

  .player-profile-title-row{
    grid-column:1 / -1 !important;
    order:2 !important;
    margin:0 !important;
    align-items:flex-start !important;
  }

  .player-profile-title h2{
    font-size:31px !important;
    line-height:1 !important;
  }

  .player-profile-tags{
    margin-top:8px !important;
  }

  .player-profile-rank{
    min-width:84px !important;
    padding:10px 8px !important;
    border-radius:14px !important;
  }

  .player-profile-rank b{
    font-size:31px !important;
  }

  /* Tier stays prominent, but compact. */
  .player-profile-tier{
    grid-column:1 / -1 !important;
    order:3 !important;
    margin:0 !important;
    min-height:58px !important;
    padding:9px 11px !important;
    border-radius:13px !important;
  }

  /* Availability / opportunity callouts remain above the quick stats. */
  .player-situation-card,
  .player-opportunity-card{
    grid-column:1 / -1 !important;
    order:4 !important;
    margin-top:0 !important;
  }

  /* Small player image on the LEFT of the quick metrics. */
  .player-profile-photo{
    grid-column:1 !important;
    order:5 !important;
    align-self:stretch !important;
    width:92px !important;
    min-width:92px !important;
    height:118px !important;
    min-height:118px !important;
    margin:0 !important;
    border:1px solid color-mix(in srgb,var(--tier-color) 34%,rgba(255,255,255,.08)) !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:
      radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--tier-color) 23%,transparent),transparent 58%),
      linear-gradient(180deg,#111826,#080b11) !important;
  }

  .player-profile-photo img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:50% 8% !important;
    filter:none !important;
  }

  .player-profile-photo .fallback{
    font-size:30px !important;
  }

  /* The photo already sits beside clear identity tags, so remove the
     oversized duplicate team/status overlay from the image. */
  .player-profile-photo-label{
    display:none !important;
  }

  /* The four values become independent little cards to the RIGHT. */
  .player-profile-metrics{
    grid-column:2 !important;
    order:5 !important;
    align-self:stretch !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,1fr) !important;
    gap:6px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
  }

  .player-profile-metric{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:56px !important;
    padding:8px 9px !important;
    border:1px solid rgba(255,255,255,.065) !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.018) !important;
  }

  .player-profile-metric:nth-child(n){
    border-right:1px solid rgba(255,255,255,.065) !important;
    border-bottom:1px solid rgba(255,255,255,.065) !important;
  }

  .player-profile-metric.coco{
    border-color:rgba(246,202,55,.17) !important;
    background:rgba(246,202,55,.035) !important;
  }

  .player-profile-metric.week-value{
    background:rgba(139,124,246,.026) !important;
  }

  .player-profile-metric small{
    font-size:6.2px !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .player-profile-metric b{
    margin-top:5px !important;
    font-size:17px !important;
    line-height:1 !important;
  }

  /* Everything deeper in the profile spans the full screen again. */
  .player-profile-intelligence-host{
    grid-column:1 / -1 !important;
    order:6 !important;
    margin-top:2px !important;
  }

  .player-profile-chart{
    grid-column:1 / -1 !important;
    order:7 !important;
    margin-top:2px !important;
  }

  /* The old bottom information panel stays available but quieter. */
  .player-profile-body{
    padding:0 14px 24px !important;
  }

  .player-profile-info{
    border-radius:13px !important;
    background:rgba(255,255,255,.012) !important;
  }

  .player-profile-info>div{
    min-height:60px !important;
    padding:10px !important;
  }

  .player-profile-info small{
    font-size:6.5px !important;
  }

  .player-profile-info b{
    font-size:12px !important;
  }
}

@media(max-width:390px){
  .player-profile-hero{
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:8px !important;
  }

  .player-profile-photo{
    width:82px !important;
    min-width:82px !important;
    height:112px !important;
    min-height:112px !important;
  }

  .player-profile-metrics{
    gap:5px !important;
  }

  .player-profile-metric{
    padding:7px !important;
  }

  .player-profile-metric small{
    font-size:5.8px !important;
  }

  .player-profile-metric b{
    font-size:16px !important;
  }
}


/* ==========================================================
   COCO v130 · Player Profile layout tune
   Bigger photo, tighter quick stats, tier moved below the
   photo/stat row and directly above COCO Outlook.
   ========================================================== */
@media(max-width:760px){

  .player-profile-hero{
    grid-template-columns:122px minmax(0,1fr) !important;
    gap:10px !important;
  }

  /* Photo/stat row comes before the tier now. */
  .player-profile-photo{
    grid-column:1 !important;
    order:3 !important;
    align-self:start !important;
    width:122px !important;
    min-width:122px !important;
    height:154px !important;
    min-height:154px !important;
    border-radius:15px !important;
  }

  .player-profile-metrics{
    grid-column:2 !important;
    order:3 !important;
    align-self:start !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:auto auto !important;
    gap:6px !important;
    height:auto !important;
    min-height:0 !important;
  }

  /* Remove the dead vertical space from each value/rank tile. */
  .player-profile-metric{
    min-height:0 !important;
    height:auto !important;
    padding:10px 10px 9px !important;
    justify-content:flex-start !important;
  }

  .player-profile-metric small{
    margin:0 !important;
  }

  .player-profile-metric b{
    margin-top:6px !important;
    font-size:18px !important;
  }

  /* Tier now sits immediately below the photo/stat row. */
  .player-profile-tier{
    grid-column:1 / -1 !important;
    order:4 !important;
    margin:0 !important;
  }

  .player-situation-card,
  .player-opportunity-card{
    grid-column:1 / -1 !important;
    order:5 !important;
  }

  /* COCO Outlook follows the tier. */
  .player-profile-intelligence-host{
    grid-column:1 / -1 !important;
    order:6 !important;
    margin-top:0 !important;
  }

  .player-profile-chart{
    grid-column:1 / -1 !important;
    order:7 !important;
  }
}

@media(max-width:390px){
  .player-profile-hero{
    grid-template-columns:112px minmax(0,1fr) !important;
    gap:8px !important;
  }

  .player-profile-photo{
    width:112px !important;
    min-width:112px !important;
    height:145px !important;
    min-height:145px !important;
  }

  .player-profile-metric{
    padding:9px 8px 8px !important;
  }

  .player-profile-metric b{
    font-size:17px !important;
  }
}


/* ==========================================================
   COCO v131 · Player Profile proportion tune
   Wider photo + metrics stretched to exactly fill its height.
   ========================================================== */
@media(max-width:760px){

  .player-profile-hero{
    grid-template-columns:142px minmax(0,1fr) !important;
    gap:10px !important;
  }

  .player-profile-photo{
    width:142px !important;
    min-width:142px !important;
    height:164px !important;
    min-height:164px !important;
  }

  .player-profile-metrics{
    height:164px !important;
    min-height:164px !important;
    grid-template-rows:repeat(2,minmax(0,1fr)) !important;
    align-self:stretch !important;
  }

  .player-profile-metric{
    height:100% !important;
    min-height:0 !important;
    padding:11px 11px 10px !important;
    justify-content:center !important;
  }

  .player-profile-metric small{
    font-size:6.4px !important;
  }

  .player-profile-metric b{
    margin-top:7px !important;
    font-size:19px !important;
  }
}

@media(max-width:390px){
  .player-profile-hero{
    grid-template-columns:128px minmax(0,1fr) !important;
    gap:8px !important;
  }

  .player-profile-photo{
    width:128px !important;
    min-width:128px !important;
    height:154px !important;
    min-height:154px !important;
  }

  .player-profile-metrics{
    height:154px !important;
    min-height:154px !important;
  }

  .player-profile-metric{
    padding:9px 9px 8px !important;
  }

  .player-profile-metric b{
    font-size:18px !important;
  }
}


/* ==========================================================
   COCO v132 · Player Profile desktop/mobile parity
   Mirror the new compact profile-top layout on desktop:
   wider photo left, 2×2 metrics right, tier below both.
   ========================================================== */
@media(min-width:761px){

  .player-profile-hero{
    display:grid !important;
    grid-template-columns:176px minmax(0,1fr) !important;
    gap:14px !important;
    padding:18px 20px 16px !important;
  }

  .player-profile-main{
    display:contents !important;
  }

  .player-profile-kicker{
    grid-column:1 / -1 !important;
    order:1 !important;
  }

  .player-profile-title-row{
    grid-column:1 / -1 !important;
    order:2 !important;
    margin:0 !important;
  }

  .player-profile-title h2{
    font-size:36px !important;
    line-height:1 !important;
  }

  .player-profile-rank{
    min-width:96px !important;
    padding:12px 10px !important;
  }

  .player-profile-photo{
    grid-column:1 !important;
    order:3 !important;
    align-self:stretch !important;
    width:176px !important;
    min-width:176px !important;
    height:190px !important;
    min-height:190px !important;
    margin:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    border:1px solid color-mix(in srgb,var(--tier-color) 34%,rgba(255,255,255,.08)) !important;
    background:
      radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--tier-color) 23%,transparent),transparent 58%),
      linear-gradient(180deg,#111826,#080b11) !important;
  }

  .player-profile-photo img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:50% 8% !important;
  }

  .player-profile-photo-label{
    display:none !important;
  }

  .player-profile-metrics{
    grid-column:2 !important;
    order:3 !important;
    align-self:stretch !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    height:190px !important;
    min-height:190px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  .player-profile-metric{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    height:100% !important;
    min-height:0 !important;
    padding:14px 14px 12px !important;
    border:1px solid rgba(255,255,255,.065) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.018) !important;
  }

  .player-profile-metric.coco{
    border-color:rgba(246,202,55,.17) !important;
    background:rgba(246,202,55,.035) !important;
  }

  .player-profile-metric small{
    font-size:7px !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
  }

  .player-profile-metric b{
    margin-top:7px !important;
    font-size:22px !important;
    line-height:1 !important;
  }

  .player-profile-tier{
    grid-column:1 / -1 !important;
    order:4 !important;
    margin:0 !important;
  }

  .player-situation-card,
  .player-opportunity-card{
    grid-column:1 / -1 !important;
    order:5 !important;
  }

  .player-profile-intelligence-host{
    grid-column:1 / -1 !important;
    order:6 !important;
    margin-top:0 !important;
  }

  .player-profile-chart{
    grid-column:1 / -1 !important;
    order:7 !important;
  }
}


/* ==========================================================
   COCO v133 · Compact Player Rankings cards
   Restore the denser pre-v128 mobile list while keeping the
   new full Player Profile. Add a clear profile chevron.
   ========================================================== */
@media(max-width:760px){

  #boardView .ranking-player-card-body{
    display:none !important;
  }

  #boardView .board-table tbody tr.player-ranking-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) auto !important;
    grid-template-areas:
      "rank player pos"
      "metrics metrics metrics"
      "owner owner owner" !important;
    gap:7px 9px !important;
    min-height:0 !important;
    height:auto !important;
    padding:10px 38px 9px 10px !important;
    margin:0 0 7px !important;
    border:1px solid rgba(255,255,255,.07) !important;
    border-radius:14px !important;
    background:#0b0d11 !important;
    overflow:hidden !important;
    cursor:pointer !important;
  }

  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
    box-shadow:
      inset 3px 0 0 color-mix(in srgb,var(--tier-color) 78%,transparent),
      0 5px 14px rgba(0,0,0,.10) !important;
    background:
      linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 3%,transparent),transparent 34%),
      #0b0d11 !important;
  }

  #boardView .ranking-overall{
    grid-area:rank !important;
    width:auto !important;
    align-self:start !important;
  }

  #boardView .ranking-overall span{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }

  #boardView .player-cell{
    grid-area:player !important;
    display:block !important;
    min-width:0 !important;
  }

  #boardView .ranking-player-identity{
    display:block !important;
    min-width:0 !important;
  }

  #boardView .ranking-player-name{
    font-size:14px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #boardView .ranking-player-sub{
    margin-top:4px !important;
    gap:4px !important;
    font-size:7px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  #boardView .player-tier-chip{
    margin-left:5px !important;
    padding:2px 5px !important;
    font-size:5.8px !important;
  }

  #boardView .board-table td:nth-child(3){
    grid-area:pos !important;
    display:block !important;
    justify-self:end !important;
    align-self:start !important;
  }

  #boardView .clean-pos-rank{
    min-width:44px !important;
    height:28px !important;
    padding:0 7px !important;
    border-radius:8px !important;
    font-size:8px !important;
  }

  #boardView .ranking-team{
    display:none !important;
  }

  /* Restore the compact three-metric row from the older card design. */
  #boardView .board-table td:nth-child(5),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7){
    grid-area:metrics !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:31.5% !important;
    min-width:0 !important;
    height:38px !important;
    padding:4px 5px !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.022) !important;
  }

  #boardView .board-table td:nth-child(5){
    justify-self:start !important;
    border-color:rgba(246,202,55,.11) !important;
    background:rgba(246,202,55,.025) !important;
  }

  #boardView .board-table td:nth-child(6){
    justify-self:center !important;
  }

  #boardView .board-table td:nth-child(7){
    justify-self:end !important;
  }

  #boardView .ranking-metric{
    flex-direction:column !important;
    gap:2px !important;
    text-align:center !important;
  }

  #boardView .ranking-metric small{
    display:block !important;
    font:700 6px 'JetBrains Mono',monospace !important;
    color:#6f7787 !important;
    letter-spacing:.07em !important;
  }

  #boardView .ranking-metric b{
    font-size:11px !important;
    line-height:1 !important;
  }

  #boardView .board-table td:nth-child(8){
    grid-area:owner !important;
    display:block !important;
    padding-top:6px !important;
    border-top:1px solid rgba(255,255,255,.045) !important;
  }

  #boardView .fantasy-owner{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-width:0 !important;
  }

  #boardView .fantasy-owner small{
    display:block !important;
    margin:0 !important;
    color:#687181 !important;
    font-size:6px !important;
  }

  #boardView .fantasy-owner b{
    max-width:72% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#aeb5c0 !important;
    font-size:8px !important;
    text-align:right !important;
  }

  #boardView .player-ranking-row.fantasy-free .fantasy-owner b{
    color:#72dba9 !important;
  }

  /* Small affordance that makes the whole card feel tappable. */
  #boardView .board-table tbody tr.player-ranking-row::after{
    content:'›' !important;
    position:absolute !important;
    right:11px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:20px !important;
    height:28px !important;
    display:grid !important;
    place-items:center !important;
    color:#7b8493 !important;
    font-size:23px !important;
    font-weight:300 !important;
    line-height:1 !important;
    pointer-events:none !important;
  }

  #boardView .board-table tbody tr.player-ranking-row:active::after{
    color:var(--harvest-gold) !important;
    transform:translateY(-50%) translateX(1px) !important;
  }
}

@media(max-width:390px){
  #boardView .board-table tbody tr.player-ranking-row{
    grid-template-columns:34px minmax(0,1fr) auto !important;
    padding:9px 34px 8px 9px !important;
    gap:6px 7px !important;
  }

  #boardView .ranking-player-name{
    font-size:13px !important;
  }

  #boardView .board-table td:nth-child(5),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7){
    height:36px !important;
  }
}


/* ==========================================================
   COCO v134 · Restore classic Player Rankings rows
   Return the Players page to the dense pre-card layout shown
   in the reference screenshot. Full Player Profile stays new.
   ========================================================== */
@media(max-width:760px){

  #boardView .ranking-player-card-body{
    display:none !important;
  }

  #boardView .board-table tbody tr.player-ranking-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 58px 56px !important;
    grid-template-areas:"rank player value pos" !important;
    align-items:center !important;
    gap:10px !important;
    min-height:82px !important;
    height:82px !important;
    padding:9px 12px !important;
    margin:0 0 7px !important;
    border:1px solid rgba(255,255,255,.07) !important;
    border-radius:14px !important;
    background:#0b0d11 !important;
    overflow:hidden !important;
    cursor:pointer !important;
  }

  #boardView .board-table tbody tr.player-ranking-row.tier-player-surface{
    box-shadow:
      inset 3px 0 0 color-mix(in srgb,var(--tier-color) 80%,transparent),
      0 5px 14px rgba(0,0,0,.10) !important;
    background:
      linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 3%,transparent),transparent 36%),
      #0b0d11 !important;
  }

  #boardView .ranking-overall{
    grid-area:rank !important;
    display:block !important;
    width:42px !important;
    align-self:center !important;
  }

  #boardView .ranking-overall span{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:10px !important;
    font-size:14px !important;
  }

  #boardView .player-cell{
    grid-area:player !important;
    display:block !important;
    min-width:0 !important;
  }

  #boardView .ranking-player-identity{
    display:block !important;
    min-width:0 !important;
  }

  #boardView .ranking-player-name{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    gap:5px !important;
    font-size:15px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #boardView .ranking-player-name > span:first-child,
  #boardView .ranking-player-name > b:first-child{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #boardView .ranking-player-sub{
    margin-top:7px !important;
    gap:5px !important;
    color:#737c8c !important;
    font-size:7px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  #boardView .player-tier-chip{
    flex:0 0 auto !important;
    margin-left:4px !important;
    padding:3px 7px !important;
    border-radius:999px !important;
    font-size:6px !important;
  }

  #boardView .board-table td:nth-child(3){
    grid-area:pos !important;
    display:block !important;
    justify-self:end !important;
    align-self:center !important;
  }

  #boardView .clean-pos-rank{
    min-width:54px !important;
    height:42px !important;
    padding:0 8px !important;
    border-radius:10px !important;
    font-size:9px !important;
  }

  /* Classic view shows COCO value only. */
  #boardView .board-table td:nth-child(5){
    grid-area:value !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    text-align:right !important;
  }

  #boardView .board-table td:nth-child(5) small{
    display:block !important;
    margin:0 0 3px !important;
    color:#70798a !important;
    font:700 6px 'JetBrains Mono',monospace !important;
    letter-spacing:.10em !important;
  }

  #boardView .board-table td:nth-child(5) b{
    color:var(--harvest-gold) !important;
    font-size:14px !important;
    line-height:1 !important;
  }

  /* Hide team column, Week, ESPN and ownership footer in classic list. */
  #boardView .board-table td:nth-child(4),
  #boardView .board-table td:nth-child(6),
  #boardView .board-table td:nth-child(7),
  #boardView .board-table td:nth-child(8){
    display:none !important;
  }

  /* Remove the v133 chevron; whole row is still tappable. */
  #boardView .board-table tbody tr.player-ranking-row::after{
    display:none !important;
    content:none !important;
  }

  /* Tier header proportions from the older dense layout. */
  #boardView .ranking-tier-row td{
    padding:7px 0 6px !important;
  }

  #boardView .ranking-tier-divider{
    min-height:48px !important;
    padding:0 13px !important;
    border-radius:13px !important;
  }

  #boardView .ranking-tier-divider > span{
    font-size:10px !important;
    letter-spacing:.13em !important;
  }

  #boardView .ranking-tier-divider > small{
    margin-left:auto !important;
    font-size:6px !important;
    letter-spacing:.10em !important;
  }

  #boardView .ranking-tier-divider > small::after{
    content:'  ·  WK 1 BASELINE' !important;
    margin-left:9px !important;
    color:var(--harvest-gold) !important;
  }
}

@media(max-width:390px){
  #boardView .board-table tbody tr.player-ranking-row{
    grid-template-columns:39px minmax(0,1fr) 52px 50px !important;
    gap:8px !important;
    min-height:78px !important;
    height:78px !important;
    padding:8px 10px !important;
  }

  #boardView .ranking-overall{
    width:39px !important;
  }

  #boardView .ranking-overall span{
    width:39px !important;
    height:39px !important;
    min-width:39px !important;
    min-height:39px !important;
  }

  #boardView .ranking-player-name{
    font-size:14px !important;
  }

  #boardView .clean-pos-rank{
    min-width:50px !important;
    height:39px !important;
  }
}


/* ==========================================================
   COCO v135 · Player Profile refinement
   Clearer hierarchy: Outlook → Weekly Range → Form → Usage.
   ========================================================== */

/* Overall rank remains useful but no longer competes with the player name. */
.player-profile-rank{
  background:rgba(246,202,55,.035) !important;
  box-shadow:none !important;
  border-color:rgba(246,202,55,.22) !important;
}
.player-profile-rank b{
  color:#f3cf57 !important;
}

/* Tier is a compact identity strip, not another oversized dashboard card. */
.player-profile-tier{
  min-height:0 !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.player-profile-tier .tier-emblem{
  width:32px !important;
  height:32px !important;
  border-radius:10px !important;
  font-size:16px !important;
}
.player-profile-tier strong{
  font-size:11px !important;
}
.player-profile-tier small{
  font-size:6.5px !important;
}

/* COCO Outlook: one obvious headline with supporting context underneath. */
.profile-intelligence-head{
  align-items:center !important;
  padding:13px 15px !important;
}
.profile-outlook-copy{
  min-width:0;
  display:block !important;
}
.profile-outlook-copy>span{
  display:block;
  margin-bottom:5px;
}
.profile-outlook-copy>strong{
  display:block;
  font-size:15px !important;
  line-height:1.18 !important;
}
.profile-outlook-copy>p{
  margin:4px 0 0;
  color:#929baa;
  font-size:10px;
  line-height:1.35;
}
.profile-source-stack{
  align-self:center;
}

/* Shared section headings */
.profile-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.profile-section-head>div{
  min-width:0;
}
.profile-section-head span{
  display:block;
  color:var(--harvest-gold,#f2c94c);
  font:800 9px 'JetBrains Mono',monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.profile-section-head small{
  display:block;
  margin-top:3px;
  color:#6f7888;
  font-size:8px;
}

/* Weekly Range becomes one cohesive card. */
.profile-weekly-range{
  padding:13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(11,14,20,.82),rgba(6,8,13,.9));
}
.profile-range-context{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-bottom:11px;
}
.profile-range-context .profile-outlook-stat{
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.018);
}
.profile-range-context .profile-outlook-stat small{
  font-size:7px;
  margin-bottom:4px;
}
.profile-range-context .profile-outlook-stat b{
  font-size:13px;
}

.profile-range-band{
  display:grid;
  grid-template-columns:auto minmax(70px,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
  background:rgba(255,255,255,.014);
}
.profile-range-point{
  min-width:68px;
}
.profile-range-point.ceiling{
  text-align:right;
}
.profile-range-point small{
  display:block;
  color:#747e8f;
  font:700 6px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  white-space:nowrap;
}
.profile-range-point b{
  display:block;
  margin-top:4px;
  color:#edf0f5;
  font-size:18px;
  line-height:1;
}
.profile-range-track{
  position:relative;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(101,227,173,.24),rgba(246,202,55,.28),rgba(255,115,125,.24));
}
.profile-range-track>span{
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.05);
}
.profile-range-track>i{
  position:absolute;
  top:50%;
  width:10px;
  height:10px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:var(--harvest-gold,#f2c94c);
  box-shadow:0 0 0 3px rgba(246,202,55,.12);
}

/* Form is one card instead of another 2x2 dashboard. */
.profile-form-card{
  padding:13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(10,13,19,.82),rgba(5,8,13,.9));
}
.profile-form-hero{
  display:grid;
  grid-template-columns:minmax(105px,.82fr) minmax(0,2fr);
  gap:8px;
  align-items:stretch;
}
.profile-form-hero>div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:11px;
  border:1px solid rgba(157,180,220,.16);
  border-radius:11px;
  background:rgba(157,180,220,.035);
}
.profile-form-hero.up>div:first-child{
  border-color:rgba(98,221,166,.20);
  background:rgba(98,221,166,.045);
}
.profile-form-hero.down>div:first-child{
  border-color:rgba(255,115,125,.20);
  background:rgba(255,115,125,.045);
}
.profile-form-hero>div:first-child small,
.profile-form-core small,
.profile-form-footer small{
  display:block;
  color:#727c8d;
  font:700 6.5px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}
.profile-form-hero>div:first-child b{
  display:block;
  margin-top:5px;
  color:#9db4dc;
  font-size:13px;
  line-height:1.1;
}
.profile-form-hero.up>div:first-child b{color:#62dda6}
.profile-form-hero.down>div:first-child b{color:#ff737d}

.profile-form-core{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.055);
  border-radius:11px;
  background:rgba(255,255,255,.014);
}
.profile-form-core>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px;
  border-right:1px solid rgba(255,255,255,.05);
}
.profile-form-core>span:last-child{
  border-right:0;
}
.profile-form-core b{
  display:block;
  margin-top:5px;
  color:#e8ebf0;
  font-size:14px;
  line-height:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.profile-form-footer{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin-top:7px;
}
.profile-form-footer>span{
  min-width:0;
  padding:7px 6px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:9px;
  background:rgba(255,255,255,.012);
  text-align:center;
}
.profile-form-footer b{
  display:block;
  margin-top:4px;
  color:#bfc6d1;
  font-size:10px;
  line-height:1;
}

/* Old grids are no longer emitted by v135; keep them hidden if stale markup
   survives a cached render during the asset transition. */
.profile-outlook-grid,
.profile-form-grid,
.profile-rate-strip{
  display:none !important;
}

@media(max-width:760px){
  .player-profile-rank{
    min-width:76px !important;
    padding:8px 7px !important;
  }
  .player-profile-rank b{
    font-size:27px !important;
  }
  .player-profile-rank span{
    font-size:6px !important;
  }

  .profile-intelligence-head{
    padding:12px 13px !important;
    gap:9px !important;
  }
  .profile-outlook-copy>strong{
    font-size:13px !important;
  }
  .profile-outlook-copy>p{
    font-size:8.5px;
  }

  .profile-weekly-range,
  .profile-form-card{
    padding:11px;
    border-radius:14px;
  }

  .profile-range-context{
    margin-bottom:9px;
  }

  .profile-range-band{
    grid-template-columns:64px minmax(56px,1fr) 64px;
    gap:7px;
    padding:9px;
  }
  .profile-range-point{
    min-width:0;
  }
  .profile-range-point small{
    font-size:5.5px;
  }
  .profile-range-point b{
    font-size:15px;
  }

  .profile-form-hero{
    grid-template-columns:1fr;
  }
  .profile-form-hero>div:first-child{
    min-height:48px;
  }
  .profile-form-core>span{
    padding:8px 7px;
  }
  .profile-form-core b{
    font-size:12px;
  }

  .profile-form-footer{
    gap:4px;
  }
  .profile-form-footer>span{
    padding:6px 4px;
  }
  .profile-form-footer small{
    font-size:5.5px;
  }
  .profile-form-footer b{
    font-size:9px;
  }
}


/* ==========================================================
   COCO v136 · Opponent Strength / projection-adjusted SOS
   ========================================================== */
.profile-opponent-strength{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-2px 0 10px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.014);
}
.profile-opponent-strength>div:first-child{min-width:94px}
.profile-opponent-strength small{
  display:block;
  color:#717b8c;
  font:700 6px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  line-height:1.2;
}
.profile-opponent-strength b{
  display:block;
  margin-top:4px;
  color:#c5cbd5;
  font-size:11px;
  line-height:1;
}
.profile-opponent-rank{
  min-width:0;
  text-align:right;
}
.profile-opponent-rank strong{
  display:block;
  color:#e9ecf1;
  font-size:13px;
  line-height:1;
}
.profile-opponent-rank small{
  margin-top:4px;
  max-width:250px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-opponent-strength.favorable{
  border-color:rgba(98,221,166,.18);
  background:rgba(98,221,166,.035);
}
.profile-opponent-strength.favorable b,
.profile-opponent-strength.favorable .profile-opponent-rank strong{color:#62dda6}
.profile-opponent-strength.tough{
  border-color:rgba(255,115,125,.18);
  background:rgba(255,115,125,.035);
}
.profile-opponent-strength.tough b,
.profile-opponent-strength.tough .profile-opponent-rank strong{color:#ff7d86}
.profile-opponent-strength.neutral{
  border-color:rgba(246,202,55,.13);
}
.profile-opponent-strength.neutral b{color:#e3c35b}
.profile-opponent-strength.building{opacity:.82}

@media(max-width:760px){
  .profile-opponent-strength{
    gap:8px;
    padding:8px 9px;
  }
  .profile-opponent-strength>div:first-child{min-width:84px}
  .profile-opponent-strength b{font-size:10px}
  .profile-opponent-rank strong{font-size:12px}
  .profile-opponent-rank small{
    max-width:175px;
    font-size:5.5px;
  }
}


/* ==========================================================
   COCO v140 · Usage & Opportunity stat tabs
   ========================================================== */
.profile-usage-tabs{
  display:flex;
  align-items:center;
  gap:6px;
  margin:2px 0 10px;
  padding:4px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.profile-usage-tab{
  flex:1 1 0;
  min-width:0;
  height:32px;
  padding:0 8px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#778090;
  font:800 7px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  cursor:pointer;
  transition:.16s ease;
}
.profile-usage-tab.active{
  color:var(--harvest-gold,#f2c94c);
  border-color:rgba(246,202,55,.24);
  background:rgba(246,202,55,.08);
  box-shadow:inset 0 0 0 1px rgba(246,202,55,.04);
}
.profile-usage-tab-panels{
  min-height:0;
}
.profile-usage-tab-panel{
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.profile-usage-tab-panel.active{
  display:grid;
}

/* The tab already tells the user these are selectable, so the repeated
   VIEW CHART line is intentionally removed to save vertical space. */
.profile-usage-tab-panel .profile-usage-stat{
  min-height:76px !important;
  height:76px !important;
  padding:12px 13px !important;
}
.profile-usage-tab-panel .profile-usage-stat small{
  margin-bottom:8px !important;
}
.profile-usage-tab-panel .profile-usage-stat b{
  font-size:18px !important;
}
.profile-usage-tab-panel .profile-usage-stat span{
  display:none !important;
}

@media(max-width:760px){
  .profile-usage-tabs{
    gap:4px;
    margin-bottom:8px;
    padding:3px;
  }
  .profile-usage-tab{
    height:29px;
    padding:0 5px;
    font-size:6px;
  }
  .profile-usage-tab-panel{
    gap:7px;
  }
  .profile-usage-tab-panel .profile-usage-stat{
    min-height:68px !important;
    height:68px !important;
    padding:10px 11px !important;
  }
  .profile-usage-tab-panel .profile-usage-stat small{
    margin-bottom:6px !important;
    font-size:7px !important;
  }
  .profile-usage-tab-panel .profile-usage-stat b{
    font-size:16px !important;
  }
}

@media(max-width:390px){
  .profile-usage-tab{
    font-size:5.6px;
    letter-spacing:.05em;
  }
}

/* ============================================================
   COCO v142 POLISH PASS
   Home + League + Team + Matchups + Player Profile
   ============================================================ */

/* GLOBAL RHYTHM */
.workspace-heading{
  margin-bottom:20px!important;
}
.workspace-heading h1{
  letter-spacing:-.04em!important;
}
.product-dashboard{
  gap:16px!important;
}
.product-card-title-row{
  margin-bottom:10px!important;
}
.section-divider{
  margin:14px 0!important;
}

/* HOME — tighter, more information above the fold */
#homeView .home-main-grid{
  gap:14px!important;
}
#homeView .home-flat-section{
  padding-top:4px!important;
  padding-bottom:14px!important;
}
#homeView .home-roster-section{
  margin-top:0!important;
  padding-top:6px!important;
  padding-bottom:18px!important;
}
#homeView .product-stat-row{
  margin-top:8px!important;
}
#homeView .product-row{
  padding-top:10px!important;
  padding-bottom:10px!important;
}
#homeView .home-quick-actions{
  margin-top:12px!important;
}

/* TEAM — denser roster without feeling cramped */
#teamView .product-card{
  padding:14px!important;
}
#teamView .team-roster-flat{
  margin-top:12px!important;
}
#teamView .product-lineup .product-row,
#teamView .roster-row,
#teamView .roster-player{
  min-height:56px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
#teamView .product-room-grid{
  gap:10px!important;
}

/* LEAGUE CENTER — one consistent system instead of stacked mini-apps */
#seasonView .workspace-heading{
  margin-bottom:18px!important;
}
#seasonView .season-grid{
  gap:12px!important;
}
#seasonView .season-toolbar{
  margin:10px 0 12px!important;
  gap:8px!important;
}
#seasonView .season-tabs{
  margin:12px 0 14px!important;
  gap:5px!important;
}
#seasonView .season-tab{
  min-height:38px!important;
  padding:8px 11px!important;
}
#seasonView .season-pane > h2,
#seasonView .season-pane .product-card-title-row{
  margin-bottom:10px!important;
}

/* League ranking cards — ~20% shorter */
#seasonRankingsPane .rank-controls{
  margin-top:10px!important;
  margin-bottom:12px!important;
}
#seasonRankingsPane .rank-card{
  padding:13px 13px 12px!important;
}
#seasonRankingsPane .rank-head{
  gap:9px!important;
}
#seasonRankingsPane .rank-sub{
  margin-top:5px!important;
  line-height:1.35!important;
}
#seasonRankingsPane .rank-score{
  padding:8px 10px!important;
}
#seasonRankingsPane .rank-score b{
  font-size:30px!important;
}
#seasonRankingsPane .rank-bar{
  margin-top:10px!important;
}
#seasonRankingsPane .rank-breakdown{
  gap:6px!important;
  margin-top:9px!important;
}
#seasonRankingsPane .rank-breakdown span{
  min-height:26px!important;
  padding:5px 8px!important;
}
#seasonRankingsPane .rank-minirow{
  margin-top:9px!important;
  gap:6px!important;
}
#seasonRankingsPane .rank-mini{
  padding:8px 9px!important;
}
#seasonRankingsPane .rank-wheel-layout{
  margin-top:12px!important;
  gap:10px!important;
}
#seasonRankingsPane .rank-expand-btn{
  min-height:38px!important;
}

/* MATCHUPS — compact cards, stronger scores */
.matchup-card,
.coco-simple-matchup{
  padding:13px!important;
}
.coco-matchup-status{
  margin-bottom:8px!important;
}
.coco-score-row{
  min-height:58px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.coco-score-row .score{
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.coco-score-row .team b{
  font-size:14px!important;
}
.coco-score-row .team small{
  font-size:8px!important;
}
.coco-matchup-foot{
  margin-top:8px!important;
  padding-top:9px!important;
}

/* PLAYER PROFILE — same premium feel, less dead space */
.player-profile-main{
  padding-top:14px!important;
}
.player-profile-title-row{
  margin-top:5px!important;
}
.player-profile-tags{
  margin-top:8px!important;
}
.player-profile-metrics{
  margin-top:10px!important;
}
.player-profile-metric{
  min-height:68px!important;
  padding:10px 11px!important;
}
.player-profile-chart{
  margin-top:10px!important;
  padding:12px!important;
}
.player-profile-info{
  margin-top:10px!important;
}
.player-profile-info > div{
  min-height:64px!important;
  padding:10px 11px!important;
}
.player-profile-tier{
  margin-top:9px!important;
}
.player-profile-body{
  padding-bottom:22px!important;
}

/* MOBILE */
@media(max-width:760px){

  .content{
    padding-bottom:calc(env(safe-area-inset-bottom) + 118px)!important;
  }

  .workspace-heading{
    margin-bottom:16px!important;
  }

  /* Home */
  #homeView .product-dashboard{
    gap:12px!important;
  }
  #homeView .home-matchup-card{
    padding:14px!important;
  }
  #homeView .home-quick-actions{
    gap:8px!important;
  }
  #homeView .home-quick-actions button{
    min-height:88px!important;
    padding:11px 7px!important;
  }

  /* League */
  #seasonView .season-tabs{
    margin:9px 0 12px!important;
    padding:3px!important;
  }
  #seasonView .season-tab{
    min-height:36px!important;
    padding:7px 10px!important;
    font-size:9.5px!important;
  }

  #seasonRankingsPane .rank-card{
    padding:12px!important;
  }
  #seasonRankingsPane .rank-score b{
    font-size:28px!important;
  }
  #seasonRankingsPane .rank-wheel{
    width:min(100%,195px)!important;
  }
  #seasonRankingsPane .rank-mini{
    min-width:0!important;
    flex:1 1 calc(50% - 6px)!important;
  }

  /* Team roster */
  #teamView .product-card{
    padding:12px!important;
  }
  #teamView .product-lineup .product-row,
  #teamView .roster-row,
  #teamView .roster-player{
    min-height:52px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  /* Matchups */
  .matchup-card,
  .coco-simple-matchup{
    padding:12px!important;
  }
  .coco-score-row{
    min-height:54px!important;
  }
  .coco-score-row .score{
    font-size:28px!important;
  }

  /* Player profile */
  .player-profile-main{
    padding-top:12px!important;
  }
  .player-profile-title h2{
    font-size:30px!important;
  }
  .player-profile-metric{
    min-height:64px!important;
  }
  .player-profile-chart{
    margin-top:9px!important;
  }
  .player-profile-info > div{
    min-height:60px!important;
  }
}

/* Keep touch devices stable */
@media(hover:none){
  .rank-card:hover,
  .matchup-card:hover,
  .product-card:hover{
    transform:none!important;
  }
}


/* ============================================================
   v143 TEAM PICKER MOBILE FIX
   Keep every team reachable above fixed bottom navigation.
   ============================================================ */

@media(max-width:760px){

  #seasonTeamPicker{
    align-items:flex-end!important;
    padding:
      12px
      max(12px,env(safe-area-inset-right))
      calc(env(safe-area-inset-bottom) + 92px)
      max(12px,env(safe-area-inset-left))!important;
    overflow:hidden!important;
  }

  #seasonTeamPicker .team-picker-card{
    width:100%!important;
    max-height:calc(
      100dvh
      - env(safe-area-inset-top)
      - env(safe-area-inset-bottom)
      - 118px
    )!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  #seasonTeamPicker .team-picker-list{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding-bottom:18px!important;
    scroll-padding-bottom:24px!important;
  }

  #seasonTeamPicker .team-picker-btn{
    flex:0 0 auto!important;
  }
}


/* ============================================================
   COCO v144 READABILITY PASS
   Preserve dark/navy/gold theme, improve secondary contrast.
   ============================================================ */

:root{
  --dim:#a5adbf!important;
}

/* Secondary text: easier to read without flattening hierarchy */
.meta,
.product-row .meta,
.product-card p,
.workspace-heading p,
.season-card p,
.matchup-method,
.matchup-foot,
.matchup-detail-title small,
.player-profile-chart-head small,
.player-profile-tier small,
.player-profile-info small,
.player-profile-metric small,
.tools-list small,
.home-quick-actions small,
.rank-sub,
.rank-mini small,
.season-status{
  color:#a5adbf!important;
}

/* Tiny mono/eyebrow labels need a little more contrast */
.eyebrow,
.section-divider,
.command-kicker,
.compact-heading,
.silent-kicker,
.harvest-league-kicker,
.player-profile-kicker,
.product-stat span,
.rank-score span,
.rank-mini span,
.player-profile-rank span{
  color:#b0b7c7!important;
}

/* Inactive controls stay subdued, but no longer look disabled */
.mobile-bottom-nav button,
.season-tab,
.pos-chip,
.rank-controls button,
.matchup-week-chip,
.matchup-week-quick button{
  color:#9ea6b8!important;
}

.mobile-bottom-nav button.active,
.season-tab.active,
.pos-chip.active,
.rank-controls button.active,
.matchup-week-chip.active,
.matchup-week-quick button.active{
  color:var(--harvest-gold)!important;
}

/* Keep primary text crisp */
.product-row b,
.product-card h2,
.workspace-heading h1,
.season-card h2,
.matchup-team b,
.player-profile-title h2,
.rank-card b,
.tools-list b{
  color:#f4f5f8!important;
}

/* Slightly improve border separation on dark cards */
.product-card,
.season-card,
.matchup-card,
.home-matchup-card,
.home-roster-section,
.rank-card,
.player-profile-info,
.player-profile-chart{
  border-color:rgba(255,255,255,.095)!important;
}


/* ============================================================
   COCO SCORE AUDIT
   ============================================================ */

.coco-score-audit{
  margin:0 0 18px;
  border:1px solid rgba(246,202,55,.18);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(246,202,55,.045),rgba(255,255,255,.018));
  overflow:hidden;
}

.coco-score-audit-head{
  padding:16px 16px 13px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.coco-score-audit-head h3{
  margin:4px 0 5px;
  font-size:19px;
}

.coco-score-audit-head p{
  margin:0;
  color:var(--dim);
  font-size:11px;
  line-height:1.45;
}

.coco-score-audit-list{
  display:grid;
}

.coco-audit-row{
  display:grid;
  grid-template-columns:minmax(210px,1fr) repeat(5,72px);
  align-items:center;
  gap:8px;
  padding:11px 14px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.coco-audit-row:last-child{
  border-bottom:0;
}

.coco-audit-row.mine{
  background:rgba(246,202,55,.055);
}

.coco-audit-team{
  min-width:0;
}

.coco-audit-team b{
  display:block;
  font-size:13px;
}

.coco-audit-team small{
  display:block;
  color:var(--dim);
  font-size:9px;
  margin-top:3px;
  line-height:1.35;
}

.coco-audit-row > div:not(.coco-audit-team){
  text-align:center;
}

.coco-audit-row > div > small{
  display:block;
  color:var(--dim);
  font:700 7px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}

.coco-audit-row > div > b{
  display:block;
  margin-top:3px;
  font-size:14px;
}

.coco-audit-row .up b{
  color:#55d99a;
}

.coco-audit-row .down b{
  color:#f08a94;
}

@media(max-width:760px){
  .coco-score-audit{
    margin-bottom:14px;
  }

  .coco-audit-row{
    grid-template-columns:minmax(0,1fr) repeat(3,52px);
    gap:5px;
    padding:10px;
  }

  .coco-audit-row > div:nth-child(5),
  .coco-audit-row > div:nth-child(6){
    display:none;
  }

  .coco-audit-team b{
    font-size:12px;
  }

  .coco-audit-team small{
    font-size:8px;
  }

  .coco-audit-row > div > b{
    font-size:13px;
  }
}

