
:root {
            --bg: #f4f5f7;
            --card-bg: #ffffff;
            --accent: #0f6fff;
            --accent-soft: rgba(15, 111, 255, 0.08);
            --accent-dark: #0b4bb8;
            --text-main: #1f2933;
            --text-muted: #6b7280;
            --border: #e5e7eb;
            --badge-bg: #111827;
            --success: #16a34a;
        }
        * { box-sizing: border-box; }

        body {
            margin: 0;
            padding: 0;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            background: radial-gradient(circle at top left, #e3efff 0, #f4f5f7 45%, #f9fafb 100%);
            color: var(--text-main);
        }

        .page {
            max-width: 1200px;
            margin: 0 auto;
            padding: 24px 16px 40px;
        }

        .header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 24px;
        }
        .brand { display: flex; align-items: center; gap: 12px; }
        .brand-logo {
            height: 80px;
            width: auto;
            display: block;
        }
        .brand-text-title { font-size: 18px; font-weight: 600; }
        .brand-text-subtitle { font-size: 13px; color: var(--text-muted); }

        .header-right {
            display: flex; flex-direction: column;
            align-items: flex-end; gap: 4px;
        }
        .badge-live {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 4px 10px; border-radius: 999px;
            background: var(--badge-bg); color: #f9fafb;
            font-size: 11px; text-transform: uppercase;
            letter-spacing: 0.08em; font-weight: 600;
        }
        .badge-live-dot {
            width: 8px; height: 8px; border-radius: 999px;
            background: #f97316;
            box-shadow: 0 0 0 4px rgba(248, 113, 113, 0.1);
        }
        .timestamp { font-size: 12px; color: var(--text-muted); }

        .event-card {
            background: var(--card-bg);
            border-radius: 16px;
            padding: 18px 20px;
            box-shadow: 0 20px 40px rgba(15, 23, 42, 0.05);
            display: grid;
            grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
            gap: 16px;
            margin-bottom: 20px;
            border: 1px solid rgba(148, 163, 184, 0.15);
        }
        .event-title { font-size: 22px; font-weight: 600; margin-bottom: 4px; }
        .event-meta { font-size: 13px; color: var(--text-muted); margin-bottom: 10px; }
        .event-tags { display: flex; flex-wrap: wrap; gap: 6px; }

        .chip {
            border-radius: 999px;
            padding: 4px 10px;
            font-size: 11px;
            background: #f3f4f6;
            color: #4b5563;
            border: 1px solid #e5e7eb;
        }
        .chip-primary {
            background: var(--accent-soft);
            border-color: rgba(15, 111, 255, 0.25);
            color: var(--accent-dark);
        }

        .event-stats {
            display: grid;
            grid-template-columns: repeat(3, minmax(0,1fr));
            gap: 10px;
        }
        .stat-card {
            padding: 10px 12px;
            background: #f9fafb;
            border-radius: 14px;
            border: 1px solid var(--border);
        }
        .stat-label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--text-muted);
            margin-bottom: 4px;
        }
        .stat-main { font-size: 17px; font-weight: 600; }
        .stat-sub { font-size: 12px; color: var(--text-muted); }

        .controls {
            display: flex; flex-wrap: wrap;
            justify-content: space-between; align-items: center;
            margin-bottom: 10px; gap: 12px;
        }
        .controls-left {
            display: flex; flex-wrap: wrap;
            gap: 8px; align-items: center;
        }

        .tab-group {
            display: inline-flex;
            background: rgba(249, 250, 251, 0.9);
            padding: 3px;
            border-radius: 999px;
            border: 1px solid rgba(209, 213, 219, 0.8);
        }
        .tab {
            border-radius: 999px;
            padding: 5px 12px;
            font-size: 12px;
            border: none;
            background: transparent;
            cursor: pointer;
            color: #4b5563;
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }
        .tab.active {
            background: #ffffff;
            color: var(--accent-dark);
            box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15),
                        0 6px 15px rgba(15, 23, 42, 0.12);
        }
        .pill-counter {
            font-size: 10px;
            padding: 2px 6px;
            border-radius: 999px;
            background: #f3f4f6;
            color: #6b7280;
        }

        .select-rounded {
            padding: 6px 10px;
            border-radius: 999px;
            border: 1px solid #d1d5db;
            font-size: 12px;
            background: rgba(255,255,255,0.9);
            outline: none;
        }
        .select-rounded:focus {
            border-color: var(--accent);
            box-shadow: 0 0 0 1px rgba(37,99,235,0.15);
        }

        .search-box { position: relative; min-width: 220px; }
        .search-input {
            width: 100%;
            padding: 8px 10px 8px 28px;
            border-radius: 999px;
            border: 1px solid #d1d5db;
            font-size: 13px;
            outline: none;
            background: rgba(255,255,255,0.85);
        }
        .search-input:focus {
            border-color: var(--accent);
            box-shadow: 0 0 0 1px rgba(37,99,235,0.15);
            background: #fff;
        }
        .search-icon {
            position: absolute;
            left: 9px; top: 50%;
            transform: translateY(-50%);
            font-size: 12px;
            color: #9ca3af;
        }

        .card {
            background: var(--card-bg);
            border-radius: 16px;
            padding: 12px 12px 14px;
            border: 1px solid #e5e7eb;
            box-shadow: 0 18px 30px rgba(15, 23, 42, 0.06);
        }
        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 10px;
        }
        .card-title { font-size: 15px; font-weight: 600; }
        .card-subtitle { font-size: 12px; color: var(--text-muted); }

        .table-scroll-tools{display:flex;align-items:center;gap:10px;position:sticky;top:8px;z-index:15;padding:8px 10px;margin:0 0 8px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 6px #00000008}
        .table-scroll-tools[hidden]{display:none}
        .table-scroll-tools>span{font-size:11px;color:var(--text-muted);white-space:nowrap}
        .table-scroll-tools input{flex:1;min-width:0;accent-color:var(--accent,#0d6efd);cursor:ew-resize}
        .table-scroll-tools .btn{padding:3px 10px;min-width:32px;font-size:17px;line-height:1.2}
        .table-scroll-tools .btn:disabled{opacity:.35;cursor:default}
        @media(max-width:800px){.table-scroll-tools{display:none}}
        .table-wrapper {
            width: 100%;
            overflow-x: auto;
            border-radius: 12px;
            border: 1px solid #e5e7eb;
        }
        table {
            border-collapse: collapse;
            width: 100%;
            min-width: 780px;
            background: #ffffff;
        }
        thead { background: #f9fafb; }
        th, td {
            padding: 8px 10px;
            font-size: 13px;
            text-align: left;
            white-space: nowrap;
        }
        th {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #6b7280;
            border-bottom: 1px solid #e5e7eb;
            position: sticky;
            top: 0;
            background: #f9fafb;
            z-index: 1;
        }
        tbody tr:nth-child(even):not(.split-row) { background: #f9fafb; }
        tbody tr:hover:not(.split-row) td { background: #eef2ff; }

        td.position {
            font-weight: 600;
            font-variant-numeric: tabular-nums;
        }

        .name-cell { font-weight: 500; }
        .name-meta { font-size: 11px; color: #6b7280; }

        .country-cell span {
            font-size: 16px;
        }

        .tag {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 2px 6px;
            border-radius: 999px;
            font-size: 11px;
            background: #eff6ff;
            color: #1d4ed8;
        }
        .tag-f {
            background: #fef2f2;
            color: #b91c1c;
        }

        .time-chip {
            font-variant-numeric: tabular-nums;
            font-size: 13px;
            font-weight: 500;
        }

        .pace-muted { font-size: 11px; color: #6b7280; }

        .status-ok {
            font-size: 12px;
            font-weight: 500;
        }
        .status-finished { color: var(--success); }
        .status-dnf { color: #b91c1c; }
        .status-dns { color: #92400e; }

        .btn-splits {
            margin-left: 8px;
            padding: 3px 8px;
            border-radius: 999px;
            border: 1px solid #d1d5db;
            background: #f9fafb;
            font-size: 11px;
            cursor: pointer;
        }
        .btn-splits:hover { background: #eef2ff; }

        .split-row td { background: #f9fafb !important; }

        .splits-wrapper {
            background: #f9fafb;
            border-radius: 10px;
            padding: 10px;
            border: 1px dashed #d1d5db;
            margin-top: 4px;
        }
        .splits-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 6px;
            font-size: 12px;
        }
        .splits-table th,
        .splits-table td {
            padding: 4px 6px;
            text-align: left;
        }
        .splits-table thead { background: #eef2ff; }
        .splits-table tbody tr:nth-child(even) { background: #f3f4f6; }

        .footer {
            margin-top: 12px;
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            color: #9ca3af;
            flex-wrap: wrap;
            gap: 8px;
        }
        .footer a { color: #6b7280; text-decoration: none; }
        .footer a:hover { text-decoration: underline; }

        /* Light highlights for top 3 M/F per distance */
        tr.highlight-m1 td,
        tr.highlight-m2 td,
        tr.highlight-m3 td {
            background: #e7f0ff !important;  /* very light blue */
        }
        tr.highlight-f1 td,
        tr.highlight-f2 td,
        tr.highlight-f3 td {
            background: #ffe7f1 !important;  /* very light pink */
        }

        @media (max-width: 800px) {
            .header { flex-direction: column; align-items: flex-start; }
            .header-right { align-items: flex-start; }
            .event-card { grid-template-columns: minmax(0, 1fr); }
            .event-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
            .controls { flex-direction: column; align-items: stretch; }
            .controls-left { width: 100%; }
            .tab-group {
                width: 100%;
                justify-content: space-between;
            }
            .search-box { width: 100%; }
        }
        @media (max-width: 480px) {
            .event-stats { grid-template-columns: minmax(0,1fr); }
        }

        @keyframes pulse-live-badge {
            0%   { transform: translateY(0); opacity: 1; }
            50%  { transform: translateY(-1px); opacity: 0.6; }
            100% { transform: translateY(0); opacity: 1; }
        }

        @keyframes pulse-live-dot {
            0%   { transform: scale(1);   opacity: 1; }
            50%  { transform: scale(1.4); opacity: 0.4; }
            100% { transform: scale(1);   opacity: 1; }
        }

        .badge-live {
            animation: pulse-live-badge 1.3s ease-in-out infinite;
        }

        .badge-live-dot {
            animation: pulse-live-dot 0.9s ease-in-out infinite;
        }

        .event-controls-primary {
            margin-top: 12px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        .event-distance-label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--text-muted);
            font-weight: 600;
        }

        .select-distance-primary {
            padding: 7px 12px;
            border-radius: 999px;
            border: 1px solid rgba(37, 99, 235, 0.3);
            background: rgba(255,255,255,0.95);
            font-size: 13px;
            font-weight: 500;
            outline: none;
            box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
        }

        .select-distance-primary:focus {
            border-color: var(--accent);
            box-shadow:
                0 0 0 1px rgba(37,99,235,0.18),
                0 6px 16px rgba(15, 23, 42, 0.18);
        }

        .event-distance-chip {
            padding: 4px 10px;
            border-radius: 999px;
            font-size: 11px;
            background: var(--accent-soft);
            color: var(--accent-dark);
            border: 1px solid rgba(15, 111, 255, 0.25);
        }
/* Demo-only additions: same results visual style, with live map controls. */
[hidden]{display:none!important}
.event-title{margin-top:0}.event-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel{background:var(--card-bg);border-radius:16px;padding:12px 12px 14px;border:1px solid var(--border);box-shadow:0 18px 30px rgba(15,23,42,.06);margin-bottom:16px}
h2{font-size:15px;font-weight:600;margin:0 0 10px}.muted{color:var(--text-muted);font-size:12px;line-height:1.5}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-muted)}input,select,button{font-family:inherit}
.controls{align-items:flex-end}.controls-left{align-items:flex-end}.search-label{margin-left:auto;min-width:220px}
.checkbox{display:flex;flex-direction:row;align-items:center;gap:5px;min-height:32px}.checkbox input{width:16px;height:16px}
.btn{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer;color:var(--text-main)}.btn:hover{background:var(--accent-soft)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#updateStatus{margin:4px 0}.error{color:#b91c1c!important}.view-switch{margin-bottom:14px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.runner-meta,.timing-age{font-size:11px;color:var(--text-muted);margin-top:3px;line-height:1.4}.timing-age{display:block}.runner-cell strong{font-weight:600}
.status{font-size:12px;font-weight:500}.status.FINISHED{color:var(--success)}.status.ON_COURSE{color:#92400e}.status.DNF,.status.DNS,.status.DNF-DNS{color:#b91c1c}
.actions{display:flex;gap:5px}.followed td{background:#fff8df}.actions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-dark)}
#map{height:480px;border-radius:12px;margin-top:12px}#mapPanel .checkbox{margin-top:8px}
dialog{max-width:680px;width:calc(100% - 28px);max-height:85vh;border:1px solid var(--border);border-radius:16px;padding:22px;color:var(--text-main)}dialog::backdrop{background:#17243480}#closeDialog{float:right}#runnerDetails h2{padding-right:65px}#runnerDetails table{min-width:0}#runnerDetails td{white-space:normal}
#runnerRows tr:nth-child(even){background:#f9fafb}#runnerRows tr:hover td{background:#eef2ff}

.table-wrapper{isolation:isolate;overflow-x:auto}.live-table{min-width:880px}.live-table td,.live-table th{padding:5px 7px;font-size:12px}.live-table .place-cell{width:34px;min-width:34px}.live-table .bib-cell{min-width:45px;font-weight:600}.runner-cell{min-width:170px}.runner-meta{font-size:10px;margin-top:2px}.runner-meta .tag{font-size:10px;padding:1px 5px}.time-cell{white-space:nowrap}.time-chip{font-size:12px}.time-cell small{font-size:9px;color:var(--text-muted)}.actions{flex-wrap:wrap;max-width:220px}.actions .btn{padding:4px 7px;font-size:11px;white-space:nowrap}.table-tools{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted)}.live-table.full-info{width:max-content;min-width:100%}.live-table.full-info td,.live-table.full-info th{white-space:nowrap}.station-time{font-variant-numeric:tabular-nums}
@media(max-width:800px){.search-label{width:100%;margin:0}.controls-left{gap:8px}.event-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right{max-width:100%}.view-switch{width:auto;min-width:200px}.view-switch .tab{justify-content:center;min-height:40px;flex:1}#map{height:380px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.controls .search-label{grid-column:1 / -1;min-width:0}.controls label{min-width:0}.controls select{width:100%}.controls .btn,.controls .checkbox{min-height:34px}.section-heading{flex-wrap:wrap}.live-table th:first-child,.live-table td:first-child{min-width:34px;width:34px}.live-table th:nth-child(2),.live-table td:nth-child(2){min-width:45px;width:45px}.live-table th:nth-child(3),.live-table td:nth-child(3){min-width:145px;width:145px;max-width:145px;white-space:normal;box-shadow:none}.live-table.full-info th:nth-child(3),.live-table.full-info td:nth-child(3){max-width:none;white-space:nowrap}}

/* Match the original results filters at desktop and mobile sizes. */
.event-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-main{font-variant-numeric:tabular-nums;font-size:16px}.winner-line{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-top:5px}.winner-line span{color:var(--text-muted)}.winner-line strong{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.event-card{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.controls-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.search-box{min-width:220px;max-width:310px}.view-switch{margin-bottom:10px}.runner-status{display:block;font-size:10px;font-weight:400;margin-top:3px}.bib-cell{white-space:nowrap}.live-table{min-width:820px}.live-table td,.live-table th{padding:5px 7px}.table-tools button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-dark)}
.badge-live{animation:none}.badge-live.is-live{animation:pulse-live-badge 1.3s ease-in-out infinite;background:#fee2e2;color:#b91c1c}
dialog{padding:22px;max-width:700px}.detail-header{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:14px}.detail-header h2{font-size:19px;line-height:1.4;margin:0 0 6px}.detail-header p{margin:5px 0;font-size:12px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.detail-grid div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f9fafb}.detail-grid dt{font-size:11px;color:var(--text-muted);margin-bottom:5px}.detail-grid dd{margin:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.prediction{background:var(--accent-soft);border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;font-size:12px}.prediction strong{font-variant-numeric:tabular-nums}.detail-last{display:grid;gap:5px;margin:14px 0;font-size:12px}.detail-last span,.detail-last small{color:var(--text-muted)}#runnerDetails h3{font-size:13px;margin:18px 0 10px}.detail-table{overflow-x:auto;border:1px solid var(--border);border-radius:10px}#runnerDetails .detail-table table{min-width:450px}#runnerDetails .detail-table td{white-space:nowrap;font-size:12px}
@media(max-width:800px){.event-card{grid-template-columns:minmax(0,1fr)}.controls{display:flex;flex-direction:column;align-items:stretch;gap:10px}.controls-left{width:100%;flex-direction:row;align-items:center;gap:8px}.controls-left #raceTabs{width:100%;justify-content:space-between}.controls-left #categorySelect{width:auto}.search-box{width:100%;min-width:0;max-width:none}.controls select{width:auto}.controls .tab{min-height:30px}.controls-left .tab-group{padding:3px}.controls-left .tab{padding:4px 10px}.controls-left .pill-counter{font-size:9px}.event-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:10px 8px}.stat-main{font-size:13px}.stat-label{font-size:9px}.winner-line{flex-direction:column;gap:2px}.winner-line strong{font-size:10px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid dd{font-size:12px}.prediction{flex-direction:column}.table-tools{gap:6px;flex-wrap:wrap}.live-table th:nth-child(2),.live-table td:nth-child(2){min-width:60px;width:60px}.live-table th:nth-child(3),.live-table td:nth-child(3){left:94px}dialog{padding:16px}}


.runner-status.ON_COURSE{animation:runner-running 1.4s ease-in-out infinite}
@keyframes runner-running{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.runner-status.ON_COURSE{animation:none}}
.followed-section{margin-top:20px}.followed-section h3{font-size:14px;margin:0 0 10px}.runner-cell .team-name{white-space:normal;overflow-wrap:anywhere;max-width:210px}.detail-header p{overflow-wrap:anywhere}
@media(max-width:800px){.live-table td.runner-cell,.live-table.full-info th:nth-child(3),.live-table.full-info td:nth-child(3){width:130px;min-width:130px;max-width:130px;white-space:normal}.live-table .runner-cell strong{display:block;white-space:normal;overflow-wrap:anywhere}.live-table .runner-cell .team-name{max-width:116px;white-space:normal;overflow-wrap:anywhere}.live-table .runner-cell .runner-meta{white-space:normal}}
.position-meta{display:block;font-size:10px;color:var(--text-muted);margin-top:3px}.live-table.full-info .place-cell strong{font-size:11px}
@media(max-width:800px){.live-table.full-info th:first-child,.live-table.full-info td:first-child{width:90px;min-width:90px;max-width:90px}.live-table.full-info th:nth-child(2),.live-table.full-info td:nth-child(2){left:90px}.live-table.full-info th:nth-child(3),.live-table.full-info td:nth-child(3){left:150px}}
.live-table:not(.full-info) .place-cell{font-weight:800}
.view-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.view-toolbar .view-switch{margin-bottom:0}.country-flag{width:18px;height:14px;object-fit:contain;vertical-align:middle}
@media(max-width:800px){.view-toolbar{gap:8px}.view-toolbar .view-switch{min-width:0;flex:0 0 auto;width:auto}.view-toolbar .table-tools{flex:1;justify-content:flex-end}.view-toolbar .view-switch .tab{min-height:32px}.view-toolbar .btn{padding:6px 8px;font-size:11px}}
.standings-cell strong{font-size:11px}.live-table.full-info .place-cell{white-space:normal;min-width:110px}.live-table.full-info .place-cell .position-meta{white-space:normal;overflow-wrap:anywhere}

.course-pin{background:none;border:none;text-align:center}.course-pin>span{display:block;border-radius:8px;padding:5px 6px;background:#fff;border:2px solid #374151;box-shadow:0 2px 6px #0003;font:11px Inter,sans-serif;line-height:1.25}.course-pin strong{display:block;font-size:11px;margin-top:2px}.start-pin>span{border-color:#0d6efd}.finish-pin>span{border-color:#168349}.runner-pin{background:none;border:0;filter:drop-shadow(0 2px 3px #0005)}.runner-pin svg{display:block}.runner-pin-bib{position:absolute;top:11px;left:50%;transform:translateX(-50%);color:#fff;font:700 12px/18px Inter,sans-serif;white-space:nowrap;pointer-events:none}.runner-pin-bib.long-bib{top:10px;background:var(--pin-color);border:2px solid #fff;border-radius:9px;padding:0 5px}.runner-cluster{background:#0d6efd;color:white;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 6px #0005;text-align:center;font:600 13px/30px Inter,sans-serif}.runner-cluster.has-followed{border-color:#eab308}.runner-map-popup h3,.leaflet-popup-content h3{font-size:14px;margin:0 0 8px;line-height:1.35}.leaflet-popup-content h4{margin:14px 0 8px;font-size:12px}.map-info-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #e5e7eb;font-size:11px}.map-info-line span{color:#6b7280}.map-info-line strong{font-weight:600;text-align:right}.map-position-label{font-size:11px;color:#6b7280;margin-bottom:0}.finish-podium{padding-left:20px;font-size:12px}.finish-podium li{margin:8px 0}.finish-podium span{display:block;font-size:11px;color:#6b7280;margin-top:3px}.cluster-list{display:grid;gap:5px}.cluster-list button{text-align:left;padding:7px;border:1px solid #e5e7eb;background:white;border-radius:8px;cursor:pointer;color:#172434}.cluster-list button:hover{background:#eef2ff}.cluster-list span{display:block;font-size:10px;color:#6b7280;margin-top:4px}
.course-visuals{display:grid;grid-template-rows:minmax(0,1fr) 160px;gap:12px;height:min(680px,calc(100svh - 170px));min-height:340px;margin-top:12px}.course-visuals #map{height:100%;min-height:0;margin-top:0}.elevation-panel{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;min-width:0;overflow:hidden}.elevation-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.elevation-heading h3{font-size:12px;margin:0}.elevation-heading span{font-size:10px;text-align:right}#elevationChart{display:block;width:100%;height:103px}#elevationChart[hidden],#elevationCursor[hidden]{display:none}#elevationChart text{font:10px Inter,sans-serif;fill:#6b7280}.elevation-fill{fill:#0d6efd;fill-opacity:.1}.elevation-line{fill:none;stroke:#0d6efd;stroke-width:2;vector-effect:non-scaling-stroke}.elevation-axis{stroke:#dfe3e8;stroke-width:1}.elevation-guide{stroke:#374151;stroke-dasharray:3 3;stroke-width:1}#elevationCursor{display:block;width:100%;height:12px;margin:0;accent-color:#0d6efd}.course-visuals.without-elevation{grid-template-rows:minmax(0,1fr) 66px}#elevationEmpty{font-size:11px;margin:8px 0 0}.course-pin{pointer-events:none}.runner-map-popup{overflow-wrap:anywhere;min-width:0;padding-right:4px}.runner-map-popup .map-info-line{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px}.runner-map-popup .map-info-line>*{min-width:0;white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){.course-visuals{height:calc(100svh - 170px);max-height:650px;min-height:300px;grid-template-rows:minmax(0,1fr) 120px;gap:8px}.elevation-panel{padding:8px}.elevation-heading h3{font-size:11px}#elevationChart{height:70px}.map-info-line{gap:8px}.map-info-line span{max-width:52%}#mapPanel{scroll-margin-top:8px}.course-pin>span{padding:4px;font-size:10px}}
.event-stats.without-race-clock{grid-template-columns:repeat(2,minmax(0,1fr))}
