@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff)format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-display-600.woff)format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-display-700.woff)format("woff")}:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Inter Display", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--c-ink:#0f1621;--c-ink-2:#263040;--c-muted:#535e70;--c-subtle:#8a93a3;--c-line:#e5e2db;--c-line-strong:#d2cec5;--c-paper:#fbfaf7;--c-surface:#fff;--c-sunken:#f4f2ed;--c-brand:#0e6b58;--c-brand-strong:#0a5243;--c-brand-bright:#1fae8c;--c-brand-tint:#e6f3ef;--c-brand-tint-2:#cde7df;--c-accent:#f2a33a;--c-accent-strong:#9a5a06;--c-accent-tint:#fdf2e1;--c-iris:#4b4fc4;--c-iris-tint:#eeeefb;--c-danger:#b42318;--c-danger-tint:#fdeeec;--c-success:var(--c-brand);--c-success-tint:var(--c-brand-tint);--c-night:#0c131d;--c-night-2:#141e2c;--c-night-3:#1d2a3b;--c-night-line:#253447;--c-night-text:#e8edf3;--c-night-muted:#9fb0c3;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.1875rem;--fs-xl:clamp(1.3125rem, 1.2rem + .45vw, 1.5rem);--fs-2xl:clamp(1.625rem, 1.35rem + 1.1vw, 2.125rem);--fs-3xl:clamp(2rem, 1.55rem + 1.9vw, 2.875rem);--fs-4xl:clamp(2.375rem, 1.7rem + 2.9vw, 3.75rem);--lh-tight:1.1;--lh-snug:1.3;--lh-body:1.6;--tracking-display:-.022em;--tracking-tight:-.012em;--tracking-caps:.08em;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--sp-20:5rem;--sp-24:6rem;--section-y:clamp(3.5rem, 2.5rem + 4vw, 6rem);--container:1200px;--container-wide:1320px;--container-narrow:760px;--measure:68ch;--gutter:clamp(1rem, .6rem + 1.6vw, 2rem);--header-h:64px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--shadow-xs:0 1px 2px #0f16210d;--shadow-sm:0 1px 2px #0f16210d, 0 2px 6px #0f16210a;--shadow-md:0 2px 4px #0f16210a, 0 8px 24px #0f162112;--shadow-lg:0 4px 8px #0f16210d, 0 20px 48px #0f16211f;--focus-ring:0 0 0 3px var(--c-paper), 0 0 0 5px var(--c-brand);--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.12s;--dur:.2s}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 20px);scroll-padding-bottom:24px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--c-paper);min-height:100vh;color:var(--c-ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex}main{flex:1 0 auto}img,svg,video{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);color:var(--c-ink);text-wrap:balance;margin:0}h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:var(--tracking-display);font-weight:700}h2{font-size:var(--fs-2xl);letter-spacing:var(--tracking-display);line-height:1.18}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p,ul,ol,dl,figure,blockquote,pre,table{margin:0}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:var(--c-brand);text-underline-offset:.18em;transition:color var(--dur-fast) var(--ease);text-decoration-thickness:1px}a:hover{color:var(--c-brand-strong)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-xs);outline:none}::selection{background:var(--c-brand-tint-2);color:var(--c-ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-top:1px solid var(--c-line);margin:var(--sp-8) 0}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--sp-4);z-index:100;padding:var(--sp-2) var(--sp-4);background:var(--c-ink);color:#fff;border-radius:var(--r-sm);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--sp-3);color:#fff}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:calc(var(--container-wide) + var(--gutter) * 2)}.container--narrow{max-width:calc(var(--container-narrow) + var(--gutter) * 2)}.section{padding-block:var(--section-y)}.section--tight{padding-block:calc(var(--section-y) * .6)}.section--sunken{background:var(--c-sunken);border-block:1px solid var(--c-line)}.stack>*+*{margin-top:var(--stack,var(--sp-4))}.cluster{gap:var(--cluster-gap,var(--sp-3));flex-wrap:wrap;align-items:center;display:flex}.grid{gap:var(--grid-gap,var(--sp-5));grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--grid-min,320px)), 1fr));display:grid}.grid--2{--grid-min:360px}.grid--4{--grid-min:230px}.muted{color:var(--c-muted)}.eyebrow{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-brand);font-weight:600;display:inline-flex}.lede{font-size:var(--fs-lg);color:var(--c-muted);max-width:62ch;line-height:1.55}.measure{max-width:var(--measure)}.logo{align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.logo__mark{flex:none}.logo__word{font-family:var(--font-display);letter-spacing:-.03em;color:var(--c-ink);font-size:1.3rem;font-weight:700;line-height:1}.logo--light .logo__word{color:#fff}.logo--sm .logo__word{font-size:1.1rem}.logo--lg .logo__word{font-size:1.6rem}.btn{--btn-bg:var(--c-surface);--btn-fg:var(--c-ink);--btn-bd:var(--c-line-strong);border:1px solid var(--btn-bd);border-radius:var(--r-md);background:var(--btn-bg);min-height:44px;color:var(--btn-fg);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-fg)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn--primary{--btn-bg:var(--c-brand);--btn-fg:#fff;--btn-bd:var(--c-brand);box-shadow:inset 0 1px #ffffff26,0 1px 2px #0a524340}.btn--primary:hover{--btn-bg:var(--c-brand-strong);--btn-bd:var(--c-brand-strong)}.btn--secondary:hover{--btn-bd:var(--c-ink-2);background:var(--c-surface)}.btn--dark{--btn-bg:var(--c-ink);--btn-fg:#fff;--btn-bd:var(--c-ink)}.btn--dark:hover{--btn-bg:var(--c-ink-2)}.btn--ghost{--btn-bg:transparent;--btn-bd:transparent;--btn-fg:var(--c-ink-2)}.btn--ghost:hover{--btn-bg:var(--c-sunken)}.btn--on-dark{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:#ffffff59}.btn--on-dark:hover{--btn-bd:#fff;--btn-fg:#fff}.btn--sm{min-height:36px;font-size:var(--fs-xs);border-radius:var(--r-sm);padding:.4rem .8rem}.btn--lg{min-height:50px;font-size:var(--fs-base);padding:.75rem 1.4rem}.btn.is-copied{--btn-bg:var(--c-brand-tint);--btn-bd:var(--c-brand);--btn-fg:var(--c-brand-strong)}.text-link{align-items:center;gap:.35rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.badge{border-radius:var(--r-pill);background:var(--c-sunken);border:1px solid var(--c-line);color:var(--c-ink-2);white-space:nowrap;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}a.badge{text-decoration:none}a.badge:hover{border-color:var(--c-line-strong);color:var(--c-ink)}.badge--brand{background:var(--c-brand-tint);border-color:var(--c-brand-tint-2);color:var(--c-brand-strong)}.badge--accent{background:var(--c-accent-tint);color:var(--c-accent-strong);border-color:#f6dcb3}.badge--iris{background:var(--c-iris-tint);color:var(--c-iris);border-color:#dcdcf6}.badge--neutral{background:var(--c-surface)}.site-header{z-index:40;-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--c-line);background:#fbfaf7f7;position:sticky;top:0;box-shadow:0 1px #0f162105,0 6px 16px -12px #0f16212e}.site-header__inner{align-items:center;gap:var(--sp-6);height:var(--header-h);display:flex}.site-header__brand{border-radius:var(--r-sm);text-decoration:none;display:inline-flex}.site-nav{margin-right:auto;display:none}.site-nav__list{gap:.15rem;margin:0;display:flex}.site-nav__link{border-radius:var(--r-sm);color:var(--c-ink-2);font-size:var(--fs-sm);padding:.5rem .75rem;font-weight:500;text-decoration:none;display:inline-flex}.site-nav__link:hover{color:var(--c-ink);background:var(--c-sunken)}.site-nav__link[aria-current]{color:var(--c-ink);box-shadow:inset 0 -2px 0 var(--c-brand);border-radius:0;font-weight:600}.site-header__actions{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.search-trigger{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);height:40px;color:var(--c-muted);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease);align-items:center;gap:.5rem;padding:0 .75rem;text-decoration:none;display:inline-flex}.search-trigger:hover{border-color:var(--c-ink-2);color:var(--c-ink)}.search-trigger__text{display:none}.search-trigger__kbd,kbd{border:1px solid var(--c-line-strong);border-radius:var(--r-xs);background:var(--c-paper);min-width:1.4rem;color:var(--c-muted);font-family:var(--font-sans);border-bottom-width:2px;justify-content:center;align-items:center;padding:.05rem .35rem;font-size:.72rem;font-weight:600;line-height:1.4;display:inline-flex}.search-trigger__kbd{display:none}@media (width>=640px){.search-trigger__text{display:inline}.search-trigger{min-width:170px}.search-trigger__kbd{margin-left:auto;display:inline-flex}}@media (width>=900px){.site-nav{display:block}.site-header__actions{margin-left:0}.mnav{display:none}}.mnav{position:static}.mnav__toggle{border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;list-style:none;display:inline-flex}.mnav__toggle::-webkit-details-marker{display:none}.mnav__icon-close,.mnav[open] .mnav__icon-open{display:none}.mnav[open] .mnav__icon-close,.mnav__icon-open{display:inline-flex}.mnav__panel{left:0;right:0;top:var(--header-h);max-height:calc(100vh - var(--header-h));padding:var(--sp-4) var(--gutter) var(--sp-8);background:var(--c-paper);border-bottom:1px solid var(--c-line);box-shadow:var(--shadow-lg);position:absolute;overflow-y:auto}.mnav__list{gap:var(--sp-1);margin:0;display:grid}.mnav__link{padding:var(--sp-3) var(--sp-3);border-radius:var(--r-md);color:var(--c-ink);gap:.1rem;text-decoration:none;display:grid}.mnav__link:hover,.mnav__link[aria-current]{background:var(--c-sunken);color:var(--c-ink)}.mnav__label{font-weight:600}.mnav__desc{color:var(--c-muted);font-size:var(--fs-sm)}.mnav__secondary{gap:var(--sp-2) var(--sp-5);margin:var(--sp-4) 0 0;padding:var(--sp-4) var(--sp-3) 0;border-top:1px solid var(--c-line);flex-wrap:wrap;display:flex}.mnav__secondary a{color:var(--c-ink-2);font-weight:500;text-decoration:none}body.has-mnav{overflow:hidden}@media (width>=900px){body.has-mnav{overflow:auto}}.crumbs{margin-bottom:var(--sp-5);font-size:var(--fs-sm)}.crumbs ol{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;display:flex}.crumbs li{color:var(--c-muted);align-items:center;gap:.25rem;display:inline-flex}.crumbs a{color:var(--c-muted);text-decoration:none}.crumbs a:hover{color:var(--c-brand);text-decoration:underline}.crumbs [aria-current]{color:var(--c-ink);font-weight:500}.crumbs__sep{color:var(--c-subtle)}.page-header{background:radial-gradient(1200px 300px at 85% -40%, #1fae8c17, transparent 70%), var(--c-paper);border-bottom:1px solid var(--c-line);padding-block:clamp(2rem,1.4rem + 2.5vw,3.75rem) clamp(1.75rem,1.2rem + 2vw,3rem)}.page-header__body{gap:var(--sp-4);max-width:820px;display:grid}.page-header__body .lede{margin:0}.page-header__icon{border-radius:var(--r-lg);background:var(--c-brand-tint);width:52px;height:52px;color:var(--c-brand);border:1px solid var(--c-brand-tint-2);justify-content:center;align-items:center;display:inline-flex}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-4) var(--sp-8);margin-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.section-header__text{gap:var(--sp-3);max-width:720px;display:grid}.section-header__lede{color:var(--c-muted);font-size:var(--fs-md)}.section-header__link{font-weight:600;font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.section-header__link:hover{text-decoration:underline}.card-list{margin:0;padding:0;list-style:none}.card-list>li{display:flex}.card-list>li>*{flex:1}.card{gap:var(--sp-3);padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;display:flex;position:relative}.card:hover{border-color:var(--c-line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:focus-within{border-color:var(--c-brand)}.card__link{color:inherit;text-decoration:none}.card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card__link:focus-visible{box-shadow:none}.card__link:focus-visible:after{box-shadow:var(--focus-ring)}.card:hover .card__link{color:var(--c-brand-strong)}.mono{border-radius:var(--r-md);width:44px;height:44px;font-family:var(--font-display);letter-spacing:-.02em;border:1px solid #0f16210f;flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.mono--sm{border-radius:var(--r-sm);width:32px;height:32px;font-size:.8rem}.mono--lg{border-radius:var(--r-lg);width:72px;height:72px;font-size:1.6rem}.mono--0{color:#0a5243;background:#e6f3ef}.mono--1{color:#85500a;background:#fdf2e1}.mono--2{color:#3b3fa8;background:#eeeefb}.mono--3{color:#1d4f8a;background:#e9f1fb}.mono--4{color:#8f2a3a;background:#fbecee}.mono--5{color:#3d3a30;background:#efede6}.mono--logo{border:1px solid var(--c-line);background:#fff}.mono--brand{color:#fff}.mono--logo img{object-fit:contain;border-radius:22%;width:58%;height:58%;display:block}.tool-card__head{align-items:center;gap:var(--sp-3);display:flex}.tool-card__title{font-size:var(--fs-md);line-height:1.25}.tool-card__dev{color:var(--c-muted);font-size:var(--fs-xs)}.tool-card__summary{color:var(--c-ink-2);font-size:var(--fs-sm);flex:1}.tool-card__meta{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cat-card__icon,.ft-card__icon,.wf-card__icon{border-radius:var(--r-md);background:var(--c-brand-tint);width:46px;height:46px;color:var(--c-brand);justify-content:center;align-items:center;display:inline-flex}.cat-card__title{font-size:var(--fs-lg)}.cat-card__text{color:var(--c-muted);font-size:var(--fs-sm);flex:1}.cat-card__count{font-size:var(--fs-xs);color:var(--c-ink-2);font-weight:600}.cat-card--all{background:var(--c-ink);border-color:var(--c-ink);color:#fff}.cat-card--all .cat-card__icon{color:var(--c-brand-bright);background:#ffffff1a}.cat-card--all .cat-card__text,.cat-card--all .cat-card__count{color:var(--c-night-muted)}.cat-card--all .cat-card__title,.cat-card--all:hover .card__link{color:#fff}.ft-card{align-items:flex-start;gap:var(--sp-4);flex-direction:row}.ft-card__icon{background:var(--c-ink);color:var(--c-brand-bright)}.ft-card__group{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);margin-bottom:.15rem;font-size:.72rem;font-weight:600}.ft-card__title{font-size:var(--fs-md)}.ft-card__text{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--c-muted)}.guide-card{gap:0;padding:0;overflow:hidden}.guide-card__media{aspect-ratio:16/9;background:var(--c-sunken);border-bottom:1px solid var(--c-line);overflow:hidden}.guide-card__media img{object-fit:cover;width:100%;height:100%}.guide-card__body{gap:var(--sp-2);padding:var(--sp-5);flex-direction:column;flex:1;display:flex}.guide-card__topic{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-brand);font-size:.72rem;font-weight:600}.guide-card__title{font-size:var(--fs-lg);line-height:1.25}.guide-card__summary{color:var(--c-muted);font-size:var(--fs-sm);flex:1}.guide-card__meta{font-size:var(--fs-xs);color:var(--c-muted);font-weight:500}.wf-card__top{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.wf-card__icon{background:var(--c-accent-tint);color:var(--c-accent-strong)}.wf-card__area{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);font-size:.72rem;font-weight:600}.wf-card__title{font-size:var(--fs-lg);margin-top:calc(var(--sp-2) * -1)}.wf-card__text{color:var(--c-muted);font-size:var(--fs-sm);flex:1}.wf-card__steps{margin:var(--sp-1) 0 0;align-items:center;gap:0;padding:0;list-style:none;display:flex}.wf-chip{border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-paper);width:28px;height:28px;color:var(--c-ink-2);justify-content:center;align-items:center;display:inline-flex;position:relative}.wf-chip+.wf-chip{margin-left:14px}.wf-chip+.wf-chip:before{content:"";background:var(--c-line-strong);width:14px;height:1px;position:absolute;right:calc(100% + 1px)}.wf-chip--trigger{background:var(--c-accent-tint);color:var(--c-accent-strong);border-color:#f6dcb3}.wf-chip--ai{background:var(--c-brand-tint);color:var(--c-brand);border-color:var(--c-brand-tint-2)}.wf-chip--review{background:var(--c-iris-tint);color:var(--c-iris);border-color:#dcdcf6}.flow{border:1px solid var(--c-line);border-radius:var(--r-xl);background:radial-gradient(circle at 1px 1px, #0f162112 1px, transparent 0) 0 0 / 18px 18px, var(--c-surface);margin:0;padding:clamp(1rem,.6rem + 1.5vw,1.75rem)}.flow__list{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid;position:relative}.flow__step{gap:var(--sp-4);grid-template-columns:44px 1fr;align-items:start;display:grid;position:relative}.flow__step:not(:last-child):after{content:"";top:46px;left:21px;bottom:calc(var(--sp-4) * -1 - 2px);background:repeating-linear-gradient(to bottom, var(--c-line-strong) 0 4px, transparent 4px 8px);width:2px;position:absolute}.flow__marker{z-index:1;position:relative}.flow__icon{border-radius:var(--r-md);background:var(--c-paper);border:1px solid var(--c-line-strong);width:44px;height:44px;color:var(--c-ink-2);justify-content:center;align-items:center;display:inline-flex}.flow__step--trigger .flow__icon{background:var(--c-accent-tint);color:var(--c-accent-strong);border-color:#f1d2a1}.flow__step--ai .flow__icon{background:var(--c-brand-tint);color:var(--c-brand);border-color:var(--c-brand-tint-2)}.flow__step--review .flow__icon{background:var(--c-iris-tint);color:var(--c-iris);border-color:#d6d6f5}.flow__step--data .flow__icon{color:#1d4f8a;background:#e9f1fb;border-color:#cfe0f4}.flow__body{padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.flow__kind{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);font-size:.7rem;font-weight:600}.flow__title{font-size:var(--fs-md);margin:.15rem 0 .25rem}.flow__detail{color:var(--c-ink-2);font-size:var(--fs-sm)}.flow__legend{gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px dashed var(--c-line-strong);color:var(--c-muted);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.flow__key{align-items:center;gap:.3rem;display:inline-flex}.tpl{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}.tpl__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3) var(--sp-5);padding:var(--sp-5);flex-wrap:wrap;display:flex}.tpl__title{font-size:var(--fs-lg)}.tpl__use{margin-top:var(--sp-1);color:var(--c-muted);font-size:var(--fs-sm);max-width:62ch}.tpl__use strong{color:var(--c-ink-2)}.tpl__body{padding:var(--sp-5);background:var(--c-sunken);border-block:1px solid var(--c-line);white-space:pre-wrap;word-break:break-word;color:var(--c-ink);max-height:460px;margin:0;font-size:.86rem;line-height:1.65;overflow:auto}.tpl__tips{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-sm);color:var(--c-ink-2);margin:0;display:grid}.tpl__tips li{gap:var(--sp-2);grid-template-columns:18px 1fr;display:grid}.tpl__tips .icon{color:var(--c-accent-strong);margin-top:.15rem}.related{margin-top:var(--sp-12)}.related__title{font-size:var(--fs-xl);margin-bottom:var(--sp-5)}.related__list{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;display:grid}.related__item{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);grid-template-columns:36px 1fr;display:grid;position:relative}.related__item:hover{border-color:var(--c-line-strong);box-shadow:var(--shadow-sm)}.related__item:hover .related__link{color:var(--c-brand-strong)}.related__icon{border-radius:var(--r-sm);background:var(--c-sunken);width:36px;height:36px;color:var(--c-ink-2);justify-content:center;align-items:center;display:inline-flex}.related__kind{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);font-size:.7rem;font-weight:600}.related__link{font-weight:600;line-height:1.3}.related__desc{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sources{margin-top:var(--sp-10);padding:var(--sp-5) var(--sp-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.sources__title{font-size:var(--fs-lg)}.sources__note{margin-top:var(--sp-2);color:var(--c-muted);font-size:var(--fs-sm)}.sources__list{gap:var(--sp-2);margin-top:var(--sp-4);font-size:var(--fs-sm);padding-left:1.25rem;display:grid}.sources__list li::marker{color:var(--c-muted);font-weight:600}.sources__host{margin-left:var(--sp-2);color:var(--c-muted);font-size:var(--fs-xs)}.ext{align-items:center;gap:.25rem;display:inline-flex}.ext .icon{opacity:.7;flex:none}.faq h2{font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.faq__list{border-top:1px solid var(--c-line)}.faq__item{border-bottom:1px solid var(--c-line)}.faq__item summary{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;cursor:pointer;font-weight:600;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:hover{color:var(--c-brand)}.faq__chev{transition:transform var(--dur) var(--ease);color:var(--c-muted);flex:none}.faq__item[open] .faq__chev{transform:rotate(180deg)}.faq__answer{padding:0 0 var(--sp-5);color:var(--c-ink-2);max-width:70ch}.callout{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);color:var(--c-ink-2);font-size:var(--fs-sm);background:#f1f6fc;border:1px solid #d6e2f1;grid-template-columns:24px 1fr;display:grid}.callout__icon{color:#1d4f8a;padding-top:1px}.callout--warn{background:var(--c-accent-tint);border-color:#f3d8ad}.callout--warn .callout__icon{color:var(--c-accent-strong)}.callout--brand{background:var(--c-brand-tint);border-color:var(--c-brand-tint-2)}.callout--brand .callout__icon{color:var(--c-brand)}.callout__title{color:var(--c-ink);margin-bottom:.15rem;font-weight:600}.callout__body>*+*{margin-top:var(--sp-2)}.form,.form-row{gap:var(--sp-5);display:grid}@media (width>=640px){.form-row--2{grid-template-columns:1fr 1fr}.form-row--3{grid-template-columns:repeat(3,1fr)}}.field{align-content:start;gap:.4rem;display:grid}.field__label{font-weight:600;font-size:var(--fs-sm);color:var(--c-ink)}.field__opt{color:var(--c-muted);font-weight:400}.field__hint{font-size:var(--fs-xs);color:var(--c-muted)}.field__error{font-size:var(--fs-xs);color:var(--c-danger);align-items:center;gap:.35rem;font-weight:600;display:flex}.field__error:empty{display:none}.input,.select,.textarea{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);width:100%;min-height:44px;color:var(--c-ink);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:.6rem .8rem;line-height:1.4}.textarea{resize:vertical;min-height:110px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23535e70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;padding-right:2.4rem}.input::placeholder,.textarea::placeholder{color:#6b7586}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-subtle)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--c-brand);border-radius:var(--r-md);box-shadow:0 0 0 3px #0e6b582e}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--c-danger);background:snow}.input[aria-invalid=true]:focus-visible,.textarea[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px #b4231826}.checkbox{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);cursor:pointer;display:inline-flex}.checkbox input{width:18px;height:18px;accent-color:var(--c-brand)}.form-actions{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.form-alert{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-danger-tint);color:#8a1c13;font-size:var(--fs-sm);border:1px solid #f6cfca;align-items:flex-start;font-weight:500;display:flex}.empty{justify-items:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);text-align:center;border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-muted);display:grid}.empty__icon{background:var(--c-sunken);width:52px;height:52px;color:var(--c-ink-2);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.empty h2,.empty h3{color:var(--c-ink);font-size:var(--fs-lg)}.search-dialog{border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);width:min(680px,100vw - 2rem);max-height:min(640px,100vh - 4rem);color:var(--c-ink);box-shadow:var(--shadow-lg);margin:8vh auto auto;padding:0;overflow:hidden}.search-dialog[open]{flex-direction:column;display:flex}.search-dialog::backdrop{backdrop-filter:blur(3px);background:#0c131d73}.search-dialog__form{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-line);display:flex}.search-dialog__icon{color:var(--c-muted);flex:none}.search-dialog__input{min-width:0;height:48px;font-size:var(--fs-lg);background:0 0;border:0;outline:none;flex:1}.search-dialog__input:focus-visible{box-shadow:none}.search-dialog__input::-webkit-search-cancel-button{display:none}.search-dialog__close{padding:var(--sp-1);background:0 0;border:0}.search-dialog__status{padding:var(--sp-3) var(--sp-5) 0;font-size:var(--fs-xs);color:var(--c-muted)}.search-dialog__results{padding:var(--sp-2) var(--sp-3) var(--sp-3);overflow-y:auto}.search-dialog__foot{gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--c-line);background:var(--c-paper);font-size:var(--fs-xs);color:var(--c-muted);align-items:center;display:flex}.search-dialog__foot a{margin-left:auto;font-weight:600}@media (width<=639px){.search-dialog__foot span{display:none}}body.has-dialog{overflow:hidden}.search-results{gap:2px;margin:0;padding:0;list-style:none;display:grid}.search-result{padding:var(--sp-3) var(--sp-3);border-radius:var(--r-md);color:var(--c-ink);gap:.1rem;text-decoration:none;display:grid}.search-result:hover,.search-result:focus-visible{background:var(--c-brand-tint);color:var(--c-ink);box-shadow:none;outline:2px solid #0000}.search-result:focus-visible{box-shadow:inset 0 0 0 2px var(--c-brand)}.search-result__type{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-brand);font-size:.7rem;font-weight:600}.search-result__title{font-weight:600}.search-result__desc{font-size:var(--fs-sm);color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cta-band{padding-block:var(--section-y);background:var(--c-paper)}.cta-band__inner{justify-content:space-between;align-items:center;gap:var(--sp-6) var(--sp-10);border-radius:var(--r-xl);background:radial-gradient(600px 240px at 100% 0%, #1fae8c38, transparent 70%), radial-gradient(500px 220px at 0% 100%, #f2a33a1f, transparent 70%), var(--c-night);color:var(--c-night-text);flex-wrap:wrap;padding:clamp(1.75rem,1rem + 3vw,3.25rem);display:flex;position:relative;overflow:hidden}.cta-band__inner h2{color:#fff;max-width:22ch}.cta-band__inner p{margin-top:var(--sp-3);color:var(--c-night-muted);max-width:54ch}.site-footer{padding-block:var(--sp-16) var(--sp-8);background:var(--c-night);color:var(--c-night-muted);font-size:var(--fs-sm);margin-top:auto}.site-footer a{color:var(--c-night-text);text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.site-footer__top{gap:var(--sp-10);display:grid}@media (width>=1000px){.site-footer__top{gap:var(--sp-16);grid-template-columns:minmax(260px,1fr) 2.6fr}}.site-footer__brand{gap:var(--sp-4);align-content:start;max-width:40ch;display:grid}.site-footer__brand a{justify-self:start}.site-footer__small{font-size:var(--fs-xs);color:#7f91a6}.site-footer__cols{gap:var(--sp-8);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.site-footer__heading{margin-bottom:var(--sp-3);font-family:var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#7f91a6;font-size:.72rem;font-weight:600}.site-footer__cols ul{gap:.55rem;margin:0;display:grid}.site-footer__bottom{justify-content:space-between;gap:var(--sp-3) var(--sp-8);margin-top:var(--sp-12);padding-top:var(--sp-6);border-top:1px solid var(--c-night-line);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.site-footer :focus-visible{box-shadow:0 0 0 2px var(--c-night), 0 0 0 4px var(--c-brand-bright)}.hero{background:radial-gradient(900px 420px at 92% 10%, #1fae8c1c, transparent 70%), radial-gradient(700px 360px at -10% 110%, #f2a33a14, transparent 70%), var(--c-paper);border-bottom:1px solid var(--c-line);padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) clamp(3rem,2rem + 4vw,5.5rem);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#0f16210b 1px,#0000 1px),linear-gradient(#0f16210b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 70% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 80% at 70% 30%,#000 20%,#0000 75%)}.hero__grid{align-items:center;gap:clamp(2.5rem,1rem + 4vw,4rem);display:grid;position:relative}@media (width>=1000px){.hero__grid{grid-template-columns:1.05fr .95fr}}.hero__copy{gap:var(--sp-6);justify-items:start;display:grid}.hero__eyebrow{border:1px solid var(--c-brand-tint-2);border-radius:var(--r-pill);background:#ffffffb3;padding:.35rem .75rem}.hero__pulse{background:var(--c-brand-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #1fae8c33}.hero h1{font-size:var(--fs-4xl);max-width:15ch}.hero__lede{font-size:var(--fs-lg);color:var(--c-muted);max-width:56ch;line-height:1.6}.hero__ctas{margin-top:var(--sp-1)}.hero-search{align-items:center;gap:var(--sp-2);border:1px solid var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface);width:100%;max-width:560px;box-shadow:var(--shadow-sm);padding:6px 6px 6px 44px;display:flex;position:relative}.hero-search:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px #0e6b5826, var(--shadow-sm)}.hero-search__icon{color:var(--c-muted);position:absolute;left:14px}.hero-search__input{min-width:0;height:44px;font-size:var(--fs-base);background:0 0;border:0;outline:none;flex:1}.hero-search__input:focus-visible{box-shadow:none}.hero-search__btn{min-height:44px}.hero__points{gap:var(--sp-2) var(--sp-5);color:var(--c-ink-2);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;display:flex}.hero__points li{align-items:center;gap:.4rem;display:inline-flex}.hero__points .icon{color:var(--c-brand)}.hero__visual{min-width:0;position:relative}.hero-visual{max-width:560px;margin-inline:auto;padding:16px 0 0;position:relative}.hv-window{border-radius:var(--r-xl);background:var(--c-night);border:1px solid var(--c-night-line);position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #0c131d73,0 0 0 6px #fff9;container-type:inline-size}.hv-rules{display:none}@container (width>=500px){.hv-rules{width:168px;font-family:var(--font-mono);color:#c8d4e1;background:#141e2cd9;border:1px dashed #33475f;border-radius:12px;gap:6px;padding:12px 14px;font-size:.68rem;line-height:1.4;display:grid;position:absolute;top:64px;right:18px}}.hv-rules__title{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--c-night-muted);font-size:.64rem;font-weight:600}.hv-k{color:var(--c-accent);display:block}.hv-window__bar{border-bottom:1px solid var(--c-night-line);background:var(--c-night-2);align-items:center;gap:6px;padding:12px 16px;display:flex}.hv-dot{background:#2c3b50;border-radius:50%;width:9px;height:9px}.hv-window__title{font-family:var(--font-mono);color:var(--c-night-muted);margin-left:10px;font-size:.72rem}.hv-canvas{background:radial-gradient(circle at 1px 1px,#9fb0c329 1px,#0000 0) 0 0/16px 16px;justify-items:start;padding:22px 22px 72px;display:grid}.hv-node{background:var(--c-night-3);width:min(100%,300px);color:var(--c-night-text);border:1px solid #2b3c52;border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:.8rem;line-height:1.35;display:grid;position:relative}.hv-node--ai{border-color:#1fae8c8c;box-shadow:0 0 0 4px #1fae8c1a}.hv-node__icon{width:30px;height:30px;color:var(--c-night-muted);background:#24344a;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.hv-node--trigger .hv-node__icon{color:var(--c-accent);background:#f2a33a29}.hv-node--ai .hv-node__icon{color:var(--c-brand-bright);background:#1fae8c2e}.hv-node--review .hv-node__icon{color:#a9abf5;background:#8c8ff029}.hv-node--action .hv-node__icon{color:#d7e0ea;background:#9fb0c324}.hv-node__text b{letter-spacing:.08em;text-transform:uppercase;color:var(--c-night-muted);font-size:.66rem;font-weight:600;display:block}.hv-tags{grid-column:2;gap:6px;margin-top:2px;display:flex}.hv-tags span{color:#7fdcc3;background:#1fae8c24;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:600}.hv-link{background:repeating-linear-gradient(#3a4e67 0 4px,#0000 4px 7px);width:2px;height:18px;margin-left:24px}.hv-card{z-index:1;background:var(--c-surface);border:1px solid var(--c-line);width:250px;box-shadow:var(--shadow-lg);border-radius:14px;margin:-58px -12px 0 auto;padding:14px;font-size:.78rem;position:relative}.hv-card__label{color:var(--c-brand);letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:.72rem;font-weight:600;display:flex}.hv-card__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hv-card__list li{color:var(--c-ink-2);grid-template-columns:26px 1fr auto;align-items:center;gap:8px;font-weight:500;display:grid}.hv-mono{width:26px;height:26px;font-family:var(--font-display);border-radius:7px;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.hv-mono--a{color:#0a5243;background:#e6f3ef}.hv-mono--b{color:#3b3fa8;background:#eeeefb}.hv-mono--c{color:#85500a;background:#fdf2e1}.hv-pill{background:var(--c-brand-tint);color:var(--c-brand-strong);border-radius:999px;padding:1px 7px;font-size:.66rem;font-weight:600}.hv-chip{z-index:1;background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-md);font-family:var(--font-mono);color:var(--c-ink-2);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;display:inline-flex;position:absolute;top:-16px;right:22px}.hv-chip .icon{color:var(--c-iris)}@media (width<=520px){.hv-card{width:auto;margin:-44px 12px 0}.hv-chip{display:none}}.split{gap:var(--sp-8);display:grid}@media (width>=1000px){.split{gap:var(--sp-12);grid-template-columns:.85fr 1.15fr;align-items:start}.split__intro{top:calc(var(--header-h) + 32px);align-self:start;position:sticky}.split__intro .section-header{margin-bottom:0}}.split__list{--grid-min:260px}.compare-teaser{gap:var(--sp-8);border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);padding:clamp(1.5rem,1rem + 2vw,2.5rem);display:grid}@media (width>=900px){.compare-teaser{gap:var(--sp-12);grid-template-columns:1fr 1.2fr;align-items:center}}.compare-teaser__text{gap:var(--sp-4);justify-items:start;display:grid}.compare-teaser__text p:not(.eyebrow){color:var(--c-muted)}.compare-teaser__list{gap:var(--sp-2);margin:0;display:grid}.compare-link{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper);color:var(--c-ink);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);grid-template-columns:40px 1fr 20px;align-items:center;text-decoration:none;display:grid}.compare-link:hover{border-color:var(--c-brand);background:var(--c-surface);color:var(--c-ink)}.compare-link__icon{border-radius:var(--r-sm);background:var(--c-iris-tint);width:40px;height:40px;color:var(--c-iris);justify-content:center;align-items:center;display:inline-flex}.compare-link__title{font-weight:600;line-height:1.3;display:block}.compare-link__desc{font-size:var(--fs-xs);color:var(--c-muted);display:block}.compare-link__chev{color:var(--c-muted)}.compare-link--muted .compare-link__icon{background:var(--c-sunken);color:var(--c-ink-2)}.principles{gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:0;display:grid}.principles li{gap:var(--sp-3);align-content:start;display:grid}.principles__icon{border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-line);width:44px;height:44px;color:var(--c-brand);justify-content:center;align-items:center;display:inline-flex}.principles p{color:var(--c-muted)}.dir-toolbar{gap:var(--sp-4);padding:var(--sp-4);margin-bottom:var(--sp-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-xs);display:grid}.dir-toolbar__row{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.dir-search{flex:280px;position:relative}.dir-search .icon{color:var(--c-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dir-search .input{padding-left:2.5rem}.chips{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);min-height:36px;color:var(--c-ink-2);font-size:var(--fs-sm);align-items:center;gap:.35rem;padding:.35rem .8rem;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--c-ink-2);color:var(--c-ink)}.chip[aria-pressed=true]{background:var(--c-ink);border-color:var(--c-ink);color:#fff}.chip__count{opacity:.7;font-size:.72rem}.dir-count{margin-bottom:var(--sp-4);color:var(--c-muted);font-size:var(--fs-sm)}.tool-hero{gap:var(--sp-5);display:grid}.tool-hero__head{align-items:center;gap:var(--sp-5);flex-wrap:wrap;display:flex}.tool-hero__by{color:var(--c-muted);font-size:var(--fs-md);margin-top:var(--sp-1)}.tool-hero__badges{gap:var(--sp-2);flex-wrap:wrap;display:flex}.two-col{gap:var(--sp-10);display:grid}.two-col>*,.split>*,.ft-shell>*,.tpl-layout>*,.article-layout>*{min-width:0}@media (width>=1000px){.two-col{gap:var(--sp-12);grid-template-columns:minmax(0,1fr) 340px;align-items:start}}@media (width>=1000px) and (height>=860px){.two-col__aside{top:calc(var(--header-h) + 24px);position:sticky}}.panel{padding:var(--sp-5) var(--sp-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.panel+.panel{margin-top:var(--sp-4)}.panel__title{font-size:var(--fs-md);margin-bottom:var(--sp-4)}.facts{gap:var(--sp-4);margin:0;display:grid}.facts dt{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);font-size:.72rem;font-weight:600}.facts dd{font-size:var(--fs-sm);color:var(--c-ink);margin:.2rem 0 0}.facts dd a{word-break:break-word}.content-block+.content-block{margin-top:var(--sp-10)}.content-block>h2{font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.content-block>p+p{margin-top:var(--sp-4)}.content-block>p{color:var(--c-ink-2);max-width:70ch}.check-list{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.check-list li{gap:var(--sp-3);color:var(--c-ink-2);grid-template-columns:22px 1fr;display:grid}.check-list .icon{margin-top:.15rem}.check-list--pro .icon{color:var(--c-brand)}.check-list--con .icon{color:var(--c-accent-strong)}.check-list--neutral .icon{color:var(--c-iris)}.pros-cons{gap:var(--sp-5);display:grid}@media (width>=720px){.pros-cons{grid-template-columns:1fr 1fr}}.pros-cons>div{padding:var(--sp-5);border-radius:var(--r-lg);border:1px solid var(--c-line);background:var(--c-surface)}.pros-cons h3{font-size:var(--fs-md);margin-bottom:var(--sp-4)}.tag-list{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.article-layout{gap:var(--sp-10);display:grid}@media (width>=1100px){.article-layout{gap:var(--sp-12);grid-template-columns:240px minmax(0,1fr);align-items:start}.article-layout__toc{top:calc(var(--header-h) + 28px);max-height:calc(100vh - var(--header-h) - 56px);position:sticky;overflow:auto}}.article-layout__main{min-width:0;max-width:760px}.toc{font-size:var(--fs-sm)}.toc__title{font-family:var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--sp-3);font-size:.72rem;font-weight:600}.toc ol{border-left:1px solid var(--c-line);gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--c-muted);border-left:2px solid #0000;margin-left:-1px;padding:.3rem 0 .3rem .9rem;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--c-ink);border-left-color:var(--c-line-strong)}.toc a[aria-current=true]{color:var(--c-brand);border-left-color:var(--c-brand);font-weight:600}.toc .toc__sub a{font-size:var(--fs-xs);padding-left:1.7rem}@media (width<=1099px){.toc{padding:var(--sp-4) var(--sp-5);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}}.article-meta{gap:var(--sp-2) var(--sp-5);color:var(--c-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.article-meta span{align-items:center;gap:.35rem;display:inline-flex}.article-hero{margin:0 0 var(--sp-8);border-radius:var(--r-xl);border:1px solid var(--c-line);background:var(--c-surface);overflow:hidden}.article-hero img{width:100%}.prose{font-size:var(--fs-md);color:var(--c-ink-2);line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2{font-size:var(--fs-2xl);color:var(--c-ink);margin-top:2.2em}.prose h3{font-size:var(--fs-xl);margin-top:1.8em}.prose h4{margin-top:1.6em}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--c-brand)}.prose ol li::marker{font-weight:600}.prose strong{color:var(--c-ink);font-weight:600}.prose a{font-weight:500}.prose blockquote{padding:var(--sp-4) var(--sp-5);border-left:3px solid var(--c-brand);background:var(--c-brand-tint);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--c-ink)}.prose blockquote>*+*{margin-top:.6em}.prose code{border-radius:var(--r-xs);background:var(--c-sunken);border:1px solid var(--c-line);color:var(--c-ink);padding:.1em .35em;font-size:.86em}.prose pre{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--c-night);color:var(--c-night-text);font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose img{border-radius:var(--r-lg);border:1px solid var(--c-line);background:var(--c-surface)}.prose p:has(>img:only-child){margin-block:1.8em}.prose hr{margin:2.5em 0}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top;padding:.65rem .8rem}.prose th{background:var(--c-sunken);color:var(--c-ink);white-space:nowrap;font-weight:600}.prose tbody tr:hover{background:#f4f2ed80}.key-takeaways{margin-bottom:var(--sp-8);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-line);box-shadow:inset 4px 0 0 var(--c-brand)}.key-takeaways h2{font-size:var(--fs-md);font-family:var(--font-sans);margin-bottom:var(--sp-2)}.key-takeaways p{color:var(--c-ink-2)}.ft-shell{gap:var(--sp-6);display:grid}@media (width>=1000px){.ft-shell{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.ft-shell--stack{grid-template-columns:1fr}}.ft-panel{border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--shadow-sm);padding:clamp(1.25rem,.9rem + 1.5vw,2rem)}.ft-panel__title{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5);font-size:var(--fs-lg);display:flex}.ft-panel__title .icon{color:var(--c-brand)}.ft-output{background:var(--c-paper);min-height:100%}.ft-output__empty{justify-items:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--c-muted);font-size:var(--fs-sm);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);display:grid}.ft-output__empty .icon{color:var(--c-subtle)}.ft-output__head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.ft-note{margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--c-muted)}.result-list{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.result-item{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);display:grid}.result-item__text{field-sizing:content;border-radius:var(--r-sm);width:100%;min-height:44px;font-size:var(--fs-base);resize:vertical;color:var(--c-ink);background:0 0;border:1px solid #0000;padding:.5rem .65rem;line-height:1.45}.result-item__text:hover{border-color:var(--c-line)}.result-item__text:focus-visible{border-color:var(--c-brand);background:var(--c-surface);box-shadow:0 0 0 3px #0e6b5826}.result-item__foot{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.count{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.count:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.count--ok{color:var(--c-brand)}.count--warn{color:var(--c-accent-strong)}.count--over{color:var(--c-danger)}.meter{background:var(--c-sunken);border-radius:999px;height:4px;overflow:hidden}.meter__bar{border-radius:inherit;height:100%;transition:width var(--dur) var(--ease);background:currentColor}.code-out{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--c-night);color:#dbe6f1;white-space:pre-wrap;word-break:break-word;max-height:520px;margin:0;font-size:.84rem;line-height:1.6;overflow:auto}.url-out{padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface);font-family:var(--font-mono);word-break:break-all;color:var(--c-ink);font-size:.86rem;display:block}.qa-list{gap:var(--sp-4);display:grid}.qa-item{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper);display:grid;position:relative}.qa-item__head{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);font-weight:600;display:flex}.brief{gap:var(--sp-5);display:grid}.brief section{padding:var(--sp-4) var(--sp-5);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}.brief h3{font-size:var(--fs-base);margin-bottom:var(--sp-2)}.brief ul,.brief ol{color:var(--c-ink-2);font-size:var(--fs-sm);margin:0;padding-left:1.2rem}.brief li+li{margin-top:.3rem}.brief p{color:var(--c-ink-2);font-size:var(--fs-sm)}.ft-explainer{gap:var(--sp-10);max-width:820px;display:grid}.ft-explainer>section>h2{font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.ft-explainer>section>p+p,.ft-explainer>section>p+ul,.ft-explainer>section>ul+p,.ft-explainer>section>ol+p{margin-top:var(--sp-4)}.ft-explainer p,.ft-explainer li{color:var(--c-ink-2)}.ft-explainer ul,.ft-explainer ol{gap:var(--sp-2);padding-left:1.3rem;display:grid}.example{margin-top:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}.example__row{gap:var(--sp-1);padding:var(--sp-4) var(--sp-5);display:grid}.example__row+.example__row{border-top:1px solid var(--c-line)}.example__label{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-muted);font-size:.7rem;font-weight:600}.example__value{font-size:var(--fs-sm);color:var(--c-ink);white-space:pre-wrap;word-break:break-word}.example__value--mono{font-family:var(--font-mono);font-size:.82rem}.noscript-note{margin-bottom:var(--sp-4)}.cmp-wrap{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-xs);scroll-padding-inline-start:200px;overflow-x:auto}.cmp{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:var(--fs-sm)}.cmp th,.cmp td{padding:var(--sp-4);border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}.cmp thead th{background:var(--c-sunken);font-family:var(--font-display);font-size:var(--fs-md);vertical-align:bottom}.cmp thead th a{color:var(--c-ink);text-decoration:none}.cmp thead th a:hover{color:var(--c-brand);text-decoration:underline}.cmp__tool{align-items:center;gap:var(--sp-2);display:flex}.cmp tbody th{z-index:1;background:var(--c-surface);width:190px;color:var(--c-ink);box-shadow:1px 0 0 var(--c-line);font-weight:600;position:sticky;left:0}.cmp thead th:first-child{z-index:2;box-shadow:1px 0 0 var(--c-line);position:sticky;left:0}@media (width<=639px){.cmp tbody th{width:130px}.cmp-wrap{scroll-padding-inline-start:140px}}.cmp__help{font-weight:400;font-size:var(--fs-xs);color:var(--c-muted);margin-top:.2rem;display:block}.cmp td{color:var(--c-ink-2)}.cmp td.is-unverified{color:var(--c-muted);font-style:italic}.tpl-layout{gap:var(--sp-10);display:grid}@media (width>=1100px){.tpl-layout{gap:var(--sp-12);grid-template-columns:240px minmax(0,1fr);align-items:start}.tpl-layout__nav{top:calc(var(--header-h) + 28px);max-height:calc(100vh - var(--header-h) - 56px);position:sticky;overflow:auto}}.tpl-stack{gap:var(--sp-6);display:grid}.placeholder-note{margin-bottom:var(--sp-6)}.search-page__form{gap:var(--sp-2);max-width:680px;display:flex}.search-page__form .input{min-height:52px;font-size:var(--fs-md);flex:1}.search-page__results .search-results{gap:var(--sp-2)}.search-page__results .search-result{padding:var(--sp-4) var(--sp-5);border:1px solid var(--c-line);background:var(--c-surface)}.search-page__results .search-result:hover{border-color:var(--c-brand);background:var(--c-surface)}.hub-intro{gap:var(--sp-4);max-width:760px;margin-bottom:var(--sp-10);color:var(--c-ink-2);display:grid}.group-title{font-size:var(--fs-xl);margin:0 0 var(--sp-5)}section+section>.group-title{margin-top:var(--sp-12)}.steps-inline{counter-reset:s;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:0;padding:0;list-style:none;display:grid}.steps-inline li{counter-increment:s;padding:var(--sp-5);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.steps-inline li:before{content:counter(s, decimal-leading-zero);margin-bottom:var(--sp-2);font-family:var(--font-display);color:var(--c-brand);font-weight:700;display:block}.steps-inline h3{font-size:var(--fs-md);margin-bottom:var(--sp-2)}.steps-inline p{font-size:var(--fs-sm);color:var(--c-muted)}.notfound{gap:var(--sp-6);justify-items:start;padding-block:clamp(3rem,2rem + 5vw,6rem);display:grid}.notfound__code{font-family:var(--font-display);letter-spacing:-.04em;color:var(--c-brand-tint-2);-webkit-text-stroke:1px var(--c-brand);font-size:clamp(4rem,3rem + 6vw,7rem);font-weight:700;line-height:1}.legal{padding-block:var(--sp-12) var(--sp-16)}.legal .prose h2{font-size:var(--fs-xl)}.contact-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.prose>:first-child{margin-top:0}.notfound,.hero__copy{grid-template-columns:minmax(0,1fr)}.og-preview{margin-top:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);max-width:520px;overflow:hidden}.og-preview__img{aspect-ratio:1200/630;background:var(--c-sunken);color:var(--c-muted);font-size:var(--fs-sm);place-items:center;display:grid}.og-preview__img img{object-fit:cover;width:100%;height:100%;display:block}.og-preview__body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.og-preview__domain{font-size:var(--fs-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em}.og-preview__title{color:var(--c-ink);margin-top:var(--sp-1);font-weight:600;line-height:1.3}.og-preview__desc{font-size:var(--fs-sm);color:var(--c-muted);margin-top:var(--sp-1)}.tool-hero__disclosure{max-width:60ch;margin-top:.75rem;font-size:.8125rem}
