:root{--color-bg: #fafafa;--color-bg-alt: #f4f4f4;--color-text: #1a1a1a;--color-text-muted: #555555;--color-border: #222222;--color-border-light: #cccccc;--color-accent: #0066cc;--color-accent-muted: #4d94db;--color-ascii-border: #333333;--color-ascii-bg: #f8f8f8;--viz-bg: linear-gradient(135deg, #0a0a12 0%, #1a1a2e 50%, #0f0f1a 100%);--viz-human: #00d9ff;--viz-ai: #ff6b9d;--viz-context: #00ff88;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--max-width-content: 750px;--max-width-wide: 900px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-normal);padding:var(--space-4);max-width:var(--max-width-content);margin:0 auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);margin-bottom:var(--space-4)}h1{font-size:var(--text-3xl);text-align:center;margin-bottom:var(--space-6)}h2{font-size:var(--text-2xl);margin-top:var(--space-12);margin-bottom:var(--space-6)}h3{font-size:var(--text-xl);margin-top:var(--space-8)}p{margin-bottom:var(--space-6)}a{color:inherit;text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-accent)}strong{font-weight:600}ul,ol{margin-bottom:var(--space-6);padding-left:var(--space-8)}li{margin-bottom:var(--space-2)}li::marker{color:var(--color-text-muted)}code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-ascii-bg);padding:.15em .4em;border-radius:3px}pre{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--color-ascii-bg);padding:var(--space-4);overflow-x:auto;margin-bottom:var(--space-6);border-left:3px solid var(--color-border)}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-muted);font-style:italic}@media(max-width:768px){body{padding:var(--space-2)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}.ascii-box{position:relative;padding:var(--space-4);margin:var(--space-6) 0;background-color:var(--color-ascii-bg)}.ascii-box:before{content:"┌" attr(data-top-border) "┐";display:block;position:absolute;top:0;left:0;right:0;color:var(--color-ascii-border);font-size:var(--text-sm);white-space:pre;overflow:hidden}.ascii-box-single{border:1px solid var(--color-border-light)}.ascii-box-double{border:2px solid var(--color-border)}.ascii-divider{text-align:center;margin:var(--space-8) 0;color:var(--color-ascii-border);font-size:var(--text-sm);overflow:hidden;white-space:nowrap}.ascii-divider-solid:before,.ascii-divider-solid:after{content:"────────────────────────────────────────"}.ascii-divider-double:before,.ascii-divider-double:after{content:"════════════════════════════════════════"}.ascii-divider-label{display:inline-block;padding:0 var(--space-4)}.ascii-header{text-align:center;margin:var(--space-8) 0 var(--space-6)}.ascii-header-border{color:var(--color-ascii-border);font-size:var(--text-sm);letter-spacing:0}.ascii-header-text{padding:var(--space-2) var(--space-4)}.ascii-diagram{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.4;background-color:var(--color-ascii-bg);padding:var(--space-4);margin:var(--space-6) 0;overflow-x:auto;white-space:pre;border:1px solid var(--color-border-light)}.ascii-marker{color:var(--color-ascii-border);margin-right:var(--space-2)}.ascii-bullet:before{content:"► ";color:var(--color-text-muted)}.ascii-arrow:before{content:"→ ";color:var(--color-text-muted)}.ascii-list{list-style:none;padding-left:var(--space-4)}.ascii-list li{position:relative;padding-left:var(--space-6)}.ascii-list li:before{content:"├─";position:absolute;left:0;color:var(--color-ascii-border)}.ascii-list li:last-child:before{content:"└─"}.terminal-prompt:before{content:"$ ";color:var(--color-text-muted)}.terminal-output{color:var(--color-text-muted);padding-left:var(--space-4)}
