:root{--white:#fff;--gray:#eef1f5;--blue-light:#d8e8f8;--blue-soft:#c4dcf4;--blue:#1a63b8;--blue-deep:#103f77;--ink:#16181d;--gray-line:#d9e1ea;--gray-text:#5e6b7a;--surface-page:var(--white);--surface-band:var(--gray);--surface-tint:var(--blue-light);--surface-card:var(--white);--surface-dark:var(--blue-deep);--text-body:var(--ink);--text-muted:var(--gray-text);--text-heading:var(--blue-deep);--text-on-dark:var(--white);--text-on-dark-muted:#b7cde6;--accent:var(--blue);--accent-hover:#155397;--accent-press:#114681;--link:var(--blue);--link-hover:var(--blue-deep);--border:var(--gray-line);--border-strong:#c3ceda;--focus-ring:#1a63b859;--ok:#1b7a4b;--warn:#b3661a;--danger:#b3372b;--font-sans:"Poppins", "Helvetica Neue", Arial, sans-serif;--font-display:"Poppins", "Helvetica Neue", Arial, sans-serif;--stretch-body:100%;--stretch-display:100%;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--text-4xl:3.5rem;--leading-tight:1.08;--leading-heading:1.15;--leading-body:1.6;--weight-body:400;--weight-medium:500;--weight-semibold:600;--weight-display:700;--tracking-label:.14em;--tracking-tight:-.01em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--section-pad-y:var(--space-9);--content-max:1120px;--content-pad-x:var(--space-5);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-card:0 1px 2px #103f770d, 0 4px 16px #103f770f;--shadow-raised:0 2px 6px #103f7714, 0 12px 32px #103f771a;--shadow-button:0 1px 2px #103f772e;--border-card:1px solid var(--border);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-base:.25s;--dur-slow:.6s;--rise-distance:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}::selection{background:var(--blue-light)}
