:root{
  --bg:#0d1117; --panel:#161b22; --panel2:#1c2330; --line:#2a3240; --ink:#e6edf3; --ink2:#a7b1bd; --muted:#7d8794;
  --a1:#4f46e5; --a1b:#7c3aed; --a2:#06b6d4; --grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 45%,#06b6d4 100%);
  --acc:#8b8cf8; --acc-ink:#ffffff; --good:#3fb950; --good-bg:rgba(63,185,80,.16); --warn:#d29922; --bad:#f85149;
  --bar:#7c3aed; --bar2:#2a2550;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--acc);text-decoration:none}
button{font:inherit}
.top{position:sticky;top:0;z-index:20;display:flex;gap:10px;align-items:center;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:rgba(13,17,23,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brand{font-weight:800;white-space:nowrap;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.search{position:relative;flex:1;min-width:0}
.search input,.pick input,textarea,select{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:16px;outline:none}
.search input:focus,.pick input:focus,textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.25)}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:30;max-height:60vh;overflow-y:auto}
.sugg button{display:flex;width:100%;gap:10px;align-items:center;text-align:left;padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer}
.sugg button:last-child{border-bottom:0}
.sugg button.on,.sugg button:hover{background:var(--panel2)}
.sugg .r{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}
main{max-width:860px;margin:0 auto;padding:14px 16px 96px}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:rgba(13,17,23,.97);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tabs a{flex:1;text-align:center;padding:12px 2px;color:var(--muted);font-size:13px;font-weight:600}
.tabs a.on{color:var(--ink);box-shadow:inset 0 3px 0 0 #7c3aed;background:linear-gradient(180deg,rgba(124,58,237,.18),transparent 70%)}
.pad{padding:12px 0}.muted{color:var(--muted)}.ink2{color:var(--ink2)}.small{font-size:13px}.tiny{font-size:12px}
h1{font-size:24px;margin:0;letter-spacing:-.02em;line-height:1.15}
h2{font-size:16px;margin:22px 0 8px;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}
.row{display:flex;gap:10px;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}
.hero{display:flex;gap:14px;align-items:center}
.hero img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--panel2);flex:none}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--panel2);color:var(--ink2);border:1px solid var(--line)}
.b-out{color:#fff;background:#8e1f1a;border-color:#8e1f1a}.b-q{color:#1a1200;background:var(--warn);border-color:var(--warn)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.tile{background:var(--panel2);border-radius:10px;padding:9px 10px}
.tile b{display:block;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tile span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--grad);box-shadow:0 6px 18px -8px rgba(79,70,229,.7);color:var(--acc-ink);border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.sm{padding:6px 10px;font-size:13px}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:7px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);font-size:13px}
th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:var(--panel);position:sticky;top:0}
td:first-child,th:first-child{text-align:left;position:sticky;left:0;background:var(--panel)}
tbody tr:last-child td{border-bottom:0}
tr.tot td{font-weight:700;background:var(--panel2)}
tr.tot td:first-child{background:var(--panel2)}
td.fx{text-decoration:underline dotted var(--warn);text-underline-offset:3px}
.cmp td.win{color:var(--good);font-weight:700;background:var(--good-bg)}
.cmp td{width:33%}.cmp td:nth-child(2),.cmp th:nth-child(2){text-align:right}.cmp td:nth-child(3),.cmp th:nth-child(3){text-align:right}
.cmp tr.sec td{background:var(--bg);color:var(--ink2);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;font-weight:700}
.meter{height:8px;border-radius:4px;background:var(--panel2);overflow:hidden;min-width:60px}
.meter i{display:block;height:100%;background:var(--bar);border-radius:0 4px 4px 0}
.room td:first-child{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.room tr.me td{background:#221b45}.room tr.me td:first-child{background:#221b45}
.news .item{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.news .head{font-weight:700}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:13px;cursor:pointer}
.chip.on{background:var(--grad);color:#fff;border-color:transparent}
.chip .x{margin-left:6px;color:var(--muted)}
.pick{position:relative}
.rank{display:flex;gap:12px;align-items:flex-start}
.rank .n{font-size:22px;font-weight:800;color:var(--muted);width:24px;flex:none;text-align:center}
.rank .proj{margin-left:auto;text-align:right;flex:none}
.rank .proj b{font-size:20px;display:block}
.why{margin:6px 0 0;padding-left:16px;color:var(--ink2);font-size:13px}
.why li{margin:2px 0}
.verdict{font-size:20px;font-weight:800;letter-spacing:-.01em}
.v-good{color:var(--good)}.v-bad{color:var(--bad)}.v-even{color:var(--warn)}
.sides{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:700px){.sides{grid-template-columns:1fr 1fr}}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px;font-weight:600;z-index:50;max-width:90vw}
.list .pl{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.list .pl:last-child{border-bottom:0}
.list .r{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
.seg{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.note{font-size:12px;color:var(--muted);margin-top:8px}
.news .item .small.ink2,.news .ink2.small{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ana{position:relative;border:1px solid transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--grad) border-box;border-radius:14px;padding:14px 16px;margin:14px 0}
.ana h3{font-size:15px;margin:14px 0 4px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ana h3:first-child{margin-top:0}
.ana p,.ana li{color:var(--ink);font-size:14.5px;line-height:1.55}
.ana ul{padding-left:18px}
.ana .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-weight:700;margin-bottom:6px}
.spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:#7c3aed;animation:sp 0.8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes sp{to{transform:rotate(360deg)}}
.rm{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:4px 9px;margin-left:8px;cursor:pointer;font-size:13px}
.rm:hover{color:var(--bad);border-color:var(--bad)}
.list .pl-wrap{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.list .pl-wrap:last-child{border-bottom:0}
.list .pl-wrap a.pl{flex:1;border-bottom:0;min-width:0}
.seg .chip{min-width:48px}

/* ranks, signals, sub-tabs */
.rk{flex:none;width:28px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
.rk.gold{color:#1a1300;background:var(--gold,#f5c542);border-radius:8px;padding:3px 0;box-shadow:0 0 0 2px rgba(245,197,66,.25)}
.sig{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;padding:2px 7px;border-radius:6px;vertical-align:1px}
.sig.buy{background:var(--good-bg);color:var(--good);border:1px solid rgba(63,185,80,.5)}
.sig.sell{background:rgba(248,81,73,.14);color:var(--bad);border:1px solid rgba(248,81,73,.5)}
.subtabs{display:flex;gap:0;margin:12px 0 4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:3px}
.subtabs button{flex:1;background:none;border:0;color:var(--muted);font-weight:700;padding:9px 6px;border-radius:9px;cursor:pointer;font-size:14px}
.subtabs button.on{background:var(--grad);color:#fff}

/* ---------- Gameday look (default): navy night game, turf header with yard lines, purple accents, gold #1 ---------- */
:root[data-look="gameday"]{
  --bg:#070c18; --panel:#0f1729; --panel2:#17213a; --line:#233150; --ink:#eef2fb; --ink2:#b3bdd3; --muted:#7f8aa3;
  --acc:#a78bfa; --grad:linear-gradient(135deg,#6d28d9 0%,#7c3aed 55%,#8b5cf6 100%); --bar:#8b5cf6; --bar2:#2b2352;
  --good:#34d058; --good-bg:rgba(52,208,88,.15); --bad:#ff5a52; --gold:#f5c542;
  --turf:#0f3d24; --turf2:#135a32;
}
:root[data-look="gameday"] body{background:radial-gradient(900px 420px at 50% -120px,rgba(124,58,237,.18),transparent 70%),var(--bg)}
:root[data-look="gameday"] .top{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 2px,transparent 2px 44px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 8.8px),
    repeating-linear-gradient(0deg,rgba(0,0,0,.10) 0 22px,rgba(255,255,255,.025) 22px 44px),
    linear-gradient(180deg,var(--turf2),var(--turf));
  border-bottom:3px solid #7c3aed; box-shadow:0 6px 20px -10px rgba(0,0,0,.8)}
:root[data-look="gameday"] .brand{background:none;color:#fff;-webkit-background-clip:initial;background-clip:initial;text-shadow:0 1px 0 rgba(0,0,0,.4);font-style:italic;text-transform:uppercase;letter-spacing:.02em}
:root[data-look="gameday"] .brand::before{content:"🏈 ";font-style:normal}
:root[data-look="gameday"] .search input{background:rgba(7,12,24,.78);border-color:rgba(255,255,255,.18)}
:root[data-look="gameday"] .tabs{background:rgba(7,12,24,.97);border-top:1px solid var(--line)}
:root[data-look="gameday"] .tabs a.on{color:#fff;box-shadow:inset 0 3px 0 0 #8b5cf6;background:linear-gradient(180deg,rgba(139,92,246,.22),transparent 75%)}
:root[data-look="gameday"] h1{text-transform:uppercase;font-style:italic;letter-spacing:.01em}
:root[data-look="gameday"] h2{color:var(--acc)}
:root[data-look="gameday"] .card{background:linear-gradient(180deg,var(--panel),#0c1424);border-color:var(--line)}
:root[data-look="gameday"] .room tr.me td{background:#211a44}
:root[data-look="gameday"] .ana h3{background:none;color:var(--acc);-webkit-background-clip:initial;background-clip:initial}

/* ======================= Round 5: charts, grid, waivers, responsive ======================= */
.tabs a{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;padding:8px 2px;min-height:52px;justify-content:center}
.tabs .ic{font-size:17px;line-height:1}
.chip{min-height:36px}
.charts{display:grid;grid-template-columns:1fr;gap:8px}
.chart{margin:0;background:var(--panel2);border-radius:12px;padding:8px 10px 2px}
.chart figcaption{font-size:12px;color:var(--ink2);display:flex;justify-content:space-between}
.chart figcaption b{color:var(--ink)}
.chart svg{width:100%;height:auto;display:block}
.chart .cg{stroke:var(--line);stroke-width:1}
.chart .ct{fill:var(--muted);font-size:9px}
.chart .cl{fill:none;stroke:#a78bfa;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .cd{fill:#a78bfa;stroke:var(--panel2);stroke-width:2}
.chart .pt:hover .cd{r:6}
.wkcards{display:grid;gap:6px}
.wkc,.roomc{background:var(--panel2);border-radius:10px;padding:8px 10px}
.roomc{margin:6px 0}.roomc.me{outline:1px solid #7c3aed}
.wv{display:flex;gap:10px;align-items:flex-start}
.wrapcell{white-space:normal!important;text-align:left!important;min-width:260px;line-height:1.35}
table.rt td,table.rt th{font-size:13px}
table.rt td:nth-child(2),table.rt th:nth-child(2){text-align:left}
.grid-wrap{border:0}
table.mx{font-size:10px;table-layout:fixed;width:100%}
table.mx th,table.mx td{padding:5px 1px;text-align:center;font-size:10px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--ink)}
table.mx td:first-child,table.mx th:first-child{text-align:left;padding-left:4px;width:38px;background:var(--panel)}
table.mx td.bye{color:var(--muted);background:transparent}
table.mx th.po{color:var(--gold,#f5c542)}
table.mx td.po{box-shadow:inset 0 2px 0 rgba(245,197,66,.55),inset 0 -2px 0 rgba(245,197,66,.55)}
.legend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);margin:8px 0}
.legend i{width:22px;height:10px;border-radius:3px;display:inline-block}
.only-wide{display:none}
.cols{display:block}

@media (min-width:1024px){
  main{max-width:1280px;padding:18px 28px 60px}
  .top{padding-left:max(28px,calc((100vw - 1280px)/2 + 28px));padding-right:max(28px,calc((100vw - 1280px)/2 + 28px))}
  .tabs{position:sticky;top:61px;bottom:auto;max-width:1280px;margin:0 auto;border-top:0;border-bottom:1px solid var(--line);padding:0 20px;justify-content:flex-start;gap:4px}
  .tabs a{flex:none;flex-direction:row;gap:7px;font-size:14px;padding:12px 16px;min-height:0}
  .tabs .ic{font-size:15px}
  .only-wide{display:block}.only-narrow{display:none}
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}
  .cols .span{grid-column:1/-1}
  .charts{grid-template-columns:1fr 1fr}
  .news-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  table.mx th,table.mx td{font-size:12px;padding:7px 3px}
  table.mx td:first-child,table.mx th:first-child{width:60px}
  .sides{grid-template-columns:1fr 1fr}
  .ana{max-width:none}
  .toast{bottom:30px}
}

/* ======================= Round 6: the field ======================= */
html{background:#0b2a18}
body{background:transparent!important}
#field{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block}
#playcap{position:fixed;left:12px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;font-size:11px;color:rgba(255,255,255,.55);background:rgba(7,12,24,.45);padding:3px 8px;border-radius:8px;max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media (min-width:1024px){#playcap{bottom:14px;left:16px;font-size:12px}}
:root[data-look="gameday"] .top{background:rgba(7,12,24,.78)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:3px solid #7c3aed}
:root[data-look="gameday"] .tabs{background:rgba(7,12,24,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
:root[data-look="gameday"] .card,:root[data-look="gameday"] .ana,:root[data-look="gameday"] .scroll,:root[data-look="gameday"] .subtabs{background:rgba(12,19,36,.80);backdrop-filter:blur(8px) saturate(115%);-webkit-backdrop-filter:blur(8px) saturate(115%)}
:root[data-look="gameday"] .ana{background:linear-gradient(rgba(12,19,36,.86),rgba(12,19,36,.86)) padding-box,var(--grad) border-box}
:root[data-look="gameday"] .tile,:root[data-look="gameday"] .wkc,:root[data-look="gameday"] .roomc,:root[data-look="gameday"] .chart{background:rgba(23,33,58,.82)}
:root[data-look="gameday"] th,:root[data-look="gameday"] td:first-child,:root[data-look="gameday"] table.mx td:first-child{background:rgba(12,19,36,.92)}
:root[data-look="gameday"] h1,:root[data-look="gameday"] h2,:root[data-look="gameday"] .note,:root[data-look="gameday"] #app>p{text-shadow:0 1px 3px rgba(0,0,0,.9)}
:root[data-look="gameday"] #app>p.muted,:root[data-look="gameday"] #app>p.note{background:rgba(7,12,24,.55);padding:6px 10px;border-radius:8px}
:root[data-look="gameday"] .chip{background:rgba(23,33,58,.88)}
:root[data-look="classic"] #field,:root[data-look="classic"] #playcap{display:none}
:root[data-look="classic"] body{background:var(--bg)!important}
.wv .proj{margin-left:auto;text-align:right;flex:none}.wv .proj b{display:block;font-size:20px}
.rt .rk{display:inline-block;width:26px}
@media (max-width:1023px){table.mx .at{display:none}table.mx td,table.mx th{font-size:9.5px;letter-spacing:-.2px;padding:6px 0}}
.only-narrow-inline{display:inline}@media(min-width:1024px){.only-narrow-inline{display:none}}

/* ======================= Round 7: much more see-through ======================= */
:root[data-look="gameday"] .card,:root[data-look="gameday"] .scroll,:root[data-look="gameday"] .subtabs{background:rgba(10,16,32,.40);backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);border-color:rgba(255,255,255,.10)}
:root[data-look="gameday"] .ana{background:linear-gradient(rgba(10,16,32,.52),rgba(10,16,32,.52)) padding-box,var(--grad) border-box;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
:root[data-look="gameday"] .tile,:root[data-look="gameday"] .wkc,:root[data-look="gameday"] .roomc,:root[data-look="gameday"] .chart{background:rgba(20,28,52,.42)}
:root[data-look="gameday"] .chip{background:rgba(20,28,52,.45);border-color:rgba(255,255,255,.16)}
:root[data-look="gameday"] .chip.on{background:var(--grad)}
:root[data-look="gameday"] .top{background:rgba(7,12,24,.50)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
:root[data-look="gameday"] .tabs{background:rgba(7,12,24,.48);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
:root[data-look="gameday"] .search input{background:rgba(7,12,24,.45)}
:root[data-look="gameday"] th{background:rgba(10,16,32,.55)}
:root[data-look="gameday"] td:first-child,:root[data-look="gameday"] table.mx td:first-child{background:rgba(10,16,32,.45)}
:root[data-look="gameday"] tr.tot td,:root[data-look="gameday"] tr.tot td:first-child{background:rgba(23,33,58,.55)}
:root[data-look="gameday"] .room tr.me td{background:rgba(124,58,237,.28)}
:root[data-look="gameday"] #app>p.muted,:root[data-look="gameday"] #app>p.note{background:rgba(7,12,24,.32)}
:root[data-look="gameday"] .sugg{background:rgba(12,19,36,.95)}
/* readability on glass: a soft shadow under all text */
:root[data-look="gameday"] main,:root[data-look="gameday"] .tabs,:root[data-look="gameday"] .top{text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.55)}
:root[data-look="gameday"] .muted,:root[data-look="gameday"] .ink2{color:#c3cbe0}
:root[data-look="gameday"] .badge,:root[data-look="gameday"] .sig,:root[data-look="gameday"] .btn,:root[data-look="gameday"] .rk.gold{text-shadow:none}

/* ======================= Round 8: schedule lists ======================= */
.ez{flex:none;font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 9px;border-radius:999px;text-shadow:none;margin-left:8px}
.ez.easy{background:rgba(52,208,88,.18);color:var(--good);border:1px solid rgba(52,208,88,.5)}
.ez.avg{background:rgba(255,255,255,.08);color:var(--ink2);border:1px solid rgba(255,255,255,.18)}
.ez.hard{background:rgba(255,90,82,.16);color:var(--bad);border:1px solid rgba(255,90,82,.5)}
.schedrows{margin-top:8px}
.sr{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.sr:last-child{border-bottom:0}
.sr.po b{color:var(--gold,#f5c542)}

/* Text colors: "swap" = player names white, stats/numbers bright purple (readable on the green field) */
:root[data-ink="swap"]{--stat:#c9b8ff}
:root[data-ink="swap"] main a,:root[data-ink="swap"] .pl b:not(.r b),:root[data-ink="swap"] .sugg button{color:#fff}
:root[data-ink="swap"] .pl .r b,:root[data-ink="swap"] .tile b,:root[data-ink="swap"] td:not(:first-child),:root[data-ink="swap"] .rk:not(.gold){color:var(--stat)}
:root[data-ink="swap"] main a b{color:#fff}
:root[data-ink="swap"] td:first-child,:root[data-ink="swap"] td:first-child a{color:#fff}
:root[data-ink="swap"] .cmp td.win,:root[data-ink="swap"] td.v-good,:root[data-ink="swap"] .v-good{color:var(--good)}
:root[data-ink="swap"] td.v-bad,:root[data-ink="swap"] .v-bad{color:var(--bad)}
:root[data-ink="swap"] main a.btn,:root[data-ink="swap"] main a.chip{color:inherit}
:root[data-ink="swap"][data-look="gameday"] main{text-shadow:0 1px 2px rgba(0,0,0,1),0 0 8px rgba(0,0,0,.7)}
/* Readability pass (11-07): Inter for text, Barlow Semi Condensed for numbers (sporty scoreboard feel, very legible),
   heavier weights, lighter purple for stats, and a crisp dark outline so everything pops on the field */
html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text",Segoe UI,Roboto,sans-serif}
main a b,.pl b,td:first-child{font-weight:700}
:root[data-ink="swap"]{--stat:#ddd2ff}
.pl .r b,.tile b,td:not(:first-child),.rk,.rank .n{font-family:"Barlow Semi Condensed",Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.pl .r b{font-size:19px;font-weight:800}
.tile b{font-size:22px;font-weight:800}
td:not(:first-child){font-size:14.5px;font-weight:700}
th{font-family:Inter,system-ui,sans-serif;font-weight:700}
:root[data-look="gameday"] main{text-shadow:0 0 2px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.5)}
:root[data-look="gameday"] .badge,:root[data-look="gameday"] .sig,:root[data-look="gameday"] .btn,:root[data-look="gameday"] .chip.on,:root[data-look="gameday"] .rk.gold{text-shadow:none}
td a,td a b{font-family:Inter,-apple-system,system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:0}
:root[data-ink="swap"] td a,:root[data-ink="swap"] td a b{color:#fff}

/* "ice": same as swap but stats in neon light blue (blue isn't used for good/bad anywhere) */
:root[data-ink="ice"]{--stat:#7ee7ff}
:root[data-ink="ice"] main a,:root[data-ink="ice"] .pl b:not(.r b),:root[data-ink="ice"] .sugg button,:root[data-ink="ice"] td:first-child,:root[data-ink="ice"] td a,:root[data-ink="ice"] td a b,:root[data-ink="ice"] main a b{color:#fff}
:root[data-ink="ice"] .pl .r b,:root[data-ink="ice"] .tile b,:root[data-ink="ice"] td:not(:first-child),:root[data-ink="ice"] .rk:not(.gold){color:var(--stat)}
:root[data-ink="ice"] .cmp td.win,:root[data-ink="ice"] td.v-good,:root[data-ink="ice"] .v-good{color:var(--good)}
:root[data-ink="ice"] td.v-bad,:root[data-ink="ice"] .v-bad{color:var(--bad)}
:root[data-ink="ice"] main a.btn,:root[data-ink="ice"] main a.chip{color:inherit}
/* search dropdown must sit above the tab bar (desktop tabs sit right under the header and were hiding the first result) */
.top{z-index:40}
.sugg{z-index:60}

/* expert takes */
.tk{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;margin:1px 2px 1px 0;text-shadow:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--ink2)}
.tk.good{border-color:rgba(52,208,88,.45)}.tk.bad{border-color:rgba(248,81,73,.5);color:var(--bad)}
.tk.ffb{background:linear-gradient(90deg,rgba(255,196,0,.22),rgba(255,140,0,.18));border-color:rgba(255,196,0,.6);color:#ffd45c}

/* tap-for-why tags */
.has-tip{cursor:help}
.has-tip .ib{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;border:1px solid currentColor;font:italic 700 9px/1 Georgia,serif;margin-left:3px;vertical-align:1px;opacity:.85}
#tip{position:fixed;z-index:60;background:#0d1326;color:#e8ecf8;border:1px solid rgba(167,139,250,.6);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.5);text-shadow:none}
#tip[hidden]{display:none}
