:root,html[data-theme=paper]{--bg: oklch(.985 .008 80);--bg-tint: oklch(.965 .012 80);--ink: oklch(.18 .012 60);--ink-2: oklch(.3 .012 60);--muted: oklch(.5 .012 60);--hairline: oklch(.88 .01 80);--hairline-strong: oklch(.78 .012 80);--accent: oklch(.62 .2 32);--accent-ink: oklch(.98 .005 80);--selection: oklch(.85 .14 32 / .45)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.55;font-feature-settings:"ss01","ss02","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}::selection{background:var(--selection)}body{min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none;text-underline-offset:3px;transition:color .15s ease,opacity .15s ease}a:hover{color:var(--accent)}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}@media (max-width: 540px){.wrap{padding:0 20px}}.mono{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace}.eyebrow{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:18px;height:1px;background:var(--hairline-strong)}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--hairline-strong);border-radius:999px;font-size:14.5px;font-weight:500;color:var(--ink);background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;text-decoration:none}.btn:hover{background:var(--bg-tint);color:var(--ink);border-color:var(--ink)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.arrow{width:14px;height:14px;display:inline-block;vertical-align:-1px}.btn .arrow{transition:transform .2s ease}.btn:hover .arrow{transform:translate(3px)}.site-footer{border-top:1px solid var(--hairline);padding:56px 0 40px}.site-footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px}.site-footer h4{font-family:Geist Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}.site-footer ul li{padding:4px 0}.site-footer ul li a{color:var(--ink-2);font-size:14.5px}.site-footer .meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);padding-top:24px;border-top:1px solid var(--hairline)}@media (max-width: 820px){.site-footer .grid{grid-template-columns:1fr 1fr}}@media (max-width: 540px){.site-footer .grid{grid-template-columns:1fr}}.reveal{opacity:0;transform:translateY(10px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.progress-track{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}.progress-track .bar{height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}.page-hero{padding:clamp(48px,7vh,88px) 0 48px}.back-link{font-family:Geist Mono,monospace;font-size:12.5px;color:var(--muted);display:inline-block;margin-bottom:28px}.back-link:hover{color:var(--ink)}.page-hero h1{font-size:clamp(30px,4vw,56px);line-height:1.06;letter-spacing:-.03em;text-wrap:balance;margin-top:16px;max-width:26ch}.page-hero .subtitle{font-size:clamp(18px,1.8vw,24px);color:var(--ink-2);margin-top:12px;font-weight:400;letter-spacing:-.015em}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px;font-family:Geist Mono,monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.hero-image-wrap{padding:0 0 48px;border-bottom:1px solid var(--hairline)}.hero-image-wrap img{width:100%;max-height:480px;object-fit:cover;border-radius:8px;border:1px solid var(--hairline)}.author-row{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--hairline)}.author-row img{width:40px;height:40px;border-radius:50%;display:block;flex-shrink:0}.author-row .name{font-size:15px;font-weight:500;color:var(--ink)}.author-row .date-line{font-size:13px;color:var(--muted);margin-top:2px}.share-links{margin-left:auto;display:flex;align-items:center;gap:10px}.share-links a{color:var(--muted);transition:color .15s ease;display:flex}.share-links a:hover{color:var(--ink)}.content-zone{padding:56px 0 80px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:64px;align-items:start}@media (max-width: 1000px){.content-grid{grid-template-columns:minmax(0,1fr)}.toc-aside{display:none}}.toc-aside{position:sticky;top:88px}.toc-title{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.toc a{display:block;padding:6px 0 6px 14px;font-size:13.5px;line-height:1.4;color:var(--muted);border-left:1px solid var(--hairline);transition:color .15s ease,border-color .15s ease}.toc a:hover{color:var(--ink)}.toc a.active{color:var(--ink);border-left-color:var(--accent)}.prose{font-size:16.5px;line-height:1.65;color:var(--ink-2)}.prose h2{font-size:clamp(22px,2.4vw,28px);color:var(--ink);margin:40px 0 12px}.prose h3{font-size:19px;color:var(--ink);margin:30px 0 8px;letter-spacing:-.015em}.prose h4{font-size:16.5px;color:var(--ink);margin:24px 0 6px}.prose h1 a,.prose h2 a,.prose h3 a,.prose h4 a{color:inherit;text-decoration:none}.prose p{margin:13px 0;text-wrap:pretty}.prose ul,.prose ol{margin:13px 0;padding-left:24px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose ul ul{list-style:circle;margin:4px 0}.prose li{margin:5px 0}.prose li::marker{color:var(--muted)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--accent) 40%,transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{margin:18px 0;border-left:2px solid var(--accent);padding:4px 0 4px 18px;color:var(--ink)}.prose code{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}.prose :not(pre)>code{background:var(--bg-tint);border:1px solid var(--hairline);border-radius:4px;padding:1px 5px;color:var(--ink);white-space:nowrap}.prose pre{margin:18px 0;padding:18px;border-radius:8px;border:1px solid var(--hairline);overflow-x:auto;font-size:13.5px;line-height:1.55}.prose img{border:1px solid var(--hairline);border-radius:8px;margin:22px 0}.prose hr{border:none;border-top:1px solid var(--hairline);margin:32px 0}.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;display:block;overflow-x:auto}.prose th{font-family:Geist Mono,monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--hairline-strong)}.prose td{padding:10px 14px 10px 0;border-bottom:1px solid var(--hairline);vertical-align:top}.faq-list{margin-top:40px;border-top:1px solid var(--hairline)}.faq-item{border-bottom:1px solid var(--hairline)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;font-size:16.5px;font-weight:500;color:var(--ink);cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:Geist Mono,monospace;font-size:18px;color:var(--muted);flex-shrink:0}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 0 18px;font-size:15.5px;line-height:1.65;color:var(--ink-2)}.video-grid{display:flex;flex-direction:column;gap:24px;margin-top:24px}.video-embed{border-radius:8px;overflow:hidden;border:1px solid var(--hairline);aspect-ratio:16/9;width:100%;max-width:760px}.video-embed iframe{width:100%;height:100%;display:block}.video-caption{margin-top:8px;font-size:13px;color:var(--muted)}.end-cta{border-top:1px solid var(--hairline);padding:56px 0}.end-cta .row{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}@media (max-width: 820px){.end-cta .row{grid-template-columns:1fr;align-items:start}}.end-cta h2{font-size:clamp(28px,3.6vw,44px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
