
:root{--bg:#08080a;--panel:#111114;--line:#2b2b31;--ink:#f6f6f7;--muted:#93959d;--red:#e4002b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 28px));margin:auto}.topbar{padding:8px 12px;text-align:center;border-bottom:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#7f8189}header{position:sticky;top:0;z-index:20;background:rgba(8,8,10,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:70px;display:flex;align-items:center;gap:22px}.brand{font-weight:1000;font-size:24px;letter-spacing:-.04em}.brand b{color:var(--red)}.links{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:11px;font-weight:900;text-transform:uppercase}.links a.active{color:#ff5e78}.pagehero{padding:52px 0 34px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--team) 30%,transparent),transparent 34%)}.eyebrow{font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase;color:var(--team)}.pagehero h1{font-size:clamp(48px,8vw,94px);line-height:.88;margin:12px 0 16px;letter-spacing:-.06em;text-transform:uppercase;font-style:italic}.pagehero p{color:#9b9da5;max-width:720px;line-height:1.65;margin:0}.conf-section{padding:44px 0}.conf-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px}.conf-head h2{margin:0;font-size:30px;text-transform:uppercase;font-style:italic}.conf-head span{font-size:10px;color:#777982;font-weight:900;text-transform:uppercase}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.team-card{border:1px solid var(--line);background:#101013;padding:18px;min-height:250px;display:flex;flex-direction:column;transition:.17s ease}.team-card:hover{transform:translateY(-2px);border-color:#4a4a52}.team-logo{width:76px;height:76px;object-fit:contain;background:#050608;border:1px solid #23242a}.team-card h3{margin:22px 0 4px;font-size:20px}.team-card .abbr{font-size:9px;color:#6f7179;letter-spacing:.12em;font-weight:900}.coach{margin-top:auto;padding-top:22px;border-top:1px solid #24252a}.coach small{display:block;color:#6e7078;font-size:9px;font-weight:900;letter-spacing:.12em}.coach b{display:block;margin-top:5px;font-size:13px}.accent{height:3px;margin:-18px -18px 16px;background:var(--team)}.team-hero{padding:44px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.team-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,color-mix(in srgb,var(--team) 32%,transparent),transparent 34%);pointer-events:none}.team-hero-grid{position:relative;display:grid;grid-template-columns:1fr 220px;gap:28px;align-items:center}.team-hero h1{font-size:clamp(52px,8vw,96px);line-height:.88;margin:10px 0 18px;text-transform:uppercase;letter-spacing:-.06em;font-style:italic}.team-hero p{color:#9a9ca4}.big-logo{width:200px;height:200px;object-fit:contain;background:#050608;border:1px solid #2a2b30;padding:12px}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}.meta{border:1px solid #2a2b30;background:#0f0f12;padding:14px}.meta small{display:block;color:#74767e;font-size:9px;font-weight:900;letter-spacing:.12em}.meta strong{display:block;margin-top:5px;font-size:14px}.content{padding:30px 0 70px}.content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.panel{border:1px solid var(--line);background:var(--panel);padding:20px}.panel h2{margin:0 0 14px;font-size:22px}.placeholder{min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;padding:35px;border:1px dashed #34353c;color:#7f818a;line-height:1.6}.roster-list{display:grid;gap:8px}.player-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:12px;border:1px solid #26272c;background:#0c0c0f;align-items:center}.player-row b{font-size:13px}.player-row span{font-size:10px;color:#858791}.badge{padding:4px 7px;background:#17171b;border:1px solid #303139;font-size:9px;font-weight:900}.back{display:inline-block;margin-bottom:20px;color:#a7a9b0;font-size:11px;font-weight:900;text-transform:uppercase}footer{border-top:1px solid var(--line);padding:25px 0;color:#74767e;font-size:10px}@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}.team-hero-grid,.content-grid{grid-template-columns:1fr}.big-logo{width:150px;height:150px}.meta-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.team-grid{grid-template-columns:1fr}.pagehero h1,.team-hero h1{font-size:52px}.meta-grid{grid-template-columns:1fr 1fr}}

.stats-table-wrap{overflow-x:auto;border:1px solid #26272c}
.stats-table{width:100%;border-collapse:collapse;min-width:760px}
.stats-table th,.stats-table td{padding:11px 10px;border-bottom:1px solid #25262b;text-align:right;font-size:11px}
.stats-table th{color:#777a83;font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#0b0b0e;position:sticky;top:0}
.stats-table th:first-child,.stats-table td:first-child{text-align:left;position:sticky;left:0;background:#0f0f12}
.stats-table tr:last-child td{border-bottom:0}
.stats-table a{font-weight:900}
.stats-table .mutedcell{color:#777982}
.test-flag{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #403036;background:#170b0f;color:#d8afb9;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

html,body{max-width:100%;overflow-x:hidden}
.content-grid>*{min-width:0}
.panel{min-width:0;max-width:100%}
.stats-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.mobile-roster{display:none}
.mobile-player-card{border:1px solid #28292f;background:#0c0c0f;padding:14px}
.mobile-player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobile-player-top a{font-size:14px;font-weight:900}
.mobile-player-top span{font-size:10px;color:#8b8d95}
.mobile-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.mobile-stat{border-top:1px solid #25262c;padding-top:8px}
.mobile-stat small{display:block;color:#6f7179;font-size:8px;font-weight:900;letter-spacing:.08em}
.mobile-stat b{display:block;margin-top:3px;font-size:12px}
.team-hero p{max-width:680px}
@media(max-width:700px){
  .stats-table-wrap.desktop-roster{display:none}
  .mobile-roster{display:grid;gap:8px}
  .content{padding-top:18px}
  .panel{padding:14px}
  .team-hero{padding:28px 0 24px}
  .team-hero-grid{gap:18px}
  .big-logo{width:112px;height:112px;padding:8px}
  .team-hero h1{font-size:46px}
  .meta-grid{gap:7px}
  .meta{padding:11px}
  .mobile-stat-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:390px){
  .mobile-stat-grid{grid-template-columns:repeat(3,1fr)}
}

.team-logo,.big-logo,.team-chip img,.team-chip-home img{
  object-fit:contain!important;
  object-position:center!important;
}
.team-logo,.big-logo{
  background:transparent!important;
}

/* V12 repaired + polished logo system */
.team-strip,.team-rail{gap:8px!important;align-items:center}
.team-chip,.team-chip-home{position:relative;width:46px!important;height:46px!important;min-width:46px!important;flex:0 0 46px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid #27282e!important;background:#0e0f12!important;overflow:hidden!important;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important}
.team-chip::before,.team-chip-home::before{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.035);pointer-events:none}
.team-chip:hover,.team-chip-home:hover{transform:translateY(-2px);border-color:#555862!important;background:#15161a!important;box-shadow:0 8px 18px rgba(0,0,0,.26)}
.team-chip:focus-visible,.team-chip-home:focus-visible{outline:2px solid #fff;outline-offset:2px}
.team-chip img,.team-chip-home img{display:block!important;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important;object-position:center!important;margin:0!important;filter:none!important;transform:none!important;background:transparent!important}
.team-chip span,.team-chip-home span{display:none!important}
.team-card .team-logo{width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important;padding:0!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important}
.big-logo{width:190px!important;height:190px!important;padding:0!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:700px){.team-strip,.team-rail{gap:7px!important;padding-top:7px!important;padding-bottom:7px!important}.team-chip,.team-chip-home{width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important}.team-chip img,.team-chip-home img{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important}.team-card .team-logo{width:76px!important;height:76px!important;max-width:76px!important;max-height:76px!important;padding:0!important;background:transparent!important;border:0!important}.big-logo{width:118px!important;height:118px!important;padding:0!important;background:transparent!important;border:0!important}}

/* V13 graphics fix */
.brand-logo{display:flex!important;align-items:center!important}
.brand-logo img{display:block;width:auto;height:46px;object-fit:contain}
@media(max-width:700px){.brand-logo img{height:42px}}

/* Iowa and Oregon logo cutouts: no boxed image containers. */
.team-card .team-logo,.team-hero .big-logo,.teamcell img{background:transparent!important;border:0!important;box-shadow:none!important}


/* Season 16 team-art pilot: Creighton + Providence */
.team-art-hero{
  background-image:
    linear-gradient(90deg,rgba(5,6,9,.96) 0%,rgba(5,6,9,.88) 38%,rgba(5,6,9,.50) 70%,rgba(5,6,9,.26) 100%),
    linear-gradient(0deg,rgba(5,6,9,.44),rgba(5,6,9,.18)),
    var(--team-hero-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:520px;
  display:flex;
  align-items:center;
}
.team-art-hero:before{
  background:linear-gradient(90deg,color-mix(in srgb,var(--team) 17%,transparent),transparent 58%);
}
.team-art-hero .team-hero-grid{
  grid-template-columns:minmax(0,760px) 1fr;
  width:min(1180px,calc(100% - 28px));
}
.team-art-hero .meta{
  background:rgba(10,10,13,.76);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.team-art-hero h1,
.team-art-hero p,
.team-art-hero .back,
.team-art-hero .eyebrow{
  text-shadow:0 2px 14px rgba(0,0,0,.85);
}
@media(max-width:900px){
  .team-art-hero{
    min-height:700px;
    align-items:flex-start;
    padding-top:28px;
    background-image:
      linear-gradient(180deg,rgba(5,6,9,.94) 0%,rgba(5,6,9,.82) 48%,rgba(5,6,9,.30) 72%,rgba(5,6,9,.12) 100%),
      var(--team-hero-image);
    background-position:center bottom;
    background-size:auto 100%;
  }
  .team-art-hero .team-hero-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .team-art-hero{
    min-height:680px;
    background-size:auto 68%;
    background-position:center bottom;
    background-color:#08080a;
  }
  .team-art-hero .meta-grid{margin-bottom:250px}
}


/* V27 pilot polish — keep Creighton/Providence artwork cinematic on desktop,
   but mobile uses a clean banner below the team info instead of a huge crop. */
.team-art-mobile-banner{display:none}
@media(max-width:700px){
  .team-art-hero{
    min-height:0!important;
    display:block!important;
    padding:28px 0 0!important;
    background-image:
      radial-gradient(circle at 15% 25%,color-mix(in srgb,var(--team) 16%,transparent),transparent 48%),
      linear-gradient(180deg,#08080a 0%,#08080a 100%)!important;
    background-size:auto!important;
    background-position:center!important;
  }
  .team-art-hero:before{display:none!important}
  .team-art-hero .team-hero-grid{
    width:min(1180px,calc(100% - 28px))!important;
    margin:0 auto!important;
    padding-bottom:24px!important;
  }
  .team-art-hero .meta-grid{margin-bottom:0!important}
  .team-art-mobile-banner{
    display:block;
    width:100%;
    aspect-ratio:1600/570;
    min-height:132px;
    max-height:230px;
    background-image:var(--team-hero-image);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    border-top:1px solid #25262b;
    box-shadow:inset 0 18px 26px rgba(0,0,0,.22),inset 0 -18px 26px rgba(0,0,0,.18);
  }
  .team-art-hero h1{font-size:clamp(42px,12vw,58px)!important;line-height:.9!important}
  .team-art-hero p{font-size:16px;line-height:1.45;margin-bottom:0}
}
@media(max-width:390px){
  .team-art-mobile-banner{min-height:118px}
}


/* V28 Creighton + Providence pilot: poster artwork replaces the giant typed team name. */
.team-art-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.team-art-title-replaced{
  min-height:0!important;
  display:block!important;
  padding:38px 0 42px!important;
  background-image:
    radial-gradient(circle at 12% 15%,color-mix(in srgb,var(--team) 20%,transparent),transparent 42%),
    linear-gradient(180deg,#08080a 0%,#0a0a0d 100%)!important;
  background-size:auto!important;
  background-position:center!important;
}
.team-art-title-replaced:before{display:none!important}
.team-art-title-replaced .team-hero-grid{
  display:block!important;
  width:min(1180px,calc(100% - 28px))!important;
  margin:0 auto!important;
}
.team-art-title-replaced .team-art-title-banner{
  display:block;
  width:min(100%,980px);
  aspect-ratio:1600/570;
  margin:14px 0 22px;
  background-image:var(--team-hero-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border:1px solid color-mix(in srgb,var(--team) 44%,#303139);
  box-shadow:0 18px 48px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.04);
}
.team-art-title-replaced .team-art-mobile-banner{display:none!important}
.team-art-title-replaced p{
  margin:0 0 4px;
  max-width:780px;
}
.team-art-title-replaced .meta-grid{
  margin-top:22px!important;
  margin-bottom:0!important;
  max-width:980px;
}
.team-art-title-replaced .meta{
  background:rgba(15,15,18,.94)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:700px){
  .team-art-title-replaced{
    padding:24px 0 26px!important;
  }
  .team-art-title-replaced .team-hero-grid{
    width:min(100%,100%)!important;
    padding:0!important;
  }
  .team-art-title-replaced .back,
  .team-art-title-replaced .eyebrow,
  .team-art-title-replaced p,
  .team-art-title-replaced .meta-grid{
    margin-left:14px!important;
    margin-right:14px!important;
  }
  .team-art-title-replaced .back{margin-bottom:20px!important}
  .team-art-title-replaced .eyebrow{margin-bottom:12px!important}
  .team-art-title-replaced .team-art-title-banner{
    width:100vw!important;
    max-width:none!important;
    aspect-ratio:1600/570;
    margin:0 0 20px!important;
    border-left:0!important;
    border-right:0!important;
    background-size:cover!important;
    background-position:center center!important;
    box-shadow:0 14px 32px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.03);
  }
  .team-art-title-replaced p{
    font-size:15px!important;
    line-height:1.45!important;
    margin-bottom:0!important;
  }
  .team-art-title-replaced .meta-grid{
    margin-top:20px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
}
@media(max-width:390px){
  .team-art-title-replaced .team-art-title-banner{aspect-ratio:16/6.2}
}
/* Renamed in League Office: the painted title art has the old name, so the name shows as text */
.team-live-renamed h1{font-size:clamp(40px,7vw,84px);line-height:.92;letter-spacing:-.04em;text-transform:uppercase;font-style:italic;margin:8px 0 12px;color:#fff}

/* banner art uploaded in League Office > Teams */
.team-live-art .big-logo{display:none!important}
