@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-latin-var.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-var-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2")}:root{--radius: 8px;--radius-lg: 18px;--radius-xl: 26px;--radius-full: 9999px;--maxw: 1240px;--gutter: clamp(16px, 4vw, 48px);--measure: 38rem;--ease: cubic-bezier(.16, 1, .3, 1);--t-note: 13px;--t-ui: 15.5px;--t-body: 19px;--t-lede: clamp(20px, 2.1vw, 23px);--t-h3: clamp(26px, 2.8vw, 36px);--t-h2: clamp(34px, 4.4vw, 54px);--t-h1: clamp(44px, 7vw, 100px);--t-page: clamp(38px, 5.2vw, 72px);--t-giant: clamp(54px, 10vw, 160px);--s1: 8px;--s2: 12px;--s3: 16px;--s4: 24px;--s5: 32px;--s6: 48px;--s7: 72px;--s8: 104px;--s9: 152px;--serif: "Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--paper: #faf8f5;--brand-ink: #222634}[data-theme=light]{--bg: #faf8f5;--bg-2: #f2eee6;--surface: #ffffff;--surface-2: #f5f2ea;--surface-card: #ffffff;--rule-section: rgba(30, 34, 46, .08);--rule-figure: rgba(30, 34, 46, .1);--border-strong: rgba(30, 34, 46, .13);--border: rgba(30, 34, 46, .07);--text: #181b23;--muted: #4e5564;--faint: #737b8c;--nav-bg: rgba(250, 248, 245, .82);--shadow-xs: 0 1px 2px rgba(25, 28, 36, .04);--shadow-sm: 0 2px 8px -2px rgba(25, 28, 36, .06), 0 1px 3px rgba(25, 28, 36, .04);--shadow: 0 6px 20px -3px rgba(25, 28, 36, .08), 0 2px 6px -1px rgba(25, 28, 36, .04);--shadow-md: var(--shadow);--shadow-lg: 0 16px 36px -6px rgba(25, 28, 36, .1), 0 4px 12px -2px rgba(25, 28, 36, .05);--shadow-xl: 0 24px 56px -8px rgba(25, 28, 36, .13), 0 8px 24px -4px rgba(25, 28, 36, .07);--device-shadow: 0 26px 64px -12px rgba(20, 24, 38, .18), 0 10px 24px -6px rgba(20, 24, 38, .1), 0 0 0 1px rgba(20, 24, 38, .07);--card-shadow: 0 4px 20px -2px rgba(20, 24, 38, .05), 0 1px 3px rgba(20, 24, 38, .03);--glow-op: 1;--accent: #1e2330;--accent-hover: #12151e;--accent-text: #ffffff;--ink-accent: #b54334;--grad: #1e2330;--grad-soft: rgba(181, 67, 52, .12);--iphone-bezel: #e7e4dc;--iphone-screen-bg: #ffffff;--band: #191e2b;--band-text: #f0f2f7;--band-muted: rgba(240, 242, 247, .76);--band-rule: rgba(240, 242, 247, .12);--band-rust: #f08e7c;--band-btn: #ffffff;--band-btn-text: #191e2b;--stage-glow: radial-gradient(ellipse 70% 60% at 50% 45%, rgba(181, 67, 52, .08), rgba(30, 35, 48, .03) 50%, transparent 75%)}[data-theme=dark]{--bg: #0f1117;--bg-2: #151821;--surface: #181c26;--surface-2: #1f2433;--surface-card: #181c26;--rule-section: rgba(230, 235, 245, .1);--rule-figure: rgba(255, 255, 255, .12);--border-strong: rgba(230, 235, 245, .14);--border: rgba(230, 235, 245, .08);--text: #edf0f6;--muted: #9ba3b4;--faint: #757d8e;--nav-bg: rgba(15, 17, 23, .85);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, .4);--shadow: 0 8px 24px -4px rgba(0, 0, 0, .5);--shadow-md: var(--shadow);--shadow-lg: 0 20px 48px -8px rgba(0, 0, 0, .6);--shadow-xl: 0 32px 72px -10px rgba(0, 0, 0, .7);--device-shadow: 0 32px 80px -12px rgba(0, 0, 0, .8), 0 12px 32px -6px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .12);--card-shadow: 0 6px 24px -4px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06);--glow-op: 1;--accent: #f0f3fa;--accent-hover: #ffffff;--accent-text: #0f1117;--ink-accent: #e57662;--grad: #f0f3fa;--grad-soft: rgba(229, 118, 98, .18);--iphone-bezel: #1e222f;--iphone-screen-bg: #151821;--band: #141822;--band-text: #edf0f6;--band-muted: rgba(237, 240, 246, .74);--band-rule: rgba(237, 240, 246, .14);--band-rust: #f08e7c;--band-btn: #f0f3fa;--band-btn-text: #0f1117;--stage-glow: radial-gradient(ellipse 75% 65% at 50% 45%, rgba(229, 118, 98, .12), rgba(45, 60, 95, .16) 55%, transparent 80%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--serif);background:var(--bg, #faf8f5);color:var(--text, #181b23);font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .35s var(--ease),color .3s var(--ease)}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font);font-weight:550;font-size:var(--t-ui);line-height:1;cursor:pointer;padding:11px 20px;border-radius:var(--radius);border:1px solid transparent;white-space:nowrap;text-decoration:none;transition:all .2s var(--ease)}.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:inset 0 1px #ffffff2e,var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover, var(--accent));transform:translateY(-1px);box-shadow:inset 0 1px #ffffff40,var(--shadow);opacity:1}.btn-primary:active{transform:translateY(0);box-shadow:inset 0 1px 2px #0003}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--muted);transform:translateY(-1px)}.btn-ghost{background:none;color:var(--muted);border:0;border-radius:0;border-bottom:1px solid var(--border);padding:13px 2px}.btn-ghost:hover{color:var(--text);border-bottom-color:var(--text)}.btn-lg{font-size:var(--t-ui);padding:var(--s3) var(--s4)}.btn-lg.btn-ghost{padding:15px 2px}.btn-sm{padding:var(--s1) var(--s2);font-size:var(--t-ui)}.btn[disabled]{opacity:.5;cursor:default}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;line-height:1.15;text-wrap:balance}h4,h5,h6{font-weight:600;line-height:1.25}button,input,select,textarea{font-family:var(--font)}:lang(ja){--serif: "Source Serif 4", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "MS Mincho", serif;font-family:var(--serif);font-feature-settings:"palt" 1}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) p,:lang(ja) li{line-break:strict;overflow-wrap:anywhere}.theme-toggle .ic-moon{display:none}.theme-toggle .ic-sun{display:block}[data-theme=light] .theme-toggle .ic-sun{display:none}[data-theme=light] .theme-toggle .ic-moon{display:block}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.mono{font-family:var(--mono)}.mk{position:relative}.mk:before{content:attr(data-mk);position:absolute;right:100%;margin-right:.4em;top:.42em;font-family:var(--mono);font-weight:400;font-style:normal;color:var(--ink-accent);font-size:.45em;line-height:1;opacity:.8}@media(max-width:1360px){.mk:before{position:static;display:inline-block;margin:0 .25em 0 0;font-size:.6em}}.caret{display:inline-block;width:.075em;height:.82em;margin-left:.08em;vertical-align:-.06em;background:var(--ink-accent);animation:ik-blink 1.1s steps(1) infinite;border-radius:1px}@keyframes ik-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.caret{animation:none}}.eyebrow{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-family:var(--font);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-accent);background:var(--grad-soft);border:1px solid rgba(181,67,52,.18);padding:4px 12px;border-radius:var(--radius-full);width:fit-content}.eyebrow b{font-weight:600;color:var(--text)}.kicker{font-family:var(--font);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-accent);display:inline-flex;align-items:center;gap:8px}.kicker span{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-family:var(--mono);font-weight:400;color:var(--muted)}.btn-line{font-family:var(--font);font-size:var(--t-ui);font-weight:550;color:var(--muted);border-bottom:1.5px solid var(--border-strong);padding-block:4px;transition:all .2s var(--ease)}.btn-line:hover{color:var(--text);border-bottom-color:var(--ink-accent)}.sec{padding-block:clamp(64px,9vw,var(--s8))}.sec-tint{background:var(--bg-2)}.sec-tight{padding-top:0}.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s4);row-gap:var(--s3);align-items:start;margin-bottom:clamp(40px,6vw,72px)}.sec-head .eyebrow{grid-column:1 / -1}.sec-head h2{grid-column:1 / span 7;font-size:var(--t-h2);line-height:1.1;margin:0}.sec-head>p{grid-column:8 / span 5;font-size:var(--t-lede);line-height:1.55;color:var(--muted);margin:0;padding-top:.4em}@media(max-width:960px){.sec-head h2,.sec-head>p{grid-column:1 / -1}}.spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:center;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:clamp(28px,4.5vw,56px);box-shadow:var(--card-shadow);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.spread:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.spread+.spread{margin-top:clamp(36px,5vw,64px)}.spread-text{grid-column:1 / span 5;display:flex;flex-direction:column;gap:var(--s4)}.spread-text h3{font-size:var(--t-h3);line-height:1.15;margin:0}.spread-text>p{font-size:var(--t-body);line-height:1.62;margin:0;color:var(--muted)}.spread-media{grid-column:6 / -1;min-width:0}.spread.rev .spread-text{grid-column:8 / -1;grid-row:1}.spread.rev .spread-media{grid-column:1 / span 7;grid-row:1}.spread .spread-media .fig img,.spread.rev .spread-media .fig img{border:1px solid var(--rule-figure);border-radius:var(--radius-lg);box-shadow:var(--device-shadow)}.spread-media.phones{display:flex;justify-content:center;gap:clamp(12px,3vw,32px)}.spread-media.phones .fig{flex:0 1 280px}.spread .spread-media.phones .fig img,.spread.rev .spread-media.phones .fig img{border:1px solid var(--rule-figure);border-radius:28px;box-shadow:var(--device-shadow)}@media(max-width:960px){.spread-text,.spread.rev .spread-text{grid-column:1 / -1;grid-row:1}.spread-media,.spread.rev .spread-media{grid-column:1 / -1;grid-row:2;margin:var(--s4) 0 0}}.stack{display:grid}.stack>.fig:first-child{width:88%}.stack>.fig:last-child{width:88%;margin-top:-18%;justify-self:end;position:relative;z-index:2}.ticks{list-style:none;margin:0;padding:var(--s2) 0 0;display:grid;gap:10px;border-top:1px solid var(--border)}.ticks li{position:relative;padding-left:26px;font-size:16.5px;line-height:1.45;color:var(--muted)}.ticks li:before{content:"✓";position:absolute;left:2px;top:0;font-family:var(--font);font-weight:700;color:var(--ink-accent);font-size:14px}.pin{position:absolute;transform:translate(-50%,-50%);z-index:5;width:32px;height:32px;border-radius:50%;background:var(--surface);border:2px solid var(--ink-accent);color:var(--ink-accent);font-family:var(--font);font-size:13.5px;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:0 4px 14px #b543344d,0 2px 4px #00000014;pointer-events:none}.pin:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1.5px solid var(--ink-accent);opacity:.4;animation:ik-pulse 2.5s infinite}@keyframes ik-pulse{0%{transform:scale(.9);opacity:.5}50%{transform:scale(1.2);opacity:.1}to{transform:scale(.9);opacity:.5}}@media(max-width:560px){.pin{width:26px;height:26px;font-size:12px}}.legend{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:ik-lg}.legend li{display:grid;grid-template-columns:26px 1fr;gap:12px;font-size:15.5px;line-height:1.45;align-items:center;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s var(--ease)}.legend li:hover{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-xs);transform:translate(3px)}.legend li:before{counter-increment:ik-lg;content:counter(ik-lg);width:22px;height:22px;border-radius:50%;background:var(--grad-soft);color:var(--ink-accent);font-family:var(--font);font-size:11.5px;font-weight:700;display:grid;place-items:center}.band{background:linear-gradient(145deg,#1b202c,#131722);color:var(--band-text);position:relative;overflow:hidden}.band:after{content:"";position:absolute;top:-40%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(181,67,52,.12),transparent 70%);pointer-events:none}.band .eyebrow{background:#f08e7c26;border-color:#f08e7c4d;color:var(--band-rust)}.band .eyebrow b,.band .mk:before{color:var(--band-rust)}.band .btn-primary{background:var(--band-btn);color:var(--band-btn-text)}.band .btn-onband{border:1px solid var(--band-rule);color:var(--band-text);background:#ffffff0d}.band .btn-onband:hover{border-color:var(--band-text);background:#ffffff1a}.band-head{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:space-between;align-items:end;margin-bottom:var(--s6);position:relative;z-index:1}.band-head h2{font-size:var(--t-h2);line-height:1.1;max-width:16ch;margin:var(--s2) 0 0}.band-head>p{max-width:30rem;color:var(--band-muted);font-size:var(--t-lede);line-height:1.5;margin:0}.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);border-top:1px solid var(--band-rule);padding-top:var(--s5);position:relative;z-index:1}.figure-n{padding:24px;background:#ffffff08;border:1px solid var(--band-rule);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--s2);transition:all .25s var(--ease)}.figure-n:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-2px)}.figure-n strong{font-weight:400;font-size:clamp(52px,7vw,104px);line-height:.9;font-variant-numeric:lining-nums tabular-nums;color:#fff}.figure-n span{font-family:var(--font);font-size:var(--t-ui);color:var(--band-muted);line-height:1.5}@media(max-width:820px){.figures{grid-template-columns:1fr 1fr}}.close{padding-block:clamp(80px,11vw,150px)}.close h2{font-size:var(--t-giant);line-height:.98;margin:0}.close-row{margin-top:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s5);align-items:end;justify-content:space-between;position:relative;z-index:1}.close-row p{max-width:30rem;font-size:var(--t-lede);color:var(--band-muted);line-height:1.5;margin:0}.close-btns{display:flex;flex-wrap:wrap;gap:var(--s3)}.index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.ix{display:flex;flex-direction:column;gap:var(--s2);padding:24px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:all .25s var(--ease)}.ix:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ix-g{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink-accent);background:var(--grad-soft);border-radius:var(--radius);width:fit-content;padding:4px 10px;margin-bottom:4px}.ix h4{font-size:19px;font-weight:600;line-height:1.3;margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ix p{font-size:15.5px;line-height:1.55;color:var(--muted);margin:0}.pro-tag{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink-accent);background:var(--grad-soft);border:1px solid rgba(181,67,52,.2);border-radius:4px;padding:2px 6px}@media(max-width:960px){.index{grid-template-columns:1fr 1fr}}@media(max-width:600px){.index{grid-template-columns:1fr}}.index-foot{margin:var(--s5) 0 0;font-size:16px;color:var(--muted);max-width:48rem}.index-foot span{color:var(--text);font-weight:500}.ledger-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s5);align-items:start}.ledger-side{grid-column:1 / span 4;display:flex;flex-direction:column;gap:var(--s4);position:sticky;top:96px}.ledger-side h2{font-size:var(--t-h2);line-height:1.1;margin:0}.ledger-side .price-note{font-family:var(--font);font-size:14.5px;font-weight:600;color:var(--ink-accent);background:var(--grad-soft);padding:6px 14px;border-radius:var(--radius-full);width:fit-content;margin:0;border:1px solid rgba(181,67,52,.18)}.ledger-side>p:not(.price-note){font-size:17px;color:var(--muted);line-height:1.55;margin:0}.ledger-table{grid-column:5 / -1;overflow-x:auto;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:clamp(24px,4vw,40px);box-shadow:var(--card-shadow)}table.ledger{width:100%;border-collapse:collapse;font-size:16px}.ledger th{font-family:var(--font);font-weight:600;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:0 0 16px;border-bottom:1.5px solid var(--border-strong)}.ledger th:not(:first-child),.ledger td:not(:first-child){text-align:center;width:96px}.ledger td{padding:14px 0;border-bottom:1px solid var(--border);line-height:1.35}.ledger tr.grp td{font-family:var(--font);font-weight:600;font-size:12px;color:var(--ink-accent);padding-top:26px;border-bottom-color:var(--border-strong);letter-spacing:.06em;text-transform:uppercase}.ledger .y{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#238c501f;color:#1e824c;font-weight:700;font-size:13px}[data-theme=dark] .ledger .y{background:#32be6e2e;color:#38d37a}.ledger .n{color:var(--faint);opacity:.4}.ledger .lim{font-family:var(--font);font-size:13px;font-weight:500;color:var(--muted)}.ledger th.pro-col{color:var(--ink-accent)}@media(max-width:960px){.ledger-side,.ledger-table{grid-column:1 / -1;position:static}}.switch{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.sw{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:18px 22px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:all .2s var(--ease)}.sw:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.sw-name{font-size:clamp(18px,1.8vw,22px);font-weight:500}.sw-name i{color:var(--muted);font-style:normal;font-size:.9em}.sw-p{font-family:var(--font);font-size:13px;font-weight:550;color:var(--muted);white-space:nowrap}.sw-p b{font-weight:600;color:var(--ink-accent);margin-left:8px}@media(max-width:760px){.switch{grid-template-columns:1fr}}.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s5)}.faq-grid>h2{grid-column:1 / span 4;font-size:var(--t-h2);line-height:1.1;margin:0}.faq-list{grid-column:5 / -1;display:flex;flex-direction:column;gap:12px}.faq-list details{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:0 24px;transition:all .2s var(--ease)}.faq-list details:hover{border-color:var(--border-strong)}.faq-list details[open]{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.faq-list summary{list-style:none;cursor:pointer;padding:20px 36px 20px 0;font-size:19px;font-weight:550;line-height:1.35;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font);color:var(--ink-accent);font-size:20px;font-weight:600}.faq-list details[open] summary:after{content:"−"}.faq-list .faq-a{padding:0 0 20px;font-size:17px;line-height:1.6;color:var(--muted);max-width:42rem}@media(max-width:960px){.faq-grid>h2,.faq-list{grid-column:1 / -1}}.proof{border-block:1px solid var(--border);background:var(--bg-2);padding-block:16px}.proof .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px}.proof .wrap span{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:5px 14px;box-shadow:var(--shadow-xs)}.proof b{font-weight:600;color:var(--text)}.hero{position:relative;padding-top:clamp(48px,8vw,108px)}.hero:before{content:"";position:absolute;top:-80px;left:50%;transform:translate(-50%);width:900px;height:480px;background:radial-gradient(ellipse 65% 50% at 50% 30%,rgba(181,67,52,.08),transparent 70%);pointer-events:none;z-index:0}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s4);row-gap:var(--s5)}.hero-grid>.eyebrow{grid-column:1 / -1}.hero-grid>h1{grid-column:1 / span 11;font-size:var(--t-h1);line-height:1.05;margin:0}.hero-grid>h1 em{font-style:italic;color:var(--muted)}.hero-sub{grid-column:1 / span 5;font-size:var(--t-lede);line-height:1.55;margin:0}@media(max-width:960px){.hero-grid>h1,.hero-sub{grid-column:1 / -1}}.page-head{display:flex;flex-direction:column;gap:var(--s3);padding-block:clamp(36px,5vw,72px) clamp(32px,4vw,56px)}.page-head h1{font-size:var(--t-page);line-height:1.08;margin:0;max-width:18ch}.page-head .lede{font-size:var(--t-lede);line-height:1.55;color:var(--muted);max-width:40rem;margin:0}.band-cta{border-radius:var(--radius-xl);padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:auto 1fr auto;gap:var(--s4);align-items:center;box-shadow:var(--shadow-lg)}.band-cta img{border-radius:12px;box-shadow:0 4px 14px #0003}.band-cta h2{font-size:clamp(24px,2.6vw,32px);line-height:1.15;margin:0 0 6px}.band-cta p{color:var(--band-muted);font-size:17px;line-height:1.5;margin:0}@media(max-width:760px){.band-cta{grid-template-columns:1fr}}.prose{color:var(--text);font-family:var(--serif);font-size:var(--t-body);line-height:1.7;max-width:var(--measure)}.prose>*:first-child{margin-top:0}.prose h2{font-size:clamp(26px,2.6vw,32px);font-weight:400;line-height:1.2;margin:var(--s6) 0 18px;padding-top:8px;scroll-margin-top:var(--s8)}.prose h3{font-size:var(--t-lede);font-weight:500;margin:var(--s5) 0 12px;scroll-margin-top:var(--s8)}.prose h4{font-size:var(--t-body);font-weight:600;margin:var(--s5) 0 10px;scroll-margin-top:var(--s8)}.prose h2:before,.prose h3:before{font-family:var(--mono);font-weight:400;color:var(--ink-accent);font-size:.55em;margin-right:.6em;vertical-align:.18em}.prose h2:before{content:"##"}.prose h3:before{content:"###"}.prose p{margin:0 0 var(--s4)}.prose a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:inherit}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{margin:0 0 var(--s4);padding-left:26px}.prose li{margin:8px 0}.prose li::marker{color:var(--muted)}.prose li>ul,.prose li>ol{margin:8px 0}.prose strong{font-weight:600;color:var(--text)}.prose hr{border:0;border-top:1px solid var(--border-strong);margin:var(--s6) 0}.prose blockquote{margin:var(--s4) 0;padding:16px 22px;border-left:3.5px solid var(--ink-accent);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);font-style:italic}.prose blockquote p{margin:8px 0}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--mono);font-size:.84em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.15em .45em}.prose pre{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px 24px;overflow-x:auto;margin:0 0 var(--s4)}.prose pre code{background:none;border:0;padding:0;font-size:var(--t-ui);line-height:1.65;color:var(--text)}.prose .table-scroll,.prose table{margin:0 0 var(--s4)}.prose table{width:100%;border-collapse:collapse;font-size:var(--t-ui);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs);overflow:hidden}.prose thead th{background:var(--surface-2);text-align:left;font-family:var(--font);font-weight:600;font-size:var(--t-note);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.prose th,.prose td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:hover{background:var(--surface)}.prose td code,.prose th code{white-space:nowrap}.prose img{max-width:100%;height:auto;border-radius:var(--radius);display:block;margin:var(--s4) 0}@media(max-width:560px){.prose{font-size:var(--t-ui)}.prose table{display:block;overflow-x:auto;white-space:nowrap}}.prose .mdx{margin:0 0 24px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.prose .mdx-playground{margin:0 0 30px;border-color:var(--border-strong);box-shadow:var(--shadow)}.prose .mdx-playground .mdx-code,.prose .mdx-playground .mdx-out{min-height:210px}.prose .mdx-playground .mdx-code{font-size:14px}.prose .mdx-cap{display:flex;align-items:center;gap:9px;padding:12px 16px;font-family:var(--font);font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text);background:var(--grad-soft);border-bottom:1px solid var(--border)}.prose .mdx-cap:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-accent);flex:none}.prose .mdx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:760px){.prose .mdx-grid{grid-template-columns:minmax(0,1fr)}}.prose .mdx.is-live .mdx-pane-src{cursor:text}.prose .mdx.is-live:focus-within{border-color:var(--border-strong)}.prose .mdx-pane{min-width:0;display:flex;flex-direction:column}.prose .mdx-pane-src{border-right:1px solid var(--border)}@media(max-width:760px){.prose .mdx-pane-src{border-right:0;border-bottom:1px solid var(--border)}}.prose .mdx-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg-2);min-height:38px}.prose .mdx-tag{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.prose .mdx-hint{font-family:var(--font);font-size:11px;font-weight:500;color:var(--ink-accent);opacity:.85}.prose .mdx-hint:not(:empty):before{content:"·";margin-right:8px;color:var(--faint)}.prose .mdx-reset{margin-left:auto;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font:inherit;font-family:var(--font);font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.prose .mdx-reset:hover{color:var(--text);border-color:var(--text)}.prose .mdx-code{margin:0;padding:16px 18px;background:none;border:0;border-radius:0;box-shadow:none;font-family:var(--mono);font-size:13.5px;line-height:1.65;color:var(--text);-moz-tab-size:2;tab-size:2;overflow-x:auto;flex:1}.prose .mdx-code code{font-size:inherit;line-height:inherit}.prose textarea.mdx-input{display:block;width:100%;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;outline:none;transition:background .2s var(--ease)}.prose textarea.mdx-input:focus{background:color-mix(in srgb,var(--ink-accent) 6%,transparent)}.prose .mdx-out{padding:16px 18px;flex:1;min-width:0;font-size:15px;line-height:1.6}.prose .mdx-out>*:first-child{margin-top:0}.prose .mdx-out>*:last-child{margin-bottom:0}.prose .mdx-out p{margin:0 0 12px}.prose .mdx-out ul,.prose .mdx-out ol{margin:0 0 12px;padding-left:22px}.prose .mdx-out li{margin:4px 0}.prose .mdx-out img{margin:8px 0;border-radius:var(--radius)}.prose .mdx-out hr{margin:16px 0}.prose .mdx-out blockquote{margin:0 0 12px;padding:4px 0 4px 14px}.prose .mdx-out table{margin:0;font-size:13.5px}.prose .mdx-out th,.prose .mdx-out td{padding:7px 10px}.prose .mdx-out pre{margin:0 0 12px;padding:12px 14px;border-radius:var(--radius)}.prose .mdx-out pre code{font-size:13px}.prose .mdx-out .mdx-h{margin:0 0 10px;font-weight:500;letter-spacing:-.02em;line-height:1.25;scroll-margin-top:0}.prose .mdx-out .mdx-h1{font-size:25px}.prose .mdx-out .mdx-h2{font-size:21px}.prose .mdx-out .mdx-h3{font-size:18px}.prose .mdx-out .mdx-h4{font-size:16px}.prose .mdx-out .mdx-h5,.prose .mdx-out .mdx-h6{font-size:15px;color:var(--muted)}.prose .mdx-out .mdx-h+*{margin-top:0}.prose .mdx-out li>input[type=checkbox]{margin-right:6px}.prose pre.mermaid{margin:0 0 22px;padding:16px 18px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--muted);overflow-x:auto}.prose .mdx-out pre.mermaid{margin:0 0 12px}.prose .mdx-diagram{margin:0 0 22px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto;text-align:center}.prose .mdx-out .mdx-diagram{margin:0 0 12px;padding:12px}.prose .mdx-diagram svg{max-width:100%;height:auto}.prose pre.mdx-diagram-error{border-color:var(--ink-accent);border-style:solid;color:var(--ink-accent)}.prose .mdx-math-raw,.prose .mdx-math-error{font-size:.9em}.prose .mdx-math-error{color:var(--ink-accent);border-color:var(--ink-accent)}.prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
