/* Rallye Sirocco: an editorial rally journal and a precise sporting classification. */
.lb { --lb-forest:#193e33; --lb-brass:#b48c53; --lb-sand:#f5f0e7; --lb-line:#e4ded2; padding:86px 0 0; background:var(--lb-sand); color:#283e34; }
.lb-wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.lb button,.lb input,.lb-dialog button { font-family:var(--font-body); }
.lb button { cursor:pointer; }
.lb button:disabled { cursor:wait; }
.lb [hidden],.lb-dialog [hidden] { display:none!important; }
.lb h2,.lb h3 { text-transform:none; }
.lb button:focus-visible,.lb a:focus-visible,.lb input:focus-visible,.lb [tabindex]:focus-visible,.lb-dialog button:focus-visible { outline:3px solid #ac7f3c; outline-offset:4px; }
.lb-kicker,.lb-view-label { margin:0; font-size:9px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#937344; }
.lb [data-place='1'],.lb [data-medal='1'] { --medal:#c79b43; --medal-soft:#faf5e8; --medal-ink:#7e5b1e; }
.lb [data-place='2'],.lb [data-medal='2'] { --medal:#a4adb8; --medal-soft:#f2f4f6; --medal-ink:#535f6c; }
.lb [data-place='3'],.lb [data-medal='3'] { --medal:#b98158; --medal-soft:#faf0e8; --medal-ink:#805136; }

/* The actual Tizi n’Tichka road, with the official rally plate. */
.lb-hero { position:relative; isolation:isolate; overflow:hidden; background:#244a35; color:#fff; }
.lb-hero__landscape { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 52%; z-index:-3; }
.lb-hero:before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#102f27e6,#14352b9e 43%,#18382912 78%),linear-gradient(0deg,#15372bc2,transparent 50%); }
.lb-hero__pattern { position:absolute; right:0; top:0; width:210px; height:210px; background:url('/assets/leaderboard-zellige.svg') 0 0/70px; opacity:.24; z-index:-1; mask-image:linear-gradient(225deg,#000,transparent 80%); }
.lb-hero__inner { position:relative; min-height:485px; padding:65px 0 112px; }
.lb-hero__copy { max-width:670px; }
.lb-hero .lb-kicker { display:flex; align-items:center; gap:12px; color:#edcf9a; font-size:10px; margin-bottom:22px; }
.lb-hero .lb-kicker:before { content:''; height:1px; width:32px; background:#dbb46e; }
.lb-hero h1 { margin:0; font:400 clamp(82px,8vw,108px)/.85 var(--font-display); text-transform:uppercase; letter-spacing:.015em; }
.lb-hero h1 em { display:inline-block; font:400 italic clamp(67px,7vw,91px)/1 var(--font-serif); text-transform:none; letter-spacing:-.045em; color:#f2d4a3; margin-top:5px; }
.lb-hero__intro { max-width:410px; font-size:13px; line-height:1.85; color:#e9ede5; margin:21px 0 0; }
.lb-hero__cta { display:inline-flex; align-items:center; gap:32px; text-decoration:none; color:#243c30; background:#f1e1c4; padding:14px 19px; min-height:46px; margin-top:24px; font-size:10px; font-weight:600; border:1px solid #f4e7ce; transition:background .2s; }
.lb-hero__cta>span { font-size:18px; }
.lb-hero__cta:hover { background:#fff5e2; }
.lb-hero__visual { position:absolute; top:47px; right:0; width:225px; }
.lb-hero__plate { width:100%; height:auto; display:block; transform:rotate(-4deg); filter:drop-shadow(0 8px 17px #071e1b40); }
.lb-hero__location { position:absolute; right:0; bottom:122px; display:flex; align-items:center; gap:8px; font-size:8px; letter-spacing:.12em; color:#fff6e5; }
.lb-hero__location>span { font-size:21px; }
.lb-hero__bottom { position:absolute; bottom:30px; left:0; width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:21px; border-top:1px solid #ede2c84a; }
.lb-event-meta { display:flex; align-items:center; gap:24px; font-size:9px; letter-spacing:.04em; color:#eeeee3; }
.lb-event-meta>span+span { border-left:1px solid #e8e4cd5e; padding-left:24px; }
.lb-event-meta b { color:#f1d19d; font-size:13px; margin-right:3px; }
.lb-hero__route { font-size:8px; letter-spacing:.14em; color:#e6e0c8; }

/* Photo-led navigation: one stage label, one title, one route. */
.lb-classification { scroll-margin-top:100px; padding-top:34px; padding-bottom:64px; }
.lb-journey { margin-bottom:34px; }
.lb-journey__heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:18px; }
.lb-journey__heading h2 { margin:8px 0 0; font:500 31px/1.15 var(--font-serif); letter-spacing:-.025em; color:var(--lb-forest); }
.lb-progress { font-size:9px; color:#827e70; white-space:nowrap; padding-bottom:3px; }
.lb-stage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.lb-stage { position:relative; min-width:0; padding:0; border:1px solid #ded9cc; border-radius:4px; background:#fbf8f2; text-align:left; color:var(--lb-forest); overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.lb-stage:hover { border-color:#baa47c; box-shadow:0 5px 18px #3029190b; }
.lb-stage[aria-selected=true]:not(.lb-stage--overall) { border-color:var(--lb-forest); box-shadow:0 0 0 1px var(--lb-forest); }
.lb-stage__photo { position:relative; display:block; height:114px; overflow:hidden; }
.lb-stage__photo:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,transparent 30%,#0c231c5c); }
.lb-stage__photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.lb-stage:hover .lb-stage__photo img { transform:scale(1.04); }
.lb-stage__top { display:flex; align-items:center; justify-content:space-between; gap:8px; position:absolute; top:11px; left:11px; right:11px; z-index:1; color:#fff; font-size:9px; font-weight:500; text-shadow:0 1px 5px #0008; }
.lb-stage__top>span:first-child { padding:5px 8px; background:#f7f1e6ed; color:#2f493a; border-radius:2px; text-shadow:none; }
.lb-stage__body { display:block; padding:13px 14px 10px; }
.lb-stage strong { display:block; font:600 22px/1.1 var(--font-serif); letter-spacing:-.025em; }
.lb-stage__route { display:block; font-size:10px; line-height:1.6; margin-top:7px; color:#777d6e; min-height:32px; }
.lb-stage__bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:5px; }
.lb-stage__status { display:flex; align-items:center; gap:5px; font-size:8px; color:#777d6e; }
.lb-stage__status i,.lb-connection i { width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.lb-stage__arrow { display:grid; place-items:center; width:23px; height:23px; border:1px solid #e1dcce; border-radius:50%; color:#927a50; font-size:13px; }
.lb-stage[aria-selected=true] .lb-stage__arrow { background:var(--lb-forest); color:#f3e6cc; border-color:var(--lb-forest); }
.lb-stage.is-published .lb-stage__status { color:#286245; }
.lb-stage--overall { grid-column:1/-1; justify-self:start; display:flex; align-items:center; gap:18px; padding:10px 16px; border-radius:30px; min-height:42px; font-size:10px; font-weight:600; }
.lb-stage--overall>span+span { font-size:8px; font-weight:400; opacity:.65; }
.lb-stage--overall>span:last-child { font-size:13px; opacity:1; }
.lb-stage--overall[aria-selected=true] { background:var(--lb-forest); color:#f5ead6; border-color:var(--lb-forest); }

/* Ivory paper, fine rules and a sporting podium. */
.lb-board { background:#fffdf8; border:1px solid var(--lb-line); border-radius:5px; padding:32px; box-shadow:0 15px 40px #43351e05; scroll-margin-top:100px; }
.lb-classification__heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:23px; }
.lb-heading-title { display:flex; align-items:center; gap:17px; }
.lb-classification__heading h2 { font:500 47px/1.1 var(--font-serif); color:var(--lb-forest); margin:8px 0 0; letter-spacing:-.035em; }
.lb-classification__heading p:not(.lb-view-label) { font-size:10px; color:#7e8276; line-height:1.6; margin:8px 0 0; }
.lb-racing-flag { display:block; width:42px; height:32px; flex-shrink:0; opacity:.8; margin-top:8px; }
.lb-connection { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid #e3decf; border-radius:30px; white-space:nowrap; color:#7d775f; font-size:7px; letter-spacing:.05em; }
.lb-connection.is-connected { color:#346447; border-color:#ccdac6; }
.lb-coming { display:flex; align-items:center; gap:12px; padding:13px 16px; background:#f6f1e7; border-radius:3px; margin-bottom:24px; }
.lb-coming__mark { font-size:24px; color:#a17f49; }
.lb-coming strong { font-size:10px; color:#6f5c3b; font-weight:600; }
.lb-coming p { margin:3px 0 0; font-size:9px; color:#857d6c; line-height:1.6; }
.lb-highlights-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:12px; font-size:8px; font-weight:600; letter-spacing:.12em; }
.lb-highlights-heading>span+span { font-size:9px; color:#878779; letter-spacing:0; font-weight:400; }
.lb-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:14px; margin-bottom:27px; }
.lb-podium-place { min-width:0; }
.lb-podium.is-classified { align-items:stretch; }
.lb-podium-place--classified { display:flex; flex-direction:column; }
.lb-podium-place--classified .lb-photo-card { display:flex; flex-direction:column; flex:1; }
.lb-podium-place--classified .lb-photo-card__crew { display:flex; flex-direction:column; flex:1; }
.lb-podium-place--classified .lb-photo-card__image { width:100%; flex-shrink:0; }
.lb-podium-place--classified .lb-photo-card__identity { width:100%; flex:1; }
.lb-podium-place__label { margin:0 0 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 13px; color:var(--medal-ink); background:var(--medal-soft); border-bottom:2px solid var(--medal); font:400 32px/1 var(--font-display); }
.lb-podium-place__label small { font:500 9px/1.4 var(--font-body); }
.lb-podium-place.is-empty { display:flex; flex-direction:column; justify-content:center; min-height:124px; position:relative; padding:20px; border:1px solid #e9e3d8; border-top:2px solid var(--medal); border-radius:3px; background:var(--medal-soft); }
.lb-podium-place.is-empty .lb-podium-place__label { padding:0; margin:0 0 12px; border:0; background:transparent; font-size:48px; align-items:end; }
.lb-podium-place.is-empty .lb-podium-place__label small { padding-bottom:5px; }
.lb-podium-place__waiting { margin:0; font-size:9px; line-height:1.5; color:#817f72; }
.lb-photo-card { overflow:hidden; border:1px solid #e8e1d3; border-radius:3px; background:#fffcf6; }
.lb-photo-card__crew { display:block; width:100%; border:0; padding:0; background:none; text-align:left; color:#273f32; }
.lb-photo-card__image { display:block; position:relative; aspect-ratio:4/3; background:#ecebdc; overflow:hidden; }
.lb-photo-card__image img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; display:block; }
.lb-photo-card__crew[data-crew=crew-04] img { object-position:50% 45%; }
.lb-photo-card__image>.lb-avatar__placeholder { position:absolute; width:65px; height:65px; left:50%; top:50%; transform:translate(-50%,-50%); }
.lb-photo-card__number { position:absolute; right:0; top:0; padding:7px 9px; color:#293529; background:var(--medal); font-size:9px; font-weight:500; }
.lb-photo-card__identity { display:block; position:relative; padding:15px 14px 16px; }
.lb-photo-card__identity strong { display:block; font-size:15px; font-weight:600; line-height:1.4; padding-right:14px; }
.lb-photo-card__identity .lb-members { margin-top:10px; }
.lb-photo-card__arrow { position:absolute; top:15px; right:13px; color:#99845e; font-size:16px; }
.lb-photo-card__result { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-top:2px solid var(--medal); background:var(--lb-forest); color:#fff4df; }
.lb-photo-card__result span { font-size:8px; letter-spacing:.1em; }
.lb-photo-card__result strong { font:400 27px/1 var(--font-display); }
.lb-climber { display:flex; align-items:center; gap:14px; margin-bottom:21px; padding:12px 14px; background:#edf1e7; border-left:2px solid #728b5c; color:#527049; }
.lb-climber strong { font-size:7px; letter-spacing:.07em; }
.lb-climber span { font-size:9px; line-height:1.6; }
.lb-climber b { font-size:15px; white-space:nowrap; margin-left:auto; }

/* Participants remain attached to their crew and to their confirmed nationality. */
.lb-crew { display:flex; align-items:center; gap:14px; width:100%; padding:0; border:0; background:none; color:#243f31; text-align:left; }
.lb-avatar { display:grid; place-items:center; width:66px; height:78px; flex-shrink:0; overflow:hidden; border-radius:3px; background:#eeede2; }
.lb-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
.lb-avatar__placeholder { display:block; width:34px; height:34px; background:url('/assets/leaderboard-crew-placeholder.svg') center/contain no-repeat; opacity:.8; }
.lb-crew__text { display:flex; flex-direction:column; align-items:start; min-width:0; flex:1; }
.lb-number { display:block; color:#8b7856; font-size:8px; line-height:1.4; margin-bottom:4px; font-weight:500; }
.lb-crew__name { font-size:16px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.lb-crew__arrow { color:#a69779; font-size:16px; flex-shrink:0; }
.lb-crew:hover .lb-crew__name { color:#7b642f; }
.lb-members { display:flex; flex-direction:column; gap:4px; width:100%; margin-top:8px; }
.lb-member { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:8px; row-gap:2px; font-size:11px; line-height:1.5; }
.lb-member__name { color:#4a584b; font-weight:400; overflow-wrap:anywhere; }
.lb-member__country { display:inline-flex; align-items:center; gap:4px; font-size:9px; color:#828173; white-space:nowrap; }
.lb-member__country>span { font-size:11px; line-height:1; }
.lb-members__private { display:block; margin-top:7px; font-size:9px; color:#8e8d7f; font-weight:400; line-height:1.5; }

/* Results are legible, calm, and visibly gold / silver / bronze when published. */
.lb-results-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; border-top:1px solid var(--lb-line); padding-top:21px; }
.lb-last-update { display:flex; flex-direction:column; gap:6px; font-size:8px; color:#8e8879; }
#publication-status { font-size:8px; font-weight:500; color:#6c7865; }
.lb-tools { display:flex; align-items:center; gap:8px; }
.lb-search { display:flex; align-items:center; gap:9px; border:1px solid #e1dacb; background:#fffef9; padding:0 12px; border-radius:3px; color:#8b8d7d; }
.lb-search input { background:none; border:0; min-height:42px; width:167px; padding-block:10px; color:#344739; font-size:10px; }
.lb-search input::placeholder { color:#8f8c7e; opacity:1; }
.lb-refresh { display:grid; place-items:center; width:44px; height:44px; border:1px solid #e1dacb; border-radius:3px; background:#f9f6ef; color:#6e795e; font-size:23px; }
.lb-refresh:hover { background:#eeeadd; }
.lb-refresh.is-loading { animation:lb-spin 1s linear infinite; }
.lb-mobile-options,.lb-scroll-hint { display:none; }
.lb-table-scroll { overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c8ba9f #f4efe4; }
.lb-table { width:100%; min-width:760px; border-collapse:collapse; text-align:left; font-variant-numeric:tabular-nums; }
.lb-table th,.lb-table td { padding:17px 9px; border-bottom:1px solid #eae5da; }
.lb-table thead th { color:#989181; font-size:7px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding-block:13px; white-space:nowrap; background:#f4f0e8; border-top:1px solid #e8e0d2; }
.lb-table thead th:nth-child(3) { width:46%; }
.lb-table thead th:not(:nth-child(3)),.lb-table tbody td { text-align:center; }
.lb-table tbody th { font-weight:400; }
.lb-table tbody tr { background:#fffdf8; }
.lb-table tbody tr:nth-child(even) { background:#faf7f0; }
.lb-table tbody tr:hover { background:#f3f2e8; }
.lb-table tbody tr[data-medal] { background:var(--medal-soft); }
.lb-table tbody tr[data-medal] .lb-rank { box-shadow:inset 3px 0 var(--medal); }
.lb-rank { width:36px; }
.lb-position { display:grid; place-items:center; width:29px; height:32px; margin-inline:auto; background:#eae9de; color:#889282; font:400 22px/1 var(--font-display); border-radius:2px; }
.lb-rank[data-medal] .lb-position { background:var(--medal); color:#25352b; }
.lb-movement { width:25px; padding-inline:3px!important; font-size:8px; }
.lb-move { display:inline-flex; align-items:center; white-space:nowrap; }
.lb-move--up { color:#447352; }
.lb-move--down { color:#a7544b; }
.lb-move--same { color:#999587; }
.lb-move.is-new { animation:lb-arrow .7s ease both; }
.lb-score { font-size:12px; font-weight:400; color:#a9a692; }
.lb-score.has-score { color:#4b6047; }
.lb-score--total { color:#204633; font:400 27px/1 var(--font-display); background:#f3eddd; min-width:61px; }
.lb-table thead .lb-score--total { color:#8a7348; }
.lb-table tr[data-medal] .lb-score--total { background:var(--medal-soft); color:var(--medal-ink); }
.lb-technical-btn { min-height:44px; padding:8px 5px; border:1px solid #ead7ce; border-radius:3px; background:#fff0e8; color:#9c584d; font-size:9px; white-space:nowrap; }
.lb-technical-btn small { display:block; font-size:7px; margin-top:4px; font-weight:400; }
.lb-mobile-technical { display:none; }
.lb-stage-status { display:inline-block; font-size:8px; line-height:1.4; color:#708267; background:#edf0e5; padding:4px 6px; border-radius:2px; }
.lb-table-footer { display:flex; justify-content:space-between; align-items:start; gap:16px; padding-top:17px; color:#928b7a; font-size:8px; line-height:1.6; }
.lb-network-note { padding:13px; background:#f7eddc; color:#8d734c; font-size:10px; line-height:1.7; margin-bottom:0; }
.lb-no-matches { text-align:center!important; padding:30px!important; font-size:12px; color:#7e846f; }

/* A last glimpse of the route, separate from the actual sporting results. */
.lb-escape { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; margin-top:34px; background:#1c4034; color:#f2ead8; border-radius:4px; }
.lb-escape>img { display:block; width:100%; height:100%; min-height:275px; object-fit:cover; }
.lb-escape__copy { position:relative; padding:36px 40px; background:url('/assets/leaderboard-zellige.svg') right -25px top -45px/130px no-repeat; }
.lb-escape .lb-kicker { color:#d2b587; }
.lb-escape h2 { font:400 39px/1.04 var(--font-serif); margin:17px 0; letter-spacing:-.025em; }
.lb-escape h2 em { color:#ddbf8b; }
.lb-escape__copy>p:not(.lb-kicker) { max-width:340px; font-size:10px; line-height:1.8; color:#c7d2bf; }
.lb-escape a { display:inline-flex; align-items:center; gap:32px; padding:10px 0; border-bottom:1px solid #b89d6a; color:#f7ead2; font-size:10px; text-decoration:none; }
.lb-escape a>span { font-size:16px; }

/* The crew performance panel keeps its stage results, history and published penalties. */
.lb-dialog { width:min(820px,calc(100% - 32px)); max-height:90dvh; border:1px solid #cab999; border-radius:7px; padding:0; background:#fcf8ef; color:#243f32; box-shadow:0 30px 100px #0b211e70; }
.lb-dialog::backdrop { background:#0b2821b5; backdrop-filter:blur(5px); }
.lb-dialog__top { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 25px; color:#d6bf92; background:#193e33; font-size:8px; letter-spacing:.15em; }
.lb-dialog__close { width:44px; height:44px; border:0; background:none; color:#f6e8cc; font-size:29px; }
.lb-detail { padding:30px; }
.lb-detail__identity { display:flex; align-items:center; gap:25px; }
.lb-detail__identity>div:last-child { min-width:0; flex:1; }
.lb-detail__image { display:grid; place-items:center; width:145px; height:145px; flex-shrink:0; border-radius:3px; overflow:hidden; background:#e9ebdc; font:400 65px/1 var(--font-display); color:#9a987f; }
.lb-detail__image img { display:block; width:100%; height:100%; object-fit:cover; }
.lb-detail h2 { font:500 44px/1 var(--font-serif); letter-spacing:-.035em; margin:8px 0; text-transform:none; }
.lb-detail .lb-member { font-size:12px; }
.lb-detail .lb-member__country { font-size:10px; }
.lb-detail__metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:28px 0; border:1px solid #e1d8c6; background:#fffdf8; border-radius:3px; }
.lb-detail__metrics>div { padding:17px 14px; }
.lb-detail__metrics>div+div { border-left:1px solid #e1d8c6; }
.lb-detail__metrics span { font-size:8px; color:#8d826e; display:block; text-transform:uppercase; letter-spacing:.04em; }
.lb-detail__metrics strong { display:block; margin-top:9px; font:400 32px/1 var(--font-display); }
.lb-detail__metrics small { font:500 9px/1 var(--font-body); }
.lb-detail h3 { font:500 24px/1.15 var(--font-serif); text-transform:none; margin:24px 0 14px; }
.lb-detail__stages { width:100%; border-collapse:collapse; font-size:11px; }
.lb-detail__stages td,.lb-detail__stages th { padding:12px 6px; border-bottom:1px solid #e5dece; }
.lb-detail__stages th { font-size:9px; font-weight:500; color:#81785f; text-align:left; }
.lb-chart { padding:15px; background:#fffdf8; border:1px solid #e1d8c6; border-radius:3px; }
.lb-chart svg { display:block; width:100%; height:auto; }
.lb-chart-point { cursor:pointer; fill:#28523f; stroke:#fffdf8; stroke-width:3; }
.lb-chart-point:hover,.lb-chart-point:focus { fill:#a47b3d; }
.lb-chart-label { font:11px var(--font-body); fill:#8a836e; }
.lb-chart-readout { min-height:22px; font-size:10px; color:#758064; margin:0; }
.lb-chart-empty { text-align:center; font-size:11px; color:#8d8874; line-height:1.7; padding:23px; background:#f1ede2; border:1px dashed #d5c9ae; }
.lb-penalty { padding:14px; background:#fbede6; border-left:2px solid #b97159; margin-bottom:9px; font-size:10px; color:#8f5446; }
.lb-penalty__top { display:flex; justify-content:space-between; gap:14px; }
.lb-penalty p { margin:7px 0 0; line-height:1.6; }
.lb-detail__profile { display:inline-flex; align-items:center; gap:32px; min-height:44px; margin-top:20px; padding:13px 19px; font-size:10px; text-decoration:none; background:#193e33; color:#f3e4c5; border-radius:3px; }
.lb-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; }

@keyframes lb-arrow { from { transform:translateY(7px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes lb-spin { to { transform:rotate(360deg); } }
@media (min-width:1500px) {
 .lb-hero__inner { min-height:525px; padding-top:76px; }
 .lb-stage__photo { height:145px; }
}
@media (max-width:1100px) {
 .lb-wrap { width:calc(100% - 48px); }
 .lb-hero__visual { width:185px; }
 .lb-hero__copy { max-width:580px; }
 .lb-stage strong { font-size:20px; }
 .lb-stage__body { padding-inline:12px; }
 .lb-board { padding:26px; }
 .lb-table th,.lb-table td { padding-inline:7px; }
 .lb-avatar { width:58px; height:74px; }
 .lb-crew { gap:12px; }
 .lb-crew__arrow { display:none; }
}
@media (max-width:900px) {
 .lb-hero__inner { min-height:455px; padding-top:65px; }
 .lb-hero h1 { font-size:88px; }
 .lb-hero h1 em { font-size:74px; }
 .lb-hero__visual { width:150px; top:32px; }
 .lb-hero__route { display:none; }
 .lb-stage-grid { gap:10px; }
 .lb-stage__photo { height:100px; }
 .lb-stage__body { padding:11px 10px 9px; }
 .lb-stage strong { font-size:18px; min-height:39px; }
 .lb-stage__route { font-size:9px; }
 .lb-stage--overall { padding:10px 15px; }
 .lb-board { padding:23px; }
 .lb-table { min-width:790px; }
 .lb-scroll-hint { display:block; color:#8c836d; font-size:9px; margin:0 0 10px; }
}
@media (max-width:700px) {
 .lb { padding-top:76px; }
 .lb-wrap { width:calc(100% - 32px); }
 .lb-hero__inner { min-height:427px; padding:82px 0 88px; }
 .lb-hero__visual { top:17px; right:0; width:115px; }
 .lb-hero .lb-kicker { font-size:7px; gap:8px; margin-bottom:18px; }
 .lb-hero .lb-kicker:before { width:19px; }
 .lb-hero h1 { font-size:75px; }
 .lb-hero h1 em { font-size:62px; }
 .lb-hero__intro { font-size:10px; max-width:270px; margin-top:16px; }
 .lb-hero__cta { font-size:9px; min-height:44px; padding:12px 15px; margin-top:18px; gap:27px; }
 .lb-hero__landscape { object-position:62% 50%; }
 .lb-hero:before { background:linear-gradient(90deg,#123c2bce,#14382966),linear-gradient(0deg,#1438299c,transparent); }
 .lb-hero__location { bottom:80px; font-size:6px; gap:5px; }
 .lb-hero__location>span { font-size:14px; }
 .lb-hero__bottom { bottom:21px; padding-top:17px; }
 .lb-event-meta { font-size:7px; gap:15px; letter-spacing:0; }
 .lb-event-meta>span+span { padding-left:15px; }
 .lb-event-meta b { font-size:10px; }
 .lb-classification { padding-top:26px; padding-bottom:30px; scroll-margin-top:88px; }
 .lb-journey { margin-bottom:25px; }
 .lb-journey__heading { align-items:center; gap:12px; margin-bottom:15px; }
 .lb-journey__heading h2 { max-width:240px; font-size:25px; }
 .lb-journey .lb-kicker { font-size:8px; }
 .lb-progress { font-size:7px; }
 .lb-stage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .lb-stage__photo { height:100px; }
 .lb-stage__top { top:8px; left:8px; right:8px; font-size:8px; gap:4px; }
 .lb-stage__top>span:first-child { padding:4px 6px; }
 .lb-stage strong { font-size:20px; min-height:42px; }
 .lb-stage__route { min-height:29px; margin-top:5px; }
 .lb-stage__bottom { margin-top:5px; }
 .lb-stage__status { font-size:8px; }
 .lb-stage--overall { min-height:44px; font-size:10px; }
 .lb-board { padding:22px 16px; scroll-margin-top:88px; }
 .lb-classification__heading { display:block; margin-bottom:18px; }
 .lb-classification__heading h2 { font-size:39px; }
 .lb-classification__heading p:not(.lb-view-label) { font-size:9px; }
 .lb-view-label { font-size:8px; }
 .lb-racing-flag { width:35px; height:26px; }
 .lb-heading-title { gap:12px; }
 .lb-connection { margin-top:13px; font-size:6px; padding:7px 9px; }
 .lb-coming { padding:12px; gap:10px; margin-bottom:22px; }
 .lb-coming strong { font-size:9px; }
 .lb-coming p { font-size:8px; }
 .lb-highlights-heading { font-size:7px; letter-spacing:.06em; gap:10px; }
 .lb-highlights-heading>span+span { font-size:7px; }
 .lb-podium { gap:8px; margin-bottom:22px; }
 .lb-podium-place.is-empty { min-height:118px; padding:13px 9px; }
 .lb-podium-place.is-empty .lb-podium-place__label { flex-direction:column; align-items:start; gap:7px; font-size:38px; margin-bottom:7px; }
 .lb-podium-place.is-empty .lb-podium-place__label small { padding:0; font-size:7px; }
 .lb-podium-place__waiting { font-size:7px; }
 .lb-podium:has(.lb-photo-card) { grid-template-columns:1fr; gap:16px; }
 .lb-podium-place__label { font-size:25px; padding:9px 11px; margin-bottom:8px; }
 .lb-photo-card { display:grid; grid-template-columns:minmax(0,1fr) 55px; }
 .lb-podium-place--classified .lb-photo-card { display:grid; }
 .lb-photo-card__crew { display:grid; grid-template-columns:80px minmax(0,1fr); align-items:stretch; }
 .lb-podium-place--classified .lb-photo-card__crew { display:grid; }
 .lb-photo-card__image { min-height:142px; height:100%; aspect-ratio:auto; }
 .lb-photo-card__identity { padding:12px 10px; }
 .lb-photo-card__identity strong { font-size:12px; padding:0; }
 .lb-photo-card__identity .lb-members { margin-top:8px; }
 .lb-photo-card__identity .lb-member { font-size:9px; }
 .lb-photo-card__identity .lb-member__country { font-size:7px; }
 .lb-photo-card__arrow { display:none; }
 .lb-photo-card__number { top:auto; bottom:0; width:100%; font-size:6px; padding:5px 2px; text-align:center; }
 .lb-photo-card__result { flex-direction:column; justify-content:center; gap:8px; border-top:0; border-left:2px solid var(--medal); padding:9px 5px; }
 .lb-photo-card__result span { font-size:6px; }
 .lb-photo-card__result strong { font-size:25px; overflow-wrap:anywhere; }
 .lb-climber { flex-wrap:wrap; gap:8px; }
 .lb-climber span { font-size:8px; }
 .lb-results-toolbar { flex-direction:column; align-items:stretch; gap:14px; padding-top:17px; margin-bottom:15px; }
 .lb-last-update { flex-direction:row; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:7px; }
 #publication-status { font-size:7px; }
 .lb-tools { width:100%; }
 .lb-search { flex:1; min-width:0; padding-inline:10px; }
 .lb-search input { width:100%; min-width:0; min-height:44px; font-size:10px; }
 .lb-refresh { flex-shrink:0; width:46px; height:46px; }
 .lb-mobile-options { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0; border-top:1px solid var(--lb-line); }
 .lb-mobile-options>span { color:#8e8b79; font-size:7px; }
 .lb-details-toggle { display:flex; align-items:center; gap:6px; padding:0; min-height:44px; border:0; background:none; color:#65775c; font-size:8px; }
 .lb-details-toggle>span { font-size:17px; }
 .lb.is-stage-view .lb-details-toggle { display:none; }
 .lb.is-stage-view .lb-mobile-options { padding-block:14px; }
 .lb-scroll-hint { display:none!important; }
 .lb-table-scroll { overflow:visible; }
 .lb-table { display:block; min-width:0; }
 .lb-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .lb-table tbody { display:block; }
 .lb-table tbody tr { display:grid; grid-template-columns:23px minmax(0,1fr) 40px; column-gap:8px; padding:18px 4px; border-bottom:1px solid #e8e1d4; }
 .lb-table tbody tr>* { padding:0!important; border:0; min-width:0; width:auto; background:transparent; }
 .lb-table tbody .lb-rank { grid-column:1; grid-row:1; align-self:center; box-shadow:none!important; }
 .lb-position { width:23px; height:28px; font-size:20px; }
 .lb-table tbody .lb-movement { grid-column:1; grid-row:2; font-size:6px; padding-top:5px!important; }
 .lb-table tbody th { grid-column:2; grid-row:1/3; }
 .lb-table tbody .lb-score--total { grid-column:3; grid-row:1/3; align-self:center; min-width:0; text-align:right; font-size:26px; overflow-wrap:anywhere; }
 .lb-table tbody .lb-score--total:before { content:attr(data-label); display:block; margin-bottom:5px; color:#9c927a; font:500 6px/1.3 var(--font-body); }
 .lb-table tbody tr>:nth-child(n+4):not(:last-child) { display:none; }
 .lb-crew { gap:9px; align-items:start; min-height:54px; }
 .lb-avatar { width:44px; height:59px; margin-top:2px; }
 .lb-avatar__placeholder { width:28px; height:28px; }
 .lb-number { font-size:7px; margin-bottom:4px; }
 .lb-crew__name { font-size:14px; }
 .lb-members { margin-top:7px; gap:6px; }
 .lb-member { font-size:11px; line-height:1.4; flex-direction:column; gap:3px; }
 .lb-member__country { font-size:9px; }
 .lb-member__country>span { font-size:10px; }
 .lb-members__private { font-size:8px; margin-top:5px; }
 .lb-table tbody tr[data-medal] { border-left:2px solid var(--medal); padding-left:2px; }
 .lb-mobile-technical { display:inline-flex; align-items:center; gap:4px; min-height:44px; max-width:100%; padding:6px; margin-top:8px; border:1px solid #ead7ce; border-radius:2px; background:#fff0e8; color:#9c584d; font-size:7px; line-height:1.6; }
 .lb-show-details .lb-mobile-technical,.lb.is-stage-view .lb-mobile-technical { display:none; }
 .lb-show-details .lb-table tbody tr,.lb.is-stage-view .lb-table tbody tr { row-gap:9px; }
 .lb-show-details .lb-table tbody tr>:nth-child(n+4):not(:last-child),.lb.is-stage-view .lb-table tbody tr>:nth-child(n+4):not(:last-child) { display:block; grid-column:1/-1; padding:8px 10px!important; text-align:right; font-size:12px; background:#f0ede2; }
 .lb-show-details .lb-table tbody tr>:nth-child(n+4):not(:last-child):before,.lb.is-stage-view .lb-table tbody tr>:nth-child(n+4):not(:last-child):before { content:attr(data-label); float:left; font:400 8px/1.8 var(--font-body); color:#837b67; }
 .lb-table tbody tr#no-matches { display:block; padding:24px; }
 .lb-no-matches { display:block; }
 .lb-table-footer { font-size:7px; gap:12px; }
 .lb-escape { grid-template-columns:1fr; margin-top:25px; }
 .lb-escape>img { height:190px; min-height:0; }
 .lb-escape__copy { padding:28px; }
 .lb-escape h2 { font-size:37px; }
 .lb-detail { padding:20px; }
 .lb-dialog__top { padding-inline:20px; }
 .lb-detail__identity { gap:16px; align-items:start; }
 .lb-detail__image { width:90px; height:115px; }
 .lb-detail h2 { font-size:32px; }
 .lb-detail .lb-member { font-size:10px; }
 .lb-detail .lb-member__country { font-size:8px; }
 .lb-detail__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lb-detail__metrics>div:nth-child(3) { border-left:0; }
 .lb-detail__metrics>div:nth-child(n+3) { border-top:1px solid #e1d8c6; }
 .lb-detail__stages { font-size:9px; }
 .lb-detail__stages th { font-size:8px; }
 .lb-detail__stages td,.lb-detail__stages th { padding-inline:3px; }
}
@media (max-width:360px) {
 .lb-wrap { width:calc(100% - 24px); }
 .lb-hero h1 { font-size:69px; }
 .lb-hero h1 em { font-size:55px; }
 .lb-hero__visual { width:100px; }
 .lb-event-meta { font-size:6px; gap:12px; }
 .lb-event-meta>span+span { padding-left:12px; }
 .lb-journey__heading h2 { font-size:23px; max-width:200px; }
 .lb-stage__photo { height:90px; }
 .lb-stage strong { font-size:18px; min-height:38px; }
 .lb-stage__top { font-size:7px; left:7px; right:7px; }
 .lb-stage__body { padding-inline:9px; }
 .lb-stage__route { font-size:8px; }
 .lb-board { padding-inline:12px; }
 .lb-classification__heading h2 { font-size:34px; }
 .lb-podium { gap:6px; }
 .lb-podium-place.is-empty { padding:11px 8px; }
 .lb-podium-place.is-empty .lb-podium-place__label { font-size:32px; }
 .lb-table tbody tr { grid-template-columns:22px minmax(0,1fr) 32px; gap:6px; }
 .lb-avatar { width:36px; height:50px; }
 .lb-crew { gap:7px; }
 .lb-crew__name { font-size:13px; }
 .lb-member { font-size:10px; }
 .lb-member__country { font-size:8px; }
 .lb-escape__copy { padding:25px; }
 .lb-escape h2 { font-size:33px; }
}
@media (prefers-reduced-motion:reduce) {
 .lb *,.lb-dialog * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
