:root {
  --ground:#101820; --panel:#182430; --panel2:#1E2C3A; --line:#2A3947;
  --ink:#E8ECF1; --dim:#8FA3B5; --accent:#D9A441;
  --buy:#3FB56B; --fade:#E06C4F; --hold:#8FA3B5; --gold:#D9A441; --avoid:#C24545;
  --mine:#5FA8E0;
  --topnav-h:52px;
  --display:'Avenir Next Condensed','Arial Narrow','Segoe UI',system-ui,sans-serif;
  --body:'Avenir Next',-apple-system,'Segoe UI',system-ui,sans-serif;
  --mono:'SF Mono',ui-monospace,Menlo,Consolas,monospace;
}
* { box-sizing:border-box; }
html { background:var(--ground); }
body { background:var(--ground); color:var(--ink); font-family:var(--body);
  margin:0; padding:0 16px 48px; line-height:1.5; -webkit-text-size-adjust:100%; }
.wrap { max-width:1060px; margin:0 auto; }
.wrap.narrow { max-width:820px; }
a { color:inherit; text-decoration:none; }
.eyebrow { font-family:var(--display); text-transform:uppercase; letter-spacing:.16em;
  font-size:12px; color:var(--accent); font-weight:600; }
h1 { font-family:var(--display); font-weight:700; text-transform:uppercase;
  letter-spacing:.02em; font-size:clamp(30px,6vw,52px); line-height:1.05;
  margin:6px 0 10px; text-wrap:balance; }
h2 { font-family:var(--display); font-weight:600; text-transform:uppercase;
  letter-spacing:.04em; font-size:22px; margin:4px 0 12px; }
section { margin-top:36px; }
.dim { color:var(--dim); font-weight:400; }
.small { font-size:13px; }
.num { font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:.92em; }
.mast { padding-top:32px; }
.meta { color:var(--dim); font-size:14px; margin:2px 0 14px; max-width:64ch; }
.statusbar { display:flex; flex-wrap:wrap; gap:8px; }
.stat { background:var(--panel); border:1px solid var(--line); border-radius:4px;
  padding:5px 11px; font-size:13px; }
