/* Boston College realism pass: key/value strips, hairline tables, schedule, tendencies. Loads last. */
:root{--bc-maroon:#8A2432;--bc-dark:#4A0F18;--bc-gold:#B9975B;--bc-gold-2:#DDC9A3;--bc-rule:#E4DFD8;--bc-rule-soft:#EFEBE6;--bc-ink-2:#4F4A45;--bc-ink-3:#6E6760;--bc-surface:#fff}
[data-theme="dark"]{--bc-rule:#3a3330;--bc-rule-soft:#2d2826;--bc-ink-2:#d5ccc4;--bc-ink-3:#b3a89e;--bc-surface:var(--surface,#17232f)}
.num{text-align:right!important;font-variant-numeric:tabular-nums lining-nums}
.source-note{font-size:12px;line-height:1.55;color:var(--bc-ink-3);margin:4px 0 18px;max-width:880px}
.section-title{font-size:18px;margin:26px 0 12px}
/* key/value strip */
.kv-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:0;border:1px solid var(--bc-rule);border-radius:6px;background:var(--bc-surface);margin:0 0 20px}
.kv-strip>div{padding:12px 16px;border-right:1px solid var(--bc-rule-soft);min-width:0}
.kv-strip>div:last-child{border-right:0}
.kv-strip span{display:block;font-size:12px;line-height:16px;color:var(--bc-ink-3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-strip b{display:block;font-size:22px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px;white-space:nowrap}
.kv-strip b small{font-size:13px;font-weight:500;color:var(--bc-ink-3)}
.kv-strip b.neg{color:var(--negative,#a11d2b)}
.kv-strip.compact{margin:12px 0 0}.kv-strip.compact b{font-size:18px}
.kv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:16px 0 18px}
.kv-list span{display:block;font-size:12px;color:var(--bc-ink-3)}.kv-list b{font-size:14px;font-weight:500}
/* tables */
.bc-table th{font-size:12px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--bc-ink-2);background:transparent;border-bottom:1px solid var(--bc-rule);padding:10px 14px}
.bc-table td{border-bottom:1px solid var(--bc-rule-soft);padding:10px 14px;font-size:13px;vertical-align:top;background:transparent}
.bc-table tfoot td{border-top:1px solid var(--bc-rule);font-weight:600}
.bc-table td.meta{white-space:normal;min-width:180px}
.roster-table td{white-space:nowrap}.roster-table td:nth-child(7){white-space:normal;min-width:170px}.roster-table td:last-child{white-space:normal;min-width:220px;color:var(--bc-ink-3)}
.bc-table td.playtext{white-space:normal;min-width:280px;max-width:460px;font-size:12px;line-height:1.45}
.bc-table td.playtext .linkbtn{text-align:left;font-weight:400;white-space:normal;color:var(--ink)}
.bc-table td.playtext .linkbtn:hover{color:var(--bc-maroon);text-decoration:underline}
.stars{color:var(--bc-gold);letter-spacing:1px;font-size:12px;white-space:nowrap}
.grade.none{background:transparent;color:var(--bc-ink-3);font-weight:500}
/* season snapshot on home */
.bc-snapshot{background:var(--bc-surface);border:1px solid var(--bc-rule);border-radius:6px;padding:20px;margin:0 0 24px}
.bc-snap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.bc-snap-head h2{font-size:22px;line-height:28px;margin:0 0 4px;font-weight:600}
.bc-snap-head p{margin:0;color:var(--bc-ink-2);font-size:14px}
.bc-snapshot .kv-strip{margin-bottom:16px}
.schedule-table tr.upcoming td{color:var(--bc-ink-2)}
.schedule-table tr.next td{background:color-mix(in srgb,var(--bc-gold-2) 22%,transparent)}
.res{display:inline-block;min-width:18px;font-weight:600}.res.w{color:#1F6F43}.res.l{color:var(--bc-maroon)}
[data-theme="dark"] .res.w{color:#8ad3ad}[data-theme="dark"] .res.l{color:#ffb0a5}
[data-theme="dark"] .schedule-table tr.next td{background:#3a2f1e}
.bc-snapshot .source-note{margin:10px 0 0}
/* tendencies */
.tend-legend{display:flex;gap:16px;font-size:12px;color:var(--bc-ink-3);margin-bottom:10px}
.tend-legend i,.tend-bar i{display:inline-block}
.tend-legend i{width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.tend-row{display:grid;grid-template-columns:96px minmax(0,1fr) 190px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--bc-rule-soft)}
.tend-label{font-size:13px;font-weight:500}
.tend-bar{display:flex;height:12px;background:var(--bc-rule-soft)}
.tend-bar i{height:100%}
i.run{background:var(--bc-gold)}i.pass{background:var(--bc-maroon)}
[data-theme="dark"] i.pass{background:#c45a68}
.tend-val{font-size:12px;color:var(--bc-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.tend-val small{color:var(--bc-ink-3)}
.depth-more{font-size:12px;color:var(--bc-ink-3);padding:8px 12px}
.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:13px;padding:6px 0}
/* inline per-control help buttons only when help mode is on */
/* Per-control "How to use this" buttons clutter every row; help stays available from the help menu and narrated guide. */
#app .ts-inline-help,#overlay .ts-inline-help{display:none!important}
@media (max-width:760px){
  .kv-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv-strip>div{border-right:0;border-bottom:1px solid var(--bc-rule-soft)}
  .kv-strip b{font-size:18px;line-height:24px}
  .bc-snap-head{flex-direction:column}
  .tend-row{grid-template-columns:78px minmax(0,1fr);}
  .tend-val{grid-column:1/-1}
  .kv-list{grid-template-columns:1fr}
}
/* Trust banner: BC palette, home page only */
body:not([data-page="dashboard"]) #main>.tracker-trust{display:none!important}
#main>.tracker-trust{background:#FBF8F3!important;border:1px solid var(--bc-rule)!important;border-left:1px solid var(--bc-rule)!important;border-top:3px solid var(--bc-maroon)!important;border-radius:6px!important;box-shadow:none!important}
#main>.tracker-trust :is(div,span,h2,p){color:#2a2320!important}
#main>.tracker-trust button{background:var(--bc-maroon)!important;border-color:var(--bc-maroon)!important;color:#fff!important}
[data-theme="dark"] #main>.tracker-trust{background:var(--surface,#17232f)!important;border-color:#3a3330!important;border-top-color:#c45a68!important}
[data-theme="dark"] #main>.tracker-trust :is(div,span,h2,p){color:#eee6df!important}
[data-theme="dark"] #main>.tracker-trust button{background:#c45a68!important;border-color:#c45a68!important;color:#160b0d!important}
.bc-table td.playtext{min-width:320px}
.scouting-grid>*,.grid>*,.compare-grid>*{min-width:0}
.board{grid-template-columns:repeat(3,minmax(0,1fr))!important}@media (max-width:760px){.board{grid-template-columns:1fr!important}}
.bc-table td{white-space:normal}
.bc-table td.num,.bc-table th.num{white-space:nowrap}
.practice-text{min-width:240px}
.practice-group{min-width:150px}
@media (max-width:760px){
  #main .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;-webkit-overflow-scrolling:touch}
  #main .tabs button{white-space:nowrap;flex:0 0 auto}
  #main .filters{display:flex;flex-wrap:wrap;gap:8px}
  #main .filters input{flex:1 1 100%;min-width:0}
  #main .filters select{flex:1 1 calc(50% - 8px);min-width:0}
}
