:root{--bg:#f4f6f3;--card:#fff;--ink:#15202b;--muted:#5b6770;--line:#d9dfd8;--green:#4f9a2c;--green-soft:#71bf45;--amber:#c27c0e;--red:#c0392b;--route:#9aa79f;--map-bg:#e8ece4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1720;--card:#17212c;--ink:#e8eef2;--muted:#9aa8b3;--line:#2a3744;--route:#4d5d6b;--map-bg:#0c131a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-user-select:none;user-select:none;background:var(--bg);color:var(--ink);margin:0;font:15px/1.45 system-ui,-apple-system,PingFang HK,Noto Sans HK,Microsoft JhengHei,sans-serif}html,body{overscroll-behavior:none;height:100%;overflow:hidden}.stage{background:var(--map-bg);position:fixed;inset:0}.route{inset:calc(env(safe-area-inset-top) + 92px) 8px calc(env(safe-area-inset-bottom) + 150px) 8px;position:absolute}.route-svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.glass{background:color-mix(in srgb, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);box-shadow:0 6px 24px #0000001f}.top{z-index:3;padding:calc(8px + env(safe-area-inset-top)) 10px 0;pointer-events:none;position:fixed;top:0;left:0;right:0}.top>*{pointer-events:auto}.bar{border-radius:18px;align-items:center;gap:10px;max-width:760px;margin:0 auto;padding:8px 10px 8px 14px;display:flex}.titles{flex:1;min-width:0}.race{color:var(--muted);font-size:13px;font-weight:700}.clock-line{color:var(--muted);font-size:13px}.clock-line strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.3px;font-size:22px}.clock-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.pill{border:1px solid var(--line);background:var(--card);min-width:44px;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;flex:none;font-weight:700}.fab{z-index:3;right:12px;bottom:calc(env(safe-area-inset-bottom) + 160px);font-size:18px;position:fixed}h2{color:var(--muted);margin:14px 0 6px;font-size:13px;font-weight:600}.banner{color:#5c4400;background:#fff3cd;border-radius:12px;max-width:760px;margin:6px auto 0;padding:7px 12px;font-size:12px}.banner.warn{color:#7a1d16;background:#fde2e1}.sheet{z-index:4;max-width:760px;padding:0 16px calc(12px + env(safe-area-inset-bottom));border-bottom:0;border-radius:20px 20px 0 0;max-height:140px;margin:0 auto;transition:max-height .28s;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.sheet[data-open=true]{overscroll-behavior:contain;max-height:78vh;overflow-y:auto}.grip{cursor:pointer;background:0 0;border:0;width:100%;height:22px;padding:0;display:block}.grip span{background:var(--line);border-radius:3px;width:40px;height:5px;margin:8px auto;display:block}@media (min-width:900px){.sheet{border-bottom:1px solid var(--line);border-radius:20px;width:380px;max-height:none;margin:0;inset:112px 12px 12px auto;overflow-y:auto}.sheet .grip{display:none}.route{inset:112px 404px 12px 12px}.fab{bottom:16px;right:404px}.top{width:min(760px,100% - 410px);right:auto}}.who{align-items:center;gap:10px;display:flex}.who .name{font-weight:700}.who .mode{color:var(--muted);font-size:13px}.who .dist{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:26px;font-weight:800}.who .dist small{color:var(--muted);font-size:13px;font-weight:500}.dot{background:var(--muted);border-radius:50%;flex:none;width:12px;height:12px}.dot.live{background:var(--green-soft);box-shadow:0 0 0 4px color-mix(in srgb, var(--green-soft) 30%, transparent)}.dot.estimated{background:var(--amber)}.dot.stale{background:var(--red)}.dot.finished{background:var(--green)}.facts{color:var(--muted);gap:1px;margin-top:6px;font-size:13px;display:grid}.more{padding-top:4px}.profile-svg{width:100%;height:auto;display:block;overflow:visible}.route-base{fill:none;stroke:var(--route);stroke-width:calc(3px * var(--u,1));stroke-linejoin:round;stroke-linecap:round}.route-done{fill:none;stroke:var(--green-soft);stroke-width:calc(4.5px * var(--u,1));stroke-linejoin:round;stroke-linecap:round}.cp circle{fill:var(--card);stroke:var(--ink);stroke-width:2px}.cp-start circle{fill:var(--green);stroke:var(--card)}.cp-label{fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3.5px;stroke-linejoin:round;font-size:12.5px;font-weight:600}.soon{color:var(--muted);text-align:center;margin:4px 8px 2px;font-size:12px}.avatar .face{fill:var(--green)}.avatar .ring{fill:none;stroke:#fff;stroke-width:3px}.avatar .initials{fill:#fff;font-weight:800}.avatar .pulse{fill:var(--green-soft);opacity:.35;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite pulse}@keyframes pulse{0%{opacity:.5;transform:scale(.45)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.avatar .pulse{opacity:.2;animation:none}}.profile-base{fill:color-mix(in srgb, var(--route) 45%, transparent)}.profile-done{fill:color-mix(in srgb, var(--green-soft) 70%, transparent)}.tick{stroke:var(--line);stroke-width:1.5px}.tick-cutoff{stroke:var(--red);stroke-dasharray:4 4}.cps{margin:0;padding:0;list-style:none}.cps li{border-top:1px solid var(--line);grid-template-columns:52px 1fr;column-gap:8px;padding:8px 0;display:grid}.cps li:first-child{border-top:0}.cps .km{color:var(--muted);font-variant-numeric:tabular-nums;grid-row:span 2}.cps .cpn{font-weight:600}.cps .meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.cps .cut{color:var(--red)}.cps .ok{color:var(--green);font-weight:600}.cps .done .cpn{color:var(--green)}footer{text-align:center;color:var(--muted);margin-top:14px;font-size:12px}footer a{color:var(--green);font-weight:600}canvas.map3d{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}body.map3d .route,body.map3d #fit,body.map3d .soon[data-i18n=mapSoon]{display:none}
