/* OrientLive V3.0 — feuille de style unique.
   1. Base (variables des thèmes, composants communs : fenêtres, réglages, aide, sélecteurs).
   2. Design V3 (en-tête, onglets, cartes de coureurs, fiche coureur, comparaison, horloge, menu).
   3. Impression. */

/* ===== 1. Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--dk:#0b2a14;--dk2:#0f3319;--g:#1a6632;--g2:#2a8a47;--g3:#e6f4ec; --gold:#e8940a; --hdr1:rgba(19,56,36,.98); --hdr2:rgba(19,56,36,.92); --acc1:rgba(202,162,77,.75); --acc2:rgba(202,162,77,.35); --ink:#0d1410;--ink2:#2b3a32;--ink3:#6a7a72;--ink4:#9aa79f; --bg:#f2f1ed;--card:#fff;--border:#e2e1dd;--border2:#cfd3cf; --red:#c0392b;--redbg:#fef0ee; --amber:#9a6500;--amberbg:#fdf8ee; --blue:#1a4a99;--bluebg:#eef2ff; --grey:#555;--greybg:#f3f3f3; --good:#00b15d; --mono:'JetBrains Mono',monospace; --sans:'Outfit',sans-serif; --r:12px; --sh:0 12px 30px rgba(0,0,0,.08); --sh2:0 6px 16px rgba(0,0,0,.08); --max:1120px; --htmlbg:radial-gradient(1200px 800px at 20% -10%, rgba(42,138,71,.10), transparent 60%),radial-gradient(900px 700px at 95% 0%, rgba(232,148,10,.10), transparent 55%),var(--bg); --hdrH:56px; --progH:2px; --tabsH:0px; --barH:0px; --subcatsH:0px;}
html[data-theme="olive"]{--dk:#133824;--dk2:#133824;--g:#1f5337;--g2:#2c6a46;--g3:#e6f4ec; --gold:#caa24d; --hdr1:rgba(19,56,36,.98); --hdr2:rgba(19,56,36,.92); --acc1:rgba(202,162,77,.75); --acc2:rgba(202,162,77,.35); --ink:#1b1b19;--ink2:#2b2b27;--ink3:#6f6a5e;--ink4:#9a9486; --bg:#f3efe6;--card:#ffffff;--border:#e7decc;--border2:#d7ccb7; --red:#c0392b;--redbg:#fef0ee; --amber:#9a6500;--amberbg:#fdf8ee; --blue:#1a4a99;--bluebg:#eef2ff; --grey:#555;--greybg:#f3f3f3; --r:18px; --sh:0 16px 40px rgba(0,0,0,.10); --sh2:0 10px 24px rgba(0,0,0,.10); --htmlbg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640' viewBox='0 0 640 640'%3E%3Cg fill='none' stroke='%23d7ccb7' stroke-opacity='.35' stroke-width='2'%3E%3Cpath d='M-40 90 C 60 10 140 150 240 90 C 340 30 420 150 520 90 C 620 30 700 150 800 90'/%3E%3Cpath d='M-60 160 C 40 80 120 220 220 160 C 320 100 400 220 500 160 C 600 100 680 220 780 160'/%3E%3Cpath d='M-30 240 C 70 160 150 300 250 240 C 350 180 430 300 530 240 C 630 180 710 300 810 240'/%3E%3Cpath d='M-70 330 C 30 250 110 390 210 330 C 310 270 390 390 490 330 C 590 270 670 390 770 330'/%3E%3Cpath d='M-40 420 C 60 340 140 480 240 420 C 340 360 420 480 520 420 C 620 360 700 480 800 420'/%3E%3Cpath d='M-60 510 C 40 430 120 570 220 510 C 320 450 400 570 500 510 C 600 450 680 570 780 510'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg, rgba(243,239,230,1) 0%, rgba(243,239,230,1) 100%); background-blend-mode:multiply,normal;}
html[data-theme="sport"]{--dk:#061521;--dk2:#0a1f2f;--hdr1:rgba(6,21,33,.98);--hdr2:rgba(10,31,47,.92);--acc2:rgba(0,229,255,.28);--ink:#061521;--ink2:#15314a;--ink3:#4a6a86;--ink4:#86a1b9;--red:#e11d48;--redbg:#ffe8ee;--amber:#b45309;--amberbg:#fff3e6;--blue:#2563eb;--bluebg:#e8f0ff;--grey:#3f5568;--greybg:#f1f6fb;--r:14px;--sh:0 16px 40px rgba(1,18,34,.12);--sh2:0 8px 20px rgba(1,18,34,.10)}
html[data-theme="classic"]{--dk:#0b1f33;--dk2:#0f2a44;--hdr1:rgba(11,31,51,.98);--hdr2:rgba(15,42,68,.92);--acc2:rgba(124,58,237,.26);--ink:#0b1f33;--ink2:#28435c;--ink3:#6a7a8a;--ink4:#93a4b5;--red:#e11d48;--redbg:#ffe8ee;--amber:#b45309;--amberbg:#fff3e6;--blue:#7c3aed;--bluebg:#f1e8ff;--grey:#41556a;--greybg:#eef2f7;--r:14px;--sh:0 16px 40px rgba(2,12,27,.10);--sh2:0 8px 20px rgba(2,12,27,.08)}
html[data-theme="dark"]{--dk:#0b0f14;--dk2:#101722;--red:#ff453a;--redbg:rgba(255,69,58,.14);--amber:#ffb020;--amberbg:rgba(255,176,32,.14);--blue:#4c8dff;--bluebg:rgba(76,141,255,.12);--grey:#9aa4b2;--greybg:rgba(154,164,178,.12);--sh2:0 10px 26px rgba(0,0,0,.35)}
html[data-theme="dark"] thead th{background:var(--card);color:var(--ink3);border-bottom:1px solid var(--border)}
html[data-theme="dark"] tbody tr:hover{background:rgba(255,255,255,.04)}
html[data-theme="dark"] #srch{background:rgba(16,23,34,.92);border-color:rgba(255,255,255,.10);color:var(--ink)}
html[data-theme="dark"] #srch-ico{fill:var(--ink4)}
html[data-theme="dark"] #stats{color:var(--ink3)}
html{color:var(--ink);font-family:var(--sans);line-height:1.35}
body{min-height:100vh}
#main,#bar{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}
.wrap{max-width:var(--max);margin:0 auto}
#hdr{padding:14px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));position:sticky;top:0;z-index:50}
#hdr-top{display:grid;grid-template-columns:1fr auto 1fr}
#brand{grid-area:brand;text-decoration:none}
#clock-wrap{grid-area:clock;justify-self:center;display:flex;flex-direction:column}
#course-wrap{grid-area:course;display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 7fr) auto;align-items:center;gap:8px;width:100%}
#theme-wrap{grid-area:theme;display:flex;justify-content:flex-end;justify-self:end;align-items:center;gap:8px}
#title{font-size:22px;font-weight:900;color:#fff;white-space:nowrap;letter-spacing:-.01em;display:flex;align-items:center}
#title span{color:#fff}
#hdr-meta{display:flex;align-items:center;flex-wrap:wrap}

#hdr-clock{backdrop-filter:blur(10px);text-shadow:0 0 18px rgba(255,216,74,.35), 0 2px 14px rgba(0,0,0,.35);position:relative}
#hdr-clock:before{content:"";position:absolute;inset:-2px;border-radius:999px;background:radial-gradient(140px 70px at 35% 0%, rgba(255,216,74,.22), transparent 70%);pointer-events:none;filter:blur(.2px)}
#hdr-clock .clk-sep{margin:0 2px}
#hdr-clock .clk-sec{letter-spacing:.02em}
@keyframes secPulse{0%{opacity:.65}50%{opacity:.95}100%{opacity:.65}}
#offline-badge{display:none;margin-top:6px;color:#fff;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;align-items:center;justify-content:center;gap:8px;animation:offBlink 1s steps(1,end) infinite;box-shadow:0 10px 24px rgba(0,0,0,.20)}
#offline-badge.on{display:inline-flex}
@keyframes offBlink{0%{opacity:1}50%{opacity:.25}100%{opacity:1}}
#offi-badge{display:none;white-space:nowrap;line-height:1.2;align-items:center;justify-content:center}
#live-badge{display:none;align-items:center;gap:4px}
#live-badge.on{display:flex}
.ldot{width:5px;height:5px;border-radius:50%;background:#6ddd94;animation:blink 1.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
#sel,#orgsel{border-radius:12px;padding:10px 14px;font-family:var(--sans);font-size:16px;font-weight:700;outline:none;max-width:100%;min-width:0;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
#sel,#orgsel{width:100%}
#homepage-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:9px 13px;font-family:var(--sans);font-size:12px;text-decoration:none;white-space:nowrap;transition:filter .12s,transform .12s}
#homepage-btn:hover{filter:brightness(1.06)}
#homepage-btn:active{transform:translateY(1px)}
#homepage-btn[hidden]{display:none}
#sel:focus,#orgsel:focus{border-color:rgba(232,148,10,.8);background:rgba(255,255,255,.14)}
#sel:active,#orgsel:active{transform:translateY(1px)}

#sel option.pending-course{background:#f4b65f;color:#5b3500;font-style:italic}
#theme{border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:9px 12px;font-family:var(--sans);font-size:14px;font-weight:700;outline:none;width:100%;cursor:pointer;transition:border-color .12s ease,background .12s ease}
#theme:focus{border-color:rgba(26,102,50,.55);box-shadow:0 0 0 4px rgba(26,102,50,.12)}
#theme option{background:var(--card);color:var(--ink)}
#create-event-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;text-decoration:none;white-space:nowrap;transition:filter .12s,transform .12s}
#create-event-btn:hover{filter:brightness(1.08)}
#create-event-btn:active{transform:translateY(1px)}
#hlp-btn,#settings-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.92);font-size:17px;font-weight:700;font-family:var(--sans);cursor:pointer;transition:background .12s,transform .12s;flex-shrink:0}

#settings-btn:active{transform:translateY(1px) rotate(20deg)}
#hlp-btn:active{transform:translateY(1px)}
#hamburger-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:22px;cursor:pointer;flex-shrink:0}
#mobile-menu-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#mobile-menu-ovl.on{opacity:1;pointer-events:all}
#mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);z-index:301;background:var(--card);color:var(--ink);box-shadow:-14px 0 35px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .24s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column}
#mobile-menu.on{transform:none}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px;border-bottom:1px solid var(--border);font-size:18px}
.mobile-menu-head button{border:0;background:transparent;color:var(--ink);font-size:22px;cursor:pointer}
.mobile-menu-body{display:flex;flex-direction:column;gap:10px;padding:18px;overflow-y:auto}
.mobile-menu-link{display:flex;align-items:center;min-height:46px;width:100%;border:1px solid var(--border);border-radius:12px;color:var(--ink);padding:12px 14px;font:700 14px var(--sans);text-decoration:none;text-align:left;cursor:pointer}

#settings-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#settings-ovl.on{opacity:1;pointer-events:all}
#settings{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);max-width:420px;width:calc(100% - 32px);max-height:80vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:201;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none}
#settings.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
#settings-body{padding:6px 18px 20px;overflow-y:auto}
.stg-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.stg-row:last-child{border-bottom:none}
.stg-lab{display:flex;align-items:center;gap:12px;min-width:0}
.stg-ico{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px}
.stg-t{font-size:13.5px;font-weight:800;color:var(--ink)}
.stg-s{font-size:11.5px;color:var(--ink3);margin-top:1px}
.stg-row select#theme,.stg-row select#defcat-sel{width:auto;min-width:120px;max-width:160px;flex-shrink:0}
#defcat-sel{background:var(--bg);border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:9px 12px;font-family:var(--sans);font-size:13px;font-weight:700;outline:none;cursor:pointer;transition:border-color .12s ease}
#defcat-sel:focus{border-color:rgba(26,102,50,.55);box-shadow:0 0 0 4px rgba(26,102,50,.12)}
#defcat-sel:disabled{cursor:not-allowed;opacity:.6}
#defcat-sel option{background:var(--card);color:var(--ink)}
.stg-toggle{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--ink3);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,opacity .12s}

.stg-toggle.off{opacity:.4}
#result-modes{display:none;align-items:center;max-width:var(--max);margin:0 auto;position:sticky;top:calc(var(--hdrH) + var(--progH));z-index:43}
.result-mode{flex:1;border:0;background:transparent;cursor:pointer}
.result-mode.active{border-bottom-color:var(--g)}
#result-modes.on{display:flex}
#prog{position:sticky;top:var(--hdrH);z-index:45;overflow:hidden}
#prog-fill{height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background-size:200% 100%;will-change:transform,background-position}
#prog.on #prog-fill{animation:sh 1.4s linear infinite}
@keyframes sh{0%{background-position:0% 50%}100%{background-position:200% 50%}}
#tabs-inner{display:flex;justify-content:center;align-items:center;min-width:0}
#cat-trigger{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid transparent;font-family:var(--sans);font-size:14px;cursor:pointer;transition:filter .12s ease,transform .12s ease;white-space:nowrap}
#cat-trigger:hover{filter:brightness(1.07)}
#cat-trigger:active{transform:translateY(1px)}
#cat-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
#cat-trigger-arrow{font-size:12px;opacity:.85;flex-shrink:0}

@keyframes catPulse{0%,100%{box-shadow:0 6px 18px rgba(0,0,0,.16), 0 0 0 0 rgba(255,107,53,.65)} 50%{box-shadow:0 6px 18px rgba(0,0,0,.16), 0 0 0 8px rgba(255,107,53,0)}}
@media(prefers-reduced-motion: reduce){
  #cat-trigger.pulse{animation:none}
}
#subcats-bar{display:none}
#catpick-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#catpick-ovl.on{opacity:1;pointer-events:all}
#catpick{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);max-width:460px;width:calc(100% - 32px);max-height:80vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:201;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none}
#catpick.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
#catpick-body{overflow-y:auto;padding:6px 12px 18px}
#srch-trigger{justify-self:start;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:border-color .12s,background .12s,color .12s;flex-shrink:0}
#srch-trigger:hover{border-color:var(--g)}
#srch-trigger:active{transform:translateY(1px)}
#srch-trigger svg{width:16px;height:16px;fill:currentColor}
#srchpick-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#srchpick-ovl.on{opacity:1;pointer-events:all}
#srchpick{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);max-width:460px;width:calc(100% - 32px);max-height:80vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:201;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none}
#srchpick.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
#srchpick-body{padding:18px;overflow-y:auto}
.cpk-grp{margin-top:18px}
.cpk-grp:first-child{margin-top:4px}
.cpk-grp-h{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding-left:10px;margin-bottom:10px;line-height:1.3}
.cpk-grp-rows{display:flex;flex-wrap:wrap;gap:8px}
.cpk-row{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;cursor:pointer;font-size:14px;color:var(--ink);transition:border-color .12s,background .12s,color .12s;user-select:none}
.cpk-row:hover{border-color:var(--g)}
.cpk-row.on{border-color:transparent;color:#fff;font-weight:800}
.cpk-row.on::after{content:'✓';font-weight:900}
#bar{display:none;background:transparent;align-items:center;gap:10px;position:sticky;top:calc(var(--hdrH) + var(--progH) + var(--tabsH) + var(--subcatsH));z-index:42}
.bar-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:100%}
#bar-right{display:flex;align-items:center;gap:14px;justify-self:end;min-width:0}
#srch-wrap{position:relative}
#srch{padding:13px 14px 13px 42px;font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;width:100%;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}
#srch:focus{border-color:rgba(26,102,50,.55)}
#srch-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:var(--ink4);pointer-events:none}
#srch-sug{margin-top:10px;background:var(--card);border:1px solid var(--acc2);border-radius:12px;box-shadow:var(--sh2);overflow:hidden;display:none;max-height:44vh;overflow-y:auto}
#srch-sug.on{display:block}
.sug-sec{padding:8px 10px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);background:color-mix(in srgb, var(--acc2) 12%, transparent)}
.sug-it{display:flex;align-items:center;gap:10px;padding:10px 10px;border-top:1px solid color-mix(in srgb, var(--acc2) 18%, transparent);cursor:pointer}
.sug-it:first-of-type{border-top:none}
.sug-it:hover{background:color-mix(in srgb, var(--acc2) 14%, transparent)}
.sug-ico{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--acc2) 18%, transparent);color:var(--ink3);font-weight:900;font-size:12px;flex:0 0 auto}
.sug-t{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.sug-bib{flex:0 0 auto;margin-left:auto;min-width:36px;padding:2px 7px;text-align:center;font-size:12px;font-weight:900;line-height:1.35;color:#1c1c1e;background:#fff;border:1.5px solid #1c1c1e;border-top:5px solid #d9822b;border-radius:4px}
.sug-n{font-size:12px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sug-m{font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#stats{display:flex;gap:12px;font-size:11px}
.sv{font-size:12px}
#upd-time{font-size:10px;font-family:var(--mono)}
#cmpbtn{display:none;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,filter .12s ease,background .12s ease;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.05)}
#cmpbtn:hover{border-color:rgba(26,102,50,.55)}
#cmpbtn:active{transform:translateY(1px)}
#cmpbtn.on{display:inline-flex}
#cmpn{min-width:22px;height:16px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px}
#main{min-height:400px;padding-bottom:34px}
.card{background:var(--card);border:1px solid var(--acc2);border-radius:var(--r);overflow:hidden}
.card.pad{padding:18px}
#empty{display:flex;flex-direction:column;align-items:center;padding:80px 20px;gap:10px}
.ei{font-size:36px;opacity:.15}
.et{font-size:14px;font-weight:600;color:var(--ink3)}
.es{font-size:12px;color:var(--ink4)}
.spin{width:24px;height:24px;border:2px solid var(--border2);border-radius:50%;animation:sp 1s linear infinite;margin:50px auto}
@keyframes sp{to{transform:rotate(360deg)}}
table{width:100%;border-collapse:collapse}
.tblwrap{overflow:visible}
.tblwrap{max-height:none}
.tblwrap{-webkit-overflow-scrolling:touch}
@media(max-width:720px){
  .tblwrap{overflow:visible;overscroll-behavior:auto}
  .tblwrap{max-height:none}
}
@media(max-width:400px){
  .tblwrap{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  table{min-width:360px}
}
thead th{background:#fff;font-size:12px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:#2b2b27;padding:14px 14px;border-bottom:1px solid var(--acc2);white-space:nowrap;position:sticky;top:0;z-index:5;backdrop-filter:none}
th.c{text-align:center;width:46px}
th.r{text-align:center}
tbody tr{border-bottom:1px solid var(--acc2);transition:background .1s}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:var(--bg)}
tbody tr.focus{background:rgba(37,99,235,.14)}
tbody tr.focus:hover{background:rgba(37,99,235,.18)}
tbody tr.fl{animation:fl .6s}
@keyframes fl{0%{background:#e6f4ec}100%{background:transparent}}
tbody tr.arr{animation:arr .8s}
@keyframes arr{0%{transform:translateY(6px);opacity:.35}60%{transform:translateY(0);opacity:1}100%{transform:none;opacity:1}}
tbody tr.cmp-sel{background:var(--redbg)}
tbody tr.cmp-sel:hover{background:#fad8d4}
tbody tr{cursor:pointer}
td{padding:16px 14px;vertical-align:middle}
td.c{text-align:center}
td.r{text-align:center}
tbody td:nth-child(3),tbody td:nth-child(5){text-align:center}
.rk{display:inline-flex;align-items:center;justify-content:center}
.rk.prov{font-size:13px;font-style:italic;opacity:.65;border:2px dashed var(--border2);background:transparent;color:var(--ink3)}
.rk.p1{background:radial-gradient(circle at 30% 30%, #fff2c2, #d1a141);color:#5a3c00;box-shadow:inset 0 0 0 1px rgba(90,60,0,.10)}
.rk.p2{background:radial-gradient(circle at 30% 30%, #ffffff, #b9c0c9);color:#39414a;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.rk.p3{background:radial-gradient(circle at 30% 30%, #ffd8bf, #b46b3f);color:#4b2b1a;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cl{font-size:12px;color:var(--ink2);text-align:center}
.bd{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}
.bd::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
.ok{background:var(--g3);color:var(--g)}
.ok::before{background:var(--g)}
.run{background:var(--bluebg);color:var(--blue)}
.run::before{background:var(--blue)}
.err{background:var(--redbg);color:var(--red)}
.err::before{background:var(--red)}
.dns{background:var(--greybg);color:var(--grey)}
.dns::before{background:var(--grey)}
.dsq{background:var(--amberbg);color:var(--amber)}
.dsq::before{background:var(--amber)}
.run-ico{display:inline-block;font-size:18px;animation:run-anim 1.2s linear infinite}
@keyframes run-anim{0% {transform:scaleX(-1) translateX(0) translateY(0)} 25% {transform:scaleX(-1) translateX(-10px) translateY(-3px)} 50% {transform:scaleX(-1) translateX(-20px) translateY(0)} 75% {transform:scaleX(-1) translateX(-10px) translateY(-3px)} 100%{transform:scaleX(-1) translateX(0) translateY(0)}}
.ok-ico{font-size:18px}
.run-ico-wait{display:inline-block;font-size:18px;opacity:.35}
.fstar{cursor:pointer;font-size:16px;user-select:none;line-height:1;opacity:.2;transition:opacity .15s,transform .15s;display:inline-block}
.fstar:hover{opacity:.6;transform:scale(1.2)}

#ovl{position:fixed;inset:0;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}
#ovl.on{opacity:1;pointer-events:all}
#pnl{position:fixed;top:0;bottom:0;z-index:101;display:flex;flex-direction:column}

.ph{padding:12px 16px;flex-shrink:0}
.pn{font-size:14px}
.pm{font-size:11px;margin-top:2px}
.pcl{float:right;cursor:pointer;font-size:16px;line-height:1;transition:color .1s}

#pb{flex:1;overflow-y:auto;padding:8px}
.cplus{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.75);cursor:pointer;user-select:none;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease}
.cplus:hover{background:var(--card);border-color:rgba(26,102,50,.35);color:var(--ink2)}
.cplus:active{transform:translateY(1px)}
.cplus.on{border-color:rgba(192,57,43,.35)}
#covl{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:150;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}
#covl.on{opacity:1;pointer-events:all}
#cpnl{position:fixed;left:0;right:0;top:0;bottom:0;z-index:151;transform:translateY(8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;flex-direction:column}
#cpnl.on{transform:none;opacity:1;pointer-events:all}
#cb{flex:1}

.ctbl tr.ref td:not(.rname){z-index:20}
:root{--totop-lift:0px}
#totop{position:fixed;bottom:calc(max(14px, env(safe-area-inset-bottom) + 10px) + var(--totop-lift));right:14px;width:44px;height:44px;border-radius:50%;font-size:18px;font-weight:900;cursor:pointer;z-index:60;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,bottom .22s ease}
#totop.on{opacity:1;pointer-events:all;transform:translateY(0)}
#totop:hover{background:rgba(11,42,20,1)}
#totop:active{transform:translateY(1px)}
html[data-theme="dark"] #totop{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
body.toast-on{--totop-lift:76px}
body.event-home #course-wrap,body.event-home #bar,body.event-home #prog,body.event-home #subcats-bar{display:none}
body.event-home #main{padding-top:0!important;margin-top:0!important}
html.route-results #orgsel,html.route-results #sel,body.results-view #orgsel,body.results-view #sel{display:none}
html.route-results #course-wrap,body.results-view #course-wrap{display:flex;grid-template-columns:1fr;justify-content:center;align-items:center}
.event-home-wrap{padding-top:0}
.event-home-sticky{position:sticky;top:var(--hdrH);z-index:45;padding-top:0;isolation:isolate}
.event-home-title{display:flex;align-items:center;justify-content:space-between;margin:0}
.event-home-title h1{margin:0;line-height:1.1;color:var(--ink)}
.event-home-title p{margin:7px 0 0;color:var(--ink3);font-size:13px;line-height:1.4}
.event-title-copy{min-width:0}
.event-home-title .event-search{width:min(100%,520px);flex:0 1 48%;margin:0}
.event-tabs{display:flex;width:100%}
.event-tab{border-bottom:3px solid transparent;border-radius:0;background:transparent;cursor:pointer}
.event-tab.active{border-bottom-color:var(--gold)}
.event-tab:hover{color:var(--ink)}
.event-search{position:relative;width:100%;min-width:0;margin:12px 0 18px}
.event-search input{width:100%;color:var(--ink);font:13px var(--sans);outline:none}
.event-search input:focus{border-color:var(--g)}
#event-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh2);overflow:hidden;display:none}
#event-suggestions.on{display:block}
#event-suggestions button{display:flex;flex-direction:column;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:10px 12px;text-align:left;font:700 13px var(--sans);cursor:pointer}
#event-suggestions button:hover{background:var(--bg)}
#event-suggestions small{color:var(--ink3);font:11px var(--sans);margin-top:2px}
.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.event-card{position:relative;background:var(--card);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}

.event-card-media{position:absolute;inset:0;background:linear-gradient(135deg,var(--g3),var(--bg));overflow:hidden}
.event-card-media img{background:var(--bg);display:block;transform:translateZ(8px)}
.event-card-placeholder{display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.08em}
.event-card-shade{position:absolute;inset:0}
.event-card-badge{position:absolute;top:12px;left:12px;z-index:2;padding:5px 9px;background:#f4b65f;color:#5b3500;font-size:11px;font-style:italic}
.event-card-badge.live{font-style:normal;letter-spacing:.04em}
.event-card-body{position:absolute;left:0;right:0;bottom:0;color:#fff;transform:translateZ(14px)}
.event-card-body h2{margin:0 0 14px;font-size:clamp(20px,2.2vw,29px);line-height:1.08;color:#fff}
.event-card-meta{display:flex;color:#fff}
.event-card-meta span{display:flex;align-items:center;gap:8px}
.event-card-meta b{font-size:18px}
.event-card.pending{border-color:#e4bd72}
.event-card.pending .event-card-body h2{font-style:italic}
@media(max-width:600px){
  .event-home-title{flex-direction:row;align-items:center;gap:8px}
  .event-title-copy{flex:1;min-width:0}
  .event-home-title h1{font-size:24px}
  .event-home-title .event-search{flex:0 1 42%;width:auto;max-width:none;min-width:0;margin:0}
  .event-home-title .event-search input{padding:9px 10px;font-size:11px}
  .event-tabs{width:100%}
  .event-tab{flex:1}
  .event-search{min-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .event-card{transition:none}
  .event-card:hover{transform:none}
}
#footer{margin-top:18px;padding:28px max(16px,env(safe-area-inset-left)) 18px max(16px,env(safe-area-inset-right));border-top:1px solid var(--border);color:var(--ink3)}
.footer-inner{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:28px}
.footer-brand{display:flex;min-width:0}
.footer-brand img{width:150px;height:auto}
.footer-brand p{margin:0;font-size:11px;line-height:1.4}
.footer-links,.footer-contact{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.footer-links a,.footer-contact a{color:var(--ink3);font-size:12px;text-decoration:none}
.footer-links a:hover,.footer-contact a:hover{color:var(--g)}
#ratebtn{font:800 11px var(--sans)}
.footer-contact{justify-content:flex-end}
.footer-contact a{font-family:var(--mono);font-size:10px}
.footer-bottom{width:min(var(--max),100%);margin:20px auto 0;padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.04em}
@media(max-width:720px){
  .footer-inner{grid-template-columns:1fr;gap:14px}
  .footer-links,.footer-contact{justify-content:flex-start}
  .footer-brand img{width:135px}
  .footer-bottom{flex-direction:column;gap:4px}
}
#rovl{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:160;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}
#rovl.on{opacity:1;pointer-events:all}
#rpnl{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);width:calc(100% - 32px);max-width:520px;max-height:84vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:161;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none}
#rpnl.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
.rph{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--card)}
.rpn{font-size:14px;font-weight:900;letter-spacing:.02em;min-width:0}
.rcl{margin-left:auto;cursor:pointer;color:var(--ink3);font-size:18px;line-height:1;transition:color .1s}
.rcl:hover{color:var(--ink)}
.rbody{padding:14px 16px 16px;overflow:auto}
.rsub{font-size:12px;color:var(--ink3);line-height:1.5;margin-top:4px}
.rstars{display:flex;gap:8px;justify-content:center;padding:12px 0 6px}
.rstar{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.rstar:hover{transform:translateY(-1px);border-color:rgba(26,102,50,.35)}
.rstar.on{background:rgba(26,102,50,.10);border-color:rgba(26,102,50,.35)}
.rstar svg{width:18px;height:18px;fill:transparent;stroke:var(--ink3);stroke-width:2}
.rstar.on svg{fill:var(--gold);stroke:rgba(0,0,0,.15)}
.rta{width:100%;min-height:96px;resize:vertical;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-family:var(--sans);font-size:13px;outline:none;background:var(--card);color:var(--ink);line-height:1.4}
.rta:focus{border-color:rgba(26,102,50,.45);box-shadow:0 0 0 4px rgba(26,102,50,.10)}
.ract{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:12px;flex-wrap:wrap}
.rbtn{border:1px solid rgba(26,102,50,.35);border-radius:999px;background:linear-gradient(180deg, rgba(26,102,50,.14), rgba(26,102,50,.06));padding:9px 14px;font-family:var(--sans);font-size:12px;font-weight:900;color:var(--g);cursor:pointer;transition:transform .12s ease,border-color .12s ease,filter .12s ease,background .12s ease;white-space:nowrap}
.rbtn:hover{filter:brightness(1.05);border-color:rgba(26,102,50,.55)}
.rbtn:active{transform:translateY(1px)}
.rlink{border:none;background:none;color:var(--ink3);font-size:12px;font-weight:900;letter-spacing:.02em;cursor:pointer;padding:8px 10px}
.rlink:hover{color:var(--ink)}
.rmsg{margin-top:10px;font-size:12px;color:var(--ink3);text-align:center;min-height:16px}
#ratebtn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(26,102,50,.35);border-radius:999px;background:linear-gradient(180deg, rgba(26,102,50,.14), rgba(26,102,50,.06));padding:6px 12px;font-family:var(--sans);font-size:11px;font-weight:900;color:var(--g);cursor:pointer;transition:transform .12s ease,border-color .12s ease,filter .12s ease,background .12s ease;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.08)}
#ratebtn:hover{filter:brightness(1.05);border-color:rgba(26,102,50,.55)}
#ratebtn:active{transform:translateY(1px)}
#toast{position:fixed;left:50%;bottom:max(16px, env(safe-area-inset-bottom) + 12px);transform:translateX(-50%);z-index:120;pointer-events:none;min-width:min(520px, calc(100vw - 24px));max-width:min(720px, calc(100vw - 24px));display:none}
#toast.on{display:block;animation:toIn .18s ease-out}
#toast .tbox{border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px;pointer-events:auto;cursor:pointer;user-select:none}
#toast .tbox:active{transform:translateY(1px)}
#toast .tico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}
#toast .tmain{min-width:0;display:flex;flex-direction:column;gap:1px}
#toast .ttit{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#toast .tname{font-weight:900;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#toast.off{animation:toOut .20s ease-in forwards}
@keyframes toIn{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes toOut{from{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(8px)}}
#toast-toggle-btn.off{opacity:.4}
#hlp-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#hlp-ovl.on{opacity:1;pointer-events:all}
#hlp-pnl{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);max-width:500px;width:calc(100% - 32px);max-height:84vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:201;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none}
#hlp-pnl.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
#hlp-body{overflow-y:auto;padding:16px 18px 24px;font-size:13px;color:var(--ink2);line-height:1.6}
#news-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:180;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(3px)}
#news-ovl.on{opacity:1;pointer-events:all}
#news-pnl{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);max-width:520px;width:calc(100% - 32px);max-height:84vh;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);z-index:181;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .22s;opacity:0;pointer-events:none;border:1px solid var(--acc2)}
#news-pnl.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:all}
#news-body{overflow-y:auto;padding:16px 18px 22px}
.hlp-h{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g);margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none}
.hlp-h::after{content:'›';font-size:14px;opacity:.6;transform:rotate(90deg);transition:transform .15s ease,opacity .15s ease}
.hlp-h.cl::after{transform:rotate(0deg);opacity:.75}
.hlp-c{padding:0 0 2px}
.hlp-c.cl{display:none}
.hlp-h:first-child{margin-top:0}
.hlp-row{display:flex;gap:10px;align-items:baseline;padding:3px 0}
.hlp-k{font-family:var(--mono);font-weight:600;font-size:11px;background:var(--bg);border:1px solid var(--border2);border-radius:5px;padding:1px 6px;white-space:nowrap;color:var(--ink);flex-shrink:0}
.hlp-sq{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0;margin-top:3px}
@media(max-width:520px){
  #hdr{padding:10px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left))}
  #pnl{width:100%;border-left:none;top:auto;bottom:0;transform:translateY(100%)}
  #pnl.on{transform:none}
  html.searching{--subcatsH:0px}
  html.searching #subcats-bar{display:none !important}
  #stats{display:none}
  #hdr-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
  #brand{display:flex;flex-direction:column;gap:4px;min-width:0}
  #hdr-meta{margin-top:0;gap:6px;font-size:11px}
  #clock-wrap{grid-area:clock;justify-self:center;align-self:center;min-width:0;max-width:100%}
  
  #hdr-clock:before{background:radial-gradient(140px 64px at 35% 0%, rgba(255,216,74,.20), transparent 70%)}
  #course-wrap{display:flex;justify-content:flex-start;align-items:center}
  #orgsel,#sel{display:none}
  #homepage-btn:not([hidden]){display:inline-flex;justify-self:auto}
  #theme-wrap > :not(#hamburger-btn){display:none}
  #theme-wrap{display:flex;justify-self:end;align-items:center}
  #hamburger-btn{display:inline-flex}
  
  th.c{width:24px}
  td,thead th{padding:10px 5px}
  .rk{width:28px;height:28px;font-size:12px}
  .fstar{font-size:13px}
  thead th{font-size:10.5px;letter-spacing:.06em}
}
@media(max-width:420px){
  #hdr-top{gap:6px}
  #hdr-meta{gap:5px;font-size:10px}
  #offi-badge,#live-badge{font-size:8.5px;padding:2px 6px}
  #hdr-clock{max-width:100%;font-size:clamp(17px, 4.8vw, 20px);padding:7px 12px;letter-spacing:.05em}
  #sel{font-size:13px;padding:7px 11px}
  #hlp-btn,#settings-btn{width:32px;height:32px;font-size:15px}
}
@media(max-width:460px){
  .bar-wrap{row-gap:6px}
  #bar-right{justify-self:auto}
  #srch-trigger{width:32px;height:32px}
  #srch-trigger svg{width:14px;height:14px}
  #cat-trigger{font-size:12.5px;padding:7px 14px;gap:6px;box-shadow:none}
  #cat-trigger-label{max-width:90px}
  #cmpbtn{padding:6px 10px;font-size:10.5px;gap:6px}
  #cmpn{min-width:20px;height:14px;padding:0 5px;font-size:9.5px}
}
html[data-theme="olive"],html[data-theme="classic"],html[data-theme="sport"],html[data-theme="dark"]{--line:var(--border)}
html[data-theme="dark"] .doc-page .pending{background:rgba(255,176,32,.14);border-color:#8b641f}
html[data-theme="dark"] .doc-page .box{background:rgba(50,213,131,.12);border-color:#2b674a;color:var(--ink)}
html[data-theme="dark"] .doc-page .warn{background:rgba(255,176,32,.14);border-color:#8b641f}
html[data-theme="dark"] .doc-page .code{background:#05080b;color:#d9f8e2}
html[data-theme="dark"] .doc-page .item{background:var(--card)}
html[data-theme="classic"] .doc-page .pending,html[data-theme="classic"] .doc-page .warn{background:#fff3e6;border-color:#e9c58b}
html[data-theme="sport"] .doc-page .pending,html[data-theme="sport"] .doc-page .warn{background:#e6fff4;border-color:#9edcca}
html[data-theme="olive"] .admin-page{--bg:#f3efe6;--card:#fff;--border:#e7decc;--line:#e7decc;--ink:#1b1b19;--ink2:#2b2b27;--ink3:#6f6a5e;--muted:#6f6a5e;--green:#1f5337;--g:#1f5337}
html[data-theme="olive"] .organizer-page{--bg:#f3efe6;--card:#fff;--line:#e7decc;--ink:#1b1b19;--muted:#6f6a5e;--green:#1f5337;--green2:#2c6a46}
html[data-theme="classic"] .admin-page{--bg:#f2f6ff;--card:#fff;--border:#dbe5ff;--line:#dbe5ff;--ink:#0b1f33;--ink2:#28435c;--ink3:#6a7a8a;--muted:#6a7a8a;--green:#7c3aed;--g:#7c3aed}
html[data-theme="classic"] .organizer-page{--bg:#f2f6ff;--card:#fff;--line:#dbe5ff;--ink:#0b1f33;--muted:#6a7a8a;--green:#7c3aed;--green2:#6d28d9}
html[data-theme="sport"] .admin-page{--bg:#e7fffa;--card:#fff;--border:#cfeee6;--line:#cfeee6;--ink:#061521;--ink2:#15314a;--ink3:#4a6a86;--muted:#4a6a86;--green:#00d084;--g:#00d084}
html[data-theme="dark"] .admin-page{--bg:#0b0f14;--card:#101722;--border:#1d2836;--line:#263244;--ink:#eef2f6;--ink2:#c7d0db;--ink3:#8a97a7;--muted:#8a97a7;--green:#32d583;--g:#32d583}
html[data-theme="olive"] .admin-page .card,html[data-theme="classic"] .admin-page .card,html[data-theme="sport"] .admin-page .card,#pnl{right:auto;inset:0;width:100%;max-width:none;border-left:0;border-top:0;border-radius:0;box-shadow:none;transform:translateY(100%);z-index:210}

#pnl .ph{align-items:center;gap:12px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border);color:var(--ink)}
#pnl .pcl{float:none;order:0;color:var(--ink);font-size:34px;font-weight:300;line-height:.7;margin-right:4px}
#pnl .pn{order:1;color:var(--ink);font-size:18px;font-weight:900;flex:1}
#pnl .pm{order:2;color:var(--ink3);font-size:12px;margin:0;text-align:right}

html[data-theme="dark"] .admin-page .card{background:var(--card);border-color:var(--border);color:var(--ink)}
html[data-theme="olive"] .admin-page .pin,html[data-theme="classic"] .admin-page .pin,html[data-theme="sport"] .admin-page .pin,html[data-theme="dark"] .admin-page .pin{background:var(--bg);border-color:var(--border);color:var(--ink)}
html[data-theme="olive"] .review-page input,html[data-theme="classic"] .review-page input,html[data-theme="sport"] .review-page input,html[data-theme="dark"] .review-page input{background:var(--bg);border-color:var(--border);color:var(--ink)}
html[data-theme="sport"] .organizer-page{--bg:#e7fffa;--card:#fff;--line:#cfeee6;--ink:#061521;--muted:#4a6a86;--green:#00d084;--green2:#00e09a}
html[data-theme="dark"] .organizer-page{--bg:#0b0f14;--card:#101722;--line:#1d2836;--ink:#eef2f6;--muted:#8a97a7;--green:#32d583;--green2:#12b76a}
html[data-theme="dark"] .organizer-page .card{background:var(--card);box-shadow:0 18px 50px rgba(0,0,0,.35)}
html[data-theme="dark"] .organizer-page .secret{background:rgba(50,213,131,.12);border-color:#2b674a}
html[data-theme="dark"] .organizer-page .notice{background:rgba(255,176,32,.14);border-color:#8b641f;color:#f4d27a}

/* ===== 2. Design V3 ===== */
:root,html[data-theme="olive"]{--lt-accent:#d9822b;--lt-accent2:#5b9bd5;--lt-soft:#fbeedd; --lt-ok:#46b78d;--lt-ok-soft:#dff3ec;--lt-bad:#e3382a;--lt-chip:#ececee; --lt-balise:#f2641b; --bg:#f4f4f4;--card:#fff;--border:#e3e4e7;--border2:#d3d5d9; --ink:#161616;--ink2:#2f3237;--ink3:#6f747c;--ink4:#9a9fa7; --g:var(--lt-accent);--g2:#e5953f;--g3:var(--lt-soft);--gold:var(--lt-accent); --acc1:rgba(217,130,43,.6);--acc2:var(--border); --red:var(--lt-bad);--redbg:#fdeceb;--good:var(--lt-ok); --hdr1:#fff;--hdr2:#fff; --r:14px;--sh:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);--sh2:0 6px 18px rgba(0,0,0,.10); --htmlbg:var(--bg);background-blend-mode:normal;}
html[data-theme="classic"]{--lt-accent:#5865e8;--lt-accent2:#3aa7d9;--lt-soft:#e8eafd; --g:var(--lt-accent);--g2:#6f7bef;--g3:var(--lt-soft);--gold:var(--lt-accent); --acc1:rgba(88,101,232,.6);--lt-balise:#f2641b; --bg:#f3f4f8;--card:#fff;--border:#e1e3ec;--border2:#d0d3e0; --htmlbg:var(--bg);}
html[data-theme="sport"]{--lt-accent:#13a279;--lt-accent2:#2f80d8;--lt-soft:#dcf4ec; --lt-ok:#13a279;--lt-ok-soft:#dcf4ec; --g:var(--lt-accent);--g2:#27b88f;--g3:var(--lt-soft);--gold:var(--lt-accent); --acc1:rgba(19,162,121,.6); --bg:#f1f6f5;--card:#fff;--border:#dfe9e7;--border2:#cddbd8; --htmlbg:var(--bg);}
html[data-theme="dark"]{--lt-accent:#f0993f;--lt-accent2:#6aa9e6;--lt-soft:#3a2b1c; --lt-ok:#5ec29c;--lt-ok-soft:#1d3a30;--lt-bad:#ff6b5e;--lt-chip:#262a33; --bg:#0f1115;--card:#1a1d24;--border:#2a2e37;--border2:#363b46; --ink:#f2f2f2;--ink2:#d5d8de;--ink3:#9aa0aa;--ink4:#6c7280; --g:var(--lt-accent);--g2:#f4a859;--g3:var(--lt-soft);--gold:var(--lt-accent); --acc1:rgba(240,153,63,.6);--acc2:var(--border); --hdr1:#1a1d24;--hdr2:#1a1d24; --htmlbg:var(--bg);--sh:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);}
html[data-theme]:not([data-theme="dark"]),:root{--lt-chip:#ececee}
html[data-theme="classic"],html[data-theme="sport"]{--lt-chip:#ececee}
html{font-size:15px;background:var(--bg)}
body{background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}
#hdr{background:var(--card);backdrop-filter:none;border-bottom:1px solid var(--border);box-shadow:none;padding:10px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
#hdr-top{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
#brand{display:flex;flex-direction:column;gap:3px;color:var(--ink);min-width:0}
#title{gap:0}
.lt-logo{display:flex;align-items:baseline;font-weight:900;font-size:26px;letter-spacing:-.5px;line-height:1;transform:skewX(-6deg);white-space:nowrap}
.lt-logo b{color:var(--ink);font-weight:900}
.lt-logo span{background:linear-gradient(90deg,var(--lt-accent),var(--lt-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
#title .lt-logo b{color:var(--ink)}
#title .lt-logo span{color:transparent}
#footer .lt-logo b{color:var(--ink)}
#hdr-meta{margin-top:0;gap:6px;color:var(--ink3);font-size:11px}
#hdr-date{color:var(--ink3);font-size:11px;font-weight:600}
#offi-badge{background:var(--lt-chip);color:var(--ink3);font-weight:700;border-radius:99px;padding:2px 9px;font-size:10px;letter-spacing:.02em}
#live-badge{background:var(--lt-bad);border:0;color:#fff;border-radius:99px;padding:2px 9px;font-size:10px;font-weight:800;letter-spacing:.08em}
#live-badge .ldot{background:#fff}
#hdr-clock{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--ink);padding:6px 11px;border-radius:99px;border:1px solid var(--border);background:var(--bg);box-shadow:none}
#hdr-clock:before{display:none}
#hdr-clock .clk-sep{opacity:.4}
#hdr-clock .clk-sec{color:var(--lt-accent);font-size:1em;font-weight:600;animation:none;opacity:1}
#offline-badge{background:var(--lt-bad);border:0}
#create-event-btn{background:var(--lt-accent);border:0;color:#fff;box-shadow:none;padding:9px 14px;font-size:12px}
#hlp-btn,#settings-btn,#hamburger-btn{background:var(--bg);border:1px solid var(--border);color:var(--ink);box-shadow:none}
#hlp-btn:hover,#settings-btn:hover{background:var(--lt-chip)}
#homepage-btn{background:var(--lt-soft);border:0;color:var(--lt-accent);box-shadow:none;font-weight:800}
#sel,#orgsel{background:var(--bg);border:1px solid var(--border);color:var(--ink);box-shadow:none}
#sel option,#orgsel option{background:var(--card)}
#theme{background:var(--bg)}
html[data-theme="dark"] #hdr-clock{background:var(--lt-chip)}
#prog{height:3px;background:transparent;border-radius:0;box-shadow:none}
#prog-fill{background:linear-gradient(90deg,var(--lt-accent),var(--lt-accent2));filter:none;animation:none!important}
#result-modes{background:var(--card);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.result-mode{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 4px 15px;font:700 13px var(--sans);letter-spacing:.06em;color:var(--ink3);border-bottom:0}
.result-mode svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.result-mode.active{color:var(--ink);font-weight:800}
.result-mode.active::after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--lt-accent),var(--lt-accent2))}
.result-mode.active svg{color:var(--lt-accent)}
#bar{padding:8px 0 4px}
.bar-wrap{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0 2px;gap:10px}
#srch-trigger{width:40px;height:40px;border:0;background:var(--lt-chip);color:var(--ink);box-shadow:none}
#srch-trigger:hover{background:var(--lt-soft);color:var(--lt-accent);border:0}
#cat-trigger{background:var(--lt-accent);color:#fff;box-shadow:none;border-radius:99px;padding:9px 18px;font-weight:800;letter-spacing:.2px}
#cat-trigger.pulse{animation:none}
#cmpbtn{border:0;background:var(--lt-chip);color:var(--ink);border-radius:99px;padding:9px 14px;font-weight:800}
#cmpbtn:hover{filter:none;background:var(--lt-soft)}
#cmpn{background:var(--lt-accent);color:#fff;border:0}
#stats{color:var(--ink3)}
.sv{color:var(--ink);font-family:var(--sans);font-weight:800}
#upd-time{color:var(--ink4)}
.cpk-grp-h{color:var(--ink3);border-left:3px solid var(--lt-accent)}
.cpk-row{background:var(--lt-chip);border:0;font-weight:700}
.cpk-row:hover{background:var(--lt-soft);border:0}
.cpk-row.on{background:var(--lt-accent);box-shadow:none}
#srch{background:var(--lt-chip);border:0;border-radius:12px}
#srch:focus{box-shadow:0 0 0 3px var(--lt-soft);background:var(--card)}
#main{padding-top:6px}
#main>.wrap>.card{background:transparent;border:0;box-shadow:none;overflow:visible}
.rlist{display:flex;flex-direction:column;gap:8px;padding:6px 0 4px}
.rgroup{margin:14px 2px 2px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--ink3);text-transform:uppercase;display:flex;align-items:center;gap:8px}
.rgroup::after{content:"";flex:1;height:1px;background:var(--border)}
.rrow{position:relative;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--border2);border-radius:12px;padding:10px 6px 10px 10px;cursor:pointer;transition:transform .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent}
.rrow:active{transform:scale(.995)}
@media(hover:hover){
  .rrow:hover{box-shadow:var(--sh2)}
}
.rrow.s-ok{border-left-color:var(--lt-ok)}
.rrow.s-run{border-left-color:var(--lt-accent)}
.rrow.s-err{border-left-color:var(--lt-bad)}
.rrow.s-off{border-left-color:var(--border2)}
.rrow.fl{animation:ltFlash 1.4s ease-out}
.rrow.arr{animation:ltArr 2.2s ease-out}
.rrow.focus{box-shadow:0 0 0 2px var(--lt-accent)}
.rrow.cmp-sel{background:var(--lt-soft)}
@keyframes ltFlash{0%{background:var(--lt-soft)}100%{background:var(--card)}}
@keyframes ltArr{0%{background:var(--lt-ok-soft);transform:scale(1.015)}100%{background:var(--card);transform:none}}
.rk{flex:none;width:34px;text-align:center;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:0;border-radius:0;height:auto;line-height:1.1}
.rk.prov,.rk.none{border:0;background:none;box-shadow:none;color:var(--ink3);font-style:italic;font-weight:600}
.rk.none{font-style:normal;color:var(--ink4);font-weight:500}
.rk.medal{width:28px;height:28px;margin:0 3px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;line-height:1}
.rk.medal.p1{background:linear-gradient(135deg,#f6c445,#d99a14)}
.rk.medal.p2{background:linear-gradient(135deg,#b9c0c9,#8c949e)}
.rk.medal.p3{background:linear-gradient(135deg,#d99a6a,#b06a36)}
/* La hauteur de la carte (82 px) est fixée par la colonne des boutons ★ et + (2 × 30 px) : nom, club et dossard doivent tenir dans ces 60 px. */
.rrow .mid{flex:1 1 0;min-width:0}
.rrow .mid b{display:block;font-size:19px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.rrow .mid small{display:block;color:var(--ink3);font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
/* Dossard entre le nom et le temps ; sur ordinateur il est centré dans l'espace libre (l'élément .rsp répartit l'espace de part et d'autre). */
.rsp{display:none}
.rbib2{flex:none;align-self:center;box-sizing:border-box;min-width:52px;height:42px;padding:0 5px;margin:0 6px;border:1.5px solid #2b2b2b;border-top:7px solid var(--lt-accent);border-radius:3px;background:#fff;color:#161616;display:grid;place-items:center}
.rbib2 b{font-size:22px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.rbib2.ph{visibility:hidden}
.rbib2.n4 b{font-size:19px}
.rbib2.n5 b{font-size:16px}
/* Téléphone : petit dossard entre le nom et le temps (pas de place réservée aux lignes sans dossard : le nom garde toute la largeur). */
@media(max-width:699px){
  .rbib2{min-width:38px;height:28px;padding:0 4px;margin:0 4px;border-top-width:5px}
  .rbib2.ph{display:none}
  .rbib2 b{font-size:15px}
  .rbib2.n4 b{font-size:13px}
  .rbib2.n5 b{font-size:11px}
  .rrow .mid b{font-size:15px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .rrow .mid small{font-size:12.5px}
}
@media(min-width:700px){
  .rsp{display:block;flex:1 1 0;min-width:0}
  .rbib2{min-width:104px;height:58px;margin:0 12px;border-top-width:11px;border-radius:4px}
  .rbib2 b{font-size:30px}
  .rbib2.n4 b{font-size:27px}
  .rbib2.n5 b{font-size:23px}
}
.rrow .rt{flex:none;text-align:right;white-space:nowrap;padding-right:2px}
.rrow .rt b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.rrow .rt small{display:block;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.rrow .rt small.gap{color:var(--ink3)}
.rrow .rt small.live{color:var(--lt-accent);font-weight:700}
.rrow .rt small.err{color:var(--lt-bad);font-weight:800;letter-spacing:.04em}
.rrow .rt b.dim{color:var(--ink3);font-weight:600}
.racts{flex:none;display:flex;flex-direction:column;align-items:center}
.fstar,.cplus{display:grid;place-items:center;width:34px;height:30px;border:0;background:none;color:var(--ink4);opacity:.55;cursor:pointer;padding:0;font-size:20px;line-height:1;border-radius:8px}
.fstar svg{width:21px;height:21px;fill:currentColor}
.fstar.on{color:var(--lt-accent);opacity:1}
.cplus{font-size:20px;font-weight:700;color:var(--ink4)}
.cplus.on{background:var(--lt-accent);color:#fff;font-size:16px;font-weight:800}
.rempty{text-align:center;color:var(--ink3);padding:44px 12px;font-size:14px}
.rempty b{display:block;font-size:30px;opacity:.5;margin-bottom:6px}
#ovl{background:rgba(0,0,0,.35)}
#pnl{border-left:1px solid var(--border);background:var(--bg);overflow:hidden}
@media(max-width:720px){
  #pnl{width:100%;height:auto;top:0;bottom:0;border:0}
  
}
#pnl .ph{display:none}
#pnl #pb{flex:1;overflow-y:auto;padding:0}
.lt-top{display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px;background:var(--card)}
.lt-ib{background:none;border:0;padding:9px;color:var(--ink);cursor:pointer;border-radius:50%;display:grid;place-items:center;line-height:0}
.lt-ib svg{width:24px;height:24px}
.lt-ib:active{background:var(--lt-chip)}
.lt-ib.fav{color:var(--lt-accent)}
/* Dossard « papier de course » : à droite de la ligne du nom (téléphone, tablette), centré sur ordinateur (≥ 900 px). */
.lt-id-main{display:flex;gap:14px;align-items:center;min-width:0;flex:1 1 auto}
.lt-who{min-width:0}
.lt-bib{position:relative;flex:none;margin-left:auto;width:76px;height:50px;background:#fff;border:1.5px solid #2b2b2b;border-radius:3px;overflow:hidden;color:#161616;text-align:center}
.lt-bib .bb{display:block;height:10px;background:var(--lt-accent);font-size:0;line-height:0}
.lt-bib .p{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff}
.lt-bib .p.a{left:3px;top:3px}
.lt-bib .p.b{right:3px;top:3px}
.lt-bib .p.c,.lt-bib .p.d{display:none}
.lt-bib b{position:absolute;left:0;right:0;top:9px;font-weight:900;font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.lt-bib.n4 b{font-size:25px;top:11px}
.lt-bib.n5 b{font-size:21px;top:13px}
@media(max-width:599px){
  .lt-who.nm-long h2{font-size:17px;line-height:1.1}
  .lt-who.nm-xl h2{font-size:15px;line-height:1.1}
  .lt-who.nm-long p,.lt-who.nm-xl p{margin:1px 0 2px;font-size:14px}
}
.lt-ident{display:flex;gap:14px;align-items:center;padding:6px 16px 14px;background:var(--card)}
.lt-av{position:relative;flex:none;width:72px;height:72px;border-radius:50%;border:3px solid var(--lt-ok);background:var(--lt-soft);color:var(--lt-accent);display:grid;place-items:center;font-weight:800;font-size:23px}
.lt-av.run{border-color:var(--lt-accent)}
.lt-av.bad{border-color:var(--lt-bad)}
.lt-av.wait{border-color:var(--border2)}
.lt-av .chk{position:absolute;right:-6px;top:-6px;width:25px;height:25px;border-radius:50%;background:var(--lt-ok);display:grid;place-items:center;color:#fff}
.lt-av.run .chk{background:var(--lt-accent)}
.lt-av.bad .chk{background:var(--lt-bad)}
.lt-av .chk svg{width:14px;height:14px}
.lt-ident h2{font-size:20px;font-weight:800;line-height:1.15;margin:0}
.lt-ident p{margin:3px 0 6px;font-size:15px;color:var(--ink2)}
.lt-meta{display:flex;align-items:center;gap:12px;font-weight:800;font-size:15px}
.lt-meta .cat{color:var(--lt-accent)}
.lt-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 14px 14px;background:var(--card);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lt-strip::-webkit-scrollbar{display:none}
.lt-cp{flex:none;width:64px;text-align:center}
.lt-cp svg{display:block;width:64px;height:62px;margin:0 auto}
.lt-cp.wait svg{filter:grayscale(1);opacity:.38}
.lt-cp.bad svg{filter:saturate(.4);opacity:.85}
.lt-cp small{display:block;margin-top:4px;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap}
.lt-cp.bad small{color:var(--lt-bad);font-weight:700}
.lt-cp small b{display:block;font-size:11px;font-weight:800;color:var(--lt-ok);margin-top:1px}
.lt-cp small b.r1{color:var(--lt-accent)}
.lt-tabs{display:flex;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}
.lt-tab{flex:1;padding:11px 0 10px;background:none;border:0;border-bottom:3px solid transparent;color:var(--ink3);display:flex;flex-direction:column;align-items:center;gap:3px;font:700 11px var(--sans);letter-spacing:.04em;cursor:pointer}
.lt-tab svg{width:24px;height:24px}
.lt-tab.on{color:var(--lt-accent);border-bottom-color:var(--lt-accent)}
.lt-body{padding:16px 14px 36px}
.lt-sec{border-left:3px solid var(--lt-ok);padding:2px 0 2px 14px;margin-bottom:24px}
.lt-sec.run{border-left-color:var(--lt-accent)}
.lt-sec.bad{border-left-color:var(--lt-bad)}
.lt-sec.plain{border-left-color:transparent;padding-left:0}
.lt-sec h4{margin:0 0 10px;font-size:18px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}
.lt-big{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lt-big .t{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.lt-badge{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.5px;font-size:13px;color:var(--lt-ok)}
.lt-badge i{width:40px;height:40px;border-radius:12px;background:var(--lt-ok-soft);display:grid;place-items:center}
.lt-badge svg{width:21px;height:21px}
.lt-badge.run{color:var(--lt-accent)}
.lt-badge.run i{background:var(--lt-soft)}
.lt-badge.bad{color:var(--lt-bad)}
.lt-badge.bad i{background:color-mix(in srgb,var(--lt-bad) 14%,transparent)}
.lt-badge.wait{color:var(--ink3)}
.lt-badge.wait i{background:var(--lt-chip)}
.lt-stats{display:flex;text-align:center}
.lt-stat{flex:1;min-width:0}
.lt-stat small{display:block;font-size:14px;color:var(--ink)}
.lt-stat b{display:block;font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:44px}
.lt-stat b.m{font-size:23px}
.lt-stat sup{font-size:12px;font-weight:500;margin-left:2px}
.lt-stat em{display:block;font-style:normal;font-size:13px;color:var(--ink3)}
.lt-sub{font-size:13px;color:var(--ink3);margin:0 0 4px}
.lt-chart{width:100%;height:auto;margin:6px 0 4px;overflow:visible}
.lt-empty{text-align:center;color:var(--ink3);padding:22px 8px;font-size:14px}
.lt-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:12px}
.lt-tbl{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:14px}
.lt-tbl th,.lt-tbl td{padding:10px 10px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;background:none;position:static;letter-spacing:0;text-transform:none}
.lt-tbl th:first-child,.lt-tbl td:first-child{text-align:left}
.lt-tbl th{color:var(--ink3);font-size:12px;font-weight:700}
.lt-tbl tr:last-child td{border-bottom:0}
.lt-tbl tr.me td{background:var(--lt-soft);font-weight:700}
.lt-tbl td.wait{color:var(--ink4)}
.lt-tbl td small{color:var(--ink3);font-size:11.5px}
.lt-tbl .r1{color:var(--lt-accent);font-weight:800}
.lt-tbl .r3{font-weight:800}
.lt-tbl .arrv td{font-weight:800}
.lt-foot{color:var(--ink3);font-size:12px;margin:8px 2px}
.lt-actions{display:flex;gap:8px;margin-top:6px}
.lt-actions button{flex:1;border:0;border-radius:99px;background:var(--lt-chip);color:var(--ink);padding:11px 8px;font:800 13px var(--sans);cursor:pointer}
.lt-actions button.main{background:var(--lt-accent);color:#fff}
#cpnl{background:var(--bg);overflow-y:auto;display:block}
#cb{padding:0 0 40px;overflow:visible;max-width:var(--max);margin:0 auto}
.cm-head{box-sizing:border-box;display:flex;align-items:center;gap:4px;background:var(--card);padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border)}
.cm-head h2{margin:0;font-size:18px;font-weight:800;flex:1;min-width:0}
.cm-head small{display:block;font-size:12px;color:var(--ink3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:5px;vertical-align:baseline;flex:none}
.cm-sel{display:flex;gap:8px;flex-wrap:wrap;padding:12px 12px 4px}
.cm-pchip{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:99px;padding:5px 6px 5px 11px;font-weight:700;font-size:13px}
.cm-pchip.can{cursor:pointer}
.cm-pchip .dot{margin:0;width:12px;height:12px}
.cm-pchip small{color:var(--ink3);font-weight:500;padding-right:6px}
.cm-pchip button{background:var(--lt-chip);border:0;border-radius:50%;width:22px;height:22px;line-height:1;padding:0;font-size:15px;color:var(--ink);cursor:pointer}
.cm-block{padding:8px 12px 0}
.cm-block h4{margin:10px 0 8px;font-size:12px;letter-spacing:.6px;color:var(--ink3);text-transform:uppercase;font-weight:800}
.cm-qrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.cm-qrow::-webkit-scrollbar{display:none}
.cm-chip{flex:none;border:0;background:var(--lt-chip);color:var(--ink);border-radius:99px;padding:7px 13px;font:700 13px var(--sans);cursor:pointer}
.cm-chip[disabled]{opacity:.4;cursor:not-allowed}
#cm-q{width:100%;border:0;border-radius:10px;padding:10px 12px;font:15px var(--sans);background:var(--lt-chip);color:var(--ink);margin-top:6px;outline:none}
#cm-q:focus{box-shadow:0 0 0 3px var(--lt-soft)}
.cm-res{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-top:6px}
.cm-res .mid{flex:1;min-width:0}
.cm-res .mid b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-res .mid small{color:var(--ink3);font-size:12px}
.cm-res button{background:var(--lt-accent);color:#fff;border:0;border-radius:8px;padding:6px 12px;font-weight:800;cursor:pointer}
.cm-res button[disabled]{opacity:.4}
.cm-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ink3);margin:2px 2px 8px}
.cm-legend .dash{display:inline-block;width:16px;height:0;border-top:2px dashed var(--c);margin-right:6px;vertical-align:middle}
.cm-seg{display:inline-flex;background:var(--lt-chip);border-radius:99px;padding:3px;margin:4px 0 8px}
.cm-seg button{border:0;background:none;border-radius:99px;padding:6px 14px;font:700 13px var(--sans);color:var(--ink3);cursor:pointer}
.cm-seg button[aria-pressed="true"]{background:var(--lt-accent);color:#fff}
.cm-chartwrap{position:relative;margin:6px 0 20px}
.cm-chartwrap .lt-chart{margin:0 auto;display:block;width:100%;height:auto;max-width:none}
.cm-chartwrap{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px 4px 2px}
.pt{cursor:pointer}
.pt .dv{transition:r .1s}
.pt:hover .dv,.pt.on .dv{r:6}
.cm-tip{position:absolute;z-index:4;pointer-events:none;background:#161616;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.45;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.cm-tip b{font-variant-numeric:tabular-nums}
.cm-tip .tl{font-weight:800;margin-bottom:2px}
.cm-tip .tr{display:flex;justify-content:space-between;gap:14px;align-items:center}
.cm-tip .g{margin-top:3px;font-weight:700}
.cm-tip .g.pos{color:#5ec29c}
.cm-tip .g.neg{color:#ff7b72}
.cm-tip[hidden]{display:none}
#cm-data .lt-tbl td.best{background:var(--lt-soft);font-weight:800}
#cm-data .lt-tbl td small.dl{display:block;font-size:11.5px}
#cm-data .lt-tbl td small.dl.pos{color:var(--lt-ok)}
#cm-data .lt-tbl td small.dl.neg{color:var(--lt-bad)}
#cm-data .lt-tbl td.l,#cm-data .lt-tbl th.l{text-align:left}
#cm-data .lt-wrap{margin-bottom:6px}
#cm-data{padding-bottom:20px}
#toast .tbox{background:var(--card);color:var(--ink);border:1px solid var(--border);border-left:4px solid var(--lt-ok);box-shadow:0 14px 40px rgba(0,0,0,.22);backdrop-filter:none}
#toast .tico{background:var(--lt-ok-soft)}
#toast .ttit{color:var(--lt-ok)}
#toast .tmeta{color:var(--ink3);font-family:var(--sans);font-size:12.5px}
.event-home-sticky{background:var(--card);box-shadow:none;border-bottom:1px solid var(--border);border-radius:0}
.event-home-title{padding:14px 16px 8px}
.event-home-title h1{font-size:22px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.event-home-title p{display:none}
.event-search input{background:var(--lt-chip);border:0;border-radius:99px;padding:10px 16px}
.event-search input:focus{box-shadow:0 0 0 3px var(--lt-soft);background:var(--card)}
.event-tabs{border-bottom:0;gap:0;padding:0}
.event-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:12px 0 14px;border:0;font:600 15px var(--sans);color:var(--ink3)}
.event-tab:hover{background:none}
.event-tab.active{color:var(--ink);font-weight:800}
.event-tab.active::after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--lt-accent),var(--lt-accent2))}
.event-tab svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.event-cards{padding:14px 12px 28px}
.event-cards{perspective:none}
.event-card{aspect-ratio:1.12;border-radius:26px;box-shadow:0 6px 18px rgba(0,0,0,.18);border:0;transform-style:flat}
.event-card:hover,.event-card.in-view{transform:translateY(-3px);border-color:transparent;box-shadow:0 12px 26px rgba(0,0,0,.24)}
.event-card-shade{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.72) 100%)}
.event-card-placeholder{position:absolute;inset:0;height:auto;opacity:1;font-size:0;color:transparent; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='420' viewBox='0 0 520 420'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='1.6'%3E%3Cpath d='M-20 330C60 260 120 330 200 290S330 190 420 230 540 300 560 270'/%3E%3Cpath d='M-20 360C70 300 130 365 210 325S335 235 425 272 540 335 560 310'/%3E%3Cpath d='M-20 300C50 225 115 295 195 255S325 150 415 190 540 265 560 235'/%3E%3Cpath d='M-20 270C45 190 110 262 190 222S320 118 410 158 540 232 560 200'/%3E%3Cellipse cx='120' cy='110' rx='95' ry='58'/%3E%3Cellipse cx='120' cy='110' rx='66' ry='38'/%3E%3Cellipse cx='120' cy='110' rx='36' ry='18'/%3E%3Cellipse cx='400' cy='90' rx='70' ry='44' transform='rotate(-14 400 90)'/%3E%3Cellipse cx='400' cy='90' rx='42' ry='24' transform='rotate(-14 400 90)'/%3E%3Cpath d='M-20 190C40 150 90 200 150 180'/%3E%3Cpath d='M360 420C380 350 440 330 540 340'/%3E%3C/g%3E%3C/svg%3E") center/cover, linear-gradient(135deg,var(--lt-accent) 0%,color-mix(in srgb,var(--lt-accent) 45%,var(--lt-accent2)) 55%,var(--lt-accent2) 100%)}
.event-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.elogo{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:84px;height:84px;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:2}
.elogo span{width:78%;height:78%;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:900;font-style:italic;font-size:24px;letter-spacing:-1px;font-family:var(--sans)}
.event-card.has-img .elogo{display:none}
.event-card-body{z-index:3;padding:18px 18px 16px;text-align:center}
.event-card-body h2{text-transform:none;font-size:clamp(19px,5vw,24px);letter-spacing:0;margin-bottom:10px}
.event-card-meta{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:14px;font-weight:700}
.event-card-body h2{text-shadow:0 1px 6px rgba(0,0,0,.45);font-weight:800}
.event-card-meta{text-shadow:0 1px 5px rgba(0,0,0,.45)}
.event-card-badge{border-radius:99px;font-weight:800;letter-spacing:.06em}
.event-card-badge.live{background:var(--lt-bad);color:#fff}
.event-card-badge.live::first-letter{animation:blink 1.4s infinite}
.ph{background:var(--card);border-bottom:1px solid var(--border)}
.pn{color:var(--ink);font-weight:800}
.pm{color:var(--ink3)}
.pcl{color:var(--ink3)}
.pcl:hover{color:var(--lt-accent)}
.card{border-color:var(--border);box-shadow:var(--sh)}
#footer{background:var(--card)}
.footer-brand .lt-logo{font-size:22px}
#mobile-menu,#settings,#catpick,#srchpick{background:var(--card)}
.mobile-menu-link{background:var(--bg)}
.mobile-menu-link:hover{background:var(--lt-soft);border-color:var(--lt-accent)}
.stg-toggle:hover{border-color:var(--lt-accent)}
#totop{background:var(--card);color:var(--ink);border:1px solid var(--border);box-shadow:var(--sh2)}
.spin{border-top-color:var(--lt-accent)}
@media(max-width:520px){
  #hdr{padding:9px max(12px,env(safe-area-inset-right)) 7px max(12px,env(safe-area-inset-left))}
  #hdr-top{grid-template-columns:minmax(0,1fr) auto auto}
  #hdr-clock{box-shadow:none}
  .lt-logo{font-size:23px}
  #course-wrap{margin-top:2px}
  #homepage-btn:not([hidden]){margin-inline:0;font-size:11px;padding:6px 11px}
  #pnl{border-top:0;height:auto}
}
@media(min-width:900px){
  body.results-view #main{max-width:var(--max);margin:0 auto}
  .event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
  .event-cards .event-card{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){
  .rrow,.rrow.fl,.rrow.arr{animation:none;transition:none}
}
@media(min-width:900px){
  .cm-head{padding-left:max(10px,calc((100% - var(--max))/2));padding-right:max(10px,calc((100% - var(--max))/2))}
}
.cm-det th,.cm-det td{text-align:center;vertical-align:middle}
.cm-det th:first-child,.cm-det td:first-child{text-align:left}
.cm-det th .dot{margin-right:5px}
.cm-det td.cm-bal{padding:4px 10px;width:1%}
.cm-det td.cm-bal svg{width:46px;height:44px;display:block}
#pnl{left:0;right:0;width:100%;max-width:100%;border:0;box-shadow:none;transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .22s cubic-bezier(.32,.72,0,1),opacity .18s}
#pnl.on{transform:none;opacity:1;pointer-events:all}
#ovl{display:none}
@media(max-width:720px){
  #pnl{transform:translateX(100%);opacity:1}
  #pnl.on{transform:none}
}
.lt-top,.lt-ident,.lt-strip,.lt-tabs,.lt-body{padding-left:max(14px,calc((100% - var(--max))/2));padding-right:max(14px,calc((100% - var(--max))/2))}
.lt-top{padding-left:max(8px,calc((100% - var(--max))/2 - 6px));padding-right:max(8px,calc((100% - var(--max))/2 - 6px))}
@media(min-width:900px){
  .lt-ident{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .lt-bib{grid-column:2;justify-self:center;margin-left:0;width:156px;height:92px;border-radius:4px}
  .lt-bib .bb{height:19px;line-height:19px;font-size:11px;letter-spacing:.06em;color:#fff;font-weight:500}
  .lt-bib .p{width:7px;height:7px;background:#f1f1f1;border:1px solid #9a9a9a}
  .lt-bib .p.a{left:6px;top:24px}
  .lt-bib .p.b{right:6px;top:24px}
  .lt-bib .p.c,.lt-bib .p.d{display:block;bottom:6px}
  .lt-bib .p.c{left:6px}
  .lt-bib .p.d{right:6px}
  .lt-bib b{top:22px;font-size:50px}
  .lt-bib.n4 b{font-size:44px;top:24px}
  .lt-bib.n5 b{font-size:36px;top:28px}
  .lt-who.nm-long h2{font-size:22px;line-height:1.1}
  .lt-who.nm-xl h2{font-size:20px;line-height:1.1}
  .lt-who.nm-long p,.lt-who.nm-xl p{margin:1px 0 3px;font-size:15px}
  .lt-av{width:92px;height:92px;font-size:30px}
  .lt-ident h2{font-size:26px}
  .lt-ident p{font-size:17px}
  .lt-cp{width:76px}
  .lt-cp svg{width:76px;height:74px}
  .lt-strip{gap:14px}
  .lt-tab{flex-direction:row;justify-content:center;gap:8px;font-size:13px}
  .lt-big .t{font-size:44px}
  .lt-sec h4{font-size:20px}
}
.lt-chart.lt-evo{display:block;width:100%;height:auto;max-width:none}
.cm-pchip{user-select:none;-webkit-user-select:none}
.cm-pchip.isref{border-color:var(--lt-accent);box-shadow:0 0 0 1px var(--lt-accent) inset}
.cm-grip{cursor:grab;touch-action:none;color:var(--ink4);font-size:16px;line-height:1;padding:4px 2px 4px 0;margin-left:-4px}
.cm-grip:active{cursor:grabbing}
.cm-pchip.cm-dragging{opacity:.3}
.cm-pchip.cm-ghost{box-shadow:0 10px 26px rgba(0,0,0,.28);cursor:grabbing;transform:scale(1.04);background:var(--card)}
.cm-hint{margin:2px 14px 0}
.cm-pchip{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s,background .18s}
@media(hover:hover){
  .cm-pchip:not(.cm-dragging):not(.cm-ghost):hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 16px rgba(0,0,0,.14);border-color:var(--lt-accent)}
  .cm-pchip.can:hover{background:var(--lt-soft)}
  .cm-pchip:hover .dot{animation:cmDotPulse .9s ease-in-out infinite}
  .cm-pchip:hover .cm-grip{color:var(--lt-accent)}
  .cm-pchip button:hover{background:var(--lt-bad);color:#fff;transform:rotate(90deg)}
}
.cm-pchip button{transition:background .15s,color .15s,transform .2s}
@keyframes cmDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@media(prefers-reduced-motion:reduce){
  .cm-pchip,.cm-pchip button{transition:none}
  .cm-pchip:hover .dot{animation:none}
}
.lt-stripwrap{position:relative;background:var(--card)}
.lt-stripwrap .lt-strip{scroll-behavior:auto}
.lt-stripwrap::before,.lt-stripwrap::after{content:"";position:absolute;top:0;bottom:14px;width:34px;pointer-events:none;z-index:2;opacity:0;transition:opacity .2s}
.lt-stripwrap::before{left:0;background:linear-gradient(90deg,var(--card),transparent)}
.lt-stripwrap::after{right:0;background:linear-gradient(270deg,var(--card),transparent)}
.lt-stripwrap.can-l::before,.lt-stripwrap.can-r::after{opacity:1}
.lt-sa{position:absolute;top:18px;z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--ink);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);padding:0 0 3px}
.lt-sa:hover{background:var(--lt-accent);border-color:var(--lt-accent);color:#fff}
.lt-sa.l{left:6px}
.lt-sa.r{right:6px;animation:ltNudge 1.6s ease-in-out infinite}
.lt-sa[hidden]{display:none}
@keyframes ltNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
.lt-hint{background:var(--card);text-align:center;font-size:12px;font-weight:600;color:var(--ink3);padding:0 14px 10px;margin-top:-4px}
.lt-hint span{color:var(--lt-accent);font-weight:800;display:inline-block;animation:ltHint 1.4s ease-in-out infinite}
.lt-hint span:last-child{animation-delay:.7s}
@keyframes ltHint{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:720px){
  .lt-sa{display:none}
}
@media(prefers-reduced-motion:reduce){
  .lt-sa.r,.lt-hint span{animation:none}
}
.lt-wrapbox{position:relative;border-radius:12px}
.lt-wrapbox::before,.lt-wrapbox::after{content:"";position:absolute;top:1px;bottom:1px;width:30px;pointer-events:none;z-index:4;opacity:0;transition:opacity .2s}
.lt-wrapbox::before{left:1px;border-radius:12px 0 0 12px;background:linear-gradient(90deg,rgba(0,0,0,.14),transparent)}
.lt-wrapbox::after{right:1px;border-radius:0 12px 12px 0;background:linear-gradient(270deg,rgba(0,0,0,.14),transparent)}
.lt-wrapbox.can-l::before,.lt-wrapbox.can-r::after{opacity:1}
.lt-wrapbox .lt-sa{top:50%;margin-top:-16px;z-index:5}
.lt-hint.inline{background:none;padding:0;margin:0 0 6px}
@media(max-width:720px){
  .lt-wrapbox .lt-sa{display:none}
}
.cm-det th:first-child,.cm-det td:first-child{position:sticky;left:0;z-index:2;background:var(--card);box-shadow:1px 0 0 var(--border)}
.cm-det tr.me td:first-child{background:var(--lt-soft)}
.mm-sep{border:0;border-top:1px solid var(--border);margin:4px 2px}
@media(min-width:521px){
  #hamburger-btn{display:inline-flex}
  #hlp-btn,#settings-btn{display:none}
  #mobile-menu-ovl{background:transparent;backdrop-filter:none;z-index:300}
  #mobile-menu{top:calc(var(--hdrH,56px) + 2px);right:max(16px,calc((100vw - var(--max,1120px))/2));bottom:auto;left:auto;width:268px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100vh - var(--hdrH,56px) - 20px);border-radius:14px;border:1px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.18);transform:translateY(-6px);opacity:0;pointer-events:none;transition:opacity .15s,transform .18s cubic-bezier(.32,.72,0,1);overflow:hidden;z-index:301}
  #mobile-menu.on{transform:none;opacity:1;pointer-events:all}
  #mobile-menu .mobile-menu-head{display:none}
  #mobile-menu .mobile-menu-body{padding:8px;gap:2px}
  #mobile-menu .mobile-menu-link{min-height:38px;border:0;background:transparent;border-radius:10px;padding:8px 12px;font:600 14px var(--sans);transition:background .12s}
  #mobile-menu .mobile-menu-link:hover{background:var(--lt-soft);color:var(--ink);border:0}
}
#clock-wrap{--sync:var(--ink4);align-items:center;gap:3px}
#clock-wrap[data-sync="ok"]{--sync:var(--lt-ok)}
#clock-wrap[data-sync="stale"]{--sync:#e0a21b}
#clock-wrap[data-sync="bad"]{--sync:var(--lt-bad)}
#hdr-clock{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";min-width:116px;justify-content:center;transition:border-color .3s,background .3s}
#clock-wrap:not([data-sync="none"]) #hdr-clock{border-color:color-mix(in srgb,var(--sync) 45%,var(--border))}
.clk-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--sync);transition:background .3s}
#clock-wrap[data-sync="ok"] .clk-dot{animation:clkPulse 1.8s ease-out infinite}
#clock-wrap[data-sync="bad"] .clk-dot{animation:clkBlink 1s steps(1,end) infinite}
@keyframes clkPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lt-ok) 55%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
@keyframes clkBlink{50%{opacity:.25}}
#clk-sub{font-size:10.5px;line-height:1.1;color:var(--ink3);white-space:nowrap;letter-spacing:.01em}
#clk-sub[hidden]{display:none}
#clk-sub b+span::before{content:"· ";color:var(--ink4);font-weight:400}
#clk-sub b{font-weight:800;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;font-size:9.5px}
#clock-wrap[data-sync="bad"] #clk-sub span{color:var(--lt-bad);font-weight:700}
#clock-wrap[data-sync="stale"] #clk-sub span{color:#b9810c;font-weight:700}
#clock-wrap[data-sync="ok"] #clk-sub span{color:var(--lt-ok);font-weight:700}
@media(max-width:520px){
  #hdr-clock{min-width:0;gap:6px;padding:5px 9px;font-size:14px}
  #hdr-clock .clk-sec{font-size:.78em;opacity:.9}
  #clk-sub{font-size:9.5px}
  #clk-sub b{display:none}
  #clk-sub b+span::before{content:none}
  .clk-dot{width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){
  #clock-wrap .clk-dot{animation:none!important}
}
.stg-pair{display:flex;align-items:center;gap:8px;flex-shrink:0}
.stg-row select#refresh-sel{width:auto;min-width:150px;max-width:190px;background:var(--bg);border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:9px 12px;font:700 13px var(--sans);outline:none;cursor:pointer}
#refresh-now-btn{font-size:20px;font-weight:700;color:var(--ink)}
#refresh-now-btn:hover{background:var(--lt-soft);color:var(--lt-accent)}
#refresh-now-btn.spin-ico{animation:ltSpin .6s linear}
@keyframes ltSpin{to{transform:rotate(360deg)}}
#clock-wrap[data-sync="idle"] #clk-sub span{color:var(--ink3)}
html:has(#clock-wrap) #hdr-clock{cursor:default}
@media(max-width:520px){
  .stg-row{flex-wrap:wrap}
  .stg-pair{width:100%;justify-content:flex-end}
}
#clock-wrap.clickable{cursor:pointer}
#clock-wrap.clickable:hover #hdr-clock{border-color:var(--lt-accent)}
@media(max-width:520px){
  #hdr-meta{flex-wrap:wrap;row-gap:4px;column-gap:5px}
  #hdr-date{flex:0 0 100%;line-height:1.1}
  #offi-badge,#live-badge{flex:0 0 auto;font-size:9.5px;padding:2px 7px;letter-spacing:0;white-space:nowrap}
  #offi-badge{letter-spacing:-.1px}
  #live-badge{gap:3px}
}
.rgroup .rcount{font-size:11px;font-weight:800;background:var(--lt-chip);color:var(--ink3);border-radius:99px;padding:1px 8px;letter-spacing:0}
.rgroup-empty{font-size:13px;color:var(--ink3);padding:4px 4px 6px;font-style:italic}
.cm-qhint{font-size:12px;color:var(--ink3);margin:-2px 0 8px}
.cm-qhint b{color:var(--ink2)}
.cm-chip2{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-width:150px;max-width:230px;border-radius:12px;padding:8px 12px;border:1px solid var(--border);background:var(--card)}
.cm-chip2 .l{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--lt-accent)}
.cm-chip2 .n{font-size:13px;font-weight:700;color:var(--ink);white-space:normal;line-height:1.25}
.cm-chip2:hover:not([disabled]){border-color:var(--lt-accent);background:var(--lt-soft)}
.cm-chip2.off{background:var(--bg);border-style:dashed;opacity:1}
.cm-chip2.off .l{color:var(--ink4)}
.cm-chip2.off .n{color:var(--ink3);font-weight:500;font-size:12px;font-style:italic}
.cm-chip2[disabled]{cursor:not-allowed}
.cm-syn th,.cm-syn td{text-align:center;vertical-align:middle}
.cm-syn th:first-child,.cm-syn td:first-child{text-align:left}
.cm-syn td:not(:first-child){font-variant-numeric:tabular-nums}
.cl-tbl th,.cl-tbl td{vertical-align:middle}
.cl-tbl th.cl-rk,.cl-tbl td.cl-rk{width:64px;text-align:center}
.cl-tbl th.cl-name,.cl-tbl td.cl-name{text-align:left}
.cl-tbl th:nth-child(2){text-align:left}
.cl-tbl td.cl-name b{display:block;font-weight:700;font-size:14.5px;white-space:normal}
.cl-tbl td.cl-name small{display:block;color:var(--ink3);font-size:12px;margin-top:1px}
.cl-tbl .cl-t{text-align:right;width:92px}
.cl-tbl td.cl-t span{display:block;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.cl-tbl td.cl-t.wait span{font-weight:700;font-size:13px;color:var(--ink3)}
.cl-tbl td.cl-t small{display:block;color:var(--ink3);font-size:12px;font-variant-numeric:tabular-nums}
.cl-tbl .rk{display:inline-grid;margin:0 auto}
.cl-tbl .rk:not(.medal):not(.none){width:28px;height:28px;place-items:center;font-size:15px;font-weight:800}
.cl-tbl tr.me td{background:var(--lt-soft)}
.cl-tbl tr.me td:first-child{box-shadow:inset 4px 0 0 var(--lt-accent)}

/* Impression : on masque l'interface et on garde les résultats */
@media print{
  html,body{background:#fff!important;color:#000}
  #hdr,#result-modes,#bar,#prog,#subcats-bar,#footer,#totop,#toast,#mobile-menu,#mobile-menu-ovl,.lt-sa,.lt-hint,#clk-sub{display:none!important}
  #main{padding:0;max-width:none}
  .rrow,.card,.lt-wrap{box-shadow:none!important;break-inside:avoid}
  .rgroup{break-after:avoid}
}

/* Poste manquant (coureur PM) */
.lt-missline{margin-top:10px;font-size:14px;color:var(--lt-bad);font-weight:600}
.lt-missline b{font-weight:800}
.lt-tbl tr.miss td{background:color-mix(in srgb,var(--lt-bad) 8%,transparent)}
.lt-tbl td.miss-t{color:var(--lt-bad);font-weight:800}
.lt-tbl td.pm-cell{color:var(--lt-bad);font-weight:800}

/* Rappel de l'événement dans l'en-tête */
#hdr-top{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"brand event clock theme" "course course course course"}
#hdr-event{grid-area:event;min-width:0;margin-left:6px;padding:2px 0 2px 16px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:1px;justify-self:start;max-width:100%}
#hdr-event[hidden],body.event-home #hdr-event{display:none}
#hdr-event b{font-size:17px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}
#hdr-event span{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#hdr-event span:empty{display:none}
@media(max-width:900px){#hdr-event b{font-size:15px}}
@media(max-width:520px){
  #hdr-top{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand clock theme" "event event event" "course course course"}
  #hdr-top:has(#hdr-event[hidden]){grid-template-areas:"brand clock theme" "course course course"}
  #hdr-event{margin:0;padding:6px 0 0;border-left:0;border-top:1px solid var(--border);flex-direction:row;align-items:baseline;gap:8px;justify-self:stretch;width:100%}
  #hdr-event b{font-size:14.5px;flex:0 1 auto;min-width:0}
  #hdr-event span{flex:0 1 auto;max-width:42%;font-size:11.5px}
}

/* Fiche coureur : bouton Comparer (icône ; le mot « Comparer » apparaît au survol ou au focus) */
.lt-cmp{display:inline-flex;align-items:center;justify-content:center;gap:0;height:38px;min-width:38px;margin-right:6px;padding:0 9px;border:0;border-radius:99px;background:var(--lt-accent);color:#fff;font:800 13px var(--sans);letter-spacing:.2px;cursor:pointer;transition:padding .2s,gap .2s,filter .15s;animation:ltCmpPulse 1.8s ease-out 1}
.lt-cmp svg{width:21px;height:21px;flex:none}
.lt-cmp span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .22s ease,opacity .15s}
@media(hover:hover){.lt-cmp:hover{padding:0 14px 0 11px;gap:6px;filter:brightness(1.07)}.lt-cmp:hover span{max-width:90px;opacity:1}}
.lt-cmp:focus-visible{padding:0 14px 0 11px;gap:6px;outline:2px solid var(--lt-accent);outline-offset:2px}
.lt-cmp:focus-visible span{max-width:90px;opacity:1}
.lt-cmp:active{transform:scale(.96)}
@keyframes ltCmpPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lt-accent) 55%,transparent)}70%,100%{box-shadow:0 0 0 9px transparent}}
@media(prefers-reduced-motion:reduce){.lt-cmp,.lt-cmp span{animation:none;transition:none}}

/* Onglet LIVE : l'icône d'ondes bat comme un cœur tant que la course n'est pas terminée */
@keyframes liveHeartbeat{0%,40%,100%{transform:scale(1);opacity:.85}10%{transform:scale(1.22);opacity:1}20%{transform:scale(1)}30%{transform:scale(1.16);opacity:1}}
.result-mode[data-fin="0"] svg{transform-origin:center;animation:liveHeartbeat 1.4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.result-mode[data-fin="0"] svg{animation:none}}

/* Pied de page : slogan sous le logo, liens du milieu en colonne alignée */
.footer-brand{flex-direction:column;align-items:flex-start;gap:6px}
.footer-links{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 22px}
.footer-links #ratebtn{margin-top:0}

/* Drapeau de nationalité devant le nom du coureur */
.flag{display:inline-block;margin-right:6px;font-style:normal;font-weight:400;line-height:1}

/* Logo : icône carrée devant le mot-symbole OrientLive */
.brand-lockup{display:inline-flex;align-items:center;gap:10px}
.lt-mark{width:34px;height:34px;flex:none;border-radius:9px;display:block}
.footer-brand .lt-mark{width:30px;height:30px;border-radius:8px}

/* ── Relais : carte d'équipe dépliable avec le détail des relayeurs ── */
.tcard{display:flex;flex-direction:column}
.tcard .rrow{min-height:82px}
.tcard.open .rrow{border-bottom-left-radius:0;border-bottom-right-radius:0}
.tchev{display:block;width:9px;height:9px;font-size:0;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);margin:-3px 6px 0 0;transition:transform .15s}
.tcard.open .tchev{transform:rotate(-135deg);margin-top:4px}
.tdet{background:var(--card);border:1px solid var(--border);border-top:0;border-left:4px solid var(--border2);border-radius:0 0 12px 12px;padding:2px 8px 8px}
.tdet[hidden]{display:none}
.rlyhead,.rly{display:grid;grid-template-columns:26px minmax(0,1fr) 84px 84px;align-items:center;gap:8px}
.rlyhead{padding:6px 2px 4px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink4)}
.rlyhead .rtm,.rlyhead .rcu,.rly .rtm,.rly .rcu{text-align:right}
.rly{padding:7px 2px;border-top:1px solid var(--border)}
.rly.go{cursor:pointer}
@media(hover:hover){.rly.go:hover{background:var(--lt-soft)}}
.rly .rn{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--lt-chip);color:var(--ink3);font-size:12px;font-weight:800}
.rly .rnm b{display:block;font-size:14px;font-weight:700;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rly .rnm small,.rly .rtm small,.rly .rcu small{display:block;font-size:11px;color:var(--ink3);line-height:1.25}
.rly .rtm b,.rly .rcu b{display:block;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.rly .rcu b{font-weight:600;color:var(--ink2,var(--ink))}
.rly .dim{color:var(--ink3);font-weight:600}
.rly.best .rtm small{color:var(--lt-ok);font-weight:800}
.rly small i.live{font-style:normal;color:var(--lt-accent);font-weight:700}
@media(max-width:520px){
  .rlyhead,.rly{grid-template-columns:22px minmax(0,1fr) 62px 62px;gap:6px}
  .rly .rnm b{font-size:13px}
  .rly .rtm b,.rly .rcu b{font-size:13px}
}
.rly .rcu small em{font-style:normal;font-weight:800;color:var(--ink2,var(--ink))}
.rly .rcu small em.r1{color:var(--lt-ok)}
.tclub{padding:6px 2px 0;font-size:12px;font-weight:700;color:var(--ink3)}
.rly small i.bad{font-style:normal;color:var(--lt-bad);font-weight:800}
.rly.bad .rnm b{color:var(--lt-bad)}
