@font-face{font-family: 'Plus Jakarta Sans';src: url('/assets/fonts/plus-jakarta-sans-latin.woff2') format('woff2');font-weight: 400 800;font-style: normal;font-display: swap}@font-face{font-family: 'Jakarta Fallback';src: local('Arial'), local('Helvetica Neue'), local('Helvetica');size-adjust: 103%;ascent-override: 100.8%;descent-override: 21.6%;line-gap-override: 0%}:root{--navy-950: #030d1c;--navy-900: #041225;--navy-800: #071a33;--navy-700: #0b2b52;--navy-600: #143a6b;--blue-700: #1d4ed8;--blue-600: #2563eb;--blue-500: #3b82f6;--blue-300: #93c5fd;--blue-100: #dbe8ff;--blue-50: #e8f1ff;--white: #ffffff;--bg: #f5f8fc;--text: #132238;--muted: #607089;--border: #dce5f0;--border-strong: #c5d3e6;--on-dark: #ffffff;--on-dark-muted: #a9b8cf;--success: #047857;--warn: #b45309;--danger: #b42318;--font: 'Plus Jakarta Sans', 'Jakarta Fallback', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;--mono: ui-monospace, 'Cascadia Code', 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(7, 26, 51, 0.06);--shadow: 0 1px 2px rgba(7, 26, 51, 0.05), 0 8px 24px -10px rgba(7, 26, 51, 0.16);--shadow-lg: 0 2px 6px rgba(7, 26, 51, 0.06), 0 24px 60px -20px rgba(7, 26, 51, 0.32);--focus: var(--blue-600);--container: 1200px;--gutter: clamp(16px, 4vw, 32px);--header-h: 68px;--section-y: clamp(64px, 9vw, 112px)}*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: calc(var(--header-h) + 20px)}body{margin: 0;font-family: var(--font);font-size: 1rem;line-height: 1.65;color: var(--text);background: var(--bg);text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased;overflow-x: hidden}img, svg, video{display: block;max-width: 100%}img{height: auto}.icon{display: inline-block;flex: none;vertical-align: middle}h1, h2, h3, h4{margin: 0;line-height: 1.2;letter-spacing: -0.02em;color: inherit;font-weight: 750;text-wrap: balance}p{margin: 0 0 1em}a{color: var(--blue-700);text-underline-offset: 3px;text-decoration-thickness: 1px}a:hover{color: var(--navy-700)}ul, ol{padding-left: 1.25em}code, kbd, pre{font-family: var(--mono)}button{font: inherit;color: inherit}:focus-visible{outline: 3px solid var(--focus);outline-offset: 3px;border-radius: 4px}main:focus{outline: none}::selection{background: var(--blue-100);color: var(--navy-900)}hr{border: 0;border-top: 1px solid var(--border);margin: 2.5rem 0}table{font-variant-numeric: tabular-nums}[hidden]{display: none !important}.container{width: 100%;max-width: calc(var(--container) + var(--gutter) * 2);margin-inline: auto;padding-inline: var(--gutter)}.section{padding-block: var(--section-y)}.section--white{background: var(--white)}.section--tint{background: linear-gradient(180deg, var(--bg), #eef4fb)}.section--dark{background: var(--navy-800);color: var(--on-dark);--focus: var(--blue-300)}.section__head{max-width: 760px;margin-bottom: clamp(32px, 5vw, 56px)}.section__head--center{margin-inline: auto;text-align: center}.section__title{font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem);margin-bottom: 0.5em}.section__intro{font-size: 1.125rem;color: var(--muted);margin: 0}.section--dark .section__intro{color: var(--on-dark-muted)}.section__foot{margin-top: clamp(28px, 4vw, 44px);display: flex;flex-wrap: wrap;gap: 12px;align-items: center}.section__foot--center{justify-content: center}.eyebrow{display: inline-flex;align-items: center;gap: 8px;font-size: 0.8125rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--blue-700);margin: 0 0 14px}.eyebrow::before{content: '';width: 18px;height: 2px;border-radius: 2px;background: currentColor}.eyebrow--light{color: var(--blue-300)}.eyebrow--pill{padding: 6px 12px 6px 10px;border-radius: 999px;background: rgba(59, 130, 246, 0.14);border: 1px solid rgba(147, 197, 253, 0.28);color: #c7dcff;letter-spacing: 0.06em}.eyebrow--pill::before{width: 7px;height: 7px;border-radius: 50%;background: #60a5fa;box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.2)}.sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip-link{position: absolute;left: 12px;top: -60px;z-index: 100;padding: 10px 16px;background: var(--white);color: var(--navy-800);font-weight: 700;border-radius: var(--radius-sm);box-shadow: var(--shadow)}.skip-link:focus{top: 12px}.muted{color: var(--muted)}.link-arrow{display: inline-flex;align-items: center;gap: 6px;font-weight: 700;text-decoration: none}.link-arrow .icon{transition: transform 0.2s ease}.link-arrow:hover .icon{transform: translateX(3px)}.section--dark .link-arrow{color: var(--blue-300)}.grid{display: grid;gap: clamp(16px, 2.2vw, 24px)}.grid--2{grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr))}.grid--3{grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr))}.grid--4{grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr))}.btn{--btn-h: 48px;display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: var(--btn-h);padding: 0 22px;border-radius: 10px;border: 1px solid transparent;font-weight: 700;font-size: 0.975rem;line-height: 1.2;text-decoration: none;white-space: nowrap;cursor: pointer;transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease}.btn:active{transform: translateY(1px)}.btn--sm{--btn-h: 40px;padding: 0 16px;font-size: 0.9rem;border-radius: 9px}.btn--lg{--btn-h: 56px;padding: 0 28px;font-size: 1.05rem;border-radius: 12px}.btn--block{width: 100%}.btn--primary{background: var(--blue-600);color: var(--white);box-shadow: 0 8px 20px -10px rgba(37, 99, 235, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.14)}.btn--primary:hover{background: var(--blue-700);color: var(--white)}.btn--secondary{background: var(--white);color: var(--navy-800);border-color: var(--navy-700)}.btn--secondary:hover{background: var(--blue-50);color: var(--navy-900)}.btn--light{background: var(--white);color: var(--navy-800)}.btn--light:hover{background: var(--blue-50);color: var(--navy-900)}.btn--outline-light{background: rgba(255, 255, 255, 0.04);color: var(--white);border-color: rgba(255, 255, 255, 0.3)}.btn--outline-light:hover{background: rgba(255, 255, 255, 0.1);border-color: rgba(255, 255, 255, 0.55);color: var(--white)}.btn--ghost{background: transparent;color: var(--blue-700);padding-inline: 8px}.btn--ghost:hover{color: var(--navy-800)}.btn span{overflow: hidden;text-overflow: ellipsis}.icon-btn{display: inline-grid;place-items: center;width: 42px;height: 42px;padding: 0;border-radius: 10px;border: 1px solid rgba(255, 255, 255, 0.14);background: rgba(255, 255, 255, 0.04);color: var(--on-dark);cursor: pointer;transition: background-color 0.18s ease, border-color 0.18s ease}.icon-btn:hover{background: rgba(255, 255, 255, 0.1);border-color: rgba(255, 255, 255, 0.3)}.site-header{position: sticky;top: 0;z-index: 50;background: rgba(4, 18, 37, 0.94);color: var(--on-dark);border-bottom: 1px solid rgba(255, 255, 255, 0.07);--focus: var(--blue-300);transition: box-shadow 0.2s ease, background-color 0.2s ease}@supports (backdrop-filter: blur(1px)){.site-header{background: rgba(4, 18, 37, 0.82);backdrop-filter: saturate(1.4) blur(14px);-webkit-backdrop-filter: saturate(1.4) blur(14px)}}.site-header.is-scrolled{box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.55);background: rgba(4, 18, 37, 0.95)}.site-header__inner{display: flex;align-items: center;gap: 20px;min-height: var(--header-h)}.brand{display: inline-flex;align-items: center;gap: 11px;color: var(--on-dark);text-decoration: none;flex: none}.brand:hover{color: var(--on-dark)}.brand__mark{border-radius: 10px;box-shadow: 0 6px 18px -6px rgba(37, 99, 235, 0.7)}.brand__text{display: flex;align-items: baseline;gap: 7px}.brand__name{font-weight: 800;font-size: 1.08rem;letter-spacing: -0.02em}.brand__tag{font-size: 0.66rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: #b9d0f5;padding: 3px 7px 2px;border: 1px solid rgba(147, 197, 253, 0.35);border-radius: 6px;transform: translateY(-2px)}.site-nav{margin-left: auto;display: none}.site-nav ul{display: flex;align-items: center;gap: 2px;list-style: none;margin: 0;padding: 0}.site-nav a{position: relative;display: block;padding: 8px 10px;border-radius: 8px;color: #c4d2e6;font-size: 0.9rem;font-weight: 600;text-decoration: none;white-space: nowrap;transition: color 0.15s ease, background-color 0.15s ease}.site-nav a:hover{color: var(--white);background: rgba(255, 255, 255, 0.06)}.site-nav a[aria-current='page']{color: var(--white)}.site-nav a[aria-current='page']::after{content: '';position: absolute;left: 10px;right: 10px;bottom: -13px;height: 2px;border-radius: 2px;background: var(--blue-500)}.site-header__actions{display: flex;align-items: center;gap: 8px;margin-left: auto}.site-nav + .site-header__actions{margin-left: 8px}.mobile-nav{position: static}.mobile-nav > summary{list-style: none}.mobile-nav > summary::-webkit-details-marker{display: none}.mobile-nav__close{display: none}.mobile-nav[open] .mobile-nav__open{display: none}.mobile-nav[open] .mobile-nav__close{display: block}.mobile-nav__panel{position: absolute;left: 0;right: 0;top: 100%;background: var(--navy-900);border-bottom: 1px solid rgba(255, 255, 255, 0.08);padding: 12px var(--gutter) 24px;box-shadow: 0 30px 50px -20px rgba(0, 0, 0, 0.6);max-height: calc(100vh - var(--header-h));overflow-y: auto}.mobile-nav__panel ul{list-style: none;margin: 0 0 16px;padding: 0;display: grid}.mobile-nav__panel a{display: block;padding: 13px 4px;color: #d7e2f2;font-weight: 600;text-decoration: none;border-bottom: 1px solid rgba(255, 255, 255, 0.07)}.mobile-nav__panel a[aria-current='page']{color: var(--white);box-shadow: inset 3px 0 0 var(--blue-500);padding-left: 14px}@media (max-width: 479px){.site-header__cta span{display: none}.site-header__cta{padding: 0 11px}.site-header .brand__tag{display: none}}@media (max-width: 399px){.site-header__actions > [data-search-open]{display: none !important}.site-header__inner{gap: 12px}.site-header__actions{gap: 6px}}@media (min-width: 1120px){.site-nav{display: block}.mobile-nav{display: none}.site-header__actions{margin-left: 0}}@media (min-width: 1120px) and (max-width: 1239px){.site-nav a{padding-inline: 7px;font-size: 0.86rem}.site-header .brand__tag{display: none}}.read-progress{position: fixed;inset: 0 0 auto 0;height: 3px;z-index: 60;pointer-events: none}.read-progress span{display: block;height: 100%;background: linear-gradient(90deg, var(--blue-500), #60a5fa);transform-origin: 0 50%;transform: scaleX(0)}.site-footer{background: var(--navy-900);color: var(--on-dark-muted);padding: 72px 0 36px;font-size: 0.94rem;--focus: var(--blue-300)}.site-footer a{color: #d2ddee;text-decoration: none}.site-footer a:hover{color: var(--white);text-decoration: underline}.site-footer__grid{display: grid;gap: 36px;grid-template-columns: 1fr}@media (min-width: 640px){.site-footer__grid{grid-template-columns: repeat(3, 1fr)}.site-footer__brand{grid-column: 1 / -1}}@media (min-width: 1024px){.site-footer__grid{grid-template-columns: 1.6fr repeat(3, 1fr)}.site-footer__brand{grid-column: auto}}.site-footer__brand p{max-width: 38ch;margin-top: 16px}.brand--footer .brand__name{font-size: 1.05rem}.site-footer__version{display: inline-flex;align-items: center;gap: 8px;font-size: 0.85rem;padding: 6px 12px;border-radius: 999px;border: 1px solid rgba(255, 255, 255, 0.1);background: rgba(255, 255, 255, 0.03)}.site-footer__title{color: var(--white);font-weight: 700;margin: 0 0 14px;font-size: 0.95rem}.site-footer__col ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.site-footer__legal{margin-top: 48px;padding-top: 28px;border-top: 1px solid rgba(255, 255, 255, 0.08);font-size: 0.85rem;display: grid;gap: 6px}.site-footer__legal p{margin: 0;max-width: 90ch}.site-footer__legal strong{color: #d2ddee}.site-footer__legal a{text-decoration: underline}.page-hero{position: relative;overflow: hidden;color: var(--on-dark);--focus: var(--blue-300);background: radial-gradient(900px 380px at 85% -10%, rgba(37, 99, 235, 0.35), transparent 65%), radial-gradient(600px 300px at -5% 110%, rgba(37, 99, 235, 0.14), transparent 70%), linear-gradient(180deg, var(--navy-900), var(--navy-800));padding-block: clamp(36px, 6vw, 64px) clamp(44px, 7vw, 76px)}.page-hero::before, .hero::before{content: '';position: absolute;inset: 0;pointer-events: none;background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);background-size: 44px 44px;-webkit-mask-image: radial-gradient(ellipse 70% 80% at 70% 20%, #000 20%, transparent 75%);mask-image: radial-gradient(ellipse 70% 80% at 70% 20%, #000 20%, transparent 75%)}.page-hero__inner{position: relative;max-width: calc(880px + var(--gutter) * 2);margin-left: 0;margin-inline: auto}@media (min-width: 1024px){.page-hero__inner{max-width: calc(var(--container) + var(--gutter) * 2)}.page-hero__inner > *{max-width: 860px}}.page-hero__title{font-size: clamp(2rem, 1.35rem + 2.6vw, 3.1rem);letter-spacing: -0.03em;margin-bottom: 18px}.page-hero__lead{font-size: clamp(1.05rem, 1rem + 0.35vw, 1.22rem);color: #c9d6ea;max-width: 70ch;margin: 0}.page-meta{list-style: none;padding: 0;margin: 26px 0 0;display: flex;flex-wrap: wrap;gap: 10px 22px;font-size: 0.875rem;color: var(--on-dark-muted)}.page-meta li{display: inline-flex;align-items: center;gap: 7px}.page-meta .icon{color: var(--blue-300)}.breadcrumbs{font-size: 0.875rem;margin-bottom: 22px}.breadcrumbs ol{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;align-items: center;gap: 4px 8px}.breadcrumbs li{display: inline-flex;align-items: center;gap: 8px}.breadcrumbs a{color: var(--muted);text-decoration: none}.breadcrumbs a:hover{text-decoration: underline;color: var(--navy-800)}.breadcrumbs [aria-current]{color: var(--text);font-weight: 600}.breadcrumbs__sep{color: var(--border-strong)}.breadcrumbs--light a{color: var(--on-dark-muted)}.breadcrumbs--light a:hover{color: var(--white)}.breadcrumbs--light [aria-current]{color: #e3ebf7}.breadcrumbs--light .breadcrumbs__sep{color: #4a6286}.doc{display: grid;grid-template-columns: minmax(0, 1fr);gap: 32px;padding-block: clamp(36px, 5vw, 64px) clamp(56px, 7vw, 88px)}@media (min-width: 1024px){.doc{grid-template-columns: minmax(0, 1fr) 260px;gap: 56px;align-items: start}.doc__aside{grid-column: 2;grid-row: 1;position: sticky;top: calc(var(--header-h) + 28px);max-height: calc(100vh - var(--header-h) - 56px);overflow-y: auto}.doc__content{grid-column: 1;grid-row: 1}.doc--single{grid-template-columns: minmax(0, 820px);justify-content: center}}.doc__content{min-width: 0}.toc{background: var(--white);border: 1px solid var(--border);border-radius: var(--radius);padding: 18px 18px 14px;font-size: 0.9rem}.toc__title{display: flex;align-items: center;gap: 8px;margin: 0 0 10px;font-weight: 700;color: var(--navy-800);font-size: 0.8rem;letter-spacing: 0.06em;text-transform: uppercase}.toc ol{list-style: none;margin: 0;padding: 0;display: grid;gap: 2px;counter-reset: toc}.toc a{display: block;padding: 6px 10px;border-radius: 7px;color: var(--muted);text-decoration: none;line-height: 1.4;border-left: 2px solid transparent}.toc a:hover{color: var(--navy-800);background: var(--bg)}.toc a.is-active{color: var(--blue-700);background: var(--blue-50);border-left-color: var(--blue-600);font-weight: 600}@media (max-width: 1023px){.toc ol{grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr))}}.prose{font-size: 1.0625rem;line-height: 1.75;max-width: 800px}.prose > :first-child{margin-top: 0}.prose h2{font-size: clamp(1.5rem, 1.25rem + 0.9vw, 1.95rem);margin: 2.4em 0 0.65em;padding-top: 0.2em}.prose h3{font-size: 1.25rem;margin: 1.9em 0 0.55em;letter-spacing: -0.015em}.prose h4{font-size: 1.05rem;margin: 1.6em 0 0.5em}.prose p, .prose ul, .prose ol, .prose dl{margin: 0 0 1.15em}.prose li{margin-bottom: 0.45em}.prose li::marker{color: var(--blue-600)}.prose ol > li::marker{font-weight: 700}.prose strong{color: var(--navy-800);font-weight: 700}.prose code{font-size: 0.86em;padding: 0.12em 0.4em;border-radius: 6px;background: #edf2f9;border: 1px solid var(--border);color: var(--navy-700);overflow-wrap: anywhere}.prose a code{color: inherit}.prose kbd, kbd{font-size: 0.82em;padding: 0.1em 0.45em;border-radius: 6px;border: 1px solid var(--border-strong);border-bottom-width: 2px;background: var(--white);color: var(--navy-800);font-weight: 600;white-space: nowrap}.prose blockquote{margin: 1.5em 0;padding: 0.4em 0 0.4em 1.2em;border-left: 3px solid var(--blue-600);color: var(--muted)}.prose figure{margin: 2em 0}.prose figcaption{font-size: 0.875rem;color: var(--muted);margin-top: 12px;text-align: center}.prose dl.defs dt{font-weight: 700;color: var(--navy-800);margin-top: 1em}.prose dl.defs dd{margin: 0.2em 0 0}.lede{font-size: 1.2rem;line-height: 1.65;color: #33445e}.in-short{background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 22px 24px 8px;margin: 0 0 2em;box-shadow: var(--shadow-sm);position: relative;overflow: hidden}.in-short::before{content: '';position: absolute;inset: 0 auto 0 0;width: 4px;background: linear-gradient(180deg, var(--blue-500), var(--blue-700))}.in-short__title{display: flex;align-items: center;gap: 8px;margin: 0 0 10px !important;font-weight: 800;color: var(--navy-800);font-size: 0.82rem;text-transform: uppercase;letter-spacing: 0.08em}.in-short__title .icon{color: var(--blue-600)}.in-short ul{padding-left: 1.1em}.callout{display: flex;gap: 14px;padding: 16px 18px;margin: 1.6em 0;border-radius: var(--radius);border: 1px solid;font-size: 0.98rem;line-height: 1.65}.callout__icon{flex: none;margin-top: 2px}.callout__title{font-weight: 700;margin: 0 0 4px !important;color: var(--navy-900)}.callout__body > :last-child{margin-bottom: 0}.callout__body p{margin: 0 0 0.6em}.callout--note{background: var(--blue-50);border-color: #c7dbfb}.callout--note .callout__icon{color: var(--blue-600)}.callout--tip{background: #ecfdf5;border-color: #b7ebd4}.callout--tip .callout__icon, .callout--success .callout__icon{color: var(--success)}.callout--success{background: #ecfdf5;border-color: #b7ebd4}.callout--warn{background: #fff8eb;border-color: #f5d9a8}.callout--warn .callout__icon{color: var(--warn)}.callout--danger{background: #fef3f2;border-color: #f7c9c4}.callout--danger .callout__icon{color: var(--danger)}.steps{list-style: none;padding: 0;margin: 1.6em 0 2em;counter-reset: step}.steps__item{position: relative;padding: 0 0 26px 58px;margin: 0;counter-increment: step}.steps__item::before{content: counter(step);position: absolute;left: 0;top: -2px;width: 38px;height: 38px;border-radius: 50%;display: grid;place-items: center;background: var(--navy-800);color: var(--white);font-weight: 800;font-size: 0.95rem;box-shadow: 0 0 0 5px var(--blue-50)}.steps__item::after{content: '';position: absolute;left: 18px;top: 44px;bottom: 4px;width: 2px;background: linear-gradient(180deg, var(--border-strong), var(--border));border-radius: 2px}.steps__item:last-child{padding-bottom: 0}.steps__item:last-child::after{display: none}.prose .steps__title, .steps__title{font-size: 1.12rem;margin: 4px 0 8px;letter-spacing: -0.01em}.steps__body > :last-child{margin-bottom: 0}.steps__body p{margin-bottom: 0.7em}.code{margin: 1.4em 0;border-radius: var(--radius);overflow: hidden;background: var(--navy-800);border: 1px solid var(--navy-700);box-shadow: var(--shadow-sm)}.code__bar{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 6px 8px 6px 16px;background: var(--navy-900);color: var(--on-dark-muted);font-size: 0.78rem;font-weight: 600;letter-spacing: 0.04em;border-bottom: 1px solid rgba(255, 255, 255, 0.06);min-height: 40px}.code pre{margin: 0;padding: 16px 18px;overflow-x: auto;color: #e4ecf7;font-size: 0.9rem;line-height: 1.65}.prose .code code{background: none;border: 0;padding: 0;color: inherit;font-size: inherit;overflow-wrap: normal}.copy-btn{display: inline-flex;align-items: center;gap: 6px;padding: 6px 10px;border-radius: 7px;border: 1px solid rgba(255, 255, 255, 0.14);background: rgba(255, 255, 255, 0.05);color: #d7e2f2;font-size: 0.78rem;font-weight: 600;cursor: pointer;--focus: var(--blue-300)}.copy-btn:hover{background: rgba(255, 255, 255, 0.12)}.copy-btn.is-copied{color: #86efac;border-color: rgba(134, 239, 172, 0.4)}.copy-btn--icon{padding: 7px;border-color: var(--border);background: var(--white);color: var(--muted);--focus: var(--blue-600)}.copy-btn--icon:hover{background: var(--blue-50);color: var(--navy-800)}.copy-btn--icon.is-copied{color: var(--success);border-color: #b7ebd4}.hash{display: flex;align-items: center;gap: 10px;margin-top: 14px;padding: 8px 8px 8px 12px;border-radius: 10px;background: var(--bg);border: 1px dashed var(--border-strong);min-width: 0}.hash__label{flex: none;font-size: 0.7rem;font-weight: 800;letter-spacing: 0.08em;color: var(--muted)}.hash__value{flex: 1;min-width: 0;font-size: 0.74rem;color: var(--navy-700);overflow-wrap: anywhere;line-height: 1.45;background: none !important;border: 0 !important;padding: 0 !important}.table-wrap{position: relative;margin: 1.6em 0 2em;overflow-x: auto;border: 1px solid var(--border);border-radius: var(--radius);background: var(--white);box-shadow: var(--shadow-sm)}.table{width: 100%;border-collapse: collapse;font-size: 0.94rem;line-height: 1.55}.table caption{text-align: left;padding: 14px 16px 0;font-weight: 700;color: var(--navy-800);caption-side: top}.table th, .table td{padding: 12px 16px;text-align: left;vertical-align: top;border-bottom: 1px solid var(--border)}.table thead th{background: #f3f7fc;color: var(--navy-800);font-size: 0.8rem;text-transform: uppercase;letter-spacing: 0.05em;font-weight: 750;white-space: nowrap}.table tbody th{font-weight: 700;color: var(--navy-800)}.table tbody tr:last-child > *{border-bottom: 0}.table tbody tr:hover > *{background: #fafcff}.table td code, .table th code{white-space: nowrap}.table .yes{color: var(--success);font-weight: 700}.table .no{color: var(--danger);font-weight: 700}.accordion{background: var(--white);border: 1px solid var(--border);border-radius: var(--radius);margin: 0 0 12px;transition: border-color 0.2s ease, box-shadow 0.2s ease}.accordion[open]{border-color: #bcd0ee;box-shadow: var(--shadow)}.accordion > summary{list-style: none;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 18px 20px;cursor: pointer;font-weight: 700;color: var(--navy-800);line-height: 1.45;border-radius: var(--radius)}.accordion > summary::-webkit-details-marker{display: none}.accordion > summary:hover{color: var(--blue-700)}.accordion__chevron{color: var(--muted);transition: transform 0.2s ease}.accordion[open] .accordion__chevron{transform: rotate(180deg);color: var(--blue-600)}.accordion__panel{padding: 0 20px 20px;color: #2b3b53}.accordion__panel > :last-child{margin-bottom: 0}.accordion__panel p{margin: 0 0 0.8em}.prose .accordion__panel{font-size: 1rem}.accordion-group{margin: 1.4em 0 2em}.accordion-tools{display: flex;justify-content: flex-end;margin: -6px 0 12px}.accordion-tools button{background: none;border: 0;color: var(--blue-700);font-weight: 700;font-size: 0.9rem;cursor: pointer;padding: 6px 4px}.error-summary{display: grid;gap: 6px;min-width: 0}.error-summary__title{font-size: 1.05rem}.error-summary__msg{justify-self: start;font-size: 0.78rem !important;font-weight: 500;color: #8a2c0d !important;background: #fff4ed !important;border: 1px solid #fbd5bf !important;padding: 2px 8px !important;border-radius: 6px;overflow-wrap: anywhere}.error-grid{display: grid;gap: 12px;margin: 0 !important}@media (min-width: 720px){.error-grid{grid-template-columns: 1fr 1fr}.error-grid > div:nth-child(4){grid-column: 1 / -1}}.error-grid > div{background: var(--bg);border: 1px solid var(--border);border-radius: 10px;padding: 12px 14px}.error-grid dt{display: flex;align-items: center;gap: 7px;font-size: 0.74rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.07em;color: var(--muted);margin-bottom: 6px}.error-grid dt .icon{color: var(--blue-600)}.error-grid dd{margin: 0;font-size: 0.96rem;line-height: 1.6}.error-grid dd > :last-child{margin-bottom: 0}.error-grid dd ul, .error-grid dd ol{margin: 0.3em 0 0;padding-left: 1.1em}.error-related{margin: 14px 0 0 !important;font-size: 0.95rem}.flow{margin: 2em 0;padding: clamp(18px, 3vw, 28px);border-radius: var(--radius-lg);background: linear-gradient(180deg, var(--white), #f7faff);border: 1px solid var(--border)}.flow__row{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 12px}.flow__node{display: grid;justify-items: center;text-align: center;gap: 6px;min-width: 132px;flex: 1 1 132px;max-width: 220px;padding: 16px 14px;border-radius: 14px;background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-sm)}.flow__icon{display: grid;place-items: center;width: 44px;height: 44px;border-radius: 12px;background: var(--blue-50);color: var(--blue-700)}.flow__label{font-weight: 750;color: var(--navy-800);line-height: 1.3;font-size: 0.97rem}.flow__sub{font-size: 0.8rem;color: var(--muted);line-height: 1.35;font-family: var(--mono);overflow-wrap: anywhere}.flow__node--patch .flow__icon{background: #eef2ff;color: #4338ca}.flow__node--result{border-color: #b7ebd4}.flow__node--result .flow__icon{background: #ecfdf5;color: var(--success)}.flow__op{font-size: 1.5rem;font-weight: 800;color: var(--blue-600);line-height: 1}.flow figcaption{margin-top: 14px}@media (max-width: 560px){.flow__row{flex-direction: column}.flow__node{width: 100%;max-width: none}.flow__op--arrow{transform: rotate(90deg)}}.appwin-figure{margin: 2em 0}.appwin{position: relative;max-width: 520px;margin-inline: auto;background: #fbfcfe;color: #1f2a3a;border-radius: 14px;border: 1px solid #cfdbeb;box-shadow: var(--shadow-lg);overflow: hidden;font-size: 0.86rem;text-align: left}.appwin__bar{display: flex;align-items: center;gap: 12px;height: 38px;padding: 0 14px;background: linear-gradient(180deg, #eef3f9, #e4ebf4);border-bottom: 1px solid #d3dde9}.appwin__dots{display: flex;gap: 7px}.appwin__dots i{width: 11px;height: 11px;border-radius: 50%;background: #c5d1e0}.appwin__dots i:first-child{background: #f87171}.appwin__dots i:nth-child(2){background: #fbbf24}.appwin__dots i:nth-child(3){background: #34d399}.appwin__title{flex: 1;text-align: center;margin-right: 50px;font-weight: 700;font-size: 0.8rem;color: #455571}.appwin__body{display: grid}.appwin__main{position: relative;min-width: 0;padding: 14px 16px 12px;display: grid;gap: 10px}.appwin__tools{display: flex;align-items: center;gap: 8px;padding: 8px 16px 12px}.appwin__tools > span:not(.appwin__mode){display: grid;place-items: center;width: 30px;height: 30px;border-radius: 7px;background: var(--white);border: 1px solid #d6e0ec;color: #516582;flex: none}.appwin__tools .is-mode{color: var(--blue-600);border-color: #b9cff2;margin-left: auto}.appwin__mode{font-size: 0.66rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--blue-700);background: var(--blue-50);border-radius: 999px;padding: 3px 9px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;min-width: 0}.appwin__field{display: grid;gap: 5px;padding: 8px 10px 10px;border: 1px solid #dbe3ee;border-radius: 8px;background: var(--white)}.appwin__legend{font-size: 0.74rem;font-weight: 700;color: #53647f}.appwin__input{display: flex;align-items: center;gap: 8px}.appwin__value{flex: 1;min-width: 0;min-height: 28px;padding: 6px 9px;border-radius: 6px;border: 1px solid #cfd9e6;background: #fdfdfe;font-family: var(--mono);font-size: 0.74rem;color: #22324a;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.appwin__open{display: grid;place-items: center;width: 30px;height: 28px;border-radius: 6px;border: 1px solid #cfd9e6;background: #f5f8fc;color: #b7791f;flex: none}.appwin__textarea{display: block;min-height: 48px;padding: 6px 9px;border-radius: 6px;border: 1px solid #cfd9e6;background: #fdfdfe;font-size: 0.74rem;color: #3c4d66}.appwin__actions{display: flex;align-items: stretch;gap: 7px}.appwin__primary{flex: 1;display: inline-flex;align-items: center;justify-content: center;height: 34px;padding: 0 18px;border-radius: 7px;background: var(--blue-600);color: var(--white);font-weight: 700;font-size: 0.8rem;box-shadow: 0 6px 14px -8px rgba(37, 99, 235, 0.9)}.appwin__gear{display: grid;place-items: center;width: 34px;border-radius: 7px;border: 1px solid #93b4ea;background: var(--blue-50);color: var(--blue-700)}.appwin__menu{justify-self: end;display: grid;gap: 2px;margin-top: -4px;padding: 6px;border-radius: 9px;background: var(--white);border: 1px solid #d3deeb;box-shadow: 0 12px 30px -12px rgba(7, 26, 51, 0.35);font-size: 0.74rem;max-width: 100%}.appwin__opt{display: flex;align-items: center;gap: 7px;padding: 4px 8px;border-radius: 6px;color: #2a3a52;white-space: nowrap}.appwin__opt em{font-style: normal;margin-left: auto;padding-left: 12px;color: var(--blue-700);font-weight: 700;font-family: var(--mono)}.appwin__tick{display: grid;place-items: center;width: 15px;height: 15px;border-radius: 4px;background: var(--blue-600);color: var(--white);flex: none}.appwin__tick.is-off{background: var(--white);border: 1px solid #b8c6d8}.appwin__progress{display: block;height: 5px;border-radius: 5px;background: #e6edf6;overflow: hidden}.appwin__progress i{display: block;height: 100%;background: linear-gradient(90deg, var(--blue-500), var(--blue-700));transform-origin: 0 50%;transform: scaleX(1)}.appwin__toast{position: absolute;left: 16px;bottom: 30px;display: inline-flex;box-shadow: 0 10px 24px -12px rgba(6, 95, 70, 0.5);align-items: center;gap: 7px;padding: 6px 11px;border-radius: 8px;background: #ecfdf5;border: 1px solid #b7ebd4;color: #065f46;font-weight: 700;font-size: 0.76rem}.appwin-figure figcaption{text-align: center;font-size: 0.85rem;color: var(--muted);margin-top: 14px}.continue{margin: 3.2em 0 0;padding: clamp(20px, 3vw, 28px);border-radius: var(--radius-lg);background: linear-gradient(135deg, #eaf2ff, #f6f9fe);border: 1px solid #d3e2f7}.prose .continue__title, .continue__title{margin: 0 0 16px;font-size: 1.25rem;padding: 0}.continue__grid{list-style: none;padding: 0 !important;margin: 0 !important;display: grid;gap: 12px;grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr))}.continue__grid li{margin: 0}.continue__card{height: 100%;display: grid;gap: 6px;align-content: start;padding: 16px 18px;border-radius: var(--radius);background: var(--white);border: 1px solid var(--border);text-decoration: none;transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}.continue__card:hover{border-color: #9dbcef;transform: translateY(-2px);box-shadow: var(--shadow)}.continue__q{font-size: 0.88rem;color: var(--muted);line-height: 1.45}.continue__label{display: flex;align-items: center;justify-content: space-between;gap: 8px;font-weight: 750;color: var(--navy-800);line-height: 1.35;font-size: 1rem}.continue__label .icon{color: var(--blue-600);transition: transform 0.2s ease}.continue__card:hover .continue__label .icon{transform: translateX(3px)}.guide-grid{list-style: none;padding: 0 !important;margin: 0;display: grid;gap: clamp(14px, 2vw, 20px);grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr))}.guide-grid li{margin: 0}.guide-card{position: relative;height: 100%;display: flex;flex-direction: column;gap: 10px;padding: 22px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);text-decoration: none;color: var(--text);box-shadow: var(--shadow-sm);transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease}.guide-card:hover{transform: translateY(-3px);box-shadow: var(--shadow);border-color: #a9c4ee;color: var(--text)}.guide-card__icon{display: grid;place-items: center;width: 44px;height: 44px;border-radius: 12px;background: var(--navy-800);color: var(--blue-300)}.prose .guide-card__title, .guide-card__title{font-size: 1.1rem;margin: 4px 0 0;color: var(--navy-800);letter-spacing: -0.01em}.guide-card__text{margin: 0 !important;font-size: 0.94rem;color: var(--muted);line-height: 1.6;flex: 1}.guide-card__more{display: inline-flex;align-items: center;gap: 6px;font-weight: 700;font-size: 0.9rem;color: var(--blue-700)}.cta-band{position: relative;overflow: hidden;display: grid;gap: 22px;align-items: center;margin: 3em 0 0;padding: clamp(24px, 4vw, 40px);border-radius: var(--radius-xl);color: var(--on-dark);--focus: var(--blue-300);background: radial-gradient(500px 240px at 100% 0%, rgba(59, 130, 246, 0.4), transparent 70%), linear-gradient(135deg, var(--navy-800), var(--navy-700));box-shadow: var(--shadow-lg)}@media (min-width: 860px){.cta-band{grid-template-columns: 1fr auto}}.prose .cta-band__title, .cta-band__title{margin: 0 0 8px;padding: 0;font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem);color: var(--white)}.cta-band p{margin: 0;color: #c9d6ea;max-width: 60ch;font-size: 1rem}.cta-band__actions{display: flex;flex-wrap: wrap;gap: 12px}.asset-grid{display: grid;gap: 18px;grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));margin: 1.6em 0 2em}.asset-card{position: relative;display: flex;flex-direction: column;gap: 14px;padding: 22px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-sm);transition: border-color 0.2s ease, box-shadow 0.2s ease;min-width: 0}.asset-card.is-recommended{border-color: var(--blue-600);box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14), var(--shadow)}.asset-card__head{display: flex;align-items: center;gap: 14px}.asset-card__icon{display: grid;place-items: center;width: 46px;height: 46px;border-radius: 12px;background: var(--navy-800);color: var(--blue-300);flex: none}.prose .asset-card__title, .asset-card__title{margin: 0;font-size: 1.12rem;color: var(--navy-800)}.asset-card__arch{margin: 0 !important;font-size: 0.86rem;color: var(--muted)}.asset-card__badge{margin-left: auto;align-self: flex-start;font-size: 0.7rem;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;color: var(--blue-700);background: var(--blue-50);border: 1px solid #c7dbfb;border-radius: 999px;padding: 4px 9px;white-space: nowrap}.asset-card__meta{display: grid;gap: 8px;margin: 0 !important;font-size: 0.92rem}.asset-card__meta div{display: grid;grid-template-columns: 82px 1fr;gap: 10px}.asset-card__meta dt{color: var(--muted);font-weight: 600}.asset-card__meta dd{margin: 0;min-width: 0;color: var(--navy-800)}.asset-card__meta code{font-size: 0.82em;overflow-wrap: anywhere}.asset-card__note{font-size: 0.9rem;color: var(--muted);margin: 0 !important}.asset-card .btn{margin-top: auto}.asset-card .btn span{white-space: normal;text-align: center}.sources{margin-top: 3em;padding-top: 1.6em;border-top: 1px solid var(--border)}.prose .sources h2{font-size: 1.05rem;margin: 0 0 0.8em;letter-spacing: 0;text-transform: uppercase;color: var(--muted);font-weight: 800;letter-spacing: 0.06em}.sources ul{font-size: 0.95rem}.ext{display: inline}.ext .icon{display: inline;vertical-align: -1px;margin-left: 3px;opacity: 0.7}.checklist{list-style: none;padding: 0 !important;margin: 1.4em 0 2em;display: grid;gap: 8px}.checklist li{margin: 0}.checklist label{display: flex;align-items: flex-start;gap: 12px;padding: 12px 14px;border-radius: 10px;background: var(--white);border: 1px solid var(--border);cursor: pointer;line-height: 1.55;transition: background-color 0.2s ease, border-color 0.2s ease}.checklist label:hover{border-color: #b3c9ea}.checklist input{position: absolute;opacity: 0;width: 1px;height: 1px}.checklist__box{flex: none;display: grid;place-items: center;width: 22px;height: 22px;margin-top: 2px;border-radius: 6px;border: 2px solid var(--border-strong);background: var(--white);color: transparent;transition: all 0.15s ease}.checklist input:checked + .checklist__box{background: var(--blue-600);border-color: var(--blue-600);color: var(--white)}.checklist input:checked ~ .checklist__text{color: var(--muted)}.checklist input:focus-visible + .checklist__box{outline: 3px solid var(--focus);outline-offset: 2px}.facts{display: grid;gap: 0;margin: 1.6em 0;border: 1px solid var(--border);border-radius: var(--radius-lg);overflow: hidden;background: var(--white);box-shadow: var(--shadow-sm)}.facts div{display: grid;grid-template-columns: minmax(120px, 34%) 1fr;gap: 16px;padding: 12px 18px;border-bottom: 1px solid var(--border)}.facts div:last-child{border-bottom: 0}.facts dt{color: var(--muted);font-weight: 600;font-size: 0.93rem}.facts dd{margin: 0;color: var(--navy-800);font-weight: 600;font-size: 0.96rem;min-width: 0;overflow-wrap: anywhere}.feature-detail{margin: 2.4em 0;padding: clamp(20px, 3vw, 28px);border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-sm)}.feature-detail__head{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 14px;margin-bottom: 12px}.feature-detail__head h2{flex: 1 1 200px}.feature-detail__icon{display: grid;place-items: center;width: 46px;height: 46px;flex: none;border-radius: 12px;background: var(--navy-800);color: var(--blue-300)}.prose .feature-detail h2{margin: 0;font-size: 1.35rem;padding: 0}.feature-detail__since{margin-left: auto;font-size: 0.72rem;font-weight: 800;letter-spacing: 0.05em;text-transform: uppercase;color: var(--muted);background: var(--bg);border: 1px solid var(--border);border-radius: 999px;padding: 4px 10px;max-width: 100%}.feature-detail dl{display: grid;gap: 12px;margin: 16px 0 0 !important}@media (min-width: 720px){.feature-detail dl{grid-template-columns: 1fr 1fr}}.feature-detail dl div{padding: 12px 14px;border-radius: 10px;background: var(--bg);border: 1px solid var(--border)}.feature-detail dt{font-size: 0.72rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.07em;color: var(--muted);margin-bottom: 4px}.feature-detail dd{margin: 0;font-size: 0.96rem;line-height: 1.6}.alpha-nav{display: flex;flex-wrap: wrap;gap: 6px;margin: 0 0 2em;padding: 0;list-style: none}.alpha-nav li{margin: 0}.alpha-nav a{display: grid;place-items: center;min-width: 38px;height: 38px;border-radius: 9px;background: var(--white);border: 1px solid var(--border);font-weight: 700;text-decoration: none;color: var(--navy-800)}.alpha-nav a:hover{border-color: var(--blue-600);color: var(--blue-700)}.glossary{margin: 0}.glossary__letter{font-size: 1.6rem;color: var(--blue-600);border-bottom: 1px solid var(--border);padding-bottom: 6px}.glossary dt{font-weight: 800;color: var(--navy-800);font-size: 1.08rem;margin-top: 1.3em;scroll-margin-top: calc(var(--header-h) + 24px)}.glossary dd{margin: 0.3em 0 0}.hero{position: relative;overflow: hidden;color: var(--on-dark);--focus: var(--blue-300);background: radial-gradient(760px 520px at 78% 18%, rgba(37, 99, 235, 0.36), transparent 65%), radial-gradient(520px 360px at 8% 100%, rgba(37, 99, 235, 0.16), transparent 70%), linear-gradient(180deg, var(--navy-900) 0%, var(--navy-800) 100%);padding-block: clamp(44px, 7vw, 88px) clamp(120px, 14vw, 168px)}.hero__grid{position: relative;display: grid;gap: clamp(40px, 6vw, 64px);align-items: center}@media (min-width: 1024px){.hero__grid{grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr)}}.hero__title{font-size: clamp(2.3rem, 1.4rem + 3.6vw, 3.9rem);line-height: 1.06;letter-spacing: -0.035em;margin-bottom: 22px;font-weight: 800}.hero__title em{font-style: normal;background: linear-gradient(90deg, #93c5fd, #60a5fa 60%, #a5b4fc);-webkit-background-clip: text;background-clip: text;color: transparent}.hero__lead{font-size: clamp(1.06rem, 1rem + 0.4vw, 1.24rem);color: #c9d6ea;max-width: 58ch;margin-bottom: 30px}.hero__actions{display: flex;flex-wrap: wrap;gap: 12px;margin-bottom: 30px}@media (max-width: 479px){.hero__actions .btn, .section__foot .btn, .cta-band__actions .btn, .dl-panel__actions .btn{width: 100%}.btn{white-space: normal;text-align: center;padding-block: 10px}}.badges{list-style: none;padding: 0;margin: 0;display: flex;flex-wrap: wrap;gap: 8px}.badges li{display: inline-flex;align-items: center;gap: 7px;padding: 7px 12px;border-radius: 999px;font-size: 0.84rem;font-weight: 600;color: #dbe6f5;background: rgba(255, 255, 255, 0.05);border: 1px solid rgba(255, 255, 255, 0.12)}.badges .icon{color: #60a5fa}.hero__visual{position: relative}.hero__visual::before{content: '';position: absolute;inset: 8% 4% 12%;background: radial-gradient(closest-side, rgba(59, 130, 246, 0.5), transparent);filter: blur(30px);z-index: 0}.hero__visual .appwin-figure{position: relative;z-index: 1;margin: 0}.hero__visual .appwin{max-width: 540px;border-color: rgba(255, 255, 255, 0.5);box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.06)}.hero__caption{position: relative;z-index: 1;text-align: center;font-size: 0.78rem;color: #8fa3c0;margin: 12px 0 0}.flowline{position: relative;z-index: 1;display: grid;grid-template-columns: 1fr auto 1fr auto 1fr;align-items: center;gap: 8px;max-width: 540px;margin: 22px auto 0}.flowline__node{display: grid;justify-items: center;gap: 4px;padding: 10px 6px;border-radius: 12px;background: rgba(255, 255, 255, 0.05);border: 1px solid rgba(255, 255, 255, 0.12);text-align: center;min-width: 0}.flowline__node b{font-size: 0.68rem;letter-spacing: 0.12em;color: #93c5fd;font-weight: 800}.flowline__node span{font-size: 0.74rem;color: #c9d6ea;font-family: var(--mono);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%}.flowline__node--out{border-color: rgba(52, 211, 153, 0.45);background: rgba(52, 211, 153, 0.08)}.flowline__node--out b{color: #6ee7b7}.flowline__link{position: relative;width: 34px;height: 2px;background: rgba(147, 197, 253, 0.25);overflow: hidden;border-radius: 2px}.flowline__link::after{content: '';position: absolute;inset: 0;width: 45%;background: linear-gradient(90deg, transparent, #60a5fa, transparent);animation: dp-flow 2.4s linear infinite}@media (max-width: 400px){.flowline__link{width: 14px}}.is-animated .appwin__progress i{animation: dp-progress 7s ease-in-out infinite}.is-animated .appwin__toast{animation: dp-toast 7s ease-in-out infinite}@keyframes dp-progress{0%, 12%{transform: scaleX(0)}45%, 100%{transform: scaleX(1)}}@keyframes dp-toast{0%, 46%{opacity: 0;transform: translateY(6px)}52%, 92%{opacity: 1;transform: none}100%{opacity: 0;transform: translateY(-2px)}}@keyframes dp-flow{from{transform: translateX(-100%)}to{transform: translateX(230%)}}.dl-panel{position: relative;z-index: 2;margin-top: calc(clamp(120px, 14vw, 168px) * -1 + 40px)}.dl-panel__card{display: grid;gap: 24px;padding: clamp(20px, 3.4vw, 34px);border-radius: var(--radius-xl);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-lg)}@media (min-width: 1024px){.dl-panel__card{grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.4fr);gap: 36px;align-items: center}}.dl-panel__title{font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.7rem);margin: 0 0 6px;color: var(--navy-800)}.dl-panel__intro{color: var(--muted);margin: 0 0 16px;font-size: 0.97rem}.dl-panel__facts{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;margin: 0}.dl-panel__facts div{padding: 10px 12px;border-radius: 10px;background: var(--bg);border: 1px solid var(--border);min-width: 0}.dl-panel__facts dt{font-size: 0.7rem;font-weight: 800;letter-spacing: 0.07em;text-transform: uppercase;color: var(--muted)}.dl-panel__facts dd{margin: 2px 0 0;font-weight: 700;color: var(--navy-800);font-size: 0.93rem}.dl-panel__platforms{display: grid;gap: 10px;grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));margin-bottom: 16px;list-style: none;padding: 0}.platform-link{display: flex;align-items: center;gap: 12px;height: 100%;padding: 12px 14px;border-radius: 12px;border: 1px solid var(--border);background: var(--white);text-decoration: none;color: var(--navy-800);transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease}.platform-link:hover{border-color: var(--blue-600);box-shadow: var(--shadow);transform: translateY(-2px);color: var(--navy-900)}.platform-link.is-recommended{border-color: var(--blue-600);box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14)}.platform-link__icon{display: grid;place-items: center;width: 38px;height: 38px;flex: none;border-radius: 10px;background: var(--blue-50);color: var(--blue-700)}.platform-link__text{display: grid;line-height: 1.3;min-width: 0}.platform-link__text b{font-size: 0.94rem}.platform-link__text small{font-size: 0.78rem;color: var(--muted)}.dl-panel__actions{display: flex;flex-wrap: wrap;gap: 10px 16px;align-items: center}.dl-panel__note{display: flex;gap: 8px;align-items: flex-start;margin: 16px 0 0;font-size: 0.86rem;color: var(--muted)}.dl-panel__note .icon{color: var(--warn);margin-top: 2px}.feature-card{height: 100%;padding: 24px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-sm);transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease}.feature-card:hover{transform: translateY(-3px);box-shadow: var(--shadow);border-color: #bcd0ee}.feature-card__icon{display: grid;place-items: center;width: 46px;height: 46px;border-radius: 12px;margin-bottom: 16px;color: var(--white);background: linear-gradient(135deg, var(--blue-600), var(--navy-700));box-shadow: 0 10px 20px -10px rgba(37, 99, 235, 0.8)}.feature-card h3{font-size: 1.1rem;margin-bottom: 8px;color: var(--navy-800)}.feature-card p{margin: 0;color: var(--muted);font-size: 0.95rem;line-height: 1.6}.card-list{list-style: none;padding: 0;margin: 0}.card-list > li{margin: 0}.split{display: grid;gap: clamp(32px, 5vw, 64px);align-items: center}@media (min-width: 1024px){.split{grid-template-columns: 1fr 1fr}.split--reverse > :first-child{order: 2}}.split__copy p:not(.eyebrow){color: #33445e;font-size: 1.06rem}.definitions{display: grid;gap: 10px;margin: 22px 0 24px}.definitions div{display: grid;grid-template-columns: 36px 1fr;gap: 12px;align-items: start}.definitions dt{grid-row: span 2;display: grid;place-items: center;width: 36px;height: 36px;border-radius: 10px;background: var(--blue-50);color: var(--blue-700)}.definitions dd{margin: 0;font-size: 0.97rem;line-height: 1.55;color: #33445e}.definitions dd strong{color: var(--navy-800)}.usecase{position: relative;height: 100%;padding: 22px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border)}.usecase__top{display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-bottom: 14px}.usecase__icon{display: grid;place-items: center;width: 42px;height: 42px;border-radius: 11px;background: var(--navy-800);color: var(--blue-300)}.usecase__tag{font-size: 0.68rem;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;padding: 4px 9px;border-radius: 999px}.usecase__tag--core{color: var(--blue-700);background: var(--blue-50);border: 1px solid #c7dbfb}.usecase__tag--community{color: #6d3a07;background: #fff4e0;border: 1px solid #f5d9a8}.usecase h3{font-size: 1.08rem;margin-bottom: 8px;color: var(--navy-800)}.usecase p{margin: 0;color: var(--muted);font-size: 0.94rem;line-height: 1.6}.legend{display: flex;flex-wrap: wrap;gap: 10px 20px;margin: 0 0 24px;font-size: 0.9rem;color: var(--muted)}.legend span{display: inline-flex;align-items: center;gap: 8px}.stepper{display: grid;gap: clamp(28px, 4vw, 48px);align-items: start}@media (min-width: 1024px){.stepper{grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr)}}.stepper__list{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px;counter-reset: s}.stepper__item{counter-increment: s}.stepper__tab{width: 100%;display: grid;grid-template-columns: 40px 1fr;gap: 14px;align-items: start;text-align: left;padding: 16px;border-radius: 14px;border: 1px solid rgba(255, 255, 255, 0.1);background: rgba(255, 255, 255, 0.03);color: var(--on-dark);cursor: default}.stepper__tab::before{content: counter(s);grid-row: 1 / span 2;display: grid;place-items: center;width: 40px;height: 40px;border-radius: 11px;background: rgba(59, 130, 246, 0.16);color: #93c5fd;font-weight: 800}.stepper__tab b{grid-column: 2;display: block;font-size: 1.04rem;margin: 1px 0 4px}.stepper__tab span{grid-column: 2;display: block;color: var(--on-dark-muted);font-size: 0.93rem;line-height: 1.55}.stepper__more{margin: 10px 0 0 54px;color: var(--on-dark-muted);font-size: 0.93rem}.stepper__more p{margin: 0}.stepper__more strong{color: var(--white)}.js-stepper .stepper__tab{cursor: pointer;transition: background-color 0.2s ease, border-color 0.2s ease}.js-stepper .stepper__tab:hover{background: rgba(255, 255, 255, 0.06)}.js-stepper .stepper__tab[aria-selected='true']{background: rgba(37, 99, 235, 0.16);border-color: rgba(96, 165, 250, 0.55)}.js-stepper .stepper__tab[aria-selected='true']::before{background: var(--blue-600);color: var(--white)}.stepper__stage{position: sticky;top: calc(var(--header-h) + 24px)}.stage{position: relative;padding: clamp(18px, 3vw, 28px);border-radius: var(--radius-xl);background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));border: 1px solid rgba(255, 255, 255, 0.1)}.stage__diagram{display: grid;gap: 12px}.stage__row{display: grid;grid-template-columns: 44px 1fr auto;gap: 12px;align-items: center;padding: 12px 14px;border-radius: 12px;background: rgba(4, 18, 37, 0.55);border: 1px solid rgba(255, 255, 255, 0.08);transition: border-color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease}.stage__row .stage__icon{display: grid;place-items: center;width: 44px;height: 44px;border-radius: 11px;background: rgba(59, 130, 246, 0.14);color: #93c5fd}.stage__row b{display: block;font-size: 0.95rem}.stage__row small{display: block;color: var(--on-dark-muted);font-family: var(--mono);font-size: 0.76rem;overflow-wrap: anywhere}.stage__state{font-size: 0.72rem;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;color: #90a2bf}.stage__row.is-active{border-color: rgba(96, 165, 250, 0.7);background: rgba(37, 99, 235, 0.14)}.stage__row.is-active .stage__state{color: #93c5fd}.stage__row.is-done .stage__state{color: #6ee7b7}.stage__detail{margin-top: 18px;padding: 16px 18px;border-radius: 12px;background: rgba(255, 255, 255, 0.04);border: 1px dashed rgba(255, 255, 255, 0.16);color: #d2ddee;font-size: 0.95rem;min-height: 96px}.stage__detail p{margin: 0}.stage__detail strong{color: var(--white)}.stage__arrow{display: grid;place-items: center;color: #4f6b93;height: 10px}.platform-card{height: 100%;display: flex;flex-direction: column;padding: 24px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-sm)}.platform-card__head{display: flex;align-items: center;gap: 12px;margin-bottom: 14px}.platform-card__icon{display: grid;place-items: center;width: 46px;height: 46px;border-radius: 12px;background: var(--navy-800);color: var(--blue-300)}.platform-card h3{font-size: 1.15rem;color: var(--navy-800)}.platform-card__req{font-size: 0.84rem;color: var(--muted);margin: 2px 0 0}.platform-card ol{margin: 0 0 16px;padding-left: 1.2em;color: #33445e;font-size: 0.95rem}.platform-card li{margin-bottom: 6px}.platform-card li::marker{color: var(--blue-600);font-weight: 700}.platform-card__note{margin-top: auto;font-size: 0.86rem;color: var(--muted);padding: 10px 12px;border-radius: 10px;background: var(--bg);border: 1px solid var(--border)}.timeline{list-style: none;margin: 0;padding: 0;display: grid;gap: 14px;grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));counter-reset: t}.timeline li{counter-increment: t;position: relative;padding: 20px 20px 20px 20px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border)}.timeline li::before{content: counter(t, decimal-leading-zero);display: block;font-size: 0.8rem;font-weight: 800;letter-spacing: 0.08em;color: var(--blue-600);margin-bottom: 8px}.timeline h3{font-size: 1.04rem;color: var(--navy-800);margin-bottom: 6px}.timeline p{margin: 0;color: var(--muted);font-size: 0.93rem;line-height: 1.55}.timeline li.is-key{border-color: #f5d9a8;background: #fffbf3}.timeline li.is-key::before{color: var(--warn)}.equation{display: grid;gap: 12px;align-items: stretch;grid-template-columns: 1fr}.equation__op{align-self: center}@media (min-width: 640px){.equation{grid-template-columns: 1fr auto 1fr}.equation__result{grid-column: 1 / -1}}.equation__item{display: flex;align-items: center;gap: 14px;padding: 18px;border-radius: 14px;background: rgba(255, 255, 255, 0.05);border: 1px solid rgba(255, 255, 255, 0.12);min-width: 0}.equation__item .icon{color: #93c5fd}.equation__item b{display: block;font-size: 0.72rem;letter-spacing: 0.1em;color: #93c5fd}.equation__item span{display: block;font-family: var(--mono);font-size: 0.82rem;color: #d2ddee;overflow-wrap: anywhere}.equation__op{text-align: center;font-size: 1.6rem;font-weight: 800;color: #60a5fa}.equation__result{display: flex;flex-direction: column;align-items: center;gap: 8px}.equation__result .equation__item{width: 100%;justify-content: center;border-color: rgba(52, 211, 153, 0.45);background: rgba(52, 211, 153, 0.08)}.equation__result .equation__item .icon, .equation__result .equation__item b{color: #6ee7b7}.error-card{display: flex;flex-direction: column;gap: 10px;height: 100%;padding: 22px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);text-decoration: none;color: var(--text);transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease}.error-card:hover{transform: translateY(-3px);border-color: #f0b8a8;box-shadow: var(--shadow);color: var(--text)}.error-card code{align-self: flex-start;font-size: 0.76rem;color: #8a2c0d;background: #fff4ed;border: 1px solid #fbd5bf;padding: 3px 8px;border-radius: 6px;overflow-wrap: anywhere}.error-card h3{font-size: 1.05rem;color: var(--navy-800)}.error-card p{margin: 0;color: var(--muted);font-size: 0.93rem;line-height: 1.55;flex: 1}.error-card__more{display: inline-flex;align-items: center;gap: 6px;font-weight: 700;font-size: 0.9rem;color: var(--blue-700)}.faq-preview{max-width: 860px;margin-inline: auto}.final-cta{position: relative;overflow: hidden;text-align: center;color: var(--on-dark);--focus: var(--blue-300);background: radial-gradient(700px 300px at 50% 0%, rgba(59, 130, 246, 0.35), transparent 70%), linear-gradient(180deg, var(--navy-800), var(--navy-900))}.final-cta h2{font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.8rem);margin-bottom: 14px}.final-cta p{color: #c9d6ea;max-width: 62ch;margin: 0 auto 28px;font-size: 1.1rem}.final-cta .hero__actions{justify-content: center;margin-bottom: 0}.notfound{text-align: center;padding-block: clamp(56px, 10vw, 120px)}.notfound__code{font-size: clamp(4rem, 3rem + 6vw, 7.5rem);font-weight: 800;letter-spacing: -0.05em;line-height: 1;margin: 0 0 8px;background: linear-gradient(180deg, #93c5fd, #2563eb);-webkit-background-clip: text;background-clip: text;color: transparent}.notfound h1{font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);margin-bottom: 12px}.notfound p{color: #c9d6ea;max-width: 56ch;margin: 0 auto 24px}.notfound-search{display: flex;gap: 10px;max-width: 560px;margin: 0 auto 26px}.notfound-search input{flex: 1;min-width: 0;height: 52px;padding: 0 16px;border-radius: 12px;border: 1px solid rgba(255, 255, 255, 0.2);background: rgba(255, 255, 255, 0.06);color: var(--white);font: inherit}.notfound-search input::placeholder{color: #8fa3c0}.search-dialog{width: min(680px, calc(100% - 32px));max-height: min(640px, calc(100vh - 80px));margin: 8vh auto auto;padding: 0;border: 1px solid var(--border);border-radius: var(--radius-lg);background: var(--white);color: var(--text);box-shadow: 0 40px 100px -20px rgba(3, 13, 28, 0.6);overflow: hidden}.search-dialog::backdrop{background: rgba(3, 13, 28, 0.62);backdrop-filter: blur(4px)}.search-dialog__inner{display: flex;flex-direction: column;max-height: inherit}.search-dialog__field{display: flex;align-items: center;gap: 12px;padding: 0 12px 0 18px;border-bottom: 1px solid var(--border);color: var(--muted)}.search-dialog__field input{flex: 1;min-width: 0;height: 60px;border: 0;outline: 0;background: none;font: inherit;font-size: 1.08rem;color: var(--text)}.search-dialog__field input::-webkit-search-cancel-button{display: none}.search-dialog__close{background: none;border: 0;cursor: pointer;padding: 6px}.search-dialog__status{margin: 0;padding: 10px 18px 0;font-size: 0.82rem;color: var(--muted)}.search-results{list-style: none;margin: 0;padding: 8px;overflow-y: auto}.search-results li{margin: 0}.search-results a{display: grid;gap: 2px;padding: 11px 12px;border-radius: 10px;text-decoration: none;color: var(--text)}.search-results a:hover, .search-results a:focus-visible, .search-results a.is-active{background: var(--blue-50);outline: none}.search-results .r-title{font-weight: 700;color: var(--navy-800)}.search-results .r-path{font-size: 0.78rem;color: var(--blue-700);font-weight: 600}.search-results .r-text{font-size: 0.86rem;color: var(--muted);line-height: 1.45}.search-results mark{background: #fff1a8;color: inherit;border-radius: 3px;padding: 0 1px}.tree{margin: 1.6em 0 2.4em;padding: clamp(18px, 3vw, 26px);border-radius: var(--radius-lg);background: var(--navy-800);color: var(--on-dark);--focus: var(--blue-300);box-shadow: var(--shadow-lg)}.tree__head{display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 14px}.prose .tree__title, .tree__title{margin: 0;font-size: 1.1rem;color: var(--white);padding: 0}.tree__restart{background: none;border: 1px solid rgba(255, 255, 255, 0.2);color: #d2ddee;border-radius: 8px;padding: 6px 12px;font-size: 0.85rem;font-weight: 600;cursor: pointer}.tree__restart:hover{background: rgba(255, 255, 255, 0.08)}.tree__node{padding: 16px 0;border-top: 1px solid rgba(255, 255, 255, 0.08);scroll-margin-top: calc(var(--header-h) + 24px)}.tree__node:first-of-type{border-top: 0}.tree.is-enhanced .tree__node{display: none;border: 0;padding: 0}.tree.is-enhanced .tree__node.is-active{display: block;animation: dp-fade 0.25s ease}.tree__q{font-weight: 700;font-size: 1.05rem;margin: 0 0 12px !important;color: var(--white)}.tree__answer{color: #d2ddee;margin: 0 0 14px !important;font-size: 0.98rem}.tree__answer strong{color: var(--white)}.tree__options{display: flex;flex-wrap: wrap;gap: 8px;list-style: none;padding: 0 !important;margin: 0 !important}.tree__options li{margin: 0}.tree__options a{display: inline-flex;align-items: center;gap: 8px;padding: 10px 14px;border-radius: 10px;background: rgba(255, 255, 255, 0.06);border: 1px solid rgba(255, 255, 255, 0.16);color: var(--white);text-decoration: none;font-weight: 600;font-size: 0.94rem}.tree__options a:hover{background: rgba(37, 99, 235, 0.3);border-color: rgba(96, 165, 250, 0.7)}.tree__options a.is-primary{background: var(--blue-600);border-color: var(--blue-600)}.tree__crumbs{font-size: 0.8rem;color: #8fa3c0;margin: 0 0 8px !important;min-height: 1.2em}@keyframes dp-fade{from{opacity: 0;transform: translateY(4px)}to{opacity: 1;transform: none}}.consent{position: fixed;z-index: 70;left: 16px;right: 16px;bottom: 16px;max-width: 560px;margin-inline: auto;display: grid;gap: 12px;padding: 16px 18px;border-radius: var(--radius-lg);background: var(--white);border: 1px solid var(--border);box-shadow: var(--shadow-lg);font-size: 0.92rem}.consent p{margin: 0}.consent__actions{display: flex;justify-content: flex-end;gap: 8px}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*, *::before, *::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important}.is-animated .appwin__progress i, .is-animated .appwin__toast{animation: none !important;transform: none;opacity: 1}.flowline__link::after{animation: none !important;display: none}}@media print{.site-header, .site-footer, .toc, .doc__aside, .cta-band, .continue, .copy-btn, .read-progress, .search-dialog, .hero__visual{display: none !important}body{background: #fff}.page-hero, .hero, .section--dark{background: #fff !important;color: #000 !important}.accordion{break-inside: avoid}details:not([open]) > :not(summary){display: block}a[href^='http']::after{content: ' (' attr(href) ')';font-size: 0.8em}}