:root{--font-family-display: "Space Grotesk", system-ui, sans-serif;--font-family-primary: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-mono: "IBM Plex Mono", "JetBrains Mono", Consolas, monospace;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-base: 1rem;--font-size-lg: clamp(1.125rem, 1rem + .625vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--font-size-3xl: clamp(1.625rem, 1.4rem + 1.8vw, 2.375rem);--font-size-4xl: clamp(2.375rem, 2rem + 2.6vw, 4rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 5.5rem;--radius-sm: .25rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1.125rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--container-max: 1188px;--container-padding: 24px;--header-height: 64px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root,[data-theme=dark]{--bg: #0c0d10;--bg2: #101218;--card: #13151b;--card2: #171a21;--line: rgba(228, 234, 245, .09);--line2: rgba(228, 234, 245, .17);--ink: #edf0f4;--mut: #99a1ad;--faint: #7c8595;--blue: #15a8ff;--orange: #ff7a1f;--btn-ink: #051523;--glass: rgba(12, 13, 16, .82);--grad: linear-gradient(100deg, #15a8ff 0%, #7e8df2 36%, #d6787f 68%, #ff7a1f 100%);--selection-ink: #04121c;--wave-bar-l: .72;--color-bg-primary: var(--bg);--color-bg-secondary: var(--bg2);--color-bg-tertiary: var(--card2);--color-bg-elevated: var(--card);--color-bg-hover: var(--card2);--color-text-primary: var(--ink);--color-text-secondary: var(--mut);--color-text-tertiary: var(--faint);--color-text-muted: var(--faint);--color-border-primary: var(--line);--color-border-secondary: var(--line2);--color-border-hover: var(--blue);--color-surface: rgba(255, 255, 255, .03);--color-surface-hover: rgba(255, 255, 255, .06);--color-brand-blue: var(--blue);--color-accent: var(--blue);--color-accent-hover: var(--orange);--color-accent-bg: rgba(21, 168, 255, .12);--gradient-brand: var(--grad);--gradient-brand-horizontal: var(--grad);--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-info: var(--blue);--color-info-bg: rgba(21, 168, 255, .1);--color-focus-ring: var(--blue);--color-selection: var(--blue)}[data-theme=light]{--bg: #f5f6f8;--bg2: #eceef2;--card: #ffffff;--card2: #f8f9fb;--line: rgba(18, 24, 34, .1);--line2: rgba(18, 24, 34, .2);--ink: #171b21;--mut: #59626f;--faint: #6e7683;--blue: #0270bd;--orange: #cf5c00;--btn-ink: #ffffff;--glass: rgba(245, 246, 248, .85);--grad: linear-gradient(100deg, #0270bd 0%, #5f6cd0 36%, #a85568 68%, #cf5c00 100%);--selection-ink: #ffffff;--wave-bar-l: .58;--color-surface: rgba(0, 0, 0, .02);--color-surface-hover: rgba(0, 0, 0, .04);--color-accent-bg: rgba(2, 112, 189, .1);--color-success: #16a34a;--color-success-bg: rgba(22, 163, 74, .1);--color-warning: #d97706;--color-warning-bg: rgba(217, 119, 6, .1);--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .1);--color-info: var(--blue);--color-info-bg: rgba(2, 112, 189, .1)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-selection)}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary)}h1,.h1{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.05;letter-spacing:-.02em}h2,.h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.01em}h3,.h3{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h4,.h4{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}h5,.h5{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}h6,.h6{font-family:var(--font-family-display);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-brand{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tracking-tight{letter-spacing:-.02em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.prose{max-width:65ch}.prose p{margin-bottom:var(--space-md);line-height:var(--line-height-relaxed)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:var(--space-xl);margin-bottom:var(--space-md)}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-bottom:var(--space-xs)}.prose a{color:var(--color-brand-blue);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--color-accent)}.prose blockquote{margin:var(--space-lg) 0;padding-left:var(--space-lg);border-left:3px solid var(--color-accent);font-style:italic;color:var(--color-text-secondary)}.prose code{font-family:var(--font-family-mono);font-size:.9em;padding:.1em .3em;background:var(--color-surface);border-radius:var(--radius-sm)}.prose pre{margin:var(--space-lg) 0;padding:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow-x:auto}.prose pre code{padding:0;background:none}.prose hr{margin:var(--space-2xl) 0;border:none;border-top:1px solid var(--color-border-primary)}.prose table{width:100%;margin:var(--space-lg) 0}.prose table th,.prose table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border-primary)}.prose table th{font-weight:var(--font-weight-semibold);background:var(--color-surface)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.container-narrow{max-width:900px}.container-wide{max-width:1600px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.m-0{margin:0}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mt-3xl{margin-top:var(--space-3xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.px-0{padding-inline:0}.px-sm{padding-inline:var(--space-sm)}.px-md{padding-inline:var(--space-md)}.px-lg{padding-inline:var(--space-lg)}.px-xl{padding-inline:var(--space-xl)}.py-0{padding-block:0}.py-sm{padding-block:var(--space-sm)}.py-md{padding-block:var(--space-md)}.py-lg{padding-block:var(--space-lg)}.py-xl{padding-block:var(--space-xl)}.py-2xl{padding-block:var(--space-2xl)}.py-3xl{padding-block:var(--space-3xl)}.py-4xl{padding-block:var(--space-4xl)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}@media(min-width:768px){.md\:block{display:block}.md\:hidden{display:none}.md\:flex{display:flex}}@media(min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:flex{display:flex}}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-full{max-width:100%}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.min-h-screen{min-height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.border{border:1px solid var(--color-border-primary)}.border-0{border:0}.border-t{border-top:1px solid var(--color-border-primary)}.border-b{border-bottom:1px solid var(--color-border-primary)}.border-l{border-left:1px solid var(--color-border-primary)}.border-r{border-right:1px solid var(--color-border-primary)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-elevated{background-color:var(--color-bg-elevated)}.bg-transparent{background-color:transparent}.bg-gradient{background:var(--gradient-brand)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.transition-none{transition:none}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.translate-y-0{transform:translateY(0)}.translate-y-1{transform:translateY(.25rem)}.-translate-y-1{transform:translateY(-.25rem)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:2px solid var(--color-brand-blue);border-radius:var(--radius-md);z-index:var(--z-tooltip)}.skip-link:focus{top:var(--space-sm)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}49%{transform:scaleY(1);transform-origin:top}50%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes ioWave{0%{transform:scaleY(.42)}to{transform:scaleY(1)}}@keyframes ioPulse{0%{opacity:.3}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mono-label,.label{font-family:var(--font-family-mono);font-size:11px;font-weight:var(--font-weight-normal);letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin:0}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.stitle{font-family:var(--font-family-display);font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.1;letter-spacing:-.01em}.sbody{font-size:16px;color:var(--mut);line-height:1.65;max-width:580px;font-weight:400}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;font-size:15px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;border:none;transition:filter .15s ease,border-color .15s ease,color .15s ease;text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:var(--btn-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.1);color:var(--btn-ink)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line2);padding:12px 22px;font-weight:500}.btn-outline:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.btn-ghost{background:transparent;color:var(--mut)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--ink)}.btn-lg{font-size:16px;padding:15px 30px;border-radius:12px}.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-family-mono);font-size:13px;color:var(--blue);transition:color .15s ease,gap .2s;text-decoration:none}.link-arrow:hover{gap:.7rem;color:var(--orange)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--line2)}.tag{font-family:var(--font-family-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);background:var(--color-surface);padding:.2rem .52rem;border-radius:4px;border:1px solid var(--line)}.spinner{width:1.5rem;height:1.5rem;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}html{color-scheme:dark light}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);overflow-x:hidden}html{scroll-padding-top:calc(var(--header-height) + var(--space-lg))}[id]{scroll-margin-top:96px}::selection{background:var(--blue);color:var(--selection-ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-container{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.section{padding-block:var(--space-3xl)}@media(min-width:768px){.section{padding-block:var(--space-4xl)}}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) var(--color-bg-secondary)}.link{color:var(--color-brand-blue);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.link:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.container{max-width:100%;padding:0}}
