@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{color-scheme:light;--bg-base: #faf8f4;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-overlay: #f3efe7;--bg-hover: #eeeae1;--bg-pressed: #e3dfd4;--text-primary: #1a2340;--text-secondary: #525d7a;--text-tertiary: #666d80;--text-heading: #12192d;--text-on-accent: #ffffff;--text-link: #23305c;--border-default: #e7e4dc;--border-subtle: #efece4;--border-strong: #c8c2b4;--accent-primary: #23305c;--accent-primary-hover: #1a2340;--accent-secondary: #4b7dd6;--sage: #7fa88f;--sage-wash: #f1f6f4;--amber: #c89a54;--amber-wash: #faf6f0;--clay: #bd7886;--clay-wash: #f9f3f4;--sky: #6b9fd6;--sky-wash: #eef3fa;--r-xs: .25rem;--r-sm: .375rem;--r-md: .5rem;--r-lg: .875rem;--r-xl: 1.25rem;--r-pill: 9999px;--sh-0: 0 1px 0 rgba(0, 0, 0, .02);--sh-1: 0 1px 0 rgba(0, 0, 0, .02), 0 8px 18px -10px color-mix(in srgb, var(--text-heading) 16%, transparent);--sh-2: 0 1px 0 rgba(0, 0, 0, .02), 0 30px 60px -30px color-mix(in srgb, var(--text-heading) 22%, transparent);--sh-3: 0 2px 0 rgba(0, 0, 0, .02), 0 40px 80px -30px color-mix(in srgb, var(--text-heading) 28%, transparent);--f-display: "Fraunces", "Cormorant Garamond", Georgia, serif;--f-body: "Lora", Georgia, ui-serif, serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--ease: cubic-bezier(.16, 1, .3, 1);--t-fast: .16s;--t-base: .28s;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--bg-primary: var(--bg-base);--bg-secondary: var(--bg-surface);--bg-tertiary: var(--bg-overlay);--border-color: var(--border-default);--text-muted: var(--text-tertiary);--primary-color: var(--accent-primary)}[data-theme=dark]{color-scheme:dark;--bg-base: #171310;--bg-surface: #221c16;--bg-elevated: #2a221a;--bg-overlay: #332a20;--bg-hover: #2d2519;--bg-pressed: #1d1813;--text-primary: #ebe3d1;--text-secondary: #a8a08d;--text-tertiary: #8c8471;--text-heading: #fcf6e8;--text-on-accent: #1a1410;--text-link: #d4b088;--border-default: #2f271c;--border-subtle: #251e15;--border-strong: #443827;--accent-primary: #c89970;--accent-primary-hover: #d4a579;--accent-secondary: #e4bd8c;--sage: #8fbfa0;--sage-wash: #253d30;--amber: #d4aa6f;--amber-wash: #3d2e18;--clay: #cf9aa4;--clay-wash: #3a232a;--sky: #7aabdf;--sky-wash: #1e2c4a}.auth-shell{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3rem 1.25rem;background:var(--bg-base);font-family:var(--f-body);color:var(--text-primary)}.auth-brand{display:inline-block;margin-bottom:2rem;font-family:var(--f-display);font-size:1.5rem;font-weight:500;letter-spacing:.01em;color:inherit;text-decoration:none}.auth-brand em{font-style:italic;color:var(--clay);font-weight:400}.auth-card{width:100%;max-width:26rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:1.25rem;padding:2rem 1.75rem;box-shadow:var(--sh-2)}.auth-card-header{text-align:center;margin-bottom:1.5rem}.auth-card-header h1{font-family:var(--f-display);font-size:1.6rem;font-weight:500;margin:0 0 .4rem;color:var(--text-heading)}.auth-subtitle{font-size:.92rem;color:var(--text-tertiary);margin:0;line-height:1.45}.auth-card-body{display:flex;flex-direction:column;gap:1rem}.auth-card-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-tertiary)}.auth-card-footer a{color:var(--accent-primary);text-decoration:none;font-weight:500}.auth-card-footer a:hover{text-decoration:underline}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-field{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.auth-field>span{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);font-weight:500}.auth-field input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-default);border-radius:.55rem;padding:.65rem .75rem;font-size:.95rem;font-family:inherit;color:var(--text-primary);background:var(--bg-base);transition:border-color .15s ease,box-shadow .15s ease}.auth-field input:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px color-mix(in srgb,var(--clay) 22%,transparent)}.auth-field input::placeholder{color:var(--text-tertiary)}.auth-field-aside{font-weight:400;font-size:.82rem;color:var(--accent-primary);text-decoration:none}.auth-field-aside:hover{text-decoration:underline}.auth-primary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid transparent;border-radius:.55rem;padding:.7rem 1rem;font-size:.95rem;font-weight:500;font-family:inherit;color:var(--text-on-accent);background:var(--accent-primary);cursor:pointer;transition:background .15s ease,transform 80ms ease}.auth-primary-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.auth-primary-btn:active:not(:disabled){transform:translateY(1px)}.auth-primary-btn:disabled{opacity:.6;cursor:not-allowed}.auth-secondary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;border:1px solid var(--border-default);border-radius:.55rem;padding:.55rem .95rem;font-size:.9rem;font-weight:500;font-family:inherit;color:var(--text-secondary);background:var(--bg-surface);text-decoration:none;cursor:pointer}.auth-secondary-btn:hover{border-color:var(--border-strong)}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;color:var(--accent-primary);cursor:pointer;font-size:.85rem}.link-btn:hover{text-decoration:underline}.google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;font-size:.95rem;font-family:inherit;font-weight:500;background:#fff;color:#1f1f1f;border:1px solid #DADCE0;border-radius:.55rem;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.google-btn:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px #0000000d}.google-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .google-btn{background:#131314;color:#e3e3e3;border-color:#5f6368}[data-theme=dark] .google-btn:hover:not(:disabled){background:#1e1f20;box-shadow:0 1px 3px #0006}.google-btn-icon{display:inline-flex;align-items:center;justify-content:center}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--text-tertiary);font-size:.8rem;gap:.75rem;margin:.1rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.auth-error{color:#b36868;background:color-mix(in srgb,#b36868 10%,var(--bg-surface));border:1px solid color-mix(in srgb,#b36868 28%,transparent);border-radius:.5rem;padding:.55rem .75rem;font-size:.85rem;margin:0}[data-theme=dark] .auth-error{color:#e0a0a0}.auth-success{color:var(--text-secondary);background:var(--sage-wash);border:1px solid color-mix(in srgb,var(--sage) 35%,transparent);border-radius:.5rem;padding:.75rem .9rem;font-size:.9rem}.auth-success p{margin:0}.auth-muted{color:var(--text-tertiary);font-size:.9rem;margin:0}.auth-muted a{color:var(--accent-primary)}.auth-fineprint{color:var(--text-tertiary);font-size:.78rem;margin:0;line-height:1.4}.auth-stack{display:flex;flex-direction:column;gap:.85rem}.pw-strength{position:relative;height:6px;background:var(--bg-hover);border-radius:999px;overflow:hidden;margin-top:.35rem}.pw-strength .pw-strength-bar{height:100%;background:#b36868;transition:width .2s ease,background .2s ease}.pw-strength .pw-strength-label{position:absolute;right:0;top:-1.2rem;font-size:.75rem;color:var(--text-tertiary)}.pw-strength.pw-strength-2 .pw-strength-bar,.pw-strength.pw-strength-3 .pw-strength-bar{background:var(--amber)}.pw-strength.pw-strength-4 .pw-strength-bar,.pw-strength.pw-strength-5 .pw-strength-bar{background:var(--sage)}.account-shell{max-width:40rem;margin:0 auto;padding:2.5rem 1.25rem 4rem;font-family:var(--f-body);color:var(--text-primary)}.account-header{margin-bottom:1.5rem;text-align:center}.account-header h1{font-family:var(--f-display);font-weight:500;font-size:1.8rem;margin:.75rem 0 0;color:var(--text-heading)}.account-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:1rem;padding:1.4rem 1.5rem;margin-bottom:1rem;box-shadow:var(--sh-1)}.account-card h2{font-family:var(--f-display);font-size:1.1rem;font-weight:500;margin:0 0 .85rem;color:var(--text-heading)}.account-dl{margin:0;display:grid;gap:.5rem}.account-dl>div{display:flex;flex-direction:column;gap:.15rem}.account-dl dt{font-size:.78rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.account-dl dd{margin:0;font-size:.95rem;color:var(--text-primary)}.account-pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:500;margin-left:.4rem;vertical-align:middle}.account-pill-ok{background:var(--sage-wash);color:var(--sage)}.account-pill-warn{background:var(--amber-wash);color:var(--amber)}.account-inline-cta{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.account-inline-cta p{margin:0 0 .65rem;font-size:.9rem;color:var(--text-tertiary)}.account-footer{margin-top:1.5rem;text-align:center}.verify-gate{background:var(--amber-wash);border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);border-radius:.75rem;padding:1rem 1.15rem;font-size:.9rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.65rem;align-items:flex-start}.verify-gate p{margin:0}.verify-banner{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;background:var(--amber-wash);border-bottom:1px solid color-mix(in srgb,var(--amber) 40%,transparent);font-size:.85rem;color:var(--text-secondary)}.verify-banner i{font-size:1rem;color:var(--amber)}.verify-banner .verify-banner-text{flex:1}.verify-banner .verify-banner-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid color-mix(in srgb,var(--amber) 55%,transparent);color:var(--amber);border-radius:.4rem;padding:.25rem .7rem;font-size:.8rem;font-weight:500;cursor:pointer}.verify-banner .verify-banner-action:hover:not(:disabled){background:color-mix(in srgb,var(--amber) 22%,transparent)}.verify-banner .verify-banner-action:disabled{opacity:.6;cursor:default}.verify-banner .verify-banner-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--amber);font-size:1.1rem;line-height:1;padding:.1rem .3rem;cursor:pointer;border-radius:.3rem}.verify-banner .verify-banner-dismiss:hover{background:color-mix(in srgb,var(--amber) 18%,transparent)}.header-auth{position:relative;margin-left:auto}.header-auth-placeholder{display:inline-block;width:2rem;height:2rem}.header-auth-signin{margin-left:auto;color:var(--accent-primary);text-decoration:none;font-size:.9rem;font-weight:500;padding:.35rem .7rem;border-radius:.4rem}.header-auth-signin:hover{background:var(--clay-wash)}.header-auth-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border-default);border-radius:999px;padding:.25rem .6rem .25rem .3rem;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.85rem;color:inherit}.header-auth-trigger:hover{background:var(--bg-hover)}.header-auth-trigger i{font-size:.7rem;opacity:.6}.header-auth-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--accent-primary);color:var(--text-on-accent);font-size:.78rem;font-weight:600;letter-spacing:.02em}.header-auth-name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 30rem){.header-auth-name{display:none}}.header-auth-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:13rem;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:.6rem;box-shadow:var(--sh-2);padding:.35rem;z-index:1000;display:flex;flex-direction:column}.header-auth-menu a,.header-auth-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;text-align:left;padding:.5rem .7rem;border-radius:.4rem;font-size:.88rem;color:var(--text-primary);text-decoration:none;cursor:pointer}.header-auth-menu a:hover,.header-auth-menu button:hover{background:var(--bg-hover)}.header-auth-menu-header{padding:.6rem .7rem .5rem;border-bottom:1px solid var(--border-subtle);margin-bottom:.25rem;display:flex;flex-direction:column;gap:.1rem}.header-auth-menu-header strong{font-size:.88rem;color:var(--text-primary)}.header-auth-menu-header span{font-size:.78rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing{background:var(--bg-base);color:var(--text-primary);font-family:var(--f-body);min-height:100vh;display:flex;flex-direction:column}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-6);max-width:72rem;margin:0 auto;width:100%;box-sizing:border-box}.landing-nav__links{display:flex;align-items:center;gap:var(--s-4)}.landing-nav__link{color:var(--text-secondary);text-decoration:none;font-size:.95rem}.landing-nav__link:hover{color:var(--text-heading)}.landing-wordmark{font-family:var(--f-display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em;color:var(--text-heading);text-decoration:none}.landing-wordmark--sm{font-size:1rem}.landing-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-body);font-size:.95rem;border-radius:var(--r-sm);padding:.6rem 1.1rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.landing-btn--primary{background:var(--accent-primary);color:var(--text-on-accent)}.landing-btn--primary:hover{background:var(--accent-primary-hover)}.landing-btn--ghost{background:transparent;color:var(--text-heading);border-color:var(--border-strong)}.landing-btn--ghost:hover{background:var(--bg-hover)}.landing-btn--lg{font-size:1.05rem;padding:.8rem 1.5rem}.landing-hero{max-width:48rem;margin:0 auto;padding:var(--s-8) var(--s-6) var(--s-7);text-align:center}.landing-kicker{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--clay);margin:0 0 var(--s-4)}.landing-kicker--center{text-align:center}.landing-hero__title{font-family:var(--f-display);font-weight:600;font-size:clamp(2.3rem,5.2vw,3.6rem);line-height:1.08;letter-spacing:-.02em;color:var(--text-heading);margin:0 0 var(--s-5)}.landing-hero__title em{font-style:italic;color:var(--clay)}.landing-hero__lede{font-size:1.18rem;line-height:1.6;color:var(--text-secondary);margin:0 auto var(--s-6);max-width:34rem}.landing-hero__cta{display:flex;gap:var(--s-3);justify-content:center;flex-wrap:wrap}.landing-hero__note{margin:var(--s-4) 0 0;font-size:.88rem;color:var(--text-tertiary)}.landing-section{max-width:72rem;margin:0 auto;padding:var(--s-7) var(--s-6);width:100%;box-sizing:border-box}.landing-section__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.7rem,3.5vw,2.4rem);letter-spacing:-.015em;color:var(--text-heading);text-align:center;margin:0 0 var(--s-6)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s-4)}.landing-feature{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--s-5)}.landing-feature__title{font-family:var(--f-display);font-weight:600;font-size:1.2rem;color:var(--text-heading);margin:0 0 var(--s-2)}.landing-feature__body{font-size:.97rem;line-height:1.6;color:var(--text-secondary);margin:0}.landing-section--steps{text-align:center}.landing-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s-5)}.landing-step{text-align:center}.landing-step__num{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.1em;color:var(--clay)}.landing-step__title{font-family:var(--f-display);font-weight:600;font-size:1.25rem;color:var(--text-heading);margin:var(--s-2) 0}.landing-step__body{font-size:.97rem;line-height:1.6;color:var(--text-secondary);margin:0}.landing-cta-band{text-align:center;background:var(--bg-overlay);border-radius:var(--r-xl);padding:var(--s-7) var(--s-6)}.landing-cta-band__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.015em;color:var(--text-heading);margin:0 0 var(--s-3)}.landing-cta-band__lede{font-size:1.05rem;line-height:1.6;color:var(--text-secondary);margin:0 auto var(--s-5);max-width:30rem}.landing-footer{margin-top:auto;border-top:1px solid var(--border-subtle);padding:var(--s-5) var(--s-6);max-width:72rem;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3)}.landing-footer__links{display:flex;gap:var(--s-4)}.landing-footer__links a{color:var(--text-tertiary);text-decoration:none;font-size:.9rem}.landing-footer__links a:hover{color:var(--text-heading)}@media (max-width: 34rem){.landing-nav{padding:var(--s-3) var(--s-4)}.landing-nav__links{gap:var(--s-3)}.landing-hero{padding:var(--s-6) var(--s-4) var(--s-5)}.landing-section{padding:var(--s-5) var(--s-4)}.landing-cta-band{padding:var(--s-6) var(--s-4)}}@keyframes perf-skeleton-pulse{0%{opacity:.55}50%{opacity:.85}to{opacity:.55}}.perf-skeleton{background:linear-gradient(90deg,#0000000f,#0000001a,#0000000f);background-size:200% 100%;animation:perf-skeleton-pulse 1.6s ease-in-out infinite;will-change:opacity}body:not(.light-mode) .perf-skeleton{background:linear-gradient(90deg,#ffffff0f,#ffffff1a,#ffffff0f)}@media (prefers-reduced-motion: reduce){.perf-skeleton{animation:none;opacity:.7}}.perf-skeleton-card{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.perf-skeleton-card-body{display:flex;flex-direction:column;gap:.5rem;padding:.25rem .25rem .5rem}.perf-route-spinner{display:flex;align-items:center;justify-content:center;min-height:60vh;width:100%}.perf-route-spinner-dot{width:12px;height:12px;border-radius:50%;background:currentColor;opacity:.4;animation:perf-route-pulse 1s ease-in-out infinite}@keyframes perf-route-pulse{0%,to{transform:scale(.85);opacity:.35}50%{transform:scale(1.15);opacity:.75}}@media (prefers-reduced-motion: reduce){.perf-route-spinner-dot{animation:none;opacity:.6}}.perf-modal-skeleton{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1055;padding:1rem}.perf-modal-skeleton-dialog{background:var(--bs-body-bg, #fff);border-radius:.75rem;width:100%;max-width:800px;padding:1.5rem;box-shadow:0 10px 30px #0000002e}body:not(.light-mode) .perf-modal-skeleton-dialog{background:#1c1d20;color:#eee}.perf-tooltip-skeleton{position:relative;width:100%;max-width:720px;margin:auto}.perf-tooltip-skeleton-inner{background:var(--bs-body-bg, #fff);border-radius:.75rem;overflow:hidden;box-shadow:0 12px 32px #0003}body:not(.light-mode) .perf-tooltip-skeleton-inner{background:#1c1d20;color:#eee}.perf-initial-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:1rem 0}@media (max-width: 480px){.perf-initial-skeleton{grid-template-columns:1fr}}.perf-initial-skeleton-card{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-radius:.5rem}.perf-initial-skeleton-image{display:block;width:100%;aspect-ratio:16/9;border-radius:.5rem}.perf-initial-skeleton-line{display:block;height:.875rem;border-radius:.25rem}.perf-initial-skeleton-line--title{width:70%}.perf-initial-skeleton-line--meta{width:40%}
