.game-log-view { padding-bottom: 0; }
.game-log-view .tabbar { display: none; }
.game-log-view .dashboard { padding: 16px 20px 22px; }
.game-log-view .site-footer { position: static; }

.game-log-page { display: grid; gap: 15px; max-width: 1600px; margin: 0 auto; }
.game-log-page .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.game-log-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.game-log-kicker { color: #a9d3fb; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.game-log-kicker i { margin-right: 6px; color: #f5bf70; }
.game-log-intro h2 { margin: 5px 0 3px; color: #f6fbff; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.1; letter-spacing: -.035em; }
.game-log-intro p { margin: 0; color: #c3d2dd; font-size: 12px; }
.game-log-source { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 7px 10px; border: 1px solid #457f78; border-radius: 99px; background: #23534b; color: #c8f1e6; font-size: 10px; font-weight: 750; }
.game-log-source.is-sample { border-color: #907246; background: #594831; color: #ffe4af; }

.game-log-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.game-log-summary > div { position: relative; display: flex; flex-direction: column; min-height: 100px; padding: 13px 15px; overflow: hidden; border: 1px solid #5c6c78; border-radius: 10px; background: linear-gradient(145deg, #4b5a67, #3d4a56); }
.game-log-summary > div::after { position: absolute; top: 14px; right: 13px; width: 34px; height: 34px; border-radius: 50%; background: #ffffff0b; content: ""; }
.game-log-summary > div:nth-child(3) { border-color: #4d779d; background: linear-gradient(145deg, #42627d, #344e67); }
.game-log-summary > div:nth-child(4) { border-color: #81704f; background: linear-gradient(145deg, #615646, #4b4944); }
.game-log-summary span { color: #d1dfeb; font-size: 10px; font-weight: 700; letter-spacing: .025em; }
.game-log-summary span i { margin-right: 5px; color: #9dccff; }
.game-log-summary > div:nth-child(4) span i { color: #f4c170; }
.game-log-summary strong { margin-top: 7px; color: #f6fbff; font-size: 29px; font-weight: 800; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.game-log-summary strong em { font-size: 17px; font-style: normal; }
.game-log-summary small { margin-top: 5px; color: #bbcad6; font-size: 10px; }

.game-log-board { min-width: 0; overflow: hidden; border: 1px solid #637380; border-radius: 12px; background: linear-gradient(145deg, #46545f, #394752); box-shadow: 0 12px 30px #17212b33; }
.game-log-board-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 16px 17px 10px; }
.game-log-board-heading h3 { margin: 3px 0 0; color: #f8fbff; font-size: 19px; letter-spacing: -.025em; }
.game-log-board-heading h3 small { margin-left: 8px; color: #bbcedb; font-size: 11px; font-weight: 600; letter-spacing: 0; }
.game-log-board-note { color: #bdcfdb; font-size: 10px; }
.game-log-board-note i { margin-right: 5px; color: #8fbeeb; }
.game-log-tools { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 0 17px 13px; }
.game-log-tools label { display: flex; flex-direction: column; gap: 4px; color: #c5d6e2; font-size: 10px; font-weight: 700; }
.game-log-tools input, .game-log-tools select, .game-log-pagination select { height: 34px; border: 1px solid #7a8995; border-radius: 6px; background: #34434f; color: #f1f7fb; outline: none; font-size: 11px; }
.game-log-tools input:focus, .game-log-tools select:focus, .game-log-pagination select:focus { border-color: #a7d3ff; box-shadow: 0 0 0 2px #81bfff33; }
.game-log-tools select { min-width: 130px; padding: 0 24px 0 9px; }
.game-log-tools label:last-child select { min-width: 160px; }
.game-log-search { position: relative; flex: 1 1 245px; max-width: 340px; }
.game-log-search i { position: absolute; bottom: 10px; left: 10px; color: #adc5d8; font-size: 12px; }
.game-log-search input { width: 100%; padding: 0 11px 0 31px; }
.game-log-search input::placeholder { color: #afc1d0; }
.game-log-scroll-hint { display: none; margin: 0; padding: 0 17px 9px; color: #bcd0df; font-size: 10px; }
.game-log-scroll-hint i { margin-right: 5px; color: #a7d3ff; }
.game-log-table-scroll { max-width: 100%; overflow-x: auto; outline: none; contain: layout; }
.game-log-table-scroll:focus-visible { box-shadow: inset 0 0 0 2px #a7d3ff; }
.game-log-table { width: 100%; min-width: 1050px; border-collapse: collapse; table-layout: fixed; color: #eaf2f8; font-size: 11px; }
.game-log-table th { height: 35px; padding: 0 10px; border-top: 1px solid #627481; border-bottom: 1px solid #687a87; background: #354653; color: #c7d9e6; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.game-log-table th:nth-child(1) { width: 130px; }
.game-log-table th:nth-child(2) { width: 230px; }
.game-log-table th:nth-child(3) { width: 145px; }
.game-log-table th:nth-child(4), .game-log-table th:nth-child(5), .game-log-table th:nth-child(7) { width: 88px; text-align: right; }
.game-log-table th:nth-child(6) { width: 140px; }
.game-log-table th:nth-child(8) { width: 75px; text-align: center; }
.game-log-table th:nth-child(9) { width: 48px; }
.game-log-table td { height: 74px; padding: 7px 10px; border-bottom: 1px solid #5a6d7a; vertical-align: middle; }
.game-log-row:nth-of-type(even) { background: #ffffff08; }
.game-log-row:hover { background: #5a6c79; }
.game-log-table td small { display: block; margin-top: 2px; color: #b3c5d2; font-size: 9px; }
.game-log-date { color: #f5faff; font-weight: 750; }
.game-log-matchup { display: grid; gap: 4px; max-width: 210px; }
.game-log-team { display: flex; align-items: center; min-width: 0; gap: 7px; }
.game-log-team-logo { display: grid; flex: 0 0 29px; width: 29px; height: 29px; place-items: center; border: 1px solid #cddbe7; border-radius: 6px; background: #e7eef5; box-shadow: 0 2px 5px #172a3859; }
.game-log-team-logo { position: relative; }
.game-log-team-logo img { position: absolute; inset: 1px; display: block; width: 25px; height: 25px; object-fit: contain; opacity: 0; transition: opacity .15s; }
.game-log-team-logo img.is-loaded { opacity: 1; }
.game-log-team-logo img.is-loaded + .game-log-team-fallback { visibility: hidden; }
.game-log-team-fallback { color: #294a64; font-size: 9px; font-weight: 850; }
.game-log-team-name { display: flex; align-items: baseline; min-width: 0; gap: 5px; color: #f0f7fc; font-size: 11px; font-weight: 800; white-space: nowrap; }
.game-log-table td .game-log-team-name small { display: inline; margin: 0; color: #a9bfce; font-size: 8px; font-weight: 600; }
.game-log-team b { margin-left: auto; color: #fbfcff; font-size: 13px; font-variant-numeric: tabular-nums; }
.game-log-umpire { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.game-log-umpire i { color: #9cc8ed; font-size: 12px; }
.game-log-numeric { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.game-log-accuracy { display: flex; flex-direction: column; gap: 5px; color: #addfce; }
.game-log-accuracy.is-watch { color: #f4d39a; }
.game-log-accuracy.is-low { color: #f2aaa7; }
.game-log-accuracy strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.game-log-accuracy-track { display: block; width: 95px; height: 4px; overflow: hidden; border-radius: 4px; background: #8192a04d; }
.game-log-accuracy-track span { display: block; height: 100%; border-radius: inherit; background: currentColor; }
.game-log-table td:nth-child(8) { text-align: center; }
.game-log-impact { color: #afbeca; font-weight: 750; }
.game-log-impact.has-impact { color: #ffd38b; }
.game-log-impact i { margin-right: 4px; }
.game-log-detail-button { display: grid; width: 27px; height: 27px; padding: 0; place-items: center; border: 1px solid #8197a9; border-radius: 5px; background: #354c5e; color: #d8edfc; }
.game-log-detail-button:hover, .game-log-detail-button:focus-visible { border-color: #a6d5ff; background: #426a89; }
.game-log-detail-row td { height: auto; padding: 0; background: #2e4150; }
.game-log-detail { display: flex; flex-wrap: wrap; gap: 16px 28px; padding: 13px 18px; border-left: 3px solid #83b9ec; }
.game-log-detail div { display: flex; flex-direction: column; gap: 3px; }
.game-log-detail span { color: #b9cbd8; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.game-log-detail strong { color: #f4f9fd; font-size: 11px; }
.game-log-empty { height: 180px !important; text-align: center; }
.game-log-empty i, .game-log-empty strong, .game-log-empty span { display: block; }
/* Font Awesome gives icons a fixed width, so center the block with auto margins. */
.game-log-empty > i { margin: 0 auto 8px; color: #a9c7dd; font-size: 19px; }
.game-log-empty strong { color: #f4f8fc; font-size: 13px; }
.game-log-empty span { margin-top: 3px; color: #bed0dc; }
.game-log-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 10px 17px; color: #c5d5e0; font-size: 10px; }
.game-log-page-controls { display: flex; align-items: center; gap: 9px; }
.game-log-page-controls label { display: flex; align-items: center; gap: 7px; }
.game-log-pagination select { height: 29px; padding: 0 20px 0 7px; }
.game-log-page-controls button { width: 27px; height: 27px; border: 1px solid #8294a3; border-radius: 5px; background: #344b5d; color: #e7f4ff; }
.game-log-page-controls button:disabled { opacity: .42; cursor: default; }
.game-log-disclosure { margin: 0; color: #b6c8d6; font-size: 10px; }
.game-log-disclosure i { margin-right: 6px; color: #9dbfe2; }

/* Live data states */
.game-log-source.is-loading { border-color: #6f8595; background: #3a4854; color: #dbe7f0; }
.game-log-source.is-error { border-color: #a0646a; background: #5a363c; color: #ffe1e1; }
.game-log-skeleton { display: inline-block; width: 64px; max-width: 100%; height: .8em; border-radius: 4px; background: linear-gradient(90deg, #ffffff12 0%, #ffffff29 50%, #ffffff12 100%); background-size: 200% 100%; vertical-align: middle; animation: game-log-shimmer 1.3s ease-in-out infinite; }
.game-log-skeleton.is-wide { width: 170px; }
.game-log-row.is-loading:hover { background: transparent; }
.game-log-empty.is-error i { color: #f2aaa7; }
.game-log-retry { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; padding: 7px 13px; border: 1px solid #a6d4ff; border-radius: 6px; background: #2f7fd8; color: #fff; font-size: 11px; font-weight: 700; }
.game-log-retry:hover { background: #3b8ce6; }
.game-log-empty .game-log-retry i { display: inline; margin: 0; color: inherit; font-size: 11px; }
.game-log-tools select:disabled, .game-log-tools input:disabled, .game-log-pagination select:disabled { cursor: default; opacity: .6; }
.game-log-team-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.game-log-team-name { flex: 1 1 auto; }
.game-log-umpire { max-width: 100%; }
.game-log-umpire span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.game-log-detail .game-log-report { flex-direction: row; align-items: center; gap: 10px; margin-left: auto; }
.game-log-report-button { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; border: 1px solid #a6d4ff; border-radius: 6px; background: #2f7fd8; color: #fff; font-size: 11px; font-weight: 700; }
.game-log-report-button:hover:not(:disabled) { background: #3b8ce6; }
.game-log-report-button:disabled { cursor: progress; opacity: .78; }
.game-log-detail .game-log-report-status { color: #cfe7d9; font-size: 10px; letter-spacing: 0; text-transform: none; }
.game-log-detail .game-log-report-status.is-error { color: #f2aaa7; }
@keyframes game-log-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .game-log-skeleton { animation: none; } }

@media (max-width: 1000px) { .game-log-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .game-log-view .dashboard { padding: 14px; }
  .game-log-intro { align-items: start; flex-direction: column; gap: 10px; }
  .game-log-board-heading { align-items: start; flex-direction: column; gap: 4px; }
  .game-log-search { flex-basis: 100%; max-width: none; }
  .game-log-tools label:not(.game-log-search) { flex: 1 1 125px; }
  .game-log-tools select { width: 100%; }
  .game-log-pagination { align-items: start; flex-direction: column; }
  .game-log-scroll-hint { display: block; }
}
@media (max-width: 390px) { .game-log-summary > div { padding: 11px; } .game-log-summary strong { font-size: 24px; } }
