:root{
  --bg:#0a0a0b;
  --panel:#121214;
  --panel-2:#17171a;
  --line:#26262b;
  --ink:#f2f2f0;
  --ink-dim:#9a9aa2;
  --ink-faint:#5c5c64;
  --accent:#d4a441;
  --accent-soft:rgba(212,164,65,.12);
  --biola:#c8102e;
  --plnu:#0e7c6b;
  --cbu:#3b6fd4;
  --stanford:#8c1515;
  --good:#3fa66a;
  --bad:#d1483f;
  --mono:'IBM Plex Mono',monospace;
  --display:'Unbounded',sans-serif;
  --body:'Instrument Sans',sans-serif;
  --school:var(--accent);
  --school-soft:rgba(212,164,65,.12);
}
body[data-school="biola"]{--school:var(--biola);--school-soft:rgba(200,16,46,.13)}
body[data-school="plnu"]{--school:var(--plnu);--school-soft:rgba(14,124,107,.14)}
body[data-school="cbu"]{--school:var(--cbu);--school-soft:rgba(59,111,212,.13)}
body[data-school="stanford"]{--school:var(--stanford);--school-soft:rgba(140,21,21,.15)}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.6;
  background-image:
    radial-gradient(1200px 600px at 82% -10%, var(--school-soft), transparent 62%),
    radial-gradient(900px 500px at 8% 12%, rgba(255,255,255,.03), transparent 60%);
}
::selection{background:var(--school);color:#0a0a0b}
a{color:var(--school);text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--school) 32%, transparent)}
a:hover{border-bottom-color:var(--school)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

nav{position:sticky;top:0;z-index:50;background:rgba(10,10,11,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;gap:24px;align-items:center;height:54px;overflow-x:auto;scrollbar-width:none}
nav .wrap::-webkit-scrollbar{display:none}
nav .brand{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--school);white-space:nowrap;border:none}
nav a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border:none;white-space:nowrap}
nav a:hover,nav a.on{color:var(--ink)}

header{padding:80px 0 0;position:relative;overflow:hidden}
header::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.022) 119px 120px)}
.kicker{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--school);margin-bottom:20px}
h1{font-family:var(--display);font-weight:800;line-height:1.06;font-size:clamp(32px,5.4vw,62px);letter-spacing:-.01em;position:relative;z-index:1}
h1 .b{color:var(--biola)}
h1 .p{color:var(--plnu)}
h1 .c{color:var(--cbu)}
h1 .vs{color:var(--ink-faint);font-weight:400;font-size:.4em;vertical-align:middle;padding:0 .26em}
.sub{max-width:660px;margin-top:24px;color:var(--ink-dim);font-size:19px;position:relative;z-index:1}
.stamp{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin:28px 0 44px;position:relative;z-index:1;line-height:1.9}
.oneline{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.4vw,24px);margin-top:22px;position:relative;z-index:1;max-width:760px;line-height:1.4}

.verdict{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px 34px;position:relative;z-index:1}
.verdict .tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--school);background:var(--school-soft);border:1px solid color-mix(in srgb,var(--school) 30%,transparent);padding:4px 10px;border-radius:3px;margin-bottom:18px}
.verdict p{font-size:19px;line-height:1.5}
.verdict p+p{margin-top:13px;font-size:17px;color:var(--ink-dim)}
.verdict strong{color:var(--school);font-weight:600}

section{padding:68px 0;border-bottom:1px solid var(--line)}
h2{font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,32px);margin-bottom:10px}
.lede{color:var(--ink-dim);max-width:680px;margin-bottom:36px}
h3{font-family:var(--display);font-weight:600;font-size:19px;margin-bottom:6px}
p+p{margin-top:13px}
section p{color:var(--ink-dim)}
section p strong{color:var(--ink);font-weight:600}

