.leagueroost-connected .visitor-ribbon-stage,
.leagueroost-connected .visitor-advance-rail { display: none !important; }
body.leagueroost-connected .shell { max-width: 760px; }
.leagueroost-connected [id^="lr"][hidden] { display: none !important; }
.lr-current { margin: 5px 0 25px; }
.lr-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.lr-heading h2 { margin: 6px 0 0; color: #f8edd2; font-size: clamp(27px, 6.5vw, 36px); line-height: 1.1; letter-spacing: -.035em; }
.lr-heading p { margin: 0; }
.lr-season-mark { color: #d6ad6136; font-family: var(--visitor-display); font-size: 36px; letter-spacing: -.04em; }
.lr-status { margin: 9px 0 13px; color: #afb4a9; font-size: 11px; line-height: 1.5; }
.lr-advance { margin: 0; padding: 11px 0 12px; border-block: 1px solid #d6ad612b; color: #d9cba9; font-size: 12px; line-height: 1.5; }
.lr-open { display: inline-block; min-height: 44px; padding: 12px 0; font-size: 13px; color: #f0d08b; font-weight: 800; }
.lr-section-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 13px; }
.lr-section-head h2 { margin: 0; color: #f7edda; font-size: 22px; font-weight: 850; letter-spacing: -.035em; }
.lr-section-head .section-kicker { margin: 0 0 5px; font-size: 9px; }
.lr-rewind { margin-bottom: 20px; }
.lr-rewind .lr-section-head { margin-bottom: 9px; gap: 8px; }
.lr-rewind .lr-section-head h2 { font-size: 18px; }
.lr-rewind-nav { display: flex; gap: 5px; }
.lr-rewind-nav button { width: 44px; height: 44px; border: 1px solid #d6ad6138; border-radius: 50%; background: transparent; color: #ebd3a1; font-size: 19px; cursor: pointer; }
.lr-rewind-nav button:disabled { opacity: .28; cursor: default; }
.lr-rewind-track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 15px; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -15px; padding: 0 15px 5px; }
.lr-rewind-track::-webkit-scrollbar { display: none; }
.lr-rewind-card { position: relative; display: flex; flex-direction: column; flex: 0 0 86%; min-width: 0; padding: 15px 16px; border: 1px solid #d6ad6145; border-radius: 14px; background: linear-gradient(150deg, #201b12, #13110d); scroll-snap-align: start; }
.lr-final-label { margin: 0 0 9px; color: #d6ad61; font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.lr-rewind-card h3 { margin: 0 0 8px; color: #fff3d3; font-size: 18px; line-height: 1.15; letter-spacing: -.025em; overflow-wrap: anywhere; }
.lr-rewind-copy { margin: 0; color: #cdc9be; font-size: 13px; line-height: 1.45; }
.lr-rewind .lr-story-link { margin-top: 3px; }
.lr-rewind > .lr-status { margin-block: 5px 0; }
.lr-rewind-card .lr-game-teams { margin-top: auto; gap: 9px; }
.lr-rewind-card .lr-team { font-size: 13px; }
.lr-rewind-card .lr-score { font-size: 30px; }
.lr-story-link { align-self: flex-start; min-height: 44px; margin-top: 13px; padding: 9px 0 0; border: 0; background: none; color: #d5c6a2; font-size: 11px; cursor: pointer; }
.lr-game-center { scroll-margin-top: 150px; }
.lr-section-head select { max-width: 55%; min-height: 44px; padding: 8px 12px; border: 1px solid #d6ad6145; border-radius: 10px; color: #efdfb9; background: #19160f; font: inherit; font-size: 14px; cursor: pointer; }
.lr-game-tabs { display: flex; gap: 22px; border-bottom: 1px solid #ffffff16; margin: 0 0 14px; }
.lr-game-tabs button { min-height: 44px; padding: 0 0 11px; border: 0; border-bottom: 2px solid transparent; background: none; color: #a9aaa1; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.lr-game-tabs button[aria-pressed="true"] { color: #e7c788; border-bottom-color: #d6ad61; }
.lr-game-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.lr-match-card { overflow: hidden; border: 1px solid #ffffff1c; border-radius: 16px; background: #100e0a; transition: border-color 160ms ease; }
.lr-match-face { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); align-items: stretch; }
.lr-match-team { appearance: none; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 6px; min-width: 0; min-height: 106px; padding: 16px 12px; border: 0; background: linear-gradient(165deg, color-mix(in srgb, var(--school-color) 50%, #100e0a), color-mix(in srgb, var(--school-color) 20%, #100e0a)); color: #fff6e4; text-align: left; cursor: pointer; transition: box-shadow 160ms ease; }
.lr-match-second { align-items: flex-end; text-align: right; }
.lr-match-abbr { font-family: var(--visitor-display); font-size: 28px; font-weight: 400; line-height: 1.05; letter-spacing: .02em; overflow-wrap: anywhere; max-width: 100%; }
.lr-match-name { color: #fff6e4; font-size: 12px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; max-width: 100%; }
.lr-match-person { font-family: var(--visitor-display); font-size: clamp(18px, 5.4vw, 25px); line-height: 1.1; text-transform: uppercase; overflow-wrap: anywhere; max-width: 100%; }
.lr-match-wordmark { font-family: var(--visitor-display); font-size: clamp(16px, 4.8vw, 20px); line-height: 1.15; letter-spacing: .015em; text-transform: uppercase; overflow-wrap: anywhere; text-wrap: balance; max-width: 100%; }
.lr-game-hint { margin: -4px 0 12px; color: #b5ae9d; font-size: 11px; line-height: 1.4; }
.lr-match-score { margin-top: 3px; color: #f5ede0; font-size: 27px; line-height: 1; font-variant-numeric: tabular-nums; }
.lr-match-winner .lr-match-score { color: #f8d890; }
.lr-match-versus { align-self: center; justify-self: center; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #dbc185; border-radius: 50%; background: linear-gradient(140deg, #efdcaa, #bd903d); color: #21190c; font-size: 10px; font-weight: 900; }
.lr-match-ticket { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 33px; padding: 8px 12px; border-top: 1px solid #ffffff0e; font-size: 10px; }
.lr-match-status { color: #e4c98e; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lr-match-location { color: #b5ae9d; }
.lr-match-card.lr-match-selected { border-color: #e9c87f; }
.lr-match-team[aria-pressed="true"] { background: linear-gradient(160deg, color-mix(in srgb, var(--school-color) 60%, #100e0a), color-mix(in srgb, var(--school-color) 35%, #100e0a)); box-shadow: inset 0 -3px #eed296; }
.leagueroost-connected .lr-game-center .lr-match-card .lr-match-team:focus-visible { outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) { .lr-match-card, .lr-match-team { transition: none; } }
.lr-game { padding: 14px 14px 15px; border: 1px solid #ffffff12; border-radius: 13px; background: #14140f; }
.lr-game-state { margin-bottom: 8px; font-size: 11px; color: #ddc183; }
.lr-game-teams { display: grid; gap: 9px; }
.lr-team { display: grid; grid-template-columns: 13px minmax(0, 1fr) auto; align-items: baseline; gap: 8px; min-width: 0; font-size: 14px; font-weight: 800; color: #e6e6de; }
.lr-team-name { overflow-wrap: anywhere; }
.lr-venue { font-size: 10px; font-weight: 500; color: #a1a996; }
.lr-score { min-width: 2ch; text-align: right; font-size: 23px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.lr-winner .lr-score { color: #efd297; }
.lr-game-note { margin: 14px 0 0; color: #a9aa9c; font-size: 11px; }
.lr-empty { padding: 18px 0; color: #b8bba9; font-size: 13px; }
.lr-archive-heading { margin: 7px 0 28px; }
.lr-archive-heading h2 { margin: 6px 0 8px; font-size: 36px; color: #f8edd2; letter-spacing: -.04em; }
.lr-archive-heading > p:last-child { color: #b8b3a4; font-size: 13px; }
.lr-season { margin: 0 0 14px; border: 1px solid #d6ad6142; border-radius: 17px; background: linear-gradient(130deg, #211c13, #14110d); overflow: hidden; }
.lr-season > summary { display: flex; align-items: center; gap: 18px; min-height: 95px; padding: 20px; cursor: pointer; }
.lr-season > summary strong { color: #edcc86; font-family: var(--visitor-display); font-size: 34px; font-weight: 400; letter-spacing: .04em; }
.lr-season > summary > span { color: #c1b9a7; font-size: 12px; }
.lr-season > summary::after { margin-left: auto; color: #d6ad61; }
.lr-season-body { padding: 0 18px 20px; background: #100e0a; }
.lr-archive-note { font-size: 12px; line-height: 1.6; color: #b8bba9; }
.lr-archive-note a { color: #edce85; }
.lr-archive-week { padding-top: 12px; }
.lr-archive-week h3 { color: #e4ce9d; font-size: 15px; }
.lr-legacy-season { margin-top: 30px; border-top: 1px solid #d6ad6133; padding-top: 20px; }
.lr-legacy-season .visitor-social-banner, .lr-legacy-season #gameWeekKicker { display: none; }
.lr-legacy-season .rewind { margin-top: 12px; }
.leagueroost-connected :is(.lr-current,.lr-rewind,.lr-game-center,.lr-archive-page) :is(a,button,select,summary,[tabindex]):focus-visible { outline: 3px solid #f4d787; outline-offset: 4px; }
@media (min-width: 600px) {
  body.leagueroost-connected .shell { padding-inline: 28px; }
  body.leagueroost-connected .top { margin-inline: -28px; padding-inline: 28px; }
  .lr-current { margin-top: 12px; }
  .lr-rewind-card { flex-basis: calc((100% - 44px) / 2); }
  .lr-game-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lr-game-center { scroll-margin-top: 160px; }
}
@media (max-width: 370px) {
  .lr-rewind-card { padding-inline: 16px; }
  .lr-section-head h2 { font-size: 21px; }
  .lr-heading h2 { font-size: 27px; }
}
@media (min-width: 600px) and (max-width: 719px) { .lr-match-list { grid-template-columns: minmax(0, 1fr); } }
