.live-ride-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(336px,388px);min-height:100vh;background:#e8f2f4;overflow:hidden}.live-sidebar{z-index:10;display:flex;min-height:100vh;max-height:100vh;flex-direction:column;gap:16px;overflow-y:auto;border-left:1px solid rgba(215,223,231,.95);background:rgba(255,255,255,.96);padding:20px;box-shadow:-12px 0 34px rgba(31,41,51,.1)}.live-ride-shell.ended{grid-template-columns:minmax(0,1fr)}.live-ride-shell.ended .live-sidebar{position:fixed;top:0;right:0;width:min(388px,calc(100vw - 32px));transform:translateX(calc(100% + 32px));opacity:0;pointer-events:none;transition:transform .42s ease,opacity .24s ease}.live-map-stage{position:relative;min-height:100vh;overflow:hidden;background:#e8f2f4}.live-mapbox-container,.live-mapbox-missing{position:absolute;inset:0}.live-mapbox-missing{display:grid;place-items:center;padding:24px;text-align:center;color:#586270}.mapbox-live-broadcaster{position:absolute;display:grid;width:var(--marker-dot-size,32px);height:var(--marker-dot-size,32px);place-items:center;pointer-events:none}.mapbox-live-fuzzy{position:absolute;top:50%;left:50%;width:var(--fuzzy-size);height:var(--fuzzy-size);border-radius:999px;background:var(--marker-color);opacity:.18;translate:-50% -50%;animation:liveFuzzyPulse 2.4s ease-in-out infinite}.mapbox-live-dot{position:relative;z-index:1;display:grid;width:32px;height:32px;place-items:center;border:4px solid #ffffff;border-radius:999px;background:var(--marker-color);color:#ffffff;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:900;line-height:1;box-shadow:0 8px 18px rgba(15,23,42,.24)}.mapbox-live-broadcaster.organizer .mapbox-live-dot{width:40px;height:40px;border-color:#063348;color:#1f2933;font-size:21px}.mapbox-live-reaction{display:grid;width:38px;height:38px;place-items:center;border:4px solid #ffd400;border-radius:999px;background:#ffffff;color:#1f2933;font-size:16px;font-weight:900;box-shadow:0 10px 20px rgba(15,23,42,.18);animation:liveReactionRise 1.8s ease-out forwards}.live-floating-header{position:absolute;top:16px;left:16px;z-index:10;display:flex;max-width:min(360px,calc(100% - 32px));align-items:center;gap:10px;border:1px solid rgba(215,223,231,.95);border-radius:8px;background:rgba(255,255,255,.96);padding:8px;box-shadow:0 12px 32px rgba(31,41,51,.14);backdrop-filter:blur(14px)}.live-ride-shell.ended .live-floating-header{z-index:32}.live-ride-shell.ended .live-action-cluster,.live-ride-shell.ended .live-broadcaster-legend,.live-ride-shell.ended .live-camera-toggle{display:none}.live-header-copy{display:flex;min-width:0;align-items:center;gap:8px}.live-header-copy h1{font-size:16px;font-weight:850;line-height:1.15}.live-header-copy h1,.live-header-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-header-subtitle{max-width:260px;max-height:20px;color:#586270;font-size:12px;line-height:1.35;opacity:1;animation:liveSubtitleHide 5.6s ease forwards}.live-waiting-banner{position:absolute;top:20px;left:50%;z-index:10;display:flex;width:clamp(320px,34vw,440px);flex-direction:column;gap:4px;transform:translateX(-50%);border:1px solid rgba(255,212,0,.55);border-radius:8px;background:rgba(31,41,51,.94);padding:12px 14px;color:#ffffff;box-shadow:0 12px 32px rgba(31,41,51,.18);backdrop-filter:blur(14px)}.live-waiting-banner strong{color:#ffd400;font-size:13px;font-weight:850;text-transform:uppercase}.live-waiting-banner span{font-size:13px;line-height:1.45}.live-status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:#0f7c80;box-shadow:0 0 0 4px rgba(15,124,128,.14)}.live-icon-button,.live-reaction-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid #d7dfe7;background:rgba(255,255,255,.95);color:#1f2933;font-weight:800}.live-icon-button{width:42px;flex:0 0 auto}.live-schedule-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.live-panel-heading{display:flex;min-height:48px;width:100%;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;padding:0;color:#1f2933;font-weight:800}.live-schedule-heading,.live-schedule-toggle-meta{display:inline-flex;align-items:center;gap:9px}.live-schedule-toggle-meta{color:#586270;font-size:13px}.live-schedule-body{display:grid;gap:12px;padding-top:8px}.live-stop-sequence{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:2px solid #d7dfe7;border-radius:999px;background:transparent;color:#586270;font-size:12px;font-weight:900}.live-stop-sequence.current{border-color:#0f7c80;background:#e8f7f5;color:#0f7c80}.live-stop-sequence.passed{border-color:#d7dfe7;background:#f3f6f8;color:#586270}.live-stops-meta-row{display:flex;justify-content:space-between;gap:10px;color:#586270;font-size:12px;font-weight:800}.live-stops-list{display:grid;gap:1px;border-top:1px solid #e5ebf1;padding-top:6px}.live-stop-list-row{display:flex;min-height:48px;align-items:center;gap:10px;border-radius:8px;color:#1f2933;padding:7px 8px}.live-stop-list-row.passed{color:#586270;opacity:.72}.live-stop-list-row.next{background:#eef9f8}.live-stop-list-name{color:inherit;font-size:13px;font-weight:850}.live-stop-list-detail,.live-stop-list-name{display:block;overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.live-stop-list-detail{margin-top:3px;color:#586270;font-size:11px;font-weight:650}.live-stop-status{display:inline-flex;min-width:64px;min-height:24px;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:#f3f6f8;color:#586270;font-size:11px;font-weight:800}.live-stop-status.next{background:#dff4f2;color:#0f7c80}.live-stop-status.on-time{background:#eef2f5;color:#586270}.live-stop-status.late{background:#fff5d6;color:#8a5c00}.live-reaction-button{flex:0 0 auto;min-width:0;padding:0 12px}.live-toast{position:relative;max-width:min(360px,calc(100vw - 40px));border:1px solid rgba(15,124,128,.25);border-radius:8px;background:#f1fbfa;padding:12px 14px;color:#0f7c80;font-size:14px;font-weight:700}.live-toast.error{border-color:rgba(190,18,60,.24);background:#fff5f7;color:#9f1239;cursor:help}.live-toast.error:focus{outline:none;box-shadow:0 0 0 4px rgba(255,212,0,.45)}.live-toast-summary{display:inline-flex;align-items:center;gap:8px}.live-toast-context{right:0;bottom:calc(100% + 10px);z-index:1;display:grid;width:min(320px,calc(100vw - 40px));gap:5px;border:1px solid rgba(215,223,231,.95);border-radius:8px;padding:12px;color:#1f2933;font-size:13px;font-weight:650;line-height:1.35;box-shadow:0 14px 34px rgba(31,41,51,.18);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;visibility:hidden}.live-toast-context,.live-toast-context:after{position:absolute;background:rgba(255,255,255,.98)}.live-toast-context:after{right:24px;bottom:-6px;width:12px;height:12px;border-right:1px solid rgba(215,223,231,.95);border-bottom:1px solid rgba(215,223,231,.95);content:"";rotate:45deg}.live-toast-context span,.live-toast-context strong{display:block}.live-toast-context strong{color:#9f1239;font-size:12px;font-weight:850;text-transform:uppercase}.live-toast.error:focus .live-toast-context,.live-toast.error:focus-within .live-toast-context,.live-toast.error:hover .live-toast-context{opacity:1;transform:translateY(0);visibility:visible}.live-broadcaster-legend{position:absolute;bottom:20px;left:20px;z-index:10;width:min(348px,calc(100% - 40px));border:1px solid rgba(215,223,231,.95);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(31,41,51,.14);backdrop-filter:blur(14px)}.live-broadcaster-legend.collapsed{width:auto}.live-broadcaster-legend-toggle{display:flex;min-height:44px;width:100%;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;padding:0 14px;color:#1f2933;font-weight:800}.live-riders-summary{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.live-broadcaster-legend-toggle:focus{outline:none;box-shadow:0 0 0 4px rgba(255,212,0,.45)}.live-broadcaster-legend-body{border-top:1px solid #edf1f5;padding:12px 14px 14px}.live-broadcaster-legend-row{display:flex;align-items:center;gap:12px;border-radius:8px;background:#f8fafc;padding:10px;font-size:14px}.live-action-cluster{position:absolute;right:20px;bottom:20px;z-index:10;display:flex;max-width:min(420px,calc(100% - 40px));flex-direction:column;align-items:flex-end;gap:10px}.live-action-row{display:flex;justify-content:flex-end;gap:10px}.live-reaction-menu-actions{display:flex;max-width:100%;gap:10px;overflow-x:auto;border:1px solid rgba(215,223,231,.95);border-radius:8px;background:rgba(255,255,255,.96);padding:10px;box-shadow:0 12px 32px rgba(31,41,51,.14);backdrop-filter:blur(14px)}.live-action-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 16px;font-weight:800;box-shadow:0 12px 28px rgba(31,41,51,.14)}.live-action-button.primary{border:1px solid #0f7c80;background:#0f7c80;color:#ffffff;box-shadow:0 12px 28px rgba(15,124,128,.24)}.live-action-button:disabled{cursor:not-allowed;opacity:.58}.live-action-button.secondary{border:1px solid rgba(215,223,231,.95);background:rgba(255,255,255,.96);color:#1f2933;backdrop-filter:blur(14px)}.live-action-button:focus{outline:none;box-shadow:0 0 0 4px rgba(255,212,0,.45),0 12px 28px rgba(15,124,128,.24)}.live-camera-toggle{position:absolute;top:24px;right:20px;z-index:10;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid rgba(215,223,231,.95);background:rgba(255,255,255,.96);padding:0 14px;color:#1f2933;font-weight:800;box-shadow:0 12px 32px rgba(31,41,51,.14);backdrop-filter:blur(14px)}.live-camera-toggle.active{border-color:#0f7c80;background:#0f7c80;color:#ffffff;width:44px;padding:0}.live-camera-toggle.active .live-camera-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.live-camera-toggle:focus{outline:none;box-shadow:0 0 0 4px rgba(255,212,0,.45),0 12px 32px rgba(31,41,51,.14)}.live-finish-scrim{position:absolute;inset:0;z-index:30;background:rgba(15,23,42,.58);backdrop-filter:saturate(.88) brightness(.82);animation:liveFinishFadeIn .26s ease both}.live-finish-modal{position:absolute;top:50%;left:50%;z-index:31;display:grid;width:min(460px,calc(100% - 32px));gap:12px;transform:translate(-50%,-50%);border:1px solid rgba(255,212,0,.48);border-radius:8px;background:#ffffff;padding:24px;text-align:center;box-shadow:0 26px 70px rgba(15,23,42,.34);animation:liveFinishModalIn .36s ease both}.live-finish-icon{display:grid;width:58px;height:58px;place-items:center;justify-self:center;border-radius:999px;background:#e8f7f5;color:#0f7c80}.live-finish-kicker{color:#0f7c80;font-size:13px;font-weight:900;text-transform:uppercase}.live-finish-modal h2{color:#1f2933;font-size:clamp(24px,4vw,38px);font-weight:900;line-height:1.05}.live-finish-thanks{color:#586270;font-size:16px;font-weight:750}.live-finish-cta{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;justify-self:center;border-radius:8px;background:#0f7c80;padding:0 18px;color:#ffffff;font-weight:850;box-shadow:0 14px 30px rgba(15,124,128,.26)}.live-finish-cta:focus{outline:none;box-shadow:0 0 0 4px rgba(255,212,0,.45),0 14px 30px rgba(15,124,128,.26)}@keyframes liveSubtitleHide{0%,62%{max-height:20px;max-width:260px;opacity:1}to{max-height:0;max-width:0;opacity:0}}@keyframes liveFuzzyPulse{50%{opacity:.27;scale:1.18}}@keyframes liveReactionRise{0%{opacity:0;transform:translateY(12px) scale(.8)}20%{opacity:1}to{opacity:0;transform:translateY(-26px) scale(1.15)}}@keyframes liveFinishFadeIn{0%{opacity:0}}@keyframes liveFinishModalIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.98)}}@media (max-width:900px){.live-ride-shell{grid-template-columns:1fr;grid-template-rows:minmax(72dvh,auto) auto;overflow:auto}.live-sidebar{min-height:auto;max-height:none;border-left:0;border-top:1px solid rgba(215,223,231,.95);padding:12px;box-shadow:0 -12px 28px rgba(31,41,51,.08)}.live-ride-shell.ended{grid-template-rows:minmax(100dvh,auto)}.live-ride-shell.ended .live-sidebar{top:auto;bottom:0;width:100%;transform:translateY(calc(100% + 24px))}.live-map-stage{min-height:72dvh}.live-ride-shell.ended .live-map-stage{min-height:100dvh}.live-floating-header{top:10px;left:10px;gap:10px;max-width:calc(100% - 20px);padding:8px}.live-header-copy h1{font-size:17px;line-height:1.2}.live-header-subtitle{max-width:min(240px,calc(100vw - 112px))}.live-waiting-banner{top:88px;left:10px;min-width:0;width:calc(100% - 20px);transform:none}.live-floating-header .live-icon-button{min-height:40px;width:40px}.live-broadcaster-legend{bottom:80px;left:16px;width:min(348px,calc(100% - 32px))}.live-broadcaster-legend.collapsed{width:min(260px,calc(100% - 32px))}.live-action-cluster{right:16px;bottom:16px;left:16px;max-width:none;align-items:stretch}.live-action-row{width:100%}.live-action-button{flex:1 1 0;padding:0 12px}.live-reaction-menu-actions{width:100%}.live-toast{align-self:flex-end}.live-toast-context{right:auto;left:0;width:min(320px,calc(100vw - 32px))}.live-toast-context:after{right:auto;left:24px}.live-camera-toggle{top:18px;right:10px;min-height:40px;padding:0 12px}.live-schedule-panel{max-height:360px}.live-reaction-button{white-space:nowrap}}@media (prefers-reduced-motion:reduce){.mapbox-live-fuzzy,.mapbox-live-reaction{animation:none}.mapbox-live-broadcaster{transition:none}}