.matrix{width:100%;border-collapse:collapse;border:1px solid var(--line);font-size:15.5px}
.matrix th,.matrix td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.matrix th:last-child,.matrix td:last-child{border-right:none}
.matrix thead th{background:var(--panel-2);font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:400}
.matrix thead th.sb{color:var(--biola)}
.matrix thead th.sp{color:var(--plnu)}
.matrix thead th.sc{color:var(--cbu)}
.matrix thead th.ss{color:var(--stanford)}
.matrix tbody th{background:var(--panel);font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;width:160px}
.matrix td{background:var(--panel);color:var(--ink-dim)}
.matrix tbody tr:last-child th,.matrix tbody tr:last-child td{border-bottom:none}
.matrix .win{color:var(--good);font-weight:600}
.matrix .lose{color:var(--bad);font-weight:600}
.matrix .big{font-family:var(--display);font-size:19px;font-weight:600;color:var(--ink)}
.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:34px}
.card{background:var(--panel);padding:26px 24px;display:flex;flex-direction:column;border:none}
a.card:hover{background:var(--panel-2)}
.card .flag{height:3px;width:44px;border-radius:2px;margin-bottom:16px}
.card[data-s="biola"] .flag{background:var(--biola)}
.card[data-s="plnu"] .flag{background:var(--plnu)}
.card[data-s="cbu"] .flag{background:var(--cbu)}
.card[data-s="stanford"] .flag{background:var(--stanford)}
.card h3{color:var(--ink)}
.card .where{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}
.card .net{font-family:var(--display);font-weight:800;font-size:30px}
.card[data-s="biola"] .net{color:var(--biola)}
.card[data-s="plnu"] .net{color:var(--plnu)}
.card[data-s="cbu"] .net{color:var(--cbu)}
.card[data-s="stanford"] .net{color:var(--stanford)}
.card .netcap{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}
.card .pitch{margin-top:18px;font-size:15.5px;color:var(--ink-dim);flex:1}
.card .pitch strong{color:var(--ink);font-weight:600}
.card .go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:20px;color:var(--ink-faint)}
a.card:hover .go{color:var(--ink)}

.panels{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.panels.two{grid-template-columns:repeat(2,1fr)}
.panel{background:var(--panel);padding:26px 24px}
.panel .head{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.panel .dot{width:9px;height:9px;border-radius:2px;transform:rotate(45deg);flex:none;background:var(--school)}
.panel[data-s="biola"] .dot{background:var(--biola)}
.panel[data-s="plnu"] .dot{background:var(--plnu)}
.panel[data-s="cbu"] .dot{background:var(--cbu)}
.panel[data-s="stanford"] .dot{background:var(--stanford)}
.panel .rank{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}
.panel p{font-size:15.5px;color:var(--ink-dim);margin-bottom:12px}
.panel p strong{color:var(--ink);font-weight:600}
.panel ul{list-style:none;margin:0 0 12px}
.panel li,.bullets li{padding:9px 0 9px 18px;border-top:1px solid var(--line);position:relative;font-size:15px;color:var(--ink-dim)}
.panel li::before,.bullets li::before{content:"";position:absolute;left:1px;top:17px;width:6px;height:6px;border-radius:1px;transform:rotate(45deg);background:var(--ink-faint)}
.panel li strong,.bullets li strong{color:var(--ink);font-weight:600}
.addr{font-family:var(--mono);font-size:12px;color:var(--ink-faint);display:block;margin-top:2px}
.bullets{list-style:none;margin:16px 0}
.bullets li{font-size:15.5px}

.callout{border:1px solid var(--line);border-left:3px solid var(--school);background:var(--panel-2);border-radius:0 8px 8px 0;padding:24px 28px;margin-top:32px}
.callout.warn{border-left-color:var(--bad)}
.callout.money{border-left-color:var(--good)}
.callout .ct{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--school);margin-bottom:10px}
.callout.warn .ct{color:var(--bad)}
.callout.money .ct{color:var(--good)}
.callout p{color:var(--ink-dim);font-size:16px}
.callout strong{color:var(--ink);font-weight:600}

/* urgent blocker */
.alert{border:1px solid rgba(209,72,63,.45);background:linear-gradient(rgba(209,72,63,.10),rgba(209,72,63,.05));border-radius:12px;padding:28px 30px;position:relative;z-index:1;margin-top:26px}
.alert .at{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bad);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.alert h3{font-family:var(--display);font-weight:700;font-size:clamp(18px,2.3vw,23px);margin-bottom:10px;line-height:1.35}
.alert p{color:var(--ink-dim);font-size:16px}
.alert p+p{margin-top:10px}
.alert strong{color:var(--ink);font-weight:600}
.alert .owner{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bad);border:1px solid rgba(209,72,63,.4);border-radius:3px;padding:4px 10px;margin-top:14px}

