@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a26;--bg-card-hover:#22222f;--bg-input:#16161f;--surface:var(--bg-card);--surface-elevated:var(--bg-card-hover);--surface-hover:var(--bg-card-hover);--text-primary:#f0f0f5;--text-secondary:#a0a0b5;--text-muted:#6b6b80;--text-hint:#8b8b9f;--text-accent:#dc2626;--accent:#dc2626;--accent-hover:#ef4444;--accent-text:#ef4444;--accent-glow:#dc262626;--accent-secondary:#3b82f6;--focus-ring:#ef4444;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--border:#2a2a38;--border-focus:#dc2626;--glass-closed:#0006;--glass-active:#00000080;--glass-featured:#0000008c;--glass-blur:12px;--chrome-scrim:#000000db;--font-body:"Inter", system-ui, -apple-system, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--mobile-shell-width:min(100vw, 480px, 56.28dvh);--bottom-tab-bar-height:64px;--action-dock-height:118px;--bottom-tab-bar-clearance:calc(var(--bottom-tab-bar-height) + env(safe-area-inset-bottom) + 24px);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--transition-fast:.15s ease;--transition-normal:.25s ease}.glass{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #ffffff14}.glass--active{background:var(--glass-active)}.glass--featured{background:var(--glass-featured);border-color:#dc262659}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#000000b8}.glass--active{background:#000c}.glass--featured{background:#000000d9}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{color:inherit;font-family:inherit}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}a{color:var(--accent-text);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3{font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:2rem}h2{letter-spacing:-.02em;font-size:1.5rem}h3{font-size:1.125rem}.text-muted{color:var(--text-muted)}.accent{color:var(--accent-text)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.landing-cta-primary,.cta-red-glass{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(140%);text-shadow:0 1px 2px #00000059;background:linear-gradient(#ffffff1a,#0000 55%),#dc26269e;border:1px solid #ffffff2e;border-top-color:#ffffff57;transition:background-color .12s,transform .12s;position:relative;box-shadow:0 8px 24px #dc262647,inset 0 1px #ffffff38}.btn-primary:active:not(:disabled),.landing-cta-primary:active:not(:disabled):not([aria-disabled=true]),.cta-red-glass:active:not(:disabled):not([aria-disabled=true]){transform:scale(.98)}.cta-red-glass--deep{background:linear-gradient(#ffffff14,#0000 55%),#dc2626c7}.cta-red-glass--pill{border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.cta-red-glass--pill>svg{flex-shrink:0}.btn-primary:disabled,.cta-red-glass:disabled,.cta-red-glass[aria-disabled=true]{border-color:var(--border);box-shadow:none;color:var(--text-hint);text-shadow:none;cursor:not-allowed;opacity:1;background:#ffffff0f}.cta-red-glass:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.btn-primary,.landing-cta-primary,.cta-red-glass,.cta-red-glass--deep{background:var(--accent)}}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled),.cta-red-glass:hover:not(:disabled):not([aria-disabled=true]){background:linear-gradient(#ffffff1a,#0000 55%),#ef4444b3}}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-card)}.btn-danger{color:var(--danger)!important}.btn-danger:hover:not(:disabled){background:#ef44441a!important}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 2rem;font-size:1rem;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--text-muted)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-body{color:var(--text-secondary)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--accent-glow);color:var(--accent-text)}.form-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition-fast);padding:.625rem .875rem;font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.form-actions{gap:var(--space-md);margin-top:var(--space-lg);display:flex}.alert{align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem;display:flex}.alert-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.page-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.dashboard{max-width:800px;padding:var(--space-xl);margin:0 auto}.header-actions{align-items:center;gap:var(--space-md);display:flex}.user-name{color:var(--text-muted);font-size:.875rem}.garage-page{flex-direction:column;display:flex}.garage-title{margin:0 0 var(--space-lg);letter-spacing:-.01em;font-size:22px;font-weight:700}.garage-loading{padding:var(--space-2xl);justify-content:center;display:flex}.garage-list{flex-direction:column;gap:8px;display:flex}.garage-row{align-items:center;gap:var(--space-md);background:var(--glass-closed);min-height:72px;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);color:inherit;cursor:pointer;border:1px solid #ffffff14;grid-template-columns:1fr auto auto;padding:16px;text-decoration:none;display:grid}.garage-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.garage-row:hover{background:var(--bg-card-hover)}}.garage-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.garage-row-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.garage-row-bike{color:var(--text-secondary);margin:0;font-size:13px}.garage-row-range{text-align:right}.garage-row-range-value{color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;display:block}.garage-row-range-hint{color:var(--text-hint);margin-top:2px;font-size:11px;display:block}.garage-row-chevron{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.garage-empty{margin:0 0 20px}.garage-empty-heading{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.garage-empty-body{margin:var(--space-sm) 0 0;max-width:34ch;color:var(--text-secondary);font-size:13px;line-height:1.5}.garage-error{padding:var(--space-lg);background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);color:var(--text-secondary);border:1px solid #ffffff14}.garage-error-retry{box-sizing:border-box;min-width:44px;min-height:44px;margin-top:var(--space-md);padding:0 var(--space-lg);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;font-family:inherit;display:inline-flex}.garage-error-retry:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.garage-error-retry:hover{background:var(--surface-hover)}}.garage-skeleton-row{background:var(--glass-closed);border-radius:var(--radius-md);height:72px;animation:1.5s ease-in-out infinite garage-skeleton-pulse}@keyframes garage-skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.garage-skeleton-row{animation:none}}.garage-dock-add,.garage-dock-save{gap:8px}.garage-dock-add.is-disabled,.garage-dock-save.is-disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.rider-edit{flex-direction:column;display:flex}.rider-edit-header{align-items:center;gap:8px;display:flex}.rider-edit-back{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.rider-edit-back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rider-edit-title{margin:0;font-size:22px;font-weight:700}.rider-edit-subtitle{color:var(--text-secondary);margin:2px 0 0 52px;font-size:13px}.rider-edit-card{margin-top:var(--space-lg);background:var(--glass-active);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);border:1px solid #ffffff14;flex-direction:column;gap:12px;padding:16px;display:flex}.rider-edit-field{flex-direction:column;gap:6px;display:flex}.rider-edit-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rider-edit-label{color:var(--text-secondary);font-size:12px;font-weight:600}.rider-edit-input{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);caret-color:var(--accent-text);padding:0 12px;font-family:inherit;font-size:.875rem}.rider-edit-input::placeholder{color:var(--text-hint)}.rider-edit-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rider-edit-input:disabled{opacity:.5;cursor:not-allowed}.rider-edit-input--suffixed{position:relative}.rider-edit-input--suffixed .rider-edit-input{padding-right:44px}.rider-edit-suffix{color:var(--text-secondary);pointer-events:none;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.rider-edit-hairline{background:#ffffff14;border:none;height:1px;margin:20px 0}.rider-edit-address-field{position:relative}.rider-edit-address-field .place-autocomplete-input{min-height:48px;caret-color:var(--accent-text);padding-left:40px}.rider-edit-address-field .place-autocomplete-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rider-edit-address-icon{color:var(--text-secondary);pointer-events:none;position:absolute;bottom:16px;left:12px}.rider-edit-error{color:var(--danger);align-items:center;gap:6px;font-size:12px;display:inline-flex}.rider-edit-error svg{flex-shrink:0;width:14px;height:14px}.rider-edit-chip{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);border:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 16px;display:flex}.rider-edit-chip-value{color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.rider-edit-chip-hint{color:var(--text-hint);font-size:11px}@media (prefers-reduced-motion:reduce){.rider-edit-chip-value{transition:none}}.rider-edit-delete-row{justify-content:flex-end;display:flex}.rider-edit-delete{box-sizing:border-box;min-height:44px;padding:0 var(--space-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:6px;margin-top:12px;font-family:inherit;font-size:.875rem;display:inline-flex}.rider-edit-delete:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.rider-edit-delete:hover{color:var(--text-primary)}}.tabular-nums{font-variant-numeric:tabular-nums}.bike-picker{flex-direction:column;gap:12px;display:flex}.bike-picker-field{flex-direction:column;gap:6px;display:flex}.bike-picker-label{color:var(--text-secondary);font-size:12px;font-weight:600}.bike-picker-select-wrap{position:relative}.bike-picker-select{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);appearance:none;caret-color:var(--accent-text);padding:0 40px 0 12px;font-family:inherit;font-size:.875rem}.bike-picker-select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.bike-picker-select:disabled{opacity:.5;cursor:not-allowed}.bike-picker-chevron{width:20px;height:20px;color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.bike-picker-other{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);caret-color:var(--accent-text);margin-top:8px;padding:0 12px;font-family:inherit;font-size:.875rem}.bike-picker-other::placeholder{color:var(--text-hint)}.bike-picker-other:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.bike-picker-other:disabled{opacity:.5;cursor:not-allowed}.bike-picker-hint{color:var(--text-hint);font-size:12px}.bike-picker-error{color:var(--danger);align-items:center;gap:6px;font-size:12px;display:inline-flex}.bike-picker-error svg{flex-shrink:0;width:14px;height:14px}.garage-page ::selection{background:#dc262659}.rider-edit ::selection{background:#dc262659}.garage-page select option,.rider-edit select option{background:var(--bg-card);color:var(--text-primary)}.road-backdrop{z-index:0;pointer-events:none;background:var(--bg-primary);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.road-backdrop-frame{width:var(--mobile-shell-width);height:100dvh;position:relative;overflow:hidden}.road-backdrop-picture,.road-backdrop-image{width:100%;height:100%;display:block;position:absolute;inset:0}.road-backdrop-image{object-fit:cover;object-position:center bottom}.road-backdrop-scrim{background:linear-gradient(#000000a3 0%,#00000094 32%,#0000001f 40%,#0000 52% 82%,#00000052 100%);position:absolute;inset:0}.landing{width:var(--mobile-shell-width);background:var(--bg-primary);height:100dvh;min-height:100dvh;margin:0 auto;position:relative;overflow:hidden auto}.landing-content{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.landing-header{background:#0009;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:.5rem 1.5rem;display:flex}.landing-logo{object-fit:contain;width:auto;height:44px}.landing-signin{background:var(--glass-closed);color:#fff;cursor:pointer;white-space:nowrap;min-height:2.75rem;transition:background var(--transition-fast);border:1px solid #ffffff24;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}.landing-signin:disabled{opacity:.5;cursor:not-allowed}.landing-signin:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.landing-signin:hover:not(:disabled){background:var(--glass-active)}}.landing-banner{color:#e5e7eb;background:#dc262633;border-bottom:1px solid #dc26264d;justify-content:center;align-items:center;gap:.625rem;padding:.5rem 1.5rem;font-size:.75rem;display:flex}.landing-banner svg{color:#ef4444;flex-shrink:0}.landing-banner p{margin:0;font-weight:500}.landing-banner--restricted{color:#fff;background:#dc262647;border-bottom:1px solid #dc262680;justify-content:flex-start;align-items:flex-start;padding:.75rem 1.5rem;font-size:.8125rem}.landing-banner--restricted strong{color:#fca5a5}.landing-main{padding:var(--space-xl) var(--space-lg) var(--bottom-tab-bar-clearance);flex:1;justify-content:center;align-items:flex-start;display:flex}.landing-welcome{flex-direction:column;gap:1rem;width:100%;max-width:28rem;display:flex}.landing-headline-wrap{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.landing-headline{color:#fff;letter-spacing:-.02em;word-wrap:break-word;text-wrap:balance;text-shadow:0 1px 2px #0000008c,0 2px 16px #00000073;margin:0;font-size:clamp(1.6875rem,7.2vw,2.25rem);font-weight:700;line-height:1.15}.landing-headline-accent-text{color:var(--accent-text);text-shadow:0 1px 2px #0009,0 2px 16px #00000080;margin-top:.5em;display:block}.action-dock{left:50%;bottom:calc(var(--bottom-tab-bar-height) + env(safe-area-inset-bottom));z-index:45;width:var(--mobile-shell-width);padding:28px var(--space-lg) 34px;background:linear-gradient(to top, var(--chrome-scrim) 0%, #00000080 10%, #0006 30%, #0000002e 72%, #0000 100%);position:fixed;transform:translate(-50%)}.action-dock+.bottom-tab-bar{border-top:0}.action-dock--fade{background:linear-gradient(#0000 0%,#000000b8 42%,#000000db 100%)}.landing-cta-primary{cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;width:100%;min-height:56px;padding:.875rem 1.5rem;font-family:inherit;font-size:1.0625rem;font-weight:600;line-height:1.2;display:inline-flex}.landing-cta-primary:disabled{border-color:var(--border);box-shadow:none;color:var(--text-hint);text-shadow:none;cursor:not-allowed;background:#ffffff0f}.landing-cta-primary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.landing-cta-spinner{flex:none;margin-right:.5rem;animation:.8s linear infinite spin}@media (hover:hover) and (pointer:fine){.landing-cta-primary:hover:not(:disabled):not([aria-disabled=true]){background:linear-gradient(#ffffff1a,#0000 55%),#ef4444b3}}.landing-resume{color:#fff;text-align:left;cursor:pointer;border-radius:1rem;align-items:center;gap:.875rem;width:100%;min-height:64px;padding:1rem;font-family:inherit;transition:background-color .12s,transform .12s;display:flex}.landing-resume>svg{color:var(--accent-text);flex-shrink:0}.landing-resume:active{background:var(--glass-active);transform:scale(.99)}.landing-resume:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.landing-resume-copy{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.landing-resume-title{overflow-wrap:anywhere;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;line-height:1.2;display:flex}.landing-resume-title>svg,.landing-resume-verb>svg{color:var(--accent-text);flex-shrink:0}.landing-resume-subtitle{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.35;overflow:hidden}.landing-resume-verb{color:#ffffffd1;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;line-height:1.25;display:flex}.landing-resume-error{border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;padding:.75rem 1rem;font-size:.875rem;display:flex}.landing-resume-error p{margin:0}.landing-resume-error button{color:#fff;min-width:76px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:.75rem;padding:.5rem .75rem}.landing-resume-error button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.landing-hero{text-align:center;max-width:500px}.landing-title{margin-bottom:var(--space-md);letter-spacing:-.02em;font-size:3.5rem;font-weight:800}.landing-subtitle{color:var(--text-secondary);margin-bottom:var(--space-2xl);font-size:1.125rem;line-height:1.6}.loading-screen{justify-content:center;align-items:center;gap:var(--space-md);min-height:100vh;color:var(--text-muted);flex-direction:column;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{isolation:isolate;width:var(--mobile-shell-width);min-height:100dvh;color:var(--text-primary);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-header{z-index:2;padding:var(--space-sm) var(--space-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000008c;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex;position:relative}.app-header-logo-link{border-radius:var(--radius-sm);display:inline-flex}.app-header-logo-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app-header-logo{width:auto;height:44px;display:block}.app-header-user{align-items:center;gap:var(--space-sm);display:flex}.app-header-avatar{border:1px solid #fff3;border-radius:50%;width:32px;height:32px}.app-header-signout{color:var(--text-secondary);box-sizing:border-box;border-radius:var(--radius-md);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;display:flex}@media (hover:hover) and (pointer:fine){.app-header-signout:hover{color:var(--text-primary);border-color:#ffffff59}}.app-header-signout:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-header-admin-btn{color:var(--accent-text);border-color:#dc262659}@media (hover:hover) and (pointer:fine){.app-header-admin-btn:hover{color:#fff;background:#dc262626;border-color:#dc2626a6}}.app-content{z-index:1;padding:var(--space-xl) var(--space-lg) var(--bottom-tab-bar-clearance);flex:1;width:100%;margin:0 auto;position:relative}.app-content--with-dock,.landing-main--with-dock{padding-bottom:calc(var(--bottom-tab-bar-clearance) + var(--action-dock-height))}:is(.app-shell:has(.garage-page),.app-shell:has(.rider-edit)){height:100dvh;padding-bottom:calc(var(--action-dock-height) + var(--bottom-tab-bar-height) + env(safe-area-inset-bottom));overflow:hidden}:is(.app-shell:has(.garage-page) .app-content,.app-shell:has(.rider-edit) .app-content){overscroll-behavior:contain;min-height:0;padding-bottom:var(--space-lg);overflow-y:auto}.bottom-tab-bar{width:var(--mobile-shell-width);z-index:50;padding-bottom:env(safe-area-inset-bottom);background:var(--chrome-scrim);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid #ffffff1a;align-items:stretch;display:flex;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%)}.bottom-tab{color:#ffffff9e;transition:color var(--transition-fast);min-height:var(--bottom-tab-bar-height);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:10px 4px;text-decoration:none;display:flex;position:relative}.bottom-tab:not(:disabled):hover{color:#ffffffdb}.bottom-tab--active{color:var(--accent-text);font-weight:600}.bottom-tab--active:before{content:"";background:var(--accent);border-radius:0 0 2px 2px;width:28px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-tab:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.bottom-tab-label{letter-spacing:0;font-size:11px;font-weight:500}.bottom-tab--active .bottom-tab-label{font-weight:600}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-tab-bar{background:#050505}}.dashboard-loading{padding:var(--space-2xl);justify-content:center;display:flex}.saved-page{flex-direction:column;display:flex}.saved-title{color:var(--text-primary);margin:0 0 16px;font-size:22px;font-weight:700}.saved-card{border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;position:relative}.saved-card+.saved-card{margin-top:12px}.saved-card--featured{background:var(--glass-featured);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #dc262659}.saved-card--compact{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #ffffff14}.saved-card-link{color:inherit;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none;display:flex}.saved-card-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:inherit}.saved-card-eyebrow{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.saved-card-eyebrow svg{width:14px;height:14px}.saved-card-name{color:var(--text-primary);max-width:calc(100% - 52px);margin:0;font-size:16px;font-weight:600}.saved-card-line{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.saved-card-line svg{width:14px;height:14px}.saved-card-cta{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:4px;padding:0 1rem;font-size:15px;font-weight:600;transition:background-color .12s;display:inline-flex;box-shadow:0 8px 24px #dc262647}.saved-card-cta:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.saved-card-cta:hover{background:var(--accent-hover)}}.saved-card-trash{min-width:44px;min-height:44px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.saved-card-trash:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.saved-shelf{margin-top:24px}.saved-shelf-title{color:var(--text-secondary);margin:0 0 8px;font-size:15px;font-weight:600}.saved-empty{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));text-align:center;border-radius:12px;padding:24px}.saved-empty-icon{width:40px;height:40px;color:var(--text-secondary);margin:0 auto 8px}.saved-empty h2{margin:0 0 4px;font-size:15px;font-weight:600}.saved-empty p{color:var(--text-secondary);margin:0;font-size:13px}.saved-error{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.saved-error-retry{min-height:44px;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:0 1rem;font-weight:600}.saved-error-retry:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.saved-skeleton{flex-direction:column;display:flex}.saved-skeleton-card{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:12px;animation:1.8s ease-in-out infinite saved-skeleton-pulse}.saved-skeleton-card--featured{height:220px}.saved-skeleton-card--compact{height:112px;margin-top:12px}@keyframes saved-skeleton-pulse{0%,to{opacity:.6}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.saved-skeleton-card{animation:none}.saved-card-cta{transition:none}}.badge-building{color:var(--warning);background:#f59e0b26}.badge-planned{color:var(--success);background:#22c55e26}.badge-completed{background:var(--accent-glow);color:var(--accent-text)}.form-hint{color:var(--text-muted);margin-top:2px;font-size:.75rem}.place-autocomplete-field{flex-direction:column;gap:4px;display:flex;position:relative}.place-autocomplete-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.place-autocomplete-wrapper{align-items:center;display:flex;position:relative}.place-autocomplete-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:none;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.place-autocomplete-input::placeholder{color:var(--text-muted)}.place-autocomplete-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.place-autocomplete-clear{background:var(--bg-card-hover);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;right:8px}.place-autocomplete-clear:hover{color:var(--text-primary);background:var(--border)}.place-suggestions-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);font-family:var(--font-body);z-index:9999;border-top:none;max-height:260px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.place-suggestion-item{cursor:pointer;border-top:1px solid var(--border);color:var(--text-primary);align-items:center;gap:8px;padding:10px 12px;font-size:.8125rem;transition:background .1s;display:flex}.place-suggestion-item:first-child{border-top:none}.place-suggestion-item:hover,.place-suggestion-item--active{background:var(--bg-card-hover)}.place-suggestion-icon{color:var(--accent-text);flex-shrink:0}.place-suggestion-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.trip-page{gap:var(--space-2xl);grid-template-columns:240px 1fr;min-height:70vh;display:grid}.trip-page-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);align-self:start;position:sticky;top:84px}.trip-page-main{min-width:0}.trip-page-loading,.trip-page-error{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;flex-direction:column;min-height:50vh;display:flex}.trip-page-content{gap:var(--space-sm);flex-direction:column;display:flex}.trip-page--single{grid-template-columns:1fr;max-width:960px;margin:0 auto}.trip-timeline-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-md);font-size:.6875rem;font-weight:600}.trip-timeline-list{flex-direction:column;gap:2px;display:flex}.trip-timeline-item{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;display:flex}.trip-timeline-item:hover{background:#dc26260f;border-color:#dc262626}.trip-timeline-item--active{border-color:var(--accent);background:#dc262614;box-shadow:0 0 12px #dc262614}.trip-timeline-item--active .trip-timeline-day{color:var(--accent-text)}.trip-timeline-dot{margin-top:2px;font-size:.875rem;line-height:1}.trip-timeline-info{flex-direction:column;gap:1px;display:flex}.trip-timeline-day{color:var(--text-primary);transition:color var(--transition-fast);font-size:.8125rem;font-weight:600}.trip-timeline-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.75rem;overflow:hidden}.trip-timeline-miles{color:var(--accent-text);font-size:.6875rem;font-weight:600}.pipeline-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.pipeline-header h3{letter-spacing:-.01em;font-size:1.375rem;font-weight:700}.pipeline-empty{text-align:center;padding:var(--space-2xl) var(--space-xl);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.pipeline-empty p{margin-bottom:var(--space-md)}.card-carousel{gap:var(--space-md);flex-direction:column;width:100%;display:flex;position:relative}.card-carousel-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.card-carousel-grid:has(>:only-child){grid-template-columns:1fr}.card-carousel-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.carousel-track-wrapper{border-radius:var(--radius-lg);contain:layout;width:100%;overflow:hidden}.carousel-track{will-change:transform;transition:transform .38s cubic-bezier(.4,0,.2,1);display:flex}@media (prefers-reduced-motion:reduce){.carousel-track{transition:none}}.carousel-slide{flex:0 0 100%;width:100%;min-width:0}.food-options-carousel .carousel-slide--active .food-card{background:var(--glass-active);border-width:2px;border-color:#dc262673;box-shadow:0 12px 40px #00000080,0 0 32px #dc262624}.carousel-dots{justify-content:center;align-items:center;gap:0;display:flex}.carousel-dot{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:44px;height:28px;min-height:44px;padding:0;display:flex;position:relative}.carousel-dot:after{content:"";border-radius:var(--radius-full);background:#ffffff2e;border:1.5px solid #ffffff1f;width:7px;height:7px;transition:all .28s cubic-bezier(.4,0,.2,1)}.carousel-dot:hover:after{background:#ffffff59}.carousel-dot--active:after{border-radius:var(--radius-full);background:var(--accent);border-color:var(--accent);width:7px;height:7px;box-shadow:0 0 10px #dc26268c}.carousel-dot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-card{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg) var(--space-lg);flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.route-card:hover{border-color:#dc26264d;transform:translateY(-4px);box-shadow:0 8px 32px #0006,0 0 20px #dc262614}.route-card-name{letter-spacing:-.01em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:1.25rem;font-weight:700;display:-webkit-box;overflow:hidden}.badge-miles{background:var(--accent-glow);color:var(--accent-text);align-items:center;gap:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-skill,.badge-curviness{color:var(--text-secondary);background:#0000004d;border:1px solid #ffffff1f;padding:.25rem .625rem}.route-card-desc{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.875rem;line-height:1.7}.direction-step{gap:var(--space-sm);flex-direction:column;display:flex}.direction-step-frame{padding:var(--space-lg);border-radius:var(--radius-lg);position:relative}.direction-card{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.direction-stage{--direction-card-head-height:64px;position:relative}.direction-card-head{height:var(--direction-card-head-height);overflow:hidden}.direction-card h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1875rem;line-height:1.2;overflow:hidden}.direction-facts,.direction-overview,.direction-then,.direction-best-effort{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.55}.direction-facts{color:var(--accent-text);font-weight:700}.direction-map-slot{border-radius:var(--radius-lg);height:220px}.direction-map{pointer-events:none;top:calc(var(--direction-card-head-height) + var(--space-sm));border:1px solid var(--border);border-radius:var(--radius-lg);height:220px;position:absolute;left:0;right:0;overflow:hidden}.direction-map .route-selector-map,.direction-map .route-selector-map-canvas{height:100%}.direction-best-effort{padding:0 var(--space-xs)}@media (width>=1024px){.direction-map-slot,.direction-map{height:260px}.direction-map{pointer-events:auto}}.route-card-details{gap:var(--space-sm);color:var(--text-muted);margin-bottom:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);background:#0003;flex-direction:column;font-size:.8125rem;display:flex}.route-card-detail{align-items:center;gap:var(--space-sm);display:flex}.route-card-detail svg{color:var(--accent-text);flex-shrink:0}.route-card-pois{gap:var(--space-sm);margin-bottom:var(--space-md);align-items:flex-start;font-size:.8125rem;display:flex}.route-card-pois>svg{color:var(--accent-text);flex-shrink:0;margin-top:2px}.route-card-poi-list{flex-wrap:wrap;gap:4px;display:flex}.route-card-poi{border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff0f;padding:3px 10px;font-size:.75rem}.route-card-history{color:var(--text-muted);margin-bottom:var(--space-lg);font-size:.8125rem}.route-card-history summary{cursor:pointer;color:var(--accent-text);font-size:.8125rem;font-weight:500}.route-card-history summary:hover{text-decoration:underline}.route-card-history summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-card-history p{margin-top:var(--space-sm);color:var(--text-secondary);line-height:1.6}.route-card-btn{width:100%;margin-top:auto;padding:.75rem 1rem;font-weight:600}.route-card-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.food-card{background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-lg);padding:0 var(--space-lg) var(--space-lg);flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.food-card:hover{border-color:#dc262659;transform:translateY(-4px);box-shadow:0 8px 32px #0006,0 0 16px #dc262614}.food-card-photo{height:230px;margin:0 calc(-1 * var(--space-lg)) var(--space-md);flex-shrink:0;position:relative;overflow:hidden}@media (width>=1024px){.food-card-photo{height:260px}}.food-card-photo-img{object-fit:cover;width:100%;height:100%;display:block}.food-card-photo--fallback{background:var(--glass-closed);justify-content:center;align-items:center;display:flex}.food-card-photo-fallback-icon{color:var(--text-muted)}.food-card-photo--fallback{gap:var(--space-sm);flex-direction:column}.food-card-photo-fallback-text{color:var(--text-secondary);font-size:.8125rem}.food-card-photo--skeleton{background:var(--glass-active);animation:1.8s ease-in-out infinite food-card-photo-pulse}@keyframes food-card-photo-pulse{0%,to{opacity:.6}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.food-card-photo--skeleton{animation:none}}.food-card-btn{width:100%;margin-top:auto;font-weight:600}.food-card-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.food-card-photo--has-image:before{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#000000b8 100%);position:absolute;inset:0}a.food-card-photo{color:inherit;cursor:pointer;text-decoration:none;display:block}a.food-card-photo:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.food-card-photo-chips{z-index:1;flex-wrap:nowrap;align-items:center;gap:6px;display:flex;position:absolute;bottom:14px;left:12px;right:12px}.food-card-photo-chips--menu{margin-left:auto}.food-card-chip{box-sizing:border-box;color:var(--text-primary);-webkit-backdrop-filter:blur(6px);white-space:nowrap;background:#000000bf;border:1px solid #ffffff1a;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.food-card-chip svg{color:var(--accent-text);flex-shrink:0}.food-card-chip--rating-link{color:#fff;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;text-decoration:none}.food-card-chip--rating-link:hover{opacity:.9;text-decoration:none}.food-card-chip--rating-link svg:last-child{opacity:.8}.food-card-chip--website{justify-content:center;min-width:44px;min-height:44px;margin-left:auto;padding:0 12px;text-decoration:none}.food-card-title{min-width:0;margin:0 0 var(--space-xs);text-overflow:ellipsis;white-space:nowrap;font-size:1.1875rem;font-weight:700;line-height:1.2;overflow:hidden}.food-card-facts{margin:0 0 var(--space-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.food-card-fact--price{color:var(--accent-text);font-weight:700}.food-card-fact-dot{color:var(--text-muted);margin:0 6px}.food-card-kf{margin-bottom:var(--space-lg);flex-wrap:wrap;gap:6px;display:flex}.food-card-kf-chip{color:var(--text-primary);border:1px solid var(--border);background:#ffffff0f;border-radius:999px;padding:4px 9px;font-size:.75rem}.food-card .food-card-btn{min-height:52px}.food-card--chosen{border:1px solid #dc262659;padding:0}.food-card--chosen .food-card-photo{height:200px;margin:0}.food-card--chosen:hover{box-shadow:none;transform:none}.food-card-body--chosen{justify-content:space-between;align-items:flex-end;gap:var(--space-sm);min-height:48px;padding:12px 16px 14px;display:flex}.food-card-body-text{min-width:0}.food-card-kicker{color:var(--accent-text);align-items:center;gap:8px;margin:0 0 4px;font-size:.75rem;font-weight:600;display:flex}.food-card--chosen .food-card-title{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:1.125rem;font-weight:700;overflow:visible}.food-card--chosen .food-card-facts{white-space:normal;text-overflow:clip;flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex;overflow:visible}.food-card--chosen .food-card-fact{white-space:nowrap}.food-card--chosen .food-card-fact-dot{margin:0}.food-card-website{flex-shrink:0;min-height:40px;padding:0 14px;font-size:.8125rem}.food-card-chip--link{color:#fff;text-decoration:none}.food-card-chip--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.food-step-stage{transition:opacity .2s}.food-step-stage--pending{opacity:.55}@media (prefers-reduced-motion:reduce){.food-step-stage{transition:none}}.food-reroll-btn{align-self:center;min-height:44px;color:var(--accent-text)!important}.day-guide{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl)}.day-guide-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.day-guide-header h3{font-size:1.25rem}.day-guide-meta{gap:var(--space-sm);display:flex}.day-guide-summary{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.9375rem;line-height:1.6}.day-guide-stops{gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.day-guide-stop{gap:var(--space-md);padding:var(--space-md);background:var(--bg-input);border-radius:var(--radius-md);display:flex}.day-guide-stop-icon{flex-shrink:0;margin-top:2px}.day-guide-stop-content{flex-direction:column;flex:1;gap:4px;display:flex}.day-guide-stop-header{justify-content:space-between;align-items:center;display:flex}.day-guide-stop-name{font-size:.9375rem;font-weight:600}.day-guide-stop-type{color:var(--text-muted);text-transform:capitalize;font-size:.75rem}.day-guide-stop-location,.day-guide-stop-address{color:var(--text-muted);align-items:center;gap:4px;font-size:.8125rem;display:flex}.day-guide-stop-fact{color:var(--text-secondary);font-size:.8125rem;font-style:italic}.day-guide-stop-notes{color:var(--text-muted);font-size:.8125rem}.day-guide-stop-links{gap:var(--space-md);margin-top:4px;display:flex}.day-guide-stop-links a{align-items:center;gap:4px;font-size:.75rem;display:flex}.day-guide-nav-btn{margin-top:var(--space-md);text-decoration:none}.day-guide-notes{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);background:#f59e0b1a;border:1px solid #f59e0b33}.day-guide-notes h4{margin-bottom:var(--space-sm);font-size:.875rem}.day-guide-notes p{color:var(--text-secondary);font-size:.875rem}.ai-thinking{padding:var(--space-2xl) var(--space-xl);justify-content:center;align-items:center;gap:var(--space-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;min-height:240px;display:flex}.ai-thinking-icon{justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative}.ai-thinking-ring{border:3px solid #dc262626;border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:0}.ai-thinking-bike{z-index:1;-webkit-user-select:none;user-select:none;pointer-events:none;width:46px;height:auto;display:block}.ai-thinking-message{color:var(--text-secondary);font-size:1rem;font-weight:500}.ai-thinking-warning{color:var(--text-muted);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#f59e0b14;font-size:.8125rem}.day-guide-tags{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.day-guide-tagline{color:var(--accent-text);margin-bottom:var(--space-md);font-size:1rem;font-style:italic;font-weight:600}.day-guide-pois{margin-bottom:var(--space-lg)}.day-guide-pois h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm);font-size:.8125rem}.day-guide-poi-chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.day-guide-stops h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm);font-size:.8125rem}.badge-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0;align-items:center;gap:4px;display:inline-flex}.badge-skill{align-items:center;gap:4px;display:inline-flex}.badge-skill--beginner,.badge-skill--intermediate,.badge-skill--expert{color:var(--text-secondary);background:#0000004d;border:1px solid #ffffff1f}.badge-success{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.link-btn{color:var(--accent-text);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{opacity:.8}.route-map-preview{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);position:relative;overflow:hidden}.route-map-preview--error{color:var(--text-muted);background:var(--bg-input);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.map-marker{background:var(--glass-featured);width:44px;height:44px;-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--accent-text);filter:drop-shadow(0 2px 4px #00000080);cursor:default;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex}.map-marker--origin,.map-marker--destination{width:32px;height:32px}.map-marker--fuel{color:#f59e0b}.map-marker--food{color:var(--accent-text)}.map-marker--scenic{color:#10b981}.map-marker--lodging{color:#8b5cf6}.route-selector-map{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.route-selector-map-canvas{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);position:relative;overflow:hidden}.route-selector-map-empty{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.route-selector-map-notes{gap:var(--space-xs);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--glass-active);-webkit-backdrop-filter:blur(var(--glass-blur));padding:var(--space-md);flex-direction:column;display:flex}.route-selector-map-note{color:var(--text-secondary);margin:0;font-size:.8125rem}.route-selector-map-skeleton{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--glass-active);-webkit-backdrop-filter:blur(var(--glass-blur));animation:1.8s ease-in-out infinite route-selector-map-pulse}@keyframes route-selector-map-pulse{0%,to{opacity:.6}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.route-selector-map-skeleton{animation:none}}.place-details-compact{margin:var(--space-md) 0;border-radius:var(--radius-md);overflow:hidden}.place-details-compact gmp-place-details-compact{--gmp-mat-color-surface:var(--bg-card);--gmp-mat-color-on-surface:var(--text-primary);--gmp-mat-color-on-surface-variant:var(--text-secondary);border-radius:var(--radius-md)}.badge-duration{color:var(--text-secondary);background:#0000004d;border:1px solid #ffffff1f}.day-guide-map{margin:var(--space-lg) 0;border-radius:var(--radius-lg);border:1px solid #ffffff0f;overflow:hidden;box-shadow:0 4px 16px #0000004d}.animate-spin{animation:1s linear infinite spin}@media (width<=768px){.app-container{padding:var(--space-md)}body{overflow-x:hidden}.trip-page{gap:var(--space-md);grid-template-columns:1fr}.trip-page-sidebar{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);-webkit-overflow-scrolling:touch;position:static;overflow-x:auto}.trip-timeline-list{gap:var(--space-sm);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:var(--space-xs);flex-direction:row;overflow-x:auto}.trip-timeline-item{scroll-snap-align:start;min-width:100px;padding:var(--space-sm) var(--space-md);flex-shrink:0}.trip-timeline-title{margin-bottom:var(--space-xs);font-size:.8rem}.trip-page-content{padding:0}.route-card{padding:var(--space-lg) var(--space-md)}.route-card:hover{transform:none}.day-guide-stops{gap:var(--space-md)}.pipeline-header{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.pipeline-header h3{font-size:1rem}}@media (width<=640px){.app-container{padding:var(--space-sm)}.route-card:hover,.food-card:hover{transform:none}.landing-title{font-size:2.5rem}.form-grid{grid-template-columns:1fr}.card-header{gap:var(--space-sm);flex-direction:column;align-items:flex-start!important}}@media (pointer:coarse){.btn,button,.chat-send-btn,.trip-timeline-item,.food-card{min-height:44px}.chat-panel-input input{min-height:44px;font-size:16px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-tab-bar{padding-bottom:env(safe-area-inset-bottom)}.chat-panel-input{padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}.chat-fab{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom))}}.chat-fab{bottom:var(--space-xl);right:var(--space-xl);background:var(--accent);width:56px;height:56px;color:var(--bg);cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 4px 20px #0006}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #00000080}.chat-fab-badge{background:var(--error);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.chat-panel{background:var(--surface);border-left:1px solid var(--border);z-index:200;flex-direction:column;width:380px;max-width:100vw;height:100vh;animation:.25s ease-out slideInRight;display:flex;position:fixed;top:0;right:0}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.chat-panel-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface-elevated);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-panel-title{align-items:center;gap:var(--space-sm);color:var(--text);font-size:.95rem;font-weight:600;display:flex}.chat-panel-close{color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);background:0 0;border:none;transition:color .15s,background .15s}.chat-panel-close:hover{color:var(--text);background:var(--surface-hover)}.chat-panel-messages{padding:var(--space-md);gap:var(--space-md);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-empty{text-align:center;justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);color:var(--text-muted);flex-direction:column;display:flex}.chat-empty-icon{opacity:.3}.chat-empty p{color:var(--text);margin:0;font-weight:600}.chat-empty span{font-size:.85rem;line-height:1.4}.chat-bubble{gap:var(--space-sm);max-width:90%;display:flex}.chat-bubble--user{flex-direction:row-reverse;margin-left:auto}.chat-bubble--model{margin-right:auto}.chat-bubble-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;display:flex}.chat-bubble--user .chat-bubble-avatar{background:var(--accent);color:var(--bg)}.chat-bubble--model .chat-bubble-avatar{background:var(--surface-elevated);color:var(--text-muted);border:1px solid var(--border)}.chat-bubble-body{gap:var(--space-xs);flex-direction:column;display:flex}.chat-bubble-content{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.5}.chat-bubble--user .chat-bubble-content{background:var(--accent);color:var(--bg);border-bottom-right-radius:var(--radius-xs)}.chat-bubble--model .chat-bubble-content{background:var(--surface-elevated);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:var(--radius-xs)}.chat-bubble-time{color:var(--text-muted);padding:0 var(--space-sm);font-size:.7rem}.chat-bubble--user .chat-bubble-time{text-align:right}.typing-dots{padding:var(--space-sm) var(--space-md);gap:4px;display:flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-panel-input{gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border);background:var(--surface-elevated);flex-shrink:0;display:flex}.chat-panel-input input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--text);flex:1;font-family:inherit;font-size:.9rem;transition:border-color .15s}.chat-panel-input input:focus{border-color:var(--accent);outline:none}.chat-panel-input input::placeholder{color:var(--text-muted)}.chat-send-btn{border-radius:var(--radius-md);background:var(--accent);width:38px;height:38px;color:var(--bg);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex}.chat-send-btn:hover:not(:disabled){transform:scale(1.05)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-error{padding:var(--space-sm) var(--space-md);color:var(--error);text-align:center;background:#ef44441a;border-top:1px solid #ef444433;font-size:.8rem}.spin{animation:1s linear infinite spin}.grounding-widget{margin-top:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.grounding-widget gmp-place-contextual{width:100%}.grounding-attribution{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-xs);flex-direction:column;display:flex}.grounding-attribution-header{align-items:center;gap:var(--space-xs);display:flex}.grounding-maps-icon{flex-shrink:0;width:14px;height:14px}.GMP-attribution{letter-spacing:normal;white-space:nowrap;color:#9aa0a6;font-family:Roboto,sans-serif;font-size:.8rem;font-style:normal;font-weight:400}.grounding-sources{flex-direction:column;gap:2px;display:flex}.grounding-source-link{align-items:center;gap:var(--space-xs);color:var(--accent-text);padding:2px 0;font-size:.8rem;text-decoration:none;transition:opacity .15s;display:flex}.grounding-source-link:hover{opacity:.8;text-decoration:underline}.drawer-backdrop{z-index:300;background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.place-detail-drawer{background:var(--surface);border-left:1px solid var(--border);z-index:301;flex-direction:column;width:420px;max-width:100vw;height:100vh;animation:.25s ease-out slideInRight;display:flex;position:fixed;top:0;right:0;overflow:hidden}.drawer-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface-elevated);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-title{color:var(--text);font-size:.95rem;font-weight:600}.drawer-actions{align-items:center;gap:var(--space-sm);display:flex}.drawer-external-link,.drawer-close{color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s;display:flex}.drawer-external-link:hover,.drawer-close:hover{color:var(--text);background:var(--surface-hover)}.drawer-content{padding:var(--space-md);flex:1;overflow-y:auto}.drawer-content gmp-place-details{width:100%}@media (width<=768px){.chat-panel{border-left:none;border-radius:0;width:100vw;height:100dvh}.place-detail-drawer{border-left:none;width:100vw;height:100dvh}.drawer-header{padding:var(--space-md)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;animation:modal-overlay-in var(--transition-normal);background:#000000b3;position:fixed;inset:0}.modal-panel{z-index:401;width:calc(100vw - var(--space-xl));max-width:420px;max-height:calc(100vh - var(--space-xl));padding:var(--space-xl);background:var(--glass-active);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-panel-in var(--transition-normal);border:1px solid #ffffff14;outline:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-panel{background:#000c}}.modal-title{padding-right:calc(44px + var(--space-sm));text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin:0;font-size:1rem;font-weight:800}.modal-body{margin-top:var(--space-sm);color:var(--text-secondary);font-size:.875rem;line-height:1.5}.modal-footer{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;justify-content:flex-end;display:flex}.modal-footer button{min-width:44px;min-height:44px}.modal-close{top:var(--space-md);right:var(--space-md);border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.modal-close:hover{color:var(--text-primary);background:var(--bg-card-hover)}.modal-close:focus-visible{box-shadow:0 0 0 2px var(--focus-ring);outline:none}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.fab-overlay{z-index:210;background:var(--bg-primary);position:fixed;inset:0}.fab-veil{pointer-events:none;background:linear-gradient(#0a0a0f75 0%,#0a0a0f61 45%,#0a0a0f9e 100%);position:absolute;inset:0}.fab-sheet{--fab-dock-height:calc(125px + env(safe-area-inset-bottom));z-index:211;width:var(--mobile-shell-width);flex-direction:column;animation:.2s ease-out fab-sheet-in;display:flex;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.fab-sheet:focus{outline:none}@keyframes fab-sheet-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.fab-header{height:calc(64px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 6px 0;background:var(--glass-active);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid #ffffff14;flex:none;align-items:center;display:flex}.fab-icon-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.fab-title{text-align:center;letter-spacing:.02em;color:var(--text-primary);flex:1;font-size:15px;font-weight:600}.fab-reset{border-radius:var(--radius-md);min-width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.fab-icon-btn:focus-visible,.fab-reset:focus-visible,.fab-mode:focus-visible,.fab-dock-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-sec-head:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-lg)}.fab-modes{flex-direction:column;flex:none;gap:7px;padding:9px 16px 0;display:flex}.fab-mode-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.fab-mode{background:var(--glass-closed);min-height:44px;-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-primary);text-align:center;cursor:pointer;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:13px 6px 11px;font-family:inherit;display:flex;position:relative}.fab-mode--sel{background:var(--glass-featured);border-color:#dc26268c}.fab-mode--soon{opacity:.55;cursor:default}.fab-mode-name{white-space:nowrap;font-size:13.5px;font-weight:700}.fab-mode-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:9.5px;font-weight:600}.fab-mode--sel .fab-mode-tag{color:var(--text-secondary)}.fab-mode-check{color:var(--accent-text);display:flex;position:absolute;top:10px;right:10px}.fab-mode-cap{color:var(--accent-text);letter-spacing:.01em;text-align:center;font-size:15px;font-weight:600}.fab-draft-banner{border-radius:var(--radius-md);background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-secondary);border:1px solid #ffffff24;flex:none;align-items:center;gap:10px;margin:9px 16px 0;padding:10px 8px 10px 12px;display:flex}.fab-draft-banner svg{color:var(--text-secondary);flex:none}.fab-draft-banner-text{flex:1;font-size:12.5px}.fab-draft-banner-dismiss{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.fab-draft-banner-dismiss:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-content{scrollbar-width:none;min-height:0;padding:10px 16px calc(var(--fab-dock-height) + 16px);flex-direction:column;flex:1;gap:10px;display:flex;overflow:hidden auto}.fab-content::-webkit-scrollbar{width:0;display:none}.fab-sec{border-radius:var(--radius-lg);background:var(--glass-closed);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #ffffff14;flex:none;overflow:hidden}.fab-sec--open{background:var(--glass-active)}.fab-sec-head{text-align:left;width:100%;min-height:52px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:9px 14px;font-family:inherit;display:flex}.fab-marker{width:26px;height:26px;color:var(--text-secondary);border:1px solid #ffffff40;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.fab-marker--warn{color:var(--warning);border-color:#f59e0b80}.fab-sec-tt{flex:1;min-width:0}.fab-sec-t{font-size:15px;font-weight:600;display:block}.fab-sec-sum{color:#a6a6bb;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;display:block;overflow:hidden}.fab-chev{color:var(--text-secondary);transition:transform var(--transition-fast);flex:none}.fab-sec--open .fab-chev{transform:rotate(180deg)}.fab-sec-body{border-top:1px solid #ffffff12;flex-direction:column;gap:12px;padding:2px 14px 14px;animation:.16s ease-out fab-sec-open;display:flex}@keyframes fab-sec-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fab-field{flex-direction:column;gap:6px;display:flex}.fab-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.fab-label-opt{letter-spacing:0;text-transform:none;color:var(--text-muted);font-weight:400}.fab-input{border-radius:var(--radius-md);border:1px solid var(--border);height:44px;color:var(--text-primary);background:#101017b8;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:14px;display:flex}.fab-input--area{align-items:flex-start;height:auto;min-height:64px;padding:10px 12px;line-height:1.45}.fab-input input[type=date]{min-width:0;font-family:inherit;font-size:inherit;color:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;flex:1;padding:0}.fab-input input[type=date]:focus{outline:none}.fab-input input[type=date]::-webkit-calendar-picker-indicator{display:none}.fab-input:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-hint{color:var(--text-hint);font-size:12px}.fab-row-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fab-row-2>.fab-field{min-width:0}@media (width<=349px){.fab-row-2{grid-template-columns:1fr}}.fab-tiles-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fab-tiles-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.fab-tiles-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fab-tiles-4 .fab-tile{padding:10px 4px}.fab-tile{border-radius:var(--radius-md);min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;font-family:inherit;display:flex;position:relative}.fab-tile--center{text-align:center;align-items:center}.fab-tile-name{font-size:13px;font-weight:600}.fab-tile-desc{color:var(--text-secondary);font-size:11px}.fab-tile--sel{background:#dc26261f;border-color:#dc262699}.fab-tile-check{color:var(--accent-text);display:flex;position:absolute;top:8px;right:8px}.fab-tile:focus-visible,.fab-chip:focus-visible,.fab-seg button:focus-visible,.fab-stepper button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-chips{flex-wrap:wrap;gap:8px;display:flex}.fab-chip{border-radius:var(--radius-full);min-height:40px;color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;display:inline-flex}.fab-chip--sel{background:#dc26261f;border-color:#dc262699}.fab-chip--sel svg{color:var(--accent-text)}.fab-rail{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:8px;min-height:44px;margin-right:-14px;display:flex;overflow:auto hidden}.fab-rail::-webkit-scrollbar{width:0;height:0;display:none}.fab-rail>.fab-chip{flex:none}.fab-stepper{align-items:center;gap:8px;display:flex}.fab-stepper button{border-radius:var(--radius-md);border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:#101017b8;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:18px;display:flex}.fab-stepper-value{text-align:center;flex:0 64px;min-width:36px;font-size:15px;font-weight:600}.fab-seg{border:1px solid var(--border);border-radius:var(--radius-md);display:flex;overflow:hidden}.fab-seg button{height:44px;color:var(--text-secondary);cursor:pointer;background:#10101780;border:none;flex:1;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.fab-seg button[aria-pressed=true],.fab-seg button.fab-seg--sel{color:var(--text-primary);background:#dc262629;box-shadow:inset 0 0 0 1px #dc262699}.fab-seg button[aria-pressed=true] svg,.fab-seg button.fab-seg--sel svg{color:var(--accent-text)}.fab-seg button:disabled{cursor:not-allowed;color:var(--text-muted);flex-direction:column;gap:2px}.fab-soon{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);font-size:10.5px;font-weight:600}.fab-rider-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.fab-rider{border-radius:var(--radius-md);min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;align-items:center;gap:9px;padding:9px 10px;font-family:inherit;display:flex}.fab-rider--sel{background:#dc26261f;border-color:#dc262699}.fab-rider-box{border:1px solid #ffffff4d;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.fab-rider--sel .fab-rider-box{border-color:var(--accent-text);color:var(--accent-text)}.fab-rider-info{flex-direction:column;min-width:0;display:flex}.fab-rider-name{font-size:13.5px;font-weight:600}.fab-rider-bike{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.fab-rider:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-tiles-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.fab-tiles-5 .fab-tile{padding:10px 2px}.fab-tiles-5 .fab-tile-name{white-space:nowrap;font-size:10.5px}.fab-loc-row,.fab-wp-row{align-items:center;gap:8px;display:flex}.fab-loc-icon{color:var(--text-secondary);flex:none}.fab-loc-field{flex:1;min-width:0}.fab-loc-row:has(.fab-hint){gap:0;position:relative}.fab-loc-row:has(.fab-hint) .fab-loc-icon{z-index:1;pointer-events:none;position:absolute;top:39px;left:12px}.fab-loc-row:has(.fab-hint) .place-autocomplete-input{padding-left:2.25rem}.fab-wp-remove{border-radius:var(--radius-md);border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:#101017b8;flex:none;justify-content:center;align-items:center;display:flex}.fab-wp-remove:hover{color:var(--accent-text);border-color:#dc262680}.fab-wp-remove:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-add-btn{border-radius:var(--radius-md);min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px dashed #ffffff40;align-self:flex-start;align-items:center;gap:7px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.fab-add-btn:hover{color:var(--text-primary);border-color:#dc262666}.fab-add-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-autofill{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.fab-autofill-change{color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline}.fab-autofill-change:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-ready{border-radius:var(--radius-lg);background:var(--glass-featured);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #dc262659;flex-direction:column;flex:none;gap:10px;padding:18px;display:flex}.fab-ready-head{letter-spacing:.02em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.fab-ready-head svg{color:var(--accent-text)}.fab-ready-subline{color:var(--text-secondary);margin:-4px 0 0;font-size:13px}.fab-ready-rows{flex-direction:column;display:flex}.fab-ready-row{border-bottom:1px solid #ffffff12;align-items:flex-start;gap:9px;padding:10px 0;font-size:14px;line-height:1.45;display:flex}.fab-ready-row:last-child{border-bottom:none}.fab-ready-row svg{color:var(--text-secondary);flex:none;margin-top:2px}.fab-ready-row small{color:var(--text-secondary)}.fab-ready-row--distance>span{flex-direction:column;gap:3px;display:flex}.fab-ready-row--distance small{line-height:1.45}.fab-warnrow{border-radius:var(--radius-md);color:var(--text-primary);background:#f59e0b14;border:1px solid #f59e0b59;gap:9px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.fab-warnrow svg{color:var(--warning);flex:none;margin-top:1px}.fab-input textarea{resize:vertical;min-width:0;min-height:44px;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:0 0;border:none;flex:1;padding:0}.fab-input textarea:focus{outline:none}.fab-input textarea::placeholder{color:var(--text-muted)}.fab-inline-error{color:var(--accent-text);align-items:flex-start;gap:7px;margin:0;font-size:12.5px;line-height:1.4;display:flex}.fab-inline-error svg{flex:none;margin-top:1px}.fab-sec-body .place-autocomplete-input{min-height:44px;padding-top:0;padding-bottom:0;padding-right:44px;font-size:1rem}.fab-sec-body .place-autocomplete-clear{border-radius:var(--radius-md);background:0 0;width:44px;height:44px;right:0}.fab-sec-body .place-autocomplete-clear:hover{background:#ffffff14}.fab-dock{padding:26px 16px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(#0000 0%,#000000b8 42%,#000000db 100%);position:absolute;bottom:0;left:0;right:0}.fab-dock-row{display:contents}.fab-dock-hint{display:none}.fab-sheet--erroring{--fab-dock-height:calc(193px + env(safe-area-inset-bottom))}.fab-dock-error{text-align:left;margin-bottom:10px;padding:10px 12px;font-size:12.5px;line-height:1.4}.fab-dock-btn:disabled{opacity:.72;cursor:default}.fab-dock-btn .spinner{border-color:#fff #ffffff59 #ffffff59}.fab-dock-btn{color:#fff;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;height:52px;font-family:inherit;font-size:16px;font-weight:600;display:flex}.fab-dock-under{text-align:center;color:var(--text-secondary);margin-top:8px;font-size:12px}@media (width>=1024px){.fab-overlay{background:0 0}.fab-veil{background:#00000073}.fab-sheet{background:var(--glass-closed);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff1f;border-radius:20px;width:820px;max-width:calc(100vw - 48px);max-height:90vh;animation:.2s ease-out fab-panel-in;top:50%;bottom:auto;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.fab-header{-webkit-backdrop-filter:none;background:#0000008c}.fab-modes{padding:16px 28px 0}.fab-draft-banner{margin:9px 28px 0}.fab-content{padding:14px 28px 20px}.fab-dock{background:#00000059;border-top:1px solid #ffffff14;flex:none;padding:14px 28px;display:block;position:static}.fab-dock-row{justify-content:flex-end;align-items:center;gap:14px;display:flex}.fab-dock-hint{color:var(--text-muted);margin-right:auto;font-size:12.5px;display:block}.fab-dock-btn{width:220px}.fab-dock-under{text-align:right;margin-top:6px}}@keyframes fab-panel-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.fab-sheet,.fab-sec-body{animation:none}.fab-chev{transition:none}.modal-overlay,.modal-panel{animation:none}.bottom-tab,.btn-primary,.landing-cta-primary,.cta-red-glass,.landing-resume{transition:none}.btn-primary:active:not(:disabled),.landing-cta-primary:active:not(:disabled):not([aria-disabled=true]),.cta-red-glass:active:not(:disabled):not([aria-disabled=true]),.landing-resume:active{transform:none}.landing-cta-spinner{animation:none}}@media (forced-colors:active){:focus-visible{outline-offset:2px;outline:2px solid highlight!important}.glass,.btn-secondary{border-color:canvastext}.app-header-signout{border-color:buttontext}.bottom-tab-bar{border-top:1px solid canvastext}.bottom-tab--active:before{background:highlight}}.fab-sec-body{gap:24px}.fab-sec-body>:first-child{margin-top:14px}.fab-label{letter-spacing:.06em;font-size:12px}.fab-tiles-3,.fab-tiles-4,.fab-tiles-5{grid-template-columns:1fr 1fr;gap:10px}.fab-tiles-4 .fab-tile,.fab-tiles-5 .fab-tile{padding:14px 8px}.fab-tiles-4 .fab-tile-name{white-space:normal;font-size:13px}.fab-tile{min-height:52px}.fab-chips,.fab-rail{gap:10px}.fab-chip{min-height:46px;padding:0 16px;font-size:14px}.fab-custom-miles{align-items:center;gap:10px;margin-top:10px;display:flex}.fab-custom-miles input{border-radius:var(--radius-md);min-width:0;min-height:46px;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff29;flex:0 180px;padding:0 12px;font-family:inherit;font-size:14px}.fab-custom-miles input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-custom-miles span{color:var(--text-secondary);font-size:13px}.fab-select{appearance:none;border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;padding:0 40px 0 12px;font-family:inherit;font-size:14px}.fab-select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-dd{position:relative}.fab-dd-trigger{text-align:left;justify-content:space-between;align-items:center;gap:8px;display:flex}.fab-dd-trigger svg{color:var(--text-secondary);flex:none;transition:transform .14s}.fab-dd-trigger .fab-dd-car--open{transform:rotate(180deg)}.fab-dd-placeholder{color:var(--text-secondary)}.fab-dd-list{max-height:45vh;scroll-margin-bottom:calc(var(--fab-dock-height) + 16px);border-radius:var(--radius-md);background:#0a0a0ff5;border:1px solid #ffffff29;flex-direction:column;margin-top:6px;padding:6px;animation:.14s ease-out fab-sec-open;display:flex;overflow-y:auto;box-shadow:0 12px 32px #00000080}@media (prefers-reduced-motion:reduce){.fab-dd-list{animation:none}.fab-dd-trigger svg{transition:none}}.fab-dd-opt{border-radius:var(--radius-sm);min-height:46px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:14px;display:flex}.fab-dd-opt:hover{background:#ffffff0f}.fab-dd-opt--sel{background:#dc262624}.fab-dd-opt--sel svg{color:var(--accent-text)}.fab-dd-opt--capped{opacity:.4;cursor:not-allowed}.fab-rider-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fab-rider-chip{border-radius:var(--radius-sm);min-height:44px;color:var(--text-primary);cursor:pointer;background:#dc262624;border:1px solid #dc262673;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;display:inline-flex}.fab-rider-chip svg{color:var(--accent-text)}.fab-rider-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-input input,.fab-input input[type=date],.fab-input textarea,.fab-custom-miles input{font-size:16px}.fab-dd-opt:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app-shell:has(.trip-page) .road-backdrop-scrim{background:linear-gradient(#0000008c 0%,#000000c7 8%,#000000d9 15% 100%)}.app-shell:has(.saved-page) .road-backdrop-scrim{background:linear-gradient(#0000008c 0%,#000000c7 8%,#000000d9 15% 100%)}:is(.app-shell:has(.garage-page) .road-backdrop-scrim,.app-shell:has(.rider-edit) .road-backdrop-scrim){background:linear-gradient(#0000008c 0%,#000000c7 8%,#000000d9 15% 100%)}.carousel-track{align-items:flex-start}.carousel-nav-row{justify-content:center;align-items:center;gap:var(--space-sm);display:flex}.carousel-arrow{border-radius:var(--radius-full);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,opacity .2s;display:flex}.carousel-arrow:not(:disabled):hover{color:var(--accent-text)}.carousel-arrow:disabled,.carousel-arrow[aria-disabled=true]{opacity:.4;cursor:not-allowed}.carousel-arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.carousel-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-selector-map-canvas--noninteractive{pointer-events:none}.route-step{gap:var(--space-sm);flex-direction:column;display:flex}.route-step-frame{padding:var(--space-lg);border-radius:var(--radius-lg);transition:opacity .2s;position:relative}.route-step-frame--pending{opacity:.55}@media (prefers-reduced-motion:reduce){.route-step-frame{transition:none}}.route-step-error{margin-bottom:var(--space-md)}.route-step-frame>.finished-daybar{margin-bottom:12px}.route-step-frame .route-card{box-shadow:none;gap:var(--space-sm);background:0 0;border:none;border-radius:0;padding:0;transform:none!important}.route-step-frame .route-card:hover{box-shadow:none;transform:none}.route-card-header{flex-direction:column;justify-content:center;gap:2px;height:56px;display:flex;overflow:hidden}.route-card-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:1.1875rem;font-weight:700;line-height:1.2;overflow:hidden}.route-card-facts{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;overflow:hidden}.route-card-fact-dot{color:var(--text-secondary);margin:0 6px}.route-card-fact{color:var(--text-secondary);font-weight:400}.route-card-fact--miles{color:var(--accent-text);font-weight:700}.route-card-fact--em{color:var(--text-primary);font-weight:600}.route-card-map-slot{aspect-ratio:4/3;border-radius:var(--radius-lg);height:220px}@media (width>=1024px){.route-card-map-slot{height:260px}}.route-step-stage{position:relative}.route-step-map{border-radius:var(--radius-lg);z-index:1;pointer-events:none;border:1px solid var(--border);height:220px;position:absolute;top:0;left:0;right:0;overflow:hidden}.route-step-map .route-selector-map,.route-step-map .route-selector-map-canvas,.route-step-map .route-selector-map-empty,.route-step-map .route-selector-map-skeleton{height:100%}@media (width>=1024px){.route-step-map{pointer-events:auto;height:260px}}.route-card-btn{min-height:52px}.route-card-desc{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.55}.picker-pager{flex-direction:column;align-items:center;margin-top:6px;display:flex}.picker-pager-row{justify-content:center;align-items:center;gap:18px;display:flex}.picker-pager-arrow{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,opacity .15s;display:flex}.picker-pager-arrow:hover:not(:disabled){color:var(--text-primary)}.picker-pager-arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.picker-pager-arrow:disabled{opacity:.25;cursor:default}.picker-pager-dots{justify-content:center;align-items:center;gap:8px;display:flex}.picker-pager-dot{border-radius:var(--radius-full);background:#ffffff2e;width:7px;height:7px;transition:background .2s}.picker-pager-dot--active{background:var(--accent)}.picker-pager-status{color:var(--text-secondary);text-align:center;margin:0;font-size:.75rem}.route-card-summary,.food-card-summary{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:12px 0 0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.route-card-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.route-card-chip{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);background:#ffffff0a;align-items:center;padding:4px 10px;font-size:.75rem;display:inline-flex}.route-card-details-accordion,.place-details-accordion{border-top:1px solid var(--border);margin:12px 0 0}.route-card-details-summary,.place-details-summary{min-height:48px;color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;padding:0 4px;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.route-card-details-summary::-webkit-details-marker{display:none}.place-details-summary::-webkit-details-marker{display:none}.route-card-details-summary:focus-visible,.place-details-summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-card-details-meta,.place-details-meta{color:var(--text-hint);margin-left:auto;font-size:.75rem;font-weight:500}.route-card-details-chev,.place-details-chev{color:var(--text-secondary);flex-shrink:0;transition:transform .2s}.route-card-details-accordion[open] .route-card-details-chev,.place-details-accordion[open] .place-details-chev{transform:rotate(180deg)}.route-card-details-inner,.place-details-inner{padding:0 4px var(--space-sm);color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.route-card-details-inner p,.place-details-inner p{margin:8px 0 0}.food-step-frame{padding:var(--space-lg);border-radius:var(--radius-lg);transition:opacity .2s;position:relative}.food-step-frame--pending{opacity:.55}@media (prefers-reduced-motion:reduce){.food-step-frame{transition:none}}.food-step-frame .food-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.route-reroll-btn,.food-reroll-btn{width:100%;min-height:44px;margin-top:var(--space-sm);cursor:pointer;padding:0 var(--space-sm);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-self:center;align-items:center;gap:8px;font-family:inherit;font-size:.875rem;font-weight:500;transition:opacity .15s;display:flex;color:var(--accent-text)!important}.route-reroll-btn:hover:not(:disabled),.food-reroll-btn:hover:not(:disabled){opacity:.85}.route-reroll-btn:focus-visible,.food-reroll-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-reroll-btn:disabled,.food-reroll-btn:disabled{opacity:.45;cursor:not-allowed}.journey-change-line{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:0 var(--space-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8125rem;display:flex}.journey-change-line svg{color:var(--accent-text);flex-shrink:0}.journey-change-line:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:var(--radius-sm,6px)}.journey-progress-bar{min-height:8px;margin:var(--space-sm) 0 var(--space-md);align-items:center;gap:6px;display:flex}.journey-progress-segment{background:#33363f;border-radius:2px;flex:1 1 0;height:4px}.journey-progress-segment--done{background:#7a1d1d;height:4px}.journey-progress-segment--current{background:var(--accent);border-radius:4px;height:8px}.journey-progress-segment--future{background:#33363f;height:2px}.journey-heading{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:1rem;font-weight:600}.journey-subline{margin:0 0 var(--space-md);color:var(--text-secondary);font-size:.8125rem}.modal-panel:has(.change-sheet){text-transform:none}.modal-panel:has(.change-sheet) .modal-title{text-transform:none;letter-spacing:normal}@media (width<=1023.98px){.modal-panel:has(.change-sheet){width:100%;max-width:none;max-height:80vh;padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));animation:change-sheet-slide-up var(--transition-normal);border-radius:20px 20px 0 0;position:fixed;top:auto;bottom:0;left:0;transform:none}.modal-panel:has(.change-sheet):before{content:"";width:36px;height:4px;margin:0 auto var(--space-md);background:#ffffff40;border-radius:2px;display:block}}@media (prefers-reduced-motion:reduce){.modal-panel:has(.change-sheet){animation:none}}@keyframes change-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.change-sheet-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.change-sheet-row{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-height:48px;padding:var(--space-sm) var(--space-xs);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff14;font-family:inherit;font-size:.875rem;display:flex}.change-sheet-list li:first-child .change-sheet-row{border-top:none}.change-sheet-row:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.change-sheet-row-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.change-sheet-row-action{align-items:center;gap:var(--space-xs);color:var(--accent-text);flex-shrink:0;font-weight:600;display:flex}.change-sheet-error{align-items:center;gap:var(--space-xs);margin-top:var(--space-md);color:var(--danger);font-size:.8125rem;display:flex}.fab-muststops-label{letter-spacing:normal;text-transform:none;color:var(--text-primary);font-size:13px;font-weight:600}.fab-muststops-hint{color:var(--text-secondary)}.fab-muststops-detail{flex-direction:column;gap:8px;display:flex}.fab-vibe-list{gap:8px;display:grid}.fab-vibe-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--glass-soft);min-height:44px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.fab-vibe-row[aria-pressed=true]{border-color:#dc262699}.fab-vibe-row svg{color:var(--accent-text)}.fab-vibe-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-muststops .place-suggestion-item{min-height:44px}@media (width<=1023.98px){.modal-panel:has(.fab-food-vibes-sheet){width:100%;max-width:none;max-height:80vh;padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));animation:change-sheet-slide-up var(--transition-normal);border-radius:20px 20px 0 0;top:auto;bottom:0;left:0;transform:none}.modal-panel:has(.fab-food-vibes-sheet):before{content:"";width:36px;height:4px;margin:0 auto var(--space-md);background:#ffffff40;border-radius:2px;display:block}}.fab-muststops-done{min-height:44px;color:var(--accent-text);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.fab-muststops-done:hover{text-decoration:underline}.fab-muststops-done:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fab-dock-btn--idle,.fab-dock-btn--ready{transition:background .2s,border-color .2s,box-shadow .2s}.fab-dock-btn--idle{background:var(--glass-closed);border:1px solid var(--border);box-shadow:none}.fab-dock-btn--ready{border:1px solid #0000}.fab-dock-btn--ready:disabled{box-shadow:none}@media (hover:hover) and (pointer:fine){.fab-dock-btn--idle:hover:not(:disabled){background:var(--glass-active)}.fab-dock-btn--ready:hover:not(:disabled){background:var(--accent-hover)}}@media (prefers-reduced-motion:reduce){.fab-dock-btn--idle,.fab-dock-btn--ready{transition:none}}.wt-link{min-height:44px;color:var(--accent-text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.wt-address{margin:6px 0 0}.wt-custom-time{margin-top:8px}.wt-stops-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 0 4px;display:flex}.wt-stops-intro{color:var(--text-secondary);margin:0}.wt-stops-count{color:var(--text-secondary);flex:none;padding-top:2px;font-size:12px}.wt-stops{margin:0;padding:0;list-style:none}.wt-stop{border-bottom:1px solid #ffffff14;grid-template-columns:26px 1fr 44px 44px 44px;align-items:center;gap:10px;min-height:52px;padding:6px 0;display:grid}.wt-stop:last-child{border-bottom:none}.wt-stop-n{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.wt-stop-n--find{color:var(--text-secondary);background:#ffffff1f}.wt-stop-n--biker{background:var(--accent);color:#fff}.wt-stop-n--bar{background:var(--warning);color:#16161d}.wt-stop-a11y{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wt-stop-txt{flex-direction:column;min-width:0;display:flex}.wt-row-t{color:var(--text-primary);font-size:14px;font-weight:600}.wt-row-s{color:var(--text-secondary);font-size:12px}.wt-stop-x{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.wt-stop-x:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wt-stop-mv{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.wt-stop-mv:disabled{opacity:.35;cursor:default}.wt-stop-mv:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wt-stop-hints{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:4px;display:grid}.wt-hint--kind{grid-column:1/-1}.wt-hint{flex-direction:column;gap:4px;min-width:0;display:flex}.wt-hint .fab-dd-trigger{min-height:44px;padding-right:12px}.wt-hint .fab-dd-trigger>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wt-heading{color:var(--text-secondary);margin:0 0 6px}.wt-row-leg{color:var(--text-secondary);font-size:12px}.wt-loop{color:var(--text-secondary);margin:6px 0 0}.wt-add{min-height:44px;margin-top:8px}.wt-add:disabled{opacity:.5;cursor:default}.wt-addstop{flex-direction:column;gap:10px;display:flex}.wt-search{position:relative}.wt-search-ic{color:var(--text-secondary);pointer-events:none;position:absolute;top:14px;left:12px}.wt-search .place-autocomplete-input{padding-left:36px}.wt-sug-typed{border-radius:var(--radius-md);text-align:left;width:100%;min-height:52px;color:var(--text-primary);cursor:pointer;background:#ffffff08;border:1px dashed #fff3;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;font-family:inherit;display:flex}.wt-sug-typed:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wt-or{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:6px 0 0;font-size:11px}.wt-findrows{flex-direction:column;display:flex}.wt-findrow{border-bottom:1px solid #ffffff14;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:56px;padding:6px 0;display:grid}.wt-findrow:last-child{border-bottom:none}.wt-findrow-ic{width:28px;height:28px;color:var(--text-secondary);background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.wt-findrow-txt{flex-direction:column;min-width:0;display:flex}.wt-findrow-add{border-radius:var(--radius-full);min-width:64px;min-height:44px;color:var(--text-primary);cursor:pointer;background:#dc26261f;border:1px solid #dc262699;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600}.wt-findrow-add:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wt-browse-btn{grid-column:1/-1;justify-self:start;margin-bottom:4px}.wt-browse{flex-direction:column;gap:10px;display:flex}.wt-browse-where{color:var(--text-secondary);margin:0}.wt-browse-state{color:var(--text-secondary);flex-direction:column;gap:10px;margin:0;display:flex}.wt-browse-list{margin:0;padding:0;list-style:none}.wt-browse-row{border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:52px;padding:6px 0;display:grid}.wt-browse-row:last-child{border-bottom:none}.wt-browse-txt{flex-direction:column;min-width:0;display:flex}.wt-browse-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.wt-browse-kind{border-radius:var(--radius-full);align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.wt-browse-kind--biker{color:var(--accent-text);background:#dc262629;border:1px solid #ef4444b3}.wt-browse-kind--bar{color:var(--warning);background:#f59e0b1f;border:1px solid #f59e0bb3}.wt-browse-kind--favorite{border:1px solid var(--text-hint);color:var(--text-secondary);background:0 0}.wt-browse-actions{align-items:center;gap:4px;display:flex}.wt-findrow-add--added{color:var(--warning);background:#f59e0b1f;border-color:#f59e0bb3}.wt-browse-star{vertical-align:-1px;color:var(--text-secondary);margin-right:3px;display:inline-block}.wt-it{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.wt-it-leg{color:var(--text-secondary);padding-left:60px;font-size:12px}.wt-it-row{grid-template-columns:52px 1fr auto;align-items:center;gap:8px;min-height:44px;display:grid}.wt-it-tm{color:var(--text-secondary);flex-direction:column;font-size:12px;line-height:1.25;display:flex}.wt-it-btn{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--accent-text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.wt-it-btn:disabled{opacity:.5;cursor:default}.wt-it-pin{color:var(--text-secondary);font-size:12px}.wt-it-note{color:var(--text-secondary);align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.wt-it-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wt-it-title{color:var(--text-primary);font-size:13px;font-weight:600}.wt-it-order{color:var(--text-secondary);font-size:11px}.wt-it-txt{color:var(--text-primary);min-width:0;font-size:13px}.wt-it-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:4px;display:flex}.wt-ys{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;min-height:0;padding:10px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex;overflow:hidden auto}.wt-ys::-webkit-scrollbar{width:0;display:none}.wt-ys>*{flex-shrink:0;min-width:0}@media (width>=1024px){.wt-ys{padding:14px 28px 20px}}.wt-ys-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wt-ys-title{color:var(--text-primary);font-size:13px;font-weight:600}.wt-ys-order{color:var(--text-secondary);margin-right:auto;font-size:11px}.wt-ys-when{color:var(--text-secondary);font-size:12px;font-weight:600}.wt-ys-daybar{gap:4px;height:6px;margin-top:2px;display:flex}.wt-ys-daybar-seg{background:var(--accent);box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 3.5px var(--accent-text);border-radius:99px;flex:1}.wt-ys-note{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:#ffffff0a;align-items:flex-start;gap:10px;margin:8px 0 0;padding:10px 12px;font-size:13px;display:flex}.wt-ys-warn{border-radius:var(--radius-md);color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b59;align-items:flex-start;gap:10px;margin:8px 0 0;padding:10px 12px;font-size:13px;display:flex}.wt-ys-map{border-radius:var(--radius-lg);border:1px solid var(--border);aspect-ratio:4/3;background:#111;width:100%;min-height:220px;position:relative;overflow:hidden}.wt-ys-map>div{width:100%;height:100%}.wt-loop-map-note{border-radius:var(--radius-sm);color:var(--text-secondary);background:#000000b8;margin:0;padding:4px 6px;font-size:11px;line-height:1.25;position:absolute;inset:auto 8px 8px}.wt-ys-name{letter-spacing:-.02em;color:var(--text-primary);margin:10px 0 0;font-size:22px;font-weight:700;line-height:1.2}.wt-ys-facts{color:var(--text-secondary);margin:0;font-size:14px}.wt-ys-facts b{color:var(--accent-text);font-weight:600}.wt-ys-error{margin:8px 0 0;font-size:13px}.wt-ys-lock{cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin-top:4px;font-size:15px;font-weight:600;display:inline-flex}.wt-ys-loading{justify-content:center;align-items:center;padding:32px 0;display:flex}.wt-ys-it{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:12px;padding-top:4px;display:flex}.wt-ys-leg{color:var(--text-secondary);border-bottom:1px solid var(--border);background:#ffffff05;padding:6px 12px 6px 62px;font-size:11px}.wt-ys-row{border-bottom:1px solid var(--border);grid-template-columns:52px 1fr auto auto;align-items:start;gap:10px;padding:10px 0;display:grid}.wt-ys-tm{color:var(--text-secondary);flex-direction:column;padding-top:2px;font-size:12px;font-weight:600;display:flex}.wt-ys-tm small{color:var(--text-secondary);font-weight:500;display:block}.wt-ys-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.wt-ys-nm{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.wt-ys-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);border:1px solid #ef444480;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.wt-ys-kind,.wt-ys-meta{color:var(--text-secondary);font-size:12px}.wt-ys-flag{color:var(--warning);font-size:11px;font-weight:500}.wt-ys-kick{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:#ffffff0a;align-items:flex-start;gap:10px;margin:12px 0 0;padding:10px 12px;font-size:13px;display:flex}.wt-ys-replan{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--accent-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:500;display:inline-flex}.wt-ys-back{width:100%;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;display:inline-flex}.wt-ys-keep{border:1px solid var(--border);border-radius:var(--radius-md);width:44px;height:44px;color:var(--accent-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.wt-ys-keep:disabled{opacity:.5;cursor:default}.wt-ys-keep svg{opacity:0}.wt-ys-keep--on{border-color:var(--accent-text)}.wt-ys-keep--on svg{opacity:1}.wt-ys-tap{text-align:left;min-height:44px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.wt-ys-picks{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;margin:0 0 4px;padding:4px 0 4px 62px;list-style:none;display:flex}.wt-ys-pick{border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;min-height:44px;color:var(--text-primary);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;padding:6px 10px;display:flex}.wt-ys-pick--here{cursor:default;border-style:dashed}.wt-ys-pick-nm{font-size:14px;font-weight:600}.wt-ys-pick-meta{color:var(--text-secondary);font-size:12px}.wt-ys-nopicks{color:var(--text-secondary);padding:6px 0;font-size:12px}.wt-ys-row--dim{opacity:.45}.wt-ys-replan-line{color:var(--text-secondary);border-bottom:1px solid var(--border);margin:0;padding:8px 12px 8px 62px;font-size:12px}.wt-ys-over{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b59;flex-direction:column;gap:10px;margin:8px 0 0;padding:10px 12px;display:flex}.wt-ys-over-line{color:var(--warning);margin:0;font-size:13px}.wt-ys-over-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wt-ys-over-btn{border:1px solid var(--border);border-radius:var(--radius-md);min-height:52px;color:var(--accent-text);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:14px;font-weight:600;display:inline-flex}.wt-ys-over-hint{color:var(--text-secondary);font-size:11px;font-weight:500}.wt-ys-gaveway{color:var(--text-secondary);margin:0;font-size:12px}.wt-ys-fuel{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b59;flex-direction:column;gap:10px;margin:6px 12px;padding:10px 12px;display:flex}.wt-ys-fuel--quiet{border-color:var(--border);background:#ffffff08}.wt-ys-fuel-line,.wt-ys-fuel-remind{color:var(--warning);align-items:flex-start;gap:8px;margin:0;font-size:13px;display:flex}.wt-ys-fuel-remind{margin:8px 0 0;font-size:12px}.wt-ys-fuel-none{color:var(--text-secondary);margin:0;font-size:12px}.wt-ys-fuel-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wt-ys-fuel-btns--one{grid-template-columns:1fr}.wt-ys-leftout{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff0a;flex-direction:column;gap:8px;margin:8px 0 0;padding:10px 12px;display:flex}.wt-ys-leftout-title{color:var(--text-secondary);margin:0;font-size:12px;font-weight:600}.wt-ys-leftout-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.wt-ys-leftout-keep{border:1px solid var(--border);border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--text-hint);cursor:pointer;background:0 0;padding:0 14px;font-size:13px;font-weight:600}.wt-ys-fold{border-top:1px solid var(--border);margin:12px 0 0}.wt-ys-fold-toggle{width:100%;min-height:44px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:13px;font-weight:500;display:flex}.wt-ys-fold-chev{transition:transform .15s}.wt-ys-fold-chev--open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.wt-ys-fold-chev{transition:none}}.wt-ys-fold-list{flex-direction:column;gap:4px;padding:0 4px 8px;display:flex}.wt-ys-fold-row{color:var(--text-hint);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.wt-ys-fold-item{flex-direction:column;gap:6px;display:flex}.wt-ys-fold-miss{color:var(--text-secondary);margin:0;font-size:12px}.wt-way-warn{color:var(--warning);margin-top:4px;font-size:12px}:is(.modal-panel:has(.wt-addstop),.modal-panel:has(.wt-browse)){text-transform:none}:is(.modal-panel:has(.wt-addstop) .modal-title,.modal-panel:has(.wt-browse) .modal-title){text-transform:none;letter-spacing:normal}@media (width<=1023.98px){:is(.modal-panel:has(.wt-addstop),.modal-panel:has(.wt-browse)){width:100%;max-width:none;max-height:86vh;padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));animation:change-sheet-slide-up var(--transition-normal);border-radius:20px 20px 0 0;position:fixed;top:auto;bottom:0;left:0;overflow-y:auto;transform:none}.modal-panel:has(.wt-addstop):before{content:"";width:36px;height:4px;margin:0 auto var(--space-md);background:#ffffff40;border-radius:2px;display:block}.modal-panel:has(.wt-browse):before{content:"";width:36px;height:4px;margin:0 auto var(--space-md);background:#ffffff40;border-radius:2px;display:block}}@media (hover:hover) and (pointer:fine){.wt-stop-x:hover{color:var(--text-primary);background:#ffffff0f}}@media (prefers-reduced-motion:reduce){:is(.modal-panel:has(.wt-addstop),.modal-panel:has(.wt-browse)){animation:none}}.journey-arc{margin:0 0 var(--space-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.fab-blockrow{border-radius:var(--radius-md);color:var(--text-primary);background:#ef444414;border:1px solid #ef444459;gap:9px;margin-bottom:10px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.fab-blockrow svg{color:var(--accent-text);flex:none;margin-top:1px}.fab-ready .fab-warnrow{margin-bottom:10px}.finished-carousel-wrapper{flex-direction:column;display:flex}.finished-carousel .carousel-track{align-items:flex-start}.finished-slide-nav{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.finished-day-card>.finished-slide-nav{margin-bottom:0}.finished-slide-nav-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.finished-slide-nav-row{justify-content:center;align-items:center;max-width:100%;display:flex}.finished-slide-nav .carousel-dots{scrollbar-width:none;justify-content:flex-start;min-width:0;max-width:100%;overflow-x:auto}.finished-slide-nav .carousel-dots::-webkit-scrollbar{display:none}.finished-slide-nav .carousel-arrow{color:var(--text-primary)}.finished-slide-nav .carousel-dot:not(.carousel-dot--active):after{background:#ffffff59;border-color:#ffffff40}.finished-slide-nav .carousel-dot:not(.carousel-dot--active):hover:after{background:#ffffff80}.finished-slide-nav .carousel-dot--active:after{background:var(--accent);border-color:var(--accent)}.finished-overview-card{background:var(--glass-featured);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid #ffffff14}.finished-overview-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.finished-overview-summary{gap:var(--space-sm);background:var(--glass-closed);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);flex-direction:column;display:flex}.finished-overview-summary-heading{color:var(--text-primary);margin:0;font-size:1.1875rem;font-weight:700;line-height:1.3}.finished-overview-summary .finished-overview-facts{margin:0}.finished-overview-map{border-radius:var(--radius-md);width:100%;height:200px;margin-bottom:var(--space-md);overflow:hidden}.finished-overview-map--empty{background:var(--glass-closed);color:var(--text-secondary);text-align:center;padding:var(--space-md);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.finished-overview-facts{margin:0 0 var(--space-md);color:var(--text-secondary);font-size:.8125rem;font-weight:600}.finished-overview-facts .finished-facts-miles{color:var(--accent-text);font-weight:700}.finished-overview-swipe{justify-content:center;align-items:center;gap:var(--space-xs);margin:0 0 var(--space-md);color:var(--text-secondary);font-size:.75rem;display:flex}.finished-overview-swipe svg{flex-shrink:0}.finished-overview-days{flex-direction:column;display:flex}.finished-overview-dayrow{justify-content:space-between;align-items:baseline;gap:var(--space-md);min-height:44px;padding:var(--space-sm) 0;border-top:1px solid #ffffff14;font-size:.8125rem;display:flex}.finished-overview-dayrow:first-child{border-top:none}.finished-overview-dayrow-left{min-width:0;color:var(--text-primary);align-items:center;display:inline-flex}.finished-overview-dayrow-name{overflow-wrap:anywhere;min-width:0}.finished-overview-dayrow-left strong{margin-right:var(--space-xs)}.finished-overview-dayrow-flag{align-items:center;gap:var(--space-xs);margin-left:var(--space-xs);color:var(--accent-text);flex-shrink:0;font-weight:600;display:inline-flex}.finished-overview-dayrow-flag>svg{flex-shrink:0}.finished-overview-dayrow-right{color:var(--text-secondary);flex-shrink:0}@media (width>=1024px){.finished-overview-map{height:240px}}.finished-day-card{background:var(--glass-featured);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);border:1px solid #ffffff14;flex-direction:column;gap:12px;padding:14px 14px 16px;display:flex}.finished-day-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.finished-day-pill{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);align-items:center;min-height:24px;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;display:inline-flex}.finished-day-returning{align-items:center;gap:var(--space-xs);color:var(--accent-text);font-size:.875rem;font-weight:600;display:inline-flex}.finished-day-returning>svg{flex-shrink:0}.finished-daybar{flex-direction:column;gap:8px;display:flex}.finished-daybar-head{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;display:flex}.finished-daybar-label{color:var(--text-primary);font-size:.8125rem;font-weight:600}.finished-daybar-of{color:var(--text-hint);font-weight:500}.finished-daybar-wholetrip{min-height:44px;padding:0 var(--space-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.finished-daybar-wholetrip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.finished-daybar-arc{color:var(--text-secondary);font-size:.75rem;font-weight:500}.finished-daybar-track{gap:4px;height:6px;display:flex}.finished-daybar-seg{border-radius:var(--radius-full);background:#ffffff1f;flex:1}.finished-daybar-seg--ridden{background:var(--accent)}.finished-daybar-seg--current{outline:2px solid var(--accent-text);outline-offset:2px}.finished-day-title{color:var(--text-primary);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word;white-space:normal;margin:0;font-size:1.5rem;font-weight:700;line-height:1.15}.finished-day-facts{color:var(--text-secondary);margin:0;font-size:.875rem;font-weight:400}.finished-day-facts .finished-facts-miles{color:var(--accent-text);font-weight:600}.finished-day-map-block{flex-direction:column;display:flex}.finished-day-map-label{margin:0 0 var(--space-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:.6875rem;font-weight:600}.finished-day-map{border-radius:var(--radius-md);width:100%;height:160px;margin-bottom:0;overflow:hidden}.finished-day-map--empty{background:var(--glass-closed);color:var(--text-secondary);text-align:center;padding:var(--space-md);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.finished-day-map-footer{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-xs) 0;display:flex}.finished-day-map-footer-name{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.finished-day-open-maps{align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-xs);color:var(--accent-text);flex-shrink:0;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.finished-day-open-maps:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.finished-day-map-block--ratio{position:relative}.finished-day-map-block--ratio .finished-day-map{border-radius:var(--radius-lg);height:auto}.finished-day-map-block--ratio .route-selector-map-canvas{border-radius:var(--radius-lg)}.finished-day-map-pill{z-index:2;position:absolute;bottom:30px;right:10px}.finished-day-map-pills{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.finished-day-map-pill--part{flex:auto;justify-content:center;position:static}.finished-day-title .finished-day-returning{margin-top:4px;font-size:.875rem;display:flex}.finished-day-done{margin-top:4px}.finished-day-change{width:100%;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;margin-top:-6px;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.finished-day-change:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media (width>=1024px){.finished-day-map{height:200px}.finished-day-map-block--ratio .finished-day-map{height:auto}}.finished-accordion{border-radius:var(--radius-md);overflow:hidden}.finished-accordion-row{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);background:var(--glass-closed);border-radius:var(--radius-md);cursor:pointer;text-align:left;border:none;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.finished-accordion-row-label{align-items:center;gap:var(--space-sm);display:inline-flex}.finished-accordion-row--byr,.finished-accordion-row--byr svg{color:var(--accent-text)}.finished-accordion-row--warning{color:var(--warning);background:#f59e0b1a}.finished-accordion-row--warning svg{color:var(--warning)}.finished-accordion-row--conditions{color:var(--text-primary)}.finished-accordion-row--conditions .finished-accordion-row-label>svg{color:var(--accent-text)}.finished-accordion-row--trip-warning{color:var(--warning);background:#f59e0b1a}.finished-accordion-row--trip-warning svg{color:var(--warning)}.finished-accordion-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.finished-accordion-row>svg:last-child{color:var(--text-secondary);flex-shrink:0}.finished-accordion-body{background:var(--glass-active);padding:var(--space-md);border-radius:0 0 var(--radius-md) var(--radius-md)}.finished-accordion-grid{row-gap:var(--space-sm);column-gap:var(--space-md);grid-template-columns:minmax(0,88px) 1fr;display:grid}.finished-accordion-grid-row{display:contents}.finished-accordion-grid-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:.75rem;font-weight:600}.finished-accordion-grid-value{color:var(--text-secondary);overflow-wrap:break-word;font-size:.875rem}.finished-accordion-markdown{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.finished-accordion-markdown p{margin:0 0 var(--space-sm)}.finished-accordion-markdown p:last-child{margin-bottom:0}.finished-warning-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.finished-warning-item{color:var(--text-primary);font-size:.875rem;line-height:1.5}.conditions-accordion-body{gap:var(--space-md);flex-direction:column;display:flex}.conditions-summary,.conditions-no-incidents,.conditions-road-notice>p:not(.conditions-road-notice-title){color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}.conditions-section-label{margin:0 0 var(--space-xs);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.conditions-list{gap:var(--space-xs);color:var(--text-primary);flex-direction:column;margin:0;padding-left:1.125rem;font-size:.875rem;line-height:1.5;display:flex}.conditions-road-notice{gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);background:#f59e0b1a;border:1px solid #f59e0b59;flex-direction:column;display:flex}.conditions-road-notice-title{align-items:center;gap:var(--space-xs);color:var(--warning);font-weight:600;display:inline-flex}.conditions-road-notice-title svg{flex-shrink:0}.conditions-list strong{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600;display:block}.conditions-incident-summary{overflow-wrap:anywhere;display:block}.conditions-refresh-button{justify-content:center;align-self:flex-start;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--accent-text);cursor:pointer;background:0 0;border:1px solid #ffffff40;font-family:inherit;font-size:.8125rem;font-weight:600;display:inline-flex}.conditions-refresh-button:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.7}.conditions-refresh-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.conditions-refresh-button:hover:not(:disabled){background:var(--glass-closed)}}.conditions-announcement{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.finished-condbar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--glass-closed);overflow:hidden}.finished-condbar--warn{background:#f59e0b14;border-color:#f59e0b59}.finished-condbar-row{width:100%;min-height:52px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.finished-condbar-row>svg:first-child{color:var(--text-secondary);flex-shrink:0}.finished-condbar--warn .finished-condbar-row,.finished-condbar--warn .finished-condbar-row>svg:first-child{color:var(--warning)}.finished-condbar-title{white-space:nowrap;flex-shrink:0}.finished-condbar-sub{min-width:0;color:var(--text-hint);white-space:normal;text-align:right;flex:auto;margin-left:auto;font-size:.75rem;font-weight:500}.finished-condbar--warn .finished-condbar-sub{color:#d9a24a}.finished-condbar-row>svg:last-child{color:var(--text-secondary);flex-shrink:0}.finished-condbar-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.finished-condbar-body{border-top:1px solid var(--border);background:var(--glass-active);color:var(--text-secondary);gap:var(--space-sm);flex-direction:column;padding:6px 14px 14px;font-size:.8125rem;display:flex}.finished-condbar-body[hidden]{display:none}.finished-condbar-body p{margin:0}.finished-condbar-lab{margin-top:var(--space-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--text-hint);font-size:.6875rem;font-weight:600}.finished-stopsbar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--glass-closed);overflow:hidden}.finished-stopsbar-row{width:100%;min-height:52px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.finished-stopsbar-row>svg:first-child{color:var(--accent-text);flex-shrink:0}.finished-stopsbar-title{white-space:nowrap;flex-shrink:0}.finished-stopsbar-sub{min-width:0;color:var(--text-hint);white-space:normal;text-align:right;flex:auto;margin-left:auto;font-size:.75rem;font-weight:500}.finished-stopsbar-row>svg:last-child{color:var(--text-secondary);flex-shrink:0}.finished-stopsbar-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.finished-stopsbar-body{border-top:1px solid var(--border);background:var(--glass-active);padding:0 14px}.finished-stopsbar-body[hidden]{display:none}.finished-stoprow{border-top:1px solid var(--border);min-height:48px;color:inherit;align-items:center;gap:12px;padding:6px 0;text-decoration:none;display:flex}.finished-stoprow:first-child{border-top:0}.finished-stoprow--link{cursor:pointer}.finished-stoprow--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-sm)}.finished-stoprow-ic{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);background:#ffffff0f;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.finished-stoprow-body{flex-direction:column;min-width:0;display:flex}.finished-stoprow-name{color:var(--text-primary);overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.finished-stoprow-sub{color:var(--text-hint);font-size:.75rem}.finished-stoprow-ext{color:var(--text-secondary);flex-shrink:0;margin-left:auto}.finished-accordion-section+.finished-accordion-section{margin-top:var(--space-md)}.finished-helmet-line{color:var(--text-primary);font-size:.875rem;line-height:1.5}.finished-checklist{flex-direction:column;display:flex}.finished-checklist-row{align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-xs) 0;text-align:left;cursor:pointer;background:0 0;border:none;font-family:inherit;display:flex}.finished-checklist-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.finished-checklist-box{border:1.5px solid var(--text-secondary);border-radius:var(--radius-sm);width:20px;height:20px;color:var(--accent-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.finished-checklist-row[aria-pressed=true] .finished-checklist-box{border-color:var(--accent-text)}.finished-checklist-label{color:var(--text-primary);font-size:.875rem}.finished-checklist-label--checked{color:var(--text-secondary)}.finished-day-done{padding-top:var(--space-xs);border-top:1px solid #ffffff14}.finished-stops{flex-direction:column;display:flex}.finished-stops-label{margin:0 0 var(--space-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:.6875rem;font-weight:600}.finished-stop-row{align-items:center;gap:var(--space-sm);min-height:56px;padding:var(--space-sm) 0;border-top:1px solid #ffffff14;display:flex}.finished-stop-row:first-child{border-top:none}.finished-stop-icon{border-radius:var(--radius-md);background:var(--accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.finished-stop-icon--muted{background:var(--text-muted);color:var(--text-primary)}.finished-stop-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.finished-stop-row-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.finished-stop-row-name--muted{color:var(--text-secondary);font-weight:500}.finished-stop-row-facts{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.finished-stop-row-rating{align-items:center;gap:2px;display:inline-flex}.finished-stop-row-rating svg{color:var(--accent-text);flex-shrink:0}.finished-stops-label--highlights{margin-top:var(--space-md)}.finished-stop-row--scenic .finished-stop-row-body,.finished-stop-row-body--advisory{flex:1}.finished-stop-row-facts--advisory{text-overflow:clip;white-space:normal;line-height:1.35;overflow:visible}.finished-stop-row-link{align-items:center;gap:var(--space-xs);min-height:44px;color:var(--accent-text);flex-shrink:0;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.finished-stop-row-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.finished-carousel .carousel-track,.finished-accordion-row,.finished-accordion-body{transition:none}}.trip-menu-trigger{color:var(--text-secondary);box-sizing:border-box;min-width:44px;min-height:44px;padding:0 var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #ffffff26;align-items:center;gap:6px;font-family:inherit;font-size:.8125rem;font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){.trip-menu-trigger:hover{color:var(--text-primary);border-color:#ffffff59}}.trip-menu-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.trip-menu-trigger[data-state=open]{color:var(--text-primary);border-color:#ffffff59}.trip-menu-chevron{transition:transform var(--transition-fast)}.trip-menu-chevron--open{transform:rotate(180deg)}.trip-menu-dim{z-index:399;animation:modal-overlay-in var(--transition-normal);background:#00000059;position:fixed;inset:0}.trip-menu-panel{z-index:400;background:var(--glass-active);min-width:220px;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:trip-menu-panel-in var(--transition-fast);border:1px solid #ffffff14;outline:none;flex-direction:column;padding:6px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.trip-menu-panel{background:#000c}}.trip-menu-row{align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:0 var(--space-sm);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;font-family:inherit;font-size:.9375rem;font-weight:500;display:flex}.trip-menu-row svg{flex-shrink:0}@media (hover:hover) and (pointer:fine){.trip-menu-row:hover:not(:disabled){background:#ffffff0f}}.trip-menu-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.trip-menu-row:disabled{color:var(--text-muted);cursor:not-allowed}.trip-menu-row-tag{margin-left:auto}.trip-menu-row--danger,.trip-menu-row--danger svg{color:var(--accent-text)}@media (hover:hover) and (pointer:fine){.trip-menu-row--danger:hover{background:#ef44441a}}.trip-menu-rename-input{width:100%;min-height:46px;margin-top:var(--space-sm);border-radius:var(--radius-md);color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff29;padding:0 12px;font-family:inherit;font-size:14px}.trip-menu-rename-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.trip-menu-rename-input:disabled{opacity:.7}.trip-menu-rename-error{margin:var(--space-sm) 0 0;color:var(--danger);font-size:.8125rem}@keyframes trip-menu-panel-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.trip-menu-dim,.trip-menu-panel{animation:none}.trip-menu-chevron{transition:none}}@media (forced-colors:active){.trip-menu-trigger{border-color:buttontext}.trip-menu-panel{border-color:canvastext}.trip-menu-row{border-bottom:1px solid canvastext}.trip-menu-row:last-child{border-bottom:none}}.ride-empty{flex-direction:column;display:flex}.ride-empty-heading{color:var(--text-primary);margin:16px 0 0;font-size:22px;font-weight:700}.ride-empty-heading:focus:not(:focus-visible){outline:none}.ride-empty-body{margin:var(--space-sm) 0 var(--space-xl);max-width:34ch;color:var(--text-secondary);font-size:14px;line-height:1.5}.ride-empty-saved{box-sizing:border-box;width:100%;min-width:44px;min-height:48px;padding:0 var(--space-lg);border-radius:var(--radius-md);color:var(--text-primary);border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.ride-empty-saved:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.ride-empty-saved:hover{background:var(--surface-hover)}}.direction-card>button{min-height:48px}.route-selector-map-legend{border-radius:var(--radius-sm,6px);pointer-events:none;background:#0009;flex-direction:column;gap:2px;padding:4px 8px;display:flex;position:absolute;bottom:26px;right:8px}.route-selector-map-legend-item{color:#f2f2f4;white-space:nowrap;align-items:center;gap:5px;font-size:11px;line-height:1.4;display:flex}.wt-fav-heart{border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:0}.wt-fav-heart:hover{color:var(--text-primary)}.wt-fav-heart:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wt-fav-heart--active{color:var(--accent-text)}.wt-fav-error{color:var(--warning);font-size:11px}.wt-favs{flex-direction:column;gap:8px;margin-top:14px;display:flex}.wt-favs-title{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.wt-favs-empty{color:var(--text-secondary);margin:0;font-size:12px}.wt-favrow{border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:52px;padding:6px 0;display:grid}.wt-favrow:last-child{border-bottom:none}.wt-favrow-actions{align-items:center;gap:4px;display:flex}.wt-here{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.wt-here-trigger{min-height:44px;color:var(--accent-text);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px dashed #dc262666;justify-content:center;align-items:center;gap:8px;width:100%;font-size:13px;font-weight:600;display:inline-flex}.wt-here-trigger:hover{background:#dc262614}.wt-here-box{color:var(--text-secondary);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.wt-here-denied{color:var(--warning);margin:0;font-size:13px}.wt-here-failed{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.wt-here-ask{flex-direction:column;gap:8px;padding:8px 0;display:flex}.wt-here-ask-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.wt-here-ask-actions{align-items:center;gap:8px;display:flex}.wt-here-form{flex-direction:column;gap:8px;display:flex}.wt-here-rough-hint{color:var(--warning);margin:0;font-size:12px}.wt-here-label{color:var(--text-primary);font-size:13px;font-weight:600}.wt-here-actions{align-items:center;gap:8px;display:flex}.admin-invite-container{flex-direction:column;gap:1.25rem;max-height:75vh;padding-right:2px;display:flex;overflow-y:auto}.admin-section-heading{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 .75rem;font-size:.9375rem;font-weight:700;display:flex}.admin-section-heading svg{color:var(--accent-text);flex-shrink:0}.admin-invite-form{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff08;padding:1rem}.admin-form-group{flex-direction:column;gap:6px;margin-bottom:.875rem;display:flex}.admin-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.admin-input-wrapper{align-items:center;display:flex;position:relative}.admin-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.admin-input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);box-sizing:border-box;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0006;padding:9px 12px;font-family:inherit;font-size:.875rem}.admin-input-wrapper .admin-input{padding-left:36px}.admin-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #dc262640}.admin-tier-selector{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.admin-tier-pill{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:center;background:#ffffff0a;flex-direction:column;justify-content:center;align-items:center;padding:8px 6px;transition:all .15s;display:flex}.admin-tier-pill:hover{background:#ffffff14;border-color:#fff3}.admin-tier-pill.active{background:#dc262629;border-color:#dc2626a6;box-shadow:0 0 12px #dc262633}.admin-tier-title{color:var(--text-primary);font-size:.8125rem;font-weight:700}.admin-tier-pill.active .admin-tier-title{color:#fca5a5}.admin-tier-desc{color:var(--text-muted);margin-top:2px;font-size:.6875rem}.admin-checkbox-row{align-items:center;margin-top:.5rem;display:flex}.admin-checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.8125rem;display:inline-flex}.admin-roster-section{flex-direction:column;gap:.75rem;display:flex}.admin-roster-header{justify-content:space-between;align-items:center;display:flex}.admin-roster-list{flex-direction:column;gap:8px;display:flex}.admin-roster-item{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.admin-roster-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-roster-primary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-roster-email{color:var(--text-primary);overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.admin-roster-note{color:var(--text-muted);font-size:.75rem}.admin-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 6px;font-size:.6875rem;font-weight:700}.admin-badge--trial{color:#93c5fd;background:#3b82f626;border:1px solid #3b82f64d}.admin-badge--full{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d}.admin-badge--admin{color:#fca5a5;background:#dc262626;border:1px solid #dc26264d}.admin-status-tag{align-items:center;gap:4px;font-size:.6875rem;font-weight:500;display:inline-flex}.admin-status-tag--registered{color:#34d399}.admin-status-tag--pending{color:#fbbf24}.admin-revoke-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:color .15s,background-color .15s;display:flex}.admin-revoke-btn:hover{color:#ef4444;background:#ef44441f}.admin-resend-btn:hover{color:var(--text-primary);background:#ffffff14}.admin-hint{color:#fbbf24;margin:-.25rem 0 .5rem;font-size:.8125rem}.auth-form{flex-direction:column;display:flex}.auth-input{padding-top:11px;padding-bottom:11px;font-size:1rem}.admin-input-wrapper .auth-input--with-toggle{padding-right:44px}.auth-visibility-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.auth-visibility-toggle:hover,.auth-visibility-toggle:focus-visible{color:var(--text-primary);background:#ffffff14;outline:none}.auth-submit{width:100%;min-height:46px;margin-top:.25rem}.auth-link{border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;cursor:pointer;text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);background:0 0;border:none;align-self:center;margin-top:.875rem;padding:6px 10px;font-size:.875rem;font-weight:600;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40}.auth-link:hover,.auth-link:focus-visible{color:var(--text-primary);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);outline:none}.auth-alert{align-items:flex-start;margin-bottom:.875rem}.auth-alert svg{flex-shrink:0;margin-top:2px}.auth-success{border-radius:var(--radius-md);color:#a7f3d0;background:#34d3991a;border:1px solid #34d39940;align-items:flex-start;gap:10px;padding:.875rem;font-size:.875rem;line-height:1.45;display:flex}.auth-success svg{color:#34d399;flex-shrink:0;margin-top:1px}.auth-intro{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.auth-account{color:var(--text-muted);word-break:break-all;margin:-.5rem 0 1rem;font-size:.8125rem}.auth-account strong{color:var(--text-primary);font-weight:600}.auth-hint{color:var(--text-muted);transition:color var(--transition-fast);font-size:.75rem}.auth-hint--error{color:var(--danger)}.auth-footnote{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin:1.25rem 0 0;padding-top:.875rem;font-size:.8125rem;line-height:1.5}.auth-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:1rem 0 .75rem;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google{width:100%;min-height:44px}.auth-page-content{flex-direction:column;min-height:100dvh;display:flex}.auth-card{border-radius:var(--radius-lg,16px);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0a0a0cb8;width:min(100% - 2rem,420px);margin:clamp(1rem,8vh,4rem) auto 2rem;padding:1.5rem 1.25rem;animation:.32s cubic-bezier(.2,.8,.2,1) both auth-card-in;box-shadow:0 24px 60px #0000008c}.auth-card-title{color:var(--text-primary);align-items:center;gap:10px;margin:0 0 .5rem;font-size:1.25rem;font-weight:800;display:flex}.auth-card-title svg{color:var(--accent-text);flex-shrink:0}.auth-card-loading{background:0 0;min-height:160px}@keyframes auth-card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}}
