@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap'); @import "tailwindcss"; @theme { /* === Animal Crossing × Claude Palette === */ /* Backgrounds */ --color-cream: #FAF8F2; --color-cream-dark: #F0EBDF; --color-warm-white: #FFFDF9; /* Forest / Nook Green system */ --color-forest: #2A4D38; --color-forest-mid: #345E46; --color-forest-light: #4D7A5E; --color-leaf: #5E9E70; --color-leaf-dark: #3D7A52; --color-leaf-light: #B8DEC4; --color-leaf-pale: #EBF7EE; /* Amber / warm accents */ --color-amber-glow: #E8943A; --color-amber-dark: #C97828; --color-amber-soft: #F5C882; --color-amber-pale: #FFF4E0; /* Neutrals */ --color-charcoal: #2C2420; --color-warm-gray: #7A7268; --color-sand: #DECFB8; --color-sand-light: #EDE3D4; --color-blush: #F2D1B3; /* Sidebar */ --color-sidebar-bg: #2A4D38; --color-sidebar-hover: #345E46; --color-sidebar-active: #3D6E52; /* Fonts */ --font-display: 'Playfair Display', Georgia, serif; --font-body: 'Nunito', 'Nunito Sans', system-ui, sans-serif; } * { box-sizing: border-box; } body { margin: 0; font-family: var(--font-body); background-color: var(--color-cream); color: var(--color-charcoal); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ── Scrollbar ─────────────────────────────────────── */ ::-webkit-scrollbar { width: 5px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--color-sand); border-radius: 99px; } ::-webkit-scrollbar-thumb:hover { background: var(--color-warm-gray); } /* ── Markdown in answer bubbles ─────────────────────── */ .markdown-content p { margin: 0.5em 0; line-height: 1.7; } .markdown-content p:first-child { margin-top: 0; } .markdown-content p:last-child { margin-bottom: 0; } .markdown-content h1, .markdown-content h2, .markdown-content h3 { font-family: var(--font-display); font-weight: 600; margin: 1em 0 0.4em; line-height: 1.3; color: var(--color-charcoal); } .markdown-content h1 { font-size: 1.2rem; } .markdown-content h2 { font-size: 1.05rem; } .markdown-content h3 { font-size: 0.95rem; } .markdown-content ul, .markdown-content ol { padding-left: 1.4em; margin: 0.5em 0; } .markdown-content li { margin: 0.3em 0; line-height: 1.6; } .markdown-content code { background: rgba(0,0,0,0.06); padding: 0.15em 0.4em; border-radius: 5px; font-size: 0.85em; font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace; } .markdown-content pre { background: var(--color-charcoal); color: #F0EBDF; padding: 1em 1.1em; border-radius: 12px; overflow-x: auto; margin: 0.8em 0; } .markdown-content pre code { background: none; padding: 0; color: inherit; } .markdown-content a { color: var(--color-leaf-dark); text-decoration: underline; text-underline-offset: 2px; } .markdown-content blockquote { border-left: 3px solid var(--color-amber-soft); padding-left: 1em; margin: 0.75em 0; color: var(--color-warm-gray); font-style: italic; } .markdown-content strong { font-weight: 700; } .markdown-content em { font-style: italic; } /* ── Animations ─────────────────────────────────────── */ @keyframes fadeSlideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .message-enter { animation: fadeSlideUp 0.3s ease-out forwards; } @keyframes catPulse { 0%, 80%, 100% { opacity: 0.25; transform: scale(0.75); } 40% { opacity: 1; transform: scale(1); } } .loading-dot { animation: catPulse 1.4s ease-in-out infinite; } .loading-dot:nth-child(2) { animation-delay: 0.2s; } .loading-dot:nth-child(3) { animation-delay: 0.4s; } @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } .skeleton-shimmer { background: linear-gradient(90deg, var(--color-sand-light) 25%, var(--color-cream) 50%, var(--color-sand-light) 75% ); background-size: 200% 100%; animation: shimmer 1.8s ease-in-out infinite; } /* ── Toggle switch ──────────────────────────────────── */ .toggle-track { width: 36px; height: 20px; border-radius: 99px; background: var(--color-sand); position: relative; transition: background 0.2s; cursor: pointer; } .toggle-track.checked { background: var(--color-leaf); } .toggle-thumb { width: 14px; height: 14px; background: white; border-radius: 99px; position: absolute; top: 3px; left: 3px; transition: transform 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.15); } .toggle-track.checked .toggle-thumb { transform: translateX(16px); }