*,:after,:before{box-sizing:border-box}html{font-family:var(--font-family-ui);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-ink);background-color:var(--color-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}img,svg,video{max-width:100%;display:block}:root{--color-surface:#ffffff;--color-surface-raised:#f2f2f2;--color-ink:#222222;--color-ink-muted:#555555;--color-accent:#1a56a0;--color-accent-ink:#ffffff;--color-border:#cccccc;--color-border-strong:#444444;--color-positive:#2d6a2d;--color-negative:#b91c1c;--color-warning:#92400e;--color-impersonation-banner:#7c2d12;--color-provenance-verified:#4a7c59;--color-provenance-coach:#2d5a8e;--color-ai-label:#6b5c8e;--color-overdue:#7c3d0e;--color-restricted:#5c0a0a;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--touch-target-min:44px;--touch-target-pwa:48px;--text-micro:11px;--text-dense:13px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-family-ui:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--line-height-body:1.5;--line-height-heading:1.3;--line-height-dense:1.4;--duration-state:150ms;--duration-overlay:200ms;--duration-max:300ms;--easing-default:ease-out;--rail-width:230px;--pwa-status-bar:44px;--pwa-bottom-nav:72px;--auth-card-max-width:400px;--pwa-card-max-width:360px}body,html{margin:0;padding:0;min-height:100%}body{background-color:var(--color-surface);color:var(--color-ink)}body>div{min-height:100vh}