/* Vibe AI: Midnight. Load AFTER the four base stylesheets. */ :root, [data-theme] { color-scheme: dark; --kt-ai-bg: #0f1011; --kt-ai-bg-soft: #0f1011; --kt-ai-bg-elevated: #2e2e2e; --kt-ai-bg-sunken: #0f1011; --kt-ai-bg-glass: #2e2e2e; --kt-ai-bg-hover: #38334f; --kt-ai-bg-active: #38334f; --kt-ai-fg: #ffffff; --kt-ai-fg-muted: #aaa9ae; --kt-ai-fg-faint: #aaa9ae; --kt-ai-fg-on-fill: #090a0b; --kt-ai-border: #444448; --kt-ai-border-strong: #aaa9ae; --kt-ai-divider: #444448; --kt-ai-card-bg: #2e2e2e; --kt-ai-card-bg-glow: #2e2e2e; --kt-ai-card-border: #444448; --kt-ai-card-border-hover: #aaa9ae; --kt-ai-primary: #ffffff; --kt-ai-primary-hover: #ffffff; --kt-ai-primary-subtle: #38334f; --kt-ai-link: #c4bfff; --kt-ai-brand-blue: #847dff; --kt-ai-selection: #38334f; --kt-ai-focus-ring: #c4bfff; --kt-ai-focus-shadow: 0 0 0 3px #38334f; --kt-ai-chip-default-bg: #38334f; --kt-ai-chip-default-fg: #ffffff; --kt-ai-font-sans: Inter, system-ui, sans-serif; --kt-ai-card-shadow: none; --kt-ai-card-shadow-hover: none; --vibe-accent: #847dff; --vibe-tint: #38334f; --vibe-heading-font: Georgia, "Times New Roman", serif; --vibe-heading-weight: 400; --vibe-card-radius: 16px; --vibe-button-radius: 8px; --vibe-field-radius: 8px; } body { background: var(--kt-ai-bg); color: var(--kt-ai-fg); font-family: var(--kt-ai-font-sans); } h1, h2, .kt-ai-h1, .kt-ai-h2 { font-family: var(--vibe-heading-font); font-weight: var(--vibe-heading-weight); letter-spacing: -.035em; } .kt-ai-hero h1 { font-size: clamp(36px, 5.5vw, 64px); line-height: 1.08; } .kt-ai-section { padding-block: clamp(32px, 6vw, 64px); } .kt-ai-pagehead, .kt-ai-cta, .kt-ai-pagefoot { background: var(--kt-ai-bg); color: var(--kt-ai-fg); } .kt-ai-tile, .kt-ai-card { background: var(--kt-ai-card-bg); border: 1px solid var(--kt-ai-card-border); border-radius: var(--vibe-card-radius); box-shadow: var(--kt-ai-card-shadow); } .kt-ai-btn, .kt-ai-btn[data-size] { border-radius: var(--vibe-button-radius); } .kt-ai-input, .kt-ai-select, .kt-ai-textarea { border-radius: var(--vibe-field-radius); } .vibe-highlight { background: var(--vibe-tint); color: var(--kt-ai-fg); border-radius: 4px; padding-inline: .12em; } .vibe-accent { color: var(--vibe-accent); }