editor.css 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. body {
  2. margin: 0;
  3. }
  4. #container {
  5. padding: 10px;
  6. }
  7. .hide {
  8. display: none;
  9. }
  10. #config-screen,
  11. #level-screen {
  12. display: none;
  13. }
  14. .loaded #open-screen {
  15. display: none;
  16. }
  17. .loaded #config-screen {
  18. display: block;
  19. }
  20. .editing #config-screen {
  21. display: none;
  22. }
  23. .editing #level-screen {
  24. display: flex;
  25. flex-direction: column;
  26. gap: 5px;
  27. }
  28. #config-navigation {
  29. display: inline-flex;
  30. gap: 5px;
  31. }
  32. #levels {
  33. display: flex;
  34. flex-direction: column;
  35. gap: 20px;
  36. }
  37. .level-set .header {
  38. display: flex;
  39. align-items: center;
  40. gap: 5px;
  41. }
  42. table.level-list {
  43. border-collapse: collapse;
  44. width: 100%;
  45. }
  46. .level-list tbody tr:hover {
  47. background: #eee;
  48. }
  49. .level-list th,
  50. .level-list td {
  51. border: solid 1px black;
  52. padding: 0px 5px;
  53. }
  54. .level-list input {
  55. width: 80%;
  56. }
  57. .lyrics {
  58. padding-bottom: 200px;
  59. display: grid;
  60. grid-template-columns: auto auto auto 1fr 1fr [end];
  61. grid-gap: 2px;
  62. }
  63. .lyrics .header {
  64. font-weight: bold;
  65. }
  66. .lyrics .header.span {
  67. grid-column: span 2;
  68. }
  69. .lyrics input {
  70. height: 30px;
  71. border-radius: 2px;
  72. border-color: silver;
  73. border-style: solid;
  74. border-width: 1px;
  75. padding: 0px 8px;
  76. }
  77. .lyrics input:disabled {
  78. background: lightgrey;
  79. }
  80. .lyrics input.time {
  81. width: 100px;
  82. }
  83. .lyrics .time:invalid,
  84. .lyrics .kana:invalid {
  85. border-color: red;
  86. }
  87. .no-audio .lyrics {
  88. grid-template-columns: 1fr 1fr;
  89. }
  90. .no-audio .lyrics .time,
  91. .no-audio .lyrics .play-section,
  92. .no-audio .lyrics .remove-section {
  93. display: none;
  94. }
  95. #level-screen .playback {
  96. display: flex;
  97. position: fixed;
  98. width: calc(100% - 20px);
  99. bottom: 5px;
  100. background: white;
  101. gap: 5px;
  102. box-shadow: 0px 0px 9px 0px gray;
  103. }
  104. #level-screen .controls {
  105. flex-grow: 1;
  106. display: flex;
  107. flex-direction: column;
  108. gap: 5px;
  109. margin: 5px 0px;
  110. }
  111. #level-screen .scrubber {
  112. display: grid;
  113. grid-template-rows: 10px 20px;
  114. background: lightgrey;
  115. }
  116. #level-screen .bar {
  117. grid-row: 1 / 2;
  118. }
  119. #level-screen .bar-overlay {
  120. background: red;
  121. height: 100%;
  122. }
  123. #level-screen .markers {
  124. grid-row: 2 / 3;
  125. position: relative;
  126. }
  127. #level-screen .marker {
  128. position: absolute;
  129. box-sizing: border-box;
  130. border-left: solid 2px black;
  131. border-bottom: solid 5px black;
  132. height: 100%;
  133. width: 5px;
  134. }
  135. #level-screen .waveform-container {
  136. position: relative;
  137. height: 60px;
  138. background: lightgrey;
  139. }
  140. #waveform,
  141. #waveform-overlay {
  142. position: absolute;
  143. height: 100%;
  144. width: 100%;
  145. }
  146. #level-screen.no-waveform .waveform-container {
  147. display: none;
  148. }
  149. #display {
  150. flex-grow: 1;
  151. font-size: 150%;
  152. min-height: 2em;
  153. }
  154. #youtube {
  155. flex-grow: 0;
  156. }
  157. #youtube iframe {
  158. width: 240px;
  159. height: 135px;
  160. }
  161. #level-screen.no-audio .playback {
  162. display: none;
  163. }