:root{--bg-primary:#0a0a0b;--bg-surface:#141416;--bg-elevated:#1e1e22;--bg-hover:#27272b;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-inverse:#0a0a0b;--accent-primary:#6366f1;--accent-primary-hover:#818cf8;--accent-primary-subtle:rgba(99, 102, 241, 0.12);--accent-secondary:#22d3ee;--accent-secondary-hover:#67e8f9;--accent-secondary-subtle:rgba(34, 211, 238, 0.12);--border:#27272a;--border-hover:#3f3f46;--success:#34d399;--warning:#fbbf24;--error:#f87171;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.4);--shadow-lg:0 8px 24px rgba(0, 0, 0, 0.5);--gradient-hero:linear-gradient(135deg, #0a0a0b 0%, #141416 50%, #1a1a2e 100%);--gradient-accent:linear-gradient(135deg, #6366f1 0%, #22d3ee 100%)}[data-theme=light]{--bg-primary:#fafafa;--bg-surface:#ffffff;--bg-elevated:#f4f4f5;--bg-hover:#e4e4e7;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--text-inverse:#f4f4f5;--accent-primary:#4f46e5;--accent-primary-hover:#6366f1;--accent-primary-subtle:rgba(79, 70, 229, 0.08);--accent-secondary:#0891b2;--accent-secondary-hover:#06b6d4;--accent-secondary-subtle:rgba(8, 145, 178, 0.08);--border:#e4e4e7;--border-hover:#d4d4d8;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.08);--shadow-lg:0 8px 24px rgba(0, 0, 0, 0.12);--gradient-hero:linear-gradient(135deg, #fafafa 0%, #f4f4f5 50%, #eef2ff 100%)}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", Consolas, monospace;--text-xs:0.8rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.563rem;--text-3xl:1.953rem;--text-4xl:2.441rem;--text-5xl:3.052rem;--leading-tight:1.2;--leading-normal:1.6;--leading-relaxed:1.75;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.025em}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}code,pre,kbd{font-family:var(--font-mono)}.prose{max-width:72ch;line-height:var(--leading-relaxed)}.prose h2{margin-top:3rem;margin-bottom:1rem}.prose h3{margin-top:2rem;margin-bottom:.75rem}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.375rem}.prose a{color:var(--accent-secondary);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.prose a:hover{color:var(--accent-secondary-hover)}.prose code{background:var(--bg-elevated);padding:.15em .4em;border-radius:4px;font-size:.9em}.prose pre{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;overflow-x:auto;margin-bottom:1.5rem}.prose pre code{background:0 0;padding:0;border-radius:0;font-size:var(--text-sm)}.prose blockquote{border-left:3px solid var(--accent-primary);padding-left:1rem;color:var(--text-secondary);font-style:italic;margin-bottom:1.25rem}.prose table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.prose th,.prose td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.prose th{font-weight:600;color:var(--text-primary);background:var(--bg-surface)}.prose img{border-radius:8px;max-width:100%;height:auto}:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-20)0}.section--sm{padding:var(--space-12)0}.section--lg{padding:var(--space-24)0}@media(max-width:640px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.container{padding:0 var(--space-4)}.section{padding:var(--space-12)0}.hide-mobile{display:none!important}}@media(min-width:641px) and (max-width:1023px){.hide-tablet{display:none!important}}@media(min-width:1024px){.hide-desktop{display:none!important}}@media(max-width:1023px){.show-desktop-only{display:none!important}}.nav{position:sticky;top:0;z-index:100;background:rgba(10,10,11,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}[data-theme=light] .nav{background:rgba(250,250,250,.85)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav__logo{font-size:var(--text-xl);font-weight:800;color:var(--text-primary);text-decoration:none;letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.nav__logo-accent{color:var(--accent-primary)}.nav__links{display:flex;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.nav__link{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;position:relative}.nav__link:hover,.nav__link--active{color:var(--text-primary)}.nav__link--active::after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent-primary);border-radius:1px}.nav__actions{display:flex;align-items:center;gap:var(--space-4)}.nav__toggle{display:none;background:0 0;border:none;color:var(--text-primary);cursor:pointer;padding:var(--space-2)}.nav__toggle svg{width:24px;height:24px}.theme-toggle{background:0 0;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.theme-toggle svg{width:18px;height:18px}@media(max-width:768px){.nav__toggle{display:flex}.nav__links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg-surface);border-bottom:1px solid var(--border);padding:var(--space-4)var(--space-6);gap:var(--space-1)}.nav__links.is-open{display:flex}.nav__link{display:block;padding:var(--space-3)0}.nav__link--active::after{display:none}}.hero{background:var(--gradient-hero);padding:var(--space-24)0 var(--space-20);position:relative;overflow:hidden}.hero::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,var(--accent-primary-subtle) 0%,transparent 50%),radial-gradient(circle at 70% 50%,var(--accent-secondary-subtle) 0%,transparent 50%);opacity:.6;animation:heroGlow 8s ease-in-out infinite alternate}@keyframes heroGlow{0%{transform:translate(0,0)}100%{transform:translate(2%,-2%)}}.hero__inner{position:relative;z-index:1;max-width:800px}.hero__badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-4);background:var(--accent-primary-subtle);border:1px solid var(--accent-primary);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--accent-primary-hover);margin-bottom:var(--space-6)}.hero__badge-dot{width:6px;height:6px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.hero__title{font-size:var(--text-5xl);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--space-6);background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:var(--text-xl);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);max-width:600px}.hero__actions{display:flex;gap:var(--space-4);flex-wrap:wrap}@media(max-width:640px){.hero{padding:var(--space-16)0 var(--space-12)}.hero__title{font-size:var(--text-3xl)}.hero__subtitle{font-size:var(--text-lg)}.hero__actions{flex-direction:column}}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary-subtle);border-radius:var(--radius-md);font-size:1.5rem;margin-bottom:var(--space-4)}.card__category{display:inline-block;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent-primary-hover);margin-bottom:var(--space-2)}.card__title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2);color:var(--text-primary)}.card__title a{color:inherit;text-decoration:none}.card__title a:hover{color:var(--accent-primary-hover)}.card__description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto}.card__link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:500;color:var(--accent-secondary);text-decoration:none;margin-top:var(--space-4);transition:color .2s ease}.card__link:hover{color:var(--accent-secondary-hover)}.card__link svg{width:14px;height:14px;transition:transform .2s ease}.card__link:hover svg{transform:translateX(2px)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-6)}@media(max-width:640px){.tool-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge--tech{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.badge--category{background:var(--accent-primary-subtle);color:var(--accent-primary-hover)}.badge--region{background:var(--accent-secondary-subtle);color:var(--accent-secondary)}.badge--success{background:rgba(52,211,153,.1);color:var(--success)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3)var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.btn svg{width:16px;height:16px}.btn--primary{background:var(--accent-primary);color:#fff}.btn--primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(99,102,241,.3)}.btn--secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn--ghost{background:0 0;color:var(--accent-secondary);padding:var(--space-2)var(--space-4)}.btn--ghost:hover{background:var(--accent-secondary-subtle)}.btn--lg{padding:var(--space-4)var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.cta-banner{background:var(--gradient-accent);border-radius:var(--radius-xl);padding:var(--space-12)var(--space-8);text-align:center}.cta-banner__title{font-size:var(--text-3xl);font-weight:800;color:#fff;margin-bottom:var(--space-4)}.cta-banner__text{font-size:var(--text-lg);color:rgba(255,255,255,.85);margin-bottom:var(--space-8);max-width:500px;margin-left:auto;margin-right:auto}.cta-banner .btn{background:#fff;color:var(--accent-primary)}.cta-banner .btn:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}.breadcrumb{padding:var(--space-4)0;font-size:var(--text-sm)}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);list-style:none;padding:0;margin:0}.breadcrumb li{display:flex;align-items:center;gap:var(--space-1);color:var(--text-muted)}.breadcrumb li:not(:last-child)::after{content:"/";color:var(--text-muted);margin:0 var(--space-1)}.breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.breadcrumb a:hover{color:var(--accent-secondary)}.breadcrumb [aria-current=page]{color:var(--text-primary);font-weight:500}.footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:var(--space-16)0 var(--space-8)}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-12)}.footer__brand p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:300px;margin-top:var(--space-4)}.footer__heading{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-primary);margin-bottom:var(--space-4)}.footer__links{list-style:none;padding:0;margin:0}.footer__links li{margin-bottom:var(--space-2)}.footer__links a{color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);transition:color .2s ease}.footer__links a:hover{color:var(--accent-secondary)}.footer__social{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.footer__social a{color:var(--text-muted);transition:color .2s ease}.footer__social a:hover{color:var(--accent-primary)}.footer__social svg{width:20px;height:20px}.footer__bottom{border-top:1px solid var(--border);padding-top:var(--space-6);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--text-muted)}@media(max-width:768px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer__brand{grid-column:1/-1}.footer__bottom{flex-direction:column;gap:var(--space-2);text-align:center}}.highlight{margin-bottom:1.5rem;border-radius:var(--radius-md);overflow:hidden}.highlight pre{margin:0;padding:1.25rem;overflow-x:auto;background:var(--bg-surface)!important;border:1px solid var(--border);border-radius:var(--radius-md)}.highlight .lnt{color:var(--text-muted);margin-right:1rem;user-select:none}code:not(pre code){background:var(--bg-elevated);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.9em;color:var(--accent-secondary)}.schema-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin-bottom:var(--space-8)}.schema-table thead{background:var(--bg-elevated)}.schema-table th{padding:var(--space-3)var(--space-4);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border);white-space:nowrap}.schema-table td{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top}.schema-table code{font-size:var(--text-xs)}.schema-table tr:hover td{background:var(--bg-surface)}.schema-table .required{color:var(--error);font-size:var(--text-xs);font-weight:600}.schema-table .optional{color:var(--text-muted);font-size:var(--text-xs)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md)}.table-wrap .schema-table{margin-bottom:0}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);min-height:100vh}a{color:inherit}img,svg{display:block;max-width:100%}button{font:inherit}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);padding:var(--space-8)0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats__item{text-align:center}.stats__value{font-size:var(--text-3xl);font-weight:800;color:var(--text-primary);letter-spacing:var(--tracking-tight)}.stats__label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}.section-header{margin-bottom:var(--space-10)}.section-header__label{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent-primary);margin-bottom:var(--space-2)}.section-header__title{font-size:var(--text-3xl);font-weight:800}.section-header__text{font-size:var(--text-lg);color:var(--text-secondary);margin-top:var(--space-3);max-width:600px}.filter-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);flex-wrap:wrap}.filter-btn{padding:var(--space-2)var(--space-4);border-radius:var(--radius-full);border:1px solid var(--border);background:0 0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover,.filter-btn--active{background:var(--accent-primary-subtle);border-color:var(--accent-primary);color:var(--accent-primary-hover)}.fade-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.fade-up.is-visible{opacity:1;transform:translateY(0)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.feature-item{padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.feature-item__icon{font-size:1.5rem;margin-bottom:var(--space-3)}.feature-item__title{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.feature-item__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{padding:var(--space-4)0;cursor:pointer;font-weight:600;color:var(--text-primary);list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::after{content:"+";font-size:var(--text-xl);color:var(--text-muted);transition:transform .2s ease}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item__answer{padding-bottom:var(--space-4);color:var(--text-secondary);line-height:var(--leading-relaxed)}