@font-face{font-family:tabler-icons;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tabler-icons-subset.woff2) format("woff2")}.ti{font-family:tabler-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-sun:before{content:"\eb30"}.ti-moon:before{content:"\eaf8"}.ti-arrow-up-right:before{content:"\ea24"}:root,:root[data-theme=dark]{color-scheme:dark;--bg-dark: #0a0a0a;--bg-light: #111111;--accent: #ff6b00;--accent-hover: #e65a00;--accent-soft: rgba(255, 107, 0, .1);--accent-text: #ff6b00;--text-dim: #cbd5e1;--white: #f8fafc;--border: #262626;--navbar-bg: rgba(10, 10, 10, .95);--on-accent: #ffffff;--code-keyword: #ff8a3d;--code-string: #86efac;--code-number: #93c5fd;--code-comment: #94a3b8;--code-title: #fcd34d;--code-type: #c4b5fd}:root[data-theme=light]{color-scheme:light;--bg-dark: #ffffff;--bg-light: #f4f4f5;--accent: #e65a00;--accent-hover: #cc5000;--accent-soft: rgba(230, 90, 0, .1);--accent-text: #b04500;--text-dim: #3f3f46;--white: #18181b;--border: #d4d4d8;--navbar-bg: rgba(255, 255, 255, .95);--on-accent: #ffffff;--code-keyword: #b84a00;--code-string: #166534;--code-number: #1d4ed8;--code-comment: #52525b;--code-title: #854d0e;--code-type: #6d28d9}:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "Fira Code", ui-monospace, monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .8rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 5rem;--container: 1000px;--header-px: 5%;--header-py: 1rem;--transition: .2s ease;--z-header: 1000;--z-skip: 2000}@media(min-width:768px){:root{--header-px: 10%;--header-py: 1.5rem}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--bg-dark);color:var(--text-dim);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{width:100%;padding:var(--space-3);background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--white);font:inherit;outline:none;transition:border-color var(--transition)}input:focus,textarea:focus{border-color:var(--accent)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-5)}.accent{color:var(--accent)}.text-white{color:var(--white)}.text-dim{color:var(--text-dim)}.font-mono{font-family:var(--font-mono)}.surface{background:var(--bg-light)}.bordered{border:1px solid var(--border)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-4)}.row-wrap{flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:0;z-index:var(--z-skip);padding:var(--space-4);background:var(--accent);color:var(--on-accent);text-decoration:none;transition:top .3s}.skip-link:focus{top:0}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.8rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer;transition:var(--transition);transition-property:background,border-color,color}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:transparent;border-color:var(--border);color:var(--white);font-weight:600}.btn-outline:hover{background:var(--border);border-color:var(--accent)}.btn-block{width:100%;justify-content:center}.icon-link{color:var(--text-dim);font-size:1.5rem;text-decoration:none;transition:var(--transition)}.icon-link:hover{color:var(--accent);transform:translateY(-2px)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:1px solid var(--border);border-radius:50%;color:var(--white);font-size:.95rem;line-height:1;cursor:pointer;transition:color var(--transition),border-color var(--transition)}.icon-btn:hover{color:var(--accent);border-color:var(--accent)}.badge{display:inline-block;padding:4px 8px;background:var(--accent);border-radius:var(--radius-sm);color:var(--on-accent);font-size:.65rem;font-weight:800;text-decoration:none}.tag{display:inline-block;padding:2px 8px;background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-text);font-size:.7rem;font-weight:600}.tag-pill{padding:.1rem .4rem;background:var(--accent);border-radius:4rem;color:var(--white)}.card{padding:var(--space-5);background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-lg)}.section-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);color:var(--white);font-size:1.4rem;font-weight:700}.section-header .number{font-family:var(--font-mono);color:var(--accent)}.section-header:after{content:"";flex-grow:1;max-width:150px;height:1px;background:var(--border)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{color:var(--white);font-size:.9rem;font-weight:600}.prose{color:var(--text-dim);font-size:1rem;line-height:1.75;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4{margin:var(--space-8) 0 var(--space-3);color:var(--white);font-weight:800;line-height:1.25}.prose h2{font-size:1.6rem}.prose h3{font-size:1.25rem}.prose h4{font-size:1.05rem}.prose p,.prose ul,.prose ol,.prose pre,.prose table,.prose figure,.prose details,.prose blockquote{margin:0 0 var(--space-5)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-1)}.prose strong{color:var(--white)}.prose a{color:var(--accent-text);text-underline-offset:3px}.prose a:hover{color:var(--accent-hover)}.prose blockquote{padding:var(--space-1) var(--space-5);border-left:3px solid var(--accent);color:var(--white);font-style:italic}.prose code,.prose kbd{padding:.1em .35em;background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);font-family:var(--font-mono);font-size:.875em}.prose pre{overflow-x:auto;padding:var(--space-4);background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-md);line-height:1.5}.prose pre code{padding:0;background:none;border:0}.prose mark{padding:0 .2em;background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--white)}.prose img,.prose video{display:block;max-width:100%;height:auto;margin:0 0 var(--space-5);border-radius:var(--radius-md)}.prose figure{margin-inline:0}.prose figure img{margin-bottom:var(--space-2)}.prose figcaption{color:var(--text-dim);font-size:.85rem;text-align:center}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{padding:var(--space-2) var(--space-3);border:1px solid var(--border);text-align:left}.prose th{background:var(--bg-light);color:var(--white)}.prose hr{margin:var(--space-8) 0;border:0;border-top:1px solid var(--border)}.prose details{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.prose summary{color:var(--white);font-weight:600;cursor:pointer}.prose details[open] summary{margin-bottom:var(--space-2)}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-literal,.prose .hljs-built_in,.prose .hljs-name{color:var(--code-keyword)}.prose .hljs-string,.prose .hljs-attr,.prose .hljs-regexp,.prose .hljs-addition{color:var(--code-string)}.prose .hljs-number,.prose .hljs-symbol,.prose .hljs-bullet,.prose .hljs-variable{color:var(--code-number)}.prose .hljs-comment,.prose .hljs-quote,.prose .hljs-meta,.prose .hljs-deletion{color:var(--code-comment);font-style:italic}.prose .hljs-title,.prose .hljs-section,.prose .hljs-function{color:var(--code-title)}.prose .hljs-type,.prose .hljs-class,.prose .hljs-params,.prose .hljs-attribute,.prose .hljs-tag{color:var(--code-type)}.prose .hljs-emphasis{font-style:italic}.prose .hljs-strong{font-weight:700}