.stat b { font-family:var(--mono); color:var(--accent); font-weight:600; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:14px 16px; }
.summary-block { display:grid; gap:12px; margin-top:28px; }
@media (min-width:860px) { .summary-block { grid-template-columns:auto 1fr; } }
.verdict-grid { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.vstat .n { font-family:var(--mono); font-size:30px; font-weight:600; line-height:1.1; }
.vstat .l { font-family:var(--display); text-transform:uppercase; letter-spacing:.1em; font-size:10px; }
.v-buy .n,.v-buy .l { color:var(--buy); } .v-fade .n,.v-fade .l { color:var(--fade); }
.v-hold .n,.v-hold .l { color:var(--hold); } .v-gold .n,.v-gold .l { color:var(--gold); }
.v-avoid .n,.v-avoid .l { color:var(--avoid); }

/* chips */
.chip { display:inline-block; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.07em; font-size:11px; font-weight:600; padding:2px 8px;
  border-radius:3px; border:1px solid; white-space:nowrap; }
.chip.buy { color:var(--buy); border-color:var(--buy); background:rgba(63,181,107,.08); }
.chip.fade { color:var(--fade); border-color:var(--fade); background:rgba(224,108,79,.08); }
.chip.hold { color:var(--hold); border-color:var(--hold); background:rgba(143,163,181,.08); }
.chip.gold { color:var(--gold); border-color:var(--gold); background:rgba(217,164,65,.1); }
.chip.avoid { color:#fff; border-color:var(--avoid); background:var(--avoid); }
.chip.stab-high { color:var(--buy); border-color:var(--buy); }
.chip.stab-medium { color:var(--gold); border-color:var(--gold); }
.chip.stab-low { color:var(--fade); border-color:var(--fade); }
.conf { font-family:var(--display); text-transform:uppercase; letter-spacing:.1em;
  font-size:10px; color:var(--gold); }
.newdc { font-family:var(--display); font-size:10px; letter-spacing:.1em; color:var(--gold);
  border:1px solid var(--gold); border-radius:3px; padding:0 4px; text-transform:uppercase; }
.risk { font-size:.92em; }
.r-low { color:var(--buy); } .r-medium { color:var(--dim); } .r-high { color:var(--fade); }

/* gauge */
.gauge { display:block; width:130px; }
.gauge.big { width:min(360px,100%); margin-top:12px; }
.g-track { position:relative; display:block; height:7px; border-radius:4px;
  background:linear-gradient(90deg, var(--avoid) 0%, var(--fade) 26%, #55677a 50%, var(--buy) 74%, var(--gold) 100%);
  opacity:.9; }
.gauge.big .g-track { height:9px; }
.g-zero { position:absolute; left:50%; top:-2px; width:1px; height:11px; background:rgba(232,236,241,.35); }
.g-needle { position:absolute; top:-3px; width:3px; height:13px; margin-left:-1.5px;
  background:#fff; border-radius:1px; box-shadow:0 0 4px rgba(0,0,0,.8); }
.gauge.big .g-needle { height:15px; }
.g-labels { display:flex; justify-content:space-between; margin-top:4px;
  font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:9px; color:var(--dim); }
/* "mine" marker — your personal rating, on the SAME track as the system
   needle. A small triangle below the bar (not another bar) so the two never
   fully occlude each other even at the same position. */
.g-needle.mine { top:auto; bottom:-7px; width:0; height:0; margin-left:-5px;
  background:none; box-shadow:none; border-radius:0;
  border-left:5px solid transparent; border-right:5px solid transparent;
  border-bottom:6px solid var(--mine); filter:drop-shadow(0 0 2px rgba(95,168,224,.8)); }
.gauge.big .g-needle.mine { bottom:-9px; margin-left:-6px;
  border-left-width:6px; border-right-width:6px; border-bottom-width:7px; }
.dist { margin-top:8px; }
.dist-track { position:relative; height:26px; border-radius:4px; background:var(--panel2); }
.dist-track::after { content:""; position:absolute; left:50%; top:0; width:1px; height:100%;
  background:rgba(232,236,241,.18); }
.d-tick { position:absolute; top:4px; width:2px; height:18px; opacity:.7; border-radius:1px; }
.d-tick.t-buy { background:var(--buy); } .d-tick.t-fade { background:var(--fade); }
.d-tick.t-hold { background:var(--hold); } .d-tick.t-gold { background:var(--gold); }
.d-tick.t-avoid { background:var(--avoid); }

/* persistent top nav — sits above everything, every page */
.topnav { position:sticky; top:0; z-index:50; height:var(--topnav-h); box-sizing:border-box;
  display:flex; align-items:center; gap:20px; padding:0 16px;
  background:rgba(16,24,32,.95); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line); }
.topnav-brand { display:flex; align-items:center; gap:7px; font-family:var(--display);
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:15px;
  color:var(--ink); flex:none; white-space:nowrap; }
.topnav-emoji { width:28px; height:28px; border-radius:50%; object-fit:cover; display:block; flex:none; }
.topnav-links { display:flex; gap:4px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; }
.topnav-links::-webkit-scrollbar { display:none; }
.topnav-links a { font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:12.5px; color:var(--dim); padding:7px 10px; border-radius:5px; white-space:nowrap; flex:none; }
.topnav-links a:hover { color:var(--ink); background:var(--panel); }

/* sticky toolbar */
.toolbar { position:sticky; top:var(--topnav-h); z-index:20; margin:28px -16px 0; padding:10px 16px;
  background:rgba(16,24,32,.92); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
#q { background:var(--panel); border:1px solid var(--line); color:var(--ink);
  border-radius:5px; padding:8px 12px; font-size:15px; font-family:var(--body);
  width:100%; max-width:280px; }
#q:focus-visible { outline:2px solid var(--accent); outline-offset:0; }
.vfilters { display:flex; gap:6px; flex-wrap:wrap; }
.vchip { font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:11px; font-weight:600; padding:5px 9px; border-radius:4px; cursor:pointer;
  background:transparent; border:1px solid var(--line); color:var(--dim); }
.vchip.on.buy { color:var(--buy); border-color:var(--buy); }
.vchip.on.fade { color:var(--fade); border-color:var(--fade); }
.vchip.on.hold { color:var(--hold); border-color:var(--hold); }
.vchip.on.gold { color:var(--gold); border-color:var(--gold); }
.vchip.on.avoid { color:#ff9d9d; border-color:var(--avoid); }
.vchip:not(.on) { opacity:.45; text-decoration:line-through; }
.vchip:focus-visible { outline:2px solid var(--accent); }
/* your tags — filter row (toolbar) and inline chips (row display) */
.tagfilters { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.tagfilters .tf-label { font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:10px; color:var(--dim); margin-right:2px; }
.tagchip { font-family:var(--mono); font-size:11px; padding:4px 9px; border-radius:12px;
  cursor:pointer; background:transparent; border:1px solid var(--line); color:var(--dim); }
.tagchip.on { color:var(--mine); border-color:var(--mine); background:rgba(95,168,224,.1); }
.tagchip:focus-visible { outline:2px solid var(--mine); }
.rowtags { display:flex; gap:4px; flex-wrap:wrap; margin-top:2px; }
.rowtags:empty { display:none; margin:0; }
.rowtag { font-family:var(--mono); font-size:10.5px; color:var(--mine); border:1px solid rgba(95,168,224,.5);
  background:rgba(95,168,224,.08); border-radius:10px; padding:1px 7px; line-height:1.5; }

.jumps { display:flex; gap:4px; margin-left:auto; }
.jumps a { font-family:var(--display); font-size:12px; letter-spacing:.08em; color:var(--dim);
  padding:5px 8px; border-radius:4px; }
.jumps a:hover { color:var(--accent); background:var(--panel); }

/* player rows */
.rows { display:flex; flex-direction:column; border:1px solid var(--line);
  border-radius:6px; overflow:hidden; background:var(--panel); }
.row { display:grid; grid-template-columns:66px 44px minmax(0,1fr) 90px 100px 46px 56px 20px;
  gap:4px 12px; align-items:center; padding:9px 14px; border-bottom:1px solid rgba(42,57,71,.5); }
/* column header row (inside .rows.tbl) — same grid as the rows it labels */
.thead { display:grid; grid-template-columns:66px 44px minmax(0,1fr) 90px 100px 46px 56px 20px;
  gap:4px 12px; align-items:center; padding:7px 14px; background:#141F29;
  border-bottom:1px solid var(--line); font-family:var(--display); text-transform:uppercase;
  letter-spacing:.11em; font-size:9px; color:#5C7186; }
.thead .th-r { text-align:right; }
.thead .th-c { text-align:left; }
/* verdict accent bar on the row's left edge */
.acc-gold { box-shadow:inset 3px 0 0 var(--gold); }
.acc-buy { box-shadow:inset 3px 0 0 var(--buy); }
.acc-hold { box-shadow:inset 3px 0 0 rgba(143,163,181,.55); }
.acc-fade { box-shadow:inset 3px 0 0 var(--fade); }
.acc-avoid { box-shadow:inset 3px 0 0 var(--avoid); }
.rank { display:flex; flex-direction:column; align-items:flex-start; text-align:left; flex:none; gap:2px; }
.rank b { font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:15px;
  font-weight:600; color:var(--accent); line-height:1; }
.rank i { font-family:var(--mono); font-style:normal; font-size:9px; color:#5C7186; }
/* risk dot + mono sub-line */
.sub.mono { font-family:var(--mono); font-size:10px; letter-spacing:.02em; text-transform:uppercase; }
.rdot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--dim); vertical-align:1px; }
.rdot.r-low { background:var(--buy); } .rdot.r-medium { background:var(--gold); } .rdot.r-high { background:var(--fade); }
/* right-aligned numeric cells (VORP, ADP) */
.cell-r { text-align:right; font-family:var(--mono); font-variant-numeric:tabular-nums;
  font-size:11.5px; color:var(--dim); }
.verd { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.callerrow { grid-template-columns:52px minmax(0,1fr) 24px; }
.face.teamface.sm { width:44px; height:44px; padding:6px; border-radius:10px; }
.sub.read { font-size:12px; color:var(--dim); display:block; white-space:normal; }
.minor { font-family:var(--display); font-size:12px; letter-spacing:.08em; color:var(--accent);
  text-transform:uppercase; font-weight:400; margin-left:12px; }
.minor:hover { color:#fff; }
.row:last-child { border-bottom:none; }
.row:hover { background:var(--panel2); }
.row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.row[hidden] { display:none; }
.face { position:relative; width:48px; height:48px; border-radius:50%;
  background:var(--panel2); border:1px solid var(--line); overflow:hidden; flex:none; }
.face img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.face .initials { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:600; font-size:15px; color:var(--dim); }
.face.big { width:96px; height:96px; }
.face.big .initials { font-size:28px; }
.face.teamface { border-radius:12px; background:var(--panel); padding:10px; }
.face.teamface img { position:static; object-fit:contain; }
.who { min-width:0; display:flex; flex-direction:column; gap:3px; }
.who b { font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.who .sub { color:var(--dim); font-size:12.5px; display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.mlogo { width:15px; height:15px; object-fit:contain; vertical-align:-2px; }
/* projection cell: vertical stack — ceil / med / flr top-to-bottom beside a
   slim vertical range bar; gold tick = the median within floor->ceiling. */
.projind { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
.projind.pi-empty { color:var(--dim); font-family:var(--mono); font-size:12px; }
.pi-vbar { position:relative; width:4px; height:44px; border-radius:2px; flex:none;
  background:linear-gradient(0deg, rgba(224,108,79,.75), rgba(217,164,65,.6) 52%, rgba(63,181,107,.8)); }
.pi-vmed { position:absolute; left:-2px; width:8px; height:3px; border-radius:1px;
  background:var(--ink); transform:translateY(50%); box-shadow:0 0 0 1px rgba(16,24,32,.8); }
.pi-stack { display:flex; flex-direction:column; gap:3px; }
.pi-row { display:flex; align-items:baseline; justify-content:flex-end; gap:6px;
  font-family:var(--mono); font-variant-numeric:tabular-nums; line-height:1; }
.pi-row i { font-family:var(--display); font-style:normal; font-size:8px; letter-spacing:.09em;
  text-transform:uppercase; color:#5C7186; }
.pi-row b { font-weight:600; font-size:11.5px; min-width:3ch; text-align:right; }
.pi-c b { color:var(--ink); }
.pi-m i { color:var(--accent); }
.pi-m b { color:var(--accent); font-size:13.5px; font-weight:700; }
.pi-f b { color:#5C7186; }
/* the row's edge heat bar */
.who .gauge { width:min(200px,100%); }
.go { color:var(--dim); font-size:18px; text-align:center; }
.row:hover .go { color:var(--accent); }

/* teams grid */
.teamgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
.teamcard { display:flex; align-items:center; gap:12px; background:var(--panel);
  border:1px solid var(--line); border-radius:6px; padding:10px 14px; }
.teamcard:hover { background:var(--panel2); border-color:var(--accent); }
.teamcard img { width:38px; height:38px; object-fit:contain; flex:none; }
.teamcard .who { flex:1; }
.teamcard .sub { font-size:12px; }

/* player / team pages */
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
.stickyhead { position:sticky; top:var(--topnav-h); z-index:20; margin:0 -16px;
  background:rgba(16,24,32,.94); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line); }
.topbar { padding:10px 16px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.crumbs { display:flex; align-items:center; gap:7px; min-width:0;
  font-family:var(--display); text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.crumbs a { color:var(--accent); flex:none; }
.crumbs a:hover { color:#fff; }
.crumbs .sep { color:var(--dim); flex:none; }
.crumbs b { color:var(--ink); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pn { display:flex; gap:14px; flex:none; }
.pn a { font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:12px; color:var(--dim); white-space:nowrap; }
.pn a:hover { color:var(--accent); }
.secnav { display:flex; gap:2px; overflow-x:auto; padding:0 12px 8px; scrollbar-width:none; }
.secnav::-webkit-scrollbar { display:none; }
.secnav a { flex:none; font-family:var(--display); text-transform:uppercase; letter-spacing:.07em;
  font-size:11px; color:var(--dim); padding:4px 9px; border-radius:4px; border:1px solid transparent; }
.secnav a:hover { color:var(--ink); background:var(--panel); }
.secnav a.on { color:var(--accent); border-color:var(--line); background:var(--panel); }
.report h3[id] { scroll-margin-top:calc(var(--topnav-h) + 98px); }
#roster { scroll-margin-top:calc(var(--topnav-h) + 98px); }
.tlink { color:var(--accent); display:inline-flex; align-items:center; gap:4px; }
.tlink:hover { color:#fff; }
.back, .teamlink { font-family:var(--display); text-transform:uppercase; letter-spacing:.1em;
  font-size:12px; color:var(--accent); display:inline-flex; align-items:center; gap:6px; }
.back:hover, .teamlink:hover { color:#fff; }
.phero { display:flex; gap:20px; align-items:flex-start; padding-top:28px; }
.phero-body { min-width:0; flex:1; }
.bioline { display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; margin-top:2px; }
.factrow { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; margin-top:8px; }
.fact { font-family:var(--mono); font-size:12px; color:var(--dim); }
.fact b { color:var(--ink); font-weight:600; }
.tagrow { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.tag { font-family:var(--mono); font-size:11px; color:var(--dim);
  border:1px solid var(--line); border-radius:3px; padding:1px 7px; background:var(--panel); }
.endnav { margin-top:36px; display:flex; gap:20px; flex-wrap:wrap; justify-content:space-between; }

/* auth widget — lives in the top nav's right side */
.authbox { flex:none; margin-left:auto; display:flex; align-items:center; gap:8px;
  background:var(--panel2); border:1px solid var(--line); border-radius:20px;
  padding:5px 12px 5px 5px; font-size:13px; }
.authbox.authloading { padding:5px 14px; color:var(--dim); font-family:var(--mono); letter-spacing:.15em; }
.authpic { width:24px; height:24px; border-radius:50%; object-fit:cover; }
.authname { font-weight:600; max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.authlink { color:var(--accent); font-family:var(--display); text-transform:uppercase;
  letter-spacing:.06em; font-size:11px; white-space:nowrap; }
.authlink:hover { color:#fff; }
.authlink.signin { padding:2px 2px; }
@media (max-width:719px) {
  .authbox { padding:5px 9px 5px 5px; gap:6px; }
  .authname { max-width:56px; }
}

/* "Your take" — personal gauge + tags */
.mygauge { margin-top:20px; }
.myprompt { font-size:14px; color:var(--dim); padding:4px 0; }
.myprompt a { color:var(--accent); }
.myprompt a:hover { color:#fff; }
.gauge.interactive { cursor:pointer; padding:10px 0; touch-action:none; }
.gauge.interactive .g-track { height:10px; }
.gauge.interactive .g-needle { height:18px; top:-4px; cursor:grab; }
.gauge.interactive:active .g-needle { cursor:grabbing; }
.mygauge-readout { font-family:var(--mono); font-size:12px; color:var(--dim); margin-top:4px; text-align:center; }
.mytags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 10px; }
.mytag { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono);
  font-size:12px; background:var(--panel2); border:1px solid var(--line);
  border-radius:14px; padding:4px 6px 4px 11px; }
.mytag button { background:none; border:none; color:var(--dim); cursor:pointer;
  font-size:14px; line-height:1; padding:0 2px; }
.mytag button:hover { color:var(--fade); }
.mytagform { display:flex; gap:8px; }
.mytagform input { flex:1; min-width:0; background:var(--panel2); border:1px solid var(--line);
  color:var(--ink); border-radius:5px; padding:7px 10px; font-size:13px; font-family:var(--body); }
.mytagform input:focus-visible { outline:2px solid var(--accent); }
.mytagform button { font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:12px; color:var(--accent); border:1px solid var(--line); background:var(--panel2);
  border-radius:5px; padding:0 14px; cursor:pointer; }
.mytagform button:hover { color:#fff; border-color:var(--accent); }

/* quick hits */
.quickhits { margin-top:20px; }
.quickhits ul { list-style:none; margin:10px 0 2px; padding:0; display:flex;
  flex-direction:column; gap:8px; }
.quickhits li { display:flex; gap:10px; align-items:baseline; font-size:14.5px;
  line-height:1.4; font-weight:500; }
.qh-ico { flex:none; font-size:11px; width:14px; text-align:center; }
.qh-up .qh-ico { color:var(--buy); } .qh-up { color:var(--ink); }
.qh-down .qh-ico { color:var(--fade); } .qh-down { color:var(--ink); }
.qh-flat .qh-ico { color:var(--hold); } .qh-flat { color:var(--dim); }

/* rendered report body */
.report { margin-top:28px; font-size:15px; }
.report h3 { font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:16px; color:var(--accent); margin:26px 0 8px; padding-top:16px; border-top:1px solid var(--line); }
.report h4 { font-family:var(--display); font-size:15px; margin:16px 0 4px; }
.report h5 { font-family:var(--display); font-size:13px; margin:12px 0 4px; color:var(--dim);
  text-transform:uppercase; letter-spacing:.08em; }
.report p { margin:8px 0; }
.report ul { margin:8px 0; padding-left:20px; }
.report li { margin:3px 0; }
.report blockquote { margin:12px 0; padding:10px 14px; border-left:3px solid var(--accent);
  background:var(--panel); color:var(--dim); border-radius:0 4px 4px 0; }
.report code { font-family:var(--mono); font-size:12px; background:var(--panel);
  padding:1px 5px; border-radius:3px; color:var(--accent); }
.report strong { color:#fff; }
.mdtable { overflow-x:auto; margin:12px 0; border:1px solid var(--line); border-radius:4px; }
.mdtable table { border-collapse:collapse; width:100%; min-width:520px; font-size:12.5px; }
.mdtable th { font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:10px; color:var(--dim); text-align:left; padding:7px 9px;
  background:var(--panel2); border-bottom:1px solid var(--line); }
.mdtable td { padding:6px 9px; border-bottom:1px solid var(--line); vertical-align:top; }
.mdtable tr:last-child td { border-bottom:none; }
.sources-acc { margin:26px 0 8px; padding-top:16px; border-top:1px solid var(--line); }
.sources-acc summary { cursor:pointer; list-style:none; font-family:var(--display);
  text-transform:uppercase; letter-spacing:.06em; font-size:16px; color:var(--accent);
  display:flex; align-items:center; gap:7px; }
.sources-acc summary::-webkit-details-marker { display:none; }
.sources-acc summary::before { content:"▸"; font-size:12px; transition:transform .15s ease; }
.sources-acc[open] summary::before { transform:rotate(90deg); }
.sources-acc .sources-body { margin-top:8px; font-size:13.5px; color:var(--dim); }
.sources-acc .sources-body p { margin:6px 0; }

footer { margin-top:56px; border-top:1px solid var(--line); padding-top:14px;
  color:var(--dim); font-size:12.5px; }
footer p { max-width:90ch; }

/* ---------- mobile ---------- */
@media (max-width:719px) {
  body { padding:0 12px 40px; }
  .topnav { margin:0 -12px; padding:0 10px; gap:10px; }
  .topnav-brand-text { display:none; }
  .topnav-links { gap:0; }
  .topnav-links a { padding:7px 7px; font-size:11.5px; }
  .toolbar { margin:24px -12px 0; padding:10px 12px; }
  .stickyhead { margin:0 -12px; }
  .pn a span { display:none; }
  #q { max-width:none; }
  .jumps { width:100%; margin-left:0; justify-content:space-between; }
  /* phone rows: rank block · headshot · name+sub · projection (med hero,
     range below). Verdict rides the accent bar + a small chip under the sub. */
  .thead { display:none; }
  .row { grid-template-columns:44px 38px minmax(0,1fr) auto;
    grid-template-areas:"rank face who proj" "rank face verd proj"; gap:3px 10px; padding:11px 10px 11px 12px; }
  .face { width:38px; height:38px; }
  .face .initials { font-size:12px; }
  .row .rank { grid-area:rank; } .row .face { grid-area:face; }
  .row .who { grid-area:who; } .row .verd { grid-area:verd; flex-direction:row; align-items:center; gap:6px; }
  .row .projind { grid-area:proj; align-items:flex-end; justify-content:center; }
  .rank b { font-size:14px; }
  .callerrow { grid-template-columns:42px minmax(0,1fr); grid-template-areas:"face who"; }
  .row .cell-r, .row .go { display:none; }
  /* projection: same vertical stack, slightly compacted */
  .pi-vbar { height:38px; }
  .pi-row b { font-size:10.5px; }
  .pi-m b { font-size:12.5px; }
  .gauge { width:min(150px,100%); }
  .phero { flex-direction:row; gap:14px; }
  .face.big { width:72px; height:72px; }
  .face.big .initials { font-size:20px; }
  .verdict-grid { gap:14px; }
  .vstat .n { font-size:24px; }
  .teamgrid { grid-template-columns:1fr 1fr; }
  .teamcard { padding:9px 10px; gap:8px; }
  .teamcard img { width:30px; height:30px; }
}
/* tablet: ADP + VORP columns drop first (per Board v2 direction) */
@media (min-width:720px) and (max-width:919px) {
  .row, .thead { grid-template-columns:60px 44px minmax(0,1fr) 88px 100px 20px; }
  .row .cell-r, .thead span:nth-child(6), .thead span:nth-child(7) { display:none; }
}
/* ---------- draft tracker ---------- */
.draftmast { padding-bottom:6px; }
.draftrow { grid-template-columns:minmax(0,1fr) auto 24px !important; grid-template-areas:none; }
button.primary, button.secondary, .stackform button[type="submit"] {
  font-family:var(--display); text-transform:uppercase; letter-spacing:.06em;
  font-size:13px; font-weight:600; border-radius:6px; cursor:pointer;
  padding:11px 18px; border:1px solid transparent; min-height:44px; }
button.primary, .stackform button[type="submit"] { background:var(--accent); color:#101820; }
button.primary:hover, .stackform button[type="submit"]:hover { filter:brightness(1.08); }
button.secondary { background:var(--panel2); border-color:var(--line); color:var(--ink); margin-top:12px; width:100%; }
button.secondary:hover { border-color:var(--accent); color:var(--accent); }
.linkbtn { background:none; border:none; color:var(--dim); cursor:pointer; font-size:13px;
  padding:6px; min-height:32px; min-width:32px; }
.linkbtn:hover { color:var(--fade); }

.stackform { display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.stackform label { display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--dim);
  font-family:var(--display); text-transform:uppercase; letter-spacing:.06em; }
.stackform label.checkline { flex-direction:row; align-items:center; gap:8px; text-transform:none;
  font-family:var(--body); letter-spacing:normal; font-size:14px; color:var(--ink); }
.stackform input[type="text"], .stackform input[type="number"], .stackform select {
  background:var(--panel2); border:1px solid var(--line); color:var(--ink); border-radius:6px;
  padding:11px 12px; font-size:15px; font-family:var(--body); min-height:44px; width:100%; }
.stackform input:focus-visible, .stackform select:focus-visible { outline:2px solid var(--accent); }
.stackform.inline { flex-direction:column; }
@media (min-width:640px) {
  .stackform.inline { flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:10px; }
  .stackform.inline label, .stackform.inline > input, .stackform.inline > select { flex:1; min-width:140px; }
  .stackform.inline button { flex:none; }
}

.segrow { display:flex; gap:8px; flex-wrap:wrap; }
.seg { flex:1; min-width:90px; min-height:44px; background:var(--panel2); border:1px solid var(--line);
  color:var(--dim); border-radius:6px; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.06em; font-size:13px; cursor:pointer; }
.seg.on { background:rgba(217,164,65,.12); border-color:var(--accent); color:var(--accent); }

.teamlist { display:flex; flex-direction:column; gap:2px; padding:6px; }
.teamrow { display:flex; align-items:center; gap:12px; padding:9px 8px; border-bottom:1px solid var(--line); }
.teamrow:last-child { border-bottom:none; }
.slotnum { font-family:var(--mono); color:var(--accent); font-weight:600; width:22px; text-align:center; flex:none; }
.teamrow .who { flex:1; min-width:0; flex-direction:row; align-items:center; gap:8px; }

.badge { display:inline-block; align-self:flex-start; flex:none; font-family:var(--display);
  font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold); border-radius:3px; padding:1px 5px; line-height:1.4; }

.onclock { border-left:3px solid var(--accent); }
.onclock h3 { margin:4px 0 12px; font-size:18px; }
.keeperbox summary { cursor:pointer; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.06em; font-size:13px; color:var(--accent); padding:2px 0; }
.keeperbox[open] summary { margin-bottom:8px; }

.draftteams { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.teamcard2 { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:12px; }
.teamcard2.isme { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset; }
.tc-head { display:flex; flex-direction:column; gap:2px; margin-bottom:8px; padding-bottom:8px;
  border-bottom:1px solid var(--line); }
.tc-head b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tc-head .num { font-size:12.5px; color:var(--dim); white-space:nowrap; }
.tc-picks { display:flex; flex-direction:column; gap:4px; max-height:260px; overflow-y:auto; }
.tc-pick { display:flex; align-items:center; gap:8px; font-size:13px; padding:3px 0; }
.tc-pick span:nth-child(2) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.small { font-size:12px; }

.cheathead { display:none; }
.cheatlist { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px;
  overflow:hidden; background:var(--panel); }
/* named grid areas (not nth-of-type — .who is also a <span> sibling and throws
   off type-based counting) so the same 5 elements can be re-flowed per breakpoint */
.cheatrow { display:grid; gap:8px 10px; align-items:center; padding:12px;
  border-bottom:1px solid var(--line);
  grid-template-columns:1fr 1fr 1fr auto;
  grid-template-areas:"who who who who" "proj fmv myval action"; }
.cheatrow:last-child { border-bottom:none; }
.cheatrow:hover { background:var(--panel2); }
.cheatrow .who { grid-area:who; min-width:0; }
.cheatrow .who .sub { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px; }
.cheatrow .proj-col { grid-area:proj; font-size:12px; color:var(--dim); }
.cheatrow .fmv-col { grid-area:fmv; font-weight:600; color:var(--accent); }
.cheatrow .myvalinput { grid-area:myval; width:100%; background:var(--panel2); border:1px solid var(--line);
  color:var(--accent); border-radius:5px; padding:8px; font-family:var(--mono); font-size:14px;
  text-align:right; min-height:40px; }
.cheatrow [data-action="quickDraft"] { grid-area:action; justify-self:end; color:var(--accent);
  font-family:var(--display); text-transform:uppercase; font-size:12px; letter-spacing:.05em; min-height:40px; }

@media (min-width:640px) {
  .cheathead { display:grid; grid-template-columns:minmax(0,1fr) 70px 70px 86px 64px; gap:10px;
    padding:6px 12px; font-family:var(--display); text-transform:uppercase; letter-spacing:.07em;
    font-size:10px; color:var(--dim); }
  .cheatrow { grid-template-columns:minmax(0,1fr) 70px 70px 86px 64px;
    grid-template-areas:"who proj fmv myval action"; }
  .cheatrow .proj-col, .cheatrow .fmv-col { text-align:right; }
}

@media (max-width:719px) {
  button.secondary { margin-top:10px; }
  .teamrow { gap:8px; }
  .draftteams { grid-template-columns:1fr; }
  .onclock h3 { font-size:16px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition:none !important; }
}

/* ---------- auction draft room (Claude Design import) ---------- */
.dr-subhead { position:sticky; top:var(--topnav-h); z-index:30; height:32px; margin:0 -16px;
  background:#0E141C; border-bottom:1px solid var(--line); display:flex; align-items:center;
  padding:0 18px; gap:14px; }
.dr-subhead .dr-name { font-family:var(--display); font-size:10.5px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--ink); white-space:nowrap; }
.dr-subhead .dr-meta { font-family:var(--display); font-size:10.5px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-subhead .dr-pick { margin-left:auto; font-family:var(--mono); font-size:10.5px; color:var(--dim); white-space:nowrap; }
.dr-subhead .dr-edit { font-family:var(--display); font-size:10px; letter-spacing:1.2px; color:var(--accent);
  text-transform:uppercase; white-space:nowrap; }
.dr-subhead .dr-edit:hover { color:#fff; }

.dr-room { display:grid; grid-template-columns:300px minmax(0,1fr) 320px; margin:0 -16px;
  height:calc(100svh - var(--topnav-h) - 32px); min-height:480px; background:var(--ground); }
.dr-rail { background:var(--panel); border-right:1px solid var(--line); display:flex;
  flex-direction:column; overflow:hidden; min-width:0; }
.dr-rail.right { border-right:none; border-left:1px solid var(--line); }
.dr-center { display:flex; flex-direction:column; min-width:0; overflow-y:auto; overflow-x:hidden; padding:12px 18px; gap:10px; }

/* app-locked room view: full-bleed, no footer, no page scroll on desktop */
body.roomlock .wrap { max-width:none; }
body.roomlock footer { display:none; }
@media (min-width:1000px) {
  body.roomlock { padding-bottom:0; overflow:hidden; }
}

/* right rail: Teams and Sold stacked as two half-height panels on desktop —
   on mobile each becomes its own full-height tab (see media query below) */
.mk-teamspanel, .mk-soldpanel { display:flex; flex-direction:column; flex:1; min-height:0; }

/* mobile segment bar */
.dr-segs { display:none; }
@media (max-width:999px) {
  .dr-room { display:block; height:auto; min-height:calc(100svh - var(--topnav-h) - 76px); }
  .dr-rail, .dr-center { display:none; border:none; }
  .dr-room[data-seg="players"] .dr-rail.left { display:flex; height:calc(100svh - var(--topnav-h) - 76px); }
  .dr-room[data-seg="teams"] .dr-rail.right,
  .dr-room[data-seg="sold"] .dr-rail.right { display:flex; height:calc(100svh - var(--topnav-h) - 76px); }
  .dr-room[data-seg="block"] .dr-center, .dr-room[data-seg="values"] .dr-center { display:flex; padding:12px 14px; }
  /* only one of Teams/Sold panel is visible per tab, each filling the rail */
  .mk-teamspanel, .mk-soldpanel { display:none; flex:1; }
  .dr-room[data-seg="teams"] .mk-teamspanel { display:flex; }
  .dr-room[data-seg="sold"] .mk-soldpanel { display:flex; }
  .dr-segs { position:sticky; top:calc(var(--topnav-h) + 32px); z-index:30; display:flex;
    margin:0 -16px; background:#0E141C; border-bottom:1px solid var(--line); }
  .dr-segs button { flex:1; height:44px; background:none; border:none; border-bottom:2px solid transparent;
    font-family:var(--display); font-size:10px; letter-spacing:.8px; color:var(--dim);
    text-transform:uppercase; cursor:pointer; }
  .dr-segs button.on { color:var(--accent); border-bottom-color:var(--accent); }
  .dr-subhead, .dr-segs { margin:0 -12px; }
  .dr-room { margin:0 -12px; }
}

/* left rail: position tabs, hide-drafted, tiers, rows */
.dr-postabs { display:flex; gap:2px; padding:0 8px; border-bottom:1px solid var(--line); flex-shrink:0; }
.dr-postabs button { padding:10px 9px 8px; background:none; border:none; border-bottom:2px solid transparent;
  font-family:var(--display); font-size:11px; letter-spacing:1px; color:var(--dim); cursor:pointer; }
.dr-postabs button.on { color:var(--accent); border-bottom-color:var(--accent); }
.dr-postabs button:hover { color:var(--ink); }
.dr-hidebar { display:flex; align-items:center; justify-content:space-between; padding:8px 12px;
  border-bottom:1px solid var(--line); flex-shrink:0; }
.dr-hidebar span { font-family:var(--display); font-size:10px; letter-spacing:1.2px; color:var(--dim); text-transform:uppercase; }
.dr-toggle { width:28px; height:15px; border-radius:999px; background:var(--panel2);
  border:1px solid var(--line); position:relative; cursor:pointer; flex-shrink:0; padding:0; }
.dr-toggle .dot { position:absolute; top:1.5px; left:2px; width:10px; height:10px; border-radius:50%;
  background:var(--ink); transition:left .15s; }
.dr-toggle.on { background:rgba(63,181,107,.4); }
.dr-toggle.on .dot { left:15px; }
.dr-colhead { display:flex; align-items:center; gap:8px; padding:5px 10px; border-bottom:1px solid var(--line);
  font-family:var(--display); font-size:9px; letter-spacing:1px; color:#5C7186; text-transform:uppercase; flex-shrink:0; }
.dr-scroll { flex:1; overflow-y:auto; min-height:0; }
.dr-tierhead { padding:5px 10px 4px; background:#141F29; border-top:1px solid var(--line);
  border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:baseline; }
.dr-tierhead b { font-family:var(--display); font-size:9.5px; letter-spacing:1.5px; color:var(--accent);
  text-transform:uppercase; font-weight:600; }
.dr-tierhead i { font-family:var(--mono); font-style:normal; font-size:9px; color:#5C7186; }
.dr-prow { display:flex; align-items:center; gap:8px; padding:6px 10px; width:100%; text-align:left;
  background:none; border:none; border-bottom:1px solid rgba(42,57,71,.55); cursor:pointer; }
.dr-prow:hover { background:var(--panel2); }
.dr-prow.drafted { opacity:.38; }
.dr-prow.onblock { background:rgba(217,164,65,.07); }
.dr-face { position:relative; width:26px; height:26px; border-radius:50%; background:var(--panel2);
  border:1px solid var(--line); flex-shrink:0; display:grid; place-items:center; overflow:hidden; }
.dr-face span { font-family:var(--mono); font-size:8.5px; color:var(--dim); }
.dr-face img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dr-face.lg { width:64px; height:64px; }
.dr-face.lg span { font-size:16px; }
.dr-prow .who { flex:1; min-width:0; }
.dr-prow .who b { display:block; font-size:12.5px; font-weight:600; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-prow .who i { display:block; font-style:normal; font-family:var(--display); font-size:10px;
  letter-spacing:.6px; color:var(--dim); text-transform:uppercase; }
.dr-call { width:46px; text-align:center; font-family:var(--display); font-size:9px; letter-spacing:.8px;
  padding:1px 0; border-radius:3px; border:1px solid; flex-shrink:0; text-transform:uppercase; }
.dr-num { font-family:var(--mono); font-variant-numeric:tabular-nums; font-size:11px; }
.dr-prow .fmv { width:36px; text-align:right; color:var(--ink); flex-shrink:0; }
.dr-prow .my { width:36px; text-align:right; color:var(--mine); flex-shrink:0; }
.dr-empty { flex:1; display:grid; place-items:center; padding:24px; text-align:center; }
.dr-empty .ok { width:44px; height:44px; border-radius:50%; border:1px solid var(--line);
  display:grid; place-items:center; margin:0 auto 12px; color:var(--buy); font-size:18px; }

/* center: search, tabs, block card */
.dr-search { position:relative; flex-shrink:0; }
.dr-search input { width:100%; height:40px; background:var(--panel); border:1px solid var(--line);
  border-radius:6px; padding:0 36px; color:var(--ink); font-size:13px; font-family:var(--body); }
.dr-search input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(217,164,65,.12); }
.dr-search .mag { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#5C7186; font-size:15px; }
.dr-search .kbd { position:absolute; right:10px; top:50%; transform:translateY(-50%); font-family:var(--mono);
  font-size:10px; color:var(--dim); border:1px solid var(--line); border-radius:4px; padding:1px 7px; }
.dr-suggest { position:absolute; left:0; right:0; top:44px; z-index:40; background:var(--panel);
  border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 14px 30px rgba(0,0,0,.5); }
.dr-suggest .srow { display:flex; align-items:center; gap:10px; padding:9px 12px; width:100%; text-align:left;
  background:none; border:none; border-left:2px solid transparent; cursor:pointer; }
.dr-suggest .srow.sel { background:var(--panel2); border-left-color:var(--accent); }
.dr-suggest .srow:hover { background:var(--panel2); }
.dr-suggest .foot { display:flex; justify-content:space-between; padding:7px 12px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:9.5px; color:#5C7186; }
.dr-ctabs { display:flex; gap:2px; border-bottom:1px solid var(--line); flex-shrink:0; }
.dr-ctabs button { padding:12px 12px 10px; background:none; border:none; border-bottom:2px solid transparent;
  font-family:var(--display); font-size:11.5px; letter-spacing:1.5px; color:var(--dim);
  text-transform:uppercase; cursor:pointer; }
.dr-ctabs button.on { color:var(--accent); border-bottom-color:var(--accent); }

.dr-block { display:flex; flex-direction:column; gap:10px; flex:1; min-height:0; overflow-y:auto; }
.dr-bhead { display:flex; align-items:baseline; justify-content:space-between; }
.dr-bhead b { font-family:var(--display); font-size:10.5px; letter-spacing:2px; color:var(--accent);
  text-transform:uppercase; font-weight:600; }
.dr-player { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
button.dr-player { all:unset; display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  box-sizing:border-box; width:100%; text-align:left; font-family:inherit; color:inherit;
  cursor:pointer; border-radius:8px; margin:0 -6px; padding:6px; transition:background .15s; }
button.dr-player:hover, button.dr-player:focus-visible { background:rgba(255,255,255,.04); outline:none; }
.dr-pmain { flex:1; min-width:180px; }
.dr-pname { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dr-pname b { font-family:var(--display); font-size:23px; letter-spacing:.5px; font-weight:600; color:var(--ink); }
.dr-pname .conf { font-family:var(--mono); font-size:10px; color:var(--dim); }
.dr-psub { font-family:var(--display); font-size:11.5px; letter-spacing:1px; color:var(--dim);
  margin-top:2px; text-transform:uppercase; }
.dr-prank { font-family:var(--mono); font-size:11px; margin-top:3px; }
.dr-prank b { color:var(--accent); font-weight:400; }
.dr-prank span { color:#5C7186; }
.dr-projs { display:flex; gap:6px; flex-shrink:0; }
.dr-proj { width:62px; background:var(--panel); border:1px solid var(--line); border-radius:6px;
  padding:6px 0; text-align:center; }
.dr-proj i { display:block; font-style:normal; font-family:var(--display); font-size:8.5px;
  letter-spacing:1px; color:#5C7186; text-transform:uppercase; }
.dr-proj b { font-family:var(--mono); font-size:15px; font-weight:400; color:var(--dim); }
.dr-proj.med b { color:var(--accent); }
.dr-proj.ceil b { color:var(--ink); }
.dr-gauge { position:relative; height:8px; border-radius:4px;
  background:linear-gradient(90deg,var(--avoid) 0%,var(--fade) 26%,#55677a 50%,var(--buy) 72%,var(--gold) 100%); }
.dr-gauge .sys { position:absolute; top:-3px; width:2px; height:14px; background:#fff; border-radius:1px; }
.dr-gauge .you { position:absolute; top:11px; transform:translateX(-50%); width:0; height:0;
  border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:6px solid var(--mine); }
.dr-gaugelbl { display:flex; justify-content:space-between; margin-top:12px; font-family:var(--display);
  font-size:8.5px; letter-spacing:1px; text-transform:uppercase; }
.dr-gaugeref { font-family:var(--mono); font-size:9px; color:#5C7186; margin-top:2px; }
.dr-gaugeref .u { color:var(--mine); }
.dr-tags { display:flex; gap:6px; flex-wrap:wrap; }
.dr-tag { font-family:var(--display); font-size:9.5px; letter-spacing:1px; color:var(--mine);
  background:rgba(95,168,224,.12); border:1px solid var(--mine); border-radius:999px; padding:2px 10px;
  text-transform:uppercase; }
.dr-hits { display:flex; flex-direction:column; gap:4px; }
.dr-hit { display:flex; gap:8px; align-items:baseline; }
.dr-hit .g { width:12px; font-size:9px; flex-shrink:0; }
.dr-hit .t { font-size:12px; color:#C7D2DC; line-height:1.4; }
.dr-nada { flex:1; display:grid; place-items:center; color:#5C7186; font-size:13px; text-align:center; padding:30px 10px; }

/* record-bid flow */
.dr-record { border-top:1px solid var(--line); margin-top:auto; padding-top:10px; flex-shrink:0; }
.dr-record .lbl { font-family:var(--display); font-size:10.5px; letter-spacing:2px; color:var(--dim);
  margin-bottom:8px; text-transform:uppercase; }
.dr-teambtns { display:flex; flex-wrap:wrap; gap:6px; }
.dr-tbtn { width:44px; height:36px; border-radius:6px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:10.5px; color:var(--dim); cursor:pointer; }
.dr-tbtn:hover { border-color:var(--accent); }
.dr-tbtn.on { background:rgba(217,164,65,.15); border-color:var(--accent); color:var(--accent); }
.dr-tbtn:disabled { opacity:.3; cursor:default; }
.dr-bidrow { display:flex; align-items:center; gap:8px; margin-top:12px; }
.dr-step { flex:1; height:44px; border-radius:6px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--ink);
  cursor:pointer; user-select:none; }
.dr-step.half { color:var(--dim); }
.dr-step:hover { border-color:var(--dim); }
.dr-bid { width:130px; text-align:center; font-family:var(--mono); font-size:32px; color:var(--accent);
  font-variant-numeric:tabular-nums; }
.dr-refline { text-align:center; margin-top:6px; font-family:var(--mono); font-size:11px; color:var(--dim); }
.dr-refline .u { color:var(--mine); }
.dr-go { margin-top:8px; width:100%; height:46px; border-radius:6px; background:var(--accent); color:#101820;
  border:none; font-family:var(--display); font-size:14px; letter-spacing:1.5px; font-weight:600;
  cursor:pointer; text-transform:uppercase; }
.dr-go:hover { filter:brightness(1.08); }
.dr-go:disabled { opacity:.4; cursor:default; filter:none; }
.dr-undo { display:block; margin:8px auto 0; background:none; border:none; font-family:var(--mono);
  font-size:10.5px; color:var(--dim); cursor:pointer; }
.dr-undo:hover { color:var(--ink); }

/* budget rail */
.dr-bhd { display:flex; align-items:baseline; justify-content:space-between; padding:10px 12px 8px;
  border-bottom:1px solid var(--line); flex-shrink:0; }
.dr-bhd b { font-family:var(--display); font-size:11px; letter-spacing:1.5px; color:var(--ink);
  text-transform:uppercase; font-weight:600; }
.dr-bhd i { font-family:var(--mono); font-style:normal; font-size:9.5px; color:var(--dim); }
.dr-trow { border-bottom:1px solid rgba(42,57,71,.55); }
.dr-trow.me { background:rgba(217,164,65,.05); }
.dr-thead { display:flex; align-items:center; gap:8px; padding:7px 12px 7px 10px; cursor:pointer;
  border-left:2px solid transparent; width:100%; background:none; border-top:none; border-right:none;
  border-bottom:none; text-align:left; }
.dr-trow.me .dr-thead { border-left-color:var(--accent); }
.dr-thead:hover { background:var(--panel2); }
.dr-tini { width:22px; height:22px; border-radius:5px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; flex-shrink:0; font-family:var(--mono); font-size:8.5px; color:var(--dim); }
.dr-trow.me .dr-tini { border-color:var(--accent); color:var(--accent); }
.dr-thead .who { flex:1; min-width:0; }
.dr-thead .who b { display:block; font-size:11.5px; font-weight:600; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-thead .who b .star { font-family:var(--display); font-size:8.5px; letter-spacing:1px; color:var(--accent); }
.dr-thead .who i { display:block; font-style:normal; font-family:var(--mono); font-size:9.5px; color:#5C7186;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-thead .rem { width:42px; text-align:right; color:var(--ink); flex-shrink:0; }
.dr-thead .max { width:42px; text-align:right; color:var(--accent); flex-shrink:0; }
.dr-thead .slots { width:30px; text-align:right; color:var(--dim); flex-shrink:0; }
.dr-roster { padding:2px 12px 8px 40px; background:#141F29; border-left:2px solid var(--accent); }
.dr-rline { display:flex; justify-content:space-between; align-items:center; padding:3px 0; font-size:11px; }
.dr-rline .k { color:var(--accent); font-family:var(--mono); font-size:9px; margin-left:4px; }
.dr-rline .px { font-family:var(--mono); font-size:11px; color:var(--dim); }
.dr-rline .rm { background:none; border:none; color:#5C7186; cursor:pointer; font-size:12px; padding:0 4px; }
.dr-rline .rm:hover { color:var(--fade); }

/* my values tab */
.dr-scalebar { display:flex; align-items:center; gap:8px; padding:10px 0; flex-shrink:0; flex-wrap:wrap; }
.dr-scalebar .lbl { font-family:var(--display); font-size:10px; letter-spacing:1.2px; color:var(--dim); text-transform:uppercase; }
.dr-mini { width:28px; height:28px; border-radius:6px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--ink);
  cursor:pointer; user-select:none; }
.dr-mini:hover { border-color:var(--dim); }
.dr-scaleval { width:46px; text-align:center; font-family:var(--mono); font-size:12px; color:var(--ink); }
.dr-apply { height:28px; border-radius:6px; border:1px solid var(--accent); color:var(--accent); background:none;
  padding:0 12px; font-family:var(--display); font-size:10px; letter-spacing:1.2px; cursor:pointer; text-transform:uppercase; }
.dr-apply:hover { background:rgba(217,164,65,.1); }
.dr-resetall { margin-left:auto; height:28px; border-radius:6px; border:1px solid var(--line); color:var(--dim);
  background:none; padding:0 12px; font-family:var(--display); font-size:10px; letter-spacing:1.2px;
  cursor:pointer; text-transform:uppercase; }
.dr-resetall:hover { color:var(--ink); }
.dr-valhint { font-family:var(--mono); font-size:9.5px; color:#5C7186; padding-bottom:8px; flex-shrink:0; }
.dr-vrow { display:flex; align-items:center; gap:10px; min-height:42px; border-bottom:1px solid rgba(42,57,71,.55); }
.dr-vrow .rk { width:22px; font-family:var(--mono); font-size:10.5px; color:#5C7186; flex-shrink:0; }
.dr-vrow .who { flex:1; min-width:0; }
.dr-vrow .who b { display:block; font-size:12.5px; font-weight:600; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-vrow .who i { display:block; font-style:normal; font-family:var(--display); font-size:10px;
  letter-spacing:.6px; color:var(--dim); text-transform:uppercase; }
.dr-vrow .fmv { width:44px; text-align:right; color:var(--dim); flex-shrink:0; }
.dr-vrow .delta { width:38px; text-align:right; font-size:10px; flex-shrink:0; }
.dr-vstep { display:flex; align-items:center; justify-content:center; gap:6px; width:150px; flex-shrink:0; }
.dr-vstep .st { width:30px; height:30px; border-radius:6px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--ink);
  cursor:pointer; user-select:none; }
.dr-vstep .st:hover { border-color:var(--dim); }
.dr-vstep .val { width:52px; text-align:center; font-family:var(--mono); font-size:14px; color:var(--mine);
  font-variant-numeric:tabular-nums; }
.dr-vrst { width:26px; height:26px; border-radius:6px; background:none; border:none; display:grid;
  place-items:center; font-size:12px; color:#5C7186; cursor:pointer; flex-shrink:0; }
.dr-vrst:hover { color:var(--ink); }
@media (max-width:999px) {
  .dr-vrow .fmv, .dr-vrow .delta, .dr-colhead .fmv, .dr-colhead .delta { display:none; }
  .dr-vrow .who i { font-family:var(--mono); text-transform:none; letter-spacing:0; }
  .dr-vstep .st { width:44px; height:40px; }
  .dr-bid { width:86px; font-size:29px; }
  .dr-step { height:52px; border-radius:8px; }
  .dr-go { height:52px; border-radius:8px; }
  .dr-teambtns { display:grid; grid-template-columns:repeat(6,1fr); }
  .dr-tbtn { width:auto; height:44px; }
  .dr-pname b { font-size:18px; }
  .dr-face.lg { width:48px; height:48px; }
  .dr-projs { width:100%; }
  .dr-proj { flex:1; width:auto; }
}

/* pre-draft panel */
.dr-pre { flex:1; display:grid; place-items:center; padding:24px; overflow-y:auto; }
.dr-precard { width:100%; max-width:540px; background:var(--panel); border:1px solid var(--line);
  border-radius:10px; padding:24px 26px; }
.dr-precard .eyebrow { margin-bottom:0; }
.dr-precard h3 { font-family:var(--display); font-size:22px; letter-spacing:.5px; font-weight:600; margin:6px 0; text-transform:uppercase; }
.dr-krow { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(42,57,71,.55); }
.dr-krow .tm { width:130px; font-family:var(--display); font-size:10px; letter-spacing:1px; color:var(--dim);
  flex-shrink:0; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-krow .nm { flex:1; font-size:12.5px; font-weight:600; color:var(--ink); min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-kbadge { font-family:var(--mono); font-size:9px; color:var(--accent); border:1px solid var(--accent);
  border-radius:3px; padding:1px 5px; flex-shrink:0; }
.dr-krow .px { width:40px; text-align:right; flex-shrink:0; color:var(--ink); }

/* league form (create/edit) */
.lf-wrap { max-width:780px; margin:0 auto; padding-top:24px; }
.lf-crumb { font-family:var(--mono); font-size:10px; color:#5C7186; margin-bottom:8px; text-transform:uppercase; }
.lf-title { font-family:var(--display); font-size:20px; letter-spacing:1.5px; font-weight:600;
  margin-bottom:20px; text-transform:uppercase; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.lf-title i { font-family:var(--mono); font-style:normal; font-size:9.5px; color:#5C7186; letter-spacing:0; }
.lf-card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:22px 24px; }
.lf-lbl { font-family:var(--display); font-size:10px; letter-spacing:1.2px; color:var(--dim);
  margin-bottom:6px; text-transform:uppercase; }
.lf-input { width:100%; height:40px; background:var(--ground); border:1px solid var(--line); border-radius:6px;
  padding:0 12px; color:var(--ink); font-size:13px; font-family:var(--body); }
.lf-input:focus { outline:none; border-color:var(--accent); }
.lf-row { display:flex; gap:16px; flex-wrap:wrap; }
.lf-row + .lf-row, .lf-row + .lf-sec, .lf-sec + .lf-row { margin-top:18px; }
.lf-seg { display:flex; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.lf-seg button { height:40px; padding:0 18px; background:var(--ground); border:none; font-family:var(--display);
  font-size:11px; letter-spacing:1.2px; color:var(--dim); cursor:pointer; text-transform:uppercase; }
.lf-seg button + button { border-left:1px solid var(--line); }
.lf-seg button.on { background:rgba(217,164,65,.12); color:var(--accent); border-left-color:var(--accent); }
.lf-counts { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.lf-count { width:44px; height:40px; border-radius:6px; background:var(--ground); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--dim); cursor:pointer; }
.lf-count.on { background:rgba(217,164,65,.15); border-color:var(--accent); color:var(--accent); }
.lf-count.money { width:56px; font-size:12px; }
.lf-stepval { width:34px; text-align:center; font-family:var(--mono); font-size:14px; color:var(--ink); }
.lf-mini { width:36px; height:40px; border-radius:6px; background:var(--ground); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--ink);
  cursor:pointer; user-select:none; }
.lf-custom { width:80px; height:40px; background:var(--ground); border:1px solid var(--line); border-radius:6px;
  color:var(--ink); font-size:12px; font-family:var(--mono); text-align:center; }
.lf-hint { font-family:var(--mono); font-size:9px; color:#5C7186; margin-top:5px; text-transform:uppercase; }
.lf-sec { margin-top:22px; border-top:1px solid var(--line); padding-top:16px; }
.lf-sechead { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:8px; flex-wrap:wrap; gap:4px; }
.lf-sechead .r { font-family:var(--mono); font-size:9px; color:#5C7186; text-transform:uppercase; }
.lf-slotempty { height:96px; border:1px dashed var(--line); border-radius:8px; display:grid; place-items:center; }
.lf-slotempty span { font-family:var(--mono); font-size:10.5px; color:#5C7186; text-transform:uppercase; text-align:center; padding:0 12px; }
.lf-slot { display:flex; align-items:center; gap:10px; min-height:44px; border-bottom:1px solid rgba(42,57,71,.55); }
.lf-slot .n { width:22px; font-family:var(--mono); font-size:10.5px; color:#5C7186; flex-shrink:0; }
.lf-slot input { flex:1; min-width:0; height:34px; background:var(--ground); border:1px solid var(--line);
  border-radius:6px; padding:0 10px; color:var(--ink); font-size:12.5px; font-family:var(--body); }
.lf-slot input:focus { outline:none; border-color:var(--accent); }
.lf-star { width:44px; height:44px; background:none; border:none; display:grid; place-items:center;
  font-size:16px; color:#3A4B5C; cursor:pointer; flex-shrink:0; }
.lf-star.on { color:var(--accent); }
.lf-kbtn { height:26px; border:1px solid var(--line); color:var(--dim); background:none; border-radius:4px;
  padding:0 10px; font-family:var(--display); font-size:9.5px; letter-spacing:1px; cursor:pointer;
  text-transform:uppercase; flex-shrink:0; }
.lf-kbtn.has { border-color:var(--accent); color:var(--accent); }
.lf-keepbox { background:#141F29; border-radius:8px; margin:0 0 10px 32px; padding:10px 14px; }
.lf-keeprow { display:flex; align-items:center; gap:10px; padding:5px 0; }
.lf-keeprow .nm { flex:1; font-size:12.5px; font-weight:600; color:var(--ink); min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lf-keeprow .nm i { font-family:var(--display); font-size:10px; font-weight:400; letter-spacing:.6px;
  color:var(--dim); font-style:normal; text-transform:uppercase; }
.lf-keeprow .st { width:30px; height:30px; border-radius:6px; background:var(--panel2); border:1px solid var(--line);
  display:grid; place-items:center; font-family:var(--mono); font-size:12px; color:var(--ink); cursor:pointer; }
.lf-keeprow .val { width:44px; text-align:center; font-family:var(--mono); font-size:13px; color:var(--mine); }
.lf-keeprow .rm { background:none; border:none; color:#5C7186; font-size:13px; cursor:pointer; width:24px; }
.lf-keepadd { display:flex; gap:8px; margin-top:6px; }
.lf-keepadd input { flex:1; min-width:0; height:38px; background:var(--ground); border:1px dashed var(--line);
  border-radius:6px; padding:0 10px; color:var(--ink); font-size:12px; font-family:var(--body); }
.lf-keepadd input.px { flex:none; width:64px; font-family:var(--mono); text-align:center; border-style:solid; }
.lf-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.lf-cancel { height:40px; border-radius:6px; border:1px solid var(--line); color:var(--dim); background:none;
  padding:0 18px; font-family:var(--display); font-size:11px; letter-spacing:1.2px; cursor:pointer; text-transform:uppercase; }
.lf-cancel:hover { color:var(--ink); }
.lf-submit { height:40px; border-radius:6px; background:var(--accent); color:#101820; border:none;
  padding:0 22px; font-family:var(--display); font-size:11px; letter-spacing:1.5px; font-weight:600;
  cursor:pointer; text-transform:uppercase; }
.lf-submit:hover { filter:brightness(1.08); }
.lf-danger { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:26px;
  border-top:1px solid var(--line); padding-top:16px; flex-wrap:wrap; }
.lf-danger .t { font-family:var(--display); font-size:11px; letter-spacing:1.2px; color:var(--avoid); text-transform:uppercase; }
.lf-danger .d { font-size:11px; color:var(--dim); margin-top:3px; }
.lf-delete { height:34px; border-radius:6px; border:1px solid var(--avoid); color:var(--avoid); background:none;
  padding:0 14px; font-family:var(--display); font-size:10.5px; letter-spacing:1.2px; cursor:pointer; text-transform:uppercase; }
.lf-delete:hover { background:rgba(194,69,69,.1); }
@media (max-width:719px) {
  .lf-card { padding:16px 14px; }
  .lf-counts .lf-count { flex:1; min-width:44px; }
  .lf-actions { position:sticky; bottom:0; background:#0E141C; margin:20px -14px -16px; padding:10px 14px;
    border-top:1px solid var(--line); }
  .lf-actions .lf-submit { flex:1; height:48px; border-radius:8px; }
}

/* mobile full-screen search overlay */
.dr-overlay { position:fixed; inset:0; z-index:60; background:var(--ground); display:flex; flex-direction:column; }
.dr-overlay .bar { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#0E141C;
  border-bottom:1px solid var(--line); flex-shrink:0; }
.dr-overlay .bar .dr-search { flex:1; }
.dr-overlay .cancel { background:none; border:none; font-family:var(--display); font-size:11px;
  letter-spacing:1px; color:var(--accent); cursor:pointer; text-transform:uppercase; }
.dr-overlay .list { flex:1; overflow-y:auto; }
.dr-overlay .srow { display:flex; align-items:center; gap:12px; padding:0 14px; min-height:60px; width:100%;
  text-align:left; background:none; border:none; border-left:2px solid transparent;
  border-bottom:1px solid rgba(42,57,71,.55); cursor:pointer; }
.dr-overlay .srow.sel { background:var(--panel2); border-left-color:var(--accent); }
.dr-overlay .foot { padding:14px; text-align:center; font-family:var(--mono); font-size:10px; color:#5C7186; text-transform:uppercase; }

/* ---- team-overview panel (player page) ---------------------------------- */
.teamov { margin:14px 0; }
.teamov .ov-more { float:right; font-family:var(--display); font-size:12px; letter-spacing:.04em;
  color:var(--dim); text-transform:none; }
.teamov .ov-more:hover { color:var(--accent); }
.ov-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 0 4px; }
.ov-cell { background:var(--panel2); border:1px solid var(--line); border-radius:5px; padding:8px 10px; min-width:0; }
.ov-k { font-family:var(--display); text-transform:uppercase; letter-spacing:.12em; font-size:10px;
  color:var(--dim); margin-bottom:3px; }
.ov-v { font-size:14px; color:var(--ink); font-weight:600; }
.ov-v a { color:var(--accent); }
.ov-note { font-size:11.5px; color:var(--dim); margin-top:3px; line-height:1.35; }
.ol-badges { display:flex; gap:6px; }
.olb { font-family:var(--mono); font-size:12px; font-weight:600; padding:1px 7px; border-radius:4px;
  border:1px solid var(--line); color:var(--dim); }
.olb-good { color:var(--buy); border-color:var(--buy); background:rgba(63,181,107,.08); }
.olb-mid { color:var(--gold); border-color:var(--gold); background:rgba(217,164,65,.08); }
.olb-concern { color:var(--fade); border-color:var(--fade); background:rgba(224,108,79,.08); }

.ov-depth { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0 4px; }
.dc-col { background:var(--panel2); border:1px solid var(--line); border-radius:5px; padding:6px 8px; min-width:0; }
.dc-h { font-family:var(--display); text-transform:uppercase; letter-spacing:.1em; font-size:11px;
  color:var(--accent); font-weight:600; border-bottom:1px solid var(--line); padding-bottom:4px; margin-bottom:4px;
  display:flex; justify-content:space-between; align-items:baseline; }
.dc-hs { font-family:var(--mono); font-size:9px; color:var(--dim); letter-spacing:0; text-transform:none; }
.dc-row { display:flex; justify-content:space-between; align-items:baseline; gap:6px; padding:2px 0; font-size:12.5px; }
.dc-row.me { background:rgba(217,164,65,.12); border-radius:3px; margin:0 -4px; padding-left:4px; padding-right:4px; }
.dc-n { color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.dc-n a { color:var(--ink); }
.dc-n a:hover { color:var(--accent); }
.dc-n a.v-gold { color:var(--gold); } .dc-n a.v-buy { color:var(--buy); }
.dc-n a.v-fade { color:var(--fade); } .dc-n a.v-avoid { color:var(--avoid); }
.dc-row.me .dc-n { font-weight:700; color:var(--ink); }
.dc-sh { font-family:var(--mono); font-size:11px; color:var(--dim); flex:none; }
.dc-sh i { font-style:normal; font-size:9px; opacity:.7; }

.ov-sched { margin-top:12px; border-top:1px solid var(--line); padding-top:10px; }
.ov-sched > summary { cursor:pointer; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.1em; font-size:12px; color:var(--ink); list-style:none; }
.ov-sched > summary::-webkit-details-marker { display:none; }
.ov-sched > summary::before { content:'▸'; color:var(--accent); margin-right:7px; font-size:11px; }
.ov-sched[open] > summary::before { content:'▾'; }
.ov-sched > summary .dim { text-transform:none; letter-spacing:0; font-size:12px; }
.sched-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(58px,1fr)); gap:5px; margin:10px 0 6px; }
.sg { border:1px solid var(--line); border-radius:4px; padding:4px 3px; text-align:center;
  background:var(--panel2); display:flex; flex-direction:column; align-items:center; gap:2px; }
.sg-wk { font-family:var(--mono); font-size:9px; color:var(--dim); }
.sg-opp { font-family:var(--display); font-size:11.5px; color:var(--ink); font-weight:600;
  display:flex; align-items:center; gap:2px; }
.sg-opp img { width:14px; height:14px; object-fit:contain; }
.sg-sos { font-family:var(--mono); font-size:12px; font-weight:700; }
.sg.bye { opacity:.5; justify-content:center; }
.sg.bye .sg-opp { color:var(--dim); font-size:10px; }
.sg.sos-h { border-color:var(--avoid); background:rgba(194,69,69,.16); }
.sg.sos-h .sg-sos { color:#ff9d9d; }
.sg.sos-mh { border-color:var(--fade); background:rgba(224,108,79,.1); }
.sg.sos-mh .sg-sos { color:var(--fade); }
.sg.sos-me { border-color:rgba(63,181,107,.5); background:rgba(63,181,107,.07); }
.sg.sos-me .sg-sos { color:#7fd0a0; }
.sg.sos-e { border-color:var(--buy); background:rgba(63,181,107,.16); }
.sg.sos-e .sg-sos { color:var(--buy); }
.sos-h { color:#ff9d9d; } .sos-e { color:var(--buy); }

@media (max-width:640px) {
  .ov-facts { grid-template-columns:1fr; }
  .ov-depth { grid-template-columns:repeat(2,1fr); }
}
.sg-dome { color:var(--accent); font-size:10px; }
.sg.dome { box-shadow:inset 0 0 0 1px rgba(217,164,65,.25); }

/* ---- glossary popovers (gloss.js) --------------------------------------- */
.gloss { text-decoration:underline dotted; text-decoration-color:var(--dim);
  text-underline-offset:2px; cursor:help; }
.gloss:hover, .gloss:focus-visible, .gloss[aria-describedby] {
  text-decoration-color:var(--accent); color:var(--accent); outline:none; }
.gloss-pop { position:fixed; z-index:300; left:0; top:0; max-width:min(320px,92vw);
  background:var(--panel2); border:1px solid var(--line); border-radius:7px;
  padding:9px 12px; box-shadow:0 8px 28px rgba(0,0,0,.55);
  opacity:0; transform:translateY(3px); pointer-events:none;
  transition:opacity .12s ease, transform .12s ease; }
.gloss-pop.on { opacity:1; transform:none; pointer-events:auto; }
.gloss-pop .g-term { font-family:var(--mono); font-size:11px; color:var(--dim);
  text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:1px; }
.gloss-pop b { font-family:var(--display); font-size:15px; color:var(--accent);
  font-weight:600; letter-spacing:.01em; }
.gloss-pop p { margin:5px 0 0; font-size:12.5px; line-height:1.42; color:var(--ink); }

/* ---- board edit mode: reordering + tier breaks (board.js) ---------------- */
.editbtn { margin-left:auto; cursor:pointer; font-family:var(--display); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--dim); background:var(--panel);
  border:1px solid var(--line); border-radius:6px; padding:7px 12px; }
.editbtn:hover { color:var(--accent); border-color:var(--accent); }
.editbtn.on { color:var(--accent); border-color:var(--accent); background:rgba(217,164,65,.08); }
body.boardedit .rows.tbl .row { cursor:grab; }
body.boardedit .rows.tbl .row:active { cursor:grabbing; }
.row.dragging { opacity:.35; }
.tierbar { display:flex; align-items:center; gap:10px; padding:6px 14px; background:#141F29;
  border-top:2px dashed rgba(217,164,65,.5); border-bottom:1px solid var(--line); }
.tierbar b { font-family:var(--display); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent); font-weight:600; }
.tierbar .tier-x { display:none; cursor:pointer; margin-left:auto; background:none;
  border:1px solid var(--line); border-radius:4px; color:var(--dim); font-size:12px;
  line-height:1; padding:2px 7px; }
.tierbar .tier-x:hover { color:var(--fade); border-color:var(--fade); }
body.boardedit .tierbar .tier-x { display:block; }
.tierbtn { display:none; cursor:pointer; font-family:var(--mono); font-size:9px;
  color:var(--dim); background:var(--panel2); border:1px dashed var(--line);
  border-radius:4px; padding:3px 7px; }
.tierbtn:hover { color:var(--accent); border-color:var(--accent); }
body.boardedit .tierbtn { display:inline-block; }

/* ---- bull / bear case panels (player report) ----------------------------- */
.report .case { border:1px solid; border-radius:8px; padding:2px 20px 12px; margin:26px 0; }
.report .case.bull { border-color:rgba(63,181,107,.35); background:rgba(63,181,107,.05);
  box-shadow:inset 3px 0 0 var(--buy); }
.report .case.bear { border-color:rgba(224,108,79,.35); background:rgba(224,108,79,.05);
  box-shadow:inset 3px 0 0 var(--fade); }
.report .case h3 { border-bottom:none; margin-top:16px; }
.report .case.bull h3 { color:var(--buy); }
.report .case.bear h3 { color:var(--fade); }
.report .case.bull h3::before { content:"▲ "; font-size:13px; }
.report .case.bear h3::before { content:"▼ "; font-size:13px; }

/* ---- Stinky League overlay (player panel + hub page) -------------------- */
.stinky { margin-top:22px; border-color:rgba(217,164,65,.45); }
.stinky .sk-cap { letter-spacing:.06em; }
.sk-projs { display:flex; gap:10px; margin:12px 0 8px; }
.sk-proj { flex:1; background:var(--panel2); border:1px solid var(--line); border-radius:6px;
  padding:10px 12px; text-align:center; }
.sk-proj i { display:block; font-style:normal; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.12em; font-size:10px; color:var(--dim); }
.sk-proj b { font-family:var(--mono); font-size:24px; font-weight:600; }
.sk-proj.med { border-color:var(--accent); }
.sk-proj.med b { color:var(--accent); }
.sk-proj.max b { color:var(--fade); }
.sk-note { color:var(--dim); font-size:12.5px; margin:6px 0; }
.sk-hist { margin-top:10px; border-top:1px solid var(--line); padding-top:8px; }
.sk-h { font-family:var(--display); text-transform:uppercase; letter-spacing:.12em;
  font-size:10.5px; color:var(--dim); margin-bottom:4px; }
.sk-hrow { display:flex; align-items:baseline; gap:12px; padding:3px 0; font-size:13.5px; }
.sk-hrow.me .sk-mgr { color:var(--mine); font-weight:600; }
.sk-yr { font-family:var(--mono); color:var(--dim); width:38px; }
.sk-price { font-family:var(--mono); font-weight:600; width:52px; text-align:right; }
.sk-mgr { flex:1; }
/* position-colored slot badge — width is now content-driven (not a fixed
   column) so short labels like "QB" sit close to the name instead of
   floating in a wide empty gutter */
.sk-slot { font-family:var(--display); text-transform:uppercase; letter-spacing:.03em;
  font-size:10px; font-weight:700; color:var(--dim); flex:none; text-align:center;
  border-radius:4px; }
.sk-slot:not(:empty) { padding:2px 6px; border:1px solid var(--line); }
.sk-pos-qb { color:var(--gold); border-color:rgba(217,164,65,.5) !important; background:rgba(217,164,65,.12); }
.sk-pos-rb { color:var(--buy); border-color:rgba(63,181,107,.5) !important; background:rgba(63,181,107,.12); }
.sk-pos-wr { color:var(--mine); border-color:rgba(95,168,224,.5) !important; background:rgba(95,168,224,.12); }
.sk-pos-te { color:var(--fade); border-color:rgba(224,108,79,.5) !important; background:rgba(224,108,79,.12); }
.sk-pos-dst { color:var(--hold); border-color:rgba(143,163,181,.5) !important; background:rgba(143,163,181,.1); }

.sk-notes { margin:4px 0; padding-left:18px; }
.sk-notes li { margin:5px 0; font-size:14px; }

.sk-strats { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:12px; }
.sk-strat h3 { font-family:var(--display); text-transform:uppercase; letter-spacing:.05em;
  font-size:16px; margin:2px 0 6px; color:var(--accent); }
.sk-phil { font-size:13px; color:var(--dim); margin:0 0 10px; }
.sk-roster { border-top:1px solid var(--line); }
.sk-rrow { display:flex; align-items:center; gap:6px; padding:4px 0; border-bottom:1px solid var(--line);
  font-size:13.5px; }
.sk-rrow.bn { opacity:.62; }
.sk-rrow.total { border-bottom:none; padding-top:7px; }
.sk-rrow .sk-name { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sk-rrow .sk-name a:hover { color:var(--accent); }
.sk-rrow .sk-name i { font-style:normal; font-family:var(--display); font-size:10.5px;
  letter-spacing:.06em; color:var(--dim); text-transform:uppercase; margin-left:4px; }
.sk-rrow .sk-price { width:58px; }
.sk-rrow .chip { font-size:9px; padding:2px 6px; }
.sk-when { font-size:12.5px; color:var(--dim); margin:8px 0 0; }
.sk-when b { color:var(--ink); font-family:var(--display); text-transform:uppercase;
  letter-spacing:.08em; font-size:10.5px; }

.sk-posh { font-family:var(--display); text-transform:uppercase; letter-spacing:.05em;
  font-size:15px; margin:18px 0 8px; }
.sk-tbl .thead, .sk-tbl .sk-row { grid-template-columns:52px minmax(0,1fr) 56px 60px 56px 56px minmax(150px,1.1fr); }
.sk-tbl .sk-row { padding:7px 12px; }
.sk-med { color:var(--accent); font-weight:600; }
.sk-histh { text-align:left; padding-left:14px; }
.sk-histc { display:flex; flex-direction:column; gap:1px; padding-left:14px; min-width:0; }
.sk-histc i { font-style:normal; font-family:var(--mono); font-size:11px; color:var(--dim);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sk-histc i b { color:var(--ink); font-weight:600; }
@media (max-width:760px) {
  .sk-tbl .thead { display:none; }
  /* thicker three-line phone rows carrying the full desktop data:
     rank | name / F·M·X·Δ / history. The base .row mobile rule assigns
     named grid areas — neutralize them first. */
  .sk-tbl .sk-row { grid-template-columns:40px auto auto auto auto minmax(0,1fr);
    grid-template-areas:none; padding:10px 12px; gap:4px 12px; }
  .sk-tbl .sk-row > * { grid-area:auto; }
  .sk-tbl .sk-row > .num.dim { grid-row:1 / span 3; align-self:start; }
  .sk-tbl .sk-row .who { grid-row:1; grid-column:2 / 7; }
  .sk-tbl .sk-row .cell-r { display:block; grid-row:2; text-align:left; }
  .sk-tbl .sk-row .cell-r::before { content:"FLR"; margin-right:4px; font-family:var(--display);
    font-size:8.5px; letter-spacing:.08em; color:var(--dim); }
  .sk-tbl .sk-row .sk-med::before { content:"MED"; }
  .sk-tbl .sk-row .cell-r:nth-child(5)::before { content:"MAX"; }
  .sk-tbl .sk-row .sk-vd::before { content:"Δ"; }
  .sk-tbl .sk-row .sk-histc { grid-row:3; grid-column:2 / 7; flex-direction:row;
    flex-wrap:wrap; gap:2px 12px; padding-left:0; }
  .sk-projs { flex-direction:row; }
  .sk-proj b { font-size:19px; }
}

.sk-mgrs { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.sk-mgr.me { border-color:var(--mine); }
.sk-mname { display:flex; align-items:baseline; gap:8px; font-size:15px; }
.sk-mname .dim { margin-left:auto; font-family:var(--mono); font-size:11px; }
.sk-me { color:var(--mine); font-family:var(--display); font-size:10.5px; letter-spacing:.08em;
  text-transform:uppercase; }
.sk-mtags { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0; min-height:20px; }
.sk-mbar { display:flex; height:8px; border-radius:4px; overflow:hidden; background:var(--panel2);
  border:1px solid var(--line); }
.sk-mbar i, .sk-key { display:inline-block; }
.b-qb { background:var(--gold); } .b-rb { background:var(--buy); }
.b-wr { background:var(--mine); } .b-te { background:var(--fade); }
.sk-key { width:10px; height:10px; border-radius:2px; vertical-align:middle; }
.sk-mfacts { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; font-size:12px; color:var(--dim); }
.sk-mfacts b { font-family:var(--mono); color:var(--ink); }
.sk-mine { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }

/* draft-room stinky strip + LLM export */
.dr-sk { display:flex; align-items:center; gap:10px; margin-top:8px; padding:7px 10px;
  background:rgba(217,164,65,.07); border:1px solid rgba(217,164,65,.4); border-radius:6px;
  font-family:var(--mono); font-size:12px; flex-wrap:wrap; }
.dr-sk .lbl { font-family:var(--display); letter-spacing:.1em; font-size:10px; color:var(--gold);
  text-transform:uppercase; }
.dr-sk b { font-weight:600; }
.dr-sk .med { color:var(--gold); }
.dr-sk .hist { color:var(--dim); font-size:11px; }
.dr-llm { margin-left:auto; font-family:var(--display); text-transform:uppercase; letter-spacing:.1em;
  font-size:11px; color:var(--accent); background:var(--panel2); border:1px solid var(--line);
  border-radius:5px; padding:5px 10px; cursor:pointer; }
.dr-llm:hover { border-color:var(--accent); }
.dr-llm.ok { color:var(--buy); border-color:var(--buy); }
.dr-brieftext { flex:1; margin:10px 14px 14px; background:var(--panel2); color:var(--ink);
  border:1px solid var(--line); border-radius:6px; padding:12px; font-family:var(--mono);
  font-size:11.5px; line-height:1.5; resize:none; min-height:60vh; }

/* Stinky$ board column — cells ship in the HTML but only render once
   stinky.js confirms access (body.has-stinky). Desktop-width only; phones
   get the median chip + the player-page panel instead. The cell reuses the
   projection indicator's vertical bar + stack (.pi-*).
   Scoped to .rows.tbl (player-list tables) — NOT bare .row, which also
   matches .callerrow (Play-callers cards use plain .rows, no tbl). A bare
   `body.has-stinky .row` rule once forced this 9-column grid onto the
   3-column caller rows too, breaking their layout on the board page. */
.sk-cell { display:none; }
@media (min-width:920px) {
  body.has-stinky .rows.tbl .row, body.has-stinky .rows.tbl .thead {
    grid-template-columns:66px 44px minmax(0,1fr) 90px 100px 46px 56px 104px 20px; }
  body.has-stinky .rows.tbl .thead .sk-cell { display:block; color:var(--gold); }
  body.has-stinky .rows.tbl .row .sk-cell { display:block; }
}
.sk-cell .sk-pi { justify-content:flex-end; }
.sk-cell .pi-m b { color:var(--gold); }
.sk-cell .pi-vmed { background:var(--gold); }
/* compact Stinky median chip on board rows — narrow screens only (the full
   column takes over at >=920px) */
.sk-mchip { display:none; font-family:var(--mono); font-size:10.5px; color:var(--gold);
  border:1px solid rgba(217,164,65,.5); border-radius:4px; padding:1px 5px; white-space:nowrap; }
@media (max-width:919px) {
  body.has-stinky .sk-mchip { display:inline-block; }
}

/* collapsible toolbar (phones): position nav stays on-screen, the rest of
   the filters live behind the ⚙ button; the top nav also unlocks so only
   one slim bar stays pinned */
.tb-toggle { display:none; font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:11.5px; color:var(--accent); background:var(--panel2); border:1px solid var(--line);
  border-radius:6px; padding:7px 10px; cursor:pointer; flex:none; }
.toolbar.collapsible.open .tb-toggle { color:var(--ground); background:var(--accent); border-color:var(--accent); }
@media (max-width:640px) {
  .topnav { position:static; }
  .toolbar, .stickyhead { top:0; }
  .tb-toggle { display:inline-block; }
  .toolbar.collapsible { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .toolbar.collapsible .jumps { flex:1; min-width:0; width:auto; margin:0; flex-wrap:nowrap;
    overflow-x:auto; scrollbar-width:none; justify-content:flex-start; }
  .toolbar.collapsible .jumps a { white-space:nowrap; flex:none; }
  .toolbar.collapsible .jumps::-webkit-scrollbar { display:none; }
  .toolbar.collapsible .tb-adv { display:none; }
  .toolbar.collapsible.open .tb-adv:not([hidden]) { display:flex; }
  .toolbar.collapsible.open input.tb-adv { display:block; width:100%; max-width:none; }
}

/* value board (production vs price) */
.sk-vbands { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; }
.sk-vband .sk-rrow:last-child { border-bottom:none; }
.sk-vd.up { color:var(--buy); font-weight:600; }
.sk-vd.down { color:var(--fade); }

/* similar-priced alternates inside strategy cards */
.sk-altbtn { flex:none; width:16px; text-align:center; font-family:var(--mono); font-size:12px;
  color:var(--dim); background:none; border:none; cursor:pointer; padding:2px 0; }
.sk-altbtn:hover, .sk-altbtn.open { color:var(--accent); }
.sk-altbtn.open { transform:rotate(180deg); }
.sk-altbtn.none { cursor:default; }
.sk-altbox { background:var(--panel2); border:1px solid var(--line); border-radius:6px;
  padding:4px 10px 6px; margin:2px 0 6px; }
.sk-alth { font-family:var(--display); text-transform:uppercase; letter-spacing:.1em;
  font-size:9.5px; color:var(--dim); padding:4px 0 2px; }
.sk-altbox .sk-rrow { border-bottom:none; padding:2px 0; font-size:13px; }
.sk-altbox .sk-rrow .sk-name a { color:var(--ink); }
.sk-altbox .sk-rrow .sk-name a:hover { color:var(--accent); }

/* player-panel production-vs-price strip */
.sk-val { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:baseline; margin:10px 0 4px;
  padding:8px 12px; border-radius:6px; border:1px solid var(--line); background:var(--panel2);
  font-size:12.5px; color:var(--dim); }
.sk-val b { font-family:var(--mono); color:var(--ink); }
.sk-val.up { border-color:rgba(63,181,107,.5); }
.sk-val.up .d { color:var(--buy); }
.sk-val.down { border-color:rgba(224,108,79,.45); }
.sk-val.down .d { color:var(--fade); }
.sk-val .r { flex-basis:100%; font-size:11.5px; }

/* player quick-view modal — centered card on desktop, bottom sheet on phones */
.skm { position:fixed; inset:0; z-index:200; }
body.skm-lock { overflow:hidden; }
.skm-back { position:absolute; inset:0; background:rgba(5,9,13,.62); opacity:0; transition:opacity .22s ease; }
.skm-card { position:absolute; left:50%; top:50%; transform:translate(-50%,-46%); opacity:0;
  transition:transform .22s ease, opacity .22s ease; width:min(560px, calc(100vw - 32px));
  max-height:min(86vh, 860px); overflow-y:auto; overscroll-behavior:contain;
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:16px 18px 14px; display:flex; flex-direction:column; gap:12px; }
.skm.on .skm-back { opacity:1; }
.skm.on .skm-card { opacity:1; transform:translate(-50%,-50%); }
.skm-close { position:absolute; top:10px; right:12px; background:var(--panel2); color:var(--dim);
  border:1px solid var(--line); border-radius:6px; width:30px; height:30px; cursor:pointer; font-size:13px; }
.skm-close:hover { color:var(--ink); border-color:var(--accent); }
.skm-body { display:flex; flex-direction:column; gap:12px; }
.skm-head { display:flex; align-items:center; gap:12px; padding-right:34px; }
.skm-face { position:relative; width:56px; height:56px; border-radius:50%; background:var(--panel2);
  border:1px solid var(--line); overflow:hidden; flex:none; display:grid; place-items:center; }
.skm-face span { font-family:var(--display); font-size:16px; color:var(--dim); }
.skm-face img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.skm-who { min-width:0; }
.skm-who b { display:block; font-size:19px; line-height:1.15; }
.skm-sub { display:block; font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:11px; color:var(--dim); margin:3px 0 5px; }
.skm-chips { display:flex; align-items:center; gap:8px; }
.skm-conf { font-family:var(--display); text-transform:uppercase; letter-spacing:.08em;
  font-size:10px; color:var(--dim); }
.skm-board .sk-h, .skm-hits .sk-h { margin-bottom:5px; }
.skm-pts { display:flex; gap:16px; font-family:var(--mono); font-size:12px; color:var(--dim); flex-wrap:wrap; }
.skm-pts b { color:var(--ink); font-weight:600; }
.skm-pts .m b { color:var(--accent); }
.skm-hit { display:flex; gap:8px; font-size:13px; padding:2.5px 0; align-items:baseline; }
.skm-full { display:block; text-align:center; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.1em; font-size:12px; color:var(--ground); background:var(--accent);
  border-radius:7px; padding:11px 14px; font-weight:700; border:none; cursor:pointer; width:100%; }
.skm-full:hover { filter:brightness(1.08); }
.skm-full[hidden] { display:none; }
.skm-secondary { display:block; text-align:center; font-family:var(--display); text-transform:uppercase;
  letter-spacing:.1em; font-size:11px; color:var(--dim); background:none; border:1px solid var(--line);
  border-radius:7px; padding:10px 14px; font-weight:600; width:100%; box-sizing:border-box;
  text-decoration:none; margin-bottom:8px; }
.skm-secondary:hover { color:var(--ink); border-color:var(--accent); }
@media (max-width:640px) {
  .skm-card { left:0; right:0; top:auto; bottom:0; width:100%; max-height:92svh;
    transform:translate(0,100%); border-radius:16px 16px 0 0;
    border-left:none; border-right:none; border-bottom:none;
    padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
  .skm.on .skm-card { transform:translate(0,0); }
}

/* ---- mock auction room (mock.js) — extends the dr-* draft room kit ---- */
.mk-mgr { display:flex; align-items:center; gap:10px; padding:7px 4px; border-bottom:1px solid var(--line); }
.mk-mgr:last-child { border-bottom:none; }
.mk-mgr.me { background:rgba(95,168,224,.06); }
.mk-mgr .who { flex:1; min-width:0; }
.mk-mgr .who b { display:block; font-size:13px; font-weight:600; }
.mk-mgr .who b .star { color:var(--mine); font-family:var(--display); font-size:9px; letter-spacing:1px; }
.mk-mgr .who i { display:block; font-style:normal; font-family:var(--display); font-size:10px;
  letter-spacing:.8px; color:var(--dim); text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mk-mgr .dr-num { color:var(--dim); }
.mk-pinsel { flex:none; height:32px; background:var(--ground); border:1px solid var(--line);
  border-radius:6px; color:var(--ink); font-family:var(--mono); font-size:12px; padding:0 6px; }
.mk-pinsel:focus { outline:none; border-color:var(--accent); }
@media (max-width:999px) { .mk-pinsel { font-size:16px; height:36px; } }

.mk-stage { text-align:center; padding:14px 0 8px; border-top:1px solid var(--line); margin-top:10px; }
.mk-stage.lead .mk-bignum { color:var(--mine); }
.mk-bignum { font-family:var(--mono); font-size:44px; font-weight:700; line-height:1;
  color:var(--accent); font-variant-numeric:tabular-nums; }
.mk-leader { font-family:var(--display); font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--dim); margin-top:4px; }
.mk-stage.lead .mk-leader { color:var(--mine); }
.mk-count { font-family:var(--display); font-size:13px; letter-spacing:3px; font-weight:700;
  margin-top:8px; animation:mkpulse .7s ease-in-out infinite alternate; }
.mk-count.one { color:var(--gold); }
.mk-count.two { color:var(--fade); }
@keyframes mkpulse { from { opacity:.45; } to { opacity:1; } }

.mk-bidlog { border-top:1px solid var(--line); max-height:132px; overflow-y:auto; }
.mk-bidline { display:flex; justify-content:space-between; padding:4px 6px; font-size:12px;
  color:var(--dim); border-bottom:1px solid rgba(42,57,71,.5); }
.mk-bidline .b { font-family:var(--mono); font-variant-numeric:tabular-nums; }
.mk-bidline.top { color:var(--ink); }
.mk-bidline.top .b { color:var(--accent); font-weight:600; }
.mk-bidline.mine .t { color:var(--mine); }

.mk-actions { border-top:1px solid var(--line); margin-top:auto; padding-top:10px; flex-shrink:0; }
.mk-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.mk-raise { flex:1; min-width:64px; height:42px; background:var(--panel2); border:1px solid var(--line);
  border-radius:7px; color:var(--ink); font-family:var(--mono); font-size:14px; font-weight:600; cursor:pointer; }
.mk-raise:hover:not(:disabled) { border-color:var(--accent); color:var(--accent); }
.mk-raise:disabled { opacity:.35; cursor:default; }
.mk-raise.go { background:var(--accent); border-color:var(--accent); color:var(--ground);
  font-family:var(--display); letter-spacing:1.5px; text-transform:uppercase; }
.mk-raise.go:hover:not(:disabled) { filter:brightness(1.08); color:var(--ground); }
.mk-custom { width:76px; height:42px; background:var(--ground); border:1px solid var(--line);
  border-radius:7px; color:var(--ink); font-family:var(--mono); font-size:14px; text-align:center; }
.mk-custom:focus { outline:none; border-color:var(--accent); }
.mk-hint { flex:1; font-family:var(--display); font-size:10px; letter-spacing:1px;
  text-transform:uppercase; color:var(--dim); }
.mk-skip { background:none; border:1px solid var(--line); border-radius:7px; height:34px; padding:0 14px;
  color:var(--dim); font-family:var(--display); font-size:10.5px; letter-spacing:1.2px;
  text-transform:uppercase; cursor:pointer; }
.mk-skip:hover { color:var(--ink); border-color:var(--accent); }

.mk-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.mk-chip { background:var(--panel2); border:1px solid var(--line); border-radius:999px;
  padding:7px 13px; color:var(--ink); font-size:12.5px; cursor:pointer; }
.mk-chip b { font-family:var(--mono); color:var(--accent); font-weight:600; }
.mk-chip:hover { border-color:var(--accent); }

.mk-slot { display:inline-block; width:36px; font-style:normal; font-family:var(--display);
  font-size:9px; letter-spacing:.8px; color:var(--dim); text-transform:uppercase; }
.mk-soldto { font-family:var(--mono); font-size:10.5px; color:var(--dim); white-space:nowrap; }
.mk-lead { box-shadow:0 0 0 2px var(--accent); }

.mk-recapgrid { display:grid; gap:14px; margin:14px 0; }
@media (min-width:900px) { .mk-recapgrid { grid-template-columns:1fr 1fr; } }

/* mock room v2: stable countdown slot + phone-width subhead wrap */
.mk-count { min-height:22px; }
@media (max-width:640px) {
  .dr-subhead.mk-sub { height:auto; min-height:32px; flex-wrap:wrap; padding:4px 12px; row-gap:2px; }
  .dr-subhead.mk-sub .dr-meta { display:none; }
  .dr-subhead.mk-sub .dr-pick { margin-left:0; flex-basis:100%; order:5; }
}

/* mock room v3: dynamic market + rating + mobile game pass */
.mk-market { display:flex; align-items:center; gap:14px; padding:6px 10px; margin-top:8px;
  background:#141F29; border:1px solid var(--line); border-radius:6px;
  font-family:var(--display); font-size:9.5px; letter-spacing:1.2px; text-transform:uppercase; color:var(--dim); }
.mk-market b { font-family:var(--mono); font-size:11px; letter-spacing:0; }
.mk-market .dim { margin-left:auto; letter-spacing:.8px; font-size:8.5px; }
.mk-recline { display:flex; align-items:center; gap:14px; padding:5px 2px 8px;
  font-family:var(--display); font-size:10px; letter-spacing:1.2px; text-transform:uppercase; color:var(--dim); }
.mk-recline b { font-family:var(--mono); font-size:13px; letter-spacing:0; }
.mk-recline .rec { color:var(--buy); }
.mk-recline .walk { color:var(--gold); }
.mk-recline .r { margin-left:auto; }
.mk-bignum.good { color:var(--buy); }
.mk-bignum.warm { color:var(--gold); }
.mk-bignum.hot { color:var(--fade); }
.mk-live .up { font-style:normal; color:var(--fade); font-size:8px; margin-right:1px; }
.mk-live .dn { font-style:normal; color:var(--buy); font-size:8px; margin-right:1px; }

.mk-hud { display:none; }
@media (max-width:999px) {
  /* scrolls with the page like the segs bar — a second pinned element here
     was covering content and had nothing to do with the fixed bid bar */
  .mk-hud { position:static;
    display:flex; align-items:center; gap:10px; margin:0 -12px; padding:7px 14px;
    background:var(--ground); border-bottom:1px solid var(--line); }
  .mk-hud .bar { position:relative; flex:1; height:18px; background:var(--panel2);
    border:1px solid var(--line); border-radius:999px; overflow:hidden; }
  .mk-hud .bar i { position:absolute; inset:0; width:50%; background:rgba(63,181,107,.25); transition:width .4s; }
  .mk-hud .bar span { position:absolute; inset:0; display:grid; place-items:center;
    font-family:var(--mono); font-size:10px; color:var(--ink); }
  .mk-hud .fill, .mk-hud .mkt { font-family:var(--mono); font-size:11px; color:var(--dim); }
}

/* mobile: the bid controls live in the thumb zone */
@media (max-width:999px) {
  .mk-actions { position:sticky; bottom:0; background:var(--ground);
    margin:0 -14px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(0,0,0,.35); }
  .mk-raise { height:50px; font-size:15px; }
  .mk-custom { height:50px; }
  .mk-bignum { font-size:56px; }
}

.mk-sold.steal { border-color:var(--buy); }
.mk-sold.rich { border-color:var(--fade); }
.mk-verdict { display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  font-family:var(--display); font-size:14px; font-weight:700; letter-spacing:2.5px;
  animation:mkpop .35s cubic-bezier(.2,1.6,.4,1); }
.mk-verdict span { font-size:10px; font-weight:400; letter-spacing:1.2px; color:var(--dim); text-transform:uppercase; }
.mk-verdict.steal { color:var(--buy); }
.mk-verdict.rich { color:var(--fade); }
.mk-verdict.fair { color:var(--hold); }
@keyframes mkpop { from { transform:scale(.6); opacity:0; } to { transform:scale(1); opacity:1; } }

/* recap: grade hero + standings */
.mk-hero { display:flex; align-items:center; gap:22px; margin:14px 0; padding:18px 20px;
  background:var(--panel); border:1px solid var(--line); border-radius:10px; flex-wrap:wrap; }
.mk-grade { font-family:var(--display); font-size:84px; font-weight:700; line-height:1;
  min-width:110px; text-align:center; text-shadow:0 0 34px rgba(217,164,65,.35); }
.mk-grade[class*="g-A"] { color:var(--gold); }
.mk-grade[class*="g-B"] { color:var(--buy); }
.mk-grade[class*="g-C"] { color:var(--hold); }
.mk-grade.g-D, .mk-grade.g-F { color:var(--fade); text-shadow:none; }
.mk-herostats { display:grid; gap:5px; min-width:210px; }
.mk-herostats .row { display:flex; justify-content:space-between; gap:18px; }
.mk-herostats i { font-style:normal; font-family:var(--display); font-size:10px;
  letter-spacing:1.4px; text-transform:uppercase; color:var(--dim); align-self:center; }
.mk-herostats b { font-family:var(--mono); font-size:15px; }
.mk-herostats .po { color:var(--buy); }
.mk-herostats .ti { color:var(--gold); }
.mk-flavor { flex:1; min-width:220px; font-size:12.5px; line-height:1.6; }
.mk-flavor .g { color:var(--buy); }
.mk-flavor .b { color:var(--fade); }
.mk-strow { display:flex; align-items:center; gap:8px; padding:4.5px 2px; border-bottom:1px solid rgba(42,57,71,.5); font-size:12.5px; }
.mk-strow .n { width:18px; font-family:var(--mono); font-size:10.5px; color:var(--dim); }
.mk-strow .who { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mk-strow .who .star { color:var(--mine); }
.mk-strow .dr-num { width:52px; text-align:right; }
.mk-strow .po { color:var(--buy); }
.mk-strow .ti { color:var(--gold); }
.mk-strow.me { background:rgba(95,168,224,.08); border-radius:4px; }
.mk-strow.cut { border-bottom:2px dashed var(--accent); }
.mk-strow.head { font-family:var(--display); font-size:9px; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--dim); border-bottom:1px solid var(--line); }
.mk-strow.head .dr-num { font-family:var(--display); }
@media (max-width:640px) {
  .mk-strow .ppw { display:none; }
  .mk-strow .dr-num { width:46px; font-size:11px; }
}

/* mock room v4: mobile layout hardening (scoped to .mk-page so the shared
   dr-* room kit on the draft tracker is untouched) */
.mk-page .dr-player { animation:mklotin .45s ease-out; }
@keyframes mklotin { from { transform:translateY(6px); opacity:0; } to { transform:none; opacity:1; } }
@media (max-width:999px) {
  /* one deterministic header stack: the subhead scrolls away; segs pin at the
     topnav; the HUD pins right under the segs. No hardcoded 32px guesses. */
  .mk-page .dr-subhead { position:static; height:auto; min-height:0;
    flex-wrap:wrap; padding:6px 12px; row-gap:4px; }
  .mk-page .dr-subhead .dr-pick { margin-left:0; flex-basis:100%; order:5; }
  /* the Players/Block/Teams tab bar and the budget HUD both scroll away with
     the page now — nothing pins here except the fixed bid bar at the bottom
     (below) and the topnav itself; two competing sticky bars used to drift
     out of sync and cover content */
  .mk-page .dr-segs { position:static; top:auto; }

  /* bid + pass always on screen: fixed thumb bar, content scrolls
     underneath with clearance */
  .mk-page .mk-actions { position:fixed; left:0; right:0; bottom:0; z-index:45;
    margin:0; border-top:1px solid var(--line); background:var(--ground);
    padding:8px 14px calc(8px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px rgba(0,0,0,.45); }
  .mk-page .mk-actions .mk-row { margin-bottom:6px; }
  .mk-page .mk-recline { padding:2px 2px 6px; }
  /* tighten the lot card so the price sits above the fold */
  .mk-page .dr-bhead { padding-top:2px; }
  .mk-page .mk-bignum { font-size:48px; }
  .mk-page .mk-stage { padding:8px 0 4px; margin-top:6px; }
  .mk-page .mk-bidlog { max-height:96px; }
}

/* mock room v5: whobar on the fixed bid bar + bigger fast-forward (mobile) */
.mk-whobar { display:none; }
@media (max-width:999px) {
  .mk-whobar { display:flex; align-items:baseline; gap:8px; padding:2px 2px 7px;
    border-bottom:1px solid var(--line); margin-bottom:7px; }
  .mk-whobar b { font-size:14.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mk-whobar i { font-style:normal; font-family:var(--display); font-size:10px;
    letter-spacing:1px; text-transform:uppercase; color:var(--dim); white-space:nowrap; }
  .mk-whobar .b { margin-left:auto; font-family:var(--mono); font-size:13px;
    font-weight:600; color:var(--accent); white-space:nowrap; }
  .mk-whobar .b.good { color:var(--buy); }
  .mk-whobar .b.warm { color:var(--gold); }
  .mk-whobar .b.hot { color:var(--fade); }
}

/* mock room v6: slower auction pacing (JS), a real SOLD frame, the bid bar
   redesigned around a single-tap BID + Pass row with the player name
   directly above it, pause/resume duplicated to the mobile thumb zone, and
   every player row (rail, roster, recap) opening the shared player card. */

/* a distinct third beat after GOING ONCE / GOING TWICE — unmissable */
.mk-count.sold { color:var(--buy); font-size:15px; letter-spacing:3.5px;
  animation:mkpop .3s cubic-bezier(.2,1.6,.4,1); }
.mk-stage.sold { background:rgba(63,181,107,.09); border-radius:8px; }
.mk-stage.sold .mk-leader { color:var(--buy); font-weight:700; }
.mk-bignum.sold { color:var(--buy); }
.mk-whobar .b.sold { color:var(--buy); font-weight:700; }

.mk-bidrow { display:flex; gap:8px; margin-bottom:8px; }
.mk-bidbtn { flex:2; height:58px; background:var(--accent); border:none; border-radius:8px;
  color:var(--ground); cursor:pointer; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:1px; line-height:1.1; }
.mk-bidbtn b { font-family:var(--display); font-size:16px; letter-spacing:1.5px; }
.mk-bidbtn i { font-style:normal; font-family:var(--mono); font-size:11px; opacity:.85; }
.mk-bidbtn:hover:not(:disabled) { filter:brightness(1.08); }
.mk-bidbtn:disabled { opacity:.35; cursor:default; background:var(--panel2); color:var(--dim); }
.mk-pass { flex:1; height:58px; background:none; border:1px solid var(--line); border-radius:8px;
  color:var(--dim); font-family:var(--display); font-size:13px; letter-spacing:1.5px;
  text-transform:uppercase; cursor:pointer; }
.mk-pass:hover:not(:disabled) { color:var(--ink); border-color:var(--fade); }
.mk-pass:disabled { opacity:.35; cursor:default; }

/* raise-row toggle: a compact arrow next to BID, collapsed by default —
   +$1/+$2/custom are secondary paths, the BID button covers the common case */
.mk-raisetoggle { flex:0 0 44px; height:58px; background:none; border:1px solid var(--line);
  border-radius:8px; color:var(--dim); font-size:16px; cursor:pointer; transition:transform .2s, color .2s; }
.mk-raisetoggle:hover { color:var(--ink); border-color:var(--accent); }
.mk-raisetoggle.open { color:var(--accent); border-color:var(--accent); transform:rotate(180deg); }
.mk-raiserow { display:none; }
.mk-raiserow.open { display:flex; animation:mkraiseopen .18s ease-out; }
@keyframes mkraiseopen { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }

/* pause/resume: a header copy for desktop and this slim full-width one for
   mobile — CSS below shows exactly one of the two per breakpoint */
.mk-pauserow { display:none; }
.mk-pausebtn { width:100%; height:38px; background:none; border:1px solid var(--line); border-radius:7px;
  color:var(--dim); font-family:var(--display); font-size:11px; letter-spacing:1.5px;
  text-transform:uppercase; cursor:pointer; }
.mk-pausebtn:hover { color:var(--ink); border-color:var(--accent); }
@media (max-width:999px) {
  .mk-pauserow { display:block; margin-top:2px; }
  .mk-page .dr-subhead [data-act="pause"] { display:none; }
  /* only reserve the fixed-bar clearance while a lot is actually live —
     otherwise the between-lots and nomination screens get a dead gap */
  .mk-page .dr-room[data-seg="block"][data-lot="1"] .dr-center { padding-bottom:352px; }
}

/* every player row is now clickable — rail (already a button), team rosters
   and recap lines (converted from div to button) */
button.dr-rline { all:unset; box-sizing:border-box; display:flex; justify-content:space-between;
  align-items:center; padding:3px 4px; font-size:11px; width:100%; cursor:pointer;
  color:inherit; font-family:inherit; border-radius:4px; }
button.dr-rline:hover { background:rgba(255,255,255,.05); }

/* mobile: stop iOS Safari's auto-zoom-on-focus. Safari zooms the whole
   viewport in whenever a focused input's COMPUTED font-size is under 16px —
   these are every text/number input in the app, each below that line on
   desktop by design; match/exceed each one's original specificity so this
   wins on mobile only, desktop sizing is untouched. */
@media (max-width:999px) {
  .mytagform input,
  .stackform input[type="text"], .stackform input[type="number"], .stackform select,
  .dr-search input,
  .lf-input, .lf-custom,
  .lf-slot input,
  .lf-keepadd input,
  .mk-custom {
    font-size:16px;
  }
}

/* sold feed — right rail, underneath Teams */
.mk-soldhd { border-top:2px solid var(--line); }
.mk-soldrow .px { color:var(--ink); font-weight:600; }
.mk-vtag { font-style:normal; font-family:var(--display); font-size:8.5px; font-weight:700;
  letter-spacing:.8px; padding:2px 5px; border-radius:3px; border:1px solid; white-space:nowrap; }
.mk-vtag.steal { color:var(--buy); border-color:var(--buy); background:rgba(63,181,107,.1); }
.mk-vtag.rich { color:var(--fade); border-color:var(--fade); background:rgba(224,108,79,.1); }
.mk-vtag.fair { color:var(--hold); border-color:var(--hold); background:rgba(143,163,181,.08); }
