File size: 36,571 Bytes
25e54ad
 
e317d49
 
462497d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25e54ad
 
 
b7f3d13
e317d49
fc410a5
e317d49
25e54ad
e317d49
 
30da9d2
e317d49
25e54ad
462497d
e317d49
462497d
e317d49
 
 
ef3ea30
462497d
 
 
 
 
 
e317d49
462497d
30da9d2
 
462497d
 
 
cc1344b
adae738
e317d49
 
 
cc1344b
 
630b39f
adae738
 
 
 
cc1344b
e317d49
cc1344b
462497d
 
30da9d2
 
462497d
 
 
 
 
 
25e54ad
462497d
 
 
30da9d2
462497d
30da9d2
462497d
 
 
 
 
30da9d2
 
86c6d7d
30da9d2
 
 
86c6d7d
 
 
 
30da9d2
 
 
 
462497d
30da9d2
462497d
 
 
 
30da9d2
25e54ad
462497d
 
 
 
25e54ad
 
 
 
462497d
 
 
 
 
25e54ad
462497d
ef3ea30
 
 
 
 
462497d
0b6de1d
 
16a5354
 
e317d49
16a5354
 
 
 
ef3ea30
16a5354
30da9d2
16a5354
462497d
ef3ea30
 
 
 
 
 
 
 
 
 
 
 
462497d
 
 
ef3ea30
 
d53850b
e317d49
7cf4802
 
 
 
 
e317d49
d53850b
7cf4802
25e54ad
462497d
 
25e54ad
462497d
 
 
e317d49
462497d
cc1344b
462497d
 
86c6d7d
cc1344b
86c6d7d
25e54ad
b7f3d13
86c6d7d
462497d
cc1344b
86c6d7d
 
 
 
 
 
 
 
ef3ea30
462497d
 
86c6d7d
 
 
 
 
7f6d9b2
86c6d7d
 
7f6d9b2
 
86c6d7d
 
 
25e54ad
 
462497d
e317d49
ef3ea30
462497d
 
 
86c6d7d
462497d
 
 
 
 
 
25e54ad
462497d
86c6d7d
 
7f6d9b2
86c6d7d
462497d
 
86c6d7d
 
 
 
 
 
 
 
 
 
 
25e54ad
 
86c6d7d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462497d
25e54ad
e317d49
 
 
 
ef3ea30
 
 
462497d
 
86c6d7d
 
 
 
 
e317d49
 
 
 
 
 
86c6d7d
e317d49
 
 
 
 
 
 
 
86c6d7d
 
7f6d9b2
86c6d7d
e317d49
 
 
 
86c6d7d
 
 
 
 
 
 
 
 
e317d49
 
