Files
cyper-nix/nixos/roles/user.vaultwarden.scss.hbs
T

375 lines
13 KiB
Handlebars
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ===== Catppuccin for Vaultwarden ===== */
/* Light: Latte | Dark: Mocha */
:root {
/* ---------- Palette ---------- */
--ctp-rosewater: #dc8a78;
--ctp-flamingo: #dd7878;
--ctp-pink: #ea76cb;
--ctp-mauve: #8839ef;
--ctp-red: #d20f39;
--ctp-maroon: #e64553;
--ctp-peach: #fe640b;
--ctp-yellow: #df8e1d;
--ctp-green: #40a02b;
--ctp-teal: #179299;
--ctp-sky: #04a5e5;
--ctp-sapphire: #209fb5;
--ctp-blue: #1e66f5;
--ctp-lavender: #7287fd;
--ctp-text: #4c4f69;
--ctp-subtext1: #5c5f77;
--ctp-subtext0: #6c6f85;
--ctp-overlay2: #7c7f93;
--ctp-overlay1: #8c8fa1;
--ctp-overlay0: #9ca0b0;
--ctp-surface2: #acb0be;
--ctp-surface1: #bcc0cc;
--ctp-surface0: #ccd0da;
--ctp-base: #eff1f5;
--ctp-mantle: #e6e9ef;
--ctp-crust: #dce0e8;
/* ---------- Semantic mappings ---------- */
--color-white: #ffffff;
--color-black: #000000;
--color-white-rgb: 255, 255, 255;
--color-black-rgb: 0, 0, 0;
/* Grays (using Catppuccin surface hierarchy) */
--color-gray-050: var(--ctp-base);
--color-gray-100: var(--ctp-mantle);
--color-gray-200: var(--ctp-crust);
--color-gray-300: var(--ctp-surface0);
--color-gray-400: var(--ctp-surface1);
--color-gray-400-rgb: 188, 192, 204; /* approx surface1 */
--color-gray-500: var(--ctp-surface2);
--color-gray-600: var(--ctp-overlay0);
--color-gray-700: var(--ctp-overlay1);
--color-gray-800: var(--ctp-overlay2);
--color-gray-900: var(--ctp-text);
--color-gray-950: var(--ctp-subtext0);
--color-gray-950-rgb: 108, 111, 133; /* subtext0 */
/* Brand / Primary (using Blue) */
--color-brand-050: #eef6ff; /* keep similar, but well use surface tints? We'll just leave as is or tint */
--color-brand-100: var(--ctp-surface0);
--color-brand-200: var(--ctp-surface1);
--color-brand-300: #8ec5ff;
--color-brand-400: #6baefa;
--color-brand-500: var(--ctp-blue);
--color-brand-600: var(--ctp-blue);
--color-brand-700: var(--ctp-blue);
--color-brand-800: #0d43af; /* keep a dark blue for contrast */
--color-brand-900: #0c3276;
--color-brand-950: #162455;
--color-brand-950-rgb: 22, 36, 85;
/* Red */
--color-red-050: var(--ctp-surface0);
--color-red-100: var(--ctp-mantle);
--color-red-200: var(--ctp-crust);
--color-red-300: var(--ctp-red);
--color-red-400: var(--ctp-red);
--color-red-500: var(--ctp-red);
--color-red-600: var(--ctp-red);
--color-red-700: var(--ctp-red);
--color-red-800: var(--ctp-maroon);
--color-red-900: var(--ctp-maroon);
--color-red-950: var(--ctp-maroon);
/* Orange / Warning */
--color-orange-050: var(--ctp-surface0);
--color-orange-100: var(--ctp-mantle);
--color-orange-200: var(--ctp-crust);
--color-orange-300: var(--ctp-peach);
--color-orange-400: var(--ctp-peach);
--color-orange-500: var(--ctp-peach);
--color-orange-600: var(--ctp-peach);
--color-orange-700: var(--ctp-peach);
--color-orange-800: var(--ctp-yellow);
--color-orange-900: var(--ctp-yellow);
--color-orange-950: var(--ctp-yellow);
/* Yellow */
--color-yellow-050: var(--ctp-surface0);
--color-yellow-100: var(--ctp-mantle);
--color-yellow-200: var(--ctp-crust);
--color-yellow-300: var(--ctp-yellow);
--color-yellow-400: var(--ctp-yellow);
--color-yellow-500: var(--ctp-yellow);
--color-yellow-600: var(--ctp-yellow);
--color-yellow-700: var(--ctp-yellow);
--color-yellow-800: var(--ctp-yellow);
--color-yellow-900: var(--ctp-yellow);
--color-yellow-950: var(--ctp-yellow);
/* Green / Success */
--color-green-050: var(--ctp-surface0);
--color-green-100: var(--ctp-mantle);
--color-green-200: var(--ctp-crust);
--color-green-300: var(--ctp-green);
--color-green-400: var(--ctp-green);
--color-green-500: var(--ctp-green);
--color-green-600: var(--ctp-green);
--color-green-700: var(--ctp-green);
--color-green-800: var(--ctp-teal);
--color-green-900: var(--ctp-teal);
--color-green-950: var(--ctp-teal);
/* Pink */
--color-pink-050: var(--ctp-surface0);
--color-pink-100: var(--ctp-mantle);
--color-pink-200: var(--ctp-crust);
--color-pink-300: var(--ctp-pink);
--color-pink-400: var(--ctp-pink);
--color-pink-500: var(--ctp-pink);
--color-pink-600: var(--ctp-pink);
--color-pink-700: var(--ctp-mauve);
--color-pink-800: var(--ctp-mauve);
--color-pink-900: var(--ctp-mauve);
--color-pink-950: var(--ctp-mauve);
/* Coral (use Peach) */
--color-coral-050: var(--ctp-surface0);
--color-coral-100: var(--ctp-mantle);
--color-coral-200: var(--ctp-crust);
--color-coral-300: var(--ctp-peach);
--color-coral-400: var(--ctp-peach);
--color-coral-500: var(--ctp-peach);
--color-coral-600: var(--ctp-peach);
--color-coral-700: var(--ctp-peach);
--color-coral-800: var(--ctp-peach);
--color-coral-900: var(--ctp-peach);
--color-coral-950: var(--ctp-peach);
/* Teal */
--color-teal-050: var(--ctp-surface0);
--color-teal-100: var(--ctp-mantle);
--color-teal-200: var(--ctp-crust);
--color-teal-300: var(--ctp-teal);
--color-teal-400: var(--ctp-teal);
--color-teal-500: var(--ctp-teal);
--color-teal-600: var(--ctp-teal);
--color-teal-700: var(--ctp-teal);
--color-teal-800: var(--ctp-sky);
--color-teal-900: var(--ctp-sky);
--color-teal-950: var(--ctp-sky);
/* Purple (use Mauve) */
--color-purple-050: var(--ctp-surface0);
--color-purple-100: var(--ctp-mantle);
--color-purple-200: var(--ctp-crust);
--color-purple-300: var(--ctp-mauve);
--color-purple-400: var(--ctp-mauve);
--color-purple-500: var(--ctp-mauve);
--color-purple-600: var(--ctp-mauve);
--color-purple-700: var(--ctp-mauve);
--color-purple-800: var(--ctp-mauve);
--color-purple-900: var(--ctp-mauve);
--color-purple-950: var(--ctp-mauve);
/* Semantic foreground / background aliases */
--color-fg-heading: var(--ctp-text);
--color-fg-body: var(--ctp-text);
--color-fg-body-subtle: var(--ctp-subtext1);
--color-fg-disabled: var(--ctp-overlay0);
--color-fg-brand: var(--ctp-blue);
--color-fg-success: var(--ctp-green);
--color-fg-danger: var(--ctp-red);
--color-fg-warning: var(--ctp-peach);
--color-fg-sensitive: var(--ctp-pink);
--color-bg-primary: var(--ctp-base);
--color-bg-secondary: var(--ctp-mantle);
--color-bg-tertiary: var(--ctp-crust);
--color-bg-quaternary: var(--ctp-surface0);
--color-bg-disabled: var(--ctp-surface0);
--color-bg-gray: var(--ctp-surface1);
--color-bg-gray-strong: var(--ctp-surface2);
--color-bg-contrast-soft: var(--ctp-overlay1);
--color-bg-contrast: var(--ctp-overlay2);
--color-bg-contrast-strong: var(--ctp-text);
--color-border-muted: var(--ctp-mantle);
--color-border-light: var(--ctp-crust);
--color-border-base: var(--ctp-surface0);
--color-border-strong: var(--ctp-surface1);
--color-border-stronger: var(--ctp-overlay0);
--color-bg-hover: rgba(var(--color-gray-950-rgb), 0.05);
--color-bg-hover-contrast: rgba(255, 255, 255, 0.05);
--color-bg-overlay: rgba(2, 6, 24, 0.3); /* keep dark overlay */
/* Navigation (primary sidebar) */
--color-nav-fg-primary: var(--ctp-text);
--color-nav-bg-primary: var(--ctp-mantle);
--color-nav-bg-primary-strong: var(--ctp-crust);
--color-nav-bg-primary-hover: rgba(0,0,0,0.05);
--color-nav-bg-primary-hover-strong: rgba(0,0,0,0.1);
--color-nav-border-primary: var(--ctp-blue);
--color-nav-border-primary-focus: var(--ctp-text);
/* Misc */
--color-transparent-hover: rgb(0 0 0 / 0.02);
--color-shadow: 108 111 133; /* subtext0 */
--color-background: 239 241 245; /* base */
--color-background-alt: 230 233 239; /* mantle */
--color-background-alt2: 23 92 219; /* keep as original? We'll set to blue */
--color-background-alt3: 33 37 41; /* we map to crust rgb */
--color-background-alt4: 16 18 21;
--color-primary-100: 219 229 246; /* we map to surface0 */
--color-primary-300: 108 117 125;
--color-primary-600: 30 102 245; /* blue */
--color-primary-700: 13 60 119;
--color-secondary-100: 188 192 204;
--color-secondary-300: 156 160 176;
--color-secondary-500: 124 127 147;
--color-secondary-600: 108 111 133;
--color-secondary-700: 92 95 119;
--color-info-100: 219 229 246;
--color-info-600: 30 102 245;
--color-info-700: 13 36 123;
--color-warning-100: 255 244 212;
--color-warning-600: 254 100 11; /* peach */
--color-warning-700: 223 142 29; /* yellow */
--color-danger-100: 255 236 239;
--color-danger-600: 210 15 57; /* red */
--color-danger-700: 149 27 42;
--color-success-100: 213 243 216;
--color-success-600: 64 160 43; /* green */
--color-success-700: 8 81 15;
--color-notification-100: 255 225 247;
--color-notification-600: 192 17 118;
--color-text-main: 27 32 41; /* will be overridden by CT-Text */
--color-text-muted: 108 111 133;
--color-text-contrast: 255 255 255;
--color-text-alt2: 255 255 255;
--color-text-code: 234 118 203; /* pink */
--color-hover-default: rgba(30 102 245 / 0.1);
--color-hover-contrast: rgba(255 255 255 / 0.15);
}
/* ===== Dark Theme (Mocha) ===== */
[data-theme="dark"] {
--ctp-rosewater: #f5e0dc;
--ctp-flamingo: #f2cdcd;
--ctp-pink: #f5c2e7;
--ctp-mauve: #cba6f7;
--ctp-red: #f38ba8;
--ctp-maroon: #eba0ac;
--ctp-peach: #fab387;
--ctp-yellow: #f9e2af;
--ctp-green: #a6e3a1;
--ctp-teal: #94e2d5;
--ctp-sky: #89dceb;
--ctp-sapphire: #74c7ec;
--ctp-blue: #89b4fa;
--ctp-lavender: #b4befe;
--ctp-text: #cdd6f4;
--ctp-subtext1: #bac2de;
--ctp-subtext0: #a6adc8;
--ctp-overlay2: #9399b2;
--ctp-overlay1: #7f849c;
--ctp-overlay0: #6c7086;
--ctp-surface2: #585b70;
--ctp-surface1: #45475a;
--ctp-surface0: #313244;
--ctp-base: #1e1e2e;
--ctp-mantle: #181825;
--ctp-crust: #11111b;
/* Grays */
--color-gray-050: var(--ctp-base);
--color-gray-100: var(--ctp-mantle);
--color-gray-200: var(--ctp-crust);
--color-gray-300: var(--ctp-surface0);
--color-gray-400: var(--ctp-surface1);
--color-gray-500: var(--ctp-surface2);
--color-gray-600: var(--ctp-overlay0);
--color-gray-700: var(--ctp-overlay1);
--color-gray-800: var(--ctp-overlay2);
--color-gray-900: var(--ctp-text);
--color-gray-950: var(--ctp-subtext0);
--color-gray-400-rgb: 69, 71, 90; /* surface1 */
--color-gray-950-rgb: 166, 173, 200; /* subtext0 */
/* Adjust semantic mappings for dark */
--color-fg-heading: var(--ctp-text);
--color-fg-body: var(--ctp-text);
--color-fg-body-subtle: var(--ctp-subtext1);
--color-fg-disabled: var(--ctp-overlay0);
--color-fg-brand: var(--ctp-blue);
--color-fg-success: var(--ctp-green);
--color-fg-danger: var(--ctp-red);
--color-fg-warning: var(--ctp-peach);
--color-fg-sensitive: var(--ctp-pink);
--color-bg-primary: var(--ctp-base);
--color-bg-secondary: var(--ctp-mantle);
--color-bg-tertiary: var(--ctp-crust);
--color-bg-quaternary: var(--ctp-surface0);
--color-bg-disabled: var(--ctp-surface0);
--color-bg-gray: var(--ctp-surface1);
--color-bg-gray-strong: var(--ctp-surface2);
--color-bg-contrast-soft: var(--ctp-overlay1);
--color-bg-contrast: var(--ctp-overlay2);
--color-bg-contrast-strong: var(--ctp-text);
--color-border-muted: var(--ctp-mantle);
--color-border-light: var(--ctp-crust);
--color-border-base: var(--ctp-surface0);
--color-border-strong: var(--ctp-surface1);
--color-border-stronger: var(--ctp-overlay0);
--color-bg-hover: rgba(166, 173, 200, 0.1);
--color-bg-hover-contrast: rgba(255, 255, 255, 0.05);
--color-bg-overlay: rgba(17, 17, 27, 0.7); /* crust with opacity */
--color-nav-fg-primary: var(--ctp-text);
--color-nav-bg-primary: var(--ctp-mantle);
--color-nav-bg-primary-strong: var(--ctp-crust);
--color-nav-bg-primary-hover: rgba(255,255,255,0.05);
--color-nav-bg-primary-hover-strong: rgba(255,255,255,0.1);
--color-nav-border-primary: var(--ctp-blue);
--color-nav-border-primary-focus: var(--ctp-text);
/* Misc rgb values */
--color-shadow: 166 173 200;
--color-background: 30 30 46; /* base */
--color-background-alt: 24 24 37; /* mantle */
--color-background-alt2: 137 180 250; /* blue */
--color-background-alt3: 17 17 27; /* crust */
--color-background-alt4: 17 17 27;
--color-primary-100: 49 50 68;
--color-primary-300: 69 71 90;
--color-primary-600: 137 180 250; /* blue */
--color-primary-700: 137 180 250;
--color-secondary-100: 69 71 90;
--color-secondary-300: 88 91 112;
--color-secondary-500: 108 112 134;
--color-secondary-600: 124 128 150;
--color-secondary-700: 147 153 178;
--color-info-100: 49 50 68;
--color-info-600: 137 180 250;
--color-info-700: 137 180 250;
--color-warning-100: 49 50 68;
--color-warning-600: 250 179 135; /* peach */
--color-warning-700: 249 226 175; /* yellow */
--color-danger-100: 49 50 68;
--color-danger-600: 243 139 168; /* red */
--color-danger-700: 235 160 172; /* maroon */
--color-success-100: 49 50 68;
--color-success-600: 166 227 161; /* green */
--color-success-700: 148 226 213; /* teal */
--color-notification-100: 49 50 68;
--color-notification-600: 245 194 231; /* pink */
--color-text-main: 205 214 244; /* text */
--color-text-muted: 166 173 200;
--color-text-contrast: 30 30 46;
--color-text-alt2: 30 30 46;
--color-text-code: 245 194 231;
--color-hover-default: rgba(137 180 250 / 0.1);
--color-hover-contrast: rgba(30 30 46 / 0.15);
}