.prose{font-family:var(--font-read);font-size:clamp(1.08rem,1rem + .4vw,1.24rem);line-height:1.72;color:var(--ink)}.prose>*+*{margin-top:1.15em}.prose p{max-width:68ch}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{font-weight:600}.prose h2{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem);margin-top:2.4em;margin-bottom:.1em;padding-top:.6em;line-height:1.08;scroll-margin-top:90px;position:relative}.prose h2:before{content:"";display:block;width:2.4rem;height:4px;background:var(--accent);margin-bottom:.7rem}.prose h3{font-size:clamp(1.25rem,1.1rem + .7vw,1.55rem);margin-top:1.8em;scroll-margin-top:90px}.prose ul,.prose ol{max-width:66ch;padding-left:1.3em}.prose li+li{margin-top:.5em}.prose ul li::marker{color:var(--accent)}.prose ol li::marker{font-family:var(--font-ui);font-weight:700;color:var(--accent)}.prose .callout{max-width:68ch;border:1px solid var(--line-2);border-left:4px solid var(--accent);background:var(--card);border-radius:var(--radius);padding:1.1rem 1.3rem;font-family:var(--font-ui);font-size:.98rem;line-height:1.6}.prose .callout>*+*{margin-top:.5em}.prose .callout .callout-title{font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:.5rem;color:var(--ink)}.prose .callout .callout-title:before{content:"i";display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.85rem;flex-shrink:0}.prose .callout[data-type=key]{border-left-color:var(--accent);background:var(--accent-tint)}.prose .callout[data-type=key] .callout-title:before{content:"★"}.prose .callout[data-type=tip]{border-left-color:#0e9f6e}.prose .callout[data-type=tip] .callout-title:before{content:"✓";background:#0e9f6e}.prose .callout[data-type=warning]{border-left-color:#d97706}.prose .callout[data-type=warning] .callout-title:before{content:"!";background:#d97706}.prose .tablefig{max-width:100%;margin-block:1.8em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:.95rem;min-width:460px}.prose thead th{background:var(--ink);color:var(--paper);text-align:left;font-weight:600;letter-spacing:.02em}.prose th,.prose td{padding:.7rem .9rem;border:1px solid var(--line-2);vertical-align:top}.prose tbody tr:nth-child(2n){background:var(--card)}.prose tbody td:first-child{font-weight:600}.prose figcaption{font-family:var(--font-ui);font-size:.82rem;color:var(--ink-3);margin-top:.6rem}.prose .versus{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;max-width:100%;margin-block:1.8em;font-family:var(--font-ui);font-size:.96rem}.prose .vs-col{background:var(--card);padding:1.2rem 1.3rem}.prose .vs-col h4{font-family:var(--font-ui);font-weight:700;letter-spacing:0;font-size:1rem;padding-bottom:.5rem;margin-bottom:.7rem;border-bottom:2px solid var(--accent);display:inline-block}.prose .vs-col[data-side=b] h4{border-color:var(--ink-3)}.prose .vs-col ul{padding-left:1.1em;margin:0}@media(max-width:560px){.prose .versus{grid-template-columns:1fr}}.prose blockquote.pull{max-width:40ch;margin:1.8em auto;font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1.6vw,2.2rem);line-height:1.18;letter-spacing:-.02em;text-align:center;color:var(--ink);padding-block:.4em;position:relative}.prose blockquote.pull:before,.prose blockquote.pull:after{content:"";display:block;width:3rem;height:3px;background:var(--accent);margin:.6rem auto}.prose .stat{display:flex;align-items:baseline;gap:.8rem;max-width:60ch;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding-block:.9rem;font-family:var(--font-ui)}.prose .stat .stat-num{font-family:var(--font-display);font-size:clamp(2.2rem,1.6rem + 2.5vw,3.4rem);font-weight:500;color:var(--accent);line-height:1}.prose .stat .stat-label{font-size:.98rem;color:var(--ink-2)}.prose ol.steps{list-style:none;padding:0;counter-reset:step;max-width:68ch;display:grid;gap:.8rem}.prose ol.steps li{counter-increment:step;position:relative;padding:1rem 1rem 1rem 3.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-ui);font-size:.98rem}.prose ol.steps li:before{content:counter(step);position:absolute;left:.9rem;top:.9rem;width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-weight:600}