86c6d7d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e317d49
 
 
 
 
 
 
 
 
 
 
86c6d7d
 
 
 
 
e317d49
25e54ad
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
:root {
  color-scheme: dark;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  --ms-bg: #0b0e0f;
  --ms-panel: #121617;
  --ms-panel-2: #171c1e;
  --ms-line: rgba(218, 233, 229, .1);
  --ms-line-strong: rgba(218, 233, 229, .19);
  --ms-text: #eef4f1;
  --ms-soft: #b1bcb8;
  --ms-muted: #727e7a;
  --ms-faint: #4e5855;
  --ms-accent: #45d1b5;
  --ms-accent-dark: #168f7d;
  --ms-warm: #eead68;
  --ms-success: #66d6a7;
  --ms-warning: #eead68;
  --ms-danger: #fb7185;
  --ms-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
.ms-root { display: grid; width: 100%; max-width: 100%; min-width: 0; overflow: hidden; gap: 12px; color: var(--ms-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; container-type: inline-size; }
.ms-root [hidden] { display: none !important; }
.ms-root button, .ms-root input, .ms-root select { min-width: 0; font: inherit; }

.ms-topbar { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; max-width: 100%; min-width: 0; gap: 20px; padding: 7px 7px 11px 12px; border-left: 3px solid var(--ms-faint); transition: border-color 160ms ease, background 160ms ease; }
.ms-root[data-state="queued"] .ms-topbar, .ms-root[data-state="loading"] .ms-topbar, .ms-root[data-state="transcribing"] .ms-topbar, .ms-root[data-state="generating_score"] .ms-topbar { border-left-color: var(--ms-warning); background: linear-gradient(90deg,rgba(238,173,104,.055),transparent 58%); }
.ms-root[data-state="complete"] .ms-topbar, .ms-root[data-state="ready"] .ms-topbar { border-left-color: var(--ms-success); }
.ms-root[data-state="error"] .ms-topbar, .ms-root[data-state="notation_error"] .ms-topbar { border-left-color: var(--ms-danger); background: linear-gradient(90deg,rgba(251,113,133,.06),transparent 58%); }
.ms-heading { min-width: 0; }
.ms-heading h2 { overflow: hidden; max-width: 760px; margin: 0; color: var(--ms-text); font-size: clamp(1.02rem,2vw,1.3rem); font-weight: 620; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.ms-eyebrow { display: flex; width: max-content; min-height: 23px; align-items: center; gap: 8px; margin: 0 0 8px; padding: 0 8px; border: 1px solid var(--ms-line); border-radius: 999px; color: var(--ms-muted); background: rgba(255,255,255,.018); font: 630 .57rem/1 var(--ms-mono); letter-spacing: .1em; text-transform: uppercase; }
.ms-state-dot { width: 7px; height: 7px; flex: none; border-radius: 2px; background: var(--ms-faint); transform: rotate(45deg); }
.ms-root[data-state="queued"] .ms-eyebrow, .ms-root[data-state="loading"] .ms-eyebrow, .ms-root[data-state="transcribing"] .ms-eyebrow, .ms-root[data-state="generating_score"] .ms-eyebrow { border-color: rgba(238,173,104,.38); color: #ffd8aa; background: rgba(238,173,104,.09); }
.ms-root[data-state="complete"] .ms-eyebrow, .ms-root[data-state="ready"] .ms-eyebrow { border-color: rgba(102,214,167,.34); color: #c8f8e2; background: rgba(102,214,167,.075); }
.ms-root[data-state="error"] .ms-eyebrow, .ms-root[data-state="notation_error"] .ms-eyebrow { border-color: rgba(251,113,133,.42); color: #ffc1cb; background: rgba(251,113,133,.085); }
.ms-root[data-state="queued"] .ms-state-dot, .ms-root[data-state="loading"] .ms-state-dot, .ms-root[data-state="transcribing"] .ms-state-dot, .ms-root[data-state="generating_score"] .ms-state-dot { background: var(--ms-warning); box-shadow: 0 0 12px rgba(238,173,104,.55); animation: ms-blink 1.3s ease-in-out infinite; }
.ms-root[data-state="complete"] .ms-state-dot, .ms-root[data-state="ready"] .ms-state-dot { background: var(--ms-success); box-shadow: 0 0 10px rgba(102,214,167,.42); }
.ms-root[data-state="error"] .ms-state-dot, .ms-root[data-state="notation_error"] .ms-state-dot { background: var(--ms-danger); }
.ms-subtitle { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; color: var(--ms-muted); font-size: .7rem; line-height: 1.45; }
.ms-subtitle b { color: var(--ms-faint); font: 550 .55rem var(--ms-mono); white-space: nowrap; }
.ms-subtitle b::before { margin-right: 8px; content: "/"; }

.ms-quick-downloads { display: flex; min-width: 0; flex: none; flex-wrap: wrap; gap: 5px; }
.ms-quick-downloads a, .ms-tracks-heading button, .ms-track-controls button, .ms-track-controls a { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ms-line); border-radius: 4px; color: var(--ms-soft); background: rgba(255,255,255,.018); cursor: pointer; text-decoration: none; transition: border-color 130ms ease, color 130ms ease, background 130ms ease; }
.ms-quick-downloads a { min-height: 31px; gap: 6px; padding: 0 9px; font: 610 .56rem var(--ms-mono); text-transform: uppercase; }
.ms-quick-downloads svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.ms-quick-downloads a:hover:not([aria-disabled="true"]), .ms-tracks-heading button:hover, .ms-track-controls button:hover, .ms-track-controls a:hover:not([aria-disabled="true"]) { border-color: rgba(69,209,181,.42); color: #d9fff7; background: rgba(69,209,181,.075); }
.ms-quick-downloads a[aria-disabled="true"], .ms-track-controls a[aria-disabled="true"] { pointer-events: none; opacity: .28; }

.ms-progress { --progress-color: var(--ms-warm); display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.42fr); align-items: center; gap: 16px; padding: 12px 13px; border: 1px solid rgba(238,173,104,.3); border-left: 4px solid var(--ms-warning); border-radius: 6px; background: linear-gradient(105deg,rgba(238,173,104,.09),rgba(238,173,104,.025) 62%); box-shadow: inset 0 1px rgba(255,255,255,.025), 0 8px 24px rgba(0,0,0,.12); }
.ms-progress[data-mode="score"] { grid-template-columns: minmax(0,1fr); }
.ms-progress > div { display: flex; align-items: center; justify-content: space-between; min-width: 0; gap: 10px; color: var(--ms-soft); font-size: .71rem; }
.ms-progress > div::before { width: 9px; height: 9px; flex: none; border-radius: 50%; content: ""; background: var(--ms-warning); box-shadow: 0 0 0 4px rgba(238,173,104,.1),0 0 15px rgba(238,173,104,.45); animation: ms-status-pulse 1.25s ease-in-out infinite; }
.ms-progress > div > span { overflow: hidden; flex: 1; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.ms-progress > div > b { flex: none; color: #ffd5a3; font: 650 .67rem var(--ms-mono); }
.ms-progress i { display: block; min-width: 0; height: 8px; }
.ms-progress-segments { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(var(--segment-count,10),minmax(2px,1fr)); gap: clamp(1px,.22vw,3px); }
.ms-progress-segments > b { display: block; overflow: hidden; min-width: 0; border: 1px solid rgba(255,255,255,.035); border-radius: 2px; background: #252b2a; box-shadow: inset 0 1px rgba(255,255,255,.025); transition: background 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.ms-progress-segments > b > span { display: block; width: 0; height: 100%; border-radius: inherit; background: #f1b16c; transition: width 180ms ease; }
.ms-progress-segments > b[data-complete="true"] { border-color: rgba(255,211,158,.72); background: #f1b16c; box-shadow: 0 0 9px rgba(238,173,104,.52),inset 0 1px rgba(255,255,255,.3); }
.ms-progress-segments > b[data-complete="true"] > span { background: #ffd39e; }
.ms-root[data-state="error"] .ms-progress, .ms-root[data-state="notation_error"] .ms-progress { --progress-color: var(--ms-danger); border-color: rgba(251,113,133,.35); border-left-color: var(--ms-danger); background: linear-gradient(105deg,rgba(251,113,133,.1),rgba(251,113,133,.025) 62%); }
.ms-root[data-state="error"] .ms-progress > div::before, .ms-root[data-state="notation_error"] .ms-progress > div::before { background: var(--ms-danger); box-shadow: 0 0 0 4px rgba(251,113,133,.1),0 0 15px rgba(251,113,133,.38); animation: none; }
.ms-root[data-state="error"] .ms-progress > div > b, .ms-root[data-state="notation_error"] .ms-progress > div > b { color: #ffc1cb; }

.ms-empty { min-height: 440px; display: grid; align-content: center; justify-items: center; padding: 35px 20px; border: 1px dashed var(--ms-line-strong); background: repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.018) 80px), #0b0f10; text-align: center; }
.ms-empty-icon { display: grid; width: 46px; height: 46px; border: 1px solid rgba(69,209,181,.27); color: var(--ms-accent); background: rgba(69,209,181,.035); place-items: center; }
.ms-empty-icon svg { width: 23px; height: 23px; fill: currentColor; opacity: .78; }
.ms-empty h3 { margin: 15px 0 6px; color: var(--ms-soft); font-size: .84rem; font-weight: 610; }
.ms-empty p { max-width: 480px; margin: 0; color: var(--ms-muted); font-size: .67rem; line-height: 1.6; }

.ms-workspace { display: grid; min-width: 0; gap: 10px; }
.ms-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--ms-line); border-bottom: 1px solid var(--ms-line); }
.ms-stats > div { display: flex; align-items: baseline; justify-content: space-between; min-width: 0; gap: 9px; padding: 8px 11px; }
.ms-stats > div + div { border-left: 1px solid var(--ms-line); }
.ms-stats span { color: var(--ms-muted); font: 580 .53rem var(--ms-mono); letter-spacing: .07em; text-transform: uppercase; }
.ms-stats strong { overflow: hidden; color: var(--ms-soft); font-size: .7rem; font-weight: 590; text-overflow: ellipsis; white-space: nowrap; }

.ms-transport { display: grid; grid-template-columns: minmax(360px,1fr) auto; align-items: center; gap: 10px; padding: 8px 9px; border: 1px solid var(--ms-line); background: linear-gradient(180deg,#101516,#0d1112); }
.ms-transport-main, .ms-transport-options { display: flex; align-items: center; min-width: 0; gap: 7px; }
.ms-transport-options { padding-left: 9px; border-left: 1px solid var(--ms-line); }
.ms-play, .ms-stop { display: grid; width: 33px; height: 33px; flex: none; border: 1px solid rgba(69,209,181,.34); border-radius: 50%; color: #effffb; background: var(--ms-accent-dark); cursor: pointer; place-items: center; }
.ms-stop { width: 28px; height: 28px; border-color: var(--ms-line); border-radius: 4px; color: var(--ms-soft); background: rgba(255,255,255,.025); }
.ms-play:disabled, .ms-stop:disabled { cursor: not-allowed; filter: grayscale(.5); opacity: .34; }
.ms-transport-main > span { min-width: 43px; color: var(--ms-muted); font: 580 .58rem var(--ms-mono); text-align: center; }
.ms-seek { min-width: 90px; flex: 1; accent-color: var(--ms-accent); }
.ms-loop-strip { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; min-width: 0; gap: 12px; padding-top: 8px; border-top: 1px solid var(--ms-line); }
.ms-loop-actions { display: flex; align-items: center; gap: 5px; }
.ms-loop-actions button { display: inline-flex; min-height: 27px; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid var(--ms-line); border-radius: 3px; color: var(--ms-muted); background: rgba(255,255,255,.018); cursor: pointer; font: 620 .53rem var(--ms-mono); transition: border-color 130ms ease, color 130ms ease, background 130ms ease; }
.ms-loop-actions button:hover:not(:disabled) { border-color: rgba(69,209,181,.4); color: #e6fff9; background: rgba(69,209,181,.07); }
.ms-loop-actions button[aria-pressed="true"] { border-color: rgba(69,209,181,.5); color: #e9fff9; background: rgba(69,209,181,.14); box-shadow: inset 0 0 0 1px rgba(69,209,181,.08); }
.ms-loop-actions button:disabled { cursor: not-allowed; opacity: .3; }
.ms-loop-actions [data-action="loop"] { min-width: 92px; justify-content: flex-start; gap: 6px; padding: 3px 8px 3px 4px; border-color: var(--ms-line-strong); color: var(--ms-soft); background: #111617; }
.ms-loop-glyph { display: grid; width: 19px; height: 19px; flex: none; border: 1px solid var(--ms-line-strong); border-radius: 50%; color: var(--ms-muted); background: rgba(255,255,255,.025); font-size: .72rem; line-height: 1; place-items: center; transition: color 130ms ease, border-color 130ms ease, background 130ms ease, transform 130ms ease; }
.ms-loop-actions [data-action="loop"][aria-pressed="true"] { border-color: rgba(69,209,181,.82); color: #f4fffc; background: linear-gradient(115deg,rgba(22,143,125,.68),rgba(69,209,181,.24)); box-shadow: 0 0 0 1px rgba(69,209,181,.14),0 0 18px rgba(69,209,181,.18),inset 0 1px rgba(255,255,255,.12); }
.ms-loop-actions [data-action="loop"][aria-pressed="true"] .ms-loop-glyph { border-color: #8af0dc; color: #071210; background: #74e5cf; transform: rotate(18deg); }
.ms-loop-readout { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 8px; color: var(--ms-faint); font: .52rem var(--ms-mono); }
.ms-loop-readout span { white-space: nowrap; }
.ms-loop-readout output { overflow: hidden; max-width: 240px; color: var(--ms-soft); text-overflow: ellipsis; white-space: nowrap; }
.ms-root[data-loop-active="true"] .ms-loop-readout span { color: var(--ms-accent); }
.ms-source-mix { display: flex; align-items: center; gap: 4px; min-height: 30px; padding: 2px; border: 1px solid var(--ms-line); background: rgba(255,255,255,.018); }
.ms-option-label { color: var(--ms-faint); font: 620 .5rem var(--ms-mono); letter-spacing: .05em; }
.ms-source-mix button { height: 24px; padding: 0 6px; border: 0; border-radius: 2px; color: var(--ms-muted); background: transparent; cursor: pointer; font-size: .54rem; font-weight: 700; text-transform: uppercase; }
.ms-source-mix button[aria-pressed="true"] { color: #e9fff9; background: rgba(69,209,181,.18); }
.ms-source-mix input { width: 76px; accent-color: var(--ms-accent); }
.ms-stereo-toggle, .ms-volume { display: flex; align-items: center; gap: 5px; min-height: 30px; padding: 0 7px; border: 1px solid var(--ms-line); color: var(--ms-muted); background: rgba(255,255,255,.018); font-size: .56rem; white-space: nowrap; }
.ms-stereo-toggle > span, .ms-volume > span { color: var(--ms-faint); font-size: .68rem; }
.ms-stereo-toggle { cursor: pointer; }
.ms-stereo-toggle input, .ms-volume input { accent-color: var(--ms-accent); }
.ms-stereo-toggle[data-active="true"] { border-color: rgba(69,209,181,.4); color: #d9fff7; background: rgba(69,209,181,.065); }
.ms-volume input { width: 58px; }
.ms-synth-state { max-width: 154px; color: var(--ms-faint); font: .52rem/1.25 var(--ms-mono); }
.ms-synth-state[data-kind="loading"] { color: var(--ms-warning); }
.ms-synth-state[data-kind="ready"] { color: var(--ms-success); }
.ms-synth-state[data-kind="error"] { color: var(--ms-danger); }

.ms-studio-grid { display: grid; grid-template-columns: minmax(0,2.05fr) minmax(270px,.72fr); height: 520px; min-width: 0; gap: 9px; }
.ms-view-shell, .ms-mixer { min-width: 0; min-height: 0; border: 1px solid var(--ms-line); background: #0a0e0f; }
.ms-view-shell { display: flex; flex-direction: column; overflow: hidden; }
.ms-tabs { display: flex; align-items: center; min-height: 42px; gap: 18px; padding: 0 12px; border-bottom: 1px solid var(--ms-line); background: #111617; }
.ms-tabs button { align-self: stretch; padding: 0 1px; border: 0; border-bottom: 2px solid transparent; color: var(--ms-muted); background: transparent; cursor: pointer; font: 650 .58rem var(--ms-mono); letter-spacing: .05em; text-transform: uppercase; }
.ms-tabs button[aria-selected="true"] { border-bottom-color: var(--ms-accent); color: var(--ms-text); }
.ms-tabs > span { overflow: hidden; margin-left: auto; color: var(--ms-faint); font: .54rem var(--ms-mono); text-overflow: ellipsis; white-space: nowrap; }
.ms-roll-zoom { display: flex; align-items: center; flex: none; gap: 5px; color: var(--ms-faint); font: .54rem var(--ms-mono); }
.ms-roll-zoom input { width: 92px; accent-color: var(--ms-accent); }
.ms-roll-zoom button { display: grid; width: 23px; height: 23px; padding: 0; border: 1px solid var(--ms-line); border-radius: 3px; color: var(--ms-soft); background: rgba(255,255,255,.018); cursor: pointer; place-items: center; }
.ms-roll-zoom button:hover { border-color: rgba(69,209,181,.4); color: #e7fff9; background: rgba(69,209,181,.07); }
.ms-roll-zoom output { min-width: 31px; color: var(--ms-soft); text-align: right; }
.ms-roll-view, .ms-score-view { min-height: 0; flex: 1; }
.ms-roll-view { display: flex; flex-direction: column; padding: 9px; }
.ms-roll-surface { display: grid; grid-template-columns: 56px minmax(0,1fr); min-width: 0; min-height: 0; flex: 1; overflow: hidden; border: 1px solid var(--ms-line); background: #090c0d; }
.ms-roll-surface canvas { display: block; }
.ms-piano-keys { width: 56px; height: 100%; border-right: 1px solid rgba(255,255,255,.09); background: #10141b; }
.ms-roll-scroll { position: relative; min-width: 0; min-height: 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.16) #090c0d; overscroll-behavior-x: contain; }
.ms-roll-scroll::-webkit-scrollbar { height: 8px; }
.ms-roll-scroll::-webkit-scrollbar-track { background: #090c0d; }
.ms-roll-scroll::-webkit-scrollbar-thumb { border: 2px solid #090c0d; border-radius: 999px; background: rgba(255,255,255,.18); }
.ms-roll-stage { position: relative; width: 100%; min-width: 100%; height: 100%; }
.ms-roll-canvas, .ms-cursor-canvas { position: absolute; top: 0; left: 0; height: 100%; }
.ms-roll-canvas { background: #090c0d; cursor: crosshair; }
.ms-root[data-region-mode="true"] .ms-roll-canvas { cursor: ew-resize; }
.ms-cursor-canvas { z-index: 2; pointer-events: none; }
.ms-roll-view p { margin: 6px 1px 0; color: var(--ms-faint); font-size: .54rem; text-align: right; }
.ms-score-view { display: flex; min-height: 0; flex-direction: column; overflow: hidden; background: #15191a; }
.ms-score-toolbar { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(0,1fr) auto; align-items: center; min-height: 49px; gap: 12px; padding: 7px 9px; border-bottom: 1px solid var(--ms-line); background: #0f1415; }
.ms-score-toolbar label { display: flex; align-items: center; min-width: 0; gap: 7px; }
.ms-score-toolbar label > span { flex: none; color: var(--ms-muted); font: 560 .51rem var(--ms-mono); letter-spacing: .05em; text-transform: uppercase; }
.ms-score-toolbar select { min-width: 0; flex: 1; height: 31px; padding: 0 24px 0 8px; border: 1px solid var(--ms-line); border-radius: 3px; color: var(--ms-soft); background: #171c1e; font-size: .61rem; }
.ms-score-toolbar > span { overflow: hidden; color: var(--ms-faint); font: .53rem var(--ms-mono); text-overflow: ellipsis; white-space: nowrap; }
.ms-score-toolbar > div { display: flex; gap: 5px; }
.ms-score-toolbar a { display: inline-flex; min-height: 29px; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid var(--ms-line); border-radius: 3px; color: var(--ms-soft); background: rgba(255,255,255,.018); font: 600 .53rem var(--ms-mono); text-decoration: none; }
.ms-score-toolbar a:hover:not([aria-disabled="true"]) { border-color: rgba(238,173,104,.42); color: #ffe4c4; background: rgba(238,173,104,.07); }
.ms-score-toolbar a[aria-disabled="true"] { pointer-events: none; opacity: .3; }
.ms-score-stage { position: relative; min-height: 0; flex: 1; overflow: hidden; background: #1a1f20; }
.ms-score-empty { min-height: 100%; display: grid; align-content: center; justify-items: center; padding: 25px; color: var(--ms-muted); text-align: center; }
.ms-score-empty span { color: var(--ms-warm); font-size: 36px; }
.ms-score-empty strong { margin-top: 8px; color: var(--ms-soft); font-size: .78rem; }
.ms-score-empty p { max-width: 410px; margin: 5px 0 0; font-size: .62rem; line-height: 1.5; }
.ms-root[data-state="generating_score"] .ms-score-empty span { animation: ms-score-pulse 1.15s ease-in-out infinite; }
.ms-score-document { width: 100%; height: 100%; }
.ms-score-document[hidden] { display: none; }
.ms-score-document[data-mode="pages"] { display: grid; overflow: auto; min-width: 0; gap: 14px; padding: 13px; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.ms-score-document[data-mode="message"] { display: grid; overflow: auto; padding: 24px; place-items: center; }
.ms-score-message { display: grid; max-width: 420px; justify-items: center; padding: 24px; border: 1px solid var(--ms-line); border-radius: 4px; color: var(--ms-muted); background: #131819; text-align: center; }
.ms-score-message strong { color: var(--ms-soft); font-size: .76rem; }
.ms-score-message p { margin: 7px 0 14px; font-size: .62rem; line-height: 1.5; }
.ms-score-message a { display: inline-flex; min-height: 31px; align-items: center; padding: 0 10px; border: 1px solid rgba(238,173,104,.38); border-radius: 3px; color: #ffe4c4; background: rgba(238,173,104,.07); font: 600 .56rem var(--ms-mono); text-decoration: none; }
.ms-score-page { position: relative; min-width: 680px; margin: 0; padding: 17px; background: #fffdf7; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.ms-score-page img, .ms-score-page svg { display: block; width: 100%; height: auto; color: #111; }
.ms-score-page-number { position: absolute; right: 8px; bottom: 5px; color: rgba(18,18,18,.45); font: 8px var(--ms-mono); letter-spacing: .02em; }

.ms-mixer { display: flex; flex-direction: column; overflow: hidden; background: #101415; }
.ms-tracks-heading { display: flex; align-items: center; justify-content: space-between; flex: none; min-height: 54px; gap: 10px; padding: 8px 10px; border-bottom: 1px solid var(--ms-line); }
.ms-tracks-heading strong, .ms-kicker { display: block; }
.ms-kicker { color: var(--ms-soft); font-size: .67rem; font-weight: 620; }
.ms-tracks-heading strong { margin-top: 3px; color: var(--ms-faint); font: .53rem var(--ms-mono); }
.ms-tracks-heading button { min-height: 27px; padding: 0 7px; font-size: .54rem; }
.ms-track-list { display: grid; align-content: start; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; scrollbar-color: rgba(255,255,255,.14) transparent; }
.ms-track-placeholder { padding: 18px 12px; color: var(--ms-faint); font-size: .63rem; line-height: 1.5; text-align: center; }
.ms-track-row { display: grid; grid-template-columns: 5px minmax(0,1fr); align-items: stretch; min-width: 0; min-height: 82px; gap: 10px; padding: 10px; border-bottom: 1px solid var(--ms-line); background: rgba(255,255,255,.008); transition: opacity 130ms ease, background 130ms ease; }
.ms-track-row:hover { background: rgba(255,255,255,.025); }
.ms-track-row[data-inactive="true"] { opacity: .42; }
.ms-track-color { width: 5px; min-height: 100%; border-radius: 999px; background: var(--track); box-shadow: 0 0 13px color-mix(in srgb,var(--track) 34%,transparent); }
.ms-track-body { display: grid; min-width: 0; align-content: center; gap: 7px; }
.ms-track-header, .ms-track-footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.ms-track-copy { min-width: 0; overflow: hidden; }
.ms-track-copy strong, .ms-track-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-track-copy strong { color: var(--ms-text); font-size: .69rem; font-weight: 610; }
.ms-track-copy span { margin-top: 4px; color: var(--ms-faint); font: .51rem var(--ms-mono); }
.ms-track-sound { display: flex; min-width: 0; flex: 1; align-items: center; }
.ms-program-select { width: 100%; max-width: none; height: 27px; margin: 0; padding: 3px 22px 3px 6px; border: 1px solid var(--ms-line); border-radius: 3px; background: #151a1b; color: var(--ms-soft); font-size: .52rem; }
.ms-program-fixed { overflow: hidden; height: 27px; padding: 6px; border: 1px solid var(--ms-line); border-radius: 3px; color: var(--ms-muted); background: #151a1b; font: 550 .52rem var(--ms-mono); text-overflow: ellipsis; white-space: nowrap; }
.ms-track-controls { display: flex; flex: none; gap: 4px; }
.ms-track-controls button, .ms-track-controls a { width: 27px; height: 27px; padding: 0; font: 700 .54rem var(--ms-mono); }
.ms-track-mix-controls button { border-radius: 50%; }
.ms-track-export-controls { align-self: end; }
.ms-track-export-controls a { width: auto; min-width: 48px; padding: 0 6px; font-size: .47rem; }
.ms-track-controls .ms-track-score { width: auto; min-width: 40px; padding: 0 5px; color: var(--ms-warm); font-size: .47rem; }
.ms-track-controls .ms-track-score:disabled { cursor: not-allowed; opacity: .25; }
.ms-track-controls button[aria-pressed="true"] { border-color: color-mix(in srgb,var(--track) 56%,transparent); color: #fff; background: color-mix(in srgb,var(--track) 18%,transparent); }

.ms-notation-info { display: grid; grid-template-columns: minmax(125px,.55fr) minmax(0,2.45fr); align-items: stretch; overflow: hidden; border: 1px solid var(--ms-line); background: #101415; }
.ms-notation-heading { display: grid; align-content: center; gap: 4px; padding: 10px 12px; border-right: 1px solid var(--ms-line); background: rgba(238,173,104,.035); }
.ms-notation-heading > span { display: flex; align-items: center; gap: 7px; color: #ffd6aa; font: 630 .55rem var(--ms-mono); letter-spacing: .08em; text-transform: uppercase; }
.ms-notation-heading > span::before { width: 7px; height: 7px; border: 1px solid rgba(238,173,104,.58); border-radius: 50%; content: ""; background: rgba(238,173,104,.24); box-shadow: 0 0 10px rgba(238,173,104,.18); }
.ms-notation-heading small { color: var(--ms-faint); font: .48rem var(--ms-mono); }
.ms-notation-info dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }
.ms-notation-info dl div { display: grid; min-width: 0; align-content: center; gap: 4px; padding: 9px 10px; }
.ms-notation-info dl div + div { border-left: 1px solid var(--ms-line); }
.ms-notation-info dl div:nth-child(n+5) { border-top: 1px solid var(--ms-line); }
.ms-notation-info dl div:nth-child(5) { border-left: 0; }
.ms-notation-info dt, .ms-notation-info dd { overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.ms-notation-info dt { color: var(--ms-faint); font: 590 .47rem var(--ms-mono); letter-spacing: .06em; text-transform: uppercase; }
.ms-notation-info dd { color: var(--ms-soft); font-size: .62rem; font-weight: 590; }
.ms-announcer { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); }

@keyframes ms-blink { 0%,100% { opacity:.35; } 50% { opacity:1; } }
@keyframes ms-status-pulse { 0%,100% { opacity:.55; transform: scale(.82); } 50% { opacity:1; transform: scale(1); } }
@keyframes ms-score-pulse { 0%,100% { opacity:.45; transform: translateY(0); } 50% { opacity:1; transform: translateY(-4px); } }

@container (max-width: 1030px) {
  .ms-transport { grid-template-columns: 1fr; }
  .ms-transport-options { padding-top: 7px; padding-left: 0; border-top: 1px solid var(--ms-line); border-left: 0; }
  .ms-studio-grid { grid-template-columns: 1fr; height: auto; }
  .ms-view-shell { height: 440px; }
  .ms-mixer { max-height: 430px; }
  .ms-track-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ms-track-row:nth-child(odd) { border-right: 1px solid var(--ms-line); }
}

@container (max-width: 650px) {
  .ms-topbar { display: grid; gap: 12px; padding: 6px 4px 12px 9px; }
  .ms-heading h2 { line-height: 1.3; white-space: normal; }
  .ms-quick-downloads { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .ms-quick-downloads a { min-width: 0; padding-inline: 5px; }
  .ms-subtitle { align-items: flex-start; flex-direction: column; }
  .ms-subtitle b::before { display: none; }
  .ms-progress { grid-template-columns: 1fr; gap: 10px; }
  .ms-progress > div > span { white-space: normal; }
  .ms-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ms-line); background: var(--ms-line); }
  .ms-stats > div, .ms-stats > div + div, .ms-stats > div:nth-child(3), .ms-stats > div:nth-child(4) { display: grid; align-content: center; gap: 4px; padding: 9px 10px; border: 0; background: #101415; }
  .ms-transport { gap: 9px; padding: 9px; }
  .ms-transport-main { display: grid; grid-template-columns: 33px 28px minmax(44px,auto) minmax(0,1fr) minmax(44px,auto); width: 100%; gap: 6px; }
  .ms-transport-main > span { min-width: 0; }
  .ms-seek { width: 100%; min-width: 0; }
  .ms-transport-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 7px; padding: 9px 0 0; }
  .ms-option-label, .ms-source-mix, .ms-synth-state { grid-column: 1 / -1; }
  .ms-option-label { padding-left: 1px; }
  .ms-source-mix { width: 100%; }
  .ms-source-mix input { flex: 1; }
  .ms-stereo-toggle, .ms-volume { width: 100%; }
  .ms-volume input { min-width: 0; flex: 1; }
  .ms-synth-state { display: flex; width: 100%; max-width: none; min-height: 29px; align-items: center; gap: 7px; padding: 0 8px; border: 1px solid var(--ms-line); background: rgba(255,255,255,.018); }
  .ms-synth-state::before { width: 7px; height: 7px; flex: none; border-radius: 50%; content: ""; background: var(--ms-faint); }
  .ms-synth-state[data-kind="loading"]::before { background: var(--ms-warning); box-shadow: 0 0 9px rgba(238,173,104,.34); }
  .ms-synth-state[data-kind="ready"]::before { background: var(--ms-success); box-shadow: 0 0 9px rgba(102,214,167,.3); }
  .ms-synth-state[data-kind="error"]::before { background: var(--ms-danger); }
  .ms-loop-strip { align-items: stretch; flex-direction: column; gap: 7px; padding-top: 9px; }
  .ms-loop-actions { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); width: 100%; gap: 5px; }
  .ms-loop-actions button { width: 100%; min-height: 34px; }
  .ms-loop-actions [data-action="loop"] { grid-column: span 2; min-width: 0; }
  .ms-loop-actions [data-action="select-region"] { grid-column: span 4; }
  .ms-loop-actions [data-action="loop-in"], .ms-loop-actions [data-action="loop-out"], .ms-loop-actions [data-action="clear-region"] { grid-column: span 2; }
  .ms-loop-readout { width: 100%; min-height: 32px; justify-content: space-between; padding: 7px 8px; border: 1px solid var(--ms-line); background: rgba(255,255,255,.012); }
  .ms-root[data-loop-active="true"] .ms-loop-readout { border-color: rgba(69,209,181,.32); background: rgba(69,209,181,.045); }
  .ms-view-shell { height: 350px; }
  .ms-tabs > span { display: none; }
  .ms-tabs { min-height: 0; flex-wrap: wrap; gap: 0 14px; padding: 0 8px 7px; }
  .ms-tabs button { min-height: 40px; }
  .ms-roll-zoom { width: 100%; padding-top: 7px; border-top: 1px solid var(--ms-line); }
  .ms-roll-zoom input { width: auto; flex: 1; }
  .ms-score-toolbar { grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
  .ms-score-toolbar > span { display: none; }
  .ms-score-toolbar label > span { display: none; }
  .ms-track-list { grid-template-columns: 1fr; }
  .ms-track-row:nth-child(odd) { border-right: 0; }
  .ms-notation-info { grid-template-columns: 1fr; }
  .ms-notation-heading { display: flex; align-items: center; justify-content: space-between; padding: 10px; border-right: 0; border-bottom: 1px solid var(--ms-line); }
  .ms-notation-info dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--ms-line); }
  .ms-notation-info dl div, .ms-notation-info dl div + div { min-height: 49px; padding: 9px 10px; border: 0; background: #101415; }
  .ms-program-select, .ms-score-toolbar select { height: 34px; font-size: 16px; }
  .ms-empty { min-height: 320px; }
}

/* Viewport fallbacks for Safari versions without reliable container queries. */
@media (max-width: 1030px) {
  .ms-transport { grid-template-columns: 1fr; }
  .ms-transport-options { padding-top: 7px; padding-left: 0; border-top: 1px solid var(--ms-line); border-left: 0; }
  .ms-studio-grid { grid-template-columns: 1fr; height: auto; }
  .ms-view-shell { width: 100%; height: 440px; }
  .ms-mixer { width: 100%; max-height: 430px; }
  .ms-track-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ms-track-row:nth-child(odd) { border-right: 1px solid var(--ms-line); }
}

@media (max-width: 650px) {
  .ms-topbar { display: grid; gap: 12px; padding: 6px 4px 12px 9px; }
  .ms-heading h2 { line-height: 1.3; white-space: normal; }
  .ms-quick-downloads { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .ms-quick-downloads a { min-width: 0; padding-inline: 5px; }
  .ms-subtitle { align-items: flex-start; flex-direction: column; }
  .ms-subtitle b::before { display: none; }
  .ms-progress { grid-template-columns: 1fr; gap: 10px; }
  .ms-progress > div > span { white-space: normal; }
  .ms-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ms-line); background: var(--ms-line); }
  .ms-stats > div, .ms-stats > div + div, .ms-stats > div:nth-child(3), .ms-stats > div:nth-child(4) { display: grid; align-content: center; gap: 4px; padding: 9px 10px; border: 0; background: #101415; }
  .ms-transport { gap: 9px; padding: 9px; }
  .ms-transport-main { display: grid; grid-template-columns: 33px 28px minmax(44px,auto) minmax(0,1fr) minmax(44px,auto); width: 100%; gap: 6px; }
  .ms-transport-main > span { min-width: 0; }
  .ms-seek { width: 100%; min-width: 0; }
  .ms-transport-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 7px; padding: 9px 0 0; }
  .ms-option-label, .ms-source-mix, .ms-synth-state { grid-column: 1 / -1; }
  .ms-option-label { padding-left: 1px; }
  .ms-source-mix { width: 100%; }
  .ms-source-mix input { flex: 1; }
  .ms-stereo-toggle, .ms-volume { width: 100%; }
  .ms-volume input { min-width: 0; flex: 1; }
  .ms-synth-state { display: flex; width: 100%; max-width: none; min-height: 29px; align-items: center; gap: 7px; padding: 0 8px; border: 1px solid var(--ms-line); background: rgba(255,255,255,.018); }
  .ms-synth-state::before { width: 7px; height: 7px; flex: none; border-radius: 50%; content: ""; background: var(--ms-faint); }
  .ms-synth-state[data-kind="loading"]::before { background: var(--ms-warning); box-shadow: 0 0 9px rgba(238,173,104,.34); }
  .ms-synth-state[data-kind="ready"]::before { background: var(--ms-success); box-shadow: 0 0 9px rgba(102,214,167,.3); }
  .ms-synth-state[data-kind="error"]::before { background: var(--ms-danger); }
  .ms-loop-strip { align-items: stretch; flex-direction: column; gap: 7px; padding-top: 9px; }
  .ms-loop-actions { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); width: 100%; gap: 5px; }
  .ms-loop-actions button { width: 100%; min-height: 34px; }
  .ms-loop-actions [data-action="loop"] { grid-column: span 2; min-width: 0; }
  .ms-loop-actions [data-action="select-region"] { grid-column: span 4; }
  .ms-loop-actions [data-action="loop-in"], .ms-loop-actions [data-action="loop-out"], .ms-loop-actions [data-action="clear-region"] { grid-column: span 2; }
  .ms-loop-readout { width: 100%; min-height: 32px; justify-content: space-between; padding: 7px 8px; border: 1px solid var(--ms-line); background: rgba(255,255,255,.012); }
  .ms-root[data-loop-active="true"] .ms-loop-readout { border-color: rgba(69,209,181,.32); background: rgba(69,209,181,.045); }
  .ms-view-shell { height: 350px; }
  .ms-tabs > span { display: none; }
  .ms-tabs { min-height: 0; flex-wrap: wrap; gap: 0 14px; padding: 0 8px 7px; }
  .ms-tabs button { min-height: 40px; }
  .ms-roll-zoom { width: 100%; padding-top: 7px; border-top: 1px solid var(--ms-line); }
  .ms-roll-zoom input { width: auto; flex: 1; }
  .ms-score-toolbar { grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
  .ms-score-toolbar > span, .ms-score-toolbar label > span { display: none; }
  .ms-score-page { min-width: 620px; }
  .ms-track-list { grid-template-columns: 1fr; }
  .ms-track-row:nth-child(odd) { border-right: 0; }
  .ms-notation-info { grid-template-columns: 1fr; }
  .ms-notation-heading { display: flex; align-items: center; justify-content: space-between; padding: 10px; border-right: 0; border-bottom: 1px solid var(--ms-line); }
  .ms-notation-info dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--ms-line); }
  .ms-notation-info dl div, .ms-notation-info dl div + div { min-height: 49px; padding: 9px 10px; border: 0; background: #101415; }
  .ms-program-select, .ms-score-toolbar select { height: 34px; font-size: 16px; }
  .ms-empty { min-height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  .ms-root *, .ms-root *::before, .ms-root *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}