.daily-panel { padding: 1rem; text-align: left; }
.daily-panel h3 { color: var(--highlight-primary); }
#daily-history-tab[hidden] { display: none; }
.daily-history-entry { padding: 0; margin: 0; }
.daily-history-entry h3 { margin: 0 0 .5rem; }
.daily-history-entry p, .daily-history-note { font-size: .85rem; color: var(--text-secondary); }
.daily-history-entry { min-width: 0; box-sizing: border-box; }
.daily-history-entry h4 { margin: .75rem 0 .5rem; }
.daily-history-breakdown { list-style: none; padding: 0; margin: 0 0 1rem; }
.daily-history-breakdown li { display: flex; justify-content: space-between; gap: .75rem; padding: .4rem 0; border-bottom: 1px solid var(--border-color); }
.daily-history-breakdown span { min-width: 0; overflow-wrap: anywhere; }
.daily-history-breakdown strong { color: var(--highlight-primary); }
.daily-history-entry .base-button { width: 100%; box-sizing: border-box; white-space: normal; padding: .65rem 1rem; line-height: 1.3; }
.daily-history-entry .base-button + .base-button { margin-top: .5rem; }
#daily-history .daily-history-note { padding: .5rem 0; line-height: 1.4; }
.daily-rounds { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1rem 0 1.5rem; list-style: none; }
.daily-rounds li { padding: .6rem .8rem; background: var(--bg-primary); border-radius: var(--border-radius-small, 8px); font-size: .9rem; }
.daily-table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.daily-table td, .daily-table th { text-align: left; padding: .75rem .55rem; border-bottom: 1px solid var(--border-color, #ffffff18); }
.daily-table th { color: var(--highlight-primary); font-size: .85rem; }
.daily-table td:last-child, .daily-table th:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.daily-table td:nth-child(2) { overflow-wrap: anywhere; }
.daily-table tbody tr:nth-child(odd) { background: #ffffff04; }
.daily-table img { width: 30px; height: 30px; vertical-align: middle; margin-right: .6rem; object-fit: contain; }
.daily-actions { display: flex; gap: .75rem; flex-wrap: wrap; justify-content: center; align-items: center; margin: 1rem 0; }
.daily-full-link { display: inline-flex; justify-content: center; text-decoration: none; text-align: center; }
.daily-panel .daily-full-link { width: 100%; box-sizing: border-box; }
#daily-result { width: min(100%, 560px); margin: 1rem auto; box-sizing: border-box; }
.daily-score-breakdown { list-style: none; padding: 0; margin: 0; }
.daily-score-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; margin-bottom: .5rem; border-radius: 8px; background: var(--bg-secondary); animation: daily-score-reveal .4s ease-out both; animation-delay: var(--reveal-delay, 0ms); }
.daily-score-row strong { color: var(--highlight-primary); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.daily-score-total { border-top: 2px solid var(--highlight-primary); font-weight: bold; margin-top: 1rem; }
@keyframes daily-score-reveal { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .daily-score-row { animation: none; } }
#daily-submit-dialog { width: min(92vw, 480px); max-height: 90vh; overflow: auto; border: 1px solid var(--highlight-primary); border-radius: 12px; background: var(--bg-tertiary); color: var(--text-primary); padding: 1.5rem; box-sizing: border-box; font-family: inherit; box-shadow: 0 12px 48px #0008; }
#daily-submit-dialog::backdrop { background: #000a; }
#daily-submit-dialog .profile-customization-box { display: block; }
.leaderboards-page { width: min(100%, 850px); margin: 0 auto; box-sizing: border-box; }
.daily-date-filter { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }


#podium-view.daily-final { display: grid !important; grid-template-columns: minmax(180px, 1fr) minmax(0, 1.2fr); grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; min-height: 0; height: 100%; max-height: 100%; box-sizing: border-box; flex-shrink: 1; }
#podium-view.daily-final[style*="display: none"] { display: none !important; }
#podium-view.daily-final #podium-title { grid-column: 1 / -1; margin: 0; }
#podium-view.daily-final #podium-container { min-width: 0; min-height: 0; width: 100%; }
#podium-view.daily-final #podium-footer { grid-column: 1; grid-row: 3; justify-content: center; flex-wrap: wrap; gap: .75rem; }
#podium-view.daily-final #daily-result { grid-column: 2; grid-row: 2; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.daily-result-tabs { display: flex; flex: 0 0 auto; gap: .5rem; }
.daily-result-tabs .base-tab-button { flex: 1; }
.daily-result-scroll { flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: .75rem .4rem 0 0; }
#daily-result .daily-actions { flex: 0 0 auto; margin: .75rem 0 0; }
.daily-own-row { background: color-mix(in srgb, var(--highlight-primary) 25%, transparent) !important; font-weight: bold; }
.daily-name-field { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.daily-name-field .username-input { width: 100%; box-sizing: border-box; }
.daily-name-error { color: #ff777f; font-size: .85rem; line-height: 1.3; margin: 0 0 .4rem; max-height: 2.6em; overflow-y: auto; overflow-wrap: anywhere; }
.daily-name-error:empty { display: none; }
@media (max-width: 768px) {
    /* Let mobile results size the panel instead of squeezing them below the podium. */
    #podium-view.daily-final { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; height: auto; max-height: none; flex-shrink: 0; overflow: visible; }
    #podium-view.daily-final #daily-result { grid-column: 1; grid-row: 4; height: auto; overflow: visible; }
    #podium-view.daily-final .daily-result-scroll { flex: 0 0 auto; overflow: visible; }
    #podium-view.daily-final .daily-result-tabs .base-tab-button { min-width: 0; white-space: normal; }
    /* Reserve the fully grown podium's space throughout the column animation. */
    #podium-view.daily-final #podium-main { height: 220px; min-height: 220px; flex-shrink: 0; }
    #podium-view.daily-final .podium-position { transform: scale(.65); transform-origin: center bottom; margin: 0; }
    #podium-view.daily-final #podium-title { font-size: 1.5rem; }
}

.daily-empty-message { margin: 1.25rem 0 1.5rem; color: var(--text-secondary); font-style: italic; line-height: 1.5; }

#podium-view.daily-final #podium-title { padding-bottom: 1rem; }
#podium-view.daily-final #podium-return-to-lobby-button, #daily-invite-friend { font-family: var(--font-family); font-size: 13.3333px; font-weight: 700; line-height: normal; padding: 12px 16px; }
#podium-view.daily-final .daily-full-link { width: auto; padding: 7px 12px; font-family: var(--font-family); font-size: 12px; line-height: normal; background: #52525e; box-shadow: none; }
#daily-invite-friend[hidden] { display: none; }
#podium-view.daily-final #podium-footer { min-height: 0; align-self: end; padding: 0; }
#podium-view.daily-final #daily-result .daily-actions { margin-bottom: 0; }

/* The slot stretches with the games column; its settings never size the grid. */
.pre-lobby-settings-slot { position: relative; align-self: stretch; min-height: 0; }
.pre-lobby-settings-slot > .pre-lobby-settings { position: absolute; inset: 0 0 auto; max-height: 100%; }
.pre-lobby-settings { min-height: 0; overflow: hidden; }
.pre-lobby-settings > .base-tabs { flex-shrink: 0; }
.pre-lobby-settings > :is(#game-specific-settings-area, #lobby-settings-area, #daily-history) { flex: 0 1 auto; height: auto; min-height: 0; overflow-y: auto !important; overflow-x: hidden !important; scrollbar-gutter: stable; }
.pre-lobby-settings > .base-tab-content > * { flex-shrink: 0; }
.pre-lobby-mobile-actions { display: contents; }
.mobile-settings-button { display: none; }
#mobile-settings-dialog { width: min(92vw, 480px); max-height: 85dvh; padding: 12px 16px 16px; box-sizing: border-box; border: none; border-top: 3px solid var(--highlight-primary); align-items: stretch; }
#mobile-settings-dialog:not([open]) { display: none; }
#mobile-settings-dialog[open] { display: flex; flex-direction: column; gap: 0; }
#mobile-settings-dialog .base-tabs { margin-right: 20px; width: calc(100% - 20px); flex-shrink: 0; }
#mobile-settings-dialog::backdrop { background: #000a; }
#mobile-settings-dialog .pre-lobby-settings { position: static; flex: 0 1 auto; min-height: 0; }
.mobile-settings-close { z-index: 1; }
.daily-page-numbers { display: flex; align-items: center; justify-content: center; gap: .35rem; flex-wrap: wrap; }
.daily-page-numbers .base-button { padding: .5rem .7rem; min-width: 2rem; }
.daily-page-numbers [aria-current="page"] { background: var(--highlight-primary); outline: 2px solid var(--highlight-secondary); outline-offset: 1px; }
.daily-page-gap { color: var(--text-secondary); }
@media (max-width: 768px) {
    .pre-lobby-settings-slot { display: none; }
    .pre-lobby-mobile-actions { display: flex; align-items: stretch; gap: 12px; width: 100%; margin-top: auto; }
    .pre-lobby-mobile-actions #start-game-button { flex: 1; min-width: 0; max-width: none; width: auto; margin: 0; align-self: stretch; }
    .mobile-settings-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; padding: 10px; font-size: 22px; line-height: 1; }
}
.leaderboards-body .panel-wrapper { height: calc(100dvh - 2rem); min-height: 0; box-sizing: border-box; }
.leaderboards-body .lobby-content { min-height: 0; overflow: hidden; }
.leaderboards-body .static-content-panel { min-height: 0; box-sizing: border-box; overflow: hidden; }
.leaderboards-body .panel-scroll-wrapper { min-height: 0; height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.leaderboards-body .panel-scroll-wrapper h1 { margin: 24px 0 16px; flex-shrink: 0; }
.leaderboards-body .leaderboards-page { display: flex; flex-direction: column; flex: 1; min-height: 0; margin-top: 0; }
.leaderboards-body .daily-date-filter { flex-shrink: 0; margin-bottom: .5rem; }
#leaderboard-search { flex: 1; min-width: 120px; }
#leaderboards-content { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.daily-table-viewport { flex: 1; min-height: 0; overflow-y: auto; }
.leaderboards-body .daily-table { margin: 0; }
.leaderboards-body .daily-table td, .leaderboards-body .daily-table th { padding: clamp(2px, .65vh, 7px) .55rem; }
.leaderboards-body .daily-table img { width: clamp(20px, 3vh, 30px); height: clamp(20px, 3vh, 30px); }
.leaderboards-body .daily-actions { flex-shrink: 0; margin: .65rem 0 0; }
@media (max-width: 700px) {
    .leaderboards-body .panel-wrapper { height: 100dvh; }
    .leaderboards-body .panel-scroll-wrapper h1 { margin-top: 40px; font-size: 1.5rem; }
}

.daily-theme-title { margin: 0 0 1rem; font-size: 1.35rem; color: var(--highlight-secondary); overflow-wrap: anywhere; }
