@import "tailwindcss"; /* ── Custom Design System ─────────────────────────────────────────────── */ @theme { --color-surface: #1A1A19; --color-surface-alt: #1F1F1E; --color-border: #2B2B2A; --color-border-light: #3D3D3C; --color-text-primary: #E8E7E3; --color-text-secondary: #A3A3A0; --color-text-muted: #7A7A76; /* Archival Memory Tones */ --color-episodic: #6B7F82; --color-semantic: #8A7B88; --color-procedural: #8C7D62; --color-accent: #5C7C8A; } /* ── Root ─────────────────────────────────────────────────────────────── */ :root { /* Default font is now Newsreader for editorial feel */ font-family: 'Newsreader', 'Times New Roman', serif; line-height: 1.6; font-weight: 400; color: var(--color-text-primary); background-color: #111110; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } * { margin: 0; padding: 0; box-sizing: border-box; } body { min-height: 100vh; background: #111110; font-size: 18px; /* Slightly larger base size for editorial reading */ } #root { min-height: 100vh; display: flex; } /* ── Typography Roles ─────────────────────────────────────────────────── */ .font-mono { font-family: 'JetBrains Mono', monospace; font-size: 0.85em; /* Scale down mono slightly */ letter-spacing: -0.01em; } .font-serif { font-family: 'Newsreader', 'Times New Roman', serif; } /* ── Scrollbar ────────────────────────────────────────────────────────── */ ::-webkit-scrollbar { width: 4px; height: 4px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--color-border); } ::-webkit-scrollbar-thumb:hover { background: var(--color-text-muted); } /* ── Animations ──────────────────────────────────────────────────────── */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .animate-fade-in { animation: fadeIn 0.8s ease-out forwards; } /* ── Archival UI Elements (No more glass cards) ─────────────────────── */ input, button { font-family: 'JetBrains Mono', monospace; } input:focus { outline: none; } /* Chat container resets */ .chat-stream { max-width: 720px; margin: 0 auto; width: 100%; } .chat-role-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-text-muted); margin-bottom: 4px; } .chat-content { font-size: 18px; line-height: 1.6; color: var(--color-text-primary); } .chat-content-user { color: var(--color-text-secondary); } /* ── Score Bar ────────────────────────────────────────────────────────── */ .score-bar-fill { transition: width 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); } /* ── D3 Graph Tooltip ────────────────────────────────────────────────── */ .graph-tooltip { position: absolute; background: var(--color-surface); border: 1px solid var(--color-border); padding: 12px; pointer-events: none; z-index: 50; max-width: 280px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); font-family: 'JetBrains Mono', monospace; }