:root{--color-bg:#eef6fe;--color-surface:#fff;--color-text:#1a2233;--color-heading:#0a1f4f;--color-muted:#5b6577;--color-border:#d5dbe5;--color-border-soft:#e6eaf0;--color-primary:#0051fd;--color-primary-hover:#0041cc;--color-primary-soft:#e5eeff;--color-on-primary:#fff;--color-danger:#b42318;--color-danger-bg:#fdecea;--color-success:#1b7a43;--color-success-bg:#e7f6ec;--color-warning:#8a5a00;--color-warning-bg:#fff4dc;--color-focus:#3b82f6;--radius-sm:8px;--radius:12px;--radius-lg:20px;--shadow-sm:0 1px 2px #1a22330f;--shadow-md:0 4px 16px #1a223314;--card-radius:16px;--card-border:var(--color-border-soft);--card-border-hover:#0051fd59;--card-shadow-hover:0 8px 24px #1a223314;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--container:80rem;--gutter:clamp(var(--space-4), 4vw, var(--space-8));--text-xs:.9375rem;--text-sm:1rem;--text-base:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--text-lg:clamp(1.1875rem, 1.1rem + .3vw, 1.3125rem);--text-xl:clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--text-2xl:clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);--ease:cubic-bezier(.2, 0, 0, 1);--duration:.16s;--header-height:5rem}@media (max-width:75rem){:root{--header-height:4.25rem}}*,:before,:after{box-sizing:border-box}html{height:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100%;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.5;display:flex;overflow-x:clip}a{color:var(--color-primary);text-underline-offset:.2em;transition:color var(--duration) var(--ease);text-decoration:none}a:not([class]):hover{color:var(--color-primary-hover);text-decoration:underline}h1{font-family:var(--font-accent), var(--font-sans), system-ui, sans-serif}h1,h2,h3{color:var(--color-heading);letter-spacing:-.01em;text-wrap:balance}p{text-wrap:pretty}:where(input[type=checkbox],input[type=radio]){width:1.05rem;height:1.05rem;accent-color:var(--color-primary);cursor:pointer}::selection{background:var(--color-primary-soft)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::view-transition{pointer-events:none}[data-site-header]{view-transition-name:site-header}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-old(.page-out){animation:.12s ease-in reverse both vt-fade}::view-transition-new(.page-in){animation:.2s var(--ease) 80ms both vt-fade, .28s var(--ease) both vt-rise}::view-transition-new(.nav-forward){animation:.2s var(--ease) 80ms both vt-fade, .32s var(--ease) both vt-slide}::view-transition-new(.nav-back){animation:.2s var(--ease) 80ms both vt-fade, .32s var(--ease) both vt-slide}::view-transition-new(.nav-back){--vt-slide:-24px}::view-transition-group(.morph){z-index:50;animation-duration:.35s;animation-timing-function:var(--ease);border-radius:var(--radius-lg);overflow:clip}::view-transition-old(.morph){object-fit:cover;opacity:1;height:100%;animation:none}::view-transition-new(.morph){opacity:0;animation:none}::view-transition-old(.morph):only-child{animation:.12s ease-in reverse both vt-fade}::view-transition-new(.morph):only-child{opacity:1;animation:.2s var(--ease) 80ms both vt-fade}@keyframes vt-fade{0%{opacity:0}}@keyframes vt-rise{0%{translate:0 8px}}@keyframes vt-slide{0%{translate:var(--vt-slide,24px) 0}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-reveal]{animation:linear both reveal;animation-timeline:view();animation-range:entry cover 22%}}}@keyframes reveal{0%{opacity:0;translate:0 24px}}