/* countdown strip */
.dates{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:30px}
.dates .d{background:var(--panel);padding:22px 20px}
.dates .d .when{font-family:var(--display);font-weight:800;font-size:clamp(18px,2.4vw,24px)}
.dates .d[data-s="biola"] .when{color:var(--biola)}
.dates .d[data-s="plnu"] .when{color:var(--plnu)}
.dates .d[data-s="cbu"] .when{color:var(--cbu)}
.dates .d[data-s="all"] .when{color:var(--accent)}
.dates .d[data-s="stanford"] .when{color:var(--stanford)}
.dates .d .what{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin-top:8px;line-height:1.6}

/* ordered steps */
.steps{list-style:none;counter-reset:step;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.steps li{background:var(--panel);padding:18px 24px;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:flex-start;counter-increment:step}
.steps li:last-child{border-bottom:none}
.steps li::before{content:counter(step);font-family:var(--mono);font-size:11px;color:var(--ink-faint);border:1px solid var(--line);border-radius:3px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.steps li.now::before{color:var(--bad);border-color:rgba(209,72,63,.4)}
.steps .body{font-size:15.5px;color:var(--ink-dim)}
.steps .body strong{color:var(--ink);font-weight:600}
.steps .tagw{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-left:8px}
.steps li.now .tagw{color:var(--bad)}

.quote{border-left:2px solid var(--line);padding:4px 0 4px 18px;margin:16px 0;font-style:italic;color:var(--ink-dim);font-size:15.5px}
.quote cite{display:block;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:8px}

.badge{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;padding:3px 8px;border-radius:3px;vertical-align:middle;margin-left:6px}
.badge{color:var(--ink-faint);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.badge.unver{color:var(--bad);background:rgba(209,72,63,.1);border:1px solid rgba(209,72,63,.3)}
.badge.conf{color:var(--good);background:rgba(63,166,106,.1);border:1px solid rgba(63,166,106,.3)}

.checks{list-style:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.checks li{background:var(--panel);padding:18px 24px;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:flex-start}
.checks li:last-child{border-bottom:none}
.checks .who{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);border-radius:3px;padding:3px 8px;flex:none;margin-top:2px;min-width:80px;text-align:center}
.checks .who.coop{color:var(--accent);border-color:rgba(212,164,65,.35)}
.checks .who.brian{color:var(--cbu);border-color:rgba(59,111,212,.35)}
.checks .body{font-size:15.5px;color:var(--ink-dim)}
.checks .body strong{color:var(--ink);font-weight:600;display:block;margin-bottom:2px}

.sources{list-style:none;font-size:14.5px;columns:2;column-gap:40px}
.sources li{break-inside:avoid;margin-bottom:10px;color:var(--ink-faint)}

.pager{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:44px}
.pager a{background:var(--panel);padding:20px 22px;border:none;display:block}
.pager a:hover{background:var(--panel-2)}
.pager .pl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:6px}
.pager .pn{font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink)}
.pager a[data-s="biola"] .pn{color:var(--biola)}
.pager a[data-s="plnu"] .pn{color:var(--plnu)}
.pager a[data-s="cbu"] .pn{color:var(--cbu)}
.pager a[data-s="stanford"] .pn{color:var(--stanford)}

footer{padding:48px 0 70px;color:var(--ink-faint);font-family:var(--mono);font-size:12px;line-height:1.9}

@media(max-width:860px){
  .cards,.panels,.panels.two,.pager{grid-template-columns:1fr}
  .sources{columns:1}
  body{font-size:16px}
  .verdict{padding:26px 22px}
  .verdict p{font-size:18px}
  header{padding:60px 0 0}
}

@media(max-width:860px){
  .dates{grid-template-columns:repeat(2,1fr)}
  .alert{padding:22px 20px}
}
