:root{--color-canvas:#f6f4ee;--color-surface:#fff;--color-sunken:#eeeadf;--color-line:#e2ddcf;--color-line-strong:#cfc9b8;--color-ink:#1c2112;--color-body:#3a4030;--color-muted:#5e6452;--color-faint:#80856f;--color-accent:#5c6b3c;--color-accent-strong:#46532c;--color-accent-bright:#8a9b5e;--color-accent-soft:#ebeedd;--color-accent-line:#cfd6b5;--color-on-accent:#fff;--color-forest:#46532c;--color-forest-deep:#2e361d;--color-forest-line:#5e6c42;--color-on-forest:#f6f4ee;--color-on-forest-muted:#d3dbb8;--color-forest-accent:#c5d39a;--color-clay:#b77b54;--color-clay-strong:#885939;--color-clay-light:#dbbda9;--color-rail:#ebe7da;--color-rail-line:#d9d4c3;--color-rail-hover:#e1dccb;--color-success:#3b7a43;--color-success-strong:#2c5e33;--color-success-soft:#e6f0e0;--color-success-line:#c4dcc0;--color-warn:#a8670f;--color-warn-strong:#7a4a07;--color-warn-soft:#f8ecd0;--color-warn-line:#ecd49a;--color-danger:#b4402c;--color-danger-strong:#8f2f1d;--color-danger-soft:#f9e4de;--color-danger-line:#efc4b9;--color-scrim:#1c211273;--font-sans:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Charis SIL", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-card:1rem;--radius-control:.75rem;--radius-pill:9999px;--shadow-card:inset 0 1px 0 #fffc, 0 1px 2px #1c21120f, 0 8px 24px -14px #1c211233;--shadow-pop:0 4px 24px -4px #1c211224, 0 1px 3px #1c211214;--shadow-btn:inset 0 1px 0 #ffffff38, 0 6px 14px -8px #1c21128c;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:var(--color-canvas);--surface-1:var(--color-surface);--surface-2:var(--color-sunken);--surface-3:var(--color-line);--surface-rail:var(--color-rail);--surface-overlay:var(--color-scrim);--border-subtle:var(--color-line);--border:var(--color-line);--border-strong:var(--color-line-strong);--border-rail:var(--color-rail-line);--text-primary:var(--color-ink);--text-secondary:var(--color-body);--text-muted:var(--color-muted);--text-faint:var(--color-faint);--text-accent:var(--color-accent);--text-link:var(--color-accent-strong);--text-on-action:var(--color-on-accent);--text-pop:var(--color-clay-strong);--display-pop:var(--color-clay);--pop-bg:var(--color-clay);--pop-fg:var(--color-ink);--action-bg:var(--color-accent);--action-bg-hover:var(--color-accent-strong);--action-bg-active:var(--color-accent-strong);--action-fg:var(--color-on-accent);--action-border:var(--color-accent);--action-secondary-bg:var(--color-surface);--action-secondary-fg:var(--color-ink);--action-secondary-border:var(--color-line);--action-secondary-border-hover:var(--color-line-strong);--logo-dark:var(--color-accent-strong);--logo-mid:var(--color-accent);--logo-light:var(--color-accent-bright);--logo-word:var(--color-accent-strong);--accent:var(--color-accent);--accent-soft:var(--color-accent-soft);--accent-line:var(--color-accent-line);--gradient-brand:linear-gradient(45deg, var(--color-accent-strong), var(--color-accent), var(--color-accent-bright));--focus-ring:var(--color-accent);--focus-ring-width:2px;--focus-ring-gap:2px;--success-fg:var(--color-success-strong);--success-bg:var(--color-success-soft);--success-border:var(--color-success-line);--warning-fg:var(--color-warn-strong);--warning-bg:var(--color-warn-soft);--warning-border:var(--color-warn-line);--danger-fg:var(--color-danger-strong);--danger-bg:var(--color-danger-soft);--danger-border:var(--color-danger-line);--danger:var(--color-danger);--status-verified-fg:var(--color-accent-strong);--status-verified-bg:var(--color-accent-soft);--status-verified-dot:var(--color-accent);--status-dev-fg:var(--color-warn-strong);--status-dev-bg:var(--color-warn-soft);--status-dev-dot:var(--color-warn);--status-flagged-fg:var(--color-danger-strong);--status-flagged-bg:var(--color-danger-soft);--status-flagged-dot:var(--color-danger);--src-own-line:var(--color-accent);--src-own-tint:color-mix(in srgb, var(--color-accent-line) 70%, transparent);--src-own-chip-bg:var(--color-accent-soft);--src-own-chip-fg:var(--color-accent-strong);--src-comp-line:var(--color-danger);--src-comp-tint:color-mix(in srgb, var(--color-danger-line) 65%, transparent);--src-comp-chip-bg:var(--color-danger-soft);--src-comp-chip-fg:var(--color-danger-strong);--src-docs-line:var(--color-body);--src-docs-tint:color-mix(in srgb, var(--color-line-strong) 60%, transparent);--src-docs-chip-bg:var(--color-sunken);--src-docs-chip-fg:var(--color-body);--src-rev-line:var(--color-warn);--src-rev-tint:color-mix(in srgb, var(--color-warn-line) 70%, transparent);--src-rev-chip-bg:var(--color-warn-soft);--src-rev-chip-fg:var(--color-warn-strong);--shadow-raised:inset 0 1px 0 #fffc, 0 2px 4px #1c21120d, 0 18px 36px -18px #1c211247;--shadow-window:0 2px 4px #1c21120f, 0 30px 60px -28px #1c211252, 0 60px 120px -40px #1c211238;--shadow-popover:var(--shadow-pop);--inner-highlight:inset 0 1px 0 #fffc}.tone-sand{--surface-0:var(--color-rail);--border:var(--color-rail-line);--gradient-band:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--color-accent-soft) 90%, transparent) 0%, transparent 60%), linear-gradient(180deg, var(--color-rail) 0%, var(--color-sunken) 100%)}.tone-forest,.tone-forest-deep{--surface-0:var(--color-forest);--surface-2:color-mix(in srgb, var(--color-forest-deep) 55%, var(--color-forest));--border-subtle:var(--color-forest-line);--border:var(--color-forest-line);--border-strong:color-mix(in srgb, var(--color-on-forest) 35%, var(--color-forest));--border-rail:var(--color-forest-line);--text-primary:var(--color-on-forest);--text-secondary:var(--color-on-forest-muted);--text-muted:var(--color-on-forest-muted);--text-faint:color-mix(in srgb, var(--color-on-forest-muted) 70%, var(--color-forest));--text-accent:var(--color-forest-accent);--text-link:var(--color-forest-accent);--text-pop:var(--color-clay-light);--display-pop:var(--color-clay-light);--action-bg:var(--color-on-forest);--action-bg-hover:var(--color-surface);--action-bg-active:var(--color-accent-soft);--action-fg:var(--color-forest);--action-border:var(--color-on-forest);--action-secondary-bg:transparent;--action-secondary-fg:var(--color-on-forest);--action-secondary-border:color-mix(in srgb, var(--color-on-forest) 45%, transparent);--action-secondary-border-hover:var(--color-on-forest);--focus-ring:var(--color-forest-accent);--dot-color:color-mix(in srgb, var(--color-on-forest) 14%, transparent);--grain-opacity:.06;--logo-dark:var(--color-on-forest);--logo-mid:var(--color-forest-accent);--logo-light:var(--color-accent-bright);--logo-word:var(--color-on-forest);--gradient-band:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--color-accent-bright) 28%, transparent) 0%, transparent 60%), linear-gradient(180deg, var(--color-forest) 0%, color-mix(in srgb, var(--color-forest-deep) 40%, var(--color-forest)) 100%)}.tone-forest-deep{--surface-0:var(--color-forest-deep);--border:color-mix(in srgb, var(--color-forest-line) 70%, var(--color-forest-deep));--action-fg:var(--color-forest-deep);--gradient-band:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--color-accent) 35%, transparent) 0%, transparent 60%), linear-gradient(180deg, var(--color-forest-deep) 0%, var(--color-forest-deep) 100%)}.tone-light,:is(.tone-forest,.tone-forest-deep) :is(.card,.window,.elev-card){--surface-0:var(--color-canvas);--surface-2:var(--color-sunken);--border-subtle:var(--color-line);--border:var(--color-line);--border-strong:var(--color-line-strong);--border-rail:var(--color-rail-line);--text-primary:var(--color-ink);--text-secondary:var(--color-body);--text-muted:var(--color-muted);--text-faint:var(--color-faint);--text-accent:var(--color-accent);--text-link:var(--color-accent-strong);--text-pop:var(--color-clay-strong);--display-pop:var(--color-clay);--action-bg:var(--color-accent);--action-bg-hover:var(--color-accent-strong);--action-bg-active:var(--color-accent-strong);--action-fg:var(--color-on-accent);--action-border:var(--color-accent);--action-secondary-bg:var(--color-surface);--action-secondary-fg:var(--color-ink);--action-secondary-border:var(--color-line);--action-secondary-border-hover:var(--color-line-strong);--focus-ring:var(--color-accent);--dot-color:color-mix(in srgb, var(--color-ink) 14%, transparent);--logo-dark:var(--color-accent-strong);--logo-mid:var(--color-accent);--logo-light:var(--color-accent-bright);--logo-word:var(--color-accent-strong);color:var(--text-primary)}:root{--text-display:clamp(2.75rem, 1.7003rem + 4.4789vw, 6rem);--text-h1:clamp(2.25rem, 1.604rem + 2.7562vw, 4.25rem);--text-h2:clamp(1.875rem, 1.5116rem + 1.5504vw, 3rem);--text-h3:clamp(1.375rem, 1.2135rem + .6891vw, 1.875rem);--text-h4:clamp(1.125rem, 1.0644rem + .2584vw, 1.3125rem);--text-body-l:clamp(1.125rem, 1.0644rem + .2584vw, 1.3125rem);--text-body-m:clamp(1rem, .9798rem + .0861vw, 1.0625rem);--text-body-s:clamp(.875rem, .8548rem + .0861vw, .9375rem);--text-caption:clamp(.78125rem, .7712rem + .0431vw, .8125rem);--text-mono:clamp(.71875rem, .7087rem + .0431vw, .75rem);--leading-display:1;--leading-h1:1.05;--leading-h2:1.1;--leading-h3:1.2;--leading-h4:1.3;--leading-body-l:1.55;--leading-body-m:1.6;--leading-body-s:1.5;--leading-caption:1.4;--leading-mono:1.3;--tracking-display:-.02em;--tracking-h1:-.02em;--tracking-h2:-.01em;--tracking-h3:-.01em;--tracking-h4:-.005em;--tracking-body:0;--tracking-mono:.08em;--weight-display:500;--weight-heading:500;--weight-sans-regular:400;--weight-sans-medium:500;--weight-sans-semibold:600;--weight-mono:500;--measure-heading:18ch;--measure-prose:64ch;--measure-lede:52ch;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--section-y:clamp(3.5rem, 2.6rem + 4vw, 6.5rem);--section-y-tight:clamp(3.5rem, 2.5rem + 4vw, 6rem);--section-y-hero-top:calc(var(--nav-top) + var(--nav-height) + clamp(2rem, 1rem + 3vw, 4rem));--gutter:clamp(1rem, .354rem + 2.7562vw, 3rem);--layout-narrow:720px;--layout-content:1200px;--layout-wide:1360px;--layout-nav:960px;--grid-cols:12;--grid-gap:1rem;--nav-height:56px;--nav-top:16px;--radius-xs:4px;--radius-sm:8px;--radius-md:var(--radius-control);--radius-lg:var(--radius-card);--radius-xl:20px;--radius-2xl:28px;--border-width:1px;--border-width-strong:1.5px;--control-s:36px;--control-m:44px;--control-l:52px;--control-input:48px;--dur-instant:80ms;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.36s;--dur-reveal:.64s;--dur-draw:.9s;--dur-draw-app:.42s;--dur-ambient:2.4s;--dur-stagger:70ms;--dur-hold:3.2s;--dur-stream:28ms;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--reveal-distance:16px;--reveal-stagger:var(--dur-stagger);--z-base:0;--z-raised:1;--z-sticky:10;--z-nav:50;--z-popover:60;--z-modal:80;--z-toast:90;--grain-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-opacity:.04;--dot-size:1px;--dot-gap:24px;--dot-color:color-mix(in srgb, var(--color-ink) 14%, transparent);--gradient-page-warm:radial-gradient(70% 50% at 100% 0%, color-mix(in srgb, var(--color-warn-line) 30%, transparent) 0%, transparent 60%), radial-gradient(60% 50% at 0% 10%, color-mix(in srgb, var(--color-accent-line) 55%, transparent) 0%, transparent 60%), var(--surface-0);--gradient-band:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--color-accent-soft) 90%, transparent) 0%, transparent 60%), linear-gradient(180deg, var(--color-rail) 0%, var(--color-sunken) 100%);--glow-moss:radial-gradient(closest-side, color-mix(in srgb, var(--color-accent-bright) 32%, transparent), transparent);--glow-sand:radial-gradient(closest-side, color-mix(in srgb, var(--color-warn-line) 45%, transparent), transparent);--glow-leaf:radial-gradient(closest-side, color-mix(in srgb, var(--color-accent-line) 70%, transparent), transparent)}@media (width>=768px){:root{--grid-gap:1.5rem}}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--surface-0);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-body-m);line-height:var(--leading-body-m);font-weight:var(--weight-sans-regular);font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--color-accent-line);color:var(--color-ink)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-gap)}.t-display,.t-h1,.t-h2,.t-h3{font-family:var(--font-display);font-optical-sizing:auto;text-wrap:balance;font-variant-numeric:lining-nums;margin:0}.t-display{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:var(--weight-display);max-width:var(--measure-heading)}.t-h1{font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1);font-weight:var(--weight-display);max-width:var(--measure-heading)}.t-h2{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);font-weight:var(--weight-heading);max-width:22ch}.t-h3{font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3);font-weight:var(--weight-heading);max-width:28ch}.t-h4{font-family:var(--font-sans);font-size:var(--text-h4);line-height:var(--leading-h4);letter-spacing:var(--tracking-h4);font-weight:var(--weight-sans-semibold);text-wrap:balance;margin:0}.t-body-l{font-size:var(--text-body-l);line-height:var(--leading-body-l);max-width:var(--measure-lede);text-wrap:pretty}.t-body-m{font-size:var(--text-body-m);line-height:var(--leading-body-m);max-width:var(--measure-prose);text-wrap:pretty}.t-body-s{font-size:var(--text-body-s);line-height:var(--leading-body-s)}.t-caption{font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--text-secondary)}.t-mono-label{font-family:var(--font-mono);font-size:var(--text-mono);line-height:var(--leading-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;font-weight:var(--weight-mono);color:var(--text-secondary)}.accent{color:var(--display-pop);font-style:italic;font-weight:inherit}.tabular{font-variant-numeric:tabular-nums lining-nums}.grain{isolation:isolate;position:relative}.grain:after{content:"";z-index:0;pointer-events:none;background-image:var(--grain-url);opacity:var(--grain-opacity);mix-blend-mode:multiply;border-radius:inherit;background-size:200px 200px;position:absolute;inset:0}.dot-grid{background-image:radial-gradient(circle at center, var(--dot-color) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);background-position:calc(var(--dot-gap) / 2) calc(var(--dot-gap) / 2)}.dot-grid--fade{-webkit-mask-image:radial-gradient(80% 80%,#000 40%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 40%,#0000 100%)}.ink-wash{z-index:-1;pointer-events:none;background:var(--glow-moss) 18% 30% / 55% 70% no-repeat, var(--glow-leaf) 70% 60% / 65% 80% no-repeat, var(--glow-sand) 90% 10% / 35% 45% no-repeat;filter:blur(40px);opacity:.9;position:absolute;inset:-12% -8% -18%}.sumi{z-index:0;pointer-events:none;opacity:.12;mix-blend-mode:multiply;background-position:70% 30%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 75% 35%,#000 25%,#0000 75%);mask-image:radial-gradient(70% 80% at 75% 35%,#000 25%,#0000 75%)}@media (width<=767px){.sumi{opacity:.09;background-position:50% 15%}}.trace{pointer-events:none;--trace-color:var(--src-own-line);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trace[data-source=comp]{--trace-color:var(--src-comp-line)}.trace[data-source=docs]{--trace-color:var(--src-docs-line)}.trace[data-source=rev]{--trace-color:var(--src-rev-line)}.trace path{fill:none;stroke:var(--trace-color);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.trace .trace__start{fill:var(--surface-1);stroke:var(--trace-color);stroke-width:1.5px}.trace .trace__end{fill:var(--trace-color)}.trace[data-state=idle] path,.trace[data-state=idle] circle{opacity:0}.trace[data-state=drawing] path{animation:trace-draw var(--dur-draw) var(--ease-out-expo) both}.trace[data-state=drawing] .trace__start{animation:trace-fade var(--dur-base) var(--ease-standard) both}.trace[data-state=drawing] .trace__end{animation:trace-fade var(--dur-base) var(--ease-standard) calc(var(--dur-draw) * .8) both}.trace[data-state=pending] path{stroke-dasharray:2 5;stroke-opacity:.8}.trace--app[data-state=drawing] path{animation-duration:var(--dur-draw-app)}@keyframes trace-draw{0%{stroke-dashoffset:1px;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes trace-fade{0%{opacity:0}to{opacity:1}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.elev-card{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--inner-highlight), var(--shadow-card)}.elev-raised{box-shadow:var(--inner-highlight), var(--shadow-raised)}.elev-window{box-shadow:var(--shadow-window)}@media (prefers-reduced-motion:reduce){:root{--dur-instant:1ms;--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-reveal:1ms;--dur-draw:1ms;--dur-draw-app:1ms;--dur-ambient:1ms;--dur-stagger:0s;--dur-stream:1ms;--reveal-distance:0px}html{scroll-behavior:auto}.trace[data-state=idle] path,.trace[data-state=idle] circle{opacity:1}.trace[data-state=drawing] path,.trace[data-state=drawing] circle{opacity:1;animation:none}:not(.motion-essential),:not(.motion-essential):before,:not(.motion-essential):after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.elev-card,.trace path{forced-color-adjust:auto}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid highlight}}*,:before,:after{box-sizing:border-box}img,svg,video{max-width:100%}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit}a{color:inherit}[id]{scroll-margin-top:calc(var(--nav-top) + var(--nav-height) + 16px)}.container{width:100%;max-width:calc(var(--layout-content) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.section--tight{padding-block:var(--section-y-tight)}.surface-1{background:var(--surface-1)}.surface-2{background:var(--surface-2)}.tone-sand,.tone-forest,.tone-forest-deep{background:var(--surface-0);color:var(--text-primary)}.band.tone-sand,.band.tone-forest,.band.tone-forest-deep{background:var(--gradient-band)}.eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-pop);font-size:.75rem;font-weight:600;line-height:1.3}.section-head{gap:var(--space-4);margin-bottom:var(--space-10);display:grid}@media (width>=1024px){.section-head{margin-bottom:var(--space-12)}}.lede{font-size:var(--text-body-l);line-height:var(--leading-body-l);color:var(--text-secondary);max-width:var(--measure-lede);text-wrap:pretty}.prose{font-size:var(--text-body-m);line-height:var(--leading-body-m);color:var(--text-secondary);max-width:var(--measure-prose);text-wrap:pretty}.btn{min-width:96px;height:var(--control-m);font:600 var(--text-body-s) / 1 var(--font-sans);white-space:nowrap;cursor:pointer;border-radius:var(--radius-pill);border:1px solid var(--action-border);background:var(--action-bg);color:var(--action-fg);box-shadow:var(--shadow-btn);transition:background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);justify-content:center;align-items:center;gap:8px;padding-inline:22px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--action-bg-hover);border-color:var(--action-bg-hover);transform:translateY(-1px)}.btn:active{background:var(--action-bg-active);transform:none}.btn[aria-disabled=true],.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-s{height:var(--control-s);padding-inline:16px}.btn-l{height:var(--control-l);font-size:var(--text-body-m);padding-inline:28px}.btn-secondary{background:var(--action-secondary-bg);color:var(--action-secondary-fg);border-color:var(--action-secondary-border);box-shadow:var(--shadow-card)}.btn-secondary:hover{background:var(--action-secondary-bg);border-color:var(--action-secondary-border-hover)}.btn-secondary:active{background:var(--surface-2)}.link-arrow{font-weight:600;font-size:var(--text-body-s);color:var(--text-pop);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;text-decoration-thickness:1px;display:inline-flex}.link-arrow:after{content:"→";transition:transform var(--dur-fast)}.link-arrow:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}.link-arrow:hover:after{transform:translate(3px)}.badge{border-radius:var(--radius-pill);height:24px;font-family:var(--font-sans);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.badge--dev{background:var(--status-dev-bg);color:var(--status-dev-fg);border:1px dashed var(--status-dev-dot)}.badge--dev:before{background:linear-gradient(90deg,currentColor 50%,#0000 50%);border:1px solid}.badge--built{background:var(--status-verified-bg);color:var(--status-verified-fg);border-color:color-mix(in srgb, var(--status-verified-dot) 40%, transparent)}.badge--flagged{background:var(--status-flagged-bg);color:var(--status-flagged-fg);border-color:color-mix(in srgb, var(--status-flagged-dot) 40%, transparent)}.badge--na{background:var(--surface-2);color:var(--text-secondary);border:1px dashed var(--border-strong)}.badge--na:before{background:0 0;border:1px solid}.badge--pilot{background:var(--surface-2);color:var(--text-secondary)}.src-chip{--_line:var(--src-own-line);--_bg:var(--src-own-chip-bg);--_fg:var(--src-own-chip-fg);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--_line) 30%, transparent);background:var(--_bg);height:24px;color:var(--_fg);font:600 .6875rem / 1 var(--font-sans);align-items:center;gap:6px;padding:0 8px 0 6px;display:inline-flex}.src-chip:before{content:"";background:var(--_line);border-radius:50%;width:10px;height:10px}.src-chip[data-source=comp]{--_line:var(--src-comp-line);--_bg:var(--src-comp-chip-bg);--_fg:var(--src-comp-chip-fg)}.src-chip[data-source=docs]{--_line:var(--src-docs-line);--_bg:var(--src-docs-chip-bg);--_fg:var(--src-docs-chip-fg)}.src-chip[data-source=rev]{--_line:var(--src-rev-line);--_bg:var(--src-rev-chip-bg);--_fg:var(--src-rev-chip-fg)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--inner-highlight), var(--shadow-card);padding:20px}@media (width>=640px){.card{padding:24px}}.window-wrap{isolation:isolate;position:relative}.window{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow-window);overflow:hidden}.window__bar{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:6px;height:40px;padding-inline:14px;display:flex}.window__bar i{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.window__title{text-align:center;font-family:var(--font-mono);font-size:var(--text-mono);color:var(--text-muted);flex:1;margin-right:42px}.band{border-radius:var(--radius-xl);background:var(--gradient-band);border:1px solid var(--border-rail);box-shadow:var(--inner-highlight);margin-inline:8px;position:relative;overflow:clip}@media (width>=768px){.band{border-radius:var(--radius-2xl);margin-inline:12px}}.band>*{z-index:1;position:relative}.band>.sumi,.band>.dot-grid,.band .grain-layer{z-index:0;position:absolute}.field{gap:6px;display:grid}.field label,.field legend{font-size:var(--text-body-s);color:var(--text-primary);font-weight:500}.field .opt{color:var(--text-muted);font-weight:400}.input{width:100%;min-height:var(--control-input);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--text-body-m);padding:0 14px}textarea.input{resize:vertical;min-height:96px;padding-block:12px}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:var(--color-faint)}.input:focus-visible{border-color:var(--color-accent)}.input[aria-invalid=true]{border:1.5px solid var(--danger)}.field__help{font-size:var(--text-caption);color:var(--text-secondary)}.field__error{font-size:var(--text-body-s);color:var(--danger-fg);align-items:flex-start;gap:6px;display:flex}.field__error:before{content:"!";background:var(--danger-fg);width:16px;height:16px;color:var(--surface-1);font:700 11px/16px var(--font-sans);text-align:center;border-radius:50%;flex:none;margin-top:2px}.skip-link{z-index:var(--z-toast);background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:10px 16px;position:absolute;top:16px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.dev-only-note{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}.trace path{vector-effect:none}.mock .trace path{stroke-width:.5px}.lockup.svelte-a4742o{align-items:center;gap:calc(var(--logo-size) * .3);display:inline-flex}.mark.svelte-a4742o,.word.svelte-a4742o{line-height:0;display:block}.mark.svelte-a4742o svg{width:var(--logo-size);height:var(--logo-size)}.word.svelte-a4742o svg{height:calc(var(--logo-size) * .62);width:auto}.nav.svelte-1h32yp1{top:var(--nav-top);z-index:var(--z-nav);width:min(calc(100% - 2 * var(--gutter)), var(--layout-nav));position:fixed;left:50%;transform:translate(-50%)}.pill.svelte-1h32yp1{justify-content:space-between;align-items:center;gap:var(--space-6);height:var(--nav-height);background:color-mix(in srgb, var(--surface-0) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-base);color:var(--text-primary);padding:0 8px 0 10px;display:flex}.scrolled.svelte-1h32yp1 .pill:where(.svelte-1h32yp1){box-shadow:var(--shadow-raised)}.logo.svelte-1h32yp1{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.links.svelte-1h32yp1{gap:var(--space-6);display:none}.links.svelte-1h32yp1 a:where(.svelte-1h32yp1){font-size:var(--text-body-s);color:var(--text-secondary);font-weight:500;text-decoration:none}.links.svelte-1h32yp1 a:where(.svelte-1h32yp1):hover{color:var(--text-primary);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--pop-bg);text-decoration-color:var(--pop-bg)}.actions.svelte-1h32yp1{align-items:center;gap:6px;display:flex}.menu.svelte-1h32yp1{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.cta.svelte-1h32yp1{min-width:0;padding-inline:14px}@media (width<=420px){.cta.svelte-1h32yp1{display:none}}@media (width>=1024px){.links.svelte-1h32yp1{display:flex}.menu.svelte-1h32yp1{display:none}}.sheet.svelte-1h32yp1{z-index:calc(var(--z-nav) + 5);gap:var(--space-8);padding:var(--nav-top) var(--gutter) var(--space-8);background:var(--surface-0);animation:svelte-1h32yp1-sheet-in var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet-top.svelte-1h32yp1{height:var(--nav-height);color:var(--text-primary);align-items:center;padding-left:10px;padding-right:56px;display:flex}.sheet.svelte-1h32yp1 ul:where(.svelte-1h32yp1){display:grid}.sheet.svelte-1h32yp1 li:where(.svelte-1h32yp1){border-bottom:1px solid var(--border)}.sheet.svelte-1h32yp1 li:where(.svelte-1h32yp1) a:where(.svelte-1h32yp1){min-height:56px;font-family:var(--font-display);color:var(--text-primary);align-items:center;font-size:1.75rem;text-decoration:none;display:flex}.sheet.svelte-1h32yp1 .btn:where(.svelte-1h32yp1){width:100%;margin-top:auto}.nav.svelte-1h32yp1{z-index:calc(var(--z-nav) + 10)}@keyframes svelte-1h32yp1-sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet.svelte-1h32yp1{animation:none}}.footer.svelte-jz8lnl{background:var(--surface-0);padding-block:var(--section-y-tight) 32px;margin-top:-1px;position:relative;overflow:clip}.footer.svelte-jz8lnl>:where(.svelte-jz8lnl){z-index:1;position:relative}.inner.svelte-jz8lnl{gap:var(--space-10);display:grid}@media (width>=768px){.inner.svelte-jz8lnl{gap:var(--space-16);grid-template-columns:5fr 6fr}}.logo.svelte-jz8lnl{display:inline-flex}.brand.svelte-jz8lnl p:where(.svelte-jz8lnl){margin-top:var(--space-2);max-width:30ch;font-size:var(--text-body-s);color:var(--text-secondary)}.cols.svelte-jz8lnl{gap:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.cols.svelte-jz8lnl ul:where(.svelte-jz8lnl){margin-top:var(--space-3)}.cols.svelte-jz8lnl a:where(.svelte-jz8lnl){min-height:40px;font-size:var(--text-body-s);color:var(--text-secondary);align-items:center;text-decoration:none;display:flex}.cols.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--text-primary);text-underline-offset:4px;text-decoration:underline}.app.svelte-jz8lnl{margin-top:var(--space-10)}.app.svelte-jz8lnl a:where(.svelte-jz8lnl){font-size:var(--text-caption);color:var(--text-muted);font-weight:600;text-decoration:none}.app.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--text-primary)}
