/* Native dark dashboard layout, loaded in the document head after base styles. */
.lg-dark-dashboard {
    --lg-bg: #080a0d;
    --lg-surface: #101318;
    --lg-surface-2: #15191f;
    --lg-surface-3: #1a1f26;
    --lg-line: rgba(255,255,255,.085);
    --lg-line-strong: rgba(255,255,255,.14);
    --lg-text: #f7f8fa;
    --lg-muted: #949ca8;
    --lg-muted-2: #69717c;
    --lg-red: #ff3b57;
    --lg-red-soft: rgba(255,59,87,.12);
    width: min(calc(100% - 48px), 1440px) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 0 34px !important;
    color: var(--lg-text);
}
.lg-dark-dashboard, .lg-dark-dashboard * { box-sizing: border-box; }

/* Hero */
.lg-dashboard-hero {
    position: relative;
    padding: 34px 4px 28px;
    border-bottom: 1px solid var(--lg-line);
}
.lg-dashboard-hero::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(46vw, 680px);
    height: 100%;
    pointer-events: none;
    background: radial-gradient(ellipse at 86% 60%, rgba(255,59,87,.055), transparent 55%);
}
.lg-dashboard-hero-row {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 34px;
}
.lg-dashboard-brand { min-width: 0; }
.lg-dashboard-kicker,
.lg-section-kicker,
.lg-archive-kicker {
    display: block;
    margin: 0 0 10px;
    color: var(--lg-red);
    font-size: 12px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.lg-dashboard-title {
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 4.1vw, 64px);
    line-height: .98;
    font-weight: 860;
    letter-spacing: -.055em;
}
.lg-dashboard-subtitle {
    margin: 14px 0 0;
    color: #b3bac4;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -.035em;
}
.lg-dashboard-mobile-tabs {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
    flex: 0 0 auto;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.lg-dashboard-tab-btn {
    position: relative;
    appearance: none;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #c0c5cd !important;
    cursor: pointer;
    padding: 12px 1px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
}
.lg-dashboard-tab-btn::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
    transform: scaleX(.35);
    transition: .18s ease;
}
.lg-dashboard-tab-btn.is-active { color: var(--lg-red) !important; }
.lg-dashboard-tab-btn.is-active::after { background: var(--lg-red); transform: scaleX(1); }

/* Main shell */
.lg-dashboard-shell { display: block !important; width: 100%; }
.lg-dashboard-panel {
    min-width: 0;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dashboard-panel-title { display: none !important; }
.lg-dashboard-panel-body { overflow: visible !important; background: transparent !important; }
.lg-dashboard-panel-live { position: relative !important; z-index: 20; padding: 30px 0 0; }

/* live shortcode layout */
.lg-dark-dashboard .lg-live-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px !important;
    width: 100% !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--lg-text) !important;
    font-family: inherit !important;
}
.lg-dark-dashboard .lg-live-section {
    min-width: 0;
    margin: 0 !important;
    border: 1px solid var(--lg-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(19,23,29,.96), rgba(13,16,21,.96)) !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.16);
}
.lg-dark-dashboard .lg-stats-section {
    grid-column: 1 / -1;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-team-rank-section { grid-column: 1; }
.lg-dark-dashboard .lg-schedule-section { grid-column: 2; position: relative !important; z-index: 30 !important; }

.lg-dark-dashboard .lg-live-section-title {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 18px 20px 14px !important;
    border: 0 !important;
    background: transparent !important;
}
.lg-dark-dashboard .lg-stats-section > .lg-live-section-title { padding: 0 0 18px !important; align-items: center !important; }
.lg-dark-dashboard .lg-live-section-title h3 {
    margin: 0 !important;
    color: var(--lg-text) !important;
    font-size: 27px !important;
    line-height: 1.1 !important;
    font-weight: 820 !important;
    letter-spacing: -.055em !important;
}
.lg-dark-dashboard .lg-stats-section .lg-live-section-title h3 { font-size: 31px !important; }
.lg-dark-dashboard .lg-live-muted,
.lg-dark-dashboard .lg-schedule-desc { color: var(--lg-muted) !important; }
.lg-dark-dashboard .lg-live-section-title .lg-schedule-desc { margin: 7px 0 0 !important; font-size: 11px !important; }
.lg-dark-dashboard .lg-section-kicker { margin-bottom: 8px; }

/* toggles */
.lg-dark-dashboard .lg-stats-view-buttons,
.lg-dark-dashboard .lg-rank-view-buttons,
.lg-dark-dashboard .lg-schedule-view-buttons {
    gap: 3px !important;
    padding: 3px !important;
    border: 1px solid var(--lg-line-strong) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.025) !important;
}
.lg-dark-dashboard .lg-stats-view-btn,
.lg-dark-dashboard .lg-rank-view-btn,
.lg-dark-dashboard .lg-schedule-view-btn {
    min-width: 46px !important;
    height: 28px !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #8e97a3 !important;
    box-shadow: none !important;
    font-size: 11px !important;
}
.lg-dark-dashboard .lg-stats-view-btn.is-active,
.lg-dark-dashboard .lg-rank-view-btn.is-active,
.lg-dark-dashboard .lg-schedule-view-btn.is-active {
    background: var(--lg-red-soft) !important;
    color: var(--lg-red) !important;
}

/* primary stats */
.lg-dark-dashboard .lg-stats-card { overflow: visible !important; background: transparent !important; }
.lg-dark-dashboard .lg-live-wrap .stats {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--lg-text) !important;
}
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary > * {
    min-height: 104px;
    padding: 17px 12px 15px !important;
    border: 1px solid var(--lg-line) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #15191e, #111419) !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
}
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary small {
    color: #aeb5be !important;
    font-size: 11px !important;
    font-weight: 620 !important;
}
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary br { display: none; }
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary b {
    color: #f8f9fb !important;
    font-size: clamp(20px, 1.8vw, 29px) !important;
    line-height: 1 !important;
    font-weight: 820 !important;
    letter-spacing: -.045em !important;
}
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(1) b,
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(2) b,
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(4) b { color: var(--lg-red) !important; }
.lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(3) b { font-size: clamp(17px,1.55vw,23px) !important; }

.lg-dark-dashboard .lg-live-wrap .stats.lg-stats-extra {
    margin-top: 12px !important;
    border: 1px solid var(--lg-line) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.018) !important;
}
.lg-dark-dashboard .lg-live-wrap .stats.lg-stats-extra > * {
    padding: 12px 8px !important;
    border-right: 1px solid var(--lg-line) !important;
}
.lg-dark-dashboard .lg-live-wrap .stats.lg-stats-extra > *:last-child { border-right: 0 !important; }
.lg-dark-dashboard .lg-live-wrap .stats.lg-stats-extra small { color: #7d8793 !important; }
.lg-dark-dashboard .lg-live-wrap .stats.lg-stats-extra b { color: #e7eaf0 !important; }


.lg-dark-dashboard .lg-live-wrap .stats-4.lg-stats-extra { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
/* rank */
.lg-dark-dashboard .lg-team-rank-wrap,
.lg-dark-dashboard .lg-team-rank-panel,
.lg-dark-dashboard .lg-team-rank-scroll { background: transparent !important; }
.lg-dark-dashboard .lg-team-rank-panel { padding: 0 20px 18px !important; }
.lg-dark-dashboard .lg-team-rank-scroll { border: 0 !important; border-radius: 0 !important; }
.lg-dark-dashboard .lg-team-rank-table { color: #dfe3e8 !important; background: transparent !important; }
.lg-dark-dashboard .lg-team-rank-table th {
    padding: 8px 6px !important;
    border-bottom: 1px solid var(--lg-line) !important;
    background: transparent !important;
    color: #727b87 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}
.lg-dark-dashboard .lg-team-rank-table td {
    padding: 9px 6px !important;
    border-bottom: 1px solid rgba(255,255,255,.055) !important;
    background: transparent !important;
    color: #d7dbe1 !important;
}
.lg-dark-dashboard .lg-team-rank-table tbody tr { background: transparent !important; }
.lg-dark-dashboard .lg-team-rank-table tbody tr:hover { background: rgba(255,255,255,.025) !important; }
.lg-dark-dashboard .lg-team-rank-table tr.is-lg,
.lg-dark-dashboard .lg-team-rank-table tr.is-lg:hover { background: rgba(255,59,87,.105) !important; }
.lg-dark-dashboard .lg-team-rank-table tr.is-lg td { color: var(--lg-red) !important; font-weight: 760 !important; }

/* schedule */
.lg-dark-dashboard .lg-schedule-content,
.lg-dark-dashboard .lg-table-wrap { background: transparent !important; }
.lg-dark-dashboard .lg-schedule-content { padding: 0 16px 18px !important; }
.lg-dark-dashboard .lg-schedule-nav {
    margin: 0 0 10px !important;
    padding: 6px 0 !important;
    background: transparent !important;
    color: var(--lg-text) !important;
}
.lg-dark-dashboard .lg-schedule-nav-title { color: #e7eaf0 !important; }
.lg-dark-dashboard .lg-schedule-nav-title:hover { color: var(--lg-red) !important; background: var(--lg-red-soft) !important; }
.lg-dark-dashboard .lg-schedule-nav-btn,
.lg-dark-dashboard .lg-schedule-today-btn,
.lg-dark-dashboard .lg-year-picker-btn {
    border-color: var(--lg-line-strong) !important;
    background: #11151a !important;
    color: #aeb5be !important;
}
.lg-dark-dashboard .lg-year-picker {
    border-color: var(--lg-line-strong) !important;
    background: #101318 !important;
    color: var(--lg-text) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.55) !important;
}
.lg-dark-dashboard .lg-year-picker-title { color: #eef1f5 !important; }
.lg-dark-dashboard .lg-month-jump-btn {
    border-color: var(--lg-line) !important;
    background: #15191f !important;
    color: #c9ced5 !important;
}
.lg-dark-dashboard .lg-month-jump-btn:hover { border-color: rgba(255,59,87,.35) !important; background: var(--lg-red-soft) !important; color: var(--lg-red) !important; }
.lg-dark-dashboard .lg-month-jump-btn.is-current { background: var(--lg-red) !important; border-color: var(--lg-red) !important; color: #fff !important; }
.lg-dark-dashboard .lg-table-wrap { border: 1px solid var(--lg-line) !important; border-radius: 11px !important; overflow: hidden !important; }
.lg-dark-dashboard .lg-schedule-table { color: #dce0e6 !important; background: transparent !important; }
.lg-dark-dashboard .lg-schedule-table th { background: #12161b !important; color: #737d89 !important; border-bottom-color: var(--lg-line) !important; }
.lg-dark-dashboard .lg-schedule-table tbody tr,
.lg-dark-dashboard .lg-schedule-table tbody tr:hover { background: #0f1216 !important; }
.lg-dark-dashboard .lg-schedule-table tbody tr:nth-child(even) { background: #12161b !important; }
.lg-dark-dashboard .lg-schedule-table td { color: #dce0e6 !important; border-bottom-color: rgba(255,255,255,.055) !important; }
.lg-dark-dashboard .lg-calendar-grid,
.lg-dark-dashboard .lg-calendar-cell { border-color: var(--lg-line) !important; background: #101318 !important; color: #dce0e6 !important; }
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-game { background: #12161b !important; color: #dce0e6 !important; }
.lg-dark-dashboard .lg-calendar-day-number,
.lg-dark-dashboard .lg-calendar-opponent { color: #e9ecf1 !important; }
.lg-dark-dashboard .lg-calendar-stadium,
.lg-dark-dashboard .lg-calendar-time { color: #8e97a3 !important; }

/* archive */
.lg-dashboard-panel-archive { margin-top: 42px; padding-top: 28px; border-top: 1px solid var(--lg-line) !important; }
.lg-dashboard-archive-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px;
}
.lg-dashboard-archive-heading h2 {
    margin: 0;
    color: #f7f8fa;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 820;
    letter-spacing: -.055em;
}
.lg-dashboard-archive-heading .lg-archive-kicker { margin-bottom: 8px; }
.lg-dark-dashboard .lg-archive-wrap {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--lg-text) !important;
}
.lg-dark-dashboard .lg-archive-title { display: none !important; }
.lg-dark-dashboard .lg-archive-stats-section,
.lg-dark-dashboard .lg-archive-record-section {
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-archive-stats-section { padding-bottom: 20px !important; border-bottom: 1px solid var(--lg-line) !important; }
.lg-dark-dashboard .lg-archive-stats-title,
.lg-dark-dashboard .lg-archive-section-title {
    color: #eef1f5 !important;
    border-color: var(--lg-line) !important;
}
.lg-dark-dashboard .lg-archive-stats-title h3,
.lg-dark-dashboard .lg-archive-section-title h3 { color: #eef1f5 !important; }

.lg-dark-dashboard .year-grid {
    gap: 10px !important;
    scrollbar-color: rgba(255,255,255,.15) transparent !important;
}
.lg-dark-dashboard .lg-season-card,
.lg-dark-dashboard .lg-season-main,
.lg-dark-dashboard .lg-season-card-board,
.lg-dark-dashboard .lg-season-side-top,
.lg-dark-dashboard .lg-season-side-bottom {
    border-color: var(--lg-line) !important;
    background: linear-gradient(180deg, #15191f, #101318) !important;
    color: #e6e9ee !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-season-card-head { border-color: var(--lg-line) !important; background: #12161b !important; }
.lg-dark-dashboard .lg-season-card-head h4,
.lg-dark-dashboard .lg-season-main strong,
.lg-dark-dashboard .lg-season-main b { color: #f0f2f5 !important; }
.lg-dark-dashboard .lg-season-stat-row,
.lg-dark-dashboard .lg-season-stat-main-row,
.lg-dark-dashboard .lg-season-stat-sub-row { color: #aeb5be !important; border-color: var(--lg-line) !important; }

/* archive filters */
.lg-dark-dashboard .lg-archive-action-btn,
.lg-dark-dashboard .lg-year-grid-view-btn,
.lg-dark-dashboard .lg-filter-reset-btn {
    border-color: var(--lg-line-strong) !important;
    background: #11151a !important;
    color: #b9c0c9 !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-archive-action-btn:hover,
.lg-dark-dashboard .lg-year-grid-view-btn:hover,
.lg-dark-dashboard .lg-year-grid-view-btn.is-active { border-color: rgba(255,59,87,.4) !important; background: var(--lg-red-soft) !important; color: var(--lg-red) !important; }
.lg-dark-dashboard .lg-filter-panel,
.lg-dark-dashboard .filter-group-col,
.lg-dark-dashboard .filter-scroll-area,
.lg-dark-dashboard .lg-filter-summary,
.lg-dark-dashboard .lg-filter-summary-inline {
    border-color: var(--lg-line) !important;
    background: #101318 !important;
    color: #dce0e6 !important;
}
.lg-dark-dashboard .filter-group-col strong { color: #dfe3e8 !important; }
.lg-dark-dashboard .filter-chip { border-color: var(--lg-line) !important; background: #15191f !important; color: #aeb5be !important; }
.lg-dark-dashboard .filter-chip:has(input:checked) { border-color: rgba(255,59,87,.4) !important; background: var(--lg-red-soft) !important; color: var(--lg-red) !important; }

/* archive game cards */
.lg-dark-dashboard .lg-record-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    background: transparent !important;
}
.lg-dark-dashboard .lg-filter-item { min-width: 0 !important; }
.lg-dark-dashboard .lg-archive-game-card {
    height: 100%;
    overflow: hidden !important;
    border: 1px solid var(--lg-line) !important;
    border-radius: 11px !important;
    background: rgba(10,14,19,.56) !important;
    color: #e9ecf1 !important;
    box-shadow: none !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.lg-dark-dashboard .lg-archive-game-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.18) !important; background: rgba(15,20,26,.68) !important; }
.lg-dark-dashboard .lg-card-main-layer,
.lg-dark-dashboard .lg-card-upper-stage,
.lg-dark-dashboard .lg-archive-game-body,
.lg-dark-dashboard .lg-game-card-content,
.lg-dark-dashboard .lg-game-card-details { background: transparent !important; color: inherit !important; }
.lg-dark-dashboard .lg-card-bg-layer.is-logo-bg { opacity: .07 !important; filter: grayscale(1) brightness(2) !important; }
.lg-dark-dashboard .lg-card-bg-layer.is-pitcher-bg { opacity: .18 !important; filter: grayscale(.45) brightness(.55) contrast(1.08) !important; }
.lg-dark-dashboard .lg-game-card-head { border-color: var(--lg-line) !important; }
.lg-dark-dashboard .lg-game-kind { color: #8b95a1 !important; background: rgba(255,255,255,.045) !important; border-color: var(--lg-line) !important; }
.lg-dark-dashboard .lg-game-date { color: #aeb5be !important; }
.lg-dark-dashboard .lg-game-result { color: var(--lg-red) !important; font-weight: 820 !important; }
.lg-dark-dashboard .lg-game-match-summary,
.lg-dark-dashboard .lg-game-match-center { color: #f5f6f8 !important; }
.lg-dark-dashboard .lg-game-info-row { border-color: rgba(255,255,255,.055) !important; }
.lg-dark-dashboard .lg-game-info-label { color: #6e7783 !important; }
.lg-dark-dashboard .lg-game-info-value { color: #c7cdd5 !important; }
.lg-dark-dashboard .lg-game-insta-side,
.lg-dark-dashboard .lg-insta-scroll { background: #0d1014 !important; border-color: var(--lg-line) !important; }
.lg-dark-dashboard .lg-insta-thumb-link { border-color: var(--lg-line) !important; }
.lg-dark-dashboard .lg-score-note { color: #69717c !important; }

/* scrollbar */
.lg-dark-dashboard * { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.16) transparent; }
.lg-dark-dashboard *::-webkit-scrollbar { width: 5px; height: 5px; }
.lg-dark-dashboard *::-webkit-scrollbar-track { background: transparent; }
.lg-dark-dashboard *::-webkit-scrollbar-thumb { background: rgba(255,255,255,.13); border-radius: 99px; }

@media (max-width: 1240px) {
    .lg-dark-dashboard { width: calc(100% - 32px) !important; }
    .lg-dark-dashboard .lg-record-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
}
@media (max-width: 980px) {
    .lg-dark-dashboard .lg-live-wrap { grid-template-columns: 1fr !important; }
    .lg-dark-dashboard .lg-stats-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section { grid-column: 1 !important; }
    .lg-dark-dashboard .lg-record-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}

@media (max-width: 900px) {
    .lg-dark-dashboard { width: calc(100% - 28px) !important; padding-bottom: 18px !important; }
    .lg-dashboard-hero { padding: 24px 0 18px; }
    .lg-dashboard-hero-row { display: block; }
    .lg-dashboard-title { font-size: 42px; }
    .lg-dashboard-subtitle { margin-top: 10px; font-size: 14px; }
    .lg-dashboard-mobile-tabs {
        position: static !important;
        transform: none !important;
        width: auto !important;
        justify-content: flex-start !important;
        gap: 25px !important;
        margin-top: 18px !important;
    }
    .lg-dashboard-panel-live { padding-top: 22px; }
    .lg-dashboard-panel { display: none !important; }
    .lg-dashboard-panel.is-active { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-dashboard-panel-live { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-schedule-section { display: none !important; }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-stats-section,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-team-rank-section { display: none !important; }
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-archive { display: block !important; margin-top: 22px; padding-top: 0; border-top: 0 !important; }

    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary > * { min-height: 96px; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(5) { grid-column: 1 / -1; min-height: 82px; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary b { font-size: 24px !important; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary > :nth-child(3) b { font-size: 19px !important; }
    .lg-dark-dashboard .lg-live-section-title { padding: 16px 14px 12px !important; }
    .lg-dark-dashboard .lg-stats-section > .lg-live-section-title { padding: 0 0 14px !important; }
    .lg-dark-dashboard .lg-live-section-title h3 { font-size: 24px !important; }
    .lg-dark-dashboard .lg-stats-section .lg-live-section-title h3 { font-size: 27px !important; }
    .lg-dark-dashboard .lg-team-rank-panel { padding: 0 12px 14px !important; }
    .lg-dark-dashboard .lg-schedule-content { padding: 0 10px 14px !important; }
    .lg-dashboard-archive-heading { margin-bottom: 14px; }
    .lg-dashboard-archive-heading h2 { font-size: 27px; }
    .lg-dark-dashboard .lg-record-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px !important; }
}

@media (max-width: 560px) {
    .lg-dark-dashboard { width: calc(100% - 20px) !important; }
    .lg-dashboard-hero { padding-top: 18px; }
    .lg-dashboard-kicker { font-size: 10px; }
    .lg-dashboard-title { font-size: 38px; }
    .lg-dashboard-mobile-tabs { gap: 22px !important; margin-top: 15px !important; }
    .lg-dashboard-tab-btn { font-size: 13px !important; }
    .lg-dark-dashboard .lg-live-section { border-radius: 13px !important; }
    .lg-dark-dashboard .lg-live-wrap { gap: 16px !important; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary > * { min-height: 90px; padding: 13px 7px !important; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary small { font-size: 10px !important; }
    .lg-dark-dashboard .lg-live-wrap .lg-stats-primary b { font-size: 22px !important; }
    .lg-dark-dashboard .lg-team-rank-table { font-size: 10px !important; }
    .lg-dark-dashboard .lg-record-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* =========================================================
   v2.1 dashboard composition
   Desktop: stats full width / left standings+schedule / right archive
   Mobile: overview(통계·일정) / archive(직관) two tabs
   ========================================================= */
.lg-dark-dashboard {
    position: relative !important;
    isolation: isolate;
    overflow: visible !important;
}
.lg-dark-dashboard::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: -1px;
    left: 50%;
    width: 100vw;
    height: 760px;
    transform: translateX(-50%);
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(7,9,12,.97) 0%, rgba(7,9,12,.70) 19%, rgba(7,9,12,.40) 52%, rgba(7,9,12,.82) 82%, rgba(7,9,12,.98) 100%),
        linear-gradient(180deg, rgba(7,9,12,.32) 0%, rgba(7,9,12,.08) 28%, rgba(7,9,12,.55) 62%, #080a0d 100%),
        var(--lg-hero-image, linear-gradient(135deg, rgba(200,16,46,.10), rgba(8,10,13,0)));
    background-repeat: no-repeat;
    background-position: center 34%;
    background-size: cover;
    opacity: .62;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 43%, rgba(0,0,0,.82) 64%, rgba(0,0,0,.28) 84%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 43%, rgba(0,0,0,.82) 64%, rgba(0,0,0,.28) 84%, transparent 100%);
}
.lg-dark-dashboard::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 820px;
    transform: translateX(-50%);
    pointer-events: none;
    background:
        radial-gradient(circle at 76% 18%, rgba(255,59,87,.11), transparent 29rem),
        linear-gradient(180deg, transparent 0%, rgba(8,10,13,.22) 58%, #080a0d 100%);
}
.lg-dashboard-hero {
    padding-top: 42px !important;
    padding-bottom: 34px !important;
    border-bottom-color: rgba(255,255,255,.075) !important;
}
.lg-dashboard-mobile-tabs { display: none !important; }

/* desktop master grid */
@media (min-width: 901px) {
    .lg-dashboard-shell {
        display: grid !important;
        grid-template-columns: minmax(0, .86fr) minmax(560px, 1.14fr);
        grid-template-areas:
            "stats stats"
            "left archive";
        gap: 28px 26px !important;
        align-items: start !important;
    }
    .lg-dashboard-panel-live,
    .lg-dashboard-panel-live > .lg-dashboard-panel-body,
    .lg-dashboard-panel-live .lg-live-wrap {
        display: contents !important;
    }
    .lg-dark-dashboard .lg-stats-section {
        grid-area: stats !important;
        width: 100% !important;
    }
    .lg-dark-dashboard .lg-live-lower-grid {
        grid-area: left !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
        min-width: 0 !important;
        align-content: start !important;
    }
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        grid-column: auto !important;
        width: 100% !important;
    }
    .lg-dashboard-panel-archive {
        grid-area: archive !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
    }
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

/* common section surfaces */
.lg-dark-dashboard .lg-live-section,
.lg-dashboard-panel-archive {
    border-color: rgba(255,255,255,.085) !important;
    background: linear-gradient(180deg, rgba(17,21,27,.92), rgba(11,14,18,.94)) !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(10px);
}
.lg-dark-dashboard .lg-stats-section {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.lg-dark-dashboard .lg-live-lower-grid .lg-live-section,
.lg-dashboard-panel-archive {
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 17px !important;
    overflow: hidden !important;
}
.lg-dashboard-panel-archive { padding: 18px 18px 16px !important; }

/* new season stats */
.lg-dark-dashboard .lg-dashboard-section-heading {
    padding: 0 0 17px !important;
}
.lg-dark-dashboard .lg-season-static-selector {
    flex: 0 0 auto;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 9px;
    background: rgba(12,15,19,.55);
    color: #aeb5bf;
    font-size: 11px;
    font-weight: 740;
    backdrop-filter: blur(8px);
}
.lg-dark-dashboard .lg-dashboard-stats-card {
    background: transparent !important;
    overflow: visible !important;
}
.lg-dark-dashboard .lg-dashboard-primary-stats {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 12px;
}
.lg-dark-dashboard .lg-dashboard-stat-tile {
    position: relative;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 18px 12px 15px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(23,28,35,.94), rgba(14,18,23,.96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 14px 36px rgba(0,0,0,.13);
    text-align: center;
}
.lg-dark-dashboard .lg-dashboard-stat-tile::before {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}
.lg-dark-dashboard .lg-dashboard-stat-tile small {
    color: #969fab !important;
    font-size: 11px !important;
    font-weight: 680 !important;
}
.lg-dark-dashboard .lg-dashboard-stat-tile b {
    color: #f7f8fa !important;
    font-size: clamp(24px, 2vw, 31px) !important;
    line-height: 1 !important;
    font-weight: 840 !important;
    letter-spacing: -.05em !important;
}
.lg-dark-dashboard .lg-dashboard-stat-tile b.is-record {
    font-size: clamp(18px, 1.5vw, 24px) !important;
}
.lg-dark-dashboard .lg-dashboard-stat-tile.is-accent b { color: var(--lg-red) !important; }
.lg-dark-dashboard .lg-dashboard-stat-tile span {
    color: #69727e;
    font-size: 11px;
    font-weight: 570;
}
.lg-dark-dashboard .lg-dashboard-secondary-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    margin-top: 11px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 12px;
    background: rgba(12,15,19,.70);
    overflow: hidden;
}
.lg-dark-dashboard .lg-dashboard-secondary-stats > div {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 7px;
    border-right: 1px solid rgba(255,255,255,.065);
}
.lg-dark-dashboard .lg-dashboard-secondary-stats > div:last-child { border-right: 0; }
.lg-dark-dashboard .lg-dashboard-secondary-stats small { color: #727c88; font-size: 11px; font-weight: 650; }
.lg-dark-dashboard .lg-dashboard-secondary-stats b { color: #dce1e7; font-size: 14px; font-weight: 800; }

/* standings / schedule on left */
.lg-dark-dashboard .lg-live-lower-grid .lg-live-section-title {
    padding: 20px 20px 15px !important;
}
.lg-dark-dashboard .lg-live-lower-grid .lg-live-section-title h3 {
    font-size: 24px !important;
}
.lg-dark-dashboard .lg-team-rank-panel { padding: 0 15px 15px !important; }
.lg-dark-dashboard .lg-team-rank-table { font-size: 11px !important; }
.lg-dark-dashboard .lg-team-rank-table th { padding: 8px 4px !important; font-size: 11px !important; }
.lg-dark-dashboard .lg-team-rank-table td { padding: 9px 4px !important; }
.lg-dark-dashboard .lg-team-rank-table tr.is-lg,
.lg-dark-dashboard .lg-team-rank-table tr.is-lg:hover {
    background: linear-gradient(90deg, rgba(255,59,87,.13), rgba(255,59,87,.055)) !important;
}

/* compact upcoming schedule */
.lg-dark-dashboard .lg-dashboard-upcoming-list {
    padding: 0 16px;
}
.lg-dark-dashboard .lg-dashboard-upcoming-row {
    display: grid;
    grid-template-columns: 80px minmax(90px,1fr) minmax(70px,.8fr) 16px;
    align-items: center;
    gap: 10px;
    min-height: 61px;
    padding: 9px 8px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    color: inherit;
    text-decoration: none;
    transition: background .16s ease;
}
.lg-dark-dashboard .lg-dashboard-upcoming-row:last-child { border-bottom: 0; }
.lg-dark-dashboard .lg-dashboard-upcoming-row.has-link:hover { background: rgba(255,255,255,.025); }
.lg-dark-dashboard .lg-upcoming-date,
.lg-dark-dashboard .lg-upcoming-match { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lg-dark-dashboard .lg-upcoming-date b { color: #e6e9ee; font-size: 11px; font-weight: 760; }
.lg-dark-dashboard .lg-upcoming-date small { color: #69727e; font-size: 11px; }
.lg-dark-dashboard .lg-upcoming-match em { color: var(--lg-red); font-size: 11px; font-style: normal; font-weight: 800; }
.lg-dark-dashboard .lg-upcoming-match b { color: #f0f2f5; font-size: 13px; font-weight: 800; }
.lg-dark-dashboard .lg-upcoming-stadium { min-width: 0; color: #8c95a1; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.lg-dark-dashboard .lg-upcoming-arrow { color: #59616c; font-size: 21px; font-weight: 300; text-align: right; }
.lg-dark-dashboard .lg-dashboard-more-btn,
.lg-dashboard-outline-btn {
    appearance: none;
    min-height: 34px;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.025) !important;
    color: #aab2bc !important;
    box-shadow: none !important;
    cursor: pointer;
    font-size: 11px !important;
    font-weight: 720 !important;
    letter-spacing: -.025em;
    transition: .16s ease;
}
.lg-dark-dashboard .lg-dashboard-more-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 32px);
    margin: 10px 16px 16px;
    padding: 0 12px !important;
}
.lg-dark-dashboard .lg-dashboard-more-btn:hover,
.lg-dashboard-outline-btn:hover { border-color: rgba(255,59,87,.34) !important; color: var(--lg-red) !important; background: rgba(255,59,87,.07) !important; }
.lg-dark-dashboard .lg-dashboard-full-schedule {
    padding: 3px 0 10px;
    border-top: 1px solid rgba(255,255,255,.07);
}
.lg-dark-dashboard .lg-dashboard-full-schedule[hidden] { display: none !important; }

/* archive right column / compact recent cards */
.lg-dashboard-archive-heading {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
    padding: 2px 2px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.075);
}
.lg-dashboard-archive-heading h2 {
    margin: 0 !important;
    color: #f4f6f8 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    font-weight: 830 !important;
    letter-spacing: -.055em !important;
}
.lg-dashboard-outline-btn { flex: 0 0 auto; padding: 0 11px !important; }
.lg-dashboard-panel-archive .lg-archive-wrap {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.lg-dashboard-panel-archive .lg-archive-title { display: none !important; }
.lg-dashboard-panel-archive .lg-archive-dashboard-recent { margin: 0 !important; }
.lg-dashboard-panel-archive .lg-dashboard-recent-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px !important;
}
.lg-dashboard-panel-archive .lg-dashboard-archive-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 12px;
    background: #10141a;
    color: #eef1f5;
    box-shadow: 0 12px 28px rgba(0,0,0,.16);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.lg-dashboard-panel-archive .lg-dashboard-archive-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.17); background: #141920; }
.lg-dashboard-panel-archive .lg-dashboard-archive-photo {
    position: relative;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle at 50% 35%, rgba(255,59,87,.13), rgba(8,10,13,.92) 66%);
    background-position: center;
    background-size: cover;
}
.lg-dashboard-panel-archive .lg-dashboard-archive-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(8,10,13,.64) 100%);
    pointer-events: none;
}
.lg-dashboard-panel-archive .lg-dashboard-archive-photo-fallback { color: rgba(255,255,255,.14); font-size: 31px; font-weight: 900; letter-spacing: -.08em; }
.lg-dashboard-panel-archive .lg-dashboard-archive-card-body { padding: 11px 12px 12px; }
.lg-dashboard-panel-archive .lg-dashboard-archive-card time { display: block; color: #747e8a; font-size: 11px; font-weight: 650; }
.lg-dashboard-panel-archive .lg-dashboard-archive-opponent { margin-top: 6px; color: #cbd1d8; font-size: 11px; font-weight: 650; }
.lg-dashboard-panel-archive .lg-dashboard-archive-score { display: flex; align-items: baseline; gap: 7px; margin-top: 6px; }
.lg-dashboard-panel-archive .lg-dashboard-archive-score strong { min-width: 16px; color: #8c95a1; font-size: 12px; font-weight: 850; }
.lg-dashboard-panel-archive .lg-dashboard-archive-score b { color: #f3f5f7; font-size: 18px; line-height: 1; font-weight: 850; letter-spacing: -.04em; }
.lg-dashboard-panel-archive .lg-dashboard-archive-card.is-win .lg-dashboard-archive-score strong { color: var(--lg-red); }
.lg-dashboard-panel-archive .lg-dashboard-archive-card.is-loss .lg-dashboard-archive-score strong { color: #718096; }
.lg-dashboard-panel-archive .lg-dashboard-archive-meta { display: flex; flex-wrap: wrap; gap: 3px 8px; margin-top: 8px; color: #69727e; font-size: 11px; line-height: 1.35; }
.lg-dashboard-panel-archive .lg-archive-full-content { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.075); }
.lg-dashboard-panel-archive .lg-archive-full-content[hidden] { display: none !important; }
.lg-dashboard-panel-archive .lg-dashboard-full-note { margin-top: 10px !important; }

/* full archive inside right pane */
@media (min-width: 901px) {
    .lg-dashboard-panel-archive .year-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; justify-content: stretch !important; }
    .lg-dashboard-panel-archive .lg-season-card { width: auto !important; min-width: 0 !important; }
    .lg-dashboard-panel-archive .lg-filter-panel { max-height: 430px; overflow: auto; }
}

/* medium desktop */
@media (min-width: 901px) and (max-width: 1280px) {
    .lg-dashboard-shell { grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); }
    .lg-dashboard-panel-archive .lg-dashboard-recent-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .lg-dashboard-panel-archive .year-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* mobile = overview / archive tabs */
@media (max-width: 900px) {
    .lg-dark-dashboard::before { height: 480px; background-position: center 22%; opacity: .50; }
    .lg-dark-dashboard::after { height: 540px; }
    .lg-dashboard-hero { padding: 24px 0 18px !important; }
    .lg-dashboard-mobile-tabs {
        display: flex !important;
        width: 100% !important;
        justify-content: flex-start !important;
        gap: 28px !important;
        margin-top: 18px !important;
    }
    .lg-dashboard-shell { display: block !important; }
    .lg-dashboard-panel { display: none !important; }
    .lg-dashboard-panel.is-active { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="overview"] .lg-dashboard-panel-live { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-archive { display: block !important; }
    .lg-dark-dashboard .lg-live-wrap {
        display: block !important;
    }
    .lg-dark-dashboard .lg-live-lower-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-top: 16px !important;
    }
    .lg-dark-dashboard .lg-stats-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section { display: block !important; width: 100% !important; }
    .lg-dark-dashboard .lg-dashboard-primary-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .lg-dark-dashboard .lg-dashboard-stat-tile { min-height: 94px; padding: 13px 8px; }
    .lg-dark-dashboard .lg-dashboard-stat-tile:nth-child(3) { grid-column: 1 / -1; min-height: 84px; }
    .lg-dark-dashboard .lg-dashboard-stat-tile b { font-size: 23px !important; }
    .lg-dark-dashboard .lg-dashboard-stat-tile b.is-record { font-size: 20px !important; }
    .lg-dark-dashboard .lg-dashboard-secondary-stats { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .lg-dark-dashboard .lg-dashboard-secondary-stats > div { min-height: 52px; flex-direction: column; gap: 3px; padding: 8px 3px; }
    .lg-dark-dashboard .lg-dashboard-secondary-stats small { font-size: 9px; }
    .lg-dark-dashboard .lg-dashboard-secondary-stats b { font-size: 12px; }
    .lg-dashboard-panel-archive { margin-top: 20px !important; padding: 14px !important; border-top: 1px solid rgba(255,255,255,.085) !important; }
    .lg-dashboard-panel-archive .lg-dashboard-recent-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .lg-dashboard-panel-archive .lg-record-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .lg-dashboard-archive-heading h2 { font-size: 25px !important; }
}

@media (max-width: 560px) {
    .lg-dark-dashboard::before { height: 430px; opacity: .43; }
    .lg-dashboard-panel-archive .lg-dashboard-recent-grid { gap: 8px !important; }
    .lg-dashboard-panel-archive .lg-dashboard-archive-card-body { padding: 9px 9px 10px; }
    .lg-dashboard-panel-archive .lg-dashboard-archive-score b { font-size: 16px; }
    .lg-dashboard-outline-btn { min-height: 31px; padding: 0 9px !important; font-size: 9px !important; }
    .lg-dark-dashboard .lg-dashboard-upcoming-row { grid-template-columns: 70px minmax(75px,1fr) minmax(58px,.7fr) 13px; gap: 7px; padding-left: 5px; padding-right: 5px; }
}

/* =========================================================
   v2.2.0 — data-preserving composition
   - Original live-stats/archive shortcode markup is kept intact.
   - Desktop: season stats full width / left standings+schedule / right archive.
   - Mobile: stats+standings / schedule / archive 3 tabs.
   - Instagram archive thumbs are 9:16.
   ========================================================= */

/* portrait hero image: keep its 9:16 character and fade it into the page */
.lg-dark-dashboard::before {
    height: 820px !important;
    opacity: .66 !important;
    background-image:
        linear-gradient(90deg, #080a0d 0%, rgba(8,10,13,.93) 24%, rgba(8,10,13,.48) 58%, rgba(8,10,13,.70) 82%, #080a0d 100%),
        linear-gradient(180deg, rgba(8,10,13,.14) 0%, rgba(8,10,13,.12) 38%, rgba(8,10,13,.64) 72%, #080a0d 100%),
        var(--lg-hero-image, none) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100%, 100% 100%, auto 820px !important;
    background-position: center, center, 78% 0 !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 46%, rgba(0,0,0,.82) 65%, rgba(0,0,0,.33) 84%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 46%, rgba(0,0,0,.82) 65%, rgba(0,0,0,.33) 84%, transparent 100%) !important;
}
.lg-dark-dashboard::after {
    height: 900px !important;
    background:
        radial-gradient(circle at 77% 18%, rgba(255,59,87,.095), transparent 28rem),
        linear-gradient(180deg, transparent 0%, rgba(8,10,13,.14) 48%, #080a0d 100%) !important;
}

/* top hero */
.lg-dashboard-hero {
    padding-top: 40px !important;
    padding-bottom: 30px !important;
}
.lg-dashboard-mobile-tabs { display: none !important; }

/* desktop: flatten only the live shortcode wrappers so its three original sections can occupy the master grid */
@media (min-width: 901px) {
    .lg-dashboard-shell {
        display: grid !important;
        grid-template-columns: minmax(0, .90fr) minmax(0, 1.10fr) !important;
        grid-template-areas:
            "stats stats"
            "rank archive"
            "schedule archive" !important;
        gap: 24px 26px !important;
        align-items: start !important;
    }
    .lg-dashboard-panel-live,
    .lg-dashboard-panel-live > .lg-dashboard-panel-body,
    .lg-dashboard-panel-live .lg-live-wrap {
        display: contents !important;
    }
    .lg-dark-dashboard .lg-stats-section {
        grid-area: stats !important;
        width: 100% !important;
    }
    .lg-dark-dashboard .lg-team-rank-section {
        grid-area: rank !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .lg-dark-dashboard .lg-schedule-section {
        grid-area: schedule !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .lg-dashboard-panel-archive {
        grid-area: archive !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 18px !important;
        border: 1px solid rgba(255,255,255,.085) !important;
        border-radius: 17px !important;
        background: linear-gradient(180deg, rgba(17,21,27,.92), rgba(11,14,18,.94)) !important;
        box-shadow: 0 20px 54px rgba(0,0,0,.20) !important;
        backdrop-filter: blur(10px);
    }

    /* original archive is fully restored; use 2 columns in the right pane without hiding any records */
    .lg-dashboard-panel-archive .year-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        justify-content: stretch !important;
    }
    .lg-dashboard-panel-archive .lg-season-card {
        width: auto !important;
        min-width: 0 !important;
    }
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px !important;
    }
}

/* original season stats — all original values remain available via simple/detail */
.lg-dark-dashboard .lg-stats-section {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-stats-section > .lg-live-section-title {
    padding: 0 0 17px !important;
}
.lg-dark-dashboard .lg-stats-card {
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 12px !important;
    background: transparent !important;
    border: 0 !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child > * {
    min-height: 110px !important;
    padding: 17px 10px !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(23,28,35,.95), rgba(14,18,23,.97)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 14px 36px rgba(0,0,0,.12) !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child small {
    color: #9aa3ae !important;
    font-size: 11px !important;
    font-weight: 680 !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child b {
    color: #f7f8fa !important;
    font-size: clamp(22px, 1.8vw, 30px) !important;
    font-weight: 840 !important;
    letter-spacing: -.045em !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child > :first-child b,
.lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(2) b,
.lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(4) b {
    color: var(--lg-red) !important;
}
.lg-dark-dashboard .lg-stats-card > .lg-stats-extra {
    margin-top: 11px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    border-radius: 12px !important;
    background: rgba(12,15,19,.70) !important;
    overflow: hidden !important;
}
.lg-dark-dashboard .lg-stats-card > .lg-stats-extra > * {
    border-color: rgba(255,255,255,.065) !important;
}

/* left column panels */
.lg-dark-dashboard .lg-team-rank-section,
.lg-dark-dashboard .lg-schedule-section {
    margin-top: 0 !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 17px !important;
    background: linear-gradient(180deg, rgba(17,21,27,.92), rgba(11,14,18,.94)) !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.18) !important;
    overflow: visible !important;
}
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title {
    padding: 19px 18px 14px !important;
}
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3 {
    font-size: 23px !important;
}

/* right archive — restore every original section and keep the theme title only once */
.lg-dashboard-panel-archive .lg-dashboard-archive-heading {
    margin: 0 0 15px !important;
    padding: 2px 2px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
}
.lg-dashboard-panel-archive .lg-archive-title {
    display: none !important;
}
.lg-dashboard-panel-archive .lg-archive-wrap,
.lg-dashboard-panel-archive .lg-archive-stats-section,
.lg-dashboard-panel-archive .lg-archive-record-section {
    max-width: none !important;
}
.lg-dashboard-panel-archive .lg-archive-stats-section,
.lg-dashboard-panel-archive .lg-archive-record-section {
    display: block !important;
}

/* Instagram photos are 9:16 portrait assets. Do not crop them to 4:5/landscape. */
.lg-dark-dashboard .lg-insta-thumb-link,
.lg-dashboard-panel-archive .lg-insta-thumb-link {
    width: 62px !important;
    height: auto !important;
    flex: 0 0 62px !important;
    aspect-ratio: 9 / 16 !important;
    border-radius: 7px !important;
    overflow: hidden !important;
}
.lg-dark-dashboard .lg-insta-thumb-link img,
.lg-dashboard-panel-archive .lg-insta-thumb-link img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* mobile: 3 tabs — stats+standings / schedule / archive */
@media (max-width: 900px) {
    .lg-dark-dashboard::before {
        height: 520px !important;
        opacity: .50 !important;
        background-size: 100% 100%, 100% 100%, auto 520px !important;
        background-position: center, center, 78% 0 !important;
    }
    .lg-dark-dashboard::after { height: 580px !important; }
    .lg-dashboard-hero { padding: 23px 0 16px !important; }
    .lg-dashboard-mobile-tabs {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-top: 17px !important;
    }
    .lg-dashboard-tab-btn {
        flex: 0 0 auto !important;
        padding: 10px 0 12px !important;
        white-space: nowrap !important;
        font-size: 12px !important;
    }
    .lg-dashboard-shell { display: block !important; }
    .lg-dashboard-panel { display: none !important; }
    .lg-dashboard-panel-live.is-active,
    .lg-dashboard-panel-archive.is-active { display: block !important; }

    .lg-dashboard-panel-live { padding-top: 20px !important; }
    .lg-dark-dashboard .lg-live-wrap { display: block !important; }
    .lg-dark-dashboard .lg-stats-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        width: 100% !important;
        margin-bottom: 16px !important;
    }

    /* stats tab = season stats + standings */
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-dashboard-panel-live { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-stats-section,
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-team-rank-section { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-schedule-section { display: none !important; }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-dashboard-panel-archive { display: none !important; }

    /* schedule tab = schedule only */
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-stats-section,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-team-rank-section { display: none !important; }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-schedule-section { display: block !important; }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-archive { display: none !important; }

    /* archive tab = complete original archive */
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-live { display: none !important; }
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-archive {
        display: block !important;
        margin-top: 20px !important;
        padding: 14px !important;
        border: 1px solid rgba(255,255,255,.085) !important;
        border-radius: 15px !important;
        background: linear-gradient(180deg, rgba(17,21,27,.94), rgba(11,14,18,.96)) !important;
    }

    .lg-dark-dashboard .lg-stats-card > .stats:first-child {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > * {
        min-height: 92px !important;
        padding: 13px 7px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b {
        font-size: 22px !important;
    }
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        border-radius: 14px !important;
    }
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
    }
    .lg-dark-dashboard .lg-insta-thumb-link,
    .lg-dashboard-panel-archive .lg-insta-thumb-link {
        width: 56px !important;
        flex-basis: 56px !important;
        aspect-ratio: 9 / 16 !important;
    }
}

@media (max-width: 420px) {
    .lg-dashboard-tab-btn { font-size: 11px !important; }
    .lg-dashboard-mobile-tabs { gap: 8px !important; }
    .lg-dark-dashboard .lg-insta-thumb-link,
    .lg-dashboard-panel-archive .lg-insta-thumb-link {
        width: 52px !important;
        flex-basis: 52px !important;
    }
}

/* =========================================================
   v2.3.0 — wide 1/4 + 3/4 desktop composition
   - Desktop left: season stats / standings / schedule stacked tightly.
   - Desktop right: complete archive.
   - Wider content canvas and smaller typography.
   - Mobile 3-tab behavior from v2.2.0 is preserved.
   ========================================================= */

.lg-dark-dashboard {
    width: min(calc(100% - 32px), 1680px) !important;
    max-width: 1680px !important;
}
.lg-dashboard-title {
    font-size: clamp(34px, 3.2vw, 50px) !important;
    letter-spacing: -.05em !important;
}
.lg-dashboard-kicker,
.lg-section-kicker,
.lg-archive-kicker {
    font-size: 11px !important;
}
.lg-dashboard-subtitle {
    margin-top: 10px !important;
    font-size: 13px !important;
}
.lg-dashboard-hero {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
}

@media (min-width: 901px) {
    /* Main canvas: left 1/4, archive 3/4. Keep a safe minimum for tables. */
    .lg-dashboard-shell {
        display: grid !important;
        grid-template-columns: minmax(340px, 1fr) minmax(0, 3fr) !important;
        gap: 16px !important;
        align-items: start !important;
    }

    /* Do not flatten the live shortcode on desktop. It is now the left rail. */
    .lg-dashboard-panel-live {
        display: block !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding: 22px 0 0 !important;
        margin: 0 !important;
    }
    .lg-dashboard-panel-live > .lg-dashboard-panel-body {
        display: block !important;
        min-width: 0 !important;
    }
    .lg-dashboard-panel-live .lg-live-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px !important;
        align-content: start !important;
        min-width: 0 !important;
    }

    .lg-dark-dashboard .lg-stats-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        grid-area: auto !important;
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 13px !important;
        background: linear-gradient(180deg, rgba(17,21,27,.92), rgba(11,14,18,.95)) !important;
        box-shadow: 0 14px 36px rgba(0,0,0,.14) !important;
        overflow: visible !important;
    }

    /* Keep standings and schedule close together. */
    .lg-dark-dashboard .lg-team-rank-section + .lg-schedule-section {
        margin-top: 0 !important;
    }

    .lg-dashboard-panel-archive {
        display: block !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 22px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        overflow: visible !important;
    }

    /* Smaller, denser section headers. */
    .lg-dark-dashboard .lg-live-section-title,
    .lg-dark-dashboard .lg-stats-section > .lg-live-section-title,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title {
        padding: 13px 13px 10px !important;
        gap: 8px !important;
        align-items: center !important;
    }
    .lg-dark-dashboard .lg-live-section-title h3,
    .lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3 {
        font-size: 17px !important;
        line-height: 1.12 !important;
        letter-spacing: -.045em !important;
    }
    .lg-dark-dashboard .lg-live-muted,
    .lg-dark-dashboard .lg-live-section-title .lg-schedule-desc {
        margin-top: 3px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    /* Compact segmented controls. */
    .lg-dark-dashboard .lg-stats-view-buttons,
    .lg-dark-dashboard .lg-rank-view-buttons,
    .lg-dark-dashboard .lg-schedule-view-buttons {
        padding: 2px !important;
        gap: 2px !important;
        border-radius: 8px !important;
    }
    .lg-dark-dashboard .lg-stats-view-btn,
    .lg-dark-dashboard .lg-rank-view-btn,
    .lg-dark-dashboard .lg-schedule-view-btn {
        min-width: 34px !important;
        height: 24px !important;
        padding: 0 6px !important;
        border-radius: 6px !important;
        font-size: 11px !important;
    }

    /* Season stats fit the quarter-width rail without dropping any values. */
    .lg-dark-dashboard .lg-stats-card {
        padding: 0 10px 10px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child,
    .lg-dark-dashboard .lg-live-wrap .stats-4 {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 7px !important;
    }
    .lg-dark-dashboard .lg-live-wrap .stats-7 {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 7px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
    .lg-dark-dashboard .lg-live-wrap .stats .in4,
    .lg-dark-dashboard .lg-live-wrap .stats .in6 {
        min-height: 66px !important;
        padding: 9px 5px !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        border-radius: 9px !important;
        background: rgba(18,22,28,.82) !important;
    }
    .lg-dark-dashboard .lg-live-wrap .stats small,
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small {
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-live-wrap .stats b,
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b {
        font-size: 16px !important;
        line-height: 1.08 !important;
    }
    .lg-dark-dashboard .lg-stats-card > .lg-stats-extra {
        margin-top: 7px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    /* Standings: dense enough for the left rail, with horizontal fallback in detail mode. */
    .lg-dark-dashboard .lg-team-rank-panel {
        padding: 0 9px 10px !important;
    }
    .lg-dark-dashboard .lg-team-rank-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        border-radius: 9px !important;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.13) transparent;
    }
    .lg-dark-dashboard .lg-team-rank-table {
        min-width: 340px !important;
        font-size: 11px !important;
        letter-spacing: -.045em !important;
    }
    .lg-dark-dashboard .lg-team-rank-table th {
        padding: 6px 2px !important;
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-team-rank-table td {
        padding: 7px 2px !important;
        font-size: 11px !important;
    }

    /* Schedule: remove oversized vertical spacing and shrink navigation text. */
    .lg-dark-dashboard .lg-schedule-nav {
        min-height: 44px !important;
        padding: 6px 8px !important;
        gap: 5px !important;
    }
    .lg-dark-dashboard .lg-schedule-nav-title {
        font-size: 11px !important;
        padding: 5px 4px !important;
    }
    .lg-dark-dashboard .lg-schedule-nav-btn {
        width: 27px !important;
        height: 27px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
    }
    .lg-dark-dashboard .lg-schedule-today-btn {
        right: 42px !important;
        height: 27px !important;
        padding: 0 6px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-schedule-content {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    .lg-dark-dashboard .lg-schedule-table {
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-schedule-table th,
    .lg-dark-dashboard .lg-schedule-table td {
        padding: 6px 2px !important;
    }
    .lg-dark-dashboard .lg-schedule-marker-legend,
    .lg-dark-dashboard .lg-score-note {
        font-size: 11px !important;
    }

    /* Archive uses the 3/4 rail. */
    .lg-dashboard-archive-heading {
        margin-bottom: 12px !important;
        padding: 0 0 11px !important;
    }
    .lg-dashboard-archive-heading h2 {
        font-size: 21px !important;
    }
    .lg-dashboard-panel-archive .lg-archive-wrap {
        font-size: 11px !important;
    }
    .lg-dashboard-panel-archive .year-grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 9px !important;
    }
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 9px !important;
    }

    /* 9:16 archive thumbnails, a little larger now that the right rail is wide. */
    .lg-dark-dashboard .lg-insta-thumb-link,
    .lg-dashboard-panel-archive .lg-insta-thumb-link {
        width: 60px !important;
        flex: 0 0 60px !important;
        height: auto !important;
        aspect-ratio: 9 / 16 !important;
    }
}

/* Large-notebook widths: keep the left rail usable and reduce archive columns. */
@media (min-width: 901px) and (max-width: 1399px) {
    .lg-dashboard-shell {
        grid-template-columns: minmax(330px, 1fr) minmax(0, 2.45fr) !important;
    }
    .lg-dashboard-panel-archive .year-grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    }
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

@media (min-width: 901px) and (max-width: 1099px) {
    .lg-dashboard-shell {
        grid-template-columns: minmax(320px, .95fr) minmax(0, 1.8fr) !important;
    }
    .lg-dashboard-panel-archive .year-grid,
    .lg-dashboard-panel-archive .lg-record-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

/* Keep mobile layout and 3-tab behavior, only tone down oversized hero/type. */
@media (max-width: 900px) {
    .lg-dark-dashboard {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }
    .lg-dashboard-title { font-size: 34px !important; }
    .lg-dashboard-subtitle { font-size: 12px !important; }
    .lg-dark-dashboard .lg-live-section-title h3,
    .lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3 {
        font-size: 18px !important;
    }
    .lg-dashboard-archive-heading h2 { font-size: 21px !important; }
}

/* =========================================================
   v2.4.0 — visual refinement, no data removed
   1) full-bleed/faded hero background
   2) equal-width mobile tab hit areas
   3) compact unified 8-metric season summary
   4) 4+3 detail stats on desktop / 7 in one row on mobile
   5) vertically aligned standings
   6) dark monthly calendar
   7) dark archive section headers
   ========================================================= */

/* Background: fill the entire atmospheric area so the portrait source never has a visible hard edge. */
.lg-dark-dashboard::before {
    top: -24px !important;
    left: 50% !important;
    width: 100vw !important;
    height: 780px !important;
    transform: translateX(-50%) !important;
    opacity: .48 !important;
    background-image: var(--lg-hero-image, linear-gradient(135deg, rgba(200,16,46,.12), #080a0d)) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center 28% !important;
    filter: saturate(.82) contrast(1.03) brightness(.72) !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgba(0,0,0,.82) 68%, rgba(0,0,0,.34) 86%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgba(0,0,0,.82) 68%, rgba(0,0,0,.34) 86%, transparent 100%) !important;
}
.lg-dark-dashboard::after {
    top: -24px !important;
    width: 100vw !important;
    height: 820px !important;
    background:
        linear-gradient(90deg, #080a0d 0%, rgba(8,10,13,.84) 16%, rgba(8,10,13,.34) 50%, rgba(8,10,13,.64) 83%, #080a0d 100%),
        linear-gradient(180deg, rgba(8,10,13,.34) 0%, rgba(8,10,13,.16) 38%, rgba(8,10,13,.60) 70%, #080a0d 100%),
        radial-gradient(circle at 72% 18%, rgba(255,59,87,.11), transparent 31rem) !important;
}

/* The first 8 metrics are one summary group. Simple mode hides only the 7 deep-detail metrics. */
.lg-dark-dashboard .lg-live-wrap.is-stats-compact .lg-stats-card > .stats-4.lg-stats-extra {
    display: grid !important;
}
.lg-dark-dashboard .lg-live-wrap.is-stats-compact .lg-stats-card > .stats-7.lg-stats-extra {
    display: none !important;
}

@media (min-width: 901px) {
    /* Make the 8 summary metrics feel like one compact 4 x 2 dashboard. */
    .lg-dark-dashboard .lg-stats-card > .stats:first-child,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra {
        margin-top: 5px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > * {
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 7px 3px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        border-radius: 8px !important;
        background: rgba(18,22,28,.78) !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child br,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra br { display: none !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small {
        font-size: 11px !important;
        line-height: 1.1 !important;
        color: #818b97 !important;
        white-space: nowrap !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b {
        max-width: 100% !important;
        font-size: 12.5px !important;
        line-height: 1.05 !important;
        letter-spacing: -.045em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :first-child b { color: var(--lg-red) !important; }

    /* Deep detail: first row 4 items, second row 3 items spanning the full width. */
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra {
        grid-template-columns: repeat(12, minmax(0,1fr)) !important;
        gap: 5px !important;
        margin-top: 7px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 6px 3px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        border: 1px solid rgba(255,255,255,.06) !important;
        border-radius: 8px !important;
        background: rgba(14,18,23,.70) !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > :nth-child(-n+4) { grid-column: span 3 !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > :nth-child(n+5) { grid-column: span 4 !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra br { display: none !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small { font-size: 11px !important; line-height: 1 !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b { font-size: 11.5px !important; line-height: 1 !important; }

    /* Standings rows: fixed vertical rhythm, all cells centered on the same baseline. */
    .lg-dark-dashboard .lg-team-rank-table {
        border-collapse: collapse !important;
        table-layout: fixed !important;
    }
    .lg-dark-dashboard .lg-team-rank-table thead tr { height: 29px !important; }
    .lg-dark-dashboard .lg-team-rank-table tbody tr { height: 31px !important; }
    .lg-dark-dashboard .lg-team-rank-table th,
    .lg-dark-dashboard .lg-team-rank-table td {
        height: inherit !important;
        padding: 0 2px !important;
        vertical-align: middle !important;
        text-align: center !important;
        line-height: 1.08 !important;
        white-space: nowrap !important;
    }
    .lg-dark-dashboard .lg-team-rank-table .team-name { vertical-align: middle !important; text-align: center !important; }
}

/* Dark monthly calendar — override the plugin's white-calendar defaults. */
.lg-dark-dashboard .lg-month-calendar {
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 10px !important;
    background: #0e1116 !important;
    overflow: hidden !important;
}
.lg-dark-dashboard .lg-calendar-head div {
    padding: 7px 0 !important;
    border-color: rgba(255,255,255,.07) !important;
    background: #15191f !important;
    color: #818b97 !important;
    font-size: 11px !important;
}
.lg-dark-dashboard .lg-calendar-grid { background: #0e1116 !important; }
.lg-dark-dashboard .lg-calendar-cell,
.lg-dark-dashboard .lg-calendar-cell.is-empty {
    border-color: rgba(255,255,255,.055) !important;
    background: #0e1116 !important;
    color: #dce1e7 !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-empty { background: #0b0e12 !important; }
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover {
    background: linear-gradient(145deg, var(--team-bg, rgba(255,255,255,.035)), #11161c 64%, #0e1116 100%) !important;
}
.lg-dark-dashboard .lg-calendar-day-badge,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge {
    border-color: rgba(255,255,255,.10) !important;
    background: rgba(20,25,31,.92) !important;
    color: #bdc5ce !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
}
.lg-dark-dashboard .lg-calendar-day-number { color: #dce1e7 !important; }
.lg-dark-dashboard .lg-calendar-game { color: #eef1f4 !important; }
.lg-dark-dashboard .lg-calendar-game:hover { background: rgba(255,255,255,.035) !important; }
.lg-dark-dashboard .lg-calendar-game + .lg-calendar-game { border-top-color: rgba(255,255,255,.08) !important; }
.lg-dark-dashboard .lg-calendar-opponent { color: #f2f4f7 !important; }
.lg-dark-dashboard .lg-calendar-score { color: #dce1e7 !important; }
.lg-dark-dashboard .lg-calendar-stadium,
.lg-dark-dashboard .lg-calendar-time { color: #7f8995 !important; }
.lg-dark-dashboard .lg-calendar-cell.is-today { box-shadow: inset 0 0 0 1px rgba(255,59,87,.58) !important; }

/* Archive section cards/titles: remove the remaining white plugin surfaces. */
.lg-dashboard-panel-archive .lg-archive-stats-section,
.lg-dashboard-panel-archive .lg-archive-record-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dashboard-panel-archive .lg-archive-record-section {
    padding-top: 18px !important;
    border-top: 1px solid rgba(255,255,255,.075) !important;
}
.lg-dashboard-panel-archive .lg-archive-section-title,
.lg-dashboard-panel-archive .lg-archive-stats-title {
    border-bottom-color: rgba(255,255,255,.07) !important;
    background: transparent !important;
}
.lg-dashboard-panel-archive .lg-archive-section-title h3,
.lg-dashboard-panel-archive .lg-archive-stats-title h3 {
    color: #edf1f5 !important;
}
.lg-dashboard-panel-archive .lg-archive-section-title p,
.lg-dashboard-panel-archive .lg-archive-stats-title p {
    color: #7f8995 !important;
}
.lg-dashboard-panel-archive .lg-archive-action-btn {
    border-color: rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.035) !important;
    color: #aeb6c0 !important;
}
.lg-dashboard-panel-archive .lg-archive-action-btn:hover {
    border-color: rgba(255,59,87,.28) !important;
    background: rgba(255,59,87,.09) !important;
    color: var(--lg-red) !important;
}

@media (max-width: 900px) {
    /* Background still fills edge-to-edge on mobile, with a softer crop and longer fade. */
    .lg-dark-dashboard::before {
        top: -12px !important;
        height: 500px !important;
        transform: translateX(-50%) scale(1.02) !important;
        opacity: .39 !important;
        background-size: cover !important;
        background-position: center 24% !important;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 43%, rgba(0,0,0,.72) 66%, transparent 100%) !important;
        mask-image: linear-gradient(to bottom, #000 0%, #000 43%, rgba(0,0,0,.72) 66%, transparent 100%) !important;
    }
    .lg-dark-dashboard::after {
        top: -12px !important;
        height: 530px !important;
        background:
            linear-gradient(90deg, rgba(8,10,13,.76), rgba(8,10,13,.32) 52%, rgba(8,10,13,.66)),
            linear-gradient(180deg, rgba(8,10,13,.22), rgba(8,10,13,.18) 42%, #080a0d 100%) !important;
    }

    /* Three equal tab boxes and full-size touch targets. */
    .lg-dashboard-mobile-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        width: 100% !important;
        gap: 0 !important;
        padding: 3px !important;
        margin-top: 15px !important;
        border: 1px solid rgba(255,255,255,.09) !important;
        border-radius: 11px !important;
        background: rgba(11,14,18,.78) !important;
        overflow: hidden !important;
        backdrop-filter: blur(8px);
    }
    .lg-dashboard-tab-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 43px !important;
        padding: 7px 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
        color: #939ca7 !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
    }
    .lg-dashboard-tab-btn + .lg-dashboard-tab-btn { border-left: 1px solid rgba(255,255,255,.055) !important; }
    .lg-dashboard-tab-btn::after { display: none !important; }
    .lg-dashboard-tab-btn.is-active {
        background: rgba(255,59,87,.12) !important;
        color: #ff5a70 !important;
        box-shadow: inset 0 0 0 1px rgba(255,59,87,.13) !important;
    }

    /* Unified 8-metric summary: compact 4 x 2 grid instead of oversized 2-column cards. */
    .lg-dark-dashboard .lg-stats-card { padding: 0 8px 9px !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra { margin-top: 4px !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > * {
        grid-column: auto !important;
        min-width: 0 !important;
        min-height: 51px !important;
        padding: 7px 2px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border: 1px solid rgba(255,255,255,.065) !important;
        border-radius: 8px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child br,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra br { display: none !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small {
        font-size: 7.5px !important;
        line-height: 1.05 !important;
        color: #808a96 !important;
        white-space: nowrap !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b {
        max-width: 100% !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        letter-spacing: -.05em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b { font-size: 10.5px !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :first-child b { color: var(--lg-red) !important; }

    /* User preferred the 7 detail metrics in one mobile row. */
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra {
        display: grid !important;
        grid-template-columns: repeat(7, minmax(0,1fr)) !important;
        gap: 3px !important;
        margin-top: 5px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .lg-dark-dashboard .lg-live-wrap.is-stats-compact .lg-stats-card > .stats-7.lg-stats-extra { display: none !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
        grid-column: auto !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 5px 1px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        border: 1px solid rgba(255,255,255,.055) !important;
        border-radius: 7px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra br { display: none !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small { font-size: 6.8px !important; line-height: 1 !important; }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b { font-size: 9.5px !important; line-height: 1 !important; }

    /* Standings alignment on mobile too. */
    .lg-dark-dashboard .lg-team-rank-table th,
    .lg-dark-dashboard .lg-team-rank-table td {
        vertical-align: middle !important;
        text-align: center !important;
        line-height: 1.05 !important;
    }

    /* Calendar is narrower on mobile; keep dark cells compact but legible. */
    .lg-dark-dashboard .lg-calendar-head div { font-size: 8px !important; padding: 6px 0 !important; }

    /* Archive heading/title boxes remain dark in the mobile archive tab. */
    .lg-dashboard-panel-archive .lg-archive-stats-section,
    .lg-dashboard-panel-archive .lg-archive-record-section {
    }
}

@media (max-width: 420px) {
    .lg-dashboard-tab-btn { min-height: 42px !important; font-size: 10px !important; padding-left: 2px !important; padding-right: 2px !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b { font-size: 11.5px !important; }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b { font-size: 9.8px !important; }
}


/* =========================================================
   v2.5.0 — mobile nav / attendance marker / type tuning
   Data markup is untouched; these are presentation-only overrides.
   ========================================================= */

/* Monthly calendar attendance marker: restore the original attended state
   on top of the dark calendar palette. */
.lg-dark-dashboard .lg-calendar-cell .lg-calendar-day-badge.is-attended,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge.is-attended {
    background: rgba(255,59,87,.16) !important;
    border-color: rgba(255,74,101,.88) !important;
    color: #ff6076 !important;
    box-shadow:
        0 0 0 1px rgba(255,59,87,.08),
        0 0 14px rgba(255,59,87,.12) !important;
}
.lg-dark-dashboard .lg-calendar-day-badge.is-attended .lg-calendar-day-number {
    color: #ff6076 !important;
}
.lg-dark-dashboard .lg-schedule-attended-dot,
.lg-dark-dashboard .lg-calendar-day-badge .lg-schedule-attended-dot,
.lg-dark-dashboard .lg-schedule-marker-legend .is-attended {
    color: #ff405d !important;
    opacity: 1 !important;
}

/* Desktop: slightly larger season-stat and standings data while keeping the
   compact 1/4 left rail. */
@media (min-width: 901px) {
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small {
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b {
        font-size: 14px !important;
        font-variant-numeric: tabular-nums;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small {
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b {
        font-size: 12.75px !important;
        font-variant-numeric: tabular-nums;
    }
    .lg-dark-dashboard .lg-team-rank-table {
        font-size: 11px !important;
    }
    .lg-dark-dashboard .lg-team-rank-table th {
        font-size: 11px !important;
        font-weight: 720 !important;
    }
    .lg-dark-dashboard .lg-team-rank-table td {
        font-size: 11px !important;
        font-weight: 590 !important;
    }
    .lg-dark-dashboard .lg-team-rank-table tr.is-lg td {
        font-weight: 790 !important;
    }
}

@media (max-width: 900px) {
    /* Make room for the bottom navigation bar. */
    body.lg-twins-dark-site {
        padding-bottom: calc(58px + env(safe-area-inset-bottom)) !important;
    }

    /* True edge-to-edge bottom navigation, not a floating pill. */
    .lg-dashboard-mobile-tabs {
        position: fixed !important;
        z-index: 9999 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        transform: none !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        width: 100vw !important;
        max-width: none !important;
        min-height: calc(56px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        gap: 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 0 !important;
        background: rgba(8,10,13,.97) !important;
        box-shadow: 0 -10px 30px rgba(0,0,0,.28) !important;
        backdrop-filter: blur(16px) saturate(1.08) !important;
        -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
        overflow: visible !important;
    }
    .lg-dashboard-tab-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 0 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #8e97a3 !important;
        box-shadow: none !important;
        font-size: 11px !important;
        font-weight: 760 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
    }
    .lg-dashboard-tab-btn + .lg-dashboard-tab-btn {
        border-left: 1px solid rgba(255,255,255,.065) !important;
    }
    .lg-dashboard-tab-btn::after { display: none !important; }
    .lg-dashboard-tab-btn.is-active {
        background: rgba(255,59,87,.10) !important;
        color: #ff5b71 !important;
        box-shadow: inset 0 2px 0 #ff3b57 !important;
    }

    /* The 8 summary metrics use one consistent type scale. */
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small {
        font-size: 9px !important;
        line-height: 1.05 !important;
        font-weight: 680 !important;
        letter-spacing: -.035em !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b,
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b {
        font-size: 12.5px !important;
        line-height: 1.05 !important;
        font-weight: 820 !important;
        letter-spacing: -.065em !important;
        font-variant-numeric: tabular-nums;
    }

    /* Mobile footer stays on one compact line above the bottom tabs. */
    .lg-site-footer {
        width: calc(100% - 20px) !important;
        padding: 18px 0 20px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 0 !important;
        font-size: 9.5px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    .lg-site-footer span { white-space: nowrap !important; }
}

@media (max-width: 420px) {
    .lg-dashboard-tab-btn {
        min-height: 54px !important;
        font-size: 10.5px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b,
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b {
        font-size: 12px !important;
    }
    .lg-site-footer { font-size: 9px !important; }
}

/* =========================================================
   v2.6.0 — desktop minimum readable type size
   PC only. Mobile type scale is intentionally unchanged.
   ========================================================= */
@media (min-width: 901px) {
    /* Pseudo-element text cannot be measured by the runtime clamp. */
    .lg-dark-dashboard .lg-schedule-nav-title::after {
        font-size: 11px !important;
    }
}

/* =========================================================
   v2.7.0 — mobile flat sections / pinned bottom nav
   Presentation only. Original shortcode data markup is preserved.
   ========================================================= */
@media (max-width: 900px) {
    /* Stats is already flat. Make standings, schedule and archive use the
       same page-level surface instead of enclosing each tab in a big card. */
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section,
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-archive,
    .lg-dark-dashboard .lg-dashboard-panel-archive {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        overflow: visible !important;
    }

    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .lg-dark-dashboard .lg-team-rank-wrap,
    .lg-dark-dashboard .lg-team-rank-panel {
        background: transparent !important;
        box-shadow: none !important;
    }
    .lg-dark-dashboard .lg-team-rank-panel {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
    }

    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .lg-dark-dashboard .lg-schedule-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Archive: remove the outer card and the section-wide background blocks;
       individual season/game/filter cards remain intact. */
    .lg-dark-dashboard[data-lg-mobile-view="archive"] .lg-dashboard-panel-archive {
        margin-top: 18px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .lg-dashboard-panel-archive .lg-archive-stats-section,
    .lg-dashboard-panel-archive .lg-archive-record-section {
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    .lg-dashboard-panel-archive .lg-dashboard-archive-heading {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Keep the navigation in the foremost stacking layer. The hero used to
       create a lower stacking context than some shortcode sections. */
    .lg-dashboard-hero {
        z-index: 2147483000 !important;
    }
    .lg-dashboard-hero-row {
        z-index: 2147483001 !important;
    }
    .lg-dashboard-mobile-tabs {
        position: fixed !important;
        z-index: 2147483646 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        isolation: isolate !important;
        pointer-events: auto !important;
    }

    /* Reserve actual scrollable space below the page so the last row/footer
       can be scrolled completely above the fixed navigation. */
    body.lg-twins-dark-site {
        padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    }
    .lg-dark-dashboard {
        padding-bottom: 24px !important;
    }
    .lg-site-footer {
        margin-bottom: 0 !important;
    }
}


/* =========================================================
   v2.9.0 — archive empty postseason labels / zero-state visibility
   Presentation only. No shortcode data is removed or altered.
   ========================================================= */
@media (max-width: 900px) {
    /* Keep the document itself from becoming horizontally scrollable. Wide
       tables/cards keep their own local scroll areas instead. */
    html,
    body.lg-twins-dark-site {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        overscroll-behavior-x: none;
    }
    @supports (overflow: clip) {
        html,
        body.lg-twins-dark-site { overflow-x: clip !important; }
    }

    .lg-dark-dashboard,
    .lg-dashboard-shell,
    .lg-dashboard-panel,
    .lg-dashboard-panel-body,
    .lg-dark-dashboard .lg-live-wrap,
    .lg-dark-dashboard .lg-live-section,
    .lg-dark-dashboard .lg-archive-wrap,
    .lg-dashboard-panel-archive,
    .lg-dashboard-panel-archive .lg-archive-stats-section,
    .lg-dashboard-panel-archive .lg-archive-record-section {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Avoid 100vw + centered transforms creating a tiny document overflow on
       mobile browsers with dynamic scrollbars. The atmospheric background is
       still edge-to-edge because it matches the dashboard's viewport span. */
    .lg-dark-dashboard::before,
    .lg-dark-dashboard::after {
        left: 50% !important;
        width: 100dvw !important;
        max-width: 100dvw !important;
    }
    @supports not (width: 100dvw) {
        .lg-dark-dashboard::before,
        .lg-dark-dashboard::after {
            width: 100vw !important;
            max-width: 100vw !important;
        }
    }

    /* Tables/calendars that genuinely need extra width scroll inside their
       own section, never the page. */
    .lg-dark-dashboard .lg-team-rank-panel,
    .lg-dark-dashboard .lg-table-wrap,
    .lg-dark-dashboard .lg-month-calendar,
    .lg-dark-dashboard .lg-schedule-content,
    .lg-dashboard-panel-archive .year-grid,
    .lg-dashboard-panel-archive .lg-insta-scroll {
        max-width: 100% !important;
    }
    .lg-dark-dashboard .lg-team-rank-panel,
    .lg-dark-dashboard .lg-table-wrap,
    .lg-dashboard-panel-archive .year-grid,
    .lg-dashboard-panel-archive .lg-insta-scroll {
        overflow-x: auto !important;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    /* The mobile navigation is moved to <body> by JS so fixed positioning is
       relative to the visual viewport, not any dashboard stacking context.
       Put the bar ABOVE the device safe area instead of padding into it. */
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs {
        position: fixed !important;
        z-index: 2147483646 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: env(safe-area-inset-bottom, 0px) !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 56px !important;
        height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.11) !important;
        border-radius: 0 !important;
        background: rgba(8,10,13,.985) !important;
        box-shadow: 0 -8px 24px rgba(0,0,0,.30) !important;
        backdrop-filter: blur(14px) saturate(1.05) !important;
        -webkit-backdrop-filter: blur(14px) saturate(1.05) !important;
        overflow: hidden !important;
        isolation: isolate !important;
        pointer-events: auto !important;
        touch-action: manipulation;
    }
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs .lg-dashboard-tab-btn {
        min-height: 56px !important;
        height: 56px !important;
        width: 100% !important;
    }

    /* Reserve the exact occupied area: navigation height + device safe area
       + a small breathing room. This keeps the final row/footer unobscured. */
    body.lg-twins-dark-site {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .lg-site-footer {
        margin-bottom: 0 !important;
        padding-bottom: 18px !important;
    }

    /* Archive season card: original plugin values are present, but its light
       theme gave regular/postseason numbers a near-black color. Explicitly
       restore all W/L/D and rate values for the dark surface. */
    .lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-row,
    .lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-row {
        color: #aeb7c2 !important;
        opacity: 1 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-row strong,
    .lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-row strong {
        color: #f1f4f7 !important;
        opacity: 1 !important;
        visibility: visible !important;
        text-shadow: none !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-sub-row strong,
    .lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-sub-row strong {
        color: #ff5b71 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-block h5,
    .lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-block h5 {
        color: #ff6479 !important;
    }

    /* Empty regular/postseason rows still communicate the season split.
       Keep labels and zero values visible in a muted tone instead of
       disappearing completely (e.g. 2026 postseason before games exist). */
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-block h5,
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-row span {
        visibility: visible !important;
        opacity: 1 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-block h5 {
        color: #9fa8b3 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-row {
        color: #8f99a5 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-row strong {
        color: #c5ccd4 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-sub-row strong {
        color: #b8c0c9 !important;
    }
    .lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-sub-row::after {
        content: "제외 0";
        color: #8f99a5 !important;
        font-size: inherit;
        font-weight: 800;
        letter-spacing: inherit;
        white-space: nowrap;
    }
}


/* =========================================================
   v2.10.0 — mobile nav height / schedule top spacing
   Presentation only. Data markup remains untouched.
   ========================================================= */
@media (max-width: 900px) {
    /* Shorter fixed bottom navigation. Keep it above the device safe area. */
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs {
        min-height: 48px !important;
        height: 48px !important;
    }
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs .lg-dashboard-tab-btn {
        min-height: 48px !important;
        height: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.1 !important;
    }

    /* Reserve nav height + safe area + a small breathing room only. */
    body.lg-twins-dark-site {
        padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Schedule-only tab used to inherit the live panel's generic top padding,
       which made this tab start noticeably lower than the others. */
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live > .lg-dashboard-panel-body,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live .lg-live-wrap {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-schedule-section,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-schedule-section .lg-live-section-title {
        margin-top: 0 !important;
    }
}

@media (max-width: 420px) {
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs,
    body.lg-twins-dark-site > .lg-dashboard-mobile-tabs .lg-dashboard-tab-btn {
        min-height: 46px !important;
        height: 46px !important;
    }
    body.lg-twins-dark-site {
        padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    }
}


/* v2.11.0 — archive heading cleanup */
.lg-dashboard-archive-heading h2 .lg-dashboard-section-icon {
    display: inline-block;
    margin-right: 5px;
    font-size: .88em;
    line-height: 1;
    vertical-align: .04em;
}


/* =========================================================
   v2.12.0 — unified section hierarchy + cleaner archive copy
   ========================================================= */
:root {
    --lg-section-title-size: 19px;
    --lg-subsection-title-size: 15px;
}

/* The four primary dashboard section titles share one visual level. */
.lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3,
.lg-dashboard-archive-heading h2 {
    margin: 0 !important;
    font-size: var(--lg-section-title-size) !important;
    line-height: 1.2 !important;
    font-weight: 820 !important;
    letter-spacing: -.035em !important;
    color: #f3f5f7 !important;
}

.lg-dashboard-archive-heading {
    display: block !important;
    align-items: initial !important;
}
.lg-dashboard-archive-heading h2 {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.lg-dashboard-archive-heading h2 .lg-dashboard-section-icon {
    margin: 0 !important;
    flex: 0 0 auto;
    font-size: .9em !important;
    line-height: 1 !important;
    vertical-align: 0 !important;
}
.lg-dashboard-archive-description {
    margin: 6px 0 0 !important;
    color: #8f98a4 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: -.02em !important;
}

/* Keep archive subsections, but remove duplicate explanatory copy. */
.lg-dashboard-panel-archive .lg-archive-section-title h3,
.lg-dashboard-panel-archive .lg-archive-stats-title h3 {
    margin: 0 !important;
    font-size: var(--lg-subsection-title-size) !important;
    line-height: 1.25 !important;
    font-weight: 760 !important;
    letter-spacing: -.025em !important;
}
.lg-dashboard-panel-archive .lg-archive-section-title p,
.lg-dashboard-panel-archive .lg-archive-stats-title p {
    display: none !important;
}

@media (max-width: 900px) {
    :root {
        --lg-section-title-size: 18px;
        --lg-subsection-title-size: 15px;
    }

    .lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3,
    .lg-dashboard-archive-heading h2 {
        font-size: var(--lg-section-title-size) !important;
        line-height: 1.2 !important;
    }

    .lg-dashboard-archive-description {
        margin-top: 5px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
}

/* =========================================================
   v2.13.0 — simplified site masthead
   ========================================================= */
.lg-dashboard-brand {
    display: flex !important;
    align-items: center !important;
    min-height: 1px !important;
}
.lg-dashboard-title {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
    text-transform: uppercase !important;
    color: #f5f7fa !important;
}
.lg-dashboard-kicker,
.lg-dashboard-subtitle {
    display: none !important;
}
.lg-dashboard-hero {
    padding-top: 36px !important;
    padding-bottom: 22px !important;
}
@media (max-width: 900px) {
    .lg-dashboard-title {
        font-size: 21px !important;
        line-height: 1.1 !important;
    }
    .lg-dashboard-hero {
        padding-top: 26px !important;
        padding-bottom: 17px !important;
    }
}


/* =========================================================
   v2.14.0 — translucent data surfaces + mobile detail default
   - Presentation only. No plugin/data markup is removed.
   ========================================================= */

/* Let the atmospheric background breathe through the data surfaces. */
.lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
.lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > * {
    background: rgba(14,18,24,.50) !important;
    border-color: rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.018), 0 10px 28px rgba(0,0,0,.09) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}
.lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
    background: rgba(10,14,19,.43) !important;
    border-color: rgba(255,255,255,.065) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}
.lg-dark-dashboard .lg-stats-card > .lg-stats-extra {
    background: rgba(8,12,17,.38) !important;
}

/* Schedule rows/calendar cells: translucent dark instead of opaque blocks. */
.lg-dark-dashboard .lg-schedule-table tbody tr,
.lg-dark-dashboard .lg-schedule-table tbody tr:hover,
.lg-dark-dashboard .lg-schedule-table tbody tr:nth-child(even) {
    background: rgba(10,14,19,.48) !important;
}
.lg-dark-dashboard .lg-schedule-table th {
    background: rgba(14,18,24,.54) !important;
}
.lg-dark-dashboard .lg-month-calendar,
.lg-dark-dashboard .lg-calendar-grid,
.lg-dark-dashboard .lg-calendar-cell,
.lg-dark-dashboard .lg-calendar-cell.is-empty {
    background: rgba(8,12,17,.43) !important;
}
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover,
.lg-dark-dashboard .lg-calendar-game {
    background: rgba(9,13,18,.46) !important;
}

/* Archive season/stat cards: use one translucent surface instead of stacked opacity. */
.lg-dark-dashboard .lg-season-card {
    background: rgba(10,14,19,.52) !important;
    border-color: rgba(255,255,255,.075) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}
.lg-dark-dashboard .lg-season-main,
.lg-dark-dashboard .lg-season-card-board,
.lg-dark-dashboard .lg-season-side-top,
.lg-dark-dashboard .lg-season-side-bottom {
    background: transparent !important;
    border-color: rgba(255,255,255,.075) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.lg-dark-dashboard .lg-season-card-head {
    background: rgba(12,16,22,.34) !important;
    border-color: rgba(255,255,255,.075) !important;
}

/* Game record metadata: replace the plugin's light-gray chips with true dark-mode surfaces. */
.lg-dark-dashboard .lg-game-info-row {
    background: rgba(5,8,12,.54) !important;
    border-color: rgba(255,255,255,.065) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.012) !important;
}
.lg-dark-dashboard .lg-game-info-label {
    color: #7f8995 !important;
}
.lg-dark-dashboard .lg-game-info-value,
.lg-dark-dashboard .lg-game-memo-row .lg-game-info-value {
    color: #c7ced7 !important;
}
.lg-dark-dashboard .lg-game-kind,
.lg-dark-dashboard .lg-game-result {
    background: rgba(5,8,12,.68) !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #9ba4af !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-game-result {
    color: var(--lg-red) !important;
}
.lg-dark-dashboard .lg-game-match {
    background: rgba(7,10,14,.52) !important;
    border-color: rgba(255,255,255,.065) !important;
}

/* Short archive description: guaranteed single line on common mobile widths. */
@media (max-width: 900px) {
    .lg-dashboard-archive-description {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }
}

/* =========================================================
   v2.15.0 — translucent monthly calendar + archive hierarchy cleanup
   ========================================================= */
/* The calendar is made of several stacked surfaces. Reduce opacity on each
   layer so the final visual weight matches the translucent week/month tables. */
.lg-dark-dashboard .lg-month-calendar {
    background: rgba(7,10,14,.18) !important;
    border-color: rgba(255,255,255,.07) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}
.lg-dark-dashboard .lg-calendar-head,
.lg-dark-dashboard .lg-calendar-grid {
    background: transparent !important;
}
.lg-dark-dashboard .lg-calendar-head div {
    background: rgba(14,18,24,.34) !important;
    border-color: rgba(255,255,255,.055) !important;
}
.lg-dark-dashboard .lg-calendar-cell,
.lg-dark-dashboard .lg-calendar-cell.is-empty {
    background: rgba(9,13,18,.27) !important;
    border-color: rgba(255,255,255,.05) !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-empty {
    background: rgba(7,10,14,.20) !important;
}
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover {
    background: rgba(10,14,19,.31) !important;
}
.lg-dark-dashboard .lg-calendar-game,
.lg-dark-dashboard .lg-calendar-game:hover {
    background: transparent !important;
}
.lg-dark-dashboard .lg-calendar-day-badge,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge {
    background: rgba(16,21,27,.44) !important;
    border-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}
/* Keep attended dates clearly visible after lowering the base badge opacity. */
.lg-dark-dashboard .lg-calendar-cell .lg-calendar-day-badge.is-attended,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge.is-attended {
    background: rgba(200,16,46,.20) !important;
    border-color: rgba(255,59,87,.72) !important;
}

/* '직관 통계' repeats the parent '직관 아카이브' heading. Keep the season
   cards and filter behavior, but remove only that redundant subsection title. */
.lg-dashboard-panel-archive .lg-archive-stats-title {
    display: none !important;
}
.lg-dashboard-panel-archive .lg-archive-stats-section {
    padding-top: 0 !important;
}
.lg-dashboard-panel-archive .lg-archive-stats-section > .year-grid {
    margin-top: 0 !important;
}


/* =========================================================
   v2.16.0 — lighter archive copy + genuinely translucent calendar
   ========================================================= */
/* Match the archive description to the muted descriptions used by the
   stats / standings / schedule sections. */
.lg-dashboard-archive-description {
    color: var(--lg-muted, #8f98a4) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
}

/* Keep the calendar translucent while matching the visual weight of schedule rows. */
.lg-dark-dashboard .lg-month-calendar {
    background: rgba(7,10,14,.10) !important;
    border-color: rgba(255,255,255,.055) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.lg-dark-dashboard .lg-calendar-head,
.lg-dark-dashboard .lg-calendar-grid {
    background: transparent !important;
}
.lg-dark-dashboard .lg-calendar-head div {
    background: rgba(13,17,22,.28) !important;
    border-color: rgba(255,255,255,.055) !important;
}
.lg-dark-dashboard .lg-calendar-cell,
.lg-dark-dashboard .lg-calendar-cell.is-empty,
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover {
    background: rgba(8,12,17,.24) !important;
    border-color: rgba(255,255,255,.05) !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-empty {
    background: rgba(7,10,14,.12) !important;
}
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover {
    background: rgba(10,14,19,.30) !important;
}
.lg-dark-dashboard .lg-calendar-game,
.lg-dark-dashboard .lg-calendar-game:hover {
    background: transparent !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-calendar-day-badge,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge {
    background: rgba(15,20,26,.32) !important;
    border-color: rgba(255,255,255,.065) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
/* Attended days stay prominent even though the base calendar is lighter. */
.lg-dark-dashboard .lg-calendar-cell .lg-calendar-day-badge.is-attended,
.lg-dark-dashboard .lg-calendar-cell:not(.has-game) .lg-calendar-day-badge.is-attended {
    background: rgba(200,16,46,.14) !important;
    border-color: rgba(255,59,87,.72) !important;
    box-shadow: 0 0 0 1px rgba(255,59,87,.05) !important;
}


/* =========================================================
   v2.17.0 — flat primary sections / unified headings / hover & focus polish
   Presentation only. No shortcode data or collection logic is changed.
   ========================================================= */

/* 1) All four primary dashboard areas use the same page-level surface.
   Keep the actual stat tiles/tables/calendar/season cards intact. */
.lg-dark-dashboard .lg-stats-section,
.lg-dark-dashboard .lg-team-rank-section,
.lg-dark-dashboard .lg-schedule-section,
.lg-dashboard-panel-archive {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
}

/* Remove the old outer-card inset so titles and their data start on the same axis. */
.lg-dark-dashboard .lg-stats-card,
.lg-dark-dashboard .lg-team-rank-panel,
.lg-dark-dashboard .lg-schedule-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2) One hierarchy for season stats / standings / schedule / archive. */
.lg-dark-dashboard .lg-stats-section .lg-live-section-title,
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title,
.lg-dashboard-archive-heading {
    margin: 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
}
.lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3,
.lg-dashboard-archive-heading h2 {
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 820 !important;
    letter-spacing: -.035em !important;
    color: #f3f5f7 !important;
}
.lg-dark-dashboard .lg-stats-section .lg-live-section-title .lg-schedule-desc,
.lg-dark-dashboard .lg-team-rank-section .lg-live-section-title .lg-schedule-desc,
.lg-dark-dashboard .lg-schedule-section .lg-live-section-title .lg-schedule-desc,
.lg-dashboard-archive-description {
    margin: 5px 0 0 !important;
    color: var(--lg-muted, #949ca8) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
}

/* 3) Regular/postseason rows had their hover hidden by later transparent
   surface overrides. Restore the same red hover used by the overall row. */
.lg-dashboard-panel-archive .lg-season-side-top.lg-season-clickable:hover,
.lg-dashboard-panel-archive .lg-season-side-bottom.lg-season-clickable:hover {
    background: rgba(255,59,87,.08) !important;
}
.lg-dashboard-panel-archive .lg-season-side-top.lg-season-clickable:focus-visible,
.lg-dashboard-panel-archive .lg-season-side-bottom.lg-season-clickable:focus-visible {
    background: rgba(255,59,87,.08) !important;
    outline: 2px solid rgba(255,59,87,.34) !important;
    outline-offset: -2px !important;
}

/* 4) Current/next schedule focus: draw one clean inset outline instead of
   separate physical cell borders, which produced uneven seams. */
.lg-dark-dashboard .lg-schedule-table tbody tr.is-focus-game td {
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: rgba(255,59,87,.055) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,59,87,.52),
        inset 0 -1px 0 rgba(255,59,87,.52) !important;
}
.lg-dark-dashboard .lg-schedule-table tbody tr.is-focus-game td:first-child {
    border-left: 0 !important;
    border-radius: 8px 0 0 8px !important;
    box-shadow:
        inset 1px 0 0 rgba(255,59,87,.62),
        inset 0 1px 0 rgba(255,59,87,.52),
        inset 0 -1px 0 rgba(255,59,87,.52) !important;
}
.lg-dark-dashboard .lg-schedule-table tbody tr.is-focus-game td:last-child {
    border-right: 0 !important;
    border-radius: 0 8px 8px 0 !important;
    box-shadow:
        inset -1px 0 0 rgba(255,59,87,.62),
        inset 0 1px 0 rgba(255,59,87,.52),
        inset 0 -1px 0 rgba(255,59,87,.52) !important;
}

/* 5) Reduce the dead space before the copyright while preserving the mobile
   navigation safe-area reservation on body. */
.lg-dark-dashboard {
    padding-bottom: 12px !important;
}
.lg-site-footer {
    padding-top: 12px !important;
    padding-bottom: 22px !important;
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-stats-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title h3,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title h3,
    .lg-dashboard-archive-heading h2 {
        font-size: 18px !important;
    }
    .lg-dark-dashboard .lg-stats-section .lg-live-section-title .lg-schedule-desc,
    .lg-dark-dashboard .lg-team-rank-section .lg-live-section-title .lg-schedule-desc,
    .lg-dark-dashboard .lg-schedule-section .lg-live-section-title .lg-schedule-desc,
    .lg-dashboard-archive-description {
        font-size: 11px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
    }
    .lg-dark-dashboard {
        padding-bottom: 8px !important;
    }
    .lg-site-footer {
        padding-top: 9px !important;
        padding-bottom: 10px !important;
    }
}

/* =========================================================
   v2.18.0 — archive rail / section dividers / mobile footer / full-bleed glow
   Presentation only. No shortcode data or collection logic is changed.
   ========================================================= */

/* 1) When the attendance season rail contains 5+ cards (including
   '시즌 전체'), keep every card on one row and scroll horizontally rather
   than wrapping to a second line. Four or fewer cards keep the normal grid. */
.lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5)) {
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 7px !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.15) transparent;
}
.lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5))::-webkit-scrollbar {
    height: 5px;
}
.lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5))::-webkit-scrollbar-track {
    background: transparent;
}
.lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5))::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.15);
    border-radius: 999px;
}
.lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5)) > .lg-season-card {
    flex: 0 0 calc((100% - 27px) / 4) !important;
    width: calc((100% - 27px) / 4) !important;
    min-width: 132px !important;
    max-width: none !important;
}

/* 2) The three flat live sections still need a visual rhythm. Use a simple
   divider between them instead of bringing back the large outer cards. */
@media (min-width: 901px) {
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        margin-top: 3px !important;
        padding-top: 15px !important;
        border-top: 1px solid rgba(255,255,255,.085) !important;
    }
}

/* On mobile only stats + standings share one tab, so separate those two.
   Schedule is its own tab and should not start with an isolated divider. */
@media (max-width: 900px) {
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-team-rank-section {
        margin-top: 2px !important;
        padding-top: 15px !important;
        border-top: 1px solid rgba(255,255,255,.085) !important;
    }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-schedule-section {
        border-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* 3) Make the copyright/footer a single, explicit mobile surface so its
   appearance does not depend on which dashboard tab happens to be visible. */
@media (max-width: 900px) {
    .lg-site-footer {
        position: relative !important;
        z-index: 3 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 11px 14px 12px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        border-top: 1px solid rgba(255,255,255,.07) !important;
        background: rgba(7,9,12,.98) !important;
        color: #69717c !important;
        font-size: 9px !important;
        line-height: 1.2 !important;
        letter-spacing: -.02em !important;
        white-space: nowrap !important;
        box-shadow: none !important;
    }
    .lg-site-footer span {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }
}

/* 4) The image already bleeds to the viewport, but the hero's additional red
   glow used the dashboard box width. Give that glow the same viewport span so
   there is no visible vertical cut at the content boundary. */
.lg-dashboard-hero::after {
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    transform: translateX(-50%) !important;
    background: radial-gradient(ellipse at 78% 58%, rgba(255,59,87,.060), transparent 52%) !important;
}
@supports (width: 100dvw) {
    .lg-dashboard-hero::after {
        width: 100dvw !important;
        max-width: 100dvw !important;
    }
}

/* 5) Monthly (31-day) calendar: the today class is already emitted by the
   schedule renderer. Later has-game transparency rules were clearing its
   shadow on game days, so explicitly restore the same red focus treatment. */
.lg-dark-dashboard .lg-calendar-cell.is-today,
.lg-dark-dashboard .lg-calendar-cell.has-game.is-today {
    background-color: rgba(255,59,87,.045) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,59,87,.62),
        inset 0 0 22px rgba(255,59,87,.035) !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-today .lg-calendar-day-badge {
    border-color: rgba(255,59,87,.62) !important;
    background: rgba(255,59,87,.11) !important;
    color: #ff6076 !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-today .lg-calendar-day-number {
    color: #ff6076 !important;
}

/* 6) Schedule mobile tab: restore the same top breathing room used by the
   stats tab / archive tab. v2.10 intentionally removed it and made the first
   schedule heading sit directly against the masthead. */
@media (max-width: 900px) {
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live {
        padding-top: 20px !important;
        margin-top: 0 !important;
    }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live > .lg-dashboard-panel-body,
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-dashboard-panel-live .lg-live-wrap {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* If 5+ season cards are present on mobile/tablet, keep the same one-row
       rail with roughly two cards visible at once. */
    .lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5)) > .lg-season-card {
        flex: 0 0 calc((100% - 9px) / 2) !important;
        width: calc((100% - 9px) / 2) !important;
        min-width: 128px !important;
    }
}

/* =========================================================
   v2.19.0 — calendar today outline / archive rail peek / mobile 4+3 detail
   Presentation only. No shortcode data or collection logic is changed.
   ========================================================= */

/* 1) 31-day calendar: today is indicated only by the outline of the whole
   day cell. Do not recolor the small "00일" badge just because it is today. */
.lg-dark-dashboard .lg-calendar-cell.is-today,
.lg-dark-dashboard .lg-calendar-cell.has-game.is-today {
    box-shadow: inset 0 0 0 1px rgba(255,59,87,.66) !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-today:not(.has-game) {
    background: rgba(8,12,17,.24) !important;
}
.lg-dark-dashboard .lg-calendar-cell.has-game.is-today {
    background: rgba(10,14,19,.30) !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-today .lg-calendar-day-badge:not(.is-attended) {
    background: rgba(15,20,26,.32) !important;
    border-color: rgba(255,255,255,.065) !important;
    color: #bdc5ce !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-calendar-cell.is-today .lg-calendar-day-badge:not(.is-attended) .lg-calendar-day-number {
    color: #dce1e7 !important;
}

/* 2) Archive season rail: with 5+ cards on desktop, make each card 95% of
   the previous rail width so a sliver of the next card remains visible. */
@media (min-width: 901px) {
    .lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(5)) > .lg-season-card {
        flex-basis: calc((95% - 27px) / 4) !important;
        width: calc((95% - 27px) / 4) !important;
    }
}

/* Mobile changes to a horizontal rail as soon as a third card exists.
   Two cards stay mostly visible, plus a small preview of the third. */
@media (max-width: 900px) {
    .lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(3)) {
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 9px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 7px !important;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.15) transparent;
    }
    .lg-dashboard-panel-archive .year-grid:has(> .lg-season-card:nth-child(3)) > .lg-season-card {
        flex: 0 0 calc((95% - 9px) / 2) !important;
        width: calc((95% - 9px) / 2) !important;
        min-width: 128px !important;
        max-width: none !important;
    }

    /* 3) Expanded season statistics: match desktop's 4 + 3 arrangement
       instead of squeezing all seven detail metrics into one line. */
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra {
        grid-template-columns: repeat(12, minmax(0,1fr)) !important;
        gap: 4px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
        grid-column: auto !important;
        min-height: 51px !important;
        padding: 7px 2px !important;
        gap: 4px !important;
        border-radius: 8px !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > :nth-child(-n+4) {
        grid-column: span 3 !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > :nth-child(n+5) {
        grid-column: span 4 !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small {
        font-size: 7.5px !important;
        line-height: 1.05 !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b {
        font-size: 12px !important;
        line-height: 1.05 !important;
        letter-spacing: -.05em !important;
    }
}

/* =========================================================
   v2.19.2 — mobile season-stat border clipping fix
   - Remove obsolete clipping/masking left from the former mobile outer card.
   - Keep each metric tile's own rounded border intact.
   ========================================================= */
@media (max-width: 900px) {
    .lg-dark-dashboard .lg-live-wrap .lg-stats-section,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:first-of-type,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:last-child,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:last-child > :first-child,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:last-child > :last-child {
        clip-path: none !important;
        -webkit-clip-path: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }

    .lg-dark-dashboard .lg-live-wrap .lg-stats-card,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:first-of-type,
    .lg-dark-dashboard .lg-live-wrap .lg-stats-card > .stats:last-child {
        overflow: visible !important;
        border-radius: 0 !important;
    }

    .lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > *,
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
        box-sizing: border-box !important;
        border-radius: 8px !important;
    }
}

/* =========================================================
   v2.20.0 — today KBO slate between season stats and standings
   - Reuses the detail-page game-card visual language.
   - Includes LG by merging the saved LG schedule with the non-LG slate table.
   ========================================================= */
.lg-dark-dashboard .lg-today-games-section {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
}
.lg-dark-dashboard .lg-today-games-section .lg-live-section-title {
    margin: 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
}
.lg-dark-dashboard .lg-today-games-section .lg-live-section-title h3 {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 820 !important;
    letter-spacing: -.035em !important;
    color: #f3f5f7 !important;
}
.lg-dark-dashboard .lg-today-games-section .lg-live-section-title .lg-schedule-desc {
    margin: 5px 0 0 !important;
    color: var(--lg-muted, #949ca8) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
}
.lg-dark-dashboard .lg-today-games-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 7px !important;
    min-width: 0 !important;
}
.lg-dark-dashboard .lg-today-game {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-width: 0 !important;
    padding: 9px 8px !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 11px !important;
    background: rgba(16,19,24,.82) !important;
    box-shadow: none !important;
}
.lg-dark-dashboard .lg-today-game.is-lg {
    border-color: rgba(255,59,87,.56) !important;
    background: linear-gradient(180deg, rgba(200,16,46,.105), rgba(16,19,24,.84)) !important;
    box-shadow: inset 0 0 0 1px rgba(255,59,87,.035) !important;
}
.lg-dark-dashboard .lg-today-game-meta {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    color: #949ca8 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
}
.lg-dark-dashboard .lg-today-game-stadium {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.lg-dark-dashboard .lg-today-game-time {
    white-space: nowrap !important;
}
.lg-dark-dashboard .lg-today-game-match {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    margin-top: 8px !important;
}
.lg-dark-dashboard .lg-today-game-team {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #e1e5ea !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.lg-dark-dashboard .lg-today-game-away { text-align: right !important; }
.lg-dark-dashboard .lg-today-game-home { text-align: left !important; }
.lg-dark-dashboard .lg-today-game-score {
    min-width: 42px !important;
    color: #f7f8fa !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
}
.lg-dark-dashboard .lg-today-game-status {
    align-self: center !important;
    margin-top: 7px !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
    color: #b3bac4 !important;
    background: #1a1f26 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}
.lg-dark-dashboard .lg-today-game-status.is-live { color: #fff !important; background: #c8102e !important; }
.lg-dark-dashboard .lg-today-game-status.is-ended { color: #fff !important; background: #3b424d !important; }
.lg-dark-dashboard .lg-today-game-status.is-canceled { color: #fb923c !important; background: rgba(249,115,22,.16) !important; }
.lg-dark-dashboard .lg-today-game-status.is-suspended { color: #fbbf24 !important; background: rgba(245,158,11,.16) !important; }
.lg-dark-dashboard .lg-today-games-empty {
    grid-column: 1 / -1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 11px !important;
    background: rgba(16,19,24,.50) !important;
    color: #89919c !important;
    font-size: 11px !important;
}

/* The new section participates in the same flat-section divider rhythm. */
@media (min-width: 901px) {
    .lg-dark-dashboard .lg-today-games-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section {
        margin-top: 3px !important;
        padding-top: 15px !important;
        border-top: 1px solid rgba(255,255,255,.085) !important;
    }
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-today-games-section {
        width: 100% !important;
        margin-bottom: 16px !important;
    }
    .lg-dark-dashboard[data-lg-mobile-view="stats"] .lg-today-games-section {
        display: block !important;
        margin-top: 2px !important;
        padding-top: 15px !important;
        border-top: 1px solid rgba(255,255,255,.085) !important;
    }
    .lg-dark-dashboard[data-lg-mobile-view="schedule"] .lg-today-games-section {
        display: none !important;
    }
    .lg-dark-dashboard .lg-today-games-section .lg-live-section-title h3 {
        font-size: 18px !important;
    }
    .lg-dark-dashboard .lg-today-games-section .lg-live-section-title .lg-schedule-desc {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
    .lg-dark-dashboard .lg-today-games-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 6px !important;
    }
    .lg-dark-dashboard .lg-today-game {
        padding: 8px 5px !important;
        border-radius: 9px !important;
    }
    .lg-dark-dashboard .lg-today-game-meta {
        grid-template-columns: auto auto !important;
        justify-content: center !important;
        gap: 3px !important;
        text-align: center !important;
        font-size: 9px !important;
    }
    .lg-dark-dashboard .lg-today-game-stadium { text-align: center !important; }
    .lg-dark-dashboard .lg-today-game-status {
        margin-top: 3px !important;
        padding: 2px 6px !important;
        font-size: 8px !important;
    }
    .lg-dark-dashboard .lg-today-game-match {
        grid-template-columns: minmax(0,1fr) !important;
        gap: 1px !important;
        margin-top: 6px !important;
    }
    .lg-dark-dashboard .lg-today-game-team {
        font-size: 9px !important;
        text-align: center !important;
    }
    .lg-dark-dashboard .lg-today-game-away,
    .lg-dark-dashboard .lg-today-game-home { text-align: center !important; }
    .lg-dark-dashboard .lg-today-game-score {
        min-width: 0 !important;
        font-size: 12px !important;
    }
}

/* =========================================================
   v2.20.1 — mobile today games: show all 5 games in one row
   ========================================================= */
@media (max-width: 900px) {
    .lg-dark-dashboard .lg-today-games-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 3px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .lg-dark-dashboard .lg-today-game {
        min-width: 0 !important;
        padding: 6px 2px !important;
        border-radius: 8px !important;
    }

    .lg-dark-dashboard .lg-today-game-meta {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: center !important;
        gap: 1px !important;
        width: 100% !important;
        font-size: 7.5px !important;
        line-height: 1.15 !important;
    }

    .lg-dark-dashboard .lg-today-game-stadium,
    .lg-dark-dashboard .lg-today-game-time {
        width: 100% !important;
        overflow: hidden !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .lg-dark-dashboard .lg-today-game-match {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1px !important;
        margin-top: 5px !important;
    }

    .lg-dark-dashboard .lg-today-game-team {
        width: 100% !important;
        font-size: 8px !important;
        line-height: 1.15 !important;
        text-align: center !important;
    }

    .lg-dark-dashboard .lg-today-game-score {
        min-width: 0 !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .lg-dark-dashboard .lg-today-game-status {
        max-width: 100% !important;
        margin-top: 4px !important;
        padding: 2px 4px !important;
        overflow: hidden !important;
        font-size: 7px !important;
        line-height: 1.1 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* =========================================================
   v2.20.2 — today games: LG last + same vertical card on PC/mobile
   PC layout now follows the compact mobile information order:
   stadium -> time -> away team -> score -> home team -> status.
   ========================================================= */
.lg-dark-dashboard .lg-today-game-meta {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 2px !important;
    width: 100% !important;
    text-align: center !important;
}

.lg-dark-dashboard .lg-today-game-stadium,
.lg-dark-dashboard .lg-today-game-time {
    width: 100% !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.lg-dark-dashboard .lg-today-game-match {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 2px !important;
    width: 100% !important;
    margin-top: 7px !important;
}

.lg-dark-dashboard .lg-today-game-team,
.lg-dark-dashboard .lg-today-game-away,
.lg-dark-dashboard .lg-today-game-home {
    width: 100% !important;
    text-align: center !important;
}

.lg-dark-dashboard .lg-today-game-score {
    min-width: 0 !important;
    text-align: center !important;
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-today-game-meta {
        gap: 1px !important;
    }
    .lg-dark-dashboard .lg-today-game-match {
        gap: 1px !important;
        margin-top: 5px !important;
    }
}


/* =========================================================
   v2.20.3 — section copy cleanup + 6+ today-games rail
   - Descriptions are removed in markup; keep headings compact.
   - Up to 5 KBO games: existing fixed 5-up layout.
   - 6+ KBO games: one-row horizontal rail, each card ~95% of
     the normal 5-up card width so the next card is visible.
   ========================================================= */
.lg-dark-dashboard .lg-live-section-title > div:first-child:only-child,
.lg-dark-dashboard .lg-dashboard-archive-heading {
    margin-bottom: 0 !important;
}

.lg-dark-dashboard .lg-today-games-grid.is-scrollable {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 1px 5px !important;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.lg-dark-dashboard .lg-today-games-grid.is-scrollable > .lg-today-game {
    flex: 0 0 calc(((100% - 28px) / 5) * .95) !important;
    width: calc(((100% - 28px) / 5) * .95) !important;
    min-width: calc(((100% - 28px) / 5) * .95) !important;
    scroll-snap-align: start;
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-today-games-grid.is-scrollable {
        gap: 3px !important;
        padding-bottom: 4px !important;
    }

    .lg-dark-dashboard .lg-today-games-grid.is-scrollable > .lg-today-game {
        flex-basis: calc(((100% - 12px) / 5) * .95) !important;
        width: calc(((100% - 12px) / 5) * .95) !important;
        min-width: calc(((100% - 12px) / 5) * .95) !important;
    }
}

/* =========================================================
   v2.20.4 — today-games 1–5 equal split + simple defaults fix
   - 1–5 games fill the row evenly according to the actual count.
   - 6+ games keep the existing 95% five-up horizontal rail.
   ========================================================= */
.lg-dark-dashboard .lg-today-games-grid:not(.is-scrollable) {
    grid-template-columns: repeat(var(--lg-today-game-count, 5), minmax(0, 1fr)) !important;
}


/* =========================================================
   v2.20.9 — today games polish
   - Show a compact KST date beside the section title.
   - Mobile: stadium + time share one line; team names are 9px.
   ========================================================= */
.lg-dark-dashboard .lg-today-games-section .lg-live-section-title h3 {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
.lg-dark-dashboard .lg-today-games-date {
    color: #7f8792 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-today-games-date {
        font-size: 9px !important;
    }

    .lg-dark-dashboard .lg-today-game-meta {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        font-size: 8px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }

    .lg-dark-dashboard .lg-today-game-stadium,
    .lg-dark-dashboard .lg-today-game-time {
        width: auto !important;
        max-width: none !important;
        overflow: hidden !important;
        flex: 0 1 auto !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .lg-dark-dashboard .lg-today-game-stadium::after {
        content: " · ";
        margin: 0 1px !important;
        color: #666e79 !important;
    }

    .lg-dark-dashboard .lg-today-game-team {
        font-size: 9px !important;
        line-height: 1.15 !important;
    }
}

/* =========================================================
   v2.21.0 — archive divider cleanup + tighter season spacing
   Presentation only. Archive data/cards/filter logic is unchanged.
   ========================================================= */
/* The archive intro already has enough hierarchy from title + description.
   Remove the rule immediately above the season cards and tighten the gap. */
.lg-dashboard-panel-archive .lg-dashboard-archive-heading {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* The record-section heading does not need a second divider immediately
   above the game-card grid. Keep the section-to-section divider itself. */
.lg-dashboard-panel-archive .lg-archive-section-title {
    border-bottom: 0 !important;
}

/* Keep only a small breathing space between the season intro copy and the
   first season-card row. */
.lg-dashboard-panel-archive .lg-dashboard-archive-description {
    margin-bottom: 0 !important;
}
.lg-dashboard-panel-archive .lg-archive-stats-section > .year-grid {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .lg-dashboard-panel-archive .lg-dashboard-archive-heading {
        margin-bottom: 7px !important;
    }
}

/* =========================================================
   v2.21.1 — archive season-card bottom spacing
   Remove the stacked bottom margin + padding below the season cards.
   Keep only a small breathing space before the next archive section.
   ========================================================= */
.lg-dashboard-panel-archive .lg-archive-stats-section {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
}

/* =========================================================
   v2.21.2 — fixed dashboard background
   Keep the selected hero image and its atmospheric overlay anchored to the
   viewport while page content scrolls. Visual sizing/crop remains unchanged.
   ========================================================= */
.lg-dark-dashboard::before,
.lg-dark-dashboard::after {
    position: fixed !important;
}

/* =========================================================
   v2.21.4 — unified data-card translucency
   Base opacity follows the schedule table rows: rgba(10,14,19,.48).
   Semantic highlights (LG/today/attended/focus/selected/status) stay intact.
   ========================================================= */
:root {
    --lg-data-card-surface: rgba(10,14,19,.48);
}

/* Season statistics — remove stacked wrapper opacity and use one common surface. */
.lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
.lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > *,
.lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
    background: var(--lg-data-card-surface) !important;
}
.lg-dark-dashboard .lg-stats-card > .lg-stats-extra {
    background: transparent !important;
}

/* Today's games — same base translucency as schedule rows. */
.lg-dark-dashboard .lg-today-game,
.lg-dark-dashboard .lg-today-games-empty {
    background: var(--lg-data-card-surface) !important;
}
.lg-dark-dashboard .lg-today-game.is-lg {
    background: linear-gradient(180deg, rgba(200,16,46,.10), rgba(10,14,19,.48)) !important;
}

/* Schedule table + 31-day calendar — one common card opacity. */
.lg-dark-dashboard .lg-schedule-table tbody tr,
.lg-dark-dashboard .lg-schedule-table tbody tr:hover,
.lg-dark-dashboard .lg-schedule-table tbody tr:nth-child(even) {
    background: var(--lg-data-card-surface) !important;
}
.lg-dark-dashboard .lg-month-calendar,
.lg-dark-dashboard .lg-calendar-grid {
    background: transparent !important;
}
.lg-dark-dashboard .lg-calendar-cell,
.lg-dark-dashboard .lg-calendar-cell.is-empty,
.lg-dark-dashboard .lg-calendar-cell.has-game,
.lg-dark-dashboard .lg-calendar-cell.has-game:hover {
    background: var(--lg-data-card-surface) !important;
}
/* Preserve the red outline/state while keeping the same translucent base. */
.lg-dark-dashboard .lg-calendar-cell.is-today:not(.has-game),
.lg-dark-dashboard .lg-calendar-cell.has-game.is-today {
    background: var(--lg-data-card-surface) !important;
}

/* Attendance archive — season cards and individual game cards use the same base. */
.lg-dark-dashboard .lg-season-card,
.lg-dark-dashboard .lg-archive-game-card {
    background: var(--lg-data-card-surface) !important;
}
/* Avoid a second translucent layer inside the season card. */
.lg-dark-dashboard .lg-season-card-head {
    background: transparent !important;
}

/* =========================================================
   v2.21.5 — mobile card surfaces inherit desktop appearance
   Remove mobile-only visual-density overrides while preserving responsive
   layout, typography, grid counts and touch sizing.
   ========================================================= */
@media (max-width: 900px) {
    .lg-dark-dashboard .lg-stats-section,
    .lg-dark-dashboard .lg-team-rank-section,
    .lg-dark-dashboard .lg-schedule-section,
    .lg-dark-dashboard .lg-today-games-section,
    .lg-dark-dashboard .lg-dashboard-panel-archive,
    .lg-dashboard-panel-archive .lg-archive-stats-section,
    .lg-dashboard-panel-archive .lg-archive-record-section {
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > *,
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
        background: var(--lg-data-card-surface) !important;
    }
    .lg-dark-dashboard .lg-stats-card > .lg-stats-extra {
        background: transparent !important;
    }

    .lg-dark-dashboard .lg-today-game,
    .lg-dark-dashboard .lg-today-games-empty {
        background: var(--lg-data-card-surface) !important;
    }
    .lg-dark-dashboard .lg-today-game.is-lg {
        background: linear-gradient(180deg, rgba(200,16,46,.10), rgba(10,14,19,.48)) !important;
    }

    .lg-dark-dashboard .lg-schedule-table tbody tr,
    .lg-dark-dashboard .lg-schedule-table tbody tr:hover,
    .lg-dark-dashboard .lg-schedule-table tbody tr:nth-child(even),
    .lg-dark-dashboard .lg-calendar-cell,
    .lg-dark-dashboard .lg-calendar-cell.is-empty,
    .lg-dark-dashboard .lg-calendar-cell.has-game,
    .lg-dark-dashboard .lg-calendar-cell.has-game:hover {
        background: var(--lg-data-card-surface) !important;
    }
    .lg-dark-dashboard .lg-month-calendar,
    .lg-dark-dashboard .lg-calendar-grid,
    .lg-dark-dashboard .lg-calendar-game,
    .lg-dark-dashboard .lg-calendar-game:hover {
        background: transparent !important;
    }
}

/* =========================================================
   v2.21.6 — archive season/game card visual parity
   Give both archive card types one identical base surface. Season-card
   subpanels must not stack extra dark fills over the outer card.
   ========================================================= */
.lg-dark-dashboard .lg-season-card,
.lg-dark-dashboard .lg-archive-game-card {
    background: var(--lg-data-card-surface) !important;
    border-color: rgba(255,255,255,.075) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.lg-dark-dashboard .lg-season-main,
.lg-dark-dashboard .lg-season-card-board,
.lg-dark-dashboard .lg-season-side-top,
.lg-dark-dashboard .lg-season-side-bottom,
.lg-dark-dashboard .lg-season-card-head {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Keep hover meaning, but do not let the normal state differ by card type. */
.lg-dark-dashboard .lg-season-card:hover,
.lg-dark-dashboard .lg-archive-game-card:hover {
    border-color: rgba(255,255,255,.18) !important;
}

/* =========================================================
   v2.21.7 — stats/archive visual normalization
   Presentation only: no data, filters, calculations or collection logic changed.
   ========================================================= */
:root {
    --lg-data-card-surface-clear: rgba(10,14,19,.30);
}

/* 1–2) Season statistics: all 15 tiles share one surface and one type scale.
   Labels are consistent with labels, values are consistent with values. */
.lg-dark-dashboard .lg-stats-card > .stats:first-child > *,
.lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra > *,
.lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra > * {
    background: var(--lg-data-card-surface-clear) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child small,
.lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small,
.lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small {
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 680 !important;
    letter-spacing: -.035em !important;
}
.lg-dark-dashboard .lg-stats-card > .stats:first-child b,
.lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b,
.lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b,
.lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b {
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 820 !important;
    letter-spacing: -.05em !important;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
    .lg-dark-dashboard .lg-stats-card > .stats:first-child small,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra small,
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra small {
        font-size: 7.5px !important;
        line-height: 1.05 !important;
    }
    .lg-dark-dashboard .lg-stats-card > .stats:first-child b,
    .lg-dark-dashboard .lg-stats-card > .stats-4.lg-stats-extra b,
    .lg-dark-dashboard .lg-stats-card > .stats-7.lg-stats-extra b,
    .lg-dark-dashboard .lg-stats-card > .stats:first-child > :nth-child(3) b {
        font-size: 12px !important;
        line-height: 1.05 !important;
    }
}

/* 3) Attendance game cards: use the clearer common surface and remove
   stacked dark fills from metadata rows/chips so the fixed background remains visible. */
.lg-dark-dashboard .lg-archive-game-card {
    background: var(--lg-data-card-surface-clear) !important;
}
.lg-dark-dashboard .lg-archive-game-card:hover {
    background: rgba(10,14,19,.38) !important;
}
.lg-dark-dashboard .lg-game-info-row {
    background: rgba(5,8,12,.24) !important;
}
.lg-dark-dashboard .lg-game-kind,
.lg-dark-dashboard .lg-game-result {
    background: rgba(5,8,12,.34) !important;
}

/* 4) Archive season stats: regular/postseason red text returns to neutral white.
   Only the win rate in each card's OVERALL block (season total + each year total)
   keeps the red emphasis. */
.lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-block h5,
.lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-block h5,
.lg-dashboard-panel-archive .lg-season-side-top .lg-season-stat-sub-row strong,
.lg-dashboard-panel-archive .lg-season-side-bottom .lg-season-stat-sub-row strong {
    color: #f1f4f7 !important;
}
.lg-dashboard-panel-archive .lg-season-main .lg-season-stat-sub-row strong {
    color: #f1f4f7 !important;
}
.lg-dashboard-panel-archive .lg-season-main .lg-season-stat-sub-row span:first-child strong {
    color: var(--lg-red) !important;
}
/* Active archive controls keep their red border/background cue but use white text. */
.lg-dashboard-panel-archive .filter-chip:has(input:checked),
.lg-dashboard-panel-archive .lg-year-grid-view-btn.is-active {
    color: #f7f8fa !important;
}

/* 5) Game-record result chips: distinguish outcomes/statuses instead of one red color.
   Normal game W/L/D already carries the plugin's existing --lg-card-accent value. */
.lg-dashboard-panel-archive .lg-game-result {
    color: var(--lg-card-accent, #d7dbe1) !important;
    border-color: var(--lg-card-accent, rgba(255,255,255,.12)) !important;
    font-weight: 820 !important;
}
.lg-dashboard-panel-archive .lg-filter-item[data-type="upcoming"] .lg-game-result {
    color: #60a5fa !important;
    border-color: rgba(96,165,250,.48) !important;
    background: rgba(59,130,246,.12) !important;
}
.lg-dashboard-panel-archive .lg-filter-item[data-type="canceled"] .lg-game-result,
.lg-dashboard-panel-archive .lg-filter-item[data-type="rain"] .lg-game-result {
    color: #fb923c !important;
    border-color: rgba(251,146,60,.48) !important;
    background: rgba(249,115,22,.12) !important;
}
.lg-dashboard-panel-archive .lg-filter-item[data-type="event"] .lg-game-result {
    color: #c084fc !important;
    border-color: rgba(192,132,252,.48) !important;
    background: rgba(168,85,247,.12) !important;
}
.lg-dashboard-panel-archive .lg-filter-item[data-type="cheering"] .lg-game-result {
    color: #67e8f9 !important;
    border-color: rgba(103,232,249,.42) !important;
    background: rgba(6,182,212,.11) !important;
}
.lg-dashboard-panel-archive .lg-filter-item[data-type="other"] .lg-game-result {
    color: #cbd5e1 !important;
    border-color: rgba(203,213,225,.30) !important;
    background: rgba(148,163,184,.09) !important;
}
/* Keep empty regular/postseason placeholders muted after neutralizing red text. */
.lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-block h5,
.lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-row strong,
.lg-dashboard-panel-archive .lg-season-side-empty .lg-season-stat-sub-row strong {
    color: #b8c0c9 !important;
}

/* =========================================================
   v2.21.9 — archive starter photo alpha-shaped black backing
   Keep the transparent area of the pitcher PNG transparent. Only the
   non-transparent player silhouette gets a soft black backing, with the
   original player image rendered above it.
   ========================================================= */
.lg-dark-dashboard .lg-card-upper-stage .lg-card-bg-layer.is-pitcher-bg {
    background-image: none !important;
    opacity: 1 !important;
    filter: none !important;
    isolation: isolate !important;
}
.lg-dark-dashboard .lg-card-upper-stage .lg-card-bg-layer.is-pitcher-bg::before,
.lg-dark-dashboard .lg-card-upper-stage .lg-card-bg-layer.is-pitcher-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--lg-pitcher-image, none);
    background-position: inherit;
    background-size: inherit;
    background-repeat: no-repeat;
    pointer-events: none;
}
/* Black silhouette: transparent pixels remain completely transparent. */
.lg-dark-dashboard .lg-card-upper-stage .lg-card-bg-layer.is-pitcher-bg::before {
    z-index: 0;
    opacity: .34;
    filter: brightness(0);
}
/* Original pitcher photo above the black silhouette. */
.lg-dark-dashboard .lg-card-upper-stage .lg-card-bg-layer.is-pitcher-bg::after {
    z-index: 1;
    opacity: .30;
    filter: grayscale(.28) brightness(.76) contrast(1.05);
}

