fs-theme.css 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*
  2. fs-theme.css
  3. Shared design tokens for the ArozOS file system web apps (File Manager and
  4. File Selector). Only colours live here - no layout, no component rules.
  5. The tokens are declared on :root rather than on an app specific wrapper so
  6. both apps can read them from any element, and the dark palette is switched by
  7. the body.darkTheme class that both apps already toggle from the ArozOS system
  8. theme preference (file_explorer/theme) via ao_module_onThemeChanged.
  9. Naming: --fs-<role>. Prefer adding a role over hardcoding a hex value in an
  10. app stylesheet, otherwise dark mode silently misses it.
  11. */
  12. :root {
  13. /* Accent / primary action */
  14. --fs-accent: #1a73e8;
  15. --fs-accent-soft: #e8f0fe;
  16. --fs-accent-strong: #174ea6;
  17. --fs-primary-fg: #ffffff;
  18. --fs-primary-hover: #1765cc;
  19. /* Selection highlight. Deliberately light: several selected rows at once
  20. must stay readable instead of becoming one solid block of colour. */
  21. --fs-selected: #e9f1fe;
  22. --fs-selected-hover: #dde9fd;
  23. --fs-selected-line: #a8c7fa;
  24. /* Text */
  25. --fs-text: #1f2328;
  26. --fs-text-dim: #6b7280;
  27. --fs-text-faint: #9aa0a6;
  28. --fs-icon: #5f6368;
  29. /* Lines and fills */
  30. --fs-line: #e5e7eb;
  31. --fs-line-soft: #f0f1f3;
  32. --fs-fill: #f4f5f7;
  33. --fs-fill-hover: #eceef1;
  34. --fs-fill-active: #e2e5e9;
  35. /* Surfaces */
  36. --fs-bg: #ffffff;
  37. --fs-surface: #ffffff;
  38. --fs-pill-bg: #fbfbfc;
  39. --fs-thumb-bg: #fafbfc;
  40. --fs-row-hover: #f7f8fa;
  41. --fs-content-bg: #ffffff;
  42. /* Effects */
  43. --fs-shadow: rgba(15, 20, 30, 0.16);
  44. --fs-overlay: rgba(255, 255, 255, 0.86);
  45. }
  46. body.darkTheme {
  47. /*
  48. Dark palette sampled from the design mockup: a cool, slightly blue
  49. charcoal rather than neutral grey, with surfaces stepping up from the
  50. content area (darkest) through the chrome to cards and menus (lightest).
  51. The accent is a brighter sky blue than the light theme's, so it still
  52. reads against the dark background.
  53. */
  54. /* Accent / primary action */
  55. --fs-accent: #4a9eff;
  56. --fs-accent-soft: #1e2d40;
  57. --fs-accent-strong: #7db8ff;
  58. --fs-primary-fg: #0d1014;
  59. --fs-primary-hover: #6bb0ff;
  60. /* Selection: blue tinted fill with a visible edge */
  61. --fs-selected: #17293f;
  62. --fs-selected-hover: #1e3450;
  63. --fs-selected-line: #4a9eff;
  64. /* Text */
  65. --fs-text: #e6e9ee;
  66. --fs-text-dim: #9aa3ae;
  67. --fs-text-faint: #6f7883;
  68. --fs-icon: #aab3be;
  69. /* Lines and fills */
  70. --fs-line: #272c34;
  71. --fs-line-soft: #1e2229;
  72. --fs-fill: #21262e;
  73. --fs-fill-hover: #2a3039;
  74. --fs-fill-active: #333a44;
  75. /* Surfaces, darkest to lightest */
  76. --fs-content-bg: #101317;
  77. --fs-bg: #16191f;
  78. --fs-surface: #1c2129;
  79. --fs-pill-bg: #1c2129;
  80. --fs-thumb-bg: #1a1e25;
  81. --fs-row-hover: #1f242c;
  82. /* Effects */
  83. --fs-shadow: rgba(0, 0, 0, 0.6);
  84. --fs-overlay: rgba(16, 19, 23, 0.9);
  85. }