:root{--color-background:#f5f7f8;--color-foreground:#101e2b;--color-surface:#fff;--color-surface-secondary:#edf2f3;--color-surface-elevated:#fff;--color-muted:#e7edef;--color-muted-foreground:#52636f;--color-border:#d4dde1;--color-border-subtle:#e4eaed;--color-border-strong:#9fadb5;--color-primary:#12324a;--color-primary-hover:#0b273c;--color-primary-active:#071d2e;--color-primary-foreground:#fff;--color-primary-soft:#e8eef2;--color-accent:#08766f;--color-accent-hover:#05615b;--color-accent-soft:#e2f1ef;--color-accent-border:#9fc9c5;--color-success:#16704b;--color-success-soft:#e7f3ec;--color-warning:#8a5709;--color-warning-soft:#fbf1dc;--color-danger:#a4312c;--color-danger-soft:#fae9e7;--color-info:#245f86;--color-info-soft:#e7f0f6;--color-dark-surface:#0c2130;--color-dark-surface-secondary:#132c3e;--color-dark-border:#294453;--color-on-dark:#f6fafb;--color-on-dark-muted:#bdcbd2;--color-focus:#cf6800;--font-sans:-apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--font-numeric:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Yu Gothic UI", sans-serif;--font-size-caption:.75rem;--font-size-label:.8125rem;--font-size-small:.875rem;--font-size-body:1rem;--font-size-body-large:clamp(1.05rem, 1.5vw, 1.1875rem);--font-size-h4:clamp(1.0625rem, 1.8vw, 1.25rem);--font-size-h3:clamp(1.25rem, 2.4vw, 1.625rem);--font-size-h2:clamp(1.75rem, 3.8vw, 2.625rem);--font-size-h1:clamp(2.35rem, 6.2vw, 4.625rem);--font-size-display:clamp(2.45rem, 5.6vw, 4.75rem);--font-size-numeric-medium:clamp(1.35rem, 3vw, 2rem);--font-size-numeric-large:clamp(2rem, 5vw, 3.75rem);--line-height-tight:1.16;--line-height-heading:1.3;--line-height-body:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--space-11:5rem;--space-12:6rem;--section-space:clamp(4.5rem, 9vw, 8rem);--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:999px;--shadow-xs:0 1px 2px #101e2b0a;--shadow-sm:0 .5rem 1.5rem #101e2b12;--shadow-md:0 1.25rem 3rem #0a202f1f;--container-wide:78rem;--container-standard:70rem;--container-content:58rem;--container-narrow:42rem;--container-calculator:68rem;--container-data:76rem;--page-gutter:clamp(1rem, 3.4vw, 2.5rem);--z-base:0;--z-sticky:30;--z-overlay:50;--motion-fast:.14s ease;--motion-standard:.22s ease}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;color:var(--color-foreground);background:var(--color-background);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}main{min-height:60vh}h1,h2,h3,h4,p{margin-block:0}h1,h2,h3,h4{line-height:var(--line-height-heading);letter-spacing:-.035em;text-wrap:balance}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}a{color:var(--color-accent);text-underline-offset:.24em;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}img,picture,video,canvas,svg{max-width:100%;display:block}::selection{color:var(--color-primary-foreground);background:var(--color-accent)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{z-index:calc(var(--z-overlay) + 1);top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-primary-foreground);background:var(--color-primary-active);border-radius:var(--radius-md);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.numeric{font-family:var(--font-numeric);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em}@media (max-width:23.4375rem){:root{--font-size-h1:clamp(2.05rem, 11vw, 2.6rem);--font-size-h2:clamp(1.55rem, 8vw, 2rem);--section-space:4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
