:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172033;font-synthesis:none;--background:#f5f7fb;--surface:#fff;--surface-soft:#eef3fb;--surface-raised:#fffe;--text:#172033;--muted:#667085;--subtle:#8b95a7;--border:#d9e0ec;--border-strong:#b9c5d8;--accent:#3659d9;--accent-strong:#2846b7;--accent-soft:#e7edff;--success:#147a58;--success-soft:#e1f5ed;--hero-start:#edf3ff;--hero-end:#f7f4ff;--map-show-marker:#1b6776;--shadow:0 14px 40px #26385f14;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf2ff;--background:#0d1424;--surface:#151f32;--surface-soft:#1b2840;--surface-raised:#151f32ee;--text:#edf2ff;--muted:#a8b3c7;--subtle:#7f8ca3;--border:#2b3a54;--border-strong:#425473;--accent:#8fa7ff;--accent-strong:#afbeff;--accent-soft:#24345d;--success:#74d7ae;--success-soft:#173d35;--hero-start:#172640;--hero-end:#211c3a;--shadow:0 18px 45px #00000038;background:#0d1424}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--background);margin:0;transition:color .2s,background-color .2s}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}body.modalOpen{overflow:hidden}.shell{min-height:100dvh}.appBar,.eventHeader{z-index:20;min-height:59px;padding:max(.55rem, env(safe-area-inset-top)) max(1rem, calc((100vw - 1100px) / 2));border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-items:center;gap:.75rem;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #2535540a}.brand{align-items:center;gap:.65rem;min-width:0;display:flex}.brand img{width:38px;height:38px;box-shadow:0 5px 14px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:11px}.brand div,.eventHeading{flex-direction:column;min-width:0;display:flex}.brand span{color:var(--muted);font-size:.68rem;line-height:1}.brand strong{letter-spacing:-.02em;margin-top:.15rem;font-size:1.05rem}.headerActions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.iconButton,.themeToggle,.installButton{border:1px solid var(--border);min-height:40px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.iconButton,.themeToggle{flex:none;width:40px;padding:0}.iconButton svg,.themeToggle svg,.installButton svg{width:19px;height:19px}.themeToggle{border-radius:50%;width:34px;min-height:34px}.themeToggle svg{width:18px;height:18px}.themeToggle span{display:none}.installButton{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);padding:0 .7rem;font-size:.78rem;font-weight:750}.eventShell .eventHeader{transition:transform .22s,box-shadow .22s}.eventShell.headerHidden .eventHeader{box-shadow:none;transform:translateY(-100%)}.eventHeading{flex:1}.eventHeading h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.2;overflow:hidden}.eventHeading p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.18rem 0 0;font-size:.7rem;overflow:hidden}main{max-width:1100px;margin:auto}.pickerMain{max-width:760px;padding:1.15rem 1rem 3rem}.eventMain{max-width:900px;padding:.85rem 1rem calc(4.7rem + env(safe-area-inset-bottom))}.pickerIntro{margin-bottom:1rem}.pickerIntro h1{letter-spacing:-.035em;margin:0;font-size:1.45rem}.pickerIntro p{color:var(--muted);margin:.3rem 0 0;font-size:.86rem;line-height:1.45}.notice{border:1px solid var(--border);color:var(--muted);background:var(--surface-soft);border-radius:10px;margin:0 0 .75rem;padding:.55rem .7rem;font-size:.78rem}.eventGrid,.eventLoading{gap:.65rem;display:grid}.loadingLead{color:var(--muted);align-items:center;gap:.7rem;padding:.15rem .2rem .25rem;display:flex}.loadingLead h2{color:var(--text);margin:0;font-size:.9rem}.loadingLead p{margin:.14rem 0 0;font-size:.72rem}.loadingSpinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite loadingSpin}.eventLoadingCard{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-height:68px;padding:.8rem;display:grid}.eventLoadingCard>span{background:var(--surface-soft);border-radius:12px;width:42px;height:42px}.eventLoadingCard>div{gap:.45rem;display:grid}.eventLoadingCard i{background:var(--surface-soft);border-radius:999px;width:min(72%,250px);height:9px;display:block}.eventLoadingCard i:last-child{width:min(48%,170px)}.eventLoadingCard>span,.eventLoadingCard i{background-image:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--accent) 8%, var(--surface)) 48%, transparent 76%);background-size:220% 100%;animation:1.35s ease-in-out infinite loadingShimmer}.eventCard{text-align:left;border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;padding:.8rem;transition:transform .16s,border-color .16s;display:grid;box-shadow:0 5px 18px #26385f0b}.eventCard:hover{border-color:var(--accent);transform:translateY(-1px)}.eventIcon{width:42px;height:42px;color:var(--accent-strong);background:var(--accent-soft);border-radius:12px;flex:none;place-items:center;display:grid}.eventIcon svg{width:20px;height:20px}.eventCardBody{flex-direction:column;min-width:0;display:flex}.eventCardBody small{color:var(--muted);font-size:.7rem}.eventCardBody strong{letter-spacing:-.015em;text-overflow:ellipsis;margin-top:.2rem;font-size:.96rem;line-height:1.25;overflow:hidden}.eventChevron{width:19px;color:var(--subtle)}.programTools{top:calc(64px + env(safe-area-inset-top));z-index:10;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-bottom:.7rem;transition:top .22s;display:grid;position:sticky}.eventShell.headerHidden .programTools{top:.5rem}.programTestClock{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));width:fit-content;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;align-items:center;gap:.4rem;margin:0 0 .55rem;padding:.3rem .55rem;display:flex}.programTestClock>svg{width:14px;height:14px}.programTestClock>span{align-items:baseline;gap:.35rem;display:flex}.programTestClock strong{font-size:.64rem}.programTestClock small{color:var(--muted);font-size:.6rem}.search{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:11px;align-items:center;gap:.6rem;min-width:0;padding:.65rem .72rem;display:flex;box-shadow:0 5px 16px #26385f0a}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.search input{color:var(--text);background:0 0;border:0;outline:0;width:100%}.search input::placeholder{color:var(--subtle)}.filterButton{border:1px solid var(--border);width:44px;color:var(--accent-strong);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;border-radius:11px;place-items:center;display:grid;position:relative;box-shadow:0 5px 16px #26385f0a}.filterButton svg{width:19px}.filterButton span{border:2px solid var(--background);color:#fff;background:var(--accent);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.6rem;font-weight:800;display:grid;position:absolute;top:-5px;right:-4px}.programListSection+.programListSection{margin-top:.7rem}.programListHeading{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.55rem;margin:.1rem 0 .4rem;font-size:.66rem;font-weight:800;display:flex}.programListHeading:before,.programListHeading:after{content:"";background:var(--border);flex:1;height:1px}.programListHeading span{flex:none}.programCatalog{border:1px solid var(--border);background:var(--surface-raised);border-radius:11px;overflow:hidden;box-shadow:0 4px 14px #26385f08}.catalogCard{text-align:left;width:100%;min-height:43px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.38rem .55rem;display:grid}.catalogCard+.catalogCard{border-top:1px solid var(--border)}.catalogCard:hover{background:var(--surface-soft)}.programMapCode{clip-path:polygon(0 0,100% 0,100% 62%,96% 75%,83% 87%,65% 96%,50% 100%,35% 96%,17% 87%,4% 75%,0 62%);color:#fff;background:var(--map-show-marker);letter-spacing:0;flex:none;place-items:center;width:24px;height:30px;padding-bottom:2px;font-size:.62rem;font-weight:850;line-height:1;display:inline-grid}.catalogCard>.programMapCode{width:21px;height:27px;font-size:.57rem}.programMapCodePlaceholder{width:21px}.catalogBody{flex-direction:column;justify-content:center;min-width:0;display:flex;overflow:hidden}.catalogBody>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.55rem;line-height:1.05;overflow:hidden}.catalogTitle{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.74rem;line-height:1.12;overflow:hidden}.catalogTitle span{color:var(--muted);font-weight:550}.catalogTiming{min-width:42px;color:var(--muted);text-align:right;text-transform:capitalize;flex-direction:column;justify-content:center;align-items:flex-end;font-size:.61rem;line-height:1.1;display:flex}.catalogTiming strong{color:var(--text);margin-top:.08rem;font-size:.72rem;font-weight:800}.catalogTiming>strong:only-child{margin-top:0;font-size:.78rem}.catalogTiming.running strong{color:var(--success)}.catalogTiming.running{min-width:62px}.catalogTiming.running span{color:var(--muted);font-size:.55rem}.catalogTiming.lastToday>span{color:#9b5b12;font-weight:750}:root[data-theme=dark] .catalogTiming.lastToday>span{color:#f3bd73}.catalogTiming.finalSession{background:#b33a4b1c;border-radius:7px;min-width:78px;padding:.2rem .3rem}.catalogTiming.finalSession>span{color:#a3293e;font-weight:850}:root[data-theme=dark] .catalogTiming.finalSession>span{color:#ff9aaa}.catalogCard.hidden{box-shadow:none;opacity:.86}.hiddenPrograms{border-top:1px solid var(--border);margin-top:1rem;padding-top:.65rem}.hiddenProgramsToggle{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.55rem .3rem;display:flex}.hiddenProgramsToggle span{align-items:center;gap:.45rem;font-size:.76rem;font-weight:700;display:flex}.hiddenProgramsToggle svg{width:17px;height:17px}.hiddenProgramsToggle strong{min-width:21px;height:21px;color:var(--text);background:var(--surface-soft);border-radius:999px;place-items:center;padding:0 5px;font-size:.65rem;display:grid}.hiddenProgramsToggle>svg{transition:transform .18s}.hiddenProgramsToggle>svg.expanded{transform:rotate(180deg)}.hiddenList{margin-top:.4rem}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.empty h2{color:var(--text);margin:.8rem 0 .35rem}.empty p{max-width:520px;margin:auto;line-height:1.6}.eventEmpty{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:14px}.eventEmpty>svg{color:var(--accent)}.modalBackdrop{z-index:200;padding-top:max(1rem, env(safe-area-inset-top));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b122066;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.programDialog,.filterSheet{border:1px solid var(--border);width:min(100%,680px);max-height:min(92dvh,820px);color:var(--text);background:var(--surface);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;animation:.2s ease-out sheetIn;display:flex;overflow:hidden;box-shadow:0 -16px 55px #0b12203d}.dialogHeader{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem .78rem;display:flex}.dialogHeader>div{min-width:0}.dialogHeader span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:800}.dialogHeader h2{letter-spacing:-.025em;margin:.12rem 0 0;font-size:1.2rem;line-height:1.2}.dialogHeader p{color:var(--muted);margin:.18rem 0 0;font-size:.76rem}.dialogHeader>button{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.dialogHeader>button svg{width:19px}.programDialogHeader{align-items:center;gap:.55rem;padding:.55rem .65rem}.dialogTitleLine{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.dialogTitleLine h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.92rem;line-height:1.2;overflow:hidden}.dialogTitleLine h2 small{color:var(--muted);letter-spacing:0;font-size:.76rem;font-weight:550}.programDialogHeader>button{width:34px;height:34px}.dialogScroll{padding:.85rem 1rem calc(1rem + env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.programArtwork{aspect-ratio:3/2;object-fit:cover;object-position:center;background:var(--surface-soft);border-radius:12px;width:100%;margin:0 0 .75rem;display:block}.programDescription{color:var(--muted);white-space:pre-line;margin:0 0 .75rem;font-size:.8rem;line-height:1.5}.programMeta{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.programMeta span{border:1px solid var(--border);min-height:29px;color:var(--muted);background:var(--surface-soft);border-radius:8px;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.68rem;display:flex}.programMeta svg{width:14px;height:14px}.programMeta .programLocationMeta{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.programLocationMeta svg{flex:none}.preferenceActions{grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:1rem;display:grid}.preferenceActions button{border:1px solid var(--border-strong);min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.4rem;font-size:.68rem;font-weight:750;display:flex}.preferenceActions svg{width:16px;height:16px}.preferenceActions .active.want{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.preferenceActions .active.seen{color:var(--success);border-color:var(--success);background:var(--success-soft)}.preferenceActions .active.reject{color:#a43a3a;background:color-mix(in srgb, #cf7777 14%, var(--surface));border-color:#cf7777}.timelineSection h3{align-items:center;gap:.4rem;margin:0 0 .55rem;font-size:.85rem;display:flex}.timelineSection h3 span{background:var(--surface-soft);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:.62rem;display:grid}.sessionSchedule{gap:.7rem;display:grid}.sessionDay{min-width:0}.sessionDay>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.32rem;padding-bottom:.3rem;display:flex}.sessionDay>header strong{text-transform:capitalize;font-size:.69rem}.sessionDay>header span{color:var(--muted);font-size:.58rem}.sessionSlots{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.32rem;display:grid}.sessionSlot{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;align-items:center;gap:.45rem;min-width:0;min-height:43px;padding:.4rem .48rem;display:flex}.sessionSlot>time{color:var(--accent-strong);flex-direction:column;flex:none;font-size:.82rem;font-weight:850;display:flex}.sessionSlot>time strong{color:var(--success);font-size:.7rem}.sessionSlot>time small{color:var(--muted);font-size:.52rem;font-weight:650}.sessionSlot.running{border-color:color-mix(in srgb, var(--success) 38%, var(--border));background:var(--success-soft)}.sessionSlot.finalSession{border-color:color-mix(in srgb, #c43f55 48%, var(--border))}.sessionSlotDetails{border-left:1px solid var(--border);gap:.16rem;min-width:0;padding-left:.42rem;display:grid}.sessionSlotDetails span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.18rem;font-size:.56rem;line-height:1.2;display:flex;overflow:hidden}.sessionSlotDetails span.lastOpportunity{color:#9b5b12;font-weight:800}:root[data-theme=dark] .sessionSlotDetails span.lastOpportunity{color:#f3bd73}.sessionSlotDetails span.finalOpportunity,.mapProgramTiming small.finalOpportunity{color:#b22e45;font-weight:900}:root[data-theme=dark] .sessionSlotDetails span.finalOpportunity,:root[data-theme=dark] .mapProgramTiming small.finalOpportunity{color:#ff9aaa}.sessionSlotDetails svg{flex:none;width:11px;height:11px}.sessionSlotDetails em{color:#a43a3a;font-size:.56rem;font-style:normal;font-weight:750}.sessionSlot.past{opacity:.7}.noSessions{color:var(--muted);background:var(--surface-soft);border-radius:10px;margin:0;padding:.8rem;font-size:.75rem;line-height:1.45}.sessionArchive{border-top:1px solid var(--border);margin-top:.65rem}.sessionArchive summary{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;padding:.7rem 0;font-size:.73rem;font-weight:750;list-style:none;display:flex}.sessionArchive summary::-webkit-details-marker{display:none}.sessionArchive summary svg{width:16px;height:16px}.sessionArchive summary svg:last-child{margin-left:auto;transition:transform .18s}.sessionArchive[open] summary svg:last-child{transform:rotate(180deg)}.sessionArchive .sessionSchedule{padding-bottom:.45rem}.filterSheet{max-height:min(88dvh,650px)}.filterOptions{gap:.45rem;padding:.8rem 1rem;display:grid;overflow-y:auto}.filterOption{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.filterOption.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft)}.filterIcon{width:34px;height:34px;color:var(--accent-strong);background:var(--surface-soft);border-radius:9px;place-items:center;display:grid}.filterIcon svg{width:17px}.filterOption>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.filterOption strong{font-size:.76rem}.filterOption small{color:var(--muted);margin-top:.16rem;font-size:.66rem;line-height:1.3}.switch{background:var(--border-strong);border-radius:999px;width:34px;height:20px;transition:background .18s;position:relative}.switch i{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0b122033}.filterOption.active .switch{background:var(--accent)}.filterOption.active .switch i{transform:translate(14px)}.clearFilters{min-height:42px;margin:0 1rem calc(.8rem + env(safe-area-inset-bottom));border:1px solid var(--border);color:var(--muted);background:var(--surface-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750;display:flex}.clearFilters svg{width:16px}@keyframes sheetIn{0%{opacity:.6;transform:translateY(18px)}}@keyframes loadingSpin{to{transform:rotate(360deg)}}@keyframes loadingShimmer{0%{background-position:110% 0}to{background-position:-110% 0}}.bottomNav{z-index:30;width:min(100%,680px);padding:.24rem .45rem calc(.24rem + env(safe-area-inset-bottom));border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:0;border-radius:15px 15px 0 0;grid-template-columns:repeat(2,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -7px 24px #17203317}.bottomNav.mapNav{z-index:110}.bottomNav button{min-height:40px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:.32rem;display:flex}.bottomNav button.active{color:var(--accent-strong);background:var(--accent-soft)}.bottomNav svg{width:18px;height:18px}.bottomNav span{font-size:.66rem;font-weight:750}.liveMap{--map-control:#fffffff0;--map-control-border:#ffffffb8;--map-control-text:#24352c;--map-control-muted:#526158;--map-control-active:#dceee7;--map-shadow:#17251f2b;z-index:100;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#dce4de;width:100vw;height:100dvh;position:fixed;inset:0;overflow:hidden}.liveMap[data-theme=dark]{--map-control:#151f32ed;--map-control-border:#425473cc;--map-control-text:#edf2ff;--map-control-muted:#a8b3c7;--map-control-active:#24345d;--map-shadow:#0006;background:#09101c}.liveMap:before{content:"";background:radial-gradient(circle,#edf1e9 0,#cbd5cd 75%);position:absolute;inset:0}.liveMap[data-theme=dark]:before{background:radial-gradient(circle,#1c2b36 0,#08101a 78%)}.liveMapPlane{transform-origin:50%;box-shadow:0 10px 55px var(--map-shadow);will-change:transform;background:#e8ece4;position:absolute;top:50%;left:50%;overflow:hidden}.liveMapPlane>img{image-rendering:auto;pointer-events:none;max-width:none;display:block;position:absolute}.liveMapPlane .mapPlaceholder{color:#5e6d65;place-items:center;width:100%;height:100%;display:grid}.liveMapTop{z-index:4;left:max(.65rem, env(safe-area-inset-left));top:max(.65rem, env(safe-area-inset-top));pointer-events:none;align-items:center;display:flex;position:absolute}.liveMapTheme{z-index:4;right:max(1rem,50vw - 550px);top:max(.75rem, calc(env(safe-area-inset-top) + .1875rem));pointer-events:none;position:absolute}.liveMapTop>*,.liveMapTheme>*,.mapControlRail,.gpsStatus{pointer-events:auto}.mapRoundButton{border:1px solid var(--map-control-border);width:34px;height:34px;color:var(--map-control-text);background:var(--map-control);box-shadow:0 5px 16px var(--map-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.mapRoundButton svg{width:18px;height:18px}.gpsStatus{z-index:4;top:max(.65rem, env(safe-area-inset-top));border:1px solid var(--map-control-border);max-width:calc(100vw - 6.5rem);min-height:34px;color:var(--map-control-text);background:var(--map-control);box-shadow:0 5px 16px var(--map-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;border-radius:999px;align-items:center;gap:.34rem;padding:.25rem .52rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.gpsDot{background:#9d6718;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #d59a3b24}.gpsDot.active{background:#16865f;box-shadow:0 0 0 3px #16865f24}.gpsDot.denied,.gpsDot.unavailable,.gpsDot.timeout,.gpsDot.unsupported{background:#b93e3e;box-shadow:0 0 0 3px #b93e3e24}.mapControlRail{z-index:4;right:max(.5rem, env(safe-area-inset-right));top:max(3.75rem, calc(env(safe-area-inset-top) + 3.25rem));flex-direction:column;gap:.42rem;max-height:calc(100dvh - 4.5rem);display:flex;position:absolute}.mapControlGroup{border:1px solid var(--map-control-border);background:var(--map-control);box-shadow:0 4px 13px var(--map-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.mapControlGroup button{width:34px;min-height:34px;color:var(--map-control-text);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;place-items:center;display:grid}.mapControlGroup button svg{width:17px;height:17px}.mapControlGroup button+button{border-top:1px solid var(--map-control-border)}.mapControlGroup button.active:not(.primary),.mapControlGroup button.demoPosition{background:var(--map-control-active)}.mapControlGroup button.primary,.mapControlGroup button.gpsAction{color:#fff;background:#315f54}.mapControlGroup button.active.primary{background:#174f41;box-shadow:inset 0 0 0 2px #ffffff38}.mapControlHint{border:1px solid var(--map-control-border);width:max-content;max-width:min(70vw,230px);color:var(--map-control-text);background:var(--map-control);box-shadow:0 4px 13px var(--map-shadow);pointer-events:none;border-radius:8px;padding:.38rem .55rem;font-size:.68rem;font-weight:700;position:absolute;top:50%;right:calc(100% + .5rem);transform:translateY(-50%)}.mapProgramPanel{z-index:5;left:50%;bottom:calc(3.25rem + env(safe-area-inset-bottom));border:1px solid var(--border);width:min(100% - 1rem,560px);color:var(--text);background:color-mix(in srgb, var(--surface) 95%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);touch-action:pan-y;border-radius:14px;position:absolute;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 28px #1720332b}.mapProgramPanelToggle{text-align:left;width:100%;min-height:42px;color:var(--text);cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.38rem .65rem;display:grid}.mapProgramPanelToggle>svg:first-child{width:17px;color:var(--accent-strong)}.mapProgramPanelToggle>svg:last-child{width:17px;color:var(--muted);transition:transform .18s}.mapProgramPanel.expanded .mapProgramPanelToggle>svg:last-child{transform:rotate(180deg)}.mapProgramPanelToggle span{align-items:baseline;gap:.45rem;min-width:0;display:flex}.mapProgramPanelToggle strong{font-size:.76rem}.mapProgramPanelToggle small{color:var(--muted);font-size:.6rem}.mapProgramList{border-top:1px solid var(--border);overscroll-behavior:contain;max-height:min(34dvh,210px);overflow-y:auto}.mapProgramList>p{color:var(--muted);text-align:center;margin:0;padding:.8rem;font-size:.7rem}.mapProgramRow{text-align:left;width:100%;min-height:47px;color:var(--text);cursor:pointer;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.48rem;padding:.38rem .58rem;display:grid}.mapProgramRow+.mapProgramRow{border-top:1px solid var(--border)}.mapProgramRow:active{background:var(--surface-soft)}.mapProgramRow>.programMapCode{width:21px;height:27px;font-size:.57rem}.mapProgramBody{gap:.18rem;min-width:0;display:grid}.mapProgramBody strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.15;overflow:hidden}.mapProgramBody strong i{color:var(--muted);font-style:normal;font-weight:550}.mapProgramBody small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.2rem;font-size:.57rem;display:flex;overflow:hidden}.mapProgramBody small svg{flex:none;width:11px;height:11px}.mapProgramTiming{text-align:right;justify-items:end;gap:.15rem;min-width:78px;display:grid}.mapProgramTiming time{text-transform:capitalize;font-size:.65rem;font-weight:800}.mapProgramTiming small{color:var(--muted);font-size:.54rem}.mapProgramTiming small.running{color:var(--success);font-weight:800}.userPosition{z-index:3;width:0;height:0;position:absolute;transform:translate(-50%,-50%)}.accuracyRing{--accuracy-size:40px;width:var(--accuracy-size);height:var(--accuracy-size);background:#3382ec24;border:1px solid #256cdb99;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.userArrow{transform-origin:50%;color:#1769d3;background:#eaf3ff;border:3px solid #fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 4px 13px #102c5366}.userArrow svg{transform:rotate(-45deg)}.userPosition.outside .userArrow{color:#a34e28;background:#fff0e7}.liveMap.unavailable{background:var(--background);place-items:center;padding:1.25rem;display:grid}.liveMap.unavailable:before{display:none}.liveMap.unavailable .mapBack{left:max(1rem, env(safe-area-inset-left));top:max(1rem, env(safe-area-inset-top));color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;display:flex;position:absolute}.mapEmpty{text-align:center;max-width:430px;color:var(--muted);position:relative}.mapEmpty svg{color:var(--accent)}.mapEmpty h1{color:var(--text);margin:1rem 0 .5rem;font-size:1.6rem}.mapEmpty p{margin:0;line-height:1.55}@media (width<=680px){.appBar,.eventHeader{padding-right:max(.5rem, env(safe-area-inset-right));padding-left:.75rem}.liveMapTheme{right:max(.5rem, env(safe-area-inset-right))}.installButton span{display:none}.installButton{width:40px;padding:0}.pickerMain{padding-top:.9rem}.pickerIntro h1{font-size:1.25rem}}@media (display-mode:standalone){.pwaBack{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.loadingSpinner,.eventLoadingCard>span,.eventLoadingCard i{animation:none}}
