:root{--color-ground:#0b0f1a;--color-surface:#141a2b;--color-surface-alt:#1c2440;--color-ink:#f3f6fb;--color-ink-muted:#93a0c2;--color-ink-faint:#6f7ba0;--color-line:#26304a;--color-line-soft:#1e2740;--color-accent:#3b82f6;--color-accent-soft:#16213f;--color-deep:#3b82f6;--color-deep-soft:#16213f;--color-fix-now:#e77967;--color-watch:#e7b75e;--color-improve:#65c98b;--color-neutral:#94a8a9;--shadow-sm:0 1px 3px #00000052, 0 1px 2px #0006;--shadow-md:0 8px 24px #0006, 0 2px 6px #0000004d;--shadow-lift:0 12px 32px #00000080, 0 4px 10px #0000005c;--glass-bg:#141a2bc7;--glass-border:#ffffff14;--glass-blur:20px;--dock-bg:#1c2440f7;--dock-border:#ffffff29;--dock-shadow:0 4px 16px #00000073, 0 1px 4px #00000059;--dock-clearance:84px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--space-xxxl:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--font-display-size:2rem;--font-display-line:2.25rem;--font-title-size:1.75rem;--font-title-line:2.125rem;--font-heading-size:1.25rem;--font-heading-line:1.625rem;--font-body-size:1rem;--font-body-line:1.5rem;--font-body-sm-size:.875rem;--font-body-sm-line:1.25rem;--font-label-size:.75rem;--font-label-line:1rem;--font-caption-size:.75rem;--font-caption-line:1rem;--soft-bg:var(--color-ground);--soft-bg-alt:var(--color-surface-alt);--soft-card-bg:var(--glass-bg);--soft-card-border:var(--glass-border);--soft-accent:var(--color-deep);--soft-accent-strong:var(--color-accent);--soft-accent-soft:var(--color-accent-soft);--soft-ink:var(--color-ink);--soft-ink-muted:var(--color-ink-muted)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-ground:#f6f7f5;--color-surface:#fff;--color-surface-alt:#ececea;--color-ink:#17201e;--color-ink-muted:#5f6f6d;--color-ink-faint:#687876;--color-line:#c7d1cf;--color-line-soft:#d9e1df;--color-accent:#2955c9;--color-accent-soft:#dfe7fb;--color-deep:#1d4ed8;--color-deep-soft:#dfe7fb;--color-fix-now:#b4432e;--color-watch:#8f640f;--color-improve:#2c7a52;--color-neutral:#57696b;--shadow-sm:0 1px 3px #17201e1a, 0 1px 2px #17201e1a;--shadow-md:0 8px 24px #17201e24, 0 2px 6px #17201e14;--shadow-lift:0 12px 32px #17201e2e, 0 4px 10px #17201e1a;--glass-bg:#ffffffc7;--glass-border:#17201e24;--glass-blur:20px;--dock-bg:#fffffff7;--dock-border:#17201e24;--dock-shadow:0 4px 16px #17201e1f, 0 1px 4px #17201e14;--soft-bg:var(--color-ground);--soft-bg-alt:var(--color-surface-alt);--soft-card-bg:var(--glass-bg);--soft-card-border:var(--glass-border);--soft-accent:var(--color-deep);--soft-accent-strong:var(--color-ink);--soft-accent-soft:var(--color-accent-soft);--soft-ink:var(--color-ink);--soft-ink-muted:var(--color-ink-muted)}}:root[data-theme=light]{--color-ground:#f6f7f5;--color-surface:#fff;--color-surface-alt:#ececea;--color-ink:#17201e;--color-ink-muted:#5f6f6d;--color-ink-faint:#687876;--color-line:#c7d1cf;--color-line-soft:#d9e1df;--color-accent:#2955c9;--color-accent-soft:#dfe7fb;--color-deep:#1d4ed8;--color-deep-soft:#dfe7fb;--color-fix-now:#b4432e;--color-watch:#8f640f;--color-improve:#2c7a52;--color-neutral:#57696b;--shadow-sm:0 1px 3px #17201e1a, 0 1px 2px #17201e1a;--shadow-md:0 8px 24px #17201e24, 0 2px 6px #17201e14;--shadow-lift:0 12px 32px #17201e2e, 0 4px 10px #17201e1a;--glass-bg:#ffffffc7;--glass-border:#17201e24;--glass-blur:20px;--dock-bg:#fffffff7;--dock-border:#17201e24;--dock-shadow:0 4px 16px #17201e1f, 0 1px 4px #17201e14;--soft-bg:var(--color-ground);--soft-bg-alt:var(--color-surface-alt);--soft-card-bg:var(--glass-bg);--soft-card-border:var(--glass-border);--soft-accent:var(--color-deep);--soft-accent-strong:var(--color-ink);--soft-accent-soft:var(--color-accent-soft);--soft-ink:var(--color-ink);--soft-ink-muted:var(--color-ink-muted)}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;height:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p{margin:0}body{min-height:100%;color:var(--color-ink);background:var(--color-ground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-body-size);line-height:var(--font-body-line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0}@media (prefers-color-scheme:dark){html:not([data-theme=light]) body{background-image:radial-gradient(ellipse 140% 60% at 50% -10%, var(--color-deep-soft) 0%, transparent 55%), linear-gradient(180deg, var(--color-surface-alt) 0%, var(--color-ground) 45%)}}html[data-theme=dark] body{background-image:radial-gradient(ellipse 140% 60% at 50% -10%, var(--color-deep-soft) 0%, transparent 55%), linear-gradient(180deg, var(--color-surface-alt) 0%, var(--color-ground) 45%)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.tabular-nums{font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}[role=dialog][aria-modal=true]{top:0;overflow-y:auto;bottom:var(--keyboard-inset,0px)!important}
.UpdateBanner-module__kZwl4a__banner{top:calc(12px + env(safe-area-inset-top));z-index:60;border-radius:var(--radius-pill);background:var(--color-deep);color:#fff;font-size:var(--font-body-size);box-shadow:var(--shadow-lift);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:10px 18px;font-weight:700;animation:.25s ease-out UpdateBanner-module__kZwl4a__slideDown;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.UpdateBanner-module__kZwl4a__banner:disabled{opacity:.75;cursor:default}.UpdateBanner-module__kZwl4a__dot{background:#fff;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.6s ease-in-out infinite UpdateBanner-module__kZwl4a__pulse}@keyframes UpdateBanner-module__kZwl4a__slideDown{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@keyframes UpdateBanner-module__kZwl4a__pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.UpdateBanner-module__kZwl4a__banner,.UpdateBanner-module__kZwl4a__dot{animation:none}}
