:root{--ink: #14181d;--ink-2: #5a6068;--ink-3: #868c95;--surface: #fcfcfb;--surface-2: #f1f2ef;--surface-3: #e8eae6;--line: #dcdfd9;--line-strong: #c2c7bd;--accent: #14506e;--accent-ink: #0d3a52;--accent-soft: #e4eef3;--warn: #b4452c;--warn-soft: #f6e7e2;--rakuten: #bf0000;--rakuten-ink: #a30000;--rakuten-soft: #fbeae9;--rakuten-line: #f0c9c5;--rakuten-text: #8c1d18;--font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--t-xs: .78rem;--t-sm: .88rem;--t-base: 1rem;--t-lg: 1.1rem;--t-xl: clamp(1.25rem, 1.05rem + .8vw, 1.5rem);--t-2xl: clamp(1.6rem, 1.25rem + 1.5vw, 2.2rem);--t-3xl: clamp(2rem, 1.4rem + 3vw, 3.2rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--radius: .55rem;--radius-lg: .9rem;--shadow: 0 1px 2px rgba(20, 24, 29, .04), 0 4px 16px rgba(20, 24, 29, .06);--maxw: 58rem;--maxw-wide: 78rem;--maxw-readable: 44rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--surface);line-height:1.75;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-underline-offset:.15em}a{color:var(--accent)}a:hover{color:var(--accent-ink)}.skip{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{left:var(--s-4);top:var(--s-2);width:auto;height:auto;margin:0;overflow:visible;clip-path:none;z-index:10;background:var(--surface);padding:var(--s-2) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--radius)}.mono,.spec-table td,.list td{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.site-header{border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--surface) 90%,transparent);backdrop-filter:saturate(1.2) blur(6px);position:sticky;top:0;z-index:5}.site-header .bar{max-width:var(--maxw-wide);margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;gap:var(--s-5);justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}.brand .mark{width:1.05rem;height:1.05rem;background:linear-gradient(135deg,var(--accent) 50%,#2f8fb8 50%);clip-path:polygon(50% 0,100% 100%,0 100%)}.brand .word{font-weight:700;font-size:1.2rem;letter-spacing:0}.brand .word b{color:var(--accent);font-weight:800}.site-header nav{display:flex;gap:.35rem;flex-wrap:wrap}.nav-link{text-decoration:none;color:var(--ink-2);font-size:var(--t-sm);font-weight:600;padding:.35rem .7rem;border-radius:999px;line-height:1.3}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:var(--accent-soft);color:var(--accent-ink)}.tagline{max-width:var(--maxw-wide);margin:0 auto;padding:0 1.25rem .55rem;font-size:var(--t-xs);color:var(--ink-3);letter-spacing:.02em}.container{margin:0 auto;padding:var(--s-6) 1.25rem var(--s-8)}.w-default{max-width:var(--maxw)}.w-wide{max-width:var(--maxw-wide)}.w-readable{max-width:var(--maxw-readable)}.site-footer{border-top:1px solid var(--line);background:var(--surface-2);margin-top:var(--s-8)}.foot-grid{max-width:var(--maxw-wide);margin:0 auto;padding:var(--s-6) 1.25rem var(--s-5);display:grid;gap:var(--s-5);grid-template-columns:1.6fr 1fr 1.3fr}@media(max-width:40rem){.foot-grid{grid-template-columns:1fr}}.foot-brand .word{font-weight:700;font-size:1.1rem}.foot-brand .word b{color:var(--accent)}.foot-brand p{color:var(--ink-2);font-size:var(--t-sm);margin:.5rem 0 0}.foot-brand .ad-note{font-size:var(--t-xs);color:var(--ink-3)}.foot-col h2{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--s-3)}.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.foot-col a{color:var(--ink-2);text-decoration:none;font-size:var(--t-sm)}.foot-col a:hover{color:var(--accent);text-decoration:underline}.copy{max-width:var(--maxw-wide);margin:0 auto;padding:var(--s-4) 1.25rem var(--s-6);border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--t-xs)}
