:root{--bg:#f4f2ed;--surface:#fff;--surface-2:#faf9f6;--fg:#12141a;--muted:#565c68;--faint:#656b77;--line:#e0ddd5;--line-strong:#c8c4b9;--accent:#2b3fd6;--accent-ink:#1b2aa8;--on-accent:#fff;--accent-soft:color-mix(in srgb, var(--accent) 7%, var(--surface));--accent-line:color-mix(in srgb, var(--accent) 28%, var(--line));--warn:#8a5a00;--warn-soft:color-mix(in srgb, var(--warn) 10%, var(--surface));--danger:#b42318;--h-head:3.5rem;--radius:6px;--radius-lg:10px;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;--s8:2rem;--s12:3rem;--s16:4rem;--s24:6rem;--w-read:44rem;--w-table:1120px;--gutter:clamp(1rem, 4vw, 2rem);--shadow:0 1px 0 #12141a0a, 0 10px 28px -14px #12141a38;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.22, 1, .36, 1);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0b0d12;--surface:#14171e;--surface-2:#10131a;--fg:#eceef3;--muted:#a0a7b3;--faint:#8f97a3;--line:#262b35;--line-strong:#373e4b;--accent:#93a4ff;--accent-ink:#b9c4ff;--on-accent:#0b0d12;--warn:#e6b04a;--danger:#f2736a;--shadow:0 1px 0 #0006, 0 14px 32px -16px #000000b3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--h-head) + var(--s4));overflow-x:clip}body{font:16px/1.75 var(--font);color:var(--fg);background:var(--bg);overflow-wrap:anywhere;word-break:auto-phrase;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:var(--accent);color:var(--on-accent)}h1,h2,h3{letter-spacing:-.012em;font-feature-settings:"palt";text-wrap:balance;overflow-wrap:anywhere;margin:0;font-weight:800;line-height:1.3}h1{letter-spacing:-.03em;font-size:clamp(1.625rem,.95rem + 3vw,3.25rem);line-height:1.15}h2{margin-top:var(--s16);margin-bottom:var(--s4);font-size:clamp(1.375rem,1.1rem + 1.2vw,1.875rem)}h3{font-size:1.125rem}p{margin:0 0 var(--s4);text-wrap:pretty}main.wrap>h1{margin-bottom:var(--s4)}main.wrap>h1+p{color:var(--muted);max-width:40rem;margin-bottom:var(--s8);font-size:1.0625rem}.prose>*{max-width:var(--w-read)}.prose>h1{max-width:none}.prose h2{margin-top:var(--s12);font-size:clamp(1.25rem,1rem + 1vw,1.5rem)}.prose ul,.prose ol{padding-left:1.25em}.prose li{margin-bottom:var(--s2)}.prose li::marker{color:var(--accent)}.verified{align-items:center;gap:var(--s2);margin:var(--s4) 0 var(--s2);color:var(--muted);font-size:.8125rem;display:flex}.verified:before{content:"";background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.verified time{color:var(--fg);font-weight:600}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}p a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);transition:text-decoration-color .2s}p a:hover{text-decoration-color:currentColor}nav a,.link-grid a,.site-foot a{text-decoration:none}[id]{scroll-margin-top:calc(var(--h-head) + var(--s2))}.wrap{max-width:var(--w-table);padding-inline:var(--gutter);margin-inline:auto}main.wrap{padding-block:var(--s8) var(--s12)}.skip-link{left:var(--s4);z-index:20;padding:var(--s2) var(--s4);background:var(--fg);color:var(--bg);border-radius:999px;font-size:.875rem;font-weight:700;text-decoration:none;position:absolute;top:-4rem}.skip-link:focus{top:var(--s3)}.site-header{z-index:10;height:var(--h-head);background:var(--surface);border-bottom:1px solid var(--line);view-transition-name:site-header;align-items:center;display:flex;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--s4);width:100%;display:flex}.brand{align-items:center;gap:var(--s3);color:var(--fg);cursor:pointer;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:1.75rem;height:1.75rem;color:var(--on-accent);transition:transform .4s var(--ease);border-radius:8px;flex:none;place-items:center;display:grid}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.06)}.brand strong{letter-spacing:-.02em;font-feature-settings:"palt";font-size:1.0625rem}.brand small{color:var(--muted);padding-left:var(--s3);border-left:1px solid var(--line-strong);font-size:.8125rem}.site-header nav{gap:var(--s1);font-size:.9375rem;display:flex}.site-header nav a{padding:var(--s2) var(--s3);color:var(--muted);border-radius:var(--radius);transition:color .2s,background-color .2s;position:relative}.site-header nav a:hover{color:var(--fg);background:var(--surface-2)}.site-header nav a[aria-current=page]{color:var(--fg);background:var(--accent-soft);font-weight:700}.brand strong,.site-header nav a{white-space:nowrap}@media (width<=47.9375rem){.brand small{display:none}.site-header .wrap,.brand{gap:var(--s2)}.brand strong{font-size:1rem}.site-header nav{gap:0;font-size:.8125rem}.site-header nav a{padding:var(--s2) .4rem}}@media (width<=22.5rem){.site-header nav a:last-child{display:none}}.site-foot{margin-top:var(--s16);background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.site-foot .wrap{gap:var(--s8);padding-block:var(--s12);display:grid}.foot-brand strong{color:var(--fg);letter-spacing:-.03em;font-size:clamp(1.5rem,1rem + 2vw,2.25rem);line-height:1.1;display:block}.foot-brand span{margin-top:var(--s2);text-wrap:balance;max-width:32rem;display:block}.foot-links{gap:var(--s2) var(--s6);flex-wrap:wrap;display:flex}.site-foot a{color:var(--muted);transition:color .2s}.site-foot a:hover{color:var(--accent)}@media (width>=48rem){.site-foot .wrap{grid-template-columns:1fr auto;align-items:end}.foot-links{justify-content:flex-end;max-width:36rem}}.pr-notice{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent-line);border-radius:var(--radius);padding:var(--s3) var(--s4);margin:var(--s12) 0 var(--s6);font-size:.875rem}.disclaimer{color:var(--muted);margin:var(--s6) 0 0;padding-left:1.2em;font-size:.8125rem}.disclaimer li{margin-bottom:var(--s1)}.disclaimer li::marker{color:var(--faint)}.basis{color:var(--muted);margin-block:var(--s2);font-size:.8125rem}.basis .fx-fallback{color:var(--warn);margin-bottom:var(--s1);padding-left:var(--s3);border-left:3px solid var(--warn);display:block}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.02em}.num small{font-family:var(--font);color:var(--muted);letter-spacing:0;margin-left:.25em;font-size:.75rem}.btn-primary,.btn-secondary{justify-content:center;align-items:center;gap:var(--s2);min-height:2.875rem;padding-inline:var(--s6);font:inherit;letter-spacing:-.005em;cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .2s, border-color .2s;border-radius:999px;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.btn-primary:after{content:"→" / "";transition:transform .25s var(--ease)}.btn-primary:hover{box-shadow:0 10px 22px -10px color-mix(in srgb, var(--accent) 75%, transparent);transform:translateY(-1px)}.btn-primary:hover:after{transform:translate(3px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--fg);border:1px solid var(--line-strong)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}@media (width<=47.9375rem){.btn-primary,.hero-actions .btn-secondary{width:100%}}.link-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.link-grid a{justify-content:space-between;align-items:center;gap:var(--s3);min-height:3.5rem;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);transition:border-color .25s, transform .3s var(--ease), box-shadow .3s var(--ease);font-weight:600;line-height:1.45;display:flex;position:relative}.link-grid a:after{content:"→" / "";color:var(--faint);transition:transform .3s var(--ease), color .2s;flex:none}.link-grid a:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-2px)}.link-grid a:hover:after{color:var(--accent);transform:translate(4px)}.chips{margin:0 0 var(--s4);gap:var(--s2);flex-wrap:wrap;padding:0;font-size:.875rem;list-style:none;display:flex}.chips li{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s1) var(--s3);color:var(--muted);background:var(--surface)}.breadcrumb ol{gap:var(--s1) var(--s2);margin:0 0 var(--s6);color:var(--muted);flex-wrap:wrap;padding:0;font-size:.8125rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";margin-right:var(--s2);color:var(--line-strong)}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--fg)}.eyebrow{margin-bottom:var(--s3);font:600 .75rem/1 var(--mono);letter-spacing:.06em;color:var(--accent);display:block}@view-transition{navigation:auto}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.hero,.cat-page-head{animation:fade-in .5s var(--ease) both}@supports (animation-timeline:view()){.reveal{animation:linear both rise view();animation-range:entry entry 40%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
