.membership-picker[data-v-955b8660]{position:relative;display:inline-flex;align-items:center;min-height:2.4rem}.membership-picker__hint[data-v-955b8660]{margin:0;font-size:.85rem;opacity:.78;padding:.45rem .6rem;line-height:1.3}.membership-picker__label[data-v-955b8660]{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.88rem;font-weight:600;white-space:nowrap}[data-theme=light] .membership-picker__label[data-v-955b8660]{background:#7c3aed1f;border-color:#7c3aed4d}.membership-picker__trigger[data-v-955b8660]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;min-height:2.75rem;background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:inherit;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .14s ease,border-color .14s ease}.membership-picker__trigger[data-v-955b8660]:hover,.membership-picker__trigger[aria-expanded=true][data-v-955b8660]{background:#ffffff3d;border-color:#ffffff73}[data-theme=light] .membership-picker__trigger[data-v-955b8660]{background:#7c3aed1f;border-color:#7c3aed4d}[data-theme=light] .membership-picker__trigger[data-v-955b8660]:hover,[data-theme=light] .membership-picker__trigger[aria-expanded=true][data-v-955b8660]{background:#7c3aed38;border-color:#7c3aed8c}.membership-picker__caret[data-v-955b8660]{font-size:.7rem;opacity:.85}.membership-picker__current[data-v-955b8660]{overflow:hidden;text-overflow:ellipsis;max-width:18rem}.membership-picker__dropdown[data-v-955b8660]{position:absolute;top:calc(100% + .4rem);right:0;min-width:16rem;max-width:calc(100vw - 1.5rem);list-style:none;margin:0;padding:.3rem;background:var(--color-bg-surface, #1a0b2e);color:var(--color-text-primary, #f4f0e8);border:1px solid color-mix(in srgb,var(--color-brand-primary, #7c3aed) 35%,transparent);border-radius:10px;box-shadow:0 8px 24px #0006;z-index:40}[data-theme=light] .membership-picker__dropdown[data-v-955b8660]{background:#fff;color:#1a0b2e;box-shadow:0 6px 18px #7c3aed2e}.membership-picker__item[data-v-955b8660]{display:flex;align-items:center;gap:.4rem;padding:.7rem .75rem;border-radius:6px;cursor:pointer;font-size:.92rem;transition:background-color .12s ease}.membership-picker__item[data-v-955b8660]:hover,.membership-picker__item--active[data-v-955b8660]{background:color-mix(in srgb,var(--color-brand-primary, #7c3aed) 22%,transparent)}.membership-picker__item--active[data-v-955b8660]{font-weight:700}.membership-picker__item-sep[data-v-955b8660]{opacity:.55}.membership-picker__role-tag[data-v-955b8660]{margin-left:auto;font-size:.7rem;padding:.1rem .45rem;border-radius:4px;background:color-mix(in srgb,var(--color-brand-primary, #7c3aed) 30%,transparent);letter-spacing:.04em;text-transform:uppercase}@media (max-width: 640px){.membership-picker[data-v-955b8660]{flex:0 1 auto;min-width:0;max-width:clamp(8rem,55%,16rem)}.membership-picker__trigger[data-v-955b8660],.membership-picker__label[data-v-955b8660]{width:100%;justify-content:space-between}.membership-picker__current[data-v-955b8660]{max-width:none;flex:1;min-width:0}.membership-picker__dropdown[data-v-955b8660]{right:0;left:auto;min-width:14rem;max-width:calc(100vw - 1.5rem)}}.brand-lockup[data-v-7278e6e6]{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--color-text-primary);flex-shrink:0;transition:opacity .16s ease}.brand-lockup[data-v-7278e6e6]:hover{opacity:.85}.brand-lockup__icon[data-v-7278e6e6]{width:32px;height:32px;border-radius:.5rem;display:block;flex-shrink:0}.brand-lockup__name[data-v-7278e6e6]{font-family:Bricolage Grotesque Variable,Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-variation-settings:"wdth" 88;font-size:1.05rem;font-weight:700;letter-spacing:-.015em;white-space:nowrap;color:inherit}@media (max-width: 480px){.brand-lockup__name[data-v-7278e6e6]{font-size:.95rem}}@media (max-width: 419px){.brand-lockup__name[data-v-7278e6e6]{display:none}}.inbox-badge-wrap[data-v-0465a98c]{position:relative;display:inline-flex;flex-shrink:0}.inbox-bell[data-v-0465a98c]{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border:none;border-radius:50%;background:transparent;color:var(--color-text-primary);cursor:pointer}.inbox-bell[data-v-0465a98c]:hover{background:color-mix(in srgb,var(--color-brand-primary) 12%,transparent);color:var(--color-brand-primary)}.inbox-bell[data-v-0465a98c]:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.inbox-bell--unread svg[data-v-0465a98c]{animation:bell-ring-0465a98c 2.4s ease-in-out 2;transform-origin:50% 4px}@keyframes bell-ring-0465a98c{0%,60%,to{transform:rotate(0)}5%{transform:rotate(12deg)}10%{transform:rotate(-10deg)}15%{transform:rotate(7deg)}20%{transform:rotate(-5deg)}25%{transform:rotate(0)}}.inbox-count[data-v-0465a98c]{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:var(--color-danger);color:#fff;font-size:.62rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px var(--color-bg-base)}.site-header[data-v-fb1d7690]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem .9rem;padding-top:calc(.8rem + env(safe-area-inset-top,0));padding-right:calc(1rem + env(safe-area-inset-right,0));padding-left:calc(1rem + env(safe-area-inset-left,0));background:#0f0a1ed9;border-bottom:1px solid rgba(124,58,237,.2);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);color:#fff;position:sticky;top:0;z-index:30}@media (max-width: 640px){.site-header[data-v-fb1d7690]{gap:.35rem;padding-left:calc(.6rem + env(safe-area-inset-left,0));padding-right:calc(.6rem + env(safe-area-inset-right,0))}}[data-theme=light] .site-header[data-v-fb1d7690]{background:#ffffffeb;border-bottom:1px solid rgba(124,58,237,.15);color:var(--color-ink);box-shadow:0 1px 6px #7c3aed14}.site-header__tools[data-v-fb1d7690]{position:relative;display:flex;align-items:center;gap:.3rem;flex-shrink:0}.dashboard-btn[data-v-fb1d7690]{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem .4rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff26;color:inherit;text-decoration:none;font-size:.88rem;font-weight:600;letter-spacing:.01em;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color .14s ease,border-color .14s ease;min-height:2.4rem}.dashboard-btn[data-v-fb1d7690]:hover{background:#ffffff47;border-color:#ffffff80}[data-theme=light] .dashboard-btn[data-v-fb1d7690]{background:#ffffff80;border-color:#7c3aed4d}[data-theme=light] .dashboard-btn[data-v-fb1d7690]:hover{background:#fffc;border-color:#7c3aed99}.dashboard-btn__label[data-v-fb1d7690]{white-space:nowrap}@media (max-width: 420px){.dashboard-btn__label[data-v-fb1d7690]{display:none}.dashboard-btn[data-v-fb1d7690]{padding:.4rem .55rem}}.site-header__club-logo-slot[data-v-fb1d7690]{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none;transition:opacity .16s ease}.site-header__club-logo-slot[data-v-fb1d7690]:hover{opacity:.85}.site-header__club-logo[data-v-fb1d7690]{height:36px;width:auto;max-width:180px;object-fit:contain;display:block}@media (max-width: 640px){.site-header__club-logo-slot[data-v-fb1d7690]{display:none}}.site-header__club-name[data-v-fb1d7690]{font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}@media (max-width: 480px){.site-header__club-name[data-v-fb1d7690]{max-width:8rem;font-size:.92rem}}.club-pill[data-v-fb1d7690]{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:inherit;font-size:.85rem;font-weight:700;letter-spacing:.04em;cursor:pointer;margin-left:auto;margin-right:.4rem;min-height:2.4rem;transition:background-color .14s ease,border-color .14s ease,transform .12s ease}.club-pill[data-v-fb1d7690]:hover:not(.club-pill--disabled){background:#ffffff38;border-color:#ffffff73}.club-pill[data-v-fb1d7690]:active:not(.club-pill--disabled){transform:scale(.97)}.club-pill--disabled[data-v-fb1d7690]{opacity:.5;cursor:not-allowed}.club-pill__logo[data-v-fb1d7690]{width:22px;height:22px;border-radius:50%;object-fit:cover}.club-pill__short[data-v-fb1d7690]{white-space:nowrap;text-transform:uppercase;font-variant-numeric:tabular-nums}[data-theme=light] .club-pill[data-v-fb1d7690]{background:#7c3aed24;border-color:#7c3aed4d}[data-theme=light] .club-pill[data-v-fb1d7690]:hover:not(.club-pill--disabled){background:#7c3aed3d;border-color:#7c3aed8c}@media (max-width: 420px){.club-pill[data-v-fb1d7690]{padding:.3rem .6rem;font-size:.78rem;gap:.35rem}.club-pill__logo[data-v-fb1d7690]{width:18px;height:18px}}.hamburger-menu__section-label[data-v-fb1d7690]{padding:.4rem .85rem .2rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6}.hamburger-menu__item--active[data-v-fb1d7690]{background:color-mix(in srgb,var(--color-club-brand, #7c3aed) 14%,transparent);font-weight:600}.hamburger-menu__item[data-v-fb1d7690]:disabled{opacity:.5;cursor:not-allowed}.hamburger-btn[data-v-fb1d7690]{font:inherit;padding:.4rem;border-radius:var(--radius-sm, 6px);border:1px solid rgba(255,255,255,.25);background:#ffffff26;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color .14s ease,border-color .14s ease}.hamburger-btn[data-v-fb1d7690]:hover,.hamburger-btn[aria-expanded=true][data-v-fb1d7690]{background:#ffffff47;border-color:#ffffff80}[data-theme=light] .hamburger-btn[data-v-fb1d7690]{background:#ffffff80;border-color:#7c3aed4d}[data-theme=light] .hamburger-btn[data-v-fb1d7690]:hover,[data-theme=light] .hamburger-btn[aria-expanded=true][data-v-fb1d7690]{background:#fffc;border-color:#7c3aed99}.hamburger-menu[data-v-fb1d7690]{position:absolute;top:calc(100% + .5rem);right:0;min-width:14rem;max-width:calc(100vw - 1.5rem);background:var(--color-bg-surface, #1a0b2e);color:var(--color-text-primary, #f4f0e8);border:1px solid color-mix(in srgb,var(--color-brand-primary, #7c3aed) 35%,transparent);border-radius:10px;box-shadow:0 8px 24px #00000073;padding:.4rem;display:flex;flex-direction:column;gap:.1rem;z-index:40}[data-theme=light] .hamburger-menu[data-v-fb1d7690]{background:#fff;color:#1a0b2e;box-shadow:0 6px 18px #7c3aed2e}.hamburger-menu__item[data-v-fb1d7690]{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;background:transparent;border:0;border-radius:6px;color:inherit;font:inherit;font-size:.92rem;text-align:left;cursor:pointer;width:100%;transition:background-color .12s ease}.hamburger-menu__item[data-v-fb1d7690]:hover,.hamburger-menu__item[data-v-fb1d7690]:focus-visible{background:color-mix(in srgb,var(--color-brand-primary, #7c3aed) 22%,transparent);outline:none}.hamburger-menu__icon[data-v-fb1d7690]{display:inline-flex;width:1.4rem;font-size:1rem;flex-shrink:0;justify-content:center}.hamburger-menu__label[data-v-fb1d7690]{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger-menu__divider[data-v-fb1d7690]{border:0;border-top:1px solid color-mix(in srgb,var(--color-text-primary, #f4f0e8) 14%,transparent);margin:.25rem 0}.bottom-nav[data-v-90f645a6]{display:none}@media (pointer: coarse),(max-width: 768px){.bottom-nav[data-v-90f645a6]{display:block;position:fixed;left:0;right:0;bottom:0;z-index:35;background:color-mix(in srgb,var(--color-bg-base) 94%,transparent);border-top:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-bottom:env(safe-area-inset-bottom,0)}[data-v-90f645a6]:root{--bottom-nav-height: 72px}}.bottom-nav__list[data-v-90f645a6]{list-style:none;margin:0;padding:.2rem .35rem .25rem;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.15rem}.bottom-nav__cell[data-v-90f645a6]{min-width:0;display:flex}.bottom-nav__btn[data-v-90f645a6]{width:100%;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;padding:.35rem .25rem;border:0;background:transparent;color:color-mix(in srgb,var(--color-text-primary) 78%,transparent);text-decoration:none;font:inherit;font-size:.7rem;letter-spacing:.02em;cursor:pointer;border-radius:10px;transition:background-color .14s ease,color .14s ease}.bottom-nav__btn[data-v-90f645a6]:hover{background:color-mix(in srgb,var(--color-brand-primary) 10%,transparent);color:var(--color-text-primary)}.bottom-nav__btn[data-v-90f645a6]:focus-visible{background:color-mix(in srgb,var(--color-brand-primary) 10%,transparent);color:var(--color-text-primary);outline:2px solid var(--color-brand-primary);outline-offset:-2px}.bottom-nav__btn--active[data-v-90f645a6]{color:var(--color-brand-primary);background:color-mix(in srgb,var(--color-brand-primary) 14%,transparent);font-weight:600}.bottom-nav__btn--logout[data-v-90f645a6]{color:var(--color-text-secondary, color-mix(in srgb, var(--color-text-primary) 78%, transparent))}.bottom-nav__btn--logout[data-v-90f645a6]:hover{color:#ef4444;background:color-mix(in srgb,#ef4444 10%,transparent)}.bottom-nav__icon[data-v-90f645a6]{display:inline-flex;align-items:center;justify-content:center;line-height:0}.bottom-nav__icon svg[data-v-90f645a6]{width:24px;height:24px;display:block}.bottom-nav__btn--active .bottom-nav__icon svg[data-v-90f645a6]{stroke-width:2.2}.bottom-nav__label[data-v-90f645a6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.desktop-sidebar[data-v-cceb8e50]{position:sticky;top:0;align-self:stretch;max-height:100svh;width:240px;flex-shrink:0;background:color-mix(in srgb,var(--color-bg-base) 92%,var(--color-brand-primary, #a855f7) 8%);border-right:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);display:flex;flex-direction:column;padding:.6rem .45rem .7rem;gap:.5rem;overflow-y:auto;transition:width .16s ease;z-index:20}.desktop-sidebar--collapsed[data-v-cceb8e50]{width:56px}.desktop-sidebar__collapse-btn[data-v-cceb8e50]{flex-shrink:0;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--color-text-primary) 14%,transparent);border-radius:6px;background:transparent;color:inherit;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center}.desktop-sidebar__collapse-btn[data-v-cceb8e50]:hover{background:color-mix(in srgb,var(--color-brand-primary, #a855f7) 18%,transparent)}.desktop-sidebar__collapse-icon[data-v-cceb8e50]{display:inline-flex;transition:transform .16s ease}.desktop-sidebar__collapse-icon svg[data-v-cceb8e50]{width:16px;height:16px;display:block}.desktop-sidebar__collapse-icon--flip[data-v-cceb8e50]{transform:rotate(180deg)}.desktop-sidebar__section-head[data-v-cceb8e50]{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.desktop-sidebar--collapsed .desktop-sidebar__section-head[data-v-cceb8e50]{justify-content:center}.desktop-sidebar__nav[data-v-cceb8e50]{flex:1 1 auto;display:flex;flex-direction:column;gap:.3rem}.desktop-sidebar__section[data-v-cceb8e50]{display:flex;flex-direction:column;gap:.1rem}.desktop-sidebar__section-label[data-v-cceb8e50],.desktop-sidebar__section-toggle[data-v-cceb8e50]{padding:.25rem .55rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;opacity:.55}.desktop-sidebar__section-toggle[data-v-cceb8e50]{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;border:0;background:transparent;color:inherit;font:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;cursor:pointer;border-radius:6px;transition:background-color .12s ease,opacity .12s ease}.desktop-sidebar__section-toggle[data-v-cceb8e50]:hover,.desktop-sidebar__section-toggle[data-v-cceb8e50]:focus-visible{background:color-mix(in srgb,var(--color-text-primary) 6%,transparent);opacity:.85;outline:none}.desktop-sidebar__section-label-text[data-v-cceb8e50]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-sidebar__section-chevron[data-v-cceb8e50]{display:inline-flex;flex-shrink:0;transition:transform .15s ease}.desktop-sidebar__section-chevron svg[data-v-cceb8e50]{width:14px;height:14px;display:block}.desktop-sidebar__section-chevron--open[data-v-cceb8e50]{transform:rotate(90deg)}.desktop-sidebar__list[data-v-cceb8e50]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.08rem}.desktop-sidebar__item[data-v-cceb8e50]{display:flex;align-items:center;gap:.55rem;width:100%;padding:.34rem .6rem;border-radius:8px;border:0;background:transparent;color:inherit;font:inherit;font-size:.88rem;font-weight:500;text-align:left;cursor:pointer;transition:background-color .12s ease}.desktop-sidebar__item[data-v-cceb8e50]:hover,.desktop-sidebar__item[data-v-cceb8e50]:focus-visible{background:color-mix(in srgb,var(--color-brand-primary, #a855f7) 18%,transparent);outline:none}.desktop-sidebar__item--active[data-v-cceb8e50]{background:color-mix(in srgb,var(--color-brand-primary, #a855f7) 26%,transparent);font-weight:700}.desktop-sidebar__icon[data-v-cceb8e50]{display:inline-flex;width:1.25rem;flex-shrink:0;justify-content:center;color:color-mix(in srgb,var(--color-text-primary) 82%,transparent)}.desktop-sidebar__icon svg[data-v-cceb8e50]{width:18px;height:18px;display:block}.desktop-sidebar__item--active .desktop-sidebar__icon[data-v-cceb8e50]{color:var(--color-brand-primary, #a855f7)}.desktop-sidebar__item--active .desktop-sidebar__icon svg[data-v-cceb8e50]{stroke-width:2.2}.desktop-sidebar__label[data-v-cceb8e50]{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-sidebar__tools[data-v-cceb8e50]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.25rem;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.desktop-sidebar__item--tool[data-v-cceb8e50]{width:auto;flex:0 0 auto;padding:.4rem;justify-content:center;opacity:.92}.desktop-sidebar__item--tool .desktop-sidebar__icon[data-v-cceb8e50]{width:auto}.desktop-sidebar__item--logout .desktop-sidebar__icon[data-v-cceb8e50]{color:color-mix(in srgb,var(--color-text-primary) 70%,transparent)}.desktop-sidebar__item--logout[data-v-cceb8e50]:hover,.desktop-sidebar__item--logout[data-v-cceb8e50]:focus-visible{background:color-mix(in srgb,#ef4444 12%,transparent)}.desktop-sidebar__item--logout:hover .desktop-sidebar__icon[data-v-cceb8e50],.desktop-sidebar__item--logout:focus-visible .desktop-sidebar__icon[data-v-cceb8e50]{color:#ef4444}.desktop-sidebar__badge[data-v-cceb8e50]{flex-shrink:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:var(--color-brand-primary, #7c3aed);color:#fff;font-size:.62rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-bg-base) 80%,transparent)}[data-theme=light] .desktop-sidebar[data-v-cceb8e50]{background:color-mix(in srgb,#ffffff 88%,#c4b5fd 12%);border-right-color:#7c3aed2e}.app-layout{display:flex;flex-direction:column;min-height:100svh}.app-layout__shell{display:flex;flex-direction:row;flex:1;min-height:0}.app-layout__body{display:flex;flex-direction:column;flex:1;min-width:0}@media (pointer: coarse),(max-width: 768px){.app-layout__body--with-nav{padding-bottom:calc(var(--bottom-nav-height, 72px) + env(safe-area-inset-bottom,0))}.app-layout[data-layout=legal] .app-layout__body{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}}.app-layout[data-layout=runner]{padding-top:env(safe-area-inset-top,0)}.app-layout__landing-footer{padding:1.1rem 1rem calc(1.1rem + env(safe-area-inset-bottom,0));display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;font-size:.88rem;color:color-mix(in srgb,var(--color-ink, #f4f0e8) 78%,transparent);border-top:1px solid color-mix(in srgb,var(--color-ink, #f4f0e8) 12%,transparent)}.app-layout__landing-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;padding:.4rem .3rem;border-radius:4px;min-height:2.5rem;display:inline-flex;align-items:center;font-weight:500}.app-layout__landing-link:hover,.app-layout__landing-link:focus-visible{color:var(--color-brand-primary, #7c3aed);text-decoration-color:var(--color-brand-primary, #7c3aed);outline:none}.app-layout__landing-sep{color:color-mix(in srgb,var(--color-ink, #f4f0e8) 45%,transparent)}.app-layout__landing-copy{font-size:.85rem;opacity:.85}.app-layout__legal{padding:1.2rem 1rem calc(.9rem + env(safe-area-inset-bottom,0));display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .7rem;font-size:.9rem;line-height:1.4;color:color-mix(in srgb,var(--color-ink, #f4f0e8) 78%,transparent)}.app-layout__legal-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;padding:.35rem .1rem;border-radius:4px}.app-layout__legal-link:hover,.app-layout__legal-link:focus-visible{color:var(--color-brand-primary, #7c3aed);text-decoration-color:var(--color-brand-primary, #7c3aed);outline:none}.app-layout__sep{color:color-mix(in srgb,var(--color-ink, #f4f0e8) 45%,transparent)}.app-layout__build,.app-layout__version-only{flex-basis:100%;text-align:center;margin-top:.15rem;font-size:.78rem;color:color-mix(in srgb,var(--color-ink, #f4f0e8) 60%,transparent);font-variant-numeric:tabular-nums}.app-layout__version-only{display:block;padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom,0))}.app-layout[data-layout=splash] .app-layout__version-only{position:absolute;left:0;right:0;bottom:0;padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom,0));pointer-events:none;z-index:3}.app-layout[data-layout=splash] .app-layout__version-only{color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 6px rgba(0,0,0,.45);font-weight:600}[data-theme=light] .app-layout[data-layout=splash] .app-layout__version-only{color:#0f0f14f2;text-shadow:0 0 1px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.45),0 0 4px rgba(255,255,255,.98),0 0 8px rgba(255,255,255,.7)}.mobile-hint-toast[data-v-30a5584b]{position:fixed;bottom:calc(1.25rem + env(safe-area-inset-bottom,0));right:1.25rem;z-index:9000;max-width:22rem;display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--color-bg-canvas, #1a0b2e) 92%,transparent);color:var(--color-ink, #f4f0e8);border:1px solid color-mix(in srgb,var(--color-brand-primary, #7c3aed) 45%,transparent);border-radius:12px;box-shadow:0 12px 32px #00000052,0 0 0 1px #7c3aed14;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}[data-theme=light] .mobile-hint-toast[data-v-30a5584b]{background:#fffffff5;color:var(--color-ink);border-color:color-mix(in srgb,var(--color-brand-primary, #7c3aed) 35%,transparent);box-shadow:0 8px 24px #0000001f,0 0 0 1px #7c3aed0f}.mobile-hint-toast__icon[data-v-30a5584b]{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--color-brand-primary, #7c3aed) 15%,transparent);color:var(--color-brand-primary, #7c3aed)}.mobile-hint-toast__body[data-v-30a5584b]{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.mobile-hint-toast__title[data-v-30a5584b]{font-size:.85rem;font-weight:700;letter-spacing:.01em}.mobile-hint-toast__text[data-v-30a5584b]{font-size:.85rem;line-height:1.4;opacity:.92}.mobile-hint-toast__close[data-v-30a5584b]{flex-shrink:0;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:8px;color:inherit;opacity:.6;cursor:pointer;transition:opacity .16s ease,background .16s ease}.mobile-hint-toast__close[data-v-30a5584b]:hover,.mobile-hint-toast__close[data-v-30a5584b]:focus-visible{opacity:1;background:color-mix(in srgb,var(--color-ink, #f4f0e8) 8%,transparent);outline:none}@media (max-width: 480px){.mobile-hint-toast[data-v-30a5584b]{bottom:calc(.75rem + env(safe-area-inset-bottom,0));right:.75rem;left:.75rem;max-width:none}}.toast-fade-enter-active[data-v-30a5584b],.toast-fade-leave-active[data-v-30a5584b]{transition:opacity .22s ease,transform .22s ease}.toast-fade-enter-from[data-v-30a5584b],.toast-fade-leave-to[data-v-30a5584b]{opacity:0;transform:translateY(8px)}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-vietnamese-wdth-normal-BKE08zty.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-ext-wdth-normal-DoS1gVTC.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-wdth-normal-Dtb2a5nO.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-italic-BHALq22K.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-italic-B8-t4Nou.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-italic-D2JnYqd-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.dt-wrap{max-width:var(--dt-max-width, 1150px)}.dt-toolbar{display:flex;align-items:end;gap:.85rem;flex-wrap:wrap;margin:0 0 .85rem;padding:.55rem .7rem;background:color-mix(in srgb,var(--color-text-primary) 4%,transparent);border-radius:var(--radius-sm)}.dt-toolbar__search{display:flex;flex-direction:column;gap:.25rem;flex:1 1 14rem;min-width:0}.dt-toolbar__label{font-size:.78rem;opacity:.75}.dt-toolbar__input{font:inherit;font-size:.92rem;padding:.45rem .6rem;min-height:2.4rem;border:1px solid color-mix(in srgb,var(--color-text-primary) 22%,transparent);border-radius:var(--radius-sm);background:var(--color-bg-base);color:var(--color-text-primary)}.dt-toolbar__input:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-primary) 24%,transparent)}.dt-toolbar__spacer{flex:1 1 0;min-width:.5rem}.dt-toolbar__count{font-size:.82rem;opacity:.72;font-variant-numeric:tabular-nums;padding-bottom:.55rem;white-space:nowrap}.dt-toolbar__actions{display:inline-flex;gap:.4rem;align-items:center;padding-bottom:.2rem}.dt-btn{font:inherit;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;min-height:2.2rem;border:1px solid color-mix(in srgb,var(--color-text-primary) 18%,transparent);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary)}.dt-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand-primary) 10%,var(--color-bg-surface));border-color:color-mix(in srgb,var(--color-brand-primary) 35%,transparent)}.dt-btn:disabled{opacity:.5;cursor:not-allowed}.dt-colpicker{position:relative}.dt-colpicker__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:12rem;padding:.35rem;background:var(--color-bg-surface);border:1px solid color-mix(in srgb,var(--color-text-primary) 16%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.1rem}.dt-colpicker__item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.dt-colpicker__item:hover{background:color-mix(in srgb,var(--color-text-primary) 6%,transparent)}.dt-scroll{width:100%;overflow-x:auto;border:1px solid color-mix(in srgb,var(--color-text-primary) 14%,transparent);border-radius:var(--radius-sm);background:var(--color-bg-surface)}.dt-table{width:100%;min-width:880px;border-collapse:collapse;table-layout:fixed;font-size:.825rem;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.dt-table thead th{text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--color-text-primary) 62%,transparent);padding:.32rem .55rem;border-right:1px solid color-mix(in srgb,var(--color-text-primary) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 22%,transparent);background:color-mix(in srgb,var(--color-bg-surface) 96%,var(--color-brand-primary) 4%);white-space:nowrap;user-select:none}.dt-table--sticky thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px color-mix(in srgb,var(--color-brand-primary) 18%,transparent),0 4px 6px -4px #0000001f}.dt-table thead th:last-child{border-right:0}.dt-th--sortable{cursor:pointer}.dt-th--sortable:hover{color:var(--color-brand-primary)}.dt-th--right{text-align:right}.dt-th--center{text-align:center}.dt-th__sort{margin-left:.25rem;opacity:.45;font-size:.85em}.dt-th--sorted .dt-th__sort{opacity:1;color:var(--color-brand-primary)}.dt-table tbody tr{border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);transition:background-color .1s ease}.dt-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-text-primary) 2.5%,transparent)}.dt-table tbody tr:hover{background:color-mix(in srgb,var(--color-brand-primary) 7%,transparent);box-shadow:inset 2px 0 0 var(--color-brand-primary)}.dt-table tbody tr:last-child{border-bottom:0}.dt-table td{padding:.3rem .55rem;vertical-align:middle;border-right:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);overflow:hidden}.dt-table td:last-child{border-right:0}.dt-table--dense thead th{padding:.24rem .5rem}.dt-table--dense td{padding:.2rem .5rem}.dt-td--right{text-align:right}.dt-td--center{text-align:center}.dt-actions{display:flex;gap:.3rem;align-items:center;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap}.dt-empty{padding:1.5rem;text-align:center;color:var(--color-text-secondary)}.dt-cards{display:none;list-style:none;margin:0;padding:0;flex-direction:column;gap:.55rem}.dt-card{display:flex;flex-direction:column;gap:.4rem;padding:.75rem .85rem;background:var(--color-bg-grid);border:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-radius:var(--radius-md)}.dt-card__row{display:flex;gap:.6rem;align-items:baseline}.dt-card__label{flex:0 0 7rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding-top:.1rem}.dt-card__value{flex:1;min-width:0}.dt-card__actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.2rem}.dt-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.dt-card__ident{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dt-card__title{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card__sub{font-family:var(--font-mono, ui-monospace, monospace);font-size:.74rem;color:color-mix(in srgb,var(--color-text-primary) 58%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card__meta{font-size:.74rem;color:var(--color-text-secondary)}@media (max-width: 640px){.dt-scroll{display:none}.dt-cards{display:flex}.dt-toolbar{padding:.4rem .5rem;gap:.4rem .5rem;margin-bottom:.6rem}.dt-toolbar__search{flex-basis:100%}.dt-toolbar__count{padding-bottom:0;order:3}.dt-toolbar__actions{display:none}}@media (pointer: coarse){.dt-btn,.dt-toolbar__input{min-height:2.75rem}.dt-colpicker__item{min-height:2.5rem}}:root{--color-bg-base: #ffffff;--color-bg-surface: #f5f5f7;--color-text-primary: #0f0f14;--color-text-secondary: #555563;--color-brand-primary: #7c3aed;--color-brand-primary-contrast: #ffffff;--color-accent: #a855f7;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--font-sans: system-ui, -apple-system, "Segoe UI", "Inter", sans-serif;--color-bg-canvas: #f4f0e8;--color-ink: #0f0f14;--color-ink-muted: #6b6558;--color-kinetic: #d4ff3a;--color-pulse: var(--color-brand-primary);--color-brand-accent-green: #4ade80;--color-brand-accent-green-fg: #0f0f14;--color-bg-surface-1: #fafafa;--color-bg-surface-2: #f0f0f3;--color-bg-grid: #f8f8fa;--color-action-fab-bg: var(--color-brand-accent-green);--font-display: ui-serif, "Iowan Old Style", "Apple Garamond", Georgia, "Times New Roman", serif;--font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-hero: .6s}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg-base: #0a0a0f;--color-bg-surface: #1a1a22;--color-text-primary: #f5f5f7;--color-text-secondary: #a0a0b0;--color-brand-primary: #a78bfa;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6);--color-bg-canvas: #0a0a0b;--color-ink: #f4f0e8;--color-ink-muted: #8a8376;--color-pulse: #a78bfa;--color-brand-accent-green: #86efac;--color-brand-accent-green-fg: #052e10;--color-bg-surface-1: #13131a;--color-bg-surface-2: #22222a;--color-bg-grid: #0f0f15}}[data-theme=dark]{--color-bg-base: #0a0a0f;--color-bg-surface: #1a1a22;--color-text-primary: #f5f5f7;--color-text-secondary: #a0a0b0;--color-brand-primary: #a78bfa;--color-bg-canvas: #0a0a0b;--color-ink: #f4f0e8;--color-ink-muted: #8a8376;--color-pulse: #a78bfa;--color-brand-accent-green: #86efac;--color-brand-accent-green-fg: #052e10;--color-bg-surface-1: #13131a;--color-bg-surface-2: #22222a;--color-bg-grid: #0f0f15}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;overscroll-behavior:none}a{color:var(--color-brand-primary);text-decoration:none}a:hover{text-decoration:underline}.view-fullscreen-mobile{display:flex;flex-direction:column;flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{font:inherit;font-size:.9rem;font-weight:600;padding:.65rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.2;min-height:2.4rem;transition:background-color .14s ease,border-color .14s ease,transform .12s ease;text-decoration:none;user-select:none}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.btn--primary{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary);letter-spacing:.01em}.btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand-primary) 86%,black);border-color:color-mix(in srgb,var(--color-brand-primary) 86%,black)}.btn--ghost{background:color-mix(in srgb,var(--color-brand-primary) 10%,transparent);color:var(--color-brand-primary);border-color:color-mix(in srgb,var(--color-brand-primary) 40%,transparent)}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand-primary) 20%,transparent);border-color:var(--color-brand-primary)}.btn--ghost-link{background:transparent;color:color-mix(in srgb,var(--color-text-primary) 72%,transparent);border-color:color-mix(in srgb,var(--color-text-primary) 22%,transparent)}.btn--ghost-link:hover:not(:disabled){color:#b91c1c;border-color:color-mix(in srgb,#f87171 55%,transparent);background:color-mix(in srgb,#f87171 10%,transparent)}[data-theme=dark] .btn--ghost-link:hover:not(:disabled){color:#fecaca}.btn--sm{font-size:.82rem;padding:.45rem .85rem;min-height:2.1rem}@media (max-width: 640px){.btn{min-height:2.75rem;padding:.75rem 1.15rem;font-size:.95rem;width:100%}.btn--sm{min-height:2.6rem;padding:.6rem 1rem;font-size:.88rem}.card-row__actions .btn,.admin-view__head .btn,.program-row__actions .btn,.week-row__actions .btn,.year-row__actions .btn,.user-row__actions .btn{width:auto;flex:1 1 auto}.program-row__actions,.week-row__actions,.year-row__actions,.user-row__actions{grid-column:1 / -1;flex-wrap:wrap;justify-content:stretch!important;gap:.5rem!important}.program-row__actions .btn,.week-row__actions .btn,.year-row__actions .btn,.user-row__actions .btn{min-height:2.75rem!important;flex:1 1 calc(50% - .25rem);font-size:.95rem!important;font-weight:600}.program-row__actions .btn--ghost-link,.week-row__actions .btn--ghost-link,.year-row__actions .btn--ghost-link,.user-row__actions .btn--ghost-link{color:#b91c1c;border-color:color-mix(in srgb,#f87171 42%,transparent);background:color-mix(in srgb,#f87171 8%,transparent)}[data-theme=dark] .program-row__actions .btn--ghost-link,[data-theme=dark] .week-row__actions .btn--ghost-link,[data-theme=dark] .year-row__actions .btn--ghost-link,[data-theme=dark] .user-row__actions .btn--ghost-link{color:#fca5a5}.admin-view__head{flex-direction:column;align-items:stretch}.admin-view__head .btn--primary{min-height:3rem;font-size:1rem;font-weight:700;width:100%}}.admin-view__head .btn--primary{background:var(--color-action-fab-bg);color:var(--color-brand-accent-green-fg);border-color:var(--color-action-fab-bg)}.admin-view__head .btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand-accent-green) 86%,black);border-color:color-mix(in srgb,var(--color-brand-accent-green) 86%,black)}.admin-view__head .btn--primary:focus-visible{outline:2px solid var(--color-brand-accent-green);outline-offset:2px}select{background-color:var(--color-bg-surface);color:var(--color-text-primary);color-scheme:light dark}[data-theme=dark] select{color-scheme:dark}[data-theme=light] select{color-scheme:light}select option{background-color:var(--color-bg-surface);color:var(--color-text-primary)}select optgroup{background-color:var(--color-bg-surface);color:var(--color-text-secondary);font-style:normal;font-weight:600}select option:checked,select option:hover{background-color:color-mix(in srgb,var(--color-brand-primary) 20%,var(--color-bg-surface));color:var(--color-text-primary)}.hdr-btn--lang,.tool-btn--lang{display:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.step-type-seg{display:inline-flex;border:1px solid var(--color-border, #d1d5db);border-radius:8px;overflow:hidden;background:var(--color-bg-elev, #fff)}.step-type-seg__btn{appearance:none;border:0;background:transparent;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted, #6b7280);cursor:pointer;min-height:44px;white-space:nowrap;border-right:1px solid var(--color-border, #d1d5db);transition:background .15s,color .15s}.step-type-seg__btn:last-child{border-right:0}.step-type-seg__btn:hover{background:var(--color-bg-hover, #f3f4f6)}.step-type-seg__btn--active{background:var(--color-primary, #7c3aed);color:#fff}.step-type-seg__btn--active:hover{background:var(--color-primary, #7c3aed)}.maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-inner{display:none!important}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:inline-block!important}.maplibregl-ctrl-attrib-button{display:block!important}.modal-actions-safe{padding-bottom:calc(var(--modal-safe-extra, 1rem) + env(safe-area-inset-bottom,0))!important}.live-map__user-marker{position:relative;width:22px;height:22px}.live-map__user-arrow{position:absolute;top:-12px;left:50%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #7c3aed;transform:translate(-50%)}.live-map__user-dot{position:absolute;inset:4px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 2px #fff}.live-map__user-pulse{position:absolute;inset:0;border-radius:50%;background:#7c3aed59;animation:live-map-pulse 1.6s ease-out infinite}@keyframes live-map-pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}@media (prefers-reduced-motion: reduce){.live-map__user-pulse{animation:none;opacity:.35}}.live-map__user-marker--route .live-map__user-arrow{border-bottom-color:#dc2626}.live-map__user-marker--route .live-map__user-dot{background:#dc2626}.live-map__user-marker--route .live-map__user-pulse{background:#dc262659}.poi-label-overlay{position:absolute;transform:translate(.7rem,-50%);padding:.1rem .4rem;border-radius:5px;font-size:.72rem;font-weight:700;white-space:nowrap;color:#7c2d12;background:color-mix(in srgb,#ffedd5 94%,transparent);border:1px solid color-mix(in srgb,#f97316 60%,transparent);box-shadow:0 1px 4px #00000047;pointer-events:none;z-index:3}
