:root{--paper: oklch(97% .012 285);--paper-deep: oklch(91% .022 280);--ink: oklch(22% .05 280);--ink-soft: oklch(40% .04 280);--ink-faint: oklch(57% .03 280);--violet: oklch(54% .22 285);--violet-deep: oklch(46% .2 285);--violet-light: oklch(92% .04 285);--gold: oklch(72% .12 78);--gold-line: oklch(82% .08 82);--rose: oklch(66% .17 358);--font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--font-serif: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--text-lg: clamp(1.125rem, 1rem + .6vw, 1.375rem);--text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--text-hero: clamp(1.9rem, 1.2rem + 3.6vw, 3.6rem);--text-score: clamp(2.4rem, 1.4rem + 5vw, 4.2rem);--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--space-section: clamp(3.5rem, 2.5rem + 4vw, 7rem);--measure: 38rem;--duration-fast: .16s;--duration-normal: .32s;--duration-slow: .64s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--radius-card: 8px;--shadow-card: 0 1px 2px oklch(22% .05 280 / .08), 0 12px 32px -12px oklch(22% .05 280 / .18);--hairline: 1px solid oklch(22% .05 280 / .12)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.75;color:var(--ink);background:radial-gradient(ellipse 120% 60% at 50% -5%,oklch(78% .08 285 / .18),transparent 70%),radial-gradient(ellipse 80% 40% at 90% 10%,oklch(72% .12 78 / .1),transparent 60%),var(--paper);font-feature-settings:"palt"}h1,h2,h3{line-height:1.35;margin:0 0 var(--space-3);letter-spacing:.02em}p{margin:0 0 var(--space-3)}a{color:var(--violet-deep);text-underline-offset:3px}a:hover{color:var(--violet)}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--violet);outline-offset:3px}img,svg{max-width:100%;height:auto}.wrap{width:min(100% - 2.5rem,46rem);margin-inline:auto}.pr-bar{font-size:var(--text-xs);color:var(--ink-faint);text-align:center;padding:var(--space-1) var(--space-3);border-bottom:var(--hairline);background:var(--paper)}.site-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.brand{font-family:var(--font-serif);font-weight:700;font-size:var(--text-lg);color:var(--ink);text-decoration:none;letter-spacing:.06em}.brand .brand-mark{color:var(--violet)}.btn{display:inline-block;font:inherit;font-weight:700;letter-spacing:.04em;border:none;cursor:pointer;text-align:center;text-decoration:none;border-radius:4px;padding:.9em 2.2em;transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo),background-color var(--duration-fast) linear}.btn-primary{background:var(--violet);color:#f8f8fc;box-shadow:0 2px 0 var(--violet-deep),0 10px 24px -10px #694ce680}.btn-primary:hover{background:var(--violet-deep);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px);box-shadow:0 0 0 var(--violet-deep)}.btn-ghost{background:transparent;color:var(--ink-soft);border:var(--hairline)}.btn-ghost:hover{color:var(--ink);background:#1617310a}.site-footer{margin-top:var(--space-section);border-top:var(--hairline);padding:var(--space-5) 0 var(--space-6);font-size:var(--text-sm);color:var(--ink-faint)}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.site-footer a{color:var(--ink-soft)}.prose{max-width:var(--measure);padding-block:var(--space-5) var(--space-6)}.prose h1{font-family:var(--font-serif);font-size:var(--text-xl);border-bottom:2px solid var(--gold-line);padding-bottom:var(--space-2)}.prose h2{font-size:var(--text-lg);margin-top:var(--space-5)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.prose th,.prose td{border:var(--hairline);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.note{font-size:var(--text-xs);color:var(--ink-faint)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
