:root{--bg: #fbfbfd;--surface: #ffffff;--surface-2: #f1f1f4;--ink: #1a1a1c;--ink-2: #55555c;--ink-3: #85858c;--line: rgba(0, 0, 0, .09);--line-strong: rgba(0, 0, 0, .16);--accent: #0b6b61;--accent-hover: #084f48;--accent-wash: rgba(11, 107, 97, .09);--chrome-bg: rgba(251, 251, 253, .72);--shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .05);--font-ja: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic Medium", "Noto Sans JP", system-ui, sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.1875rem;--text-xl: 1.4375rem;--text-2xl: clamp(1.75rem, 1.2rem + 2.4vw, 2.375rem);--measure: 44rem;--gutter: clamp(1.125rem, 4vw, 2rem)}:root:not([data-theme=light]){color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0b0b0d;--surface: #16161a;--surface-2: #202025;--ink: #f2f2f5;--ink-2: #b6b6be;--ink-3: #8b8b93;--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .2);--accent: #56cfc1;--accent-hover: #85e0d5;--accent-wash: rgba(86, 207, 193, .13);--chrome-bg: rgba(11, 11, 13, .72);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ja);font-size:var(--text-base);line-height:1.9;letter-spacing:.01em;line-break:strict;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-feature-settings:"palt" 1;line-height:1.4;text-wrap:balance;line-break:strict;overflow-wrap:anywhere}h1{font-size:var(--text-2xl);line-height:1.28;letter-spacing:-.021em;font-weight:700;margin:0 0 .6rem}h2{font-size:var(--text-xl);letter-spacing:-.012em;font-weight:700;margin:3.2rem 0 1rem}h3{font-size:var(--text-lg);letter-spacing:-.006em;font-weight:650;margin:2.2rem 0 .6rem}p{margin:0 0 1.35rem}a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 32%,transparent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .12s ease-out,text-decoration-color .12s ease-out}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:50%;top:.5rem;transform:translate(-50%,-200%);z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:.5rem 1rem;font-size:var(--text-sm);text-decoration:none}.skip-link:focus-visible{transform:translate(-50%)}.chrome{position:sticky;top:0;z-index:10;background:var(--chrome-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.chrome:after{content:"";position:absolute;inset:100% 0 auto;height:14px;background:linear-gradient(to bottom,var(--chrome-bg),transparent);pointer-events:none}.chrome-inner{max-width:var(--measure);margin-inline:auto;padding:.85rem var(--gutter);display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.wordmark{font-size:var(--text-base);font-weight:700;letter-spacing:-.015em;font-feature-settings:"palt" 1;color:var(--ink);text-decoration:none}.wordmark:hover{color:var(--ink)}.chrome nav{display:flex;gap:1.15rem;font-size:var(--text-sm)}.chrome nav a{color:var(--ink-2);text-decoration:none;white-space:nowrap}.chrome nav a:hover{color:var(--ink)}.chrome nav a[aria-current=page]{color:var(--ink);font-weight:600}main{max-width:var(--measure);margin-inline:auto;padding:2.75rem var(--gutter) 4rem}.lede{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:2.5rem}.site-footer{max-width:var(--measure);margin-inline:auto;padding:2rem var(--gutter) 3rem;border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.02em}.footer-note{margin:0 0 .9rem;max-width:34rem;line-height:1.8}.site-footer nav{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:.5rem}.site-footer a{color:var(--ink-2);text-decoration:none}.site-footer a:hover{color:var(--ink)}.copyright{margin:0}.pr-notice{display:flex;align-items:baseline;gap:.5rem;margin:1.5rem 0 2rem;font-size:var(--text-xs);line-height:1.7;color:var(--ink-2);letter-spacing:.015em}.pr-badge{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line-strong);border-radius:4px;padding:0 .3rem}.ai-note{margin:0;font-size:var(--text-xs);line-height:1.8;color:var(--ink-3);letter-spacing:.015em}.prose{font-size:var(--text-base)}.prose>h2:first-of-type{margin-top:2.6rem}.prose strong{font-weight:700;font-size:1.02em;letter-spacing:-.004em;color:var(--ink)}.prose p:has(>strong:first-child){padding-left:.95rem;border-left:2px solid color-mix(in srgb,var(--accent) 28%,transparent);margin-bottom:1.6rem}.prose p:has(>strong:first-child) strong{display:inline-block;margin-bottom:.1rem}.prose code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.88em;background:var(--surface-2);border-radius:5px;padding:.12em .38em;letter-spacing:0}.prose ul,.prose ol{margin:0 0 1.35rem;padding-left:1.35rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--ink-3)}.prose blockquote{margin:1.75rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:3px solid var(--accent-wash);color:var(--ink-2)}.prose hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.prose table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:0 0 1.75rem}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.6rem .9rem;text-align:left;vertical-align:top;white-space:nowrap}.prose th{font-weight:650;color:var(--ink-2);font-size:var(--text-xs);letter-spacing:.03em;border-bottom-color:var(--line-strong)}.chip{display:inline-block;font-size:var(--text-xs);line-height:1.6;letter-spacing:.02em;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:.05rem .6rem;white-space:nowrap}.meta{color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.03em;font-variant-numeric:tabular-nums}@media(prefers-reduced-transparency:reduce){.chrome{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line)}.chrome:after{display:none}}@media(prefers-contrast:more){:root{--line: rgba(0, 0, 0, .35);--ink-2: #35353a;--ink-3: #55555c}.chrome{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line-strong)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
