:root{--bg:#fbfbfd;--bg-elevated:#fff;--bg-sunken:#f2f2f5;--text:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#8a8a8e;--border:#e3e3e6;--border-strong:#d0d0d4;--accent:#3a6ea5;--accent-hover:#315d8c;--accent-contrast:#fff;--code-bg:#f4f4f6;--code-text:#2a2a2e;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--step--1:clamp(0.83rem,0.8rem + 0.15vw,0.9rem);--step-0:clamp(1.0625rem,1rem + 0.3vw,1.1875rem);--step-1:clamp(1.35rem,1.2rem + 0.6vw,1.6rem);--step-2:clamp(1.75rem,1.4rem + 1.4vw,2.4rem);--step-3:clamp(2.4rem,1.9rem + 2.4vw,3.75rem);--step-4:clamp(3rem,2.2rem + 3.6vw,5rem);--line-body:1.55;--line-tight:1.1;--section-y:clamp(72px,6vw + 40px,160px);--gap:clamp(16px,2vw,24px);--radius:14px;--radius-sm:10px;--radius-pill:980px;--measure:44rem;--measure-wide:62rem;--shadow-soft:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);--ease:cubic-bezier(0.4,0,0.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--bg-elevated:#161617;--bg-sunken:#0d0d0e;--text:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#7c7c81;--border:#2a2a2c;--border-strong:#3a3a3d;--accent:#6ba4de;--accent-hover:#86b6e6;--accent-contrast:#0b0b0c;--code-bg:#1b1b1d;--code-text:#e6e6ea;--shadow-soft:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.5)}}:root[data-theme=dark]{--bg:#000;--bg-elevated:#161617;--bg-sunken:#0d0d0e;--text:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#7c7c81;--border:#2a2a2c;--border-strong:#3a3a3d;--accent:#6ba4de;--accent-hover:#86b6e6;--accent-contrast:#0b0b0c;--code-bg:#1b1b1d;--code-text:#e6e6ea;--shadow-soft:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.5)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--line-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;line-height:var(--line-tight);letter-spacing:-.021em;font-weight:600}p{margin:0}a{color:var(--accent);text-decoration:none;transition:color .2s var(--ease)}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.container{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:clamp(20px,5vw,32px)}.container--wide{max-width:var(--measure-wide)}.section{padding-block:var(--section-y)}.section+.section{padding-top:0}.stack>*+*{margin-top:var(--gap)}.kicker{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.display{font-size:var(--step-3);letter-spacing:-.03em;font-weight:600}.headline{font-size:var(--step-2);letter-spacing:-.025em}.lede{font-size:var(--step-1);line-height:1.4;font-weight:400}.lede,.muted{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--radius-pill);font-size:var(--step-0);font-weight:500;line-height:1;border:1px solid transparent;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease)}.btn:active{transform:scale(.985)}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{background:var(--accent-hover);color:var(--accent-contrast)}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn--ghost:hover{background:var(--bg-sunken);color:var(--text)}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.preview-banner{position:relative;z-index:60;text-align:center;padding:7px 16px;font-size:var(--step--1);letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-sunken);border-bottom:1px solid var(--border)}.preview-banner a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.preview-banner a:hover{color:var(--text)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px}.wordmark{font-weight:600;letter-spacing:-.02em;color:var(--text);font-size:1rem}.header-actions{display:flex;align-items:center;gap:8px}.site-footer{border-top:1px solid var(--border);padding-block:48px;font-size:var(--step--1)}.site-footer,.site-footer a{color:var(--text-secondary)}.site-footer a:hover{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.theme-toggle:hover{color:var(--text);border-color:var(--text-tertiary)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.reveal[data-in=true]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.hero{text-align:center;padding-block:clamp(80px,12vw,180px) var(--section-y)}.hero .lede{max-width:34rem;margin-inline:auto;margin-top:22px}.hero__cta{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero__note{margin-top:18px;font-size:var(--step--1);color:var(--text-tertiary)}.hero__art{margin:clamp(48px,6vw,72px) auto 0;max-width:56rem;border-radius:calc(var(--radius) + 6px);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--border)}.hero__art img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:640px){.feature-grid{grid-template-columns:1fr}}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card h3{font-size:var(--step-1);margin-bottom:8px}.card p{color:var(--text-secondary)}.example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.example-card{margin:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.example-card img,.example-card video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--border);background:var(--bg-sunken)}.example-card figcaption{padding:20px 22px 24px}.example-card h3{font-size:var(--step-1);margin-bottom:6px}.example-card p{color:var(--text-secondary)}.chapter-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.chapter-list li{border-bottom:1px solid var(--border)}.chapter-list__row{display:grid;grid-template-columns:3.5rem 1fr;grid-gap:20px;gap:20px;padding:26px 4px;align-items:baseline}.chapter-list__num{font-size:var(--step--1);color:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em}.chapter-list__title{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em}.chapter-list__summary{color:var(--text-secondary);margin-top:6px;font-size:calc(var(--step-0) - 1px)}.price-block{text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);padding:clamp(36px,6vw,64px)}.price-block__price{font-size:var(--step-3);font-weight:600;letter-spacing:-.03em}.price-block__list{list-style:none;padding:0;margin:24px auto 32px;max-width:22rem;text-align:left;display:grid;grid-gap:12px;gap:12px;color:var(--text-secondary)}.price-block__list li{display:grid;grid-template-columns:20px 1fr;grid-gap:10px;gap:10px}.price-block__list li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(.6em)}.unlock-wrap{min-height:calc(100vh - 52px);display:grid;place-items:center;padding:48px 20px}.unlock-card{width:100%;max-width:30rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:clamp(28px,5vw,44px);box-shadow:var(--shadow-soft)}.unlock-card h1{font-size:var(--step-2);letter-spacing:-.025em}.unlock-card p.muted{margin-top:10px}.field{margin-top:26px;display:grid;grid-gap:8px;gap:8px}.field label{font-size:var(--step--1);font-weight:600;color:var(--text-secondary)}.input{width:100%;padding:14px 16px;font-family:var(--font-mono);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input::placeholder{color:var(--text-tertiary);letter-spacing:.08em}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.form-error{margin-top:16px;color:#c0392b;font-size:var(--step--1)}:root[data-theme=dark] .form-error{color:#ff6b5e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .form-error{color:#ff6b5e}}.reader{--measure:42rem;position:relative}.reader__progress{position:-webkit-sticky;position:sticky;top:52px;z-index:30;height:2px;background:transparent}.reader__progress-bar{height:100%;background:var(--accent);width:var(--progress,0);transition:width .1s linear}.guide-cover{margin-top:clamp(24px,5vw,48px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-sunken)}.guide-cover img{display:block;width:100%;height:auto}.reader__head{padding-top:clamp(48px,8vw,96px);padding-bottom:8px}.reader__title{font-size:var(--step-2);letter-spacing:-.025em;margin-top:10px}.reader__meta{margin-top:20px;font-size:var(--step--1);color:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reader-section{scroll-margin-top:96px}.reader-section+.reader-section{margin-top:clamp(56px,8vw,88px);border-top:1px solid var(--border)}.reader-section__head{padding-top:clamp(40px,6vw,72px)}.reader-section:first-of-type .reader-section__head{padding-top:clamp(24px,4vw,40px)}.reader-section__title{font-size:var(--step-2);letter-spacing:-.025em;margin-top:10px}.prose{padding-block:28px clamp(56px,8vw,88px)}.prose>*+*{margin-top:1.4em}.prose h3{font-size:var(--step-1);letter-spacing:-.02em;margin-top:2.2em;padding-top:.2em}.prose h3:first-child{margin-top:0}.prose p{color:var(--text)}.prose ol,.prose ul{margin:1.2em 0;padding-left:1.4em;display:grid;grid-gap:.6em;gap:.6em}.prose li{padding-left:.3em}.prose li::marker{color:var(--text-tertiary)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);color:var(--code-text);padding:.15em .4em;border-radius:6px}.code-block{position:relative}.code-block pre{margin:0;background:var(--code-bg);color:var(--code-text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px 52px 20px 22px;overflow-x:auto;font-family:var(--font-mono);font-size:.92rem;line-height:1.6;white-space:pre}.code-block pre code{background:none;padding:0;font-size:inherit}.code-block__copy{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;font-size:var(--step--1);font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}.code-block__copy:hover{color:var(--text);border-color:var(--text-tertiary)}.code-block__copy[data-copied]{color:var(--accent);border-color:var(--accent)}.checklist{list-style:none;padding:0;margin:1.4em 0;display:grid;grid-gap:12px;gap:12px}.checklist li{display:grid;grid-template-columns:22px 1fr;grid-gap:12px;gap:12px;align-items:start;color:var(--text)}.checklist li:before{content:"";width:18px;height:18px;margin-top:.28em;border:1.5px solid var(--border-strong);border-radius:6px}.figure{margin:2.4em 0}.figure__frame{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-sunken)}.figure__frame img{width:100%;height:auto;display:block}.figure figcaption{margin-top:12px;font-size:var(--step--1);color:var(--text-tertiary);line-height:1.5}.figure__zoom-trigger{display:block;width:100%;padding:0;border:0;margin:0;background:none;cursor:zoom-in;position:relative}.figure__zoom-trigger:after{content:"";position:absolute;inset:0;background:transparent;transition:background .2s var(--ease)}.figure__zoom-trigger:focus-visible:after,.figure__zoom-trigger:hover:after{background:rgba(0,0,0,.06)}.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,64px);background:rgba(0,0,0,.86);cursor:zoom-out;animation:lightbox-in .18s var(--ease)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;cursor:zoom-out;box-shadow:0 24px 64px rgba(0,0,0,.5)}.lightbox__close{position:fixed;top:clamp(12px,3vw,24px);right:clamp(12px,3vw,24px);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid hsla(0,0%,100%,.25);background:hsla(0,0%,100%,.08);color:#fff;cursor:pointer;transition:background .2s var(--ease)}.lightbox__close:hover{background:hsla(0,0%,100%,.18)}@media (prefers-reduced-motion:reduce){.lightbox{animation:none}}.ref-grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);-webkit-overflow-scrolling:touch}.ref-grid{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--step--1)}.ref-grid thead th{text-align:left;padding:12px 16px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--text-tertiary);background:var(--bg-sunken);border-bottom:1px solid var(--border);white-space:nowrap}.ref-grid tbody td,.ref-grid tbody th{padding:14px 16px;vertical-align:top;text-align:left;border-bottom:1px solid var(--border);color:var(--text);line-height:1.45}.ref-grid tbody tr:last-child td,.ref-grid tbody tr:last-child th{border-bottom:none}.ref-grid__name{font-weight:600;letter-spacing:-.01em;white-space:nowrap}.ref-grid__thumb{width:84px;height:84px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--bg-sunken)}.ref-grid__thumb .figure__zoom-trigger{height:100%}.ref-grid__thumb img{width:100%;height:100%;object-fit:cover;display:block}.ref-grid__thumb--video{width:168px;height:94px}.ref-grid__thumb--video video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.copy-prompt-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:var(--step--1);font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}.copy-prompt-btn:hover{color:var(--text);border-color:var(--text-tertiary)}.copy-prompt-btn[data-copied]{color:var(--accent);border-color:var(--accent)}.reader__nav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-block:40px clamp(72px,10vw,120px)}.reader__nav a{display:grid;grid-gap:4px;gap:4px;max-width:46%}.reader__nav .dir{font-size:var(--step--1);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.reader__nav .to{color:var(--text);font-weight:600;letter-spacing:-.01em}.reader__nav a:hover .to{color:var(--accent)}.reader__nav .next{text-align:right}.reader-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0;gap:0}@media (min-width:1080px){.reader-shell{grid-template-columns:260px minmax(0,1fr);max-width:76rem;margin-inline:auto;padding-inline:32px;gap:48px}.reader-shell .container{padding-inline:0;margin-inline:0}}.toc{display:none}@media (min-width:1080px){.toc{display:block;position:-webkit-sticky;position:sticky;top:84px;align-self:start;padding-top:clamp(48px,8vw,96px);font-size:var(--step--1)}.toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px}.toc a{display:block;padding:7px 10px;border-radius:8px;color:var(--text-secondary);line-height:1.35}.toc a:hover,.toc a[aria-current=page]{background:var(--bg-sunken);color:var(--text)}.toc a[aria-current=page]{font-weight:600}}.watermark{position:fixed;inset:0;z-index:5;pointer-events:none;background-color:var(--text);opacity:.13;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-position:0 0;mask-position:0 0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .watermark{opacity:.16}}:root[data-theme=dark] .watermark{opacity:.16}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}@media print{body *{visibility:hidden!important}body:before{content:"This guide is view-only. Printing and exporting are disabled.";visibility:visible!important;display:block;position:fixed;inset:0;padding:40px;font-family:var(--font-sans);font-size:16px;color:#000;background:#fff}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-contrast);padding:10px 16px;border-radius:0 0 8px 0;z-index:100}.skip-link:focus{left:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}