/* WRUF's paper-and-blue desk. Editorial text lives in QMD; data lives in desk.json. */
html body { padding-top: 0 !important; }
#quarto-header { position: sticky !important; top: 0; transform: none !important; z-index: 1030; }
#quarto-header .navbar-brand-container { display: none !important; }
#quarto-header .navbar { padding-top: 0; }
#quarto-header .navbar-collapse { border-top: 0; }
#quarto-header .navbar-container { min-height: 48px; }
.wruf-masthead { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 1.2rem max(1rem,calc((100vw - 1320px)/2)); background: var(--wruf-paper); color: var(--uf-dark-blue); border-bottom: 3px double var(--uf-dark-blue); }
.masthead-home { text-align: center; text-decoration: none; color: var(--uf-dark-blue); }
.masthead-home img { display: block; width: 171px; height: auto; margin: 0 auto .5rem; }
.masthead-home>span { display: block; text-transform: uppercase; letter-spacing: .2em; font: 700 .8rem/1.3 Arial,sans-serif; }
.masthead-copy { display: grid; gap: .35rem; font: .8rem/1.5 Arial,sans-serif; }
.masthead-copy strong { font: 700 1rem/1.35 Georgia,serif; }
.masthead-copy--right { text-align: right; }
.desk-page { color: var(--uf-dark-blue); font: 1rem/1.6 Arial,sans-serif; }
.desk-page h1,.desk-page h2,.desk-page h3 { font-family: Georgia,serif; color: var(--uf-dark-blue); border: 0; padding: 0; line-height: 1.15; }
.desk-page h1 { font-size: clamp(2.4rem,4.5vw,4rem); margin: .5rem 0 1rem; }
.desk-page h2 { font-size: clamp(1.6rem,2.4vw,2.1rem); margin-top: 0; }
.desk-page h3 { font-size: 1.25rem; margin-top: 0; }
.desk-page [hidden] { display: none !important; }
.desk-page p { margin-bottom: 1rem; }
.desk-deck { max-width: 75ch; font-size: 1.05rem; }
.desk-nav { margin: 1rem 0; }
.desk-nav--secondary,.lb-page .lb-views { border-top: 0; border-bottom: 1px solid var(--wruf-rule); background: transparent; padding: 0 0 .6rem; margin: -.4rem 0 1.5rem; gap: .45rem; }
.desk-nav--secondary::before { content: "Game Prep /"; font: 700 .72rem/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .06em; padding: .4rem .6rem .4rem 0; color: #52647a; }
.lb-page .lb-views::before { content: "Leaderboards /"; }
.desk-nav--secondary a { font-size: .92rem; min-height: 42px; }
.desk-nav a[aria-current=location] { background: var(--uf-blue); color: white; }
.desk-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: end; margin: 1.2rem 0; }
.desk-toolbar label { display: grid; gap: .3rem; font-size: .8rem; font-weight: 700; }
.desk-toolbar select { min-height: 42px; min-width: min(280px,100%); max-width: 100%; padding: .5rem .65rem; color: var(--uf-dark-blue); background: linear-gradient(white,#e1e7f0); border: 1px solid #aab7cd; border-radius: 3px; }
.desk-status { font: .8rem/1.5 Arial,sans-serif; color: #52647a; margin: 0; }
.desk-hero { padding: clamp(1.2rem,3vw,2.2rem); background: var(--uf-dark-blue); color: white; border-top: 5px solid var(--uf-orange); margin: 1.5rem 0; }
.desk-hero h2,.desk-hero h3,.desk-hero .editorial-kicker { color: white; }
.desk-hero p:last-child { margin-bottom: 0; }
.team-versus { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 1rem; align-items: center; }
.team-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.team-identity h2 { font-size: clamp(1.4rem,2.5vw,2.4rem); margin: 0 0 .3rem; }
.team-identity p { margin: 0; font-size: .85rem; }
.team-identity--away { flex-direction: row-reverse; text-align: right; }
.team-mark { flex: 0 0 auto; width: 70px; min-height: 70px; display: grid; place-items: center; background: white; border: 1px solid #bac6d8; padding: 6px; color: var(--uf-blue); font: 700 .85rem/1 Arial,sans-serif; }
.team-mark img { width: 100%; height: auto; max-height: 70px; object-fit: contain; }
.team-mark.has-logo>span { display: none; }
.team-versus .versus { font: italic 1.1rem Georgia,serif; opacity: .75; }
.game-meta { display: flex; justify-content: center; gap: .5rem 1.3rem; flex-wrap: wrap; padding-top: 1.1rem; margin-top: 1.2rem; border-top: 1px solid #ffffff44; font-size: .82rem; }
.desk-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 1.5rem; align-items: start; margin-block: 1.5rem; }
.desk-grid--equal { grid-template-columns: repeat(2,minmax(0,1fr)); }
.desk-grid>* { min-width: 0; }
.desk-card { background: white; border: 1px solid var(--wruf-rule); border-top: 3px solid var(--uf-blue); padding: 1.2rem; }
.desk-card+.desk-card { margin-top: 1.2rem; }
.desk-grid>.desk-card { margin: 0; }
.desk-card p:last-child { margin-bottom: 0; }
.desk-section { border-top: 3px solid var(--uf-blue); margin: 2rem 0; padding-top: 1.2rem; }
.desk-scroll { max-width: 100%; overflow-x: auto; }
.desk-table { width: 100%; border-collapse: collapse; color: var(--uf-dark-blue); font: .85rem/1.5 Arial,sans-serif; }
.desk-table caption { caption-side: top; text-align: left; padding: .2rem 0 .8rem; color: #52647a; font-size: .8rem; }
.desk-table th,.desk-table td { padding: .65rem .75rem; border-bottom: 1px solid #ccd6e3; vertical-align: middle; text-align: left; }
.desk-table thead th { background: var(--uf-blue); color: white; }
.desk-table tbody th { font-weight: 600; }
.desk-table tbody tr:nth-child(even) { background: #f0f3f9; }
.desk-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.desk-compare { table-layout: fixed; }
.desk-compare thead th:first-child { width: 44%; }
.desk-compare :is(th,td):not(:first-child) { text-align: center; font-variant-numeric: tabular-nums; }
.desk-compare thead .team-mark { width: 32px; min-height: 32px; padding: 3px; margin: 0 auto .45rem; }
.desk-compare thead .team-mark img { max-height: 32px; }
.desk-empty { color: #52647a; padding: 1.2rem !important; font-size: .85rem; font-style: italic; }
.desk-note { color: #52647a; font: .78rem/1.55 Arial,sans-serif; margin-top: .8rem; }
.weather-hero { background: #eaf0fa; border: 1px solid #bac8db; border-top: 5px solid var(--uf-orange); padding: 1.6rem; }
.weather-hero h2 { max-width: 28ch; }
.weather-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding-block: .8rem; }
.weather-grid strong { font: 700 1.7rem/1.3 Georgia,serif; display: block; }
.weather-grid span { font: .8rem/1.5 Arial,sans-serif; }
.focus-games { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.focus-game { padding: 1.1rem; background: white; border: 1px solid var(--wruf-rule); border-top: 3px solid var(--uf-orange); }
.focus-game h3 { margin-block: .5rem; }
.focus-game a { display: inline-block; margin-top: .6rem; font-weight: 700; }
.focus-game .team-mark { width: 40px; min-height: 40px; }
.desk-table td>.team-mark { display: inline-grid; width: 27px; min-height: 27px; padding: 2px; margin-right: .5rem; vertical-align: middle; }
.desk-table td>.team-mark img { max-height: 27px; }
.focus-logos { display: flex; gap: .5rem; margin-bottom: .7rem; }
.desk-callout { border-left: 4px solid var(--uf-orange); padding: .8rem 1.1rem; background: #edf2fa; margin: 1.5rem 0; }
.editorial-latest .editorial-read-more { margin-top: 1.25rem !important; margin-bottom: 0; }
.editorial-latest .editorial-tags { gap: .4rem; }
.home .game-brief { display: grid; grid-template-columns: minmax(180px,.9fr) minmax(0,1.1fr); align-items: start; gap: 1.2rem; padding-top: 1rem; border-top: 4px solid var(--uf-orange); }
.home .game-brief>.eyebrow { grid-column: 1/-1; margin-bottom: 0; }
.home .game-brief .edition-photo { margin: 0; }
.home .game-brief .edition-copy { margin: 0; padding: 0; }
.home .game-brief .edition-copy>p { font: 700 1.3rem/1.3 Georgia,serif; }
.home .game-brief h2:empty { display: none; }
.home .lead-grid { grid-template-columns: minmax(0,2.2fr) minmax(240px,1fr); }
.home .home-section { margin-top: 1.6rem; padding-top: 1.2rem; }
.home .edition-feature { margin-top: 1.5rem; }
.home .profile-column { background: transparent; }
.home .desk-card { margin-bottom: 1rem; }
.home .desk-card h3 { font-size: 1.3rem; }
.home .two-columns>.desk-card { margin-top: 0; padding: 1.1rem; border: 1px solid var(--wruf-rule); border-top: 3px solid var(--uf-blue); }
.home .editorial-workbench { margin-block: 1.5rem; }
.home .editorial-module--half { grid-column: span 6; }
.home .editorial-module--full { grid-column: span 6; }
.home .editorial-latest h3 { font-size: 1.5rem; }
.home .editorial-latest { padding: 1rem; }
.home .editorial-module h3 { font-size: 1.2rem; }
.game-review .review-statline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 1.2rem 0; border-block: 1px solid #ffffff44; margin-top: 1.2rem; }
.review-statline strong { display: block; font: 700 1.8rem Georgia,serif; }
.review-statline span { font-size: .8rem; }
.mailbag-question { padding: 1.5rem; background: white; border: 1px solid var(--wruf-rule); border-top: 5px solid var(--uf-orange); }
.mailbag-question blockquote { font: 700 1.5rem/1.4 Georgia,serif; color: var(--uf-dark-blue); border: 0; padding: 0; }
.mailbag-edition { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .8rem 0; border-bottom: 1px solid var(--wruf-rule); }
.desk-page :is(a,button,select,[tabindex]):focus-visible { outline: 3px solid var(--uf-orange); outline-offset: 3px; }
[aria-disabled=true] { color: #52647a; cursor: default; text-decoration: none; }
/* Gameday keeps its existing cards, tables and simulation; tighten the surrounding shell. */
.gameday { max-width: 100% !important; }
.gameday .tabs { gap: .3rem; border-bottom: 2px solid #b8c6d8; padding-bottom: .6rem; }
.gameday .tabs button { min-height: 44px; }
.gameday .demo-banner { font-size: .8rem; }
.gameday .gameday-desk-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; border-bottom: 1px solid #b9c5d4; padding: .5rem 0 1rem; margin-bottom: .75rem; }
.gameday .gameday-desk-heading p:last-child { margin: 0; }
.gameday .florida-game-picker label { min-width: 0; max-width: 100%; display: grid; gap: .3rem; }
.gameday .florida-game-picker select { max-width: 100%; width: 100%; }
.gameday .demo-tools { border: 1px solid #b9c5d4; border-radius: 4px; padding: .5rem .75rem; margin: 1rem 0; background: #ffffff99; }
.gameday .demo-tools summary { cursor: pointer; font-size: .8rem; }
.gameday .tabs { align-items: stretch; }
.gameday .tabs button { flex: 0 1 auto; }
@media(max-width:991px) {
  #quarto-header .navbar-container { justify-content: flex-end; }
  #quarto-header .navbar-collapse { flex-basis: 100%; }
  .wruf-masthead { gap: 1rem; padding-inline: 1rem; }
  .masthead-copy { font-size: .7rem; }
  .masthead-copy strong { font-size: .85rem; }
  .home .lead-grid { grid-template-columns: 1fr; }
  .home .profile-column { border-left: 0; padding-left: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
  .home .profile-column>h2 { grid-column: 1/-1; }
  .home .profile-column .desk-card { margin: 0; }
  .home .editorial-module--half,.home .editorial-module--full { grid-column: span 6; }
}
@media(max-width:700px) {
  .desk-grid,.desk-grid--equal,.focus-games { grid-template-columns: 1fr; }
  .team-mark { width: 45px; min-height: 45px; padding: 4px; }
  .team-identity { flex-direction: column; align-items: flex-start; gap: .65rem; }
  .team-identity--away { align-items: flex-end; }
  .team-identity p { font-size: .75rem; }
  .weather-grid,.game-review .review-statline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .desk-table th,.desk-table td { padding: .6rem .45rem; }
  .desk-nav--secondary::before { flex-basis: 100%; }
  .masthead-home img { width: 133px; }
  .masthead-copy { max-width: 14ch; }
  .masthead-copy--right { justify-self: end; }
  .masthead-copy strong { font-size: .72rem; }
  .masthead-copy>span { display: none; }
  .wruf-masthead { gap: .6rem; padding-block: .9rem; }
  .masthead-home>span { font-size: .63rem; letter-spacing: .12em; }
  .home .game-brief,.home .profile-column { grid-template-columns: 1fr; }
  .home .game-brief .edition-photo { max-width: 28rem; }
  .home .editorial-module--half,.home .editorial-module--full { grid-column: 1/-1; }
}

/* Data-connected football modules. */
.desk-player-image,.desk-team-image{display:inline-block;width:34px;height:34px;object-fit:contain;vertical-align:middle;margin-right:.55rem;background:#fff}
.desk-player-image{border-radius:50%}
.desk-table tr.is-highlighted>*{background:#e8f5e9!important;font-weight:700;border-block:2px solid #168650}
.desk-control-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:.75rem;align-items:end;margin:1rem 0;padding:1rem;background:#eef2f7;border:1px solid #bdcadb}
.desk-control-grid label{display:grid;gap:.3rem;font-weight:700;font-size:.85rem}
.desk-control-grid select{width:100%;min-height:44px;padding:.55rem;border:1px solid #aebed3;background:#fff;color:#002657}
.desk-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.hourly-weather{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.hourly-weather article{padding:.9rem;border:1px solid #bdcadb;background:#fff}
.hourly-weather strong{display:block;font-size:1.25rem;color:#002657}
.hourly-weather article>span{display:block;line-height:1.45;margin-top:.25rem}
.completed-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.completed-game-grid article{border:1px solid #bdcadb;border-top:3px solid #fa4616;background:#fff;padding:1rem}
.profile-connected{display:flex;align-items:center;gap:.75rem}
.profile-connected img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:50%}
@media(max-width:980px){.desk-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-three-grid,.completed-game-grid{grid-template-columns:1fr}}
@media(max-width:560px){.desk-control-grid{grid-template-columns:1fr}}
