light-rays.css 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. .light-rays-container {
  2. position: absolute;
  3. top: 0;
  4. left: 0;
  5. width: 100%;
  6. height: 100%;
  7. pointer-events: none;
  8. overflow: hidden;
  9. }
  10. .light-rays-container canvas {
  11. display: block;
  12. width: 100%;
  13. height: 100%;
  14. }
  15. .light-rays-controls {
  16. position: fixed;
  17. top: 16px;
  18. right: 16px;
  19. z-index: 9999;
  20. font-family: var(--font-mono, monospace);
  21. font-size: 12px;
  22. color: #fff;
  23. }
  24. .light-rays-controls-toggle {
  25. background: rgba(0, 0, 0, 0.8);
  26. border: 1px solid rgba(255, 255, 255, 0.2);
  27. border-radius: 4px;
  28. padding: 8px 12px;
  29. color: #fff;
  30. cursor: pointer;
  31. font-family: inherit;
  32. font-size: inherit;
  33. width: 100%;
  34. text-align: left;
  35. }
  36. .light-rays-controls-toggle:hover {
  37. background: rgba(0, 0, 0, 0.9);
  38. border-color: rgba(255, 255, 255, 0.3);
  39. }
  40. .light-rays-controls-panel {
  41. background: rgba(0, 0, 0, 0.85);
  42. border: 1px solid rgba(255, 255, 255, 0.2);
  43. border-radius: 4px;
  44. padding: 12px;
  45. margin-top: 4px;
  46. display: flex;
  47. flex-direction: column;
  48. gap: 10px;
  49. min-width: 240px;
  50. max-height: calc(100vh - 100px);
  51. overflow-y: auto;
  52. backdrop-filter: blur(8px);
  53. }
  54. .control-group {
  55. display: flex;
  56. flex-direction: column;
  57. gap: 4px;
  58. }
  59. .control-group label {
  60. color: rgba(255, 255, 255, 0.7);
  61. font-size: 11px;
  62. text-transform: uppercase;
  63. letter-spacing: 0.5px;
  64. }
  65. .control-group.checkbox {
  66. flex-direction: row;
  67. align-items: center;
  68. }
  69. .control-group.checkbox label {
  70. display: flex;
  71. align-items: center;
  72. gap: 8px;
  73. cursor: pointer;
  74. text-transform: none;
  75. }
  76. .control-group input[type="range"] {
  77. -webkit-appearance: none;
  78. appearance: none;
  79. width: 100%;
  80. height: 4px;
  81. background: rgba(255, 255, 255, 0.2);
  82. border-radius: 2px;
  83. outline: none;
  84. }
  85. .control-group input[type="range"]::-webkit-slider-thumb {
  86. -webkit-appearance: none;
  87. appearance: none;
  88. width: 14px;
  89. height: 14px;
  90. background: #fff;
  91. border-radius: 50%;
  92. cursor: pointer;
  93. transition: transform 0.1s;
  94. }
  95. .control-group input[type="range"]::-webkit-slider-thumb:hover {
  96. transform: scale(1.1);
  97. }
  98. .control-group input[type="range"]::-moz-range-thumb {
  99. width: 14px;
  100. height: 14px;
  101. background: #fff;
  102. border-radius: 50%;
  103. cursor: pointer;
  104. border: none;
  105. }
  106. .control-group input[type="color"] {
  107. -webkit-appearance: none;
  108. appearance: none;
  109. width: 100%;
  110. height: 32px;
  111. border: 1px solid rgba(255, 255, 255, 0.2);
  112. border-radius: 4px;
  113. background: transparent;
  114. cursor: pointer;
  115. padding: 2px;
  116. }
  117. .control-group input[type="color"]::-webkit-color-swatch-wrapper {
  118. padding: 0;
  119. }
  120. .control-group input[type="color"]::-webkit-color-swatch {
  121. border: none;
  122. border-radius: 2px;
  123. }
  124. .control-group select {
  125. background: rgba(255, 255, 255, 0.1);
  126. border: 1px solid rgba(255, 255, 255, 0.2);
  127. border-radius: 4px;
  128. padding: 6px 8px;
  129. color: #fff;
  130. font-family: inherit;
  131. font-size: inherit;
  132. cursor: pointer;
  133. outline: none;
  134. }
  135. .control-group select:hover {
  136. border-color: rgba(255, 255, 255, 0.3);
  137. }
  138. .control-group select option {
  139. background: #1a1a1a;
  140. color: #fff;
  141. }
  142. .control-group input[type="checkbox"] {
  143. width: 16px;
  144. height: 16px;
  145. accent-color: #fff;
  146. cursor: pointer;
  147. }
  148. .reset-button {
  149. background: rgba(255, 255, 255, 0.1);
  150. border: 1px solid rgba(255, 255, 255, 0.2);
  151. border-radius: 4px;
  152. padding: 8px 12px;
  153. color: rgba(255, 255, 255, 0.7);
  154. cursor: pointer;
  155. font-family: inherit;
  156. font-size: inherit;
  157. margin-top: 4px;
  158. transition: all 0.15s;
  159. }
  160. .reset-button:hover {
  161. background: rgba(255, 255, 255, 0.15);
  162. border-color: rgba(255, 255, 255, 0.3);
  163. color: #fff;
  164. }