@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";:root{--color-brand-green: #1B4332;--color-brand-green-light: #2D6A4F;--color-brand-orange: #F48C06;--color-brand-orange-dark: #E85D04;--color-brand-red: #DC2F02;--color-bg-page: #FAFBFC;--color-bg-surface: #FFFFFF;--color-text-primary: #1A1A2E;--color-text-secondary: #6B7280;--color-border: #E5E7EB;--font-family-base: "Inter", system-ui, sans-serif;--font-weight-normal: 400;--font-weight-semibold: 600;--font-size-display-md: 2.5rem;--font-size-heading-lg: 1.75rem;--font-size-heading-md: 1.5rem;--font-size-heading-sm: 1.25rem;--font-size-body-lg: 1.125rem;--font-size-body-md: 1rem;--font-size-body-sm: .875rem;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-button: 8px;--radius-card: 12px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .12)}body{margin:0;font-family:var(--font-family-base);background:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid currentColor;outline-offset:2px}.leaderboard-container{max-width:800px;margin:0 auto;padding:var(--space-md)}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.leaderboard-header h1{margin:0;font-size:var(--font-size-heading-lg);font-weight:var(--font-weight-semibold)}.leaderboard-nav,.leaderboard-header nav{display:flex;gap:var(--space-sm)}.nav-link{display:inline-block;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-button);background:var(--color-brand-green);color:#fff;text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-body-sm);transition:background .2s}.nav-link:hover{background:var(--color-brand-green-light)}.nav-link:focus-visible{outline:2px solid var(--color-brand-green);outline-offset:2px}.event-id-label,.last-updated{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);margin-bottom:var(--space-md)}.loading-message,.empty-message{color:var(--color-text-secondary);font-style:italic}.error-message{color:var(--color-brand-red);font-weight:var(--font-weight-semibold)}.leaderboard-table{width:100%;border-collapse:collapse;border-spacing:0;background:var(--color-bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.leaderboard-table th{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:2px solid var(--color-brand-green);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body-sm);color:var(--color-text-secondary)}.leaderboard-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);font-size:var(--font-size-body-md)}.rank-cell{width:3rem;font-weight:700;text-align:center;color:var(--color-brand-orange)}.score-cell{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-brand-green)}.count-cell,.stations-cell{font-variant-numeric:tabular-nums}.team-cell{color:var(--color-text-secondary)}@keyframes score-update-highlight{0%{background-color:#f48c0626}to{background-color:transparent}}.leaderboard-row{transition:background-color .3s ease}.leaderboard-row.updated{animation:score-update-highlight 2s ease-out}.app-header{display:flex;align-items:center;padding:12px 0;margin-bottom:16px;border-bottom:2px solid #1B4332}.app-header-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.app-header-logo{height:36px;width:auto}.app-header-title{font-size:1.25rem;font-weight:700;color:#1b4332}.event-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.event-title{font-size:1.6rem;font-weight:700;margin:0;color:#1b4332}.home-subtitle{color:#6b7280;margin:0 0 16px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#e5e7eb;color:#374151}.status-badge.in-progress{background:#dafbe1;color:#1b4332}.status-badge.concluded{background:#f0f0f0;color:#6b7280}.status-dot{width:8px;height:8px;border-radius:50%;background:#2d6a4f;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.nav-link.active{font-weight:700;color:#1b4332;border-bottom:2px solid #F48C06}.event-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.event-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #E5E7EB;border-radius:12px;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}.event-card:hover{box-shadow:0 2px 10px #00000014;border-color:#1b4332}.event-card-main{display:flex;flex-direction:column;gap:4px}.event-card-name{font-size:1.1rem;font-weight:600;color:#1b4332}.event-card-meta{font-size:.85rem;color:#6b7280}.leaderboard-footer{margin-top:24px;padding-top:16px;border-top:1px solid #E5E7EB;display:flex;justify-content:center}.app-header{gap:var(--space-md)}.header-event{display:flex;flex-direction:column;gap:2px;min-width:0}.header-event-top{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.header-event-name{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;color:var(--color-brand-green);line-height:1.1}.header-updated{margin:0;font-size:var(--font-size-body-sm);color:var(--color-text-secondary)}.leaderboard-container{max-width:920px}.leaderboard-table.gamified{border-collapse:separate;border-spacing:0 12px;background:transparent;box-shadow:none;border-radius:0}.gamified .leaderboard-row{background:var(--color-bg-surface);box-shadow:var(--shadow-card)}.gamified .leaderboard-row td{padding:18px 22px;border:none;vertical-align:middle;background:inherit}.gamified .leaderboard-row td:first-child{border-radius:14px 0 0 14px}.gamified .leaderboard-row td:last-child{border-radius:0 14px 14px 0}.gamified .rank-cell{width:4rem;text-align:center}.gamified .rank-badge{font-size:2rem;font-weight:800;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.gamified .name-cell{display:flex;flex-direction:column;gap:4px}.gamified .team-name{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;color:var(--color-text-primary);line-height:1.1}.gamified .stations-progress{font-size:var(--font-size-body-md);color:var(--color-text-secondary);font-weight:600}.gamified .score-cell{text-align:right;white-space:nowrap;font-size:clamp(2rem,6vw,3rem);font-weight:800;color:var(--color-brand-green);font-variant-numeric:tabular-nums}.gamified .score-label{font-size:1rem;font-weight:600;color:var(--color-text-secondary);margin-left:6px}.gamified .rank-1{background:linear-gradient(90deg,#FFF8E1 0%,var(--color-bg-surface) 55%);box-shadow:0 4px 16px #ffc10747}.gamified .rank-1 td:first-child{box-shadow:inset 8px 0 #ffc107}.gamified .rank-2{background:linear-gradient(90deg,#F4F6F8 0%,var(--color-bg-surface) 55%)}.gamified .rank-2 td:first-child{box-shadow:inset 8px 0 #b8c2cc}.gamified .rank-3{background:linear-gradient(90deg,#FBEFE6 0%,var(--color-bg-surface) 55%)}.gamified .rank-3 td:first-child{box-shadow:inset 8px 0 #cd7f32}@keyframes score-pop{0%{transform:scale(1)}30%{transform:scale(1.06);color:var(--color-brand-orange)}to{transform:scale(1)}}.gamified .leaderboard-row.updated .score-cell{animation:score-pop .9s ease-out}.leaderboard-nav{justify-content:center;margin-top:var(--space-lg)}.leaderboard-nav .nav-link{font-size:var(--font-size-body-md);padding:var(--space-sm) var(--space-lg)}@media (max-width: 520px){.gamified .leaderboard-row td{padding:14px}.gamified .rank-badge{font-size:1.5rem}}
