/* Helles MTR-Design mit klaren Kontrasten auf allen Ergebnisflächen. */
.logo img { position: static; width: 100%; height: 100%; max-width: 100%; filter: none; mix-blend-mode: normal; object-fit: contain; }
.search-box { background: #fff; border-color: #7b9585; }
#search::placeholder { color: #596474; opacity: 1; }
.clear { background: #eef0eb; color: #1a2540; }
.podium button, .podium button:nth-child(1), .podium button:nth-child(2), .podium button:nth-child(3) { background: #fff; color: #1a2540; border-color: #ccd5cf; }
.podium button:nth-child(1) { background: #fff9e9; border-color: #b58a24; }
.podium button:nth-child(2) { background: #f4f7fa; border-color: #8c9ba9; }
.podium button:nth-child(3) { background: #fff4ec; border-color: #b78159; }
.place, .podium button:nth-child(2) .place, .podium button:nth-child(3) .place { color: #665019; }
.podium button:nth-child(2) .place { color: #465b6e; }
.podium button:nth-child(3) .place { color: #875032; }
.panel { background: #fff; border-color: #ccd5cf; box-shadow: 0 10px 32px #1a254010; }
.milestone { background: #e7f3eb; border-color: #9dc6ac; color: #145c2e; }
.milestone.gold { background: #fff3d3; border-color: #c9a24a; color: #664b10; }
.metric { background: #f5f6f3; border-color: #d4ddd7; }
.metric-label { color: #596474; }
.metric b, .identity h2, .section-label { color: #1a2540; }
.lap { background: #f5f6f3; border-color: #d4ddd7; }
.lap small { color: #596474; }
.lap strong { color: #1a2540; font-size: 14px; }
.lap-pace { display:block; color:#465b6e; font-size:11px; margin-top:5px; font-variant-numeric:tabular-nums; }
.detail-ranking-note { color:#596474; font-size:12px; line-height:1.7; margin:0 0 16px; }
.metric small { display:block; color:#596474; font-size:11px; margin-top:7px; }
.table-measure { font-weight:600; }
.table-measure-note { display:block; color:#596474; font-size:11px; font-weight:400; margin-top:4px; }
.personal-match-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.personal-match-list button { border:1px solid #9dc6ac; background:#fff; color:#145c2e; border-radius:8px; padding:10px 14px; text-align:left; }
.personal-match-list button:hover { background:#e7f3eb; }
.mobile-row-more, .return-short { display:none; }
.share-result summary { font-family:"Playfair Display",Georgia,serif; font-size:22px; font-weight:700; cursor:pointer; }
.share-result[open] summary { margin-bottom:12px; }
@media(min-width:701px) { .share-result summary { list-style:none; cursor:default; } .share-result summary::-webkit-details-marker { display:none; } }
@media(max-width:700px) {
  .search-section { padding:8px 0; }
  .search-section .search-label, .search-section .hint { display:none; }
  .search-section #search { height:44px; font-size:16px; }
  .search-section #announcement { font-size:11px; }
  .search-section .search-box { padding:3px 12px; border-radius:10px; }
  #detail, .table-wrap tr { scroll-margin-top:120px; }
  .identity h2 { font-size:28px; }
  .panel-top { padding:22px 18px 16px; }
  .milestone { font-size:22px; padding:16px; }
  .milestone small { font-size:15px; }
  .metrics { gap:8px; padding:16px 18px; }
  .metric b { font-size:23px; overflow-wrap:anywhere; }
  .metric-label { font-size:10px; letter-spacing:.3px; }
  .laps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .lap { padding:12px 5px; }
  .lap.fast { padding:11px 4px; }
  .lap strong { font-size:14px; }
  .lap-pace { font-size:11px; }
  .table-wrap { border:0; border-radius:0; overflow:visible; }
  .table-wrap table, .table-wrap tbody { display:block; width:100%; white-space:normal; }
  .table-wrap thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .table-wrap tr { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px 12px; padding:16px; margin-bottom:10px; border:1px solid #d4ddd7; border-radius:14px; background:#fff; }
  .table-wrap td { display:block; padding:0; border:0; min-width:0; }
  .table-wrap .rank { grid-column:1; grid-row:1 / 3; display:flex; align-items:center; justify-content:center; width:48px; height:48px; background:#e7f3eb; border-radius:12px; font-size:22px; box-shadow:none; }
  .table-wrap .row-name { grid-column:2; grid-row:1; }
  .name-btn { min-height:30px; font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
  .table-wrap .table-measure { grid-column:2; grid-row:2; font-size:16px; }
  .table-measure::before { content:attr(data-label); display:block; color:#596474; font-size:10px; font-weight:400; margin-bottom:3px; }
  .table-wrap .row-laps { grid-column:2; font-size:12px; color:#465363; }
  .row-laps::after { content:' Runden'; }
  .table-wrap .row-bib, .table-wrap .row-distance, .table-wrap .row-total { display:none; grid-column:2; font-size:13px; }
  .row-expanded .row-bib, .row-expanded .row-distance, .row-expanded .row-total { display:block; }
  .row-bib::before, .row-distance::before, .row-total::before { content:attr(data-label) ': '; color:#596474; }
  .table-wrap .mobile-row-more { display:block; grid-column:2; }
  .row-expand { background:none; border:0; border-top:1px solid #dde0d8; padding:12px 0 4px; width:100%; text-align:left; color:#145c2e; font-size:12px; min-height:44px; }
  .row-selected td { border:0; }
  .table-wrap .row-selected { border:2px solid #1b7a3e; padding:15px; }
  .return-long { display:none; }
  .return-short { display:inline; }
  .pager { flex-wrap:wrap; gap:12px; }
  .pager button, .tools select, .download { min-height:44px; }
}
.result-navigation { padding:0 30px 28px; }
.share-result { margin:0 30px 24px; padding:22px; background:#f5f6f3; border:1px solid #d4ddd7; border-radius:14px; }
.share-result h3 { margin:0 0 8px; font-family:"Playfair Display",Georgia,serif; font-size:22px; }
.share-result p { color:#596474; font-size:12px; line-height:1.7; margin:0 0 12px; }
.share-actions { display:flex; flex-wrap:wrap; gap:10px; }
.share-actions button { background:#fff; color:#145c2e; border:1px solid #9dc6ac; border-radius:8px; padding:11px 15px; font-size:13px; font-weight:600; }
.share-actions button:first-child { background:#1b7a3e; color:#fff; border-color:#1b7a3e; }
.share-actions button:hover { box-shadow:0 3px 12px #1a254016; }
#share-feedback { margin:12px 0 0; }
#share-feedback:empty { display:none; }
#share-feedback input { display:block; width:100%; margin-top:7px; border:1px solid #9dc6ac; border-radius:6px; padding:10px; }
@media(max-width:700px) { .share-result { margin:0 18px 20px; padding:18px; } .share-actions button { width:100%; } }
.result-navigation button, .back-to-result { background:#1b7a3e; color:#fff; border:1px solid #1b7a3e; border-radius:9px; padding:12px 18px; font-weight:600; font-size:13px; }
.result-navigation button:hover { background:#145c2e; }
.back-to-result { background:#fff; color:#145c2e; }
.back-to-result:hover { background:#e7f3eb; }
.back-to-result { position:fixed; right:24px; bottom:calc(22px + env(safe-area-inset-bottom)); z-index:60; background:#1b7a3e; color:#fff; box-shadow:0 6px 24px #1a25402b; border-radius:50px; padding:14px 22px; }
.back-to-result:hover { background:#145c2e; color:#fff; }
body { padding-bottom:90px; }
@media(max-width:700px) { .back-to-result { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); max-width:calc(100% - 28px); font-size:12px; padding:13px 18px; } }
#detail { scroll-margin-top:24px; }
.search-section { position:sticky; top:0; z-index:50; padding:12px 0 10px; background:#f5f6f3; border-bottom:1px solid #dde0d8; }
.search-section .search-label { margin-bottom:7px; font-size:13px; }
.search-section .search-box { box-shadow:0 4px 16px #1a25400d; }
.search-section #search { height:46px; }
.search-section .hint { margin-top:6px; font-size:11px; }
.search-section #announcement { margin-top:6px; min-height:0; }
.search-section #announcement:empty { display:none; }
.search-section .personal-match-list { max-height:130px; overflow-y:auto; }
#detail { scroll-margin-top:190px; }
.table-wrap tr { scroll-margin-top:190px; }
@media(max-width:700px) { .search-section { padding-top:9px; } .search-section .hint { display:none; } #detail,.table-wrap tr { scroll-margin-top:170px; } }
@media(max-width:700px) { .result-navigation { padding:0 18px 22px; } .result-navigation button { width:100%; } .results-head { flex-wrap:wrap; } }
.lap.fast { background: #e7f3eb; border: 2px solid #1b7a3e; padding: 9px; }
.lap.empty { opacity: 1; background: #fafbf9; border-style: dashed; }
.lap.empty small, .lap.empty strong { color: #66707c; }
.status { background: #e7f3eb; color: #145c2e; border-color: #9dc6ac; }
.status.out { background: #fbeef0; color: #822b3c; border-color: #d7a5af; }
.status.none { background: #eef0f3; color: #465363; border-color: #b6c0cd; }
th { background: #eef0eb; color: #465363; }
td { border-color: #dde0d8; }
tbody tr:nth-child(even) { background: #f1f4ef; }
tbody tr:hover { background: #e7f3eb; }
.row-selected { background: #dceee2 !important; }
.row-selected td:first-child { box-shadow:inset 4px 0 #1b7a3e; }
.row-selected td { border-top-color:#9dc6ac; border-bottom:1px solid #9dc6ac; }
.download { background: #fff; border-color: #7b9585; }
.download:hover { background: #e7f3eb; }
.pager button:disabled { opacity: 1; color: #68727d; background: #eef0eb; }

/* Podium: ruhige Metalltöne, Sieger in der Mitte, klare Typografie. */
.category-controls { display:flex; gap:18px; flex-wrap:wrap; margin-top:30px; padding:20px; border:1px solid #d4ddd7; border-radius:14px; background:#fff; }
.category-controls label { display:flex; flex:1; min-width:200px; flex-direction:column; gap:8px; font-size:12px; color:#465363; font-weight:600; }
.category-controls select { width:100%; padding:12px; font-size:15px; color:#1a2540; }
.category-note { color:#596474; font-size:12px; line-height:1.6; margin-top:10px; }
.sort-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 16px; }
.sort-controls > label { font-size:12px; font-weight:600; color:#465363; margin-right:4px; }
.sort-controls select { background:#fff; padding:10px 12px; font-size:13px; }
.sort-controls p { flex-basis:100%; font-size:12px; color:#596474; margin:0; }
.sort-controls label { display:flex; flex-direction:column; align-items:flex-start; gap:8px; font-weight:600; font-size:12px; color:#465363; width:min(100%,430px); }
.sort-controls label select { width:100%; font-size:15px; padding:12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:700px) { .sort-controls > label:not(.sr-only) { flex-basis:100%; } .sort-controls select { flex:1; min-width:140px; } }
body { background: radial-gradient(ellipse at 50% 0, #fff 0, #f5f6f3 65%); }
.podium { align-items: end; gap: 20px; margin: 48px 0 40px; }
.podium button { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 238px; padding: 30px 20px 25px; border-radius: 18px; box-shadow: 0 8px 24px #1a254009; overflow: hidden; }
.podium button::before { content: '2'; display: grid; place-items: center; width: 55px; height: 55px; margin-bottom: 18px; border-radius: 50%; background: linear-gradient(135deg, #f5f7fa, #c2cdd6); border: 1px solid #91a1af; color: #35485a; font: 700 27px/1 Georgia, serif; box-shadow: inset 0 0 0 4px #ffffff70, 0 3px 8px #1a254010; }
.podium button::after { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: #91a1af; }
.podium button:nth-child(1) { order: 2; min-height: 276px; background: linear-gradient(150deg, #fffdf5, #fff4d8); border-color: #c3a158; box-shadow: 0 12px 32px #96732a19; }
.podium button:nth-child(1)::before { content: '1'; width: 65px; height: 65px; background: linear-gradient(135deg, #fff0b5, #d9af4b); border-color: #aa812b; color: #604610; font-size: 32px; }
.podium button:nth-child(1)::after { background: linear-gradient(90deg, #ac812a, #edcf7e, #ac812a); }
.podium button:nth-child(2) { order: 1; background: linear-gradient(150deg, #fff, #edf1f5); }
.podium button:nth-child(3) { order: 3; background: linear-gradient(150deg, #fff, #f9ece2); border-color: #c69a7c; }
.podium button:nth-child(3)::before { content: '3'; background: linear-gradient(135deg, #f8dcc6, #cd9672); border-color: #ad7653; color: #623c24; }
.podium button:nth-child(3)::after { background: #b78159; }
.podium-name { font-size: clamp(20px, 2.2vw, 27px); margin: 10px 0 10px; line-height: 1.25; }
.podium button:nth-child(1) .podium-name { font-size: clamp(24px, 2.6vw, 32px); }
.place { font-size: 11px; letter-spacing: 2px; }
.podium-meta { line-height: 1.65; }
.podium button:hover { transform: translateY(-4px); box-shadow: 0 14px 32px #1a254014; }
.panel { border-radius: 22px; }
.panel-top { padding-top: 34px; padding-bottom: 30px; }
.identity h2 { letter-spacing: -.7px; }
.metric { background: #f7f8f5; padding: 20px 16px; }
.metric-label { font-size: 10px; letter-spacing: 1px; }
.milestone.gold { background: linear-gradient(110deg, #fff8e5, #f9edc9); border-color: #d3b775; }
.panel[data-rank="1"] { border-color: #c3a158; box-shadow: 0 10px 36px #96732a12; }
.panel[data-rank="1"] .bib::before { content: 'SIEGER 2026'; display: block; color: #76571a; font-weight: 700; letter-spacing: 2px; margin-bottom: 9px; }
.panel[data-rank="2"] .bib::before { content: '2. PLATZ · PODIUM 2026'; display: block; color: #465b6e; font-weight: 700; letter-spacing: 1.5px; margin-bottom: 9px; }
.panel[data-rank="3"] .bib::before { content: '3. PLATZ · PODIUM 2026'; display: block; color: #875032; font-weight: 700; letter-spacing: 1.5px; margin-bottom: 9px; }
@media (max-width: 700px) {
  .podium { gap: 12px; margin: 30px 0; }
  .podium button, .podium button:nth-child(1), .podium button:nth-child(2), .podium button:nth-child(3) { order: initial; min-height: 0; display: grid; grid-template-columns: 54px 1fr; gap: 5px 16px; text-align: left; padding: 20px; }
  .podium button::before, .podium button:nth-child(1)::before { grid-column: 1; grid-row: 1 / 4; width: 50px; height: 50px; margin: 0; font-size: 25px; }
  .podium .place, .podium .podium-name, .podium .podium-meta { grid-column: 2; margin: 0; }
  .podium button:nth-child(1) .podium-name { font-size: 25px; }
  .podium-name { font-size: 21px; }
  .metric { padding: 14px; }
  .panel-top { padding: 24px 18px; }
}
