:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--bg-overlay: rgba(15, 23, 42, .8);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--text-inverse: #0f172a;--accent-primary: #3b82f6;--accent-secondary: #60a5fa;--accent-tertiary: #93c5fd;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--border-primary: #334155;--border-secondary: #475569;--border-accent: #3b82f6;--ascii-text-color: #e2e8f0;--ascii-bg-color: #1e293b;--ascii-border-color: #475569;--ascii-border-weight: 400;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Monaco", "Cascadia Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}html[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-overlay: rgba(255, 255, 255, .8);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-inverse: #f8fafc;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--border-accent: #3b82f6;--ascii-text-color: #1e293b;--ascii-bg-color: #f8fafc;--ascii-border-color: #334155;--ascii-border-weight: 500}@media (prefers-contrast: high){:root{--accent-primary: #2563eb;--text-muted: #475569;--border-primary: #475569;--ascii-text-color: #f8fafc;--ascii-bg-color: #0f172a;--ascii-border-color: #64748b;--ascii-border-weight: 600}html[data-theme=light]{--ascii-text-color: #0f172a;--ascii-bg-color: #ffffff;--ascii-border-color: #1e293b;--ascii-border-weight: 600}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms}}*{box-sizing:border-box}html{font-family:var(--font-family-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--line-height-normal);font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}body{margin:0;padding:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-sans);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0 0 var(--space-md) 0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-md) 0;color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}code{font-family:var(--font-family-mono);background-color:var(--bg-tertiary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary)}pre{font-family:var(--font-family-mono);background-color:var(--bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);overflow-x:auto;border:1px solid var(--border-primary)}pre code{background:none;padding:0;border-radius:0;font-family:JetBrains Mono,Fira Code,Monaco,Cascadia Code,SF Mono,Consolas,Liberation Mono,Menlo,monospace;white-space:pre;word-wrap:normal;word-break:normal;word-spacing:0;letter-spacing:0;line-height:1.2;color:var(--ascii-text-color, var(--text-primary));font-weight:var(--font-weight-normal);-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;font-variant-ligatures:none;font-feature-settings:"liga" 0}pre{background-color:var(--ascii-bg-color, var(--bg-secondary));border:1px solid var(--ascii-border-color, var(--border-primary));white-space:pre;scroll-behavior:smooth;position:relative}pre.contains-ascii-art{outline:none;transition:border-color var(--transition-fast)}pre.contains-ascii-art:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633}pre.ascii-overflowing:before{content:"";position:absolute;top:0;left:0;height:2px;background:linear-gradient(to right,var(--accent-primary) 0%,var(--accent-primary) var(--scroll-percentage, 0%),var(--border-primary) var(--scroll-percentage, 0%),var(--border-primary) 100%);width:100%;z-index:1;transition:background var(--transition-fast)}pre.ascii-overflowing:after{content:"";position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(to left,var(--ascii-bg-color, var(--bg-secondary)) 0%,transparent 100%);pointer-events:none;z-index:1}pre.astro-code.ascii-diagram,pre.astro-code.ascii-diagram code{font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Consolas,Liberation Mono,Menlo,monospace!important;line-height:1.15!important;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-variant-numeric:tabular-nums;color:var(--ascii-text-color, var(--text-primary))!important;background-color:var(--ascii-bg-color, var(--bg-secondary));font-weight:400;white-space:pre!important;word-spacing:0!important;letter-spacing:0!important}pre.astro-code[data-language=bash].ascii-diagram,pre.astro-code[data-language=bash].ascii-diagram code,pre.astro-code[data-language=shell].ascii-diagram,pre.astro-code[data-language=shell].ascii-diagram code,pre.astro-code[data-language=plaintext].ascii-diagram,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{font-family:JetBrains Mono,SF Mono,Monaco,monospace!important;line-height:1.1!important;font-size:var(--font-size-sm)!important;color:var(--ascii-text-color, var(--text-primary))!important;background-color:var(--ascii-bg-color, var(--bg-secondary))!important}pre.astro-code.ascii-diagram .line span{font-family:inherit;color:var(--ascii-text-color, inherit)!important;font-weight:inherit}.ascii-art,pre code.ascii-art,pre.ascii-art code{font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,monospace;line-height:1.1;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-variant-numeric:tabular-nums;color:var(--ascii-text-color, var(--text-primary));background-color:var(--ascii-bg-color, var(--bg-secondary));font-weight:400}.astro-code{background-color:var(--bg-secondary)!important;border:1px solid var(--border-primary)!important;border-radius:var(--radius-lg)!important;padding:var(--space-lg)!important;overflow-x:auto!important}.astro-code pre{background-color:transparent!important;border:none!important;padding:0!important;margin:0!important}.astro-code,.astro-code[data-theme=light],.astro-code[data-theme=github-light],.astro-code[data-theme=dark],.astro-code[data-theme=github-dark]{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}pre[style*="background-color: rgb(255, 255, 255)"],pre[style*="background-color: #ffffff"],pre[style*="background-color: #f6f8fa"],.astro-code[style*="background-color: rgb(255, 255, 255)"],.astro-code[style*="background-color: #ffffff"],.astro-code[style*="background-color: #f6f8fa"]{background-color:var(--bg-secondary)!important}.astro-code .line span{color:var(--shiki-dark)!important}html[data-theme=light] .astro-code .line span{color:var(--shiki-light)!important}.astro-code{--shiki-dark-bg: var(--bg-secondary);--shiki-dark: var(--text-primary);--shiki-light-bg: var(--bg-secondary);--shiki-light: var(--text-primary)}blockquote{border-left:4px solid var(--accent-primary);padding-left:var(--space-lg);margin:var(--space-lg) 0;font-style:italic;color:var(--text-secondary)}ul,ol{margin:var(--space-md) 0;padding-left:var(--space-xl);color:var(--text-secondary)}li{margin-bottom:var(--space-sm)}img{max-width:100%;height:auto;border-radius:var(--radius-lg)}hr{border:none;border-top:1px solid var(--border-primary);margin:var(--space-xl) 0}:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--accent-primary);color:var(--text-inverse);padding:8px;text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-tooltip)}.skip-link:focus{top:6px}@media (max-width: 1000px){pre code{font-size:var(--font-size-sm);line-height:1.2}.ascii-art,pre code.ascii-art,pre.ascii-art code,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{font-size:var(--font-size-sm)!important;line-height:1.15!important}}@media (max-width: 900px){pre{padding:var(--space-md) var(--space-lg);overflow-x:auto;-webkit-overflow-scrolling:touch}pre code{font-size:var(--font-size-sm);line-height:1.18}}@media (max-width: 800px){pre{padding:var(--space-sm) var(--space-md);overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x}pre code{font-size:var(--font-size-xs);line-height:1.15}.ascii-art,pre code.ascii-art,pre.ascii-art code,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{font-size:var(--font-size-xs)!important;line-height:1.12!important}}@media (max-width: 720px){pre{padding:var(--space-sm) var(--space-md);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:pan-x;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}pre::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:var(--radius-sm)}pre::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}pre code{font-size:var(--font-size-xs);line-height:1.15;min-width:max-content;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ascii-art,pre code.ascii-art,pre.ascii-art code,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{line-height:1.1!important;font-size:var(--font-size-xs)!important;white-space:pre!important;word-wrap:normal!important;word-break:normal!important;letter-spacing:0!important;word-spacing:0!important}pre:after{content:"← Scroll to view full diagram →";display:block;text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-sm);font-family:var(--font-family-sans);opacity:.7}pre:not([data-overflowing]):after{display:none}}@media (max-width: 480px){pre{padding:var(--space-xs) var(--space-sm);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:auto}pre::-webkit-scrollbar{height:12px}pre code{font-size:calc(var(--font-size-xs) * .9);line-height:1.1;white-space:pre;word-wrap:normal}.ascii-art,pre code.ascii-art,pre.ascii-art code,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{font-size:calc(var(--font-size-xs) * .9)!important;line-height:1.05!important;letter-spacing:0!important;word-spacing:0!important;font-variant-numeric:tabular-nums}pre:after{content:"👈 Swipe to scroll 👉";font-size:calc(var(--font-size-xs) * .85);padding:var(--space-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-top:var(--space-xs)}}@media (max-width: 720px) and (orientation: landscape){pre{padding:var(--space-xs) var(--space-md);max-height:60vh;overflow-y:auto}pre code{font-size:var(--font-size-sm);line-height:1.15}.ascii-art,pre code.ascii-art,pre.ascii-art code,pre.astro-code[data-language=plaintext].ascii-diagram code,pre.astro-code[data-language=""].ascii-diagram code,pre.astro-code:not([data-language]).ascii-diagram code{font-size:var(--font-size-sm)!important;line-height:1.12!important}}
