Files
narlblog/frontend/src/styles/global.css

139 lines
5.8 KiB
CSS

@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; }