/* Home compact pass (2026-10-15): less chrome, one baseline per row, every value in a labeled column. Loaded after home-polish.css. */
.bento{gap:16px}
.card-head{margin-bottom:14px}
.card-head h2{font-size:15px}
.card-head small{font-size:10px;letter-spacing:.14em}
.dim{color:var(--ink-3)}
.hi{color:var(--ink)}

/* TD board: Player | Model | Book | Yes | Rule */
#tdboard .tdh,#tdboard .tdr{grid-template-columns:minmax(0,1fr) 48px 44px 62px 56px;column-gap:10px}
#tdboard .tdh{letter-spacing:.08em}
#tdboard .tdr{min-height:44px;padding:5px 0}
#tdboard .tdr .nm b{font-size:12.5px}
#tdboard .tdr .nm span{font-size:10.5px;color:var(--ink-3)}
#tdboard .tdr .num{font-size:12.5px}
#tdboard .tdr .price{font-size:17px;font-weight:600;letter-spacing:-.02em}
.rule{display:inline-block;padding:2px 7px;border-radius:999px;font:500 9px/1.5 "Geist Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px var(--hair);white-space:nowrap}
.rule.ev{color:var(--amber);background:var(--amber-dim);box-shadow:inset 0 0 0 1px rgba(232,193,90,.28)}
.rule.both{color:var(--green);background:var(--green-dim);box-shadow:inset 0 0 0 1px rgba(61,220,151,.3)}

/* TD owed: Player | Exp TD | Scored | EZ tgt | Chance | Price | Yes */
#tdowed .tdh,#tdowed .tdr{grid-template-columns:minmax(0,1fr) 44px 40px 46px 50px 46px 96px 64px;column-gap:12px}
#tdowed .tdr{min-height:42px;padding:4px 0}
#tdowed .tdr .nm b{display:block;font-size:13px;font-weight:600}
#tdowed .tdr .nm span{display:block;font-size:10.5px;color:var(--ink-3)}
#tdowed .tdr .num{font-size:12.5px}
#tdowed .tdr .price{font-size:17px;font-weight:600;letter-spacing:-.02em}
#tdowed .tdr.tdo .price small,#tdowed .tdr.tdo .bar{display:none}
.tdo-sub{padding:10px 0 2px;font-size:9px}
.tdo-sub:first-child{padding-top:4px}
.tdo-foot{margin-top:10px;font-size:11px;line-height:1.5}

/* Matchup grades: tighter rows, two columns on wide screens */
.mg{grid-template-columns:26px minmax(0,1fr) 40px 60px;column-gap:12px;padding:7px 0}
.mg .grade{width:24px;height:24px;border-radius:7px;font-size:11px}
.mg .t b{font-size:13px}
.mg .t span{font-size:10.5px}
.mg .sc{font-size:15px}
.mg .pill{min-width:52px;font-size:9.5px;padding:4px 0}
@media (min-width:1024px){#mg{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}#mg .mg:nth-last-child(2){border-bottom:0}}

/* Defense vs position: every card keeps the header row and no top margin, so the three cards share a baseline */
@media (min-width:1024px){.dvp-sec .dvp>.g+.g{margin-top:0}}
.dvp .g+.g .it.ih{display:grid!important;visibility:hidden}
.dvp .it{padding:7px 0;font-size:12.5px}
.dvp .it.ih{padding:10px 0 5px}
.dvp .it.ih span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dvp .g h3{font-size:14px;min-height:24px}

/* Leakiest defenses: no bar in the name column; the row carries the heat */
.lkb{display:none}
.lkr .who{grid-template-columns:18px auto}
.lkr{padding:6px 0;font-size:12.5px;background:linear-gradient(90deg,rgba(61,220,151,calc(var(--h,0)*.14)),transparent 72%)}
.lkr.hit{box-shadow:inset 2px 0 0 var(--green)}
.lkh,.lkr{grid-template-columns:minmax(0,1fr) 60px 56px 44px;column-gap:10px}
.lkg h3{font-size:13.5px;margin-bottom:6px}
.lkg h3 small{font-size:10.5px}
.lk{gap:14px 24px}

@media (max-width:767px){
  .ph-hide{display:none!important}
  #tdboard .tdh,#tdboard .tdr{grid-template-columns:minmax(0,1fr) 64px 56px;column-gap:8px}
  #tdowed .tdh,#tdowed .tdr{grid-template-columns:minmax(0,1fr) 32px 28px 52px 58px;column-gap:6px}
  #tdowed .tdr .nm b,#tdboard .tdr .nm b{font-size:12.5px}
  .tdo-sub{letter-spacing:.1em}
  .mg{grid-template-columns:24px minmax(0,1fr) 36px 56px;column-gap:8px}
  .lkh,.lkr{column-gap:8px}
}

/* Hero: Week 6 + a one-line stat row on the left, the slate strip on the right */
.hero{grid-template-columns:minmax(0,340px) minmax(0,1fr)!important;gap:20px!important;align-items:center!important;padding-bottom:0!important;margin-bottom:22px}
.hero h1{margin:10px 0 8px!important}
.hero p{font-size:14px!important;max-width:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero .strip-wrap{min-width:0}
.hero .strip{min-width:0;padding:6px 2px 6px;-webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
.stats{display:flex!important;flex-wrap:wrap;gap:5px!important;margin-top:10px;max-width:340px}
.stat{display:inline-flex!important;align-items:baseline;gap:5px;padding:4px 9px 4px 8px!important;border-radius:999px!important;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--hair)}
.stat small{margin:0!important;font-size:9px!important;letter-spacing:.14em!important}
.stat .num{font-size:15px!important;line-height:1}
.stat .split{display:none!important}
@media (max-width:1023px){.hero{grid-template-columns:1fr!important;gap:16px!important}.hero .strip{mask-image:none;-webkit-mask-image:none}}



/* TD owed: the chances-vs-price bar. Fill = chances, tick = what the book's price implies. Section colour via currentColor. */
.cbar{position:relative;display:block;height:5px;width:88px;margin:0 auto;border-radius:3px;background:var(--hair-2);color:var(--green)}
.cbar b{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:currentColor;opacity:.95;transform-origin:left;animation:cgrow .9s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms + 200ms)}
.cbar u{position:absolute;top:-3px;width:2px;height:11px;background:var(--ink);transform:translateX(-1px)}
.tdr.tdo.long .cbar{color:var(--amber)}.tdr.tdo.fade .cbar{color:var(--red)}
@keyframes cgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Plays tile: the Last-10 column must not squeeze names onto two lines */
@media (min-width:1024px){.plays{--cols:minmax(0,1fr) 64px 40px 96px 56px 60px 68px;--g:14px}}
.plays .nm b,.plays .nm span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}

/* Defense vs position rows: one four-column template at every width (label | bar | mult | rank) */
.dvp .it{grid-template-columns:minmax(0,1fr) minmax(56px,120px) 52px 44px!important;column-gap:10px!important}
/* wide screens: spare width goes to the Last-10 column (bars widen), not to a gap after the name */
@media (min-width:1024px){
  .plays{--cols:minmax(0,1.1fr) minmax(64px,.9fr) 40px 96px 56px 60px 68px}
  .plays .spk{width:100%;max-width:220px}
}

/* phones: stat pills on one line (the LOOK split reads on desktop only); who-to-target chips without the label */
@media (max-width:767px){.stat .split{display:none!important}.tg .rt>span:first-child{display:none}}

/* 1024-1279: the home tiles are narrower than their desktop templates; drop the two least useful TD owed columns and run leaks two-up */
@media (min-width:1024px) and (max-width:1279px){
  #tdowed .tdh>*:nth-child(4),#tdowed .tdr>*:nth-child(4),#tdowed .tdh>*:nth-child(6),#tdowed .tdr>*:nth-child(6){display:none}
  #tdowed .tdh,#tdowed .tdr{grid-template-columns:minmax(0,1fr) 40px 34px 52px 92px 60px;column-gap:10px}
  .lk{grid-template-columns:repeat(2,minmax(0,1fr))}
}
