:root{color-scheme:light dark;--tg-space-050:2px;--tg-space-100:4px;--tg-space-150:6px;--tg-space-200:8px;--tg-space-250:10px;--tg-space-300:12px;--tg-space-400:16px;--tg-space-500:20px;--tg-space-600:24px;--tg-space-700:28px;--tg-space-800:32px;--tg-space-1000:40px;--tg-space-1200:48px;--tg-space-1600:64px;--tg-radius-xs:2px;--tg-radius-sm:4px;--tg-radius-md:6px;--tg-radius-lg:8px;--tg-radius-xl:12px;--tg-radius-2xl:16px;--tg-radius-full:9999px;--tg-size-control-sm:24px;--tg-size-control-md:28px;--tg-size-control-lg:32px;--tg-size-control-xl:40px;--tg-duration-instant:0ms;--tg-duration-fast:100ms;--tg-duration-base:150ms;--tg-duration-slow:200ms;--tg-duration-slower:300ms;--tg-ease-standard:cubic-bezier(0.2,0,0,1);--tg-ease-enter:cubic-bezier(0,0,0.2,1);--tg-ease-exit:cubic-bezier(0.4,0,1,1);--tg-font-family-sans:"IBM Plex Sans","Tridge Fallback Sans",system-ui,"Segoe UI","Helvetica Neue","Arial",sans-serif;--tg-font-family-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular","Consolas","Liberation Mono",monospace;--tg-font-weight-regular:400;--tg-font-weight-medium:500;--tg-font-weight-semibold:600;--tg-type-display-size:2rem;--tg-type-display-line:1.25;--tg-type-display-weight:600;--tg-type-title-lg-size:1.5rem;--tg-type-title-lg-line:1.3333;--tg-type-title-lg-weight:600;--tg-type-title-md-size:1.25rem;--tg-type-title-md-line:1.4;--tg-type-title-md-weight:600;--tg-type-title-sm-size:1rem;--tg-type-title-sm-line:1.5;--tg-type-title-sm-weight:600;--tg-type-body-lg-size:1rem;--tg-type-body-lg-line:1.5;--tg-type-body-lg-weight:400;--tg-type-body-size:0.875rem;--tg-type-body-line:1.4286;--tg-type-body-weight:400;--tg-type-body-sm-size:0.8125rem;--tg-type-body-sm-line:1.5385;--tg-type-body-sm-weight:400;--tg-type-label-size:0.75rem;--tg-type-label-line:1.3333;--tg-type-label-weight:500;--tg-type-caption-size:0.6875rem;--tg-type-caption-line:1.4545;--tg-type-caption-weight:500;--tg-z-base:0;--tg-z-raised:1;--tg-z-sticky:10;--tg-z-sidebar:100;--tg-z-panel:400;--tg-z-dropdown:1000;--tg-z-modal:2000;--tg-z-toast:3000;--tg-z-tooltip:4000;--tg-color-bg-canvas:#F6F7FA;--tg-color-bg-surface:#FFFFFF;--tg-color-bg-sunken:#EFF0F4;--tg-color-bg-hover:#E8E9EE;--tg-color-bg-selected:#DCDFE8;--tg-color-border-subtle:#DCDEE2;--tg-color-border-default:#C8CAD0;--tg-color-border-strong:#777A82;--tg-color-text-primary:#181A20;--tg-color-text-secondary:#4A4D55;--tg-color-text-tertiary:#5D6069;--tg-color-text-disabled:#9C9EA5;--tg-color-text-on-accent:#FFFFFF;--tg-color-accent-solid:#4D4BD1;--tg-color-accent-solid-hover:#423BC0;--tg-color-accent-text:#4641C7;--tg-color-accent-subtle:#EAEEFE;--tg-color-focus-ring:#5A5CE2;--tg-color-status-danger-text:#B71824;--tg-color-status-danger-subtle:#FEE9E6;--tg-color-status-danger-solid:#C50220;--tg-color-status-warning-text:#825100;--tg-color-status-warning-subtle:#FFF1CC;--tg-color-status-warning-solid:#F0B135;--tg-color-status-success-text:#056A3B;--tg-color-status-success-subtle:#DAF7E3;--tg-color-status-success-solid:#02703F;--tg-color-status-info-text:#02629C;--tg-color-status-info-subtle:#E2F1FE;--tg-color-brand-indigo:#8B93F8;--tg-color-brand-teal:#5EEAD4;--tg-color-brand-ink:#12131A;--tg-elevation-1:0px 1px 2px 0px rgb(0 0 0 / 0.06);--tg-elevation-2:0px 4px 12px 0px rgb(0 0 0 / 0.1);--tg-elevation-3:0px 16px 40px 0px rgb(0 0 0 / 0.16)}@media (prefers-color-scheme:dark){:root{--tg-color-bg-canvas:#0E0F12;--tg-color-bg-surface:#16171A;--tg-color-bg-sunken:#1D1E22;--tg-color-bg-hover:#23252A;--tg-color-bg-selected:#2A2D38;--tg-color-border-subtle:#27292D;--tg-color-border-default:#36383D;--tg-color-border-strong:#777A82;--tg-color-text-primary:#EAEBEF;--tg-color-text-secondary:#B5B7BE;--tg-color-text-tertiary:#9598A0;--tg-color-text-disabled:#616369;--tg-color-text-on-accent:#FFFFFF;--tg-color-accent-solid:#5252D8;--tg-color-accent-solid-hover:#5F62E9;--tg-color-accent-text:#96A2FC;--tg-color-accent-subtle:#222546;--tg-color-focus-ring:#8893FA;--tg-color-status-danger-text:#F7857D;--tg-color-status-danger-subtle:#3B1C1A;--tg-color-status-danger-solid:#C50220;--tg-color-status-warning-text:#E9B452;--tg-color-status-warning-subtle:#332710;--tg-color-status-warning-solid:#F0B135;--tg-color-status-success-text:#59D38C;--tg-color-status-success-subtle:#152C1E;--tg-color-status-success-solid:#02703F;--tg-color-status-info-text:#72B8F2;--tg-color-status-info-subtle:#152839;--tg-color-brand-indigo:#8B93F8;--tg-color-brand-teal:#5EEAD4;--tg-color-brand-ink:#12131A;--tg-elevation-1:0px 1px 2px 0px rgb(0 0 0 / 0.5);--tg-elevation-2:0px 4px 12px 0px rgb(0 0 0 / 0.5);--tg-elevation-3:0px 16px 40px 0px rgb(0 0 0 / 0.6)}}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/a/IBMPlexSans-Regular-Latin1.b5ad7bd39f.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+2074,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/a/IBMPlexSans-SemiBold-Latin1.fff0ab3a88.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+2074,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/a/IBMPlexMono-Regular-Latin1.10d3c7fa7e.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+2074,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:"Tridge Fallback Sans";src:local("Arial"),local("Arimo"),local("Liberation Sans");size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}:root{--w-max:73rem;--gutter:clamp(1.25rem,4vw,2.5rem);--section:clamp(4.5rem,9vw,8rem);--mono:var(--tg-font-family-mono);--hairline:1px solid var(--tg-color-border-subtle)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5.5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--tg-color-bg-canvas);color:var(--tg-color-text-primary);font-family:var(--tg-font-family-sans);font-size:1.0625rem;line-height:1.6;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}h1,h2,h3,h4{margin:0;font-weight:600;text-wrap:balance}p,ul,ol,dl,figure,blockquote{margin:0}p{text-wrap:pretty}img,svg,picture{display:block;max-width:100%}img{height:auto}a{color:var(--tg-color-accent-text);text-decoration-thickness:1px;text-underline-offset:0.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--tg-color-focus-ring);outline-offset:2px;border-radius:var(--tg-radius-sm)}::selection{background:var(--tg-color-accent-subtle);color:var(--tg-color-text-primary)}code,kbd,.num,.mono{font-family:var(--mono)}.wrap{width:100%;max-width:calc(var(--w-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.nb{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:1rem;top:-4rem;z-index:var(--tg-z-tooltip);padding:0.6rem 1rem;background:var(--tg-color-bg-surface);border:1px solid var(--tg-color-border-strong);border-radius:var(--tg-radius-lg)}.skip:focus{top:1rem}.icon{width:1.25rem;height:1.25rem;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:2.75rem;padding:0 1.15rem;border:1px solid transparent;border-radius:var(--tg-radius-lg);font:inherit;font-size:1rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--tg-duration-fast) var(--tg-ease-standard),border-color var(--tg-duration-fast) var(--tg-ease-standard)}.btn .icon{width:1.1rem;height:1.1rem}.btn.primary{background:var(--tg-color-accent-solid);color:var(--tg-color-text-on-accent)}.btn.primary:hover{background:var(--tg-color-accent-solid-hover)}.btn.ghost{background:var(--tg-color-bg-surface);border-color:var(--tg-color-border-default);color:var(--tg-color-text-primary)}.btn.ghost:hover{background:var(--tg-color-bg-hover);border-color:var(--tg-color-border-strong)}.btn.small{min-height:2.25rem;padding:0 0.85rem;font-size:0.9375rem}.more{display:inline-flex;align-items:center;gap:0.35rem;font-weight:600;text-decoration:none}.more .icon{width:1rem;height:1rem;transition:transform var(--tg-duration-base) var(--tg-ease-standard)}.more:hover .icon{transform:translateX(3px)}.more:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:var(--tg-z-sticky);border-bottom:var(--hairline);background:color-mix(in srgb,var(--tg-color-bg-canvas) 84%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px)}.site-header .wrap{display:flex;align-items:center;gap:1.25rem;height:4rem}.brand{display:inline-flex;align-items:center;gap:0.55rem;color:var(--tg-color-text-primary);font-size:1.1875rem;font-weight:600;letter-spacing:-0.015em;text-decoration:none}.brand svg{width:1.75rem;height:1.75rem}.primary-nav ul{display:flex;gap:0.125rem;margin:0;padding:0;list-style:none}.primary-nav a{display:block;padding:0.45rem 0.75rem;border-radius:var(--tg-radius-md);color:var(--tg-color-text-secondary);font-size:0.9375rem;text-decoration:none}.primary-nav a:hover{background:var(--tg-color-bg-hover);color:var(--tg-color-text-primary)}.primary-nav a[aria-current]{color:var(--tg-color-text-primary);font-weight:600}.header-cta{display:flex;align-items:center;gap:0.5rem;margin-left:auto}.menu{display:none;position:relative}.menu summary{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--tg-radius-lg);list-style:none;cursor:pointer;color:var(--tg-color-text-primary)}.menu summary::-webkit-details-marker{display:none}.menu summary:hover{background:var(--tg-color-bg-hover)}.menu[open]>div{position:absolute;right:0;top:3.25rem;width:min(18rem,calc(100vw - 2 * var(--gutter)));padding:0.5rem;background:var(--tg-color-bg-surface);border:1px solid var(--tg-color-border-default);border-radius:var(--tg-radius-xl);box-shadow:var(--tg-elevation-3)}.menu ul{margin:0;padding:0;list-style:none}.menu a{display:block;padding:0.7rem 0.85rem;border-radius:var(--tg-radius-lg);color:var(--tg-color-text-primary);text-decoration:none}.menu a:hover,.menu a[aria-current]{background:var(--tg-color-bg-hover)}@media (max-width:52rem){.primary-nav{display:none}.menu{display:block}}.section{padding-block:var(--section)}.section + .section{padding-top:0}.section-head{max-width:44rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-head.center{margin-inline:auto;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:1rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.8125rem;letter-spacing:0.02em}.eyebrow::before{content:"";width:1.25rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tg-color-brand-indigo),var(--tg-color-brand-teal))}.section-head h2,.h2{font-size:clamp(1.9rem,1.25rem + 2.5vw,2.875rem);line-height:1.08;letter-spacing:-0.03em}.section-head p{margin-top:1rem;color:var(--tg-color-text-secondary);font-size:clamp(1.0625rem,1rem + 0.3vw,1.1875rem)}.hero{position:relative;isolation:isolate;padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3rem,6vw,5rem);overflow:clip}.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:46rem;z-index:-2;pointer-events:none;background:radial-gradient(42% 55% at 28% 18%,color-mix(in srgb,var(--tg-color-brand-indigo) 26%,transparent),transparent 72%),radial-gradient(36% 48% at 76% 12%,color-mix(in srgb,var(--tg-color-brand-teal) 20%,transparent),transparent 72%)}.hero::after{content:"";position:absolute;inset:0 0 auto 0;height:46rem;z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--tg-color-text-primary) 16%,transparent) 1px,transparent 1.5px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 78%);mask-image:linear-gradient(to bottom,#000 0,transparent 78%)}.hero-copy{max-width:54rem;margin-inline:auto;text-align:center}.hero .pill{display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem;padding:0.3rem 0.8rem 0.3rem 0.4rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-full);color:var(--tg-color-text-secondary);font-size:0.875rem;text-decoration:none}.hero .pill b{padding:0.1rem 0.5rem;border-radius:var(--tg-radius-full);background:var(--tg-color-accent-subtle);color:var(--tg-color-accent-text);font-family:var(--mono);font-size:0.75rem;font-weight:400}.hero .pill:hover{border-color:var(--tg-color-border-default);color:var(--tg-color-text-primary)}.hero h1{font-size:clamp(2.75rem,1.1rem + 6.6vw,5rem);line-height:1;letter-spacing:-0.04em}.hero h1 span{display:inline-block}.hero .lead{max-width:41rem;margin:1.5rem auto 0;color:var(--tg-color-text-secondary);font-size:clamp(1.125rem,1rem + 0.6vw,1.3125rem);line-height:1.5}.hero .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:2rem}.hero .fine{margin-top:1.1rem;color:var(--tg-color-text-tertiary);font-size:0.875rem}.stage{margin-top:clamp(2.5rem,6vw,4.5rem)}.bridge{display:block;width:100%;height:clamp(3.5rem,8vw,6.5rem);overflow:visible}.bridge path,.bridge line{fill:none;stroke:url(#tg-span);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.panes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(0.75rem,1.6vw,1.25rem)}.pane{display:flex;flex-direction:column;min-height:17.5rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-2xl);box-shadow:var(--tg-elevation-2);font-size:0.875rem;line-height:1.45;text-align:left;overflow:hidden}.pane>header{display:flex;align-items:center;gap:0.5rem;padding:0.7rem 0.9rem;border-bottom:var(--hairline);color:var(--tg-color-text-secondary);font-size:0.8125rem}.pane>header .icon{width:1rem;height:1rem;color:var(--tg-color-accent-text)}.pane>header b{color:var(--tg-color-text-primary);font-weight:600}.pane>header span{margin-left:auto;font-family:var(--mono);font-size:0.6875rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--tg-color-text-tertiary)}.pane .body{flex:1;padding:0.5rem}.ref{display:inline-flex;align-items:center;padding:0 0.4rem;border-radius:var(--tg-radius-sm);background:var(--tg-color-accent-subtle);color:var(--tg-color-accent-text);font-family:var(--mono);font-size:0.75rem;line-height:1.5;white-space:nowrap}.rows{margin:0;padding:0;list-style:none}.rows li{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:0.55rem;padding:0.5rem 0.45rem;border-radius:var(--tg-radius-lg)}.rows li + li{margin-top:1px}.rows li.on{background:var(--tg-color-bg-selected)}.rows .id{min-width:3.4rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.75rem}.rows .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows li.done .t{color:var(--tg-color-text-tertiary)}.st{width:0.875rem;height:0.875rem;border:1.5px solid var(--tg-color-text-tertiary);border-radius:50%}.st.doing{border-color:var(--tg-color-status-warning-text);background:conic-gradient(var(--tg-color-status-warning-text) 0 50%,transparent 0)}.st.done{border-color:var(--tg-color-status-success-text);background:var(--tg-color-status-success-text)}.av{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:50%;font-size:0.625rem;font-weight:600;background:var(--tg-color-accent-subtle);color:var(--tg-color-accent-text);flex:none}.av.b{background:var(--tg-color-status-success-subtle);color:var(--tg-color-status-success-text)}.av.c{background:var(--tg-color-status-warning-subtle);color:var(--tg-color-status-warning-text)}.doc{padding:0.5rem 0.65rem 0.75rem}.doc .doc-title{margin:0;color:var(--tg-color-text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-0.015em}.doc p{margin-top:0.5rem;color:var(--tg-color-text-secondary)}.todo{margin:0.7rem 0 0;padding:0;list-style:none}.todo li{display:flex;align-items:center;gap:0.5rem;padding:0.2rem 0}.box{display:grid;place-items:center;width:0.9375rem;height:0.9375rem;border:1.5px solid var(--tg-color-border-strong);border-radius:var(--tg-radius-sm);flex:none}.box.x{border-color:var(--tg-color-accent-solid);background:var(--tg-color-accent-solid);color:var(--tg-color-text-on-accent)}.box .icon{width:0.7rem;height:0.7rem;stroke-width:3}.msgs{display:grid;gap:0.7rem;margin:0;padding:0.35rem 0.4rem 0;list-style:none}.msgs li{display:grid;grid-template-columns:auto 1fr;gap:0.55rem}.msgs b{font-weight:600}.msgs time{margin-left:0.35rem;color:var(--tg-color-text-tertiary);font-size:0.75rem}.msgs p{color:var(--tg-color-text-secondary)}.composer{margin:0.75rem 0.4rem 0.3rem;padding:0.5rem 0.7rem;border:1px solid var(--tg-color-border-default);border-radius:var(--tg-radius-lg);color:var(--tg-color-text-tertiary)}.stage figcaption{margin-top:0.9rem;color:var(--tg-color-text-tertiary);font-size:0.8125rem;text-align:center}@media (max-width:56rem){.bridge{display:none}.panes{grid-template-columns:1fr;max-width:30rem;margin-inline:auto}.pane{min-height:0}}@media (prefers-reduced-motion:no-preference){.pane{animation:rise 0.55s var(--tg-ease-enter) both}.pane:nth-child(2){animation-delay:0.07s}.pane:nth-child(3){animation-delay:0.14s}.bridge{animation:fade 0.8s var(--tg-ease-enter) 0.15s both}@keyframes rise{from{opacity:0;transform:translateY(14px)}}@keyframes fade{from{opacity:0}}}.spans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.span-card{padding:clamp(1.25rem,2.2vw,1.75rem);background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-2xl)}.span-card .icon{width:1.5rem;height:1.5rem;color:var(--tg-color-accent-text)}.span-card h3{margin-top:1rem;font-size:1.5rem;letter-spacing:-0.02em}.span-card p{margin-top:0.5rem;color:var(--tg-color-text-secondary)}.apps{display:flex;flex-wrap:wrap;gap:0.4rem;margin:1.1rem 0 0;padding:0;list-style:none}.apps li{padding:0.2rem 0.6rem;border:var(--hairline);border-radius:var(--tg-radius-full);background:var(--tg-color-bg-canvas);color:var(--tg-color-text-secondary);font-size:0.8125rem}@media (max-width:56rem){.spans{grid-template-columns:1fr}}.feature{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;gap:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,5vw,4.5rem)}.feature + .feature{margin-top:clamp(4rem,9vw,7.5rem)}.feature.solo .text{grid-column:1 / -1}.feature h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);line-height:1.12;letter-spacing:-0.028em}.feature .text>p{max-width:38rem;margin-top:0.9rem;color:var(--tg-color-text-secondary)}.ticks{display:grid;gap:0.6rem;margin:0;padding:0;list-style:none}.ticks li{display:grid;grid-template-columns:auto 1fr;gap:0.65rem;align-items:start}.ticks .icon{width:1.125rem;height:1.125rem;margin-top:0.25rem;color:var(--tg-color-status-success-text);stroke-width:2.25}.feature .more{margin-top:1.25rem}.feature .shot{grid-column:1 / -1}.shot{border:1px solid var(--tg-color-border-default);border-radius:var(--tg-radius-xl);background:var(--tg-color-bg-surface);box-shadow:var(--tg-elevation-3);overflow:hidden}.shot img{width:100%}.shot-missing{aspect-ratio:16 / 10;background:repeating-linear-gradient(135deg,var(--tg-color-bg-sunken) 0 12px,var(--tg-color-bg-surface) 12px 24px)}figure.shot-fig figcaption{margin-top:0.7rem;color:var(--tg-color-text-tertiary);font-size:0.8125rem}@media (max-width:56rem){.feature{grid-template-columns:minmax(0,1fr)}}.keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:0.6rem;margin:0;padding:0;list-style:none}.keys li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8rem 1rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-xl)}.keys span{color:var(--tg-color-text-secondary);font-size:0.9375rem}.combo{display:inline-flex;align-items:center;gap:0.25rem;white-space:nowrap;color:var(--tg-color-text-tertiary);font-size:0.75rem}kbd{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 0.4rem;border:1px solid var(--tg-color-border-default);border-bottom-width:2px;border-radius:var(--tg-radius-md);background:var(--tg-color-bg-surface);color:var(--tg-color-text-primary);font-size:0.75rem;line-height:1}.numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.score{padding:clamp(1.25rem,2.4vw,2rem);background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-2xl)}.score h3{font-size:1.125rem}.score>p{margin-top:0.35rem;color:var(--tg-color-text-secondary);font-size:0.9375rem}.score dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1.25rem 1rem;margin-top:1.5rem}.score dl div{display:flex;flex-direction:column-reverse;gap:0.15rem}.score dt{color:var(--tg-color-text-secondary);font-size:0.875rem;line-height:1.35}.score dd{margin:0;font-family:var(--mono);font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);line-height:1.05;letter-spacing:-0.04em}.score dd small{margin-left:0.2rem;color:var(--tg-color-text-tertiary);font-size:0.4em;letter-spacing:0}.score .foot{margin-top:1.4rem;padding-top:1rem;border-top:var(--hairline);color:var(--tg-color-text-tertiary);font-size:0.8125rem}@media (max-width:52rem){.numbers{grid-template-columns:1fr}}.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.trust article{display:flex;flex-direction:column;padding:clamp(1.25rem,2.2vw,1.75rem);background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-2xl)}.trust .icon{width:1.5rem;height:1.5rem;color:var(--tg-color-accent-text)}.trust h3{margin-top:1rem;font-size:1.1875rem;letter-spacing:-0.01em}.trust p{margin:0.5rem 0 1.25rem;color:var(--tg-color-text-secondary);font-size:0.9875rem}.trust .more{margin-top:auto}@media (max-width:56rem){.trust{grid-template-columns:1fr}}.latest{margin:0;padding:0;list-style:none;border-top:var(--hairline)}.latest a{display:grid;grid-template-columns:9.5rem minmax(0,16rem) 1fr;gap:0.25rem 1.5rem;align-items:baseline;padding:1.1rem 0.5rem;border-bottom:var(--hairline);color:inherit;text-decoration:none}.latest a:hover{background:var(--tg-color-bg-hover)}.latest + p,.plain-note{margin-top:1.5rem}.latest .date{color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.8125rem}.latest span:last-child{color:var(--tg-color-text-secondary)}@media (max-width:52rem){.latest a{grid-template-columns:1fr}}.cta{padding:clamp(2rem,5vw,3.5rem);border:1px solid transparent;border-radius:var(--tg-radius-2xl);text-align:center;background:linear-gradient(var(--tg-color-bg-surface),var(--tg-color-bg-surface)) padding-box,linear-gradient(120deg,var(--tg-color-brand-indigo),var(--tg-color-brand-teal)) border-box}.cta h2{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.5rem);line-height:1.1;letter-spacing:-0.03em}.cta p{max-width:36rem;margin:0.9rem auto 0;color:var(--tg-color-text-secondary)}.cta .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:1.6rem}.page-head{padding:clamp(3rem,7vw,5.5rem) 0 clamp(1.5rem,4vw,2.75rem)}.page-head h1{max-width:48rem;font-size:clamp(2.25rem,1.4rem + 3.6vw,3.75rem);line-height:1.04;letter-spacing:-0.035em}.page-head .lead{max-width:42rem;margin-top:1.1rem;color:var(--tg-color-text-secondary);font-size:clamp(1.0625rem,1rem + 0.45vw,1.25rem);line-height:1.5}.page-head .meta{margin-top:1rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.8125rem}.with-toc{display:grid;grid-template-columns:minmax(0,46rem) minmax(0,14rem);justify-content:space-between;gap:3rem;padding-bottom:var(--section)}.toc{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);overflow:auto;padding-left:1rem;border-left:var(--hairline);font-size:0.875rem}.toc p{margin-bottom:0.6rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.75rem;letter-spacing:0.04em;text-transform:uppercase}.toc ul{display:grid;gap:0.45rem;margin:0;padding:0;list-style:none}.toc a{color:var(--tg-color-text-secondary);text-decoration:none}.toc a:hover{color:var(--tg-color-text-primary);text-decoration:underline}@media (max-width:62rem){.with-toc{grid-template-columns:minmax(0,46rem)}.toc{display:none}}.prose{min-width:0}.prose>* + *{margin-top:1.1rem}.prose h2{margin-top:2.75rem;font-size:1.625rem;line-height:1.2;letter-spacing:-0.02em}.prose h2:first-child{margin-top:0}.prose h3{margin-top:2rem;font-size:1.1875rem;letter-spacing:-0.01em}.prose ul,.prose ol{padding-left:1.35rem}.prose li + li{margin-top:0.4rem}.prose li::marker{color:var(--tg-color-text-tertiary)}.prose ol.steps{padding:0;list-style:none;counter-reset:step}.prose ol.steps>li{position:relative;padding-left:2.6rem;counter-increment:step}.prose ol.steps>li + li{margin-top:0.85rem}.prose ol.steps>li::before{content:counter(step);position:absolute;left:0;top:0.05rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--tg-color-accent-subtle);color:var(--tg-color-accent-text);font-family:var(--mono);font-size:0.8125rem}.prose code{padding:0.1em 0.35em;border-radius:var(--tg-radius-sm);background:var(--tg-color-bg-sunken);font-size:0.875em}.prose kbd{vertical-align:0.05em}.prose strong{font-weight:600}.note{padding:0.9rem 1.1rem;border:var(--hairline);border-left:3px solid var(--tg-color-accent-solid);border-radius:var(--tg-radius-lg);background:var(--tg-color-bg-surface);color:var(--tg-color-text-secondary);font-size:0.9875rem}.note.warn{border-left-color:var(--tg-color-status-warning-solid)}.note>* + *{margin-top:0.5rem}.table-wrap{overflow-x:auto;border:var(--hairline);border-radius:var(--tg-radius-xl);background:var(--tg-color-bg-surface)}table{width:100%;border-collapse:collapse;font-size:0.9375rem}th,td{padding:0.65rem 0.9rem;border-bottom:var(--hairline);text-align:left;vertical-align:top}thead th{color:var(--tg-color-text-secondary);font-size:0.8125rem;font-weight:600;white-space:nowrap;background:var(--tg-color-bg-sunken)}tbody tr:last-child>*{border-bottom:0}tbody th{font-weight:400}td.num,th.num{font-family:var(--mono);font-size:0.875rem;white-space:nowrap}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:1.5rem;padding:0;list-style:none}.contact li{margin:0;padding:1.1rem 1.25rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-xl)}.contact li + li{margin-top:0}.contact strong{display:block}.contact span{display:block;margin:0.25rem 0 0.6rem;color:var(--tg-color-text-secondary);font-size:0.9375rem}.help-layout{display:grid;grid-template-columns:15.5rem minmax(0,44rem) minmax(0,13rem);justify-content:space-between;gap:2.5rem;padding-block:clamp(2rem,5vw,3.5rem) var(--section)}.help-side{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);overflow:auto;font-size:0.9375rem}.help-side>ul,.help-side ul ul{margin:0;padding:0;list-style:none}.help-side .group + .group{margin-top:1.4rem}.help-side .group>span{display:block;margin-bottom:0.4rem;padding-left:0.65rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.75rem;letter-spacing:0.04em;text-transform:uppercase}.help-side a{display:block;padding:0.35rem 0.65rem;border-radius:var(--tg-radius-md);color:var(--tg-color-text-secondary);text-decoration:none}.help-side a:hover{background:var(--tg-color-bg-hover);color:var(--tg-color-text-primary)}.help-side a[aria-current]{background:var(--tg-color-bg-selected);color:var(--tg-color-text-primary);font-weight:600}.help-topics{display:none}.help-article .crumb{color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.8125rem}.help-article .crumb a{color:inherit}.help-article h1{margin-top:0.6rem;font-size:clamp(2rem,1.5rem + 2vw,2.75rem);line-height:1.08;letter-spacing:-0.03em}.help-article .lead{margin:0.9rem 0 2.25rem;color:var(--tg-color-text-secondary);font-size:1.1875rem;line-height:1.5}.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;border-top:var(--hairline)}.pager a{padding:0.9rem 1.1rem;border:var(--hairline);border-radius:var(--tg-radius-xl);background:var(--tg-color-bg-surface);color:var(--tg-color-text-primary);font-weight:600;text-decoration:none}.pager a:hover{border-color:var(--tg-color-border-strong)}.pager a span{display:block;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.75rem;font-weight:400}.pager .next{text-align:right}.help-foot{margin-top:2rem;color:var(--tg-color-text-secondary);font-size:0.9375rem}@media (max-width:72rem){.help-layout{grid-template-columns:15.5rem minmax(0,44rem)}.help-layout .toc{display:none}}@media (max-width:52rem){.help-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.help-side{display:none}.help-topics{display:block;margin-bottom:1.25rem;border:var(--hairline);border-radius:var(--tg-radius-xl);background:var(--tg-color-bg-surface)}.help-topics summary{padding:0.8rem 1rem;font-weight:600;cursor:pointer}.help-topics .help-side{display:block;position:static;max-height:none;padding:0 0.5rem 0.75rem}}.help-group + .help-group{margin-top:3rem}.help-group h2{font-size:1.375rem;letter-spacing:-0.015em}.help-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr));gap:0.75rem;margin:1rem 0 0;padding:0;list-style:none}.help-list a{display:block;height:100%;padding:1.05rem 1.2rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-xl);color:inherit;text-decoration:none}.help-list a:hover{border-color:var(--tg-color-border-strong)}.help-list strong{display:block;font-weight:600}.help-list span{display:block;margin-top:0.3rem;color:var(--tg-color-text-secondary);font-size:0.9375rem;line-height:1.45}.help-index{padding-bottom:var(--section)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:0;padding:0;list-style:none}.app-grid li{padding:1.25rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-xl)}.app-grid .icon{color:var(--tg-color-accent-text)}.app-grid h3{margin-top:0.75rem;font-size:1.0625rem}.app-grid p{margin-top:0.35rem;color:var(--tg-color-text-secondary);font-size:0.9375rem}.plain-list{display:grid;gap:0.5rem;margin:1rem 0 0;padding-left:1.2rem;color:var(--tg-color-text-secondary)}.releases{display:grid;gap:0;max-width:48rem;padding-bottom:var(--section)}.release{padding:2.25rem 0;border-top:var(--hairline)}.release:first-child{border-top:0;padding-top:0}.release .date{display:flex;align-items:center;gap:0.75rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.8125rem}.tag{padding:0.05rem 0.5rem;border-radius:var(--tg-radius-full);background:var(--tg-color-accent-subtle);color:var(--tg-color-accent-text);font-size:0.75rem}.release h2{margin-top:0.5rem;font-size:1.625rem;letter-spacing:-0.02em}.release>p{margin-top:0.75rem;color:var(--tg-color-text-secondary)}.release ul{display:grid;gap:0.45rem;margin-top:1rem;padding-left:1.25rem}.release li::marker{color:var(--tg-color-text-tertiary)}table.tokens code{background:none;padding:0;font-size:0.8125rem}table.tokens td{white-space:nowrap}.sw{display:inline-block;width:1.25rem;height:1.25rem;margin-right:0.5rem;border:1px solid var(--tg-color-border-default);border-radius:var(--tg-radius-sm);vertical-align:-0.3rem}.scale{display:grid;gap:0.5rem;margin:0;padding:0;list-style:none}.scale li{display:grid;grid-template-columns:8.5rem 4.5rem 1fr;align-items:center;gap:1rem;margin:0;font-size:0.875rem}.scale li + li{margin-top:0}.scale .bar{display:block;height:0.75rem;border-radius:2px;background:var(--tg-color-accent-solid);justify-self:start}.scale .rad{display:block;width:2.5rem;height:2.5rem;border:2px solid var(--tg-color-accent-solid);background:var(--tg-color-accent-subtle)}.scale code{background:none;padding:0}.phases{display:grid;gap:0.6rem;margin:0;padding:0;list-style:none;counter-reset:phase -1}.phases li{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:baseline;margin:0;padding:0.85rem 1.1rem;background:var(--tg-color-bg-surface);border:var(--hairline);border-radius:var(--tg-radius-xl);counter-increment:phase}.phases li + li{margin-top:0}.phases li::before{content:counter(phase);font-family:var(--mono);color:var(--tg-color-text-tertiary)}.phases .state{font-family:var(--mono);font-size:0.75rem;color:var(--tg-color-text-tertiary);white-space:nowrap}.phases .state.live{color:var(--tg-color-status-success-text)}@media (max-width:40rem){.phases li{grid-template-columns:auto 1fr}.phases .state{grid-column:2;white-space:normal}}.notfound main{display:grid;place-items:center;min-height:60vh;padding:4rem 0;text-align:center}.notfound h1{font-size:clamp(2.25rem,1.5rem + 3vw,3.5rem);letter-spacing:-0.03em}.notfound p{margin-top:1rem;color:var(--tg-color-text-secondary)}.notfound .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:1.75rem}.site-footer{margin-top:auto;padding:clamp(2.5rem,6vw,4rem) 0 2rem;border-top:var(--hairline);background:var(--tg-color-bg-sunken);font-size:0.9375rem}.site-footer .cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem}.site-footer .about p{max-width:22rem;margin-top:0.9rem;color:var(--tg-color-text-secondary)}.site-footer h2{margin-bottom:0.75rem;color:var(--tg-color-text-tertiary);font-family:var(--mono);font-size:0.75rem;font-weight:400;letter-spacing:0.04em;text-transform:uppercase}.site-footer ul{display:grid;gap:0.5rem;margin:0;padding:0;list-style:none}.site-footer a{color:var(--tg-color-text-secondary);text-decoration:none}.site-footer a:hover{color:var(--tg-color-text-primary);text-decoration:underline}.site-footer .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem 2rem;margin-top:2.5rem;padding-top:1.25rem;border-top:var(--hairline);color:var(--tg-color-text-tertiary);font-size:0.8125rem}.site-footer .legal a{color:inherit;text-decoration:underline}@media (max-width:52rem){.site-footer .cols{grid-template-columns:1fr 1fr}.site-footer .about{grid-column:1 / -1}}body{display:flex;flex-direction:column;min-height:100vh}@media (forced-colors:active){.pane,.span-card,.score,.trust article,.shot,.cta,.btn,kbd{border:1px solid CanvasText}.rows li.on{outline:1px solid Highlight}}@media print{.site-header,.site-footer,.toc,.help-side,.help-topics,.pager,.hero::before,.hero::after{display:none}body{background:#fff;color:#000;font-size:11pt}a{color:inherit}}.swl-bg-canvas{background:#F6F7FA}.swd-bg-canvas{background:#0E0F12}.swl-bg-surface{background:#FFFFFF}.swd-bg-surface{background:#16171A}.swl-bg-sunken{background:#EFF0F4}.swd-bg-sunken{background:#1D1E22}.swl-bg-hover{background:#E8E9EE}.swd-bg-hover{background:#23252A}.swl-bg-selected{background:#DCDFE8}.swd-bg-selected{background:#2A2D38}.swl-border-subtle{background:#DCDEE2}.swd-border-subtle{background:#27292D}.swl-border-default{background:#C8CAD0}.swd-border-default{background:#36383D}.swl-border-strong{background:#777A82}.swd-border-strong{background:#777A82}.swl-text-primary{background:#181A20}.swd-text-primary{background:#EAEBEF}.swl-text-secondary{background:#4A4D55}.swd-text-secondary{background:#B5B7BE}.swl-text-tertiary{background:#5D6069}.swd-text-tertiary{background:#9598A0}.swl-text-disabled{background:#9C9EA5}.swd-text-disabled{background:#616369}.swl-text-on-accent{background:#FFFFFF}.swd-text-on-accent{background:#FFFFFF}.swl-accent-solid{background:#4D4BD1}.swd-accent-solid{background:#5252D8}.swl-accent-solid-hover{background:#423BC0}.swd-accent-solid-hover{background:#5F62E9}.swl-accent-text{background:#4641C7}.swd-accent-text{background:#96A2FC}.swl-accent-subtle{background:#EAEEFE}.swd-accent-subtle{background:#222546}.swl-focus-ring{background:#5A5CE2}.swd-focus-ring{background:#8893FA}.swl-status-danger-text{background:#B71824}.swd-status-danger-text{background:#F7857D}.swl-status-danger-subtle{background:#FEE9E6}.swd-status-danger-subtle{background:#3B1C1A}.swl-status-danger-solid{background:#C50220}.swd-status-danger-solid{background:#C50220}.swl-status-warning-text{background:#825100}.swd-status-warning-text{background:#E9B452}.swl-status-warning-subtle{background:#FFF1CC}.swd-status-warning-subtle{background:#332710}.swl-status-warning-solid{background:#F0B135}.swd-status-warning-solid{background:#F0B135}.swl-status-success-text{background:#056A3B}.swd-status-success-text{background:#59D38C}.swl-status-success-subtle{background:#DAF7E3}.swd-status-success-subtle{background:#152C1E}.swl-status-success-solid{background:#02703F}.swd-status-success-solid{background:#02703F}.swl-status-info-text{background:#02629C}.swd-status-info-text{background:#72B8F2}.swl-status-info-subtle{background:#E2F1FE}.swd-status-info-subtle{background:#152839}.swl-brand-indigo{background:#8B93F8}.swd-brand-indigo{background:#8B93F8}.swl-brand-teal{background:#5EEAD4}.swd-brand-teal{background:#5EEAD4}.swl-brand-ink{background:#12131A}.swd-brand-ink{background:#12131A}.bar-050{width:2px}.bar-100{width:4px}.bar-150{width:6px}.bar-200{width:8px}.bar-250{width:10px}.bar-300{width:12px}.bar-400{width:16px}.bar-500{width:20px}.bar-600{width:24px}.bar-700{width:28px}.bar-800{width:32px}.bar-1000{width:40px}.bar-1200{width:48px}.bar-1600{width:64px}.rad-xs{border-radius:2px}.rad-sm{border-radius:4px}.rad-md{border-radius:6px}.rad-lg{border-radius:8px}.rad-xl{border-radius:12px}.rad-2xl{border-radius:16px}.rad-full{border-radius:9999px}.spec-display{font-size:var(--tg-type-display-size);line-height:var(--tg-type-display-line);font-weight:var(--tg-type-display-weight)}.spec-title-lg{font-size:var(--tg-type-title-lg-size);line-height:var(--tg-type-title-lg-line);font-weight:var(--tg-type-title-lg-weight)}.spec-title-md{font-size:var(--tg-type-title-md-size);line-height:var(--tg-type-title-md-line);font-weight:var(--tg-type-title-md-weight)}.spec-title-sm{font-size:var(--tg-type-title-sm-size);line-height:var(--tg-type-title-sm-line);font-weight:var(--tg-type-title-sm-weight)}.spec-body-lg{font-size:var(--tg-type-body-lg-size);line-height:var(--tg-type-body-lg-line);font-weight:var(--tg-type-body-lg-weight)}.spec-body{font-size:var(--tg-type-body-size);line-height:var(--tg-type-body-line);font-weight:var(--tg-type-body-weight)}.spec-body-sm{font-size:var(--tg-type-body-sm-size);line-height:var(--tg-type-body-sm-line);font-weight:var(--tg-type-body-sm-weight)}.spec-label{font-size:var(--tg-type-label-size);line-height:var(--tg-type-label-line);font-weight:var(--tg-type-label-weight)}.spec-caption{font-size:var(--tg-type-caption-size);line-height:var(--tg-type-caption-line);font-weight:var(--tg-type-caption-weight)}
