*,:after,:before{box-sizing:border-box}:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-background:#fff;--color-surface:#f9fafb;--color-surface-elevated:#fff;--color-border:#e5e7eb;--color-text:#111827;--color-text-muted:#6b7280;--color-text-on-primary:#fff;--color-bg:#f9fafb;--color-header:#111827;--color-error:#dc2626;--color-success:#10b981;--color-warning:#f59e0b;--color-info:#0ea5e9;--color-success-bg:#d4edda;--color-success-text:#155724;--color-success-border:#c3e6cb;--color-error-bg:#f8d7da;--color-error-text:#721c24;--color-error-border:#f5c6cb;--color-warning-bg:#fef3cd;--color-warning-text:#856404;--color-warning-border:#ffc107;--color-severity-mild:#facc15;--color-severity-mild-bg:#fef9c3;--color-severity-mild-text:#854d0e;--color-severity-moderate:#f97316;--color-severity-moderate-bg:#ffedd5;--color-severity-moderate-text:#9a3412;--color-severity-severe-bg:#fee2e2;--color-severity-severe-text:#991b1b;--color-severity-positive:#16a34a;--color-severity-positive-bg:#dcfce7;--color-severity-positive-text:#166534;--color-achievement-border:#f59e0b;--color-achievement-bg:#fffbeb;--color-highlight-positive:#22c55e;--color-highlight-negative:#ef4444;--color-selected-bg:#f0f0ff;--color-auth-error-bg:#fef2f2;--color-auth-error-border:#fecaca;--color-delta-positive:#16a34a;--score-safety:#ef4444;--score-smoothness:#3b82f6;--score-eco:#22c55e;--score-focus:#a855f7;--score-overall:#f59e0b;--hero-surface:#fff;--radius:8px;--radius-sm:6px;--radius-lg:16px;--radius-pill:999px;--shadow:0 1px 3px #0000001a;--shadow-md:0 8px 24px -8px #1118271f,0 2px 6px -2px #1118270f;--shadow-lg:0 24px 48px -12px #1118272e,0 8px 16px -8px #11182714;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-display:3.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.15;--line-height-snug:1.3;--line-height-body:1.55;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--max-width-narrow:640px;--max-width-prose:720px;--max-width-wide:1120px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Courier New",monospace;--focus-ring:0 0 0 3px #4f46e573;--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--easing:cubic-bezier(.2,.8,.2,1);--image-slot-radius:12px;--image-slot-bg:#f1f5f9;--image-slot-border:#e5e7eb;--image-slot-shadow:0 4px 12px #00000014;--image-overlay-scrim:linear-gradient(180deg,#0f172a00,#0f172a8c);--login-bg-image:url(/static/media/login-bg.044524c7b0b634622ba1.jpg);--register-bg-image:url(/static/media/register-bg.a6e0c6e1b77a99e342f9.jpg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:#818cf8;--color-primary-hover:#a5b4fc;--color-background:#0f172a;--color-surface:#1e293b;--color-surface-elevated:#273548;--color-border:#334155;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-text-on-primary:#fff;--color-bg:#1e293b;--color-header:#0f172a;--color-error:#fb7185;--color-success:#34d399;--color-warning:#fbbf24;--color-info:#38bdf8;--color-success-bg:#064e3b;--color-success-text:#6ee7b7;--color-success-border:#065f46;--color-error-bg:#4c1d2e;--color-error-text:#fca5a5;--color-error-border:#6b2138;--color-warning-bg:#332b1a;--color-warning-text:#fbbf24;--color-warning-border:#a16207;--color-severity-mild:#facc15;--color-severity-mild-bg:#332b1a;--color-severity-mild-text:#fde68a;--color-severity-moderate:#f97316;--color-severity-moderate-bg:#431407;--color-severity-moderate-text:#fdba74;--color-severity-severe-bg:#4c1d2e;--color-severity-severe-text:#fca5a5;--color-severity-positive:#4ade80;--color-severity-positive-bg:#052e16;--color-severity-positive-text:#86efac;--color-achievement-border:#fbbf24;--color-achievement-bg:#422006;--color-highlight-positive:#4ade80;--color-highlight-negative:#fb7185;--color-selected-bg:#312e81;--color-auth-error-bg:#4c1d2e;--color-auth-error-border:#6b2138;--color-delta-positive:#4ade80;--shadow:0 1px 3px #0000004d;--shadow-md:0 8px 24px -8px #00000080,0 2px 6px -2px #0000004d;--shadow-lg:0 24px 48px -12px #000000b3,0 8px 16px -8px #0006;--focus-ring:0 0 0 3px #818cf880;--hero-surface:#1e293b;--image-slot-bg:#1e293b;--image-slot-border:#334155;--image-slot-shadow:0 4px 12px #0006}}[data-theme=dark]{--color-primary:#818cf8;--color-primary-hover:#a5b4fc;--color-background:#0f172a;--color-surface:#1e293b;--color-surface-elevated:#273548;--color-border:#334155;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-text-on-primary:#fff;--color-bg:#1e293b;--color-header:#0f172a;--color-error:#fb7185;--color-success:#34d399;--color-warning:#fbbf24;--color-info:#38bdf8;--color-success-bg:#064e3b;--color-success-text:#6ee7b7;--color-success-border:#065f46;--color-error-bg:#4c1d2e;--color-error-text:#fca5a5;--color-error-border:#6b2138;--color-warning-bg:#422006;--color-warning-border:#854d0e;--color-severity-mild:#facc15;--color-severity-mild-bg:#422006;--color-severity-mild-text:#fde68a;--color-severity-moderate:#f97316;--color-severity-moderate-bg:#431407;--color-severity-moderate-text:#fdba74;--color-severity-severe-bg:#4c1d2e;--color-severity-severe-text:#fca5a5;--color-severity-positive:#4ade80;--color-severity-positive-bg:#052e16;--color-severity-positive-text:#86efac;--color-achievement-border:#fbbf24;--color-achievement-bg:#422006;--color-highlight-positive:#4ade80;--color-highlight-negative:#fb7185;--color-selected-bg:#312e81;--color-auth-error-bg:#4c1d2e;--color-auth-error-border:#6b2138;--color-delta-positive:#4ade80;--shadow:0 1px 3px #0000004d;--shadow-md:0 8px 24px -8px #00000080,0 2px 6px -2px #0000004d;--shadow-lg:0 24px 48px -12px #000000b3,0 8px 16px -8px #0006;--focus-ring:0 0 0 3px #818cf880;--hero-surface:#1e293b;--image-slot-bg:#1e293b;--image-slot-border:#334155;--image-slot-shadow:0 4px 12px #0006}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--color-background);color:#111827;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);margin:0}a{color:#4f46e5;color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.image-slot{background:#f1f5f9;background:var(--image-slot-bg);border-radius:12px;border-radius:var(--image-slot-radius);box-shadow:0 4px 12px #00000014;box-shadow:var(--image-slot-shadow);display:block;overflow:hidden;position:relative}.image-slot>img,.image-slot>picture>img{display:block;height:auto;width:100%}.hero-media{aspect-ratio:16/9;background:#f1f5f9;background:var(--image-slot-bg);border-radius:12px;border-radius:var(--image-slot-radius);box-shadow:0 4px 12px #00000014;box-shadow:var(--image-slot-shadow);overflow:hidden;width:100%}.hero-media img{display:block;height:100%;object-fit:cover;width:100%}.feature-illustration{align-items:center;aspect-ratio:4/3;background:#f1f5f9;background:var(--image-slot-bg);border-radius:12px;border-radius:var(--image-slot-radius);display:flex;justify-content:center;margin-bottom:1rem;overflow:hidden;width:100%}.feature-illustration img{height:100%;object-fit:contain;width:100%}.auth-page--login{background-image:url(/static/media/login-bg.044524c7b0b634622ba1.jpg);background-image:var(--login-bg-image)}.auth-page--login,.auth-page--register{background-position:50%;background-repeat:no-repeat;background-size:cover}.auth-page--register{background-image:url(/static/media/register-bg.a6e0c6e1b77a99e342f9.jpg);background-image:var(--register-bg-image)}.step-illustration{aspect-ratio:1/1;display:block;margin:0 auto 1.25rem;max-width:280px;width:100%}.step-illustration img{height:100%;object-fit:contain;width:100%}.trends-header-illustration{display:inline-block;flex-shrink:0;height:64px;margin-right:.75rem;vertical-align:middle;width:64px}.trends-header-illustration img{height:100%;object-fit:contain;width:100%}.alpha-banner{background:#e8f4fd;background:var(--color-info-bg,#e8f4fd);border-bottom:1px solid #b8dcf5;border-bottom:1px solid var(--color-info-border,#b8dcf5);color:#0b4a6e;color:var(--color-info-text,#0b4a6e);padding:8px 24px}.alpha-banner-inner{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:0 auto;max-width:1200px}.alpha-banner-cta,.alpha-banner-text{font-size:.875rem;font-size:var(--font-size-sm,.875rem)}.alpha-banner-cta{color:inherit;font-weight:600;text-decoration:underline}.alpha-banner-cta:hover{text-decoration:none}.feedback-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:200}.feedback-modal{background:var(--color-surface);border-radius:var(--radius);border-radius:var(--radius-lg,var(--radius));box-shadow:0 8px 32px #0003;max-height:90vh;max-width:520px;overflow-y:auto;padding:24px;width:100%}.feedback-modal-title{font-size:1.125rem;font-size:var(--font-size-lg,1.125rem);margin:0 0 16px}.feedback-type-row{display:flex;gap:8px;margin-bottom:16px}.feedback-type-btn{align-items:center;background:var(--color-surface);background:var(--color-surface-elevated,var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);color:var(--color-text-secondary,var(--color-text));cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);gap:6px;padding:6px 14px;transition:border-color .15s,background .15s,color .15s}.feedback-type-btn input[type=radio]{height:0;opacity:0;position:absolute;width:0}.feedback-type-btn.selected{background:#3b82f61a;background:var(--color-primary-light,rgba(var(--color-primary-rgb,59,130,246),.1));color:var(--color-primary)}.feedback-type-btn.selected,.feedback-type-btn:hover:not(.selected){border-color:var(--color-primary)}.feedback-textarea{background:var(--color-surface);background:var(--color-surface-elevated,var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:.875rem;padding:8px 12px;resize:vertical;width:100%}.feedback-actions{display:flex;gap:8px;margin-top:16px}.feedback-msg{border-radius:var(--radius);font-size:.875rem;font-size:var(--font-size-sm,.875rem);margin-bottom:16px;padding:10px 14px}.feedback-msg.success{background:#dcfce7;background:var(--color-success-bg,#dcfce7);color:#166534;color:var(--color-success-text,#166534)}.feedback-msg.error{background:#fee2e2;background:var(--color-error-bg,#fee2e2);color:#991b1b;color:var(--color-error-text,#991b1b)}.btn-feedback{background:#0000;border:1px solid #fff6;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm,.875rem);padding:6px 14px;transition:background .15s}.btn-feedback:hover{background:#ffffff1a}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--color-header);color:var(--color-text-on-primary);padding:env(safe-area-inset-top,0) var(--space-5) 0;position:sticky;top:0;z-index:10}.app-header-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:var(--max-width-wide)}.app-logo{color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-decoration:none}.app-nav-right{align-items:center;display:flex;gap:var(--space-4)}.app-nav-user{opacity:.8}.app-nav-user,.btn-logout{font-size:var(--font-size-sm)}.btn-logout{background:#0000;border:1px solid #fff6;border-radius:var(--radius);color:#fff;padding:var(--space-2) var(--space-3);transition:background var(--duration-base) var(--easing)}.btn-logout:hover{background:#ffffff1a}.app-nav{display:flex;gap:var(--space-1);margin:0 auto;max-width:var(--max-width-wide);padding-bottom:var(--space-2)}.nav-link{border-radius:var(--radius);color:#fff9;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);text-decoration:none;transition:color var(--duration-base) var(--easing),background var(--duration-base) var(--easing)}.nav-link:hover{background:#ffffff1a;color:#fff;text-decoration:none}.nav-link.active{background:#ffffff26;color:#fff;font-weight:var(--font-weight-semibold)}.app-main{flex:1 1;margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-6) var(--space-5);width:100%}.safety-warning-banner{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning-text);padding:var(--space-2) var(--space-5)}.safety-warning-inner{align-items:center;display:flex;gap:var(--space-3);margin:0 auto;max-width:var(--max-width-wide)}.safety-warning-icon{flex-shrink:0;font-size:var(--font-size-base)}.safety-warning-text{flex:1 1;font-size:var(--font-size-sm);margin:0}.safety-warning-dismiss{background:#0000;border:none;color:var(--color-warning-text);flex-shrink:0;font-size:var(--font-size-lg);line-height:1;opacity:.7;padding:2px 6px}.safety-warning-dismiss:hover{opacity:1}@media (max-width:768px){.app-header{padding:env(safe-area-inset-top,0) var(--space-3) 0}.app-header-inner{gap:var(--space-2);height:56px}.app-logo{font-size:var(--font-size-base)}.app-nav-right{gap:var(--space-2)}.app-nav-user{display:none}.app-nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding:0 var(--space-2) var(--space-2);scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0;padding:var(--space-2)}}.page-error{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin:var(--space-8) auto;max-width:640px;padding:var(--space-6)}.page-error h2{color:var(--color-text);margin-top:0}.page-error ul{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:var(--space-4) 0;padding:0}.page-error-reload{background:var(--color-primary);border:none;border-radius:var(--radius);color:var(--color-text-on-primary);cursor:pointer;padding:var(--space-2) var(--space-4)}.page-error-reload:hover{opacity:.9}.page-error details{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-4)}.page-error-stack{border-radius:var(--radius);overflow-x:auto;padding:var(--space-2);white-space:pre-wrap;word-break:break-word}.m-shell,.page-error-stack{background:var(--color-background)}.m-shell{color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.m-shell main{flex:1 0 auto}.m-nav{background:var(--color-header);border-bottom:1px solid #ffffff14;color:#fff;position:sticky;top:0;z-index:50}.m-nav__inner{align-items:center;display:flex;gap:var(--space-5);height:64px;justify-content:space-between;margin:0 auto;max-width:var(--max-width-wide);padding:0 var(--space-5)}.m-nav__logo{color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:.01em}.m-nav__logo:hover{text-decoration:none}.m-nav__desktop{align-items:center;display:none;gap:var(--space-4)}.m-nav__link{border-radius:var(--radius-sm);color:#ffffffd9;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3);transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing)}.m-nav__link:hover{background:#ffffff14;color:#fff;text-decoration:none}.m-nav__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.m-nav__mobile{position:relative}.m-nav__mobile summary{border-radius:var(--radius-sm);cursor:pointer;list-style:none;padding:var(--space-2)}.m-nav__mobile summary::-webkit-details-marker{display:none}.m-nav__hamburger{display:inline-flex;flex-direction:column;gap:4px;width:22px}.m-nav__hamburger span{background:#fff;border-radius:var(--radius-pill);display:block;height:2px;width:100%}.m-nav__drawer{background:var(--color-header);border:1px solid #ffffff1f;border-radius:var(--radius);box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;gap:var(--space-2);min-width:220px;padding:var(--space-3);position:absolute;right:0;top:calc(100% + var(--space-2))}@media (min-width:768px){.m-nav__desktop{display:flex}.m-nav__mobile{display:none}}.m-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;line-height:var(--line-height-tight);padding:var(--space-2) var(--space-4);text-decoration:none;transition:background var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.m-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.m-btn--primary{background:var(--color-primary);color:var(--color-text-on-primary)}.m-btn--primary:hover{background:var(--color-primary-hover);color:var(--color-text-on-primary);text-decoration:none}.m-btn--ghost{background:#0000;border-color:#fff6;color:#fff}.m-btn--ghost:hover{background:#ffffff1a;color:#fff;text-decoration:none}.m-btn--outline{background:#0000;border-color:var(--color-border);color:var(--color-text)}.m-btn--outline:hover{border-color:var(--color-text);text-decoration:none}.m-btn--lg{font-size:var(--font-size-base);padding:var(--space-3) var(--space-6)}.m-btn--primary:hover{transform:translateY(-1px)}.m-footer{background:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:var(--space-8);padding:var(--space-7) var(--space-5) var(--space-5)}.m-footer__grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr;margin:0 auto;max-width:var(--max-width-wide)}@media (min-width:600px){.m-footer__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.m-footer__grid{grid-template-columns:1.5fr repeat(3,1fr)}}.m-footer__col{display:flex;flex-direction:column;gap:var(--space-2)}.m-footer__brand{color:var(--color-text);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.m-footer__tagline{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);margin:0;max-width:32ch}.m-footer__heading{color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;margin:0 0 var(--space-2);text-transform:uppercase}.m-footer__bar-version{color:var(--color-text-muted);font-family:var(--font-mono)}.m-footer__link{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.m-footer__link:hover{color:var(--color-primary);text-decoration:underline}.m-footer__bar{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--space-2);justify-content:space-between;margin:var(--space-6) auto 0;max-width:var(--max-width-wide);padding-top:var(--space-4)}.m-prose{line-height:var(--line-height-body);margin:0 auto;max-width:var(--max-width-prose);padding:var(--space-7) var(--space-5)}.m-prose h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.m-prose h2{font-size:var(--font-size-2xl);line-height:var(--line-height-snug);margin:var(--space-6) 0 var(--space-3)}.m-prose h2,.m-prose h3{font-weight:var(--font-weight-semibold)}.m-prose h3{font-size:var(--font-size-lg);margin:var(--space-5) 0 var(--space-2)}.m-prose li,.m-prose p{color:var(--color-text);font-size:var(--font-size-base)}.m-prose ol,.m-prose ul{margin:0 0 var(--space-4);padding-left:var(--space-5)}.m-prose a{color:var(--color-primary)}.m-prose__callout{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius);color:var(--color-warning-text);font-size:var(--font-size-sm);margin:var(--space-4) 0 var(--space-6);padding:var(--space-3) var(--space-4)}.m-prose__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-5)}.section-eyebrow{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.14em;margin:0 0 var(--space-3);text-transform:uppercase}.section-heading{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-6)}.hero{background:var(--hero-surface);border-bottom:1px solid var(--color-border);overflow:hidden;position:relative}.hero__inner{grid-gap:var(--space-7);align-items:center;display:grid;gap:var(--space-7);grid-template-columns:1fr;margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-8) var(--space-5)}@media (min-width:960px){.hero__inner{gap:var(--space-8);grid-template-columns:1.1fr 1fr;padding:calc(var(--space-8) + var(--space-4)) var(--space-5)}}.hero__eyebrow{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);display:inline-flex;font-family:var(--font-mono);font-size:var(--font-size-xs);gap:8px;letter-spacing:.1em;margin-bottom:var(--space-5);padding:6px 12px;text-transform:uppercase}.hero__eyebrow .dot{animation:lp-pulse 2s ease-in-out infinite;background:var(--color-success);border-radius:50%;box-shadow:0 0 0 3px #10b98133;height:6px;width:6px}@keyframes lp-pulse{0%,to{opacity:1}50%{opacity:.55}}.hero h1{text-wrap:balance;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,var(--font-size-display));font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.05;margin:0 0 var(--space-4)}.hero h1 em{color:var(--color-primary);font-style:italic;font-weight:inherit}.hero__lede{text-wrap:pretty;color:var(--color-text-muted);font-size:var(--font-size-lg);margin:0 0 var(--space-6);max-width:46ch}.hero__ctas{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__ctas-meta{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);gap:6px}.hero__ctas-meta svg{color:var(--color-success);height:14px;width:14px}.phone-wrap{align-items:center;display:flex;justify-content:center;min-height:520px;position:relative}.phone-wrap:before{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-primary) 15%,#0000),#0000 60%);content:"";inset:10% -10%;pointer-events:none;position:absolute;z-index:0}.phone{aspect-ratio:9/19.5;background:#0f172a;border-radius:42px;box-shadow:var(--shadow-lg),inset 0 0 0 1px #ffffff0a;padding:10px;position:relative;width:300px;z-index:1}.phone__screen{background:linear-gradient(180deg,#fafbff,#eef2ff);border-radius:32px;color:#111827;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.phone__notch{background:#0f172a;border-radius:0 0 14px 14px;height:22px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:90px;z-index:3}.phone__statusbar{display:flex;font-size:12px;font-weight:var(--font-weight-semibold);justify-content:space-between;padding:14px 24px 8px}.phone__body{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow:hidden;padding:12px 20px 20px}.phone__greet{color:#6b7280;font-size:var(--font-size-sm)}.phone__greet strong{color:#111827;display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-top:2px}.ring{height:200px;margin:4px auto 0;position:relative;width:200px}.ring svg{height:100%;transform:rotate(-90deg);width:100%}.ring__bg{fill:none;stroke:#e5e7eb;stroke-width:10}.ring__fg{fill:none;stroke:url(#ringGrad);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--easing)}.ring__text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.ring__value{color:#111827;font-size:52px;font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1}.ring__label{color:#6b7280;font-size:var(--font-size-xs);letter-spacing:.12em;margin-top:4px;text-transform:uppercase}.subscores{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.sub{text-align:center}.sub__bar{background:#e5e7eb;border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden}.sub__fill{border-radius:2px;height:100%}.sub__val{color:#111827;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.sub__name{color:#6b7280;font-size:10px;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.float-card{align-items:center;animation:lp-float 6s ease-in-out infinite;background:#fff;border-radius:14px;box-shadow:var(--shadow-md);color:#111827;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;max-width:200px;padding:12px 14px;position:absolute;z-index:2}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float-card__icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.float-card__icon svg{height:18px;width:18px}.float-card__meta{color:#6b7280;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);margin-top:1px}.float-card--a{animation-delay:0s;left:-12%;top:8%}.float-card--b{animation-delay:2s;right:-8%;top:40%}.float-card--c{animation-delay:4s;bottom:10%;left:-8%}@media (max-width:600px){.float-card--a,.float-card--b,.float-card--c{display:none}}.lp-features{margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-8) var(--space-5)}.lp-features__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;margin-bottom:var(--space-6)}.lp-features__head h2{margin:0}.lp-features__desc{color:var(--color-text-muted);margin:0;max-width:34ch}.features-grid{grid-gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:1fr;list-style:none;margin:0;overflow:hidden;padding:0}@media (min-width:600px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr)}}.feature-card{background:var(--color-surface-elevated);padding:var(--space-6);transition:background var(--duration-base) var(--easing)}.feature-card:hover,.feature-card__icon{background:var(--color-selected-bg)}.feature-card__icon{align-items:center;border-radius:var(--radius);color:var(--color-primary);display:inline-flex;height:44px;justify-content:center;margin-bottom:var(--space-4);width:44px}.feature-card__num{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.1em;margin-bottom:var(--space-3)}.feature-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.feature-card p{color:var(--color-text-muted);line-height:var(--line-height-body);margin:0}.lp-how{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);padding:var(--space-8) var(--space-5)}.lp-how__head{margin:0 auto var(--space-6);text-align:center}.lp-how__head,.steps-grid{max-width:var(--max-width-wide)}.steps-grid{grid-gap:var(--space-5);counter-reset:step;display:grid;gap:var(--space-5);grid-template-columns:1fr;list-style:none;margin:0 auto;padding:0}@media (min-width:768px){.steps-grid{grid-template-columns:repeat(3,1fr)}}.step-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);counter-increment:step;padding:var(--space-6);position:relative}.step-card__num{color:var(--color-primary);font-family:var(--font-display);font-size:64px;line-height:1;opacity:.15;position:absolute;right:var(--space-5);top:var(--space-4)}.step-card__badge,.step-card__num{font-weight:var(--font-weight-bold)}.step-card__badge{align-items:center;background:var(--color-primary);border-radius:var(--radius-pill);color:var(--color-text-on-primary);display:inline-flex;height:40px;justify-content:center;margin-bottom:var(--space-3);width:40px}.step-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.step-card p{color:var(--color-text-muted);margin:0}.step-card__viz{margin-top:var(--space-5)}.viz-record{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);display:flex;font-family:var(--font-mono);font-size:var(--font-size-xs);gap:10px;padding:var(--space-3) var(--space-4)}.viz-record__dot{animation:lp-pulse 1.2s infinite;background:var(--color-error);border-radius:50%;flex-shrink:0;height:8px;width:8px}.viz-record__wave{align-items:center;display:flex;flex:1 1;gap:2px;height:18px}.viz-record__wave span{animation:lp-wave 1.4s ease-in-out infinite;background:var(--color-primary);border-radius:1px;flex:1 1;opacity:.6}@keyframes lp-wave{0%,to{height:30%}50%{height:100%}}.viz-score{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.viz-score__cell{align-items:center;aspect-ratio:1;border-radius:6px;color:#fff;display:flex;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center}.viz-improve{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);height:64px;overflow:hidden;padding:var(--space-3);position:relative}.viz-improve svg{height:100%;width:100%}.lp-product{margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-8) var(--space-5)}.lp-product__head{margin-bottom:var(--space-6);text-align:center}.lp-product__head p:last-child{color:var(--color-text-muted);margin:0 auto;max-width:52ch}.product__frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.product__tabs{background:var(--color-header);border-bottom:1px solid var(--color-border);display:flex;padding:0}.product__tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#ffffffb3;cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-4) var(--space-5);transition:all var(--duration-fast) var(--easing)}.product__tabs button:hover{color:#fff}.product__tabs button[aria-selected=true]{background:#ffffff0a;border-bottom-color:var(--color-primary);color:#fff}.product__panel{background:var(--color-background);min-height:560px;padding:var(--space-6)}.dash-head{margin-bottom:var(--space-5)}.dash-head h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0 0 4px}.dash-head__sub{color:var(--color-text-muted);font-size:var(--font-size-sm)}.dash-stats{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--space-6)}.stat-card{border-radius:var(--radius)}.stat-card__label{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.1em;margin-bottom:var(--space-2);text-transform:uppercase}.stat-card__value{color:var(--color-text);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1}.stat-card__delta{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);gap:4px;margin-top:6px}.stat-card__delta--pos{color:var(--color-highlight-positive)}.dash-sub-h{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3)}.streaks{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:var(--space-6)}.streak{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);text-align:center}.streak__count{color:var(--color-primary);font-size:28px;font-weight:var(--font-weight-bold);line-height:1}.streak__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:6px}.streak__best{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.dash-trips{display:flex;flex-direction:column;gap:var(--space-2)}.trip-row{grid-gap:var(--space-4);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:default;display:grid;gap:var(--space-4);grid-template-columns:48px 1fr auto auto;padding:var(--space-3) var(--space-4);transition:border-color var(--duration-fast) var(--easing)}.trip-row:hover{border-color:var(--color-primary)}.trip-row__mini{height:32px;width:48px}.trip-row__route{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:2px}.trip-row__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.trip-row__score{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;position:relative;width:48px}.trip-row__score:before{background:var(--color-surface);border-radius:50%;content:"";inset:3px;position:absolute}.trip-row__score span{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);position:relative}.trip-row__chev{color:var(--color-text-muted)}.review-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.review-route{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 4px}.review-date{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);margin:0}.review-score-big{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;padding:var(--space-3) var(--space-5)}.review-score-big strong{color:var(--score-overall);font-size:36px;font-weight:var(--font-weight-bold);line-height:1}.review-score-big span{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.review-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr}@media (min-width:768px){.review-grid{grid-template-columns:2fr 1fr}}.review-map{aspect-ratio:16/10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;position:relative}.review-map svg{height:100%;inset:0;position:absolute;width:100%}.review-map__marker{background:#fff;border:3px solid var(--color-primary);border-radius:50%;box-shadow:0 2px 6px #0003;height:20px;position:absolute;transform:translate(-50%,-50%);width:20px}.review-map__marker--end{border-color:var(--color-error)}.review-map__pin{background:var(--color-warning);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 30%,#0000);height:10px;position:absolute;transform:translate(-50%,-50%);width:10px}.events-list{margin-top:var(--space-5)}.events-list h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3)}.event-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.event-row__sev{align-self:stretch;border-radius:3px;flex-shrink:0;width:6px}.event-row__sev--mild{background:#facc15}.event-row__sev--moderate{background:#f97316}.event-row__sev--severe{background:#ef4444}.event-row__sev--positive{background:#22c55e}.event-row__main{flex:1 1}.event-row__type{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.event-row__meta{margin-top:2px}.event-row__meta,.event-row__time{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs)}.score-breakdown{display:flex;flex-direction:column;gap:var(--space-3)}.sbd-row{grid-gap:var(--space-3);align-items:center;display:grid;gap:var(--space-3);grid-template-columns:88px 1fr 40px}.sbd-row__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sbd-row__bar{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.sbd-row__fill{border-radius:4px;height:100%}.sbd-row__val{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:right}.coaching-tip{background:var(--color-selected-bg);border-radius:var(--radius);margin-top:var(--space-5);padding:var(--space-4)}.coaching-tip__head{align-items:center;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:6px;margin-bottom:4px}.coaching-tip p{font-size:var(--font-size-sm);line-height:var(--line-height-body);margin:0}.trends-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-5);padding:var(--space-5)}.trends-chart__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.trends-chart__head h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.trends-chart__legend{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--font-size-xs);gap:var(--space-3);letter-spacing:.06em;text-transform:uppercase}.trends-chart__legend span{align-items:center;display:inline-flex;gap:5px}.trends-chart__legend i{border-radius:2px;display:inline-block;height:10px;width:10px}.trends-chart svg{display:block;height:200px;width:100%}.highlights{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:1fr}@media (min-width:600px){.highlights{grid-template-columns:repeat(2,1fr)}}.highlight{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.highlight,.highlight__arrow{align-items:center;font-size:var(--font-size-sm)}.highlight__arrow{border-radius:8px;display:inline-flex;flex-shrink:0;font-weight:var(--font-weight-bold);height:28px;justify-content:center;width:28px}.highlight--pos .highlight__arrow{background:#22c55e26;color:var(--color-highlight-positive)}.highlight--neg .highlight__arrow{background:#ef444426;color:var(--color-highlight-negative)}.lp-privacy{background:var(--color-header);color:#fff;padding:var(--space-8) var(--space-5)}.lp-privacy__inner{grid-gap:var(--space-6);align-items:center;display:grid;gap:var(--space-6);grid-template-columns:1fr;margin:0 auto;max-width:var(--max-width-wide)}@media (min-width:900px){.lp-privacy__inner{gap:var(--space-8);grid-template-columns:1fr 1.3fr}}.lp-privacy__eyebrow{color:#fff9}.lp-privacy h2{color:#fff;font-family:var(--font-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--space-4)}.lp-privacy h2 em{color:#a5b4fc;font-style:italic}.lp-privacy>.lp-privacy__inner>div>p{color:#ffffffbf;font-size:var(--font-size-lg);margin:0;max-width:46ch}.privacy-list{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media (min-width:560px){.privacy-list{grid-template-columns:1fr 1fr}}.privacy-item{align-items:flex-start;background:#ffffff08;border:1px solid #ffffff1f;border-radius:var(--radius);display:flex;gap:var(--space-3);padding:var(--space-4)}.privacy-item__icon{align-items:center;background:#818cf833;border-radius:var(--radius-sm);color:#a5b4fc;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.privacy-item strong{color:#fff;display:block;font-size:var(--font-size-sm);margin-bottom:2px}.privacy-item p{color:#ffffffb3;font-size:var(--font-size-xs);line-height:var(--line-height-body);margin:0}.lp-install{margin:0 auto;max-width:var(--max-width-wide);padding:var(--space-8) var(--space-5)}.lp-install__head{margin-bottom:var(--space-6);text-align:center}.lp-install__head p:last-child{color:var(--color-text-muted);margin:0 auto;max-width:48ch}.install-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr}@media (min-width:768px){.install-grid{grid-template-columns:repeat(3,1fr)}}.install-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-3);overflow:hidden;padding:var(--space-6);position:relative;text-align:center;transition:border-color var(--duration-base) var(--easing),transform var(--duration-base) var(--easing)}.install-card:hover{border-color:var(--color-primary);transform:translateY(-3px)}.install-card__device{color:var(--color-text);opacity:.75}.install-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.install-card p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.install-card__badge{background:var(--color-selected-bg);border-radius:var(--radius-pill);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.1em;padding:4px 8px;position:absolute;right:12px;text-transform:uppercase;top:12px}.install-card__form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);max-width:320px;width:100%}.install-card__label{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.1em;text-align:left;text-transform:uppercase}.install-card__input{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);padding:10px 12px}.install-card__input:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.install-card__msg{font-size:var(--font-size-sm);margin:0;text-align:left}.install-card__msg--success{color:var(--color-highlight-positive)}.install-card__msg--error{color:var(--color-error)}.lp-faq{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);padding:var(--space-8) var(--space-5)}.lp-faq__inner{margin:0 auto;max-width:var(--max-width-prose)}.lp-faq__inner h2{margin-bottom:var(--space-6)}.lp-faq details{border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.lp-faq details[open] summary{color:var(--color-primary)}.lp-faq summary{align-items:center;cursor:pointer;display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-4);justify-content:space-between;list-style:none;padding:var(--space-2) 0;-webkit-user-select:none;user-select:none}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{color:var(--color-text-muted);content:"+";flex-shrink:0;font-size:24px;font-weight:var(--font-weight-regular);transition:transform var(--duration-base) var(--easing)}.lp-faq details[open] summary:after{color:var(--color-primary);content:"−"}.faq-body{color:var(--color-text-muted);line-height:var(--line-height-body);padding:var(--space-3) 0 0}.lp-cta-final{padding:var(--space-8) var(--space-5);text-align:center}.lp-cta-final__inner{margin:0 auto;max-width:var(--max-width-prose)}.lp-cta-final h2{font-family:var(--font-display);font-size:clamp(2rem,5vw,var(--font-size-5xl));font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.05;margin:0 0 var(--space-4)}.lp-cta-final h2 em{color:var(--color-primary);font-style:italic}.lp-cta-final p{color:var(--color-text-muted);font-size:var(--font-size-lg);margin:0 0 var(--space-5)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--easing),transform .6s var(--easing)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.float-card,.reveal,.ring__fg,.sub__fill{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}.auth-page{align-items:center;background:var(--color-surface);display:flex;justify-content:center;min-height:100vh;padding:var(--space-5)}.auth-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;padding:var(--space-7);width:100%}.auth-card h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight);margin:0 0 var(--space-5)}.auth-form{gap:var(--space-4)}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-2)}.auth-form input{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);outline:none;padding:var(--space-3);transition:border-color var(--duration-base) var(--easing)}.auth-form input:focus{border-color:var(--color-primary)}.auth-error{background:var(--color-auth-error-bg);border:1px solid var(--color-auth-error-border);border-radius:var(--radius);color:var(--color-error);font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4)}.btn-submit{background:var(--color-primary);border:none;border-radius:var(--radius);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:var(--space-1);padding:var(--space-3);transition:background var(--duration-base) var(--easing)}.btn-submit:hover:not(:disabled){background:var(--color-primary-hover)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.auth-link{font-size:var(--font-size-sm)}.auth-link,.auth-version{color:var(--color-text-muted);margin:var(--space-5) 0 0;text-align:center}.auth-version{font-size:var(--font-size-xs);opacity:.6}.skeleton{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#e2e8f0,#edf2f7 50%,#e2e8f0);background:linear-gradient(90deg,var(--color-skeleton-base,#e2e8f0) 0,var(--color-skeleton-shimmer,#edf2f7) 50%,var(--color-skeleton-base,#e2e8f0) 100%);background-size:200% 100%;border-radius:4px;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-mb-sm{margin-bottom:var(--space-2)}.skeleton-mb-md{margin-bottom:var(--space-3)}.skeleton-mb-lg{margin-bottom:var(--space-5)}.skeleton-stat-card{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-row{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.skeleton-row:last-child{border-bottom:none}.dashboard h1{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-6)}.verification-banner{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius);color:var(--color-warning-text);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.deletion-cancelled-banner{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.verification-banner p{margin:0 0 var(--space-2)}.verification-banner .verification-msg{color:var(--color-text-muted)}.verification-banner .btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;text-decoration:underline}.dashboard-loading{color:var(--color-text-muted);padding:var(--space-7);text-align:center}.dashboard-stats{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--space-6)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.stat-value{color:var(--color-text);font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight)}.stat-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-1)}.dashboard-section{margin-bottom:var(--space-6)}.dashboard-section h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.015em;line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.section-header h2{margin:0}.see-all{font-size:var(--font-size-sm)}.streak-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.streak-card{padding:var(--space-4) var(--space-5)}.streak-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:var(--space-1)}.empty-state{padding:var(--space-5)}.trip-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);text-decoration:none;transition:border-color var(--duration-base) var(--easing)}.trip-card:hover{border-color:var(--color-primary);text-decoration:none}.trip-route{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.trip-card-events,.trip-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trip-card-events{white-space:nowrap}.settings h1{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-6)}.settings-version{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:var(--space-6) 0 0;opacity:.6;text-align:center}.settings-support-text{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-3)}.settings-support-link{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none}.settings-support-link:hover{text-decoration:underline}.theme-option,.theme-selector{display:flex;gap:var(--space-2)}.theme-option{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;padding:var(--space-2) var(--space-4)}.theme-option.active{background:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.settings-loading{color:var(--color-text-muted);padding:var(--space-7);text-align:center}.settings-tabs{border-bottom:2px solid var(--color-border);display:flex;gap:var(--space-1);margin-bottom:var(--space-5);overflow-x:auto}.settings-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:-2px;padding:var(--space-3) var(--space-4);transition:color var(--duration-base) var(--easing),border-color var(--duration-base) var(--easing);white-space:nowrap}.settings-tab:hover{color:var(--color-text)}.settings-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.settings-panel{max-width:var(--max-width-narrow)}.settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-5);padding:var(--space-5)}.settings-section h3{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.settings-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.settings-field:last-child{margin-bottom:0}.settings-field label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.settings-field label.required:after{color:var(--color-error);content:" *"}.settings-field input,.settings-field select{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}.settings-field input:focus,.settings-field select:focus{border-color:var(--color-primary);outline:none}.toggle-field{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-3) 0}.toggle-field:last-child{border-bottom:none}.toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.toggle-description{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.toggle-switch{flex-shrink:0;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:var(--color-border);border-radius:12px;cursor:pointer;inset:0;position:absolute;transition:background var(--duration-base) var(--easing)}.toggle-slider:before{background:var(--color-surface-elevated);border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:transform var(--duration-base) var(--easing);width:18px}.toggle-switch input:checked+.toggle-slider{background:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.vehicle-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.vehicle-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-4);transition:border-color var(--duration-base) var(--easing)}.vehicle-card:hover{border-color:var(--color-primary)}.vehicle-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.vehicle-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.vehicle-badge{background:var(--color-primary);border-radius:var(--radius-pill);color:#fff;display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-left:var(--space-2);padding:2px var(--space-2)}.vehicle-actions{display:flex;gap:var(--space-2)}.vehicle-actions button{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3)}.vehicle-actions button:hover{border-color:var(--color-primary)}.vehicle-actions button.danger{border-color:var(--color-error);color:var(--color-error)}.radio-group{flex-direction:column}.radio-group,.radio-option{display:flex;gap:var(--space-2)}.radio-option{align-items:center;cursor:pointer;font-size:var(--font-size-sm)}.radio-option input[type=radio]{accent-color:var(--color-primary)}.settings-btn{border:none;border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-3) var(--space-5);transition:opacity var(--duration-base) var(--easing)}.settings-btn:hover{opacity:.9}.settings-btn:disabled{cursor:not-allowed;opacity:.5}.settings-btn.primary{background:var(--color-primary);color:#fff}.settings-btn.secondary{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text)}.settings-btn.danger{background:var(--color-error);color:#fff}.settings-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.settings-message{border-radius:var(--radius);font-size:var(--font-size-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.settings-message.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.settings-message.error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.settings-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.settings-modal{background:var(--color-surface);border-radius:var(--radius);max-height:80vh;max-width:480px;overflow-y:auto;padding:var(--space-5);width:90%}.settings-modal h3{font-size:var(--font-size-lg);margin:0 0 var(--space-4)}.charging-profiles{margin-top:var(--space-3)}.charging-profiles h4{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.charging-profile-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--space-2) 0}.charging-profile-item:last-child{border-bottom:none}.confirm-dialog{text-align:center}.confirm-dialog p{color:var(--color-text-muted);margin:0 0 var(--space-5)}.confirm-actions{display:flex;gap:var(--space-3);justify-content:center}.account-info-value{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}.account-uuid-row{align-items:center;display:flex;gap:var(--space-2)}.account-uuid-value{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);flex:1 1;font-family:var(--font-mono);font-size:var(--font-size-sm);overflow:hidden;padding:var(--space-2) var(--space-3);text-overflow:ellipsis;white-space:nowrap}.account-copy-btn{flex-shrink:0;padding:var(--space-2) var(--space-4)}.account-edit-row{align-items:center;display:flex;gap:var(--space-2)}.account-edit-row .account-info-value,.account-edit-row input{flex:1 1}.account-edit-row .settings-btn{flex-shrink:0}.trip-list-page h1{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0}.trip-list-loading{color:var(--color-text-muted);padding:var(--space-7);text-align:center}.trip-list-header{align-items:baseline;display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.trip-count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trip-filters{margin-bottom:var(--space-5)}.trip-filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3)}.trip-filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.trip-filter-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}.trip-filter-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}.trip-filter-input:focus{border-color:var(--color-primary);outline:none}.trip-filter-clear{background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-base) var(--easing),color var(--duration-base) var(--easing)}.trip-filter-clear:hover{border-color:var(--color-primary);color:var(--color-text)}.trip-list{display:flex;flex-direction:column;gap:var(--space-2)}.trip-list-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);text-decoration:none;transition:border-color var(--duration-base) var(--easing)}.trip-list-card:hover{border-color:var(--color-primary);text-decoration:none}.trip-list-route{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.trip-list-details{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--space-4)}.trip-list-card-right{flex-shrink:0;margin-left:var(--space-4);text-align:right}.trip-list-events{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pagination{align-items:center;display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-5);padding:var(--space-4) 0}.pagination-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4);transition:border-color var(--duration-base) var(--easing),background var(--duration-base) var(--easing)}.pagination-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-info{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trip-list-status-badge{background:#f59e0b26;color:#b45309;color:var(--color-warning,#b45309);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.02em}.trip-list-score,.trip-list-status-badge{border-radius:var(--radius);display:inline-block;margin-bottom:var(--space-1);padding:var(--space-1) var(--space-2)}.trip-list-score{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);min-width:36px;text-align:center}.trip-list-score-high{background:#2e7d3226;color:#2e7d32;color:var(--color-success,#2e7d32)}.trip-list-score-mid{background:#f59e0b26;color:#b45309;color:var(--color-warning,#b45309)}.trip-list-score-low{background:#c6282826;color:#c62828;color:var(--color-error,#c62828)}.benchmark-panel{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);margin-top:1rem;padding:1rem}.benchmark-panel__header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.benchmark-panel__title{color:var(--color-text);font-size:1.1rem;font-size:var(--font-size-lg,1.1rem);font-weight:600;margin:0}.benchmark-panel__cohort-toggle{border:1px solid var(--color-border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.benchmark-panel__cohort-toggle button{background:#0000;border:0;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm,.875rem);padding:.35rem .75rem}.benchmark-panel__cohort-toggle button[aria-pressed=true]{background:var(--color-primary);color:var(--color-text-on-primary)}.benchmark-panel__empty,.benchmark-panel__insufficient{color:var(--color-text-muted);font-size:.875rem;font-size:var(--font-size-sm,.875rem);padding:.5rem 0}.metric-row{border-top:1px solid var(--color-border);padding:.75rem 0}.metric-row:first-of-type{border-top:0}.metric-row__header{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.35rem}.metric-row__name{color:var(--color-text);font-size:.9rem;font-size:var(--font-size-sm,.9rem);font-weight:600}.metric-row__absolute{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:.875rem;font-size:var(--font-size-sm,.875rem);font-variant-numeric:tabular-nums}.metric-row__badge{border-radius:999px;font-size:.8rem;font-size:var(--font-size-sm,.8rem);font-weight:600;padding:.1rem .5rem}.metric-row__badge--positive{background:var(--color-success-bg);color:var(--color-success-text)}.metric-row__badge--neutral{background:var(--color-selected-bg);color:var(--color-text)}.metric-row__badge--muted{background:var(--color-surface);color:var(--color-text-muted)}.metric-row__strip{background:linear-gradient(90deg,var(--color-highlight-negative) 0,var(--color-warning) 50%,var(--color-highlight-positive) 100%);border-radius:999px;height:8px;margin-top:.35rem;position:relative}.metric-row__tick{background:var(--color-border);height:12px;opacity:.6;position:absolute;top:-2px;width:2px}.metric-row__marker{background:var(--color-surface-elevated);border:2px solid var(--color-primary);border-radius:50%;box-shadow:var(--shadow);height:16px;margin-left:-8px;position:absolute;top:-4px;transition:left .6s cubic-bezier(.22,1,.36,1);width:16px}.metric-row__secondary{color:var(--color-text-muted);font-size:.75rem;font-size:var(--font-size-sm,.75rem);margin-top:.35rem}@media (prefers-reduced-motion:reduce){.metric-row__marker{transition:none}}.trip-review{max-width:800px}.trip-review-loading{color:var(--color-text-muted)}.trip-review-error,.trip-review-loading{padding:var(--space-7);text-align:center}.trip-review-error{color:var(--color-error)}.trip-review-header{margin-bottom:var(--space-5)}.trip-review-back{display:inline-block;font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.trip-review-route{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-1)}.trip-review-datetime{margin:0 0 var(--space-1)}.trip-review-datetime,.trip-review-stats{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trip-processing-notice,.trip-review-stats{display:flex;flex-wrap:wrap;gap:var(--space-4)}.trip-processing-notice{align-items:center;background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:var(--radius-lg);justify-content:space-between;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5)}.trip-processing-notice-text{color:#b45309;color:var(--color-warning,#b45309);flex:1 1;font-size:var(--font-size-sm);margin:0}.score-cards{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:var(--space-6)}.score-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.score-card-value{color:var(--color-primary);font-family:var(--font-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight)}.score-card-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.score-card-delta{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-top:var(--space-1)}.delta-positive{color:var(--color-delta-positive)}.delta-negative{color:var(--color-error)}.delta-neutral{color:var(--color-text-muted)}.trip-review-section{margin-bottom:var(--space-7)}.phone-summary h2,.trip-review-section h2,.trip-summary h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.015em;line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.event-list{display:flex;flex-direction:column;gap:var(--space-3)}.event-card{background:var(--color-surface-elevated);border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius);cursor:pointer;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);transition:border-color var(--duration-base) var(--easing),background var(--duration-base) var(--easing)}.event-card:hover{background:var(--color-selected-bg);border-color:var(--color-primary)}.event-card.severity-mild{border-left-color:var(--color-severity-mild)}.event-card.severity-moderate{border-left-color:var(--color-severity-moderate)}.event-card.severity-severe{border-left-color:var(--color-error)}.event-card.severity-positive{border-left-color:var(--color-severity-positive)}.event-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.event-card-type{text-transform:capitalize}.event-card-severity,.event-card-type{font-weight:var(--font-weight-semibold)}.event-card-severity{border-radius:var(--radius-pill);font-size:var(--font-size-xs);padding:2px var(--space-2);text-transform:uppercase}.event-card-severity.severity-mild{background:var(--color-severity-mild-bg);color:var(--color-severity-mild-text)}.event-card-severity.severity-moderate{background:var(--color-severity-moderate-bg);color:var(--color-severity-moderate-text)}.event-card-severity.severity-severe{background:var(--color-severity-severe-bg);color:var(--color-severity-severe-text)}.event-card-severity.severity-positive{background:var(--color-severity-positive-bg);color:var(--color-severity-positive-text)}.event-card-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.event-cost-benefit{border-top:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);margin-top:var(--space-3);padding-top:var(--space-3)}.event-cost-benefit-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.event-cost-benefit p{margin:2px 0}.trip-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-5)}.trip-summary-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.trip-summary-item{text-align:center}.trip-summary-value{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.trip-summary-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.phone-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-5)}.phone-summary-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.phone-summary-item{text-align:center}.phone-summary-value{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.phone-summary-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trip-review-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5)}.btn-delete{background:var(--color-error);border:none;border-radius:var(--radius);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-5);transition:opacity var(--duration-base) var(--easing)}.btn-delete:hover{opacity:.9}.trip-weather-summary{margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.event-weather-badge,.trip-weather-summary{align-items:center;background:var(--color-surface);border-radius:var(--radius);color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--space-2)}.event-weather-badge{margin-bottom:var(--space-2);padding:var(--space-1) var(--space-2)}.weather-icon{font-size:var(--font-size-base)}.weather-limit-detail{font-size:var(--font-size-xs);margin-left:auto}.weather-detail,.weather-limit-detail{color:var(--color-text-muted)}.phone-summary-lead{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;margin-bottom:var(--space-3);padding:var(--space-4) 0}.phone-summary-lead-value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.phone-summary-lead-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:6px}.phone-summary-secondary{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.phone-summary-tertiary{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-3)}.phone-summary-tertiary summary{cursor:pointer}.phone-summary-clean{background:var(--color-surface);border-left:3px solid var(--color-success);border-radius:var(--radius);padding:var(--space-4)}.event-card-context{color:var(--color-text-muted);font-size:var(--font-size-sm)}.event-disputed{opacity:.6}.event-disputed-badge{font-style:italic}.event-dispute{align-items:center;border-top:1px dashed var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2)}.event-dispute-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-right:var(--space-1)}.event-dispute-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}.event-dispute-btn:hover:not(:disabled){background:var(--color-surface);background:var(--color-surface-hover,var(--color-surface))}.event-dispute-btn:disabled{cursor:not-allowed;opacity:.5}.event-dispute-error{color:var(--color-error);font-size:var(--font-size-sm)}.settings-subgroup{border-left:2px solid var(--color-border);margin-top:var(--space-2);padding-left:var(--space-3)}.settings-label{color:var(--color-text-muted);display:block;font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.settings-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm);padding:var(--space-2)}.trends-page h1{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-6)}.trends-loading{color:var(--color-text-muted);padding:var(--space-7);text-align:center}.period-selector{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-1);width:fit-content}.period-btn{background:#0000;border:none;border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-5);transition:background var(--duration-base) var(--easing),color var(--duration-base) var(--easing)}.period-btn.active,.period-btn:hover{color:var(--color-text)}.period-btn.active{background:var(--color-surface-elevated);box-shadow:var(--shadow);font-weight:var(--font-weight-semibold)}.improvement-highlights h2,.trend-chart h2,.trend-overview h2,.trip-activity h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.015em;line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.trend-overview{margin-bottom:var(--space-6)}.trend-scores{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}.trend-score-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;min-width:100px;padding:var(--space-4) var(--space-5);text-align:center;transition:border-color var(--duration-base) var(--easing)}.trend-score-card:hover{border-color:var(--color-text-muted)}.trend-score-card.selected{background:var(--color-surface-elevated);box-shadow:var(--shadow)}.trend-score-value{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight)}.trend-score-label{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.trend-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.trend-chart{margin-bottom:var(--space-6)}.bar-chart{display:flex;flex-direction:column;gap:var(--space-2)}.bar-row{align-items:center;display:flex;gap:var(--space-3)}.bar-label{color:var(--color-text-muted);flex-shrink:0;font-size:var(--font-size-xs);text-align:right;width:120px}.bar-track{background:var(--color-surface);flex:1 1;height:24px;overflow:hidden}.bar-fill,.bar-track{border-radius:var(--radius-sm)}.bar-fill{height:100%;min-width:2px;transition:width var(--duration-slow) var(--easing)}.bar-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:right;width:32px}.empty-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);padding:var(--space-7) var(--space-5);text-align:center}.improvement-highlights{margin-bottom:var(--space-6)}.highlights-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.highlight-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;font-size:var(--font-size-sm);gap:var(--space-2);padding:var(--space-3) var(--space-4)}.highlight-item.positive{border-left:3px solid var(--color-highlight-positive)}.highlight-item.negative{border-left:3px solid var(--color-highlight-negative)}.highlight-icon{font-size:var(--font-size-xs)}.highlight-item.positive .highlight-icon{color:var(--color-highlight-positive)}.highlight-item.negative .highlight-icon{color:var(--color-highlight-negative)}.trip-activity{margin-bottom:var(--space-6)}.activity-chart{display:flex;flex-direction:column;gap:var(--space-2)}.activity-value{width:60px!important}.activity-detail,.activity-value{color:var(--color-text-muted);font-size:var(--font-size-xs)}.activity-detail{width:72px!important}.trends-benchmark-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-4);padding:var(--space-4);text-align:center}.achievements-page h1{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-6)}.achievements-loading{color:var(--color-text-muted);padding:var(--space-7);text-align:center}.achievements-section{margin-bottom:var(--space-6)}.achievements-section h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.015em;line-height:var(--line-height-tight);margin:0 0 var(--space-4)}.earned-count{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);letter-spacing:0}.streaks-grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}.streak-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:140px;padding:var(--space-5);text-align:center}.streak-card.active{border-color:var(--color-primary)}.streak-card.inactive{opacity:.5}.streak-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-1)}.streak-count{color:var(--color-primary);font-family:var(--font-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight)}.streak-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:var(--space-1)}.streak-best{font-size:var(--font-size-xs);margin-top:2px}.empty-hint,.streak-best{color:var(--color-text-muted)}.empty-hint{font-size:var(--font-size-sm)}.achievement-category{margin-bottom:var(--space-5)}.achievement-category h3{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin:0 0 var(--space-3);text-transform:uppercase}.achievement-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.achievement-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.achievement-card.earned{background:var(--color-achievement-bg);border-color:var(--color-achievement-border)}.achievement-card.locked{opacity:.5}.achievement-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-1)}.achievement-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.achievement-desc{margin-top:var(--space-1)}.achievement-date,.achievement-desc{color:var(--color-text-muted);font-size:var(--font-size-xs)}.achievement-date{margin-top:6px}.pb-list{display:flex;flex-direction:column;gap:var(--space-2)}.pb-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.pb-value{color:var(--color-primary);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;line-height:var(--line-height-tight);min-width:48px;text-align:center}.pb-metric{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.pb-date,.pb-prev{color:var(--color-text-muted);font-size:var(--font-size-xs)}.pb-prev{margin-left:auto}.onboarding{align-items:center;background:var(--color-surface);display:flex;justify-content:center;min-height:100vh;padding:var(--space-5)}.onboarding-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:520px;padding:var(--space-7);width:100%}.onboarding-progress{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.progress-dot{background:var(--color-border);border-radius:50%;height:10px;transition:background var(--duration-base) var(--easing);width:10px}.progress-dot.active{background:var(--color-primary)}.onboarding-step h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.015em;margin:0 0 var(--space-3)}.onboarding-step h1,.onboarding-step h2{font-family:var(--font-display);line-height:var(--line-height-tight)}.onboarding-step h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin:0 0 var(--space-2)}.onboarding-step p{color:var(--color-text-muted);margin:0 0 var(--space-5)}.welcome-points{list-style:none;margin:0 0 var(--space-5);padding:0}.welcome-points li{font-size:var(--font-size-sm);padding:var(--space-2) 0}.onboarding-hint{font-size:var(--font-size-sm);font-style:italic}.onboarding-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.onboarding-field label.required:after{color:var(--color-error);content:" *"}.onboarding-field input,.onboarding-field select{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);outline:none;padding:var(--space-3);transition:border-color var(--duration-base) var(--easing)}.onboarding-field input:focus,.onboarding-field select:focus{border-color:var(--color-primary)}.intensity-options{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.intensity-option{align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3);transition:border-color var(--duration-base) var(--easing)}.intensity-option:hover{border-color:var(--color-text-muted)}.intensity-option.selected{background:var(--color-selected-bg);border-color:var(--color-primary)}.intensity-option input[type=radio]{margin-top:3px}.intensity-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.intensity-desc{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.onboarding-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.onboarding-btn{border:none;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-3) var(--space-5);transition:background var(--duration-base) var(--easing)}.onboarding-btn.primary{background:var(--color-primary);color:#fff}.onboarding-btn.primary:hover{background:var(--color-primary-hover)}.onboarding-btn.primary:disabled{cursor:not-allowed;opacity:.6}.onboarding-btn.secondary{background:#0000;color:var(--color-text-muted)}.onboarding-btn.secondary:hover{color:var(--color-text)}.done-step{text-align:center}.privacy-text{word-wrap:break-word;color:#374151;color:var(--color-text,#374151);font-family:inherit;font-size:1rem;font-size:var(--font-size-base,1rem);line-height:1.75;margin:0;white-space:pre-wrap}.privacy-error{color:#ef4444;color:var(--color-danger,#ef4444)}.delete-account{margin:0 auto;max-width:var(--max-width-narrow);padding:var(--space-5) var(--space-4)}.delete-account h1{color:var(--color-error);font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0 0 var(--space-5)}.delete-account-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5)}.delete-account-section h2{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--line-height-tight);margin:0 0 var(--space-2)}.delete-account-label{color:var(--color-text);display:block;margin:var(--space-3) 0}.delete-account-label input{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);display:block;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);width:100%}.delete-account-google{align-items:center;display:flex;gap:var(--space-3);margin-top:var(--space-3)}.delete-account-success{color:var(--color-success)}.delete-account-error{color:var(--color-error);margin:var(--space-3) 0}.delete-account-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}