@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7d65b77b-module__VxV-Ta__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7d65b77b-module__VxV-Ta__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--om-n-0:#fff;--om-n-25:#fafbfc;--om-n-50:#f4f6f8;--om-n-100:#ebedf0;--om-n-200:#dde0e4;--om-n-300:#c7cbd0;--om-n-400:#94999f;--om-n-500:#72787f;--om-n-600:#565b63;--om-n-700:#3b4047;--om-n-800:#252930;--om-n-850:#1a1e25;--om-n-900:#12151b;--om-n-950:#090c11;--om-accent-600:#0057bf;--om-accent-700:#00449f;--om-accent-400:#5ba0fa;--om-accent-100:#e7f1ff;--om-accent-950:#072754;--om-ok-600:#0c7d48;--om-ok-400:#4ebe7d;--om-ok-100:#ddf6e4;--om-warn-600:#9c6400;--om-warn-400:#e6ac3d;--om-warn-100:#fcedcd;--om-danger-600:#ba2b2e;--om-danger-400:#f47b74;--om-danger-100:#ffe8e6;--om-sec-600:#594399;--om-sec-400:#a99be7;--om-sec-100:#eeecff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--om-n-25);--surface:var(--om-n-0);--surface-sunken:var(--om-n-50);--surface-hover:var(--om-n-50);--fg:var(--om-n-900);--fg-muted:var(--om-n-600);--fg-subtle:var(--om-n-500);--fg-inverse:var(--om-n-0);--border:var(--om-n-200);--border-strong:var(--om-n-300);--accent:var(--om-accent-600);--accent-hover:var(--om-accent-700);--accent-soft:var(--om-accent-100);--accent-fg:var(--om-n-0);--ok:var(--om-ok-600);--ok-soft:var(--om-ok-100);--warn:var(--om-warn-600);--warn-soft:var(--om-warn-100);--danger:var(--om-danger-600);--danger-soft:var(--om-danger-100);--security:var(--om-sec-600);--security-soft:var(--om-sec-100);--focus-ring:var(--om-accent-600);--frame-bg:var(--om-n-100);--frame-border:var(--om-n-200);--frame-glow:#005dc91a}@supports (color:lab(0% 0 0)){:root{--om-n-0:lab(100% 0 0);--om-n-25:lab(98.6042% -.166595 -.736165);--om-n-50:lab(96.7463% -.248939 -1.10371);--om-n-100:lab(93.7283% -.330567 -1.47082);--om-n-200:lab(89.0842% -.491589 -2.20375);--om-n-300:lab(81.4239% -.648618 -2.93448);--om-n-400:lab(62.8566% -.870049 -4.02297);--om-n-500:lab(50.091% -1.0024 -4.74092);--om-n-600:lab(38.4805% -.888169 -5.13366);--om-n-700:lab(26.8719% -.690833 -5.15376);--om-n-800:lab(16.4257% -.556231 -5.14616);--om-n-850:lab(11.2% -.432402 -5.14308);--om-n-900:lab(6.64427% -.261173 -4.63006);--om-n-950:lab(3.33125% -.129275 -2.81486);--om-accent-600:lab(37.6832% 13.7482 -65.7621);--om-accent-700:lab(29.6504% 14.0268 -59.5063);--om-accent-400:lab(64.3122% -1.12274 -52.2581);--om-accent-100:lab(94.6873% -1.71423 -11.0343);--om-accent-950:lab(15.6924% 3.94361 -31.2541);--om-ok-600:lab(45.9316% -40.1551 20.7479);--om-ok-400:lab(69.3433% -44.5479 22.9571);--om-ok-100:lab(94.6726% -10.8478 5.55805);--om-warn-600:lab(47.5533% 19.8989 66.7586);--om-warn-400:lab(74.5248% 14.3487 62.5064);--om-warn-100:lab(94.3529% 1.76743 17.5276);--om-danger-600:lab(42.4959% 56.9739 35.4904);--om-danger-400:lab(66.0576% 46.9408 26.6951);--om-danger-100:lab(93.9229% 9.19664 4.96061);--om-sec-600:lab(34.1895% 26.1311 -44.6432);--om-sec-400:lab(67.3549% 17.7517 -37.0541);--om-sec-100:lab(93.9183% 3.81643 -9.73542);--frame-glow:lab(40.1718% 11.5409 -64.0829/.1)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--om-n-950);--surface:var(--om-n-900);--surface-sunken:var(--om-n-950);--surface-hover:var(--om-n-850);--fg:var(--om-n-25);--fg-muted:#acb1b9;--fg-subtle:#888c94;--fg-inverse:var(--om-n-950);--border:#ffffff17;--border-strong:#ffffff29;--accent:var(--om-accent-400);--accent-hover:#86baff;--accent-soft:var(--om-accent-950);--accent-fg:var(--om-n-950);--ok:var(--om-ok-400);--ok-soft:#003219;--warn:var(--om-warn-400);--warn-soft:#3a2400;--danger:var(--om-danger-400);--danger-soft:#491513;--security:var(--om-sec-400);--security-soft:#2a2148;--focus-ring:var(--om-accent-400);--frame-bg:var(--om-n-850);--frame-border:#ffffff1f;--frame-glow:#5ba0fa29}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--fg-muted:lab(72.1261% -.742734 -4.44278);--fg-subtle:lab(58.2055% -.732005 -4.43705);--accent-hover:lab(73.8302% -3.17052 -45.6564);--ok-soft:lab(17.3806% -22.5344 11.6507);--warn-soft:lab(16.364% 10.1709 27.5803);--danger-soft:lab(15.6827% 25.2058 14.8924);--security-soft:lab(15.5081% 12.7848 -23.2486);--frame-glow:lab(64.3122% -1.12274 -52.2581/.16)}}}[data-theme=dark],.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--om-n-950);--surface:var(--om-n-900);--surface-sunken:var(--om-n-950);--surface-hover:var(--om-n-850);--fg:var(--om-n-25);--fg-muted:#acb1b9;--fg-subtle:#888c94;--fg-inverse:var(--om-n-950);--border:#ffffff17;--border-strong:#ffffff29;--accent:var(--om-accent-400);--accent-hover:#86baff;--accent-soft:var(--om-accent-950);--accent-fg:var(--om-n-950);--ok:var(--om-ok-400);--ok-soft:#003219;--warn:var(--om-warn-400);--warn-soft:#3a2400;--danger:var(--om-danger-400);--danger-soft:#491513;--security:var(--om-sec-400);--security-soft:#2a2148;--focus-ring:var(--om-accent-400);--frame-bg:var(--om-n-850);--frame-border:#ffffff1f;--frame-glow:#5ba0fa29}@supports (color:lab(0% 0 0)){[data-theme=dark],.theme-dark{--fg-muted:lab(72.1261% -.742734 -4.44278);--fg-subtle:lab(58.2055% -.732005 -4.43705);--accent-hover:lab(73.8302% -3.17052 -45.6564);--ok-soft:lab(17.3806% -22.5344 11.6507);--warn-soft:lab(16.364% 10.1709 27.5803);--danger-soft:lab(15.6827% 25.2058 14.8924);--security-soft:lab(15.5081% 12.7848 -23.2486);--frame-glow:lab(64.3122% -1.12274 -52.2581/.16)}}:root{--font-display:var(--font-space-grotesk),var(--font-noto-kr),-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;--font-body:var(--font-noto-kr),-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI","Malgun Gothic",sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",monospace;--font-mono-ui:var(--font-mono);--fs-2xs:.6875rem;--fs-xs:.78125rem;--fs-sm:.875rem;--fs-base:clamp(1rem,.97rem + .13vw,1.0625rem);--fs-lg:clamp(1.0625rem,1.01rem + .24vw,1.1875rem);--fs-xl:clamp(1.25rem,1.16rem + .38vw,1.4375rem);--fs-2xl:clamp(1.5rem,1.34rem + .69vw,1.875rem);--fs-3xl:clamp(1.75rem,1.44rem + 1.33vw,2.5rem);--fs-4xl:clamp(2rem,1.5rem + 2.13vw,3.25rem);--fs-display:clamp(2.125rem,1.4rem + 3.09vw,4rem);--lh-tight:1.08;--lh-snug:1.24;--lh-normal:1.5;--lh-relaxed:1.72;--ls-display:-.028em;--ls-heading:-.016em;--ls-body:0;--ls-small:.01em;--ls-label:.02em;--ls-caps:.09em;--fw-read:400;--fw-emph:500;--fw-announce:600;--measure:65ch;--measure-lead:44ch;--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;--gutter:clamp(1.25rem,.9rem + 1.5vw,2.5rem);--section-y:clamp(3.5rem,2rem + 6.4vw,7rem);--section-y-lg:clamp(4.5rem,2.4rem + 9vw,9rem);--container:1200px;--container-prose:720px;--header-h:56px;--header-h-lg:68px;--tap:44px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--shadow-xs:0 1px 2px #12151b0d;--shadow-sm:0 1px 2px #12151b0d,0 2px 6px #12151b0a;--shadow-md:0 2px 4px #12151b0d,0 8px 20px #12151b12;--shadow-lg:0 4px 8px #12151b0f,0 18px 44px #12151b1a;--shadow-inset-top:inset 0 1px 0 #ffffff0f;--dur-instant:90ms;--dur-fast:.15s;--dur-base:.22s;--dur-slow:.36s;--ease-standard:cubic-bezier(.2,0,0,1);--ease-enter:cubic-bezier(.16,1,.3,1);--ease-exit:cubic-bezier(.4,0,1,1)}@supports (color:lab(0% 0 0)){:root{--shadow-xs:0 1px 2px lab(6.64427% -.261173 -4.63006/.05);--shadow-sm:0 1px 2px lab(6.64427% -.261173 -4.63006/.05),0 2px 6px lab(6.64427% -.261173 -4.63006/.04);--shadow-md:0 2px 4px lab(6.64427% -.261173 -4.63006/.05),0 8px 20px lab(6.64427% -.261173 -4.63006/.07);--shadow-lg:0 4px 8px lab(6.64427% -.261173 -4.63006/.06),0 18px 44px lab(6.64427% -.261173 -4.63006/.1)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-6));overflow-x:clip}@media (min-width:768px){html{scroll-padding-top:calc(var(--header-h-lg) + var(--space-8))}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-relaxed);letter-spacing:var(--ls-body);font-weight:var(--fw-read);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;overflow-x:clip}:where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,blockquote,caption,summary,label,th,td,a,button,.kr){word-break:keep-all;overflow-wrap:anywhere}:where(p,li,dd,figcaption,blockquote){text-wrap:pretty}:where(h1,h2,h3){text-wrap:balance}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-announce);line-height:var(--lh-snug);letter-spacing:var(--ls-heading);margin:0}h1{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--ls-display)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin:0}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}img,svg,video{max-width:100%;display:block}img{height:auto}button{font:inherit;color:inherit}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:"liga" 0}.num,.metric__value,table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:root:lang(ko),.locale-shell:lang(ko){--font-mono-ui:var(--font-body)}.label{font-family:var(--font-mono-ui);font-size:var(--fs-2xs);font-weight:var(--fw-emph);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--fg-subtle)}.label:lang(ko){letter-spacing:.045em}.label--code,.label--code:lang(ko){font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);top:var(--space-2);z-index:200;background:var(--accent);color:var(--accent-fg);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);font-weight:var(--fw-emph);transition:transform var(--dur-fast)var(--ease-standard);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.doc-progress__bar{animation-duration:auto!important}}.site-header{z-index:100;height:var(--header-h);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab,var(--bg)82%,transparent)}}.site-header{-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--border)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:var(--bg)}}@media (min-width:768px){.site-header{height:var(--header-h-lg)}}.site-header-inner{width:100%;max-width:var(--container);padding-inline:var(--gutter);align-items:center;gap:var(--space-3);height:100%;margin-inline:auto;display:flex}.brand-link{align-items:center;gap:var(--space-2);color:var(--fg);font-family:var(--font-display);font-weight:var(--fw-announce);letter-spacing:-.02em;min-height:var(--tap);white-space:nowrap;margin-right:auto;font-size:1.0625rem;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px}@media (min-width:768px){.brand-mark{width:28px;height:28px}}.desktop-nav{display:none}@media (min-width:1024px){.desktop-nav{align-items:center;gap:var(--space-1);margin-right:var(--space-2);display:flex}.desktop-nav a{height:36px;padding-inline:var(--space-3);color:var(--fg-muted);font-size:var(--fs-sm);font-weight:var(--fw-emph);border-radius:var(--radius-sm);transition:color var(--dur-fast)var(--ease-standard),background var(--dur-fast)var(--ease-standard);align-items:center;text-decoration:none;display:inline-flex}.desktop-nav a:hover,.desktop-nav a.nav-active{color:var(--fg);background:var(--surface-hover)}}.locale-switch{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full);align-items:center;gap:2px;padding:2px;display:inline-flex}.locale-switch a,.locale-switch span{min-width:44px;height:40px;font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-emph);letter-spacing:var(--ls-caps);color:var(--fg-subtle);border-radius:var(--radius-full);transition:color var(--dur-fast)var(--ease-standard),background var(--dur-fast)var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.locale-switch a:hover{color:var(--fg)}.locale-switch [aria-current=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-xs)}.btn.header-cta{display:none}@media (min-width:1024px){.btn.header-cta{display:inline-flex}}.mobile-menu-button{width:var(--tap);height:var(--tap);margin-right:calc(var(--space-2)*-1);border-radius:var(--radius-sm);color:var(--fg);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.mobile-menu-button svg{width:24px;height:24px}@media (min-width:1024px){.mobile-menu-button{display:none}}.mobile-menu{inset:var(--header-h)0 auto 0;z-index:99;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--space-2)var(--gutter)var(--space-5);max-height:calc(100dvh - var(--header-h));position:fixed;overflow-y:auto}.mobile-menu a{min-height:var(--tap);padding-block:var(--space-2);color:var(--fg);font-size:var(--fs-lg);font-weight:var(--fw-emph);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.mobile-menu a:last-of-type{border-bottom:0}.mobile-menu .btn{margin-top:var(--space-4);width:100%}.mobile-menu .locale-switch{margin-top:var(--space-4)}@media (min-width:1024px){.mobile-menu{display:none!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);font-family:var(--font-display);font-size:var(--fs-base);font-weight:var(--fw-announce);letter-spacing:var(--ls-label);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:background var(--dur-fast)var(--ease-standard),border-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard),transform var(--dur-instant)var(--ease-standard);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-fg)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-hover);color:var(--fg);border-color:var(--fg-subtle)}.btn-sm{min-height:38px;font-size:var(--fs-sm);padding-inline:var(--space-4)}.btn-row{gap:var(--space-3);display:grid}@media (min-width:480px){.btn-row{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section-lg{padding-block:var(--section-y-lg)}.section-head{max-width:46ch;margin-bottom:var(--space-10)}.section-head p{margin-top:var(--space-4);color:var(--fg-muted);font-size:var(--fs-lg);max-width:var(--measure-lead)}.section-head p+p{margin-top:var(--space-3)}.eyebrow{margin-bottom:var(--space-4);display:block}.section-figure,.section-callout,.section-actions{margin-top:var(--space-8)}.reveal{opacity:0;transform:translateY(10px)}.reveal.is-in{opacity:1;transition:opacity var(--dur-slow)var(--ease-enter),transform var(--dur-slow)var(--ease-enter);transition-delay:calc(var(--i,0)*60ms);transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.figure{margin:0}.frame{position:relative}.frame:before{content:"";z-index:-1;background:radial-gradient(60% 60% at 50% 40%,var(--frame-glow),transparent 72%);pointer-events:none;position:absolute;inset:-10% -5% -16%}.frame-window{border:1px solid var(--frame-border);border-radius:var(--radius-lg);background:var(--frame-bg);box-shadow:var(--shadow-md),var(--shadow-inset-top);overflow:hidden}.frame-bar{height:30px;padding-inline:var(--space-3);border-bottom:1px solid var(--frame-border);background:var(--frame-bg);align-items:center;gap:6px;display:flex}@supports (color:color-mix(in lab, red, red)){.frame-bar{background:color-mix(in oklab,var(--frame-bg)70%,var(--surface))}}.frame-bar i{border-radius:var(--radius-full);background:var(--border-strong);width:8px;height:8px}.frame-bar span{margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--fg-subtle);letter-spacing:var(--ls-small)}.frame-window img{background:var(--surface-sunken);width:100%}.figure-crop .frame-window img{aspect-ratio:16/10;object-fit:cover;object-position:left top}.figure figcaption{margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--fg-subtle)}.hero{padding-top:clamp(1.75rem,4vh,3.5rem);padding-bottom:clamp(2rem,3vw,3rem)}.hero h1{margin-bottom:var(--space-5)}.hero-sub{font-size:var(--fs-lg);color:var(--fg-muted);max-width:var(--measure-lead);margin-bottom:var(--space-8)}.hero-media{margin-top:var(--space-10)}.hero-media .frame-window{max-height:46vh}.hero-media .frame-window img{object-fit:cover;object-position:left top}.hero-media figcaption{display:none}@media (min-width:768px){.hero-media .frame-window{max-height:none}.hero-media .frame-window img{object-fit:fill}.hero-media figcaption{display:block}}@media (min-width:1024px){.hero-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(2rem,4vw,4.5rem);display:grid}.hero-media{margin-top:0}}.paths{gap:var(--space-4);display:grid}@media (min-width:768px){.paths{gap:var(--space-6);grid-template-columns:1fr 1fr}}.path{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast)var(--ease-standard),box-shadow var(--dur-fast)var(--ease-standard);flex-direction:column;display:flex}.path:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.path h3{margin-bottom:var(--space-3)}.path-lede{color:var(--fg-muted);margin-bottom:var(--space-5)}.path-facts{margin:0 0 var(--space-6)}.path-facts>div{gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-sm);grid-template-columns:8.5rem minmax(0,1fr);display:grid}.path-facts>div:last-child{border-bottom:1px solid var(--border)}.path-facts dt{color:var(--fg-subtle)}.path-facts dd{font-weight:var(--fw-emph);margin:0}.path .btn-row{margin-top:auto}.path .btn{width:100%}.metrics{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:1fr 1fr;margin:0;display:grid}@media (min-width:768px){.metrics{grid-template-columns:repeat(4,1fr)}}.metric{padding:var(--space-5)var(--space-4);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.metric-value{font-size:var(--fs-3xl);font-weight:var(--fw-announce);letter-spacing:-.03em;color:var(--fg);line-height:1.05;display:block}.metric-label{margin:var(--space-2)0 0;font-size:var(--fs-sm);color:var(--fg-muted);display:block}.dark-half{background:var(--bg);color:var(--fg);border-top:1px solid #ffffff14;box-shadow:inset 0 1px #ffffff0d}.bento{gap:var(--space-4);display:grid}@media (min-width:768px){.bento{gap:var(--space-5);grid-template-columns:repeat(6,1fr)}}.cap{gap:var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset-top);flex-direction:column;min-width:0;display:flex}.cap h3{margin-bottom:var(--space-3)}.cap p{color:var(--fg-muted)}.cap .figure figcaption{display:none}@media (min-width:768px){.cap:first-child{flex-direction:row;grid-column:span 4;align-items:center}.cap:first-child>*{flex:1 1 0;min-width:0}.cap:nth-child(2){grid-column:span 2}.cap:nth-child(3),.cap:nth-child(4){grid-column:span 3}.cap:nth-child(5){flex-direction:row;grid-column:span 6;align-items:center}.cap:nth-child(5)>*{flex:1 1 0;min-width:0}.cap:nth-child(2) .frame-window img,.cap:nth-child(3) .frame-window img,.cap:nth-child(4) .frame-window img{aspect-ratio:4/3}}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:8px;bottom:8px;left:4px}.tl{padding:0 0 var(--space-8)var(--space-8);position:relative}.tl:last-child{padding-bottom:0}.tl:before{content:"";border-radius:var(--radius-full);background:var(--bg);border:1px solid var(--border-strong);width:9px;height:9px;position:absolute;top:7px;left:0}.tl:last-child:before{background:var(--accent);border-color:var(--accent)}.tl time{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent);letter-spacing:var(--ls-small);margin-bottom:var(--space-2);display:block}.tl h3{font-size:var(--fs-lg);margin-bottom:var(--space-2)}.tl p{color:var(--fg-muted);font-size:var(--fs-sm);max-width:52ch}@media (min-width:768px){.timeline{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.timeline:before{width:auto;height:1px;inset:4px 0 auto}.tl{padding:var(--space-8)var(--space-4)0 0}.tl:before{top:0}}.fact-list{margin:var(--space-8)0 0;max-width:var(--measure);padding:0;list-style:none}.fact-list li{padding:var(--space-2)0 var(--space-2)var(--space-6);color:var(--fg-muted);position:relative}.fact-list li:before{content:"";background:var(--border-strong);width:6px;height:1px;position:absolute;top:1.35em;left:4px}.section-cta{text-align:center}.section-cta .section-head{max-width:30ch;margin-inline:auto}.section-cta .section-head p{margin-inline:auto}.section-cta .btn-row{justify-content:center}@media (max-width:479px){.section-cta .btn-row{justify-items:stretch}}.site-footer{border-top:1px solid var(--border);background:var(--surface-sunken);padding-block:var(--space-10)var(--space-6)}.site-footer-dark{background:var(--bg);color:var(--fg);border-top:0}.site-footer-grid{gap:var(--space-6)var(--space-5);width:100%;max-width:var(--container);padding-inline:var(--gutter);grid-template-columns:1fr 1fr;margin-inline:auto;display:grid}.footer-intro{grid-column:1/-1}@media (min-width:768px){.site-footer-grid{gap:var(--space-6);grid-template-columns:1.4fr repeat(3,1fr)}.footer-intro{grid-column:auto}}.footer-tagline{max-width:30ch;margin-top:var(--space-3);color:var(--fg-muted);font-size:var(--fs-sm)}.footer-heading{font-size:var(--fs-sm);font-family:var(--font-body);font-weight:var(--fw-emph);color:var(--fg);margin-bottom:var(--space-2);letter-spacing:0}.footer-links{margin:0;padding:0;list-style:none}.footer-links li a{min-height:40px;color:var(--fg-muted);font-size:var(--fs-sm);align-items:center;text-decoration:none;display:flex}.footer-links li a:hover{color:var(--fg);text-decoration:underline}@media (min-width:768px){.footer-links li a{min-height:var(--tap)}}.footer-bottom{gap:var(--space-2)var(--space-6);width:100%;max-width:var(--container);padding:var(--space-5)var(--gutter)0;margin-inline:auto;margin-top:var(--space-8);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--fg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.footer-version{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-small)}@media (min-width:768px){.footer-bottom{padding-right:calc(var(--gutter) + var(--tap) + var(--space-4))}}@media (max-width:767px){.site-footer{padding-bottom:calc(var(--space-10) + env(safe-area-inset-bottom))}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-group-legal{grid-column:1/-1}.footer-group-legal .footer-links{column-gap:var(--space-5);flex-wrap:wrap;display:flex}}.doc-progress{left:0;right:0;top:var(--header-h);z-index:101;background:var(--border);height:2px;position:fixed}@supports (color:color-mix(in lab, red, red)){.doc-progress{background:color-mix(in oklab,var(--border)60%,transparent)}}@media (min-width:768px){.doc-progress{top:var(--header-h-lg)}}.doc-progress-bar{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}@supports (animation-timeline:scroll()){@keyframes doc-read{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.doc-progress-bar{animation:linear both doc-read;animation-timeline:scroll(root)}}@supports not (animation-timeline:scroll()){.doc-progress{display:none}}.docbar{top:calc(var(--header-h) + 2px);z-index:90;background:var(--bg);align-items:center;height:50px;display:flex;position:sticky}@supports (color:color-mix(in lab, red, red)){.docbar{background:color-mix(in oklab,var(--bg)92%,transparent)}}.docbar{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.docbar-inner{align-items:center;gap:var(--space-3);width:100%;max-width:var(--container);padding-inline:var(--gutter);height:100%;margin-inline:auto;display:flex}.docbar-now{min-width:0;font-size:var(--fs-sm);color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.docbar-now b{color:var(--fg);font-weight:var(--fw-emph)}.toc-btn{align-items:center;gap:var(--space-2);height:38px;padding-inline:var(--space-3);background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-emph);cursor:pointer;display:inline-flex}@media (min-width:1024px){.docbar{display:none}}.doc-shell{padding-bottom:var(--space-24)}@media (min-width:1024px){.doc-layout{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,4.5rem);display:grid}}.doc-head{padding-top:var(--space-10);padding-bottom:var(--space-8)}.doc-head h1{font-size:var(--fs-4xl);margin-bottom:var(--space-5)}.doc-lede{font-size:var(--fs-lg);color:var(--fg-muted);max-width:var(--measure)}.doc-actions{margin-top:var(--space-8)}.rail{display:none}@media (min-width:1024px){.rail{top:calc(var(--header-h-lg) + var(--space-8));max-height:calc(100vh - var(--header-h-lg) - var(--space-16));padding-block:var(--space-1);display:block;position:sticky;overflow-y:auto}.rail>.label{margin-bottom:var(--space-4);display:block}.rail ol{margin:0;padding:0;list-style:none}.rail a{gap:var(--space-2);padding:var(--space-2)var(--space-3)var(--space-2)var(--space-4);color:var(--fg-muted);font-size:var(--fs-sm);border-left:2px solid var(--border);transition:color var(--dur-fast)var(--ease-standard),border-color var(--dur-fast)var(--ease-standard);grid-template-columns:1.6rem 1fr;line-height:1.4;text-decoration:none;display:grid}.rail a span{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--fg-subtle);padding-top:3px}.rail a:hover{color:var(--fg);border-left-color:var(--border-strong)}.rail a[aria-current=true]{color:var(--fg);border-left-color:var(--accent);font-weight:var(--fw-emph)}.rail a[aria-current=true] span{color:var(--accent)}}.sheet-backdrop{z-index:150;background:#080b1070;background:lab(3.01788% -.115864 -2.64501/.44);position:fixed;inset:0}.sheet{z-index:151;background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius-xl)var(--radius-xl)0 0;max-height:76vh;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);animation:sheet-in var(--dur-slow)var(--ease-enter)both;flex-direction:column;display:flex;position:fixed;inset:auto 0 0}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4)var(--gutter);border-bottom:1px solid var(--border);display:flex}.sheet-head h2{font-size:var(--fs-lg)}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);color:var(--fg);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.sheet-body{-webkit-overflow-scrolling:touch;padding:var(--space-2)var(--gutter)var(--space-6);overflow-y:auto}.sheet-body ol{margin:0;padding:0;list-style:none}.sheet-body button{align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap);padding-block:var(--space-2);border:0;border-bottom:1px solid var(--border);color:var(--fg);text-align:left;font-size:var(--fs-base);cursor:pointer;background:0 0;grid-template-columns:2rem 1fr;display:grid}.sheet-body li:last-child button{border-bottom:0}.sheet-body button span{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-subtle)}.sheet-body button.is-active{color:var(--accent);font-weight:var(--fw-emph)}.sheet-body button.is-active span{color:var(--accent)}@media (min-width:1024px){.sheet,.sheet-backdrop{display:none!important}}.prose{max-width:var(--measure)}.prose p{color:var(--fg-muted)}.prose>*+*{margin-top:var(--space-5)}.doc-section{scroll-margin-top:calc(var(--header-h) + 56px)}@media (min-width:1024px){.doc-section{scroll-margin-top:calc(var(--header-h-lg) + var(--space-6))}}.doc-section+.doc-section{margin-top:var(--space-16)}.doc-section h2{font-size:var(--fs-2xl);padding-top:var(--space-6);border-top:1px solid var(--border);gap:var(--space-4);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.doc-section h2 .doc-section-index{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:var(--ls-small)}.doc-section .eyebrow{margin:var(--space-4)0 0}.doc-body>*+*{margin-top:var(--space-5)}.doc-body strong{color:var(--fg);font-weight:var(--fw-emph)}.doc-body ul{margin:0;padding:0;list-style:none}.doc-body ul li{padding:var(--space-2)0 var(--space-2)var(--space-6);color:var(--fg-muted);position:relative}.doc-body ul li:before{content:"";background:var(--border-strong);width:6px;height:1px;position:absolute;top:1.35em;left:4px}.doc-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.doc-card{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.doc-card .figure{margin-bottom:var(--space-4)}.doc-card h3{font-size:var(--fs-lg);font-weight:var(--fw-announce);color:var(--fg);text-wrap:balance}.doc-card p{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--fg-muted)}.doc-milestones{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.doc-milestones li{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);grid-template-columns:minmax(3.5rem,auto) 1fr;display:grid}.doc-milestones span{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-emph);color:var(--accent);font-variant-numeric:tabular-nums}.doc-milestones h3{font-size:var(--fs-base);font-weight:var(--fw-announce);color:var(--fg)}.doc-milestones p{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--fg-muted)}.code-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);overflow:hidden}.code-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-2)var(--space-2)var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.code-bar .label{color:var(--fg-subtle)}.code-block pre{padding:var(--space-4);-webkit-overflow-scrolling:touch;font-size:var(--fs-xs);color:var(--fg);tab-size:2;margin:0;line-height:1.75;overflow-x:auto}.code-block pre code{white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:0;padding:0}.copy-button{align-items:center;gap:var(--space-2);min-height:36px;padding-inline:var(--space-3);color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-emph);cursor:pointer;transition:color var(--dur-fast)var(--ease-standard),border-color var(--dur-fast)var(--ease-standard);background:0 0;display:inline-flex}.copy-button:hover{color:var(--fg);border-color:var(--border-strong)}.copy-button[data-copied=true]{color:var(--ok);border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.copy-button[data-copied=true]{border-color:color-mix(in oklab,var(--ok)45%,transparent)}}.callout{padding:var(--space-4)var(--space-5);border:1px solid var(--border);border-left:3px solid var(--tone,var(--border-strong));border-radius:var(--radius-sm);background:var(--tone-bg,var(--surface-sunken))}.callout-title{font-size:var(--fs-sm);font-weight:var(--fw-announce);color:var(--fg)}.callout-body{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--fg-muted)}.callout-info{--tone:var(--accent);--tone-bg:var(--accent-soft)}.callout-tip{--tone:var(--ok);--tone-bg:var(--ok-soft)}.callout-warning{--tone:var(--warn);--tone-bg:var(--warn-soft)}.callout-security{--tone:var(--security);--tone-bg:var(--security-soft)}.figure-grid{gap:var(--space-6);display:grid}@media (min-width:768px){.figure-grid-multi{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}.next-section{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-4)var(--space-5);min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);transition:border-color var(--dur-fast)var(--ease-standard),background var(--dur-fast)var(--ease-standard);text-decoration:none;display:flex}.next-section:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--fg)}.next-section small{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-subtle);margin-bottom:2px;display:block}.next-section strong{font-weight:var(--fw-emph);font-size:var(--fs-base)}.next-section svg{width:20px;height:20px;color:var(--fg-subtle);flex:none}.to-top{z-index:95;right:var(--gutter);bottom:calc(var(--space-5) + env(safe-area-inset-bottom));width:var(--tap);height:var(--tap);background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-base)var(--ease-standard),transform var(--dur-base)var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:fixed;transform:translateY(8px)scale(.94)}.to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.to-top svg{width:20px;height:20px}.gateway-shell{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100% - 2rem,42rem);box-shadow:var(--shadow-md);margin:14vh auto;padding:clamp(1.5rem,6vw,3rem)}.gateway-kicker{margin-bottom:var(--space-3)}.gateway-shell>p:not(.gateway-kicker){max-width:var(--measure);margin-top:var(--space-4);color:var(--fg-muted)}.gateway-links{gap:var(--space-3);margin-top:var(--space-8);display:grid}@media (min-width:480px){.gateway-links{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start}}.gateway-links a{min-width:8rem;min-height:48px;padding-inline:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);font-weight:var(--fw-announce);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.gateway-links a:hover{background:var(--surface-hover)}
