Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

200 lines
3.0KB

  1. :root {
  2. --bg: #0b0f14;
  3. --panel: #111821;
  4. --grid: #1c2a39;
  5. --text: #d6e3f0;
  6. --accent: #48d1b8;
  7. --muted: #7f93aa;
  8. }
  9. * { box-sizing: border-box; }
  10. body {
  11. margin: 0;
  12. font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
  13. background: radial-gradient(circle at 20% 20%, #14202e, #0b0f14 60%);
  14. color: var(--text);
  15. height: 100vh;
  16. display: flex;
  17. flex-direction: column;
  18. }
  19. header, footer {
  20. padding: 12px 20px;
  21. display: flex;
  22. align-items: center;
  23. justify-content: space-between;
  24. background: linear-gradient(90deg, #0f1824, #0b0f14);
  25. border-bottom: 1px solid #0f2233;
  26. }
  27. footer {
  28. border-top: 1px solid #0f2233;
  29. border-bottom: none;
  30. }
  31. .title {
  32. font-weight: 600;
  33. letter-spacing: 0.02em;
  34. }
  35. .meta {
  36. font-size: 0.9rem;
  37. color: var(--muted);
  38. }
  39. main {
  40. flex: 1;
  41. display: grid;
  42. grid-template-columns: 2fr 1fr;
  43. grid-template-rows: 1fr 1.2fr;
  44. gap: 12px;
  45. padding: 12px;
  46. }
  47. .panel {
  48. background: var(--panel);
  49. border: 1px solid #13263b;
  50. border-radius: 10px;
  51. padding: 8px;
  52. position: relative;
  53. }
  54. canvas {
  55. width: 100%;
  56. height: 100%;
  57. border-radius: 6px;
  58. background: #06090d;
  59. }
  60. .timeline-panel {
  61. display: flex;
  62. flex-direction: column;
  63. gap: 8px;
  64. grid-row: 1 / span 2;
  65. grid-column: 2;
  66. }
  67. .timeline-panel canvas {
  68. flex: 1;
  69. cursor: crosshair;
  70. }
  71. .panel-header {
  72. display: flex;
  73. align-items: center;
  74. justify-content: space-between;
  75. font-size: 0.95rem;
  76. color: var(--text);
  77. }
  78. .panel-subtitle {
  79. font-size: 0.8rem;
  80. color: var(--muted);
  81. }
  82. #spectrum {
  83. cursor: grab;
  84. }
  85. #spectrum:active {
  86. cursor: grabbing;
  87. }
  88. .drawer {
  89. position: fixed;
  90. right: 12px;
  91. top: 70px;
  92. bottom: 70px;
  93. width: 320px;
  94. background: #0d141e;
  95. border: 1px solid #13263b;
  96. border-radius: 12px;
  97. box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  98. display: none;
  99. flex-direction: column;
  100. z-index: 10;
  101. }
  102. .drawer.open {
  103. display: flex;
  104. }
  105. .drawer-header {
  106. padding: 12px 16px;
  107. border-bottom: 1px solid #13263b;
  108. display: flex;
  109. align-items: center;
  110. justify-content: space-between;
  111. font-weight: 600;
  112. }
  113. .drawer-close {
  114. background: #162030;
  115. border: 1px solid #20344b;
  116. color: var(--text);
  117. padding: 4px 10px;
  118. border-radius: 8px;
  119. cursor: pointer;
  120. }
  121. .drawer-body {
  122. padding: 12px 16px 16px;
  123. overflow: auto;
  124. display: flex;
  125. flex-direction: column;
  126. gap: 12px;
  127. }
  128. .detail-grid {
  129. display: grid;
  130. grid-template-columns: 1fr 1fr;
  131. gap: 8px 12px;
  132. font-size: 0.9rem;
  133. }
  134. .detail-label {
  135. color: var(--muted);
  136. }
  137. .detail-section-title {
  138. font-size: 0.85rem;
  139. color: var(--muted);
  140. text-transform: uppercase;
  141. letter-spacing: 0.08em;
  142. }
  143. #detailSpectrogram {
  144. height: 90px;
  145. }
  146. .clips-empty {
  147. color: var(--muted);
  148. font-size: 0.9rem;
  149. }
  150. #status {
  151. color: var(--muted);
  152. }
  153. @media (max-width: 820px) {
  154. main {
  155. grid-template-columns: 1fr;
  156. grid-template-rows: 1fr 1fr 1fr;
  157. }
  158. .timeline-panel {
  159. grid-row: auto;
  160. grid-column: auto;
  161. }
  162. .drawer {
  163. left: 12px;
  164. right: 12px;
  165. width: auto;
  166. top: auto;
  167. bottom: 12px;
  168. height: 45vh;
  169. }
  170. }