@import "tailwindcss"; /* * NARLBLOG PROFESSIONAL THEME ENGINE * All UI components are automatically linked to these tokens. */ @theme { --color-crust: var(--crust); --color-mantle: var(--mantle); --color-base: var(--base); --color-surface0: var(--surface0); --color-surface1: var(--surface1); --color-surface2: var(--surface2); --color-overlay0: var(--overlay0); --color-overlay1: var(--overlay1); --color-overlay2: var(--overlay2); --color-text: var(--text); --color-subtext0: var(--subtext0); --color-subtext1: var(--subtext1); --color-blue: var(--blue); --color-lavender: var(--lavender); --color-sapphire: var(--sapphire); --color-sky: var(--sky); --color-teal: var(--teal); --color-green: var(--green); --color-yellow: var(--yellow); --color-peach: var(--peach); --color-maroon: var(--maroon); --color-red: var(--red); --color-mauve: var(--mauve); --color-pink: var(--pink); --color-flamingo: var(--flamingo); --color-rosewater: var(--rosewater); } :root, .mocha { --crust: #11111b; --mantle: #181825; --base: #1e1e2e; --surface0: #313244; --surface1: #45475a; --surface2: #585b70; --overlay0: #6c7086; --overlay1: #7f849c; --overlay2: #9399b2; --text: #cdd6f4; --subtext0: #a6adc8; --subtext1: #bac2de; --blue: #89b4fa; --lavender: #b4befe; --sapphire: #74c7ec; --sky: #89dceb; --teal: #94e2d5; --green: #a6e3a1; --yellow: #f9e2af; --peach: #fab387; --maroon: #eba0ac; --red: #f38ba8; --mauve: #cba6f7; --pink: #f5c2e7; --flamingo: #f2cdcd; --rosewater: #f5e0dc; } .macchiato { --crust: #181926; --mantle: #1e2030; --base: #24273a; --surface0: #363a4f; --surface1: #494d64; --surface2: #5b6078; --overlay0: #6e738d; --overlay1: #8087a2; --overlay2: #939ab7; --text: #cad3f5; --subtext0: #a5adcb; --subtext1: #b8c0e0; --blue: #8aadf4; --lavender: #b7bdf8; --sapphire: #7dc4e4; --sky: #91d7e3; --teal: #8bd5ca; --green: #a6da95; --yellow: #eed49f; --peach: #f5a97f; --maroon: #ee99a0; --red: #ed8796; --mauve: #c6a0f6; --pink: #f5bde6; --flamingo: #f0c1c1; --rosewater: #f4dbd6; } .frappe { --crust: #232634; --mantle: #292c3c; --base: #303446; --surface0: #414559; --surface1: #51576d; --surface2: #626880; --overlay0: #737994; --overlay1: #838ba7; --overlay2: #949cbb; --text: #c6d0f5; --subtext0: #a5adce; --subtext1: #b5bfe3; --blue: #8caaee; --lavender: #babbf1; --sapphire: #85c1dc; --sky: #99d1db; --teal: #81c8be; --green: #a6d189; --yellow: #e5c890; --peach: #ef9f76; --maroon: #ea999c; --red: #e78284; --mauve: #ca9ee6; --pink: #f4b8e4; --flamingo: #eebebe; --rosewater: #f2d5cf; } /* Highly optimized light mode colors */ .latte { --crust: #e6e9ef; --mantle: #dce0e8; --base: #eff1f5; --surface0: #ccd0da; --surface1: #bcc0cc; --surface2: #acb0be; --overlay0: #9ca0b0; --overlay1: #8c8fa1; --overlay2: #7c7f93; --text: #1e1e2e; --subtext0: #4c4f69; --subtext1: #5c5f77; --blue: #1e66f5; --lavender: #7287fd; --sapphire: #209fb5; --sky: #04a5e5; --teal: #179299; --green: #40a02b; --yellow: #df8e1d; --peach: #fe640b; --maroon: #e64553; --red: #d20f39; --mauve: #8839ef; --pink: #ea76cb; --flamingo: #dd7878; --rosewater: #dc8a78; } .scaled-and-icy { --crust: #ffffff; --mantle: #f8f9fa; --base: #f0f2f5; --surface0: #e4e7eb; --surface1: #d1d5db; --surface2: #9ca3af; --overlay0: #6b7280; --overlay1: #4b5563; --overlay2: #374151; --text: #111827; --subtext0: #374151; --subtext1: #4b5563; --blue: #5cdbdf; --lavender: #8ab4f8; --sapphire: #38bdf8; --sky: #0ea5e9; --teal: #2dd4bf; --green: #34d399; --yellow: #fcd34d; --peach: #fbbf24; --maroon: #f43f5e; --red: #ef4444; --mauve: #f0498b; --pink: #ec4899; --flamingo: #f472b6; --rosewater: #fda4af; } body { background-color: var(--base); color: var(--text) !important; min-height: 100vh; transition: background-color 0.3s ease, color 0.3s ease; } /* Professional Typography */ .prose { color: var(--text) !important; } .prose h1 { @apply text-3xl md:text-4xl font-bold mb-4 md:mb-6; color: var(--mauve) !important; } .prose h2 { @apply text-2xl md:text-3xl font-semibold mb-3 md:mb-4 mt-6 md:mt-8; color: var(--lavender) !important; } .prose h3 { @apply text-xl md:text-2xl font-medium mb-2 md:mb-3 mt-4 md:mt-6; color: var(--blue) !important; } .prose p { @apply mb-3 md:mb-4 leading-relaxed text-sm md:text-base; color: var(--text) !important; } .prose blockquote { @apply border-l-4 border-surface2 pl-4 italic my-4 md:my-6; color: var(--subtext0) !important; } .prose pre { @apply p-3 md:p-4 rounded-xl overflow-x-auto border border-white/5 my-4 md:my-6 text-xs md:text-sm; background-color: var(--crust) !important; } .prose code { @apply bg-surface0 px-1.5 py-0.5 rounded text-xs md:text-sm font-mono; color: var(--peach) !important; } .prose pre code { background-color: transparent !important; padding: 0 !important; border-radius: 0 !important; color: inherit !important; } /* Dynamic UI Components */ .glass { background-color: color-mix(in srgb, var(--surface0) 60%, transparent); backdrop-filter: blur(12px); border: 1px solid color-mix(in srgb, var(--text) 10%, transparent); box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5); border-radius: 1rem; } .cm-s-narlblog.CodeMirror { background: var(--crust) !important; color: var(--text) !important; border: 1px solid var(--surface1); } .cm-s-narlblog .cm-header { color: var(--mauve) !important; } .cm-s-narlblog .cm-string { color: var(--green) !important; } .cm-s-narlblog .cm-keyword { color: var(--mauve) !important; font-weight: bold; } .cm-s-narlblog .CodeMirror-cursor { border-left-color: var(--text) !important; } .hljs { color: var(--text) !important; background: transparent !important; } .hljs-keyword, .hljs-selector-tag { color: var(--mauve) !important; font-weight: bold; } .hljs-string { color: var(--green) !important; } .hljs-comment { color: var(--subtext0) !important; font-style: italic; }