/* UT Austin Field Guide: campus life (/ut/sports, /ut/sports/{sport}, /ut/events, /ut/library-hours, /ut/dining-hours).
   Loads after /system/fg-reports.css and reuses its frame (answer card, sections, closed rows).
   Ink and grays only, same sizes as the reports: 44 / 28 / 20 / 16 / 14 / 12. No inline styles (the site's CSP blocks them). */
main.fg-cl{--cl-date:64px}
.fg-cl .cl-sub{margin:-8px 0 16px;font-size:14px;color:var(--muted)}
.fg-cl .cl-h3{font-size:14px;font-weight:700;margin:20px 0 4px}
.fg-cl .rp-row-in .cl-h3:first-child{margin-top:0}
.fg-cl .rp-sec.cl-tight{padding-bottom:28px}
.fg-cl .rp-sec>p+p,.fg-cl .rp-sec>p+.cl-h3{margin-top:12px}
.fg-cl .rp-sec.cl-tight .rp-rows{border-top:1px solid var(--line)}

/* The answer card: next game */
.cl-answer .rl-badge{margin-bottom:12px}
.cl-card-h{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
.cl-answer .rp-big{margin-top:14px}
.cl-answer .rp-big span{font-size:14px;color:var(--muted);font-weight:500}

/* Games: one row each, date on the left, the matchup, then the score or the tickets link */
.cl-games{border-top:1px solid var(--line)}
.cl-games>li{display:grid;grid-template-columns:var(--cl-date) minmax(0,1fr) auto;gap:4px 16px;align-items:center;min-height:64px;padding:10px 0;border-bottom:1px solid var(--line)}
.cl-date{display:flex;flex-direction:column;font-weight:700;line-height:1.2;white-space:nowrap}
.cl-date small{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cl-what{min-width:0}
.cl-what>strong,.cl-what>a{font-weight:600}
.cl-what strong a,.cl-what>a{text-decoration:none}
.cl-what strong a:hover,.cl-what>a:hover{text-decoration:underline;text-underline-offset:3px}
.cl-what small{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
.cl-what small a{color:var(--muted)}
.cl-res{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap;text-align:right}
.cl-res.cl-place,.cl-res.cl-none{font-size:14px;font-weight:600;white-space:normal;max-width:180px;justify-content:flex-end}
.cl-res.cl-none{color:var(--muted);font-weight:500}
.cl-wl{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:12px;font-weight:800}
.cl-wl.cl-w{background:var(--ink);color:#fff}
.cl-wl.cl-l{border:1px solid var(--ink-2);color:var(--ink)}
.cl-wl.cl-t{background:var(--well);color:var(--ink)}
main.fg-cl a.cl-act{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
main.fg-cl a.cl-act:hover{border-color:var(--ink)}
.cl-act-none{display:block;width:0}
.cl-tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--well);font-size:12px;font-weight:700;color:var(--ink-2);vertical-align:2px;white-space:nowrap}

/* Teams and series lists reuse the ranked-list rows */
.rl-list.cl-teams li{grid-template-columns:minmax(0,1fr) auto}
.cl-teams b{font-size:16px}
.cl-series .rl-name a::after{content:none}
.cl-series li{min-height:56px}

/* Events by day */
.cl-day+.cl-day{margin-top:24px}
.cl-day h3{position:sticky;top:0;z-index:1;margin:0;padding:8px 0;background:#fff;font-size:16px;font-weight:700;border-bottom:1px solid var(--line)}
.cl-events>li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:4px 16px;align-items:baseline;min-height:56px;padding:10px 0;border-bottom:1px solid var(--line)}
.cl-time{font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.rp-row-in .cl-day:first-child h3{padding-top:0}

/* Hours: one block per library or dining hall */
.cl-hours{border-top:1px solid var(--line)}
.cl-hours>li{padding:14px 0;border-bottom:1px solid var(--line)}
.cl-hours h3{margin:0 0 6px;font-size:16px;font-weight:700}
.cl-hours h3 a{text-decoration:none}
.cl-hours h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.cl-space{display:grid;grid-template-columns:minmax(120px,30%) minmax(0,1fr);gap:4px 16px;padding:4px 0;font-size:14px}
.cl-space-name{font-weight:600;color:var(--ink-2)}
.cl-runs{display:flex;flex-wrap:wrap;gap:2px 16px;color:var(--ink-2)}
.cl-runs b{font-weight:700;color:var(--ink)}
.cl-dining>li{padding:10px 0}
.cl-changes li{grid-template-columns:minmax(0,1fr) auto}
.cl-changes b{white-space:nowrap}

@media (max-width:760px){
  main.fg-cl{--cl-date:52px}
  .cl-games>li{grid-template-columns:var(--cl-date) minmax(0,1fr);grid-template-areas:"d w" "d a";align-items:start;gap:6px 12px}
  .cl-games>li>.cl-date{grid-area:d;padding-top:2px}
  .cl-games>li>.cl-what{grid-area:w}
  .cl-games>li>:is(.cl-res,.cl-act){grid-area:a;justify-self:start;text-align:left}
  .cl-games>li>.cl-act-none{display:none}
  .cl-games>li.cl-r{grid-template-columns:var(--cl-date) minmax(0,1fr) auto;grid-template-areas:"d w a"}
  .cl-games>li.cl-r>.cl-res{justify-self:end;text-align:right;align-self:center}
  .cl-res.cl-place,.cl-res.cl-none{max-width:112px;justify-content:flex-end;text-align:right}
  .cl-events>li{grid-template-columns:72px minmax(0,1fr);gap:4px 12px}
  .cl-space{grid-template-columns:minmax(0,1fr)}
  .cl-changes li{grid-template-columns:minmax(0,1fr);gap:2px;padding:8px 0}
  .cl-changes b{white-space:normal}
}

/* Two-column fact lists whose values are longer than a count (phone numbers, ZIP codes with notes). */
.rp-counts.rp-plain.cl-wide li{grid-template-columns:minmax(0,1fr) auto}
.rp-counts.rp-plain.cl-wide b{white-space:nowrap}

/* /ut/campus-photos: one grid across the full page width, 2-up on phones and 4-up on wide screens; each photo opens full size. */
main.fg-cl[data-report="campus-photos"] .rp-main{grid-column:1/-1}
.cl-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
.cl-gallery figure{margin:0}
.cl-gallery figure>a{display:block;border-radius:12px;overflow:hidden;background:var(--well,#eee)}
.cl-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cl-gallery figcaption{margin-top:8px;font-size:14px;line-height:1.35}
.cl-gallery .cl-place{font-weight:600;color:var(--ink);text-decoration:none}
.cl-gallery .cl-place:hover{text-decoration:underline;text-underline-offset:3px}
.cl-gallery small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.cl-gallery small a{color:var(--muted)}
@media (min-width:1024px){.cl-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}}
