:root{color-scheme:light dark;--bg:oklch(98.4% .004 95);--bg-subtle:oklch(96.3% .005 95);--text:oklch(25% .012 260);--text-muted:oklch(47% .014 260);--text-faint:oklch(60% .012 260);--rule:oklch(89% .007 95);--rule-strong:oklch(77% .009 95);--accent:oklch(46% .1 240);--accent-hover:oklch(38% .11 240);--code-bg:oklch(95.5% .006 95);--term-bg:oklch(22% .014 260);--term-text:oklch(87% .006 260);--term-muted:oklch(60% .012 260);--err:oklch(48% .13 25);--err-bg:oklch(96.5% .014 25);--ok:oklch(52% .1 150);--font-sans:"IBM Plex Sans JP", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--fs-body:16px;--fs-small:13px;--fs-h1:28px;--fs-h2:21px;--fs-h3:17.5px;--lh-body:1.95;--lh-heading:1.5;--sp-1:8px;--sp-2:12px;--sp-3:20px;--sp-4:32px;--sp-5:48px;--sp-6:72px;--measure:42.5rem}:root:lang(en),[lang=en]{--lh-body:1.7;--measure:38rem}:root[data-theme=dark]{--bg:oklch(20.5% .012 255);--bg-subtle:oklch(24% .012 255);--text:oklch(88.5% .005 255);--text-muted:oklch(67% .01 255);--text-faint:oklch(55% .01 255);--rule:oklch(30.5% .012 255);--rule-strong:oklch(41% .012 255);--accent:oklch(75% .085 235);--accent-hover:oklch(83% .075 235);--code-bg:oklch(17% .01 255);--term-bg:oklch(15.5% .012 255);--term-text:oklch(85% .006 255);--term-muted:oklch(58% .01 255);--err:oklch(72% .12 25);--err-bg:oklch(25% .03 25);--ok:oklch(72% .1 150)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:oklch(20.5% .012 255);--bg-subtle:oklch(24% .012 255);--text:oklch(88.5% .005 255);--text-muted:oklch(67% .01 255);--text-faint:oklch(55% .01 255);--rule:oklch(30.5% .012 255);--rule-strong:oklch(41% .012 255);--accent:oklch(75% .085 235);--accent-hover:oklch(83% .075 235);--code-bg:oklch(17% .01 255);--term-bg:oklch(15.5% .012 255);--term-text:oklch(85% .006 255);--term-muted:oklch(58% .01 255);--err:oklch(72% .12 25);--err-bg:oklch(25% .03 25);--ok:oklch(72% .1 150)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.01em;line-break:strict;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--accent);text-underline-offset:.24em;text-decoration:underline 1px}a:hover{color:var(--accent-hover)}::selection{background:color-mix(in oklch, var(--accent) 25%, transparent)}summary::-webkit-details-marker{display:none}.wrap{max-width:calc(var(--measure) + 48px);margin:0 auto;padding:0 24px}.quotable{margin:0 0 var(--sp-5);padding:var(--sp-3) 2px;border-top:2px solid var(--text);border-bottom:1px solid var(--rule-strong)}.quotable-label{letter-spacing:.16em;color:var(--text-muted);margin:0 0 10px;font-size:12px;font-weight:700}.quotable p{font-feature-settings:"palt";text-wrap:pretty;margin:0;font-size:17.5px;font-weight:500;line-height:1.9}.prose h2{margin:var(--sp-6) 0 var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--rule);font-size:var(--fs-h2);line-height:var(--lh-heading);font-feature-settings:"palt";font-weight:700}.prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h3{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-h3);font-feature-settings:"palt";font-weight:700}.prose p{margin:0 0 1.5em}.prose ul,.prose ol{margin:0 0 1.5em;padding-left:1.4em}.prose li{margin-bottom:.5em}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule);border-radius:4px;padding:.06em .38em;font-size:.86em}.prose pre{font-family:var(--font-mono);background:var(--term-bg);color:var(--term-text);border-radius:8px;padding:13px 16px;font-size:13px;line-height:1.85;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px;line-height:1.7}.prose .table-scroll{margin:0 0 var(--sp-4);overflow-x:auto}.prose th{text-align:left;border-bottom:2px solid var(--rule-strong);padding:10px 14px;font-weight:700}.prose td{border-bottom:1px solid var(--rule);padding:10px 14px}.prose img{max-width:100%;height:auto}.ad{margin:var(--sp-6) 0}.ad-label{letter-spacing:.16em;color:var(--text-faint);margin:0 0 6px;font-size:11px}.ad-slot{place-items:center;min-height:250px;display:grid}.ad-slot--end{min-height:280px}
