header.css 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. /**
  2. * Header Component Styles
  3. *
  4. * Styles for the application header including branding,
  5. * window controls, and navigation elements
  6. */
  7. /* Header Container */
  8. .header {
  9. height: 60px;
  10. background-color: var(--header-dark);
  11. display: flex;
  12. align-items: center;
  13. justify-content: space-between;
  14. padding: 0 24px;
  15. border-bottom: 1px solid var(--border-color);
  16. position: relative;
  17. z-index: 100;
  18. }
  19. /* App Branding */
  20. .header__brand {
  21. display: flex;
  22. align-items: center;
  23. gap: 12px;
  24. }
  25. .header__logo {
  26. width: 32px;
  27. height: 32px;
  28. flex-shrink: 0;
  29. }
  30. .header__title {
  31. font-size: 18px;
  32. font-weight: 600;
  33. color: var(--text-primary);
  34. margin: 0;
  35. }
  36. .header__version {
  37. font-size: 12px;
  38. color: var(--text-muted);
  39. font-weight: 400;
  40. margin-left: 8px;
  41. }
  42. /* Window Controls */
  43. .header__controls {
  44. display: flex;
  45. align-items: center;
  46. gap: 8px;
  47. }
  48. .window-control {
  49. width: 12px;
  50. height: 12px;
  51. border-radius: 50%;
  52. border: none;
  53. cursor: pointer;
  54. transition: all 0.15s ease;
  55. position: relative;
  56. }
  57. .window-control:hover {
  58. transform: scale(1.1);
  59. }
  60. .window-control--close {
  61. background-color: var(--macos-red);
  62. }
  63. .window-control--close:hover {
  64. background-color: var(--macos-red-hover);
  65. }
  66. .window-control--minimize {
  67. background-color: var(--macos-yellow);
  68. }
  69. .window-control--minimize:hover {
  70. background-color: var(--macos-yellow-hover);
  71. }
  72. .window-control--maximize {
  73. background-color: var(--macos-green);
  74. }
  75. .window-control--maximize:hover {
  76. background-color: var(--macos-green-hover);
  77. }
  78. /* Window Control Icons (shown on hover) */
  79. .window-control::after {
  80. content: '';
  81. position: absolute;
  82. top: 50%;
  83. left: 50%;
  84. transform: translate(-50%, -50%);
  85. opacity: 0;
  86. transition: opacity 0.15s ease;
  87. }
  88. .window-control:hover::after {
  89. opacity: 1;
  90. }
  91. .window-control--close:hover::after {
  92. content: '×';
  93. font-size: 10px;
  94. font-weight: bold;
  95. color: #4a0000;
  96. }
  97. .window-control--minimize:hover::after {
  98. content: '−';
  99. font-size: 10px;
  100. font-weight: bold;
  101. color: #4a3300;
  102. }
  103. .window-control--maximize:hover::after {
  104. content: '+';
  105. font-size: 10px;
  106. font-weight: bold;
  107. color: #003300;
  108. }
  109. /* Responsive Header */
  110. @media (max-width: 768px) {
  111. .header {
  112. padding: 0 16px;
  113. }
  114. .header__title {
  115. font-size: 16px;
  116. }
  117. .header__version {
  118. display: none;
  119. }
  120. .window-control {
  121. width: 14px;
  122. height: 14px;
  123. }
  124. }
  125. /* Focus States for Accessibility */
  126. .window-control:focus-visible {
  127. outline: 2px solid var(--primary-blue);
  128. outline-offset: 2px;
  129. }
  130. /* Reduced Motion Support */
  131. @media (prefers-reduced-motion: reduce) {
  132. .window-control {
  133. transition: none;
  134. }
  135. .window-control:hover {
  136. transform: none;
  137. }
  138. }