@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101015;--panel:#19191f;--muted:#aaa6b5;--lime:#dcf588;--violet:#c3a8ff;--line:#34323e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5f1f8;font-family:'DM Sans',sans-serif;font-size:16px}button,input,select{font:inherit}button,.file-button{border:1px solid #494450;background:#27252e;color:#f5f1f8;border-radius:8px;padding:11px 14px;cursor:pointer;font-size:14px;font-weight:600;transition:.15s}button:hover,.file-button:hover{background:#3b3547;border-color:#ac91d3}button:disabled{opacity:.4;cursor:default}button.active,button.accent{background:var(--lime);color:#242a12;border-color:var(--lime)}button:focus-visible,input:focus-visible,select:focus-visible,.xy:focus-visible{outline:2px solid var(--lime);outline-offset:4px}header{min-height:96px;padding:24px 3.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{color:white;text-decoration:none;font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:600;letter-spacing:-1.5px}.brand span{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:2.5px;margin-top:5px;color:var(--muted)}.transport{display:flex;align-items:center;gap:10px}.transport label{font-size:14px;color:var(--muted);margin-right:10px}#tempo{width:56px;border:0;border-bottom:1px solid #696171;background:transparent;color:white;padding:6px;font-family:monospace}main{max-width:1600px;padding:32px 3.5% 20px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:14px;font-weight:600;letter-spacing:2px;color:var(--muted)}h1,h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-1.5px}h1{font-size:44px;margin:9px 0 0}h2{font-size:28px;margin:21px 0}.intro p{color:var(--muted);line-height:1.6;font-size:14px}.studio{display:grid;grid-template-columns:1.35fr .85fr 1.1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:23px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.pill{font-size:14px;letter-spacing:1px;border:1px solid #51485f;border-radius:20px;padding:6px 8px;color:#bcb1cb}.instrument{background:linear-gradient(155deg,#282031,#19191f 60%)}.instrument .eyebrow{color:var(--violet)}.xy{height:300px;border:1px solid #534164;border-radius:12px;position:relative;overflow:hidden;touch-action:none;background:radial-gradient(ellipse at 50% 60%,#65448566,transparent 62%),repeating-linear-gradient(0deg,transparent 0 29px,#9b7bb211 30px),repeating-linear-gradient(90deg,transparent 0 29px,#9b7bb211 30px);cursor:crosshair}.orb{width:95px;height:95px;border:1px solid #e4b9ff;border-radius:50%;position:absolute;left:40%;top:55%;transform:translate(-50%,-50%);box-shadow:0 0 45px #b783ef70,inset 0 0 28px #b783ef44;background:radial-gradient(circle at 35% 35%,#d1adeb55,#864abe22);pointer-events:none}.cross{position:absolute;background:#c4a1f229;pointer-events:none}.cross.x{height:1px;top:55%;width:100%}.cross.y{width:1px;height:100%;left:40%}.axis{position:absolute;width:100%;text-align:center;font-size:14px;letter-spacing:2px;color:#b59dc4;pointer-events:none}.top{top:16px}.bottom{bottom:16px}.xyhint{position:absolute;bottom:44px;width:100%;text-align:center;font-size:14px;letter-spacing:1.5px;color:#b8a8c2;pointer-events:none}.knobs{display:flex;gap:20px;align-items:center;margin:22px 0}.knobs label{flex:1;font-size:14px;color:var(--muted);min-width:0}input[type=range]{accent-color:var(--violet);width:100%;display:block;margin-top:10px;cursor:pointer}.keys{display:flex;gap:5px}.key{height:99px;flex:1;min-width:0;background:#e5deed;color:#322b3d;display:flex;flex-direction:column;justify-content:space-between;padding:12px 4px;font-family:'Space Grotesk';font-size:17px;border:0;border-bottom:5px solid #a99ab8}.key small{font-size:14px;opacity:.55}.key:hover,.key.playing{background:var(--violet);transform:translateY(3px);border-bottom-width:2px}.hint{font-size:14px;line-height:1.7;color:var(--muted)}.voice .eyebrow{color:#e4b67e}.voice-art{height:171px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#cd9a61}.voice-art>span{font-size:100px;line-height:1.1}.voice-art>div{font-size:14px;letter-spacing:1.5px}.wide{width:100%;margin:18px 0 10px;border-color:#795e42;background:#3b2f26;color:#f4c38a}.two{display:flex;gap:8px;margin:10px 0}.two>*{flex:1;min-width:0}.range-label{display:block;color:var(--muted);font-size:14px;margin-top:25px}.session{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.session button{display:block;margin-top:12px;width:100%}.session a{display:block;color:var(--lime);margin-top:10px;font-size:14px}.transmission .eyebrow{color:var(--lime)}.tv{height:175px;border:1px solid #4c5144;background:#141913;position:relative;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#d2dc9f;letter-spacing:4px}.tv small{font-size:14px;letter-spacing:1px;margin-top:12px;color:#8f987b}.tvlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#e9efb808 0 1px,transparent 1px 4px);pointer-events:none}.tv iframe{width:100%;height:100%;border:0}form{display:flex;gap:6px;margin-top:14px}form input{min-width:0;width:100%;background:#111115;border:1px solid var(--line);border-radius:6px;padding:10px;color:white;font-size:14px}form button{white-space:nowrap}#marks{display:flex;flex-wrap:wrap;gap:5px}#marks button{padding:5px 8px;font-size:14px}.sample-head{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.file-button{font-size:14px}.sample-head button{font-size:14px}.pads{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.pad{height:75px;color:var(--lime);border-color:#566039;background:#2b3122;padding:8px 3px;font-size:14px}.pad span{display:block;font:20px 'Space Grotesk';margin-bottom:8px}.pad.playing{background:var(--lime);color:#1b2410}.two label{font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center}select{background:#24242a;border:1px solid var(--line);border-radius:5px;font-size:14px;padding:7px;max-width:120px}.reverse{justify-content:flex-end}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px;color:var(--muted);font-size:14px}footer>span:first-child{font-size:14px;letter-spacing:1.4px}footer label{display:flex;gap:10px;align-items:center}footer input{max-width:100px;margin:0!important}@media(min-width:1450px){.xy{height:350px}.voice-art{height:200px}.tv{height:195px}}@media(max-width:1150px){.studio{grid-template-columns:1fr 1fr}.instrument{grid-column:1/-1}.xy{height:240px}.transport label{display:none}.intro p{display:none}.pill{font-size:14px}}@media(max-width:650px){header{flex-wrap:wrap;padding:20px}.brand{font-size:24px}.transport{order:3;width:100%}.transport label{display:block}.studio{display:block}.panel{margin-bottom:16px;padding:19px}.intro h1{font-size:34px}main{padding:25px 16px}.knobs{gap:12px}.key{height:85px}.xy{height:270px}footer{flex-wrap:wrap}footer>span:first-child{display:none}#power{font-size:14px}.section-head .pill{font-size:14px}}

/* Keep the shared transport within reach while editing any sound source. */
header{position:sticky;top:0;z-index:10;background:#101015f5;backdrop-filter:blur(12px);flex-wrap:wrap;padding:16px 3.5%;min-height:88px}
.transport{flex-wrap:wrap;gap:8px}.transport label{display:flex;align-items:center;gap:5px;margin:0}.transport-position{font-variant-numeric:tabular-nums;font-size:14px;min-width:104px;color:var(--lime)}
#tempo{width:66px}#record.active{background:#efb885;border-color:#efb885;color:#251d13}.brand span{font-size:14px;letter-spacing:1px}.intro{margin-bottom:20px}.intro h1{font-size:36px}.intro p{font-size:16px}
.sequencer{margin-bottom:22px;border-color:#565d3e;background:linear-gradient(135deg,#22271d,#19191f 65%)}
.sequencer-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.sequencer-heading h2{margin:9px 0 20px}.sequencer .eyebrow{color:var(--lime)}.sequencer .pill{font-size:14px;white-space:nowrap}
.sequence-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px}.sequence-toolbar label{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px}.sequence-toolbar select{max-width:220px;font-size:14px;color:#f5f1f8}.swing-control{flex-wrap:wrap;width:160px}.swing-control input{margin:0;accent-color:var(--lime)}.swing-control output{margin-left:auto;color:#f5f1f8;font-variant-numeric:tabular-nums}
.sequence-tracks{display:grid;gap:10px}.sequence-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:center}.track-controls{display:flex;align-items:center;gap:10px}.track-controls strong{width:56px;font-size:14px}.track-mute{padding:8px;font-size:14px;min-width:66px}.track-level{flex:1;display:flex;flex-wrap:wrap;gap:4px;font-size:14px;color:var(--muted)}.track-level output{margin-left:auto}.track-level input{margin:0;accent-color:var(--lime)}
.step-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:5px}.step{min-height:44px;padding:10px 0;border-radius:6px;background:#262830;color:#aaa6b5;font-size:14px;font-variant-numeric:tabular-nums;touch-action:manipulation}.step.beat-start{border-left:3px solid #929985}.step[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:#222816}.sequence-row[data-track=snare] .step[aria-pressed=true]{background:#efb885;border-color:#efb885}.sequence-row[data-track=hat] .step[aria-pressed=true]{background:var(--violet);border-color:var(--violet)}.step.current{box-shadow:0 0 0 2px white;position:relative;z-index:1}.sequence-row.muted .step-grid{opacity:.45}.track-mute[aria-pressed=true]{border-color:#efb885;color:#efb885}.sequence-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;font-size:14px;color:var(--muted)}#timingStatus{color:var(--lime)}
.recordings{margin-top:22px;border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}.recordings .hint{font-size:14px}.recordings a{color:var(--lime);font-size:14px;display:block;padding:6px 0}.hint{font-size:14px}.key,.pad{touch-action:manipulation}.knobs label,.two label,select,.file-button,.sample-head button{font-size:14px}.voice-art>div{font-size:14px}.pill{font-size:14px;letter-spacing:.5px}.axis,.xyhint{font-size:14px;letter-spacing:.5px}
@media(max-width:1150px){.transport{order:3;width:100%;justify-content:space-between}.transport label{display:flex}.sequence-row{grid-template-columns:180px minmax(0,1fr);gap:14px}.track-controls{flex-wrap:wrap}.track-level{flex-basis:100%}.track-controls strong{flex:1}.sequencer .pill{font-size:14px}}
@media(max-width:760px){.sequence-row{grid-template-columns:1fr;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.track-controls{flex-wrap:nowrap}.track-controls strong{flex:0 0 64px}.track-level{flex:1;max-width:180px;margin-left:auto}.step-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.step{min-height:44px;font-size:14px}.sequencer-heading{align-items:flex-start}.sequencer-heading h2{font-size:24px;letter-spacing:-.7px}.sequence-toolbar{gap:12px}.sequence-toolbar>label{flex-basis:100%}.swing-control input{width:160px;margin-left:10px}.swing-control output{margin-left:0}.sequence-toolbar button{padding:10px}.sequence-footer{line-height:1.5}.intro{margin-bottom:18px}.intro h1{font-size:32px}.transport{justify-content:flex-start;gap:8px}.transport-position{order:4}.transport #record{margin-left:auto}.transport label{font-size:14px}.transport button{padding:10px}.brand{font-size:22px}.brand span{font-size:14px}.section-head .pill{font-size:14px}header{padding:12px 16px;gap:10px}#power{font-size:14px;padding:10px}.panel{scroll-margin-top:200px}}
@media(prefers-reduced-motion:reduce){button,.file-button{transition:none}}

.voice .voice-art{height:90px}.voice-art>span{font-size:50px}.voice-art>div{line-height:1.5;text-align:center;letter-spacing:.6px}.voice-name{font-size:14px;overflow-wrap:anywhere;color:#efc89a;line-height:1.5}.voice-setting{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted);margin:14px 0}.voice-setting select{max-width:100%;min-width:0;font-size:14px;color:#f5f1f8}.voice-region{display:flex;gap:12px}.voice-region label{font-size:14px;color:var(--muted);min-width:0;flex:1}.voice-region input{display:block;margin-top:6px;width:100%;padding:9px;background:#111115;border:1px solid var(--line);border-radius:6px;color:#f5f1f8}.voice .two{flex-wrap:wrap}.voice .two .wide{margin:0}.voice .two button{flex-basis:120px;min-height:44px}.voice-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-actions button{flex:1;padding:10px;min-height:44px}.voice-actions button[aria-pressed=true]{color:#efb885;border-color:#efb885}#voiceProgress{width:100%;height:6px;accent-color:#efb885;border:0}#voiceTempoHint{color:#efc89a}#tempo:disabled{opacity:.6}.voice input:disabled,.voice select:disabled{opacity:.6}.voice .range-label{margin-top:18px}
.import-status:empty{display:none}.import-status{color:var(--lime);overflow-wrap:anywhere}.voice .import-status{color:#efc89a}
.session-bar{margin-bottom:22px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#19191f}.session-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.session-actions label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);min-width:0}.session-actions input,.session-actions select{min-width:0;width:240px;max-width:100%;font-size:15px;background:#111115;border:1px solid #575361;border-radius:6px;padding:10px;color:white}.session-actions button{min-height:42px}.session-bar .hint{margin:6px 0 0;font-size:14px}#sessionStatus{font-size:14px;color:var(--lime);margin-left:auto;max-width:480px;line-height:1.5;overflow-wrap:anywhere}#sessionStatus.unsaved{color:#efb885}@media(max-width:760px){.session-bar{padding:14px}.session-actions label{flex-basis:100%}.session-actions input,.session-actions select{flex:1;width:0}.session-actions label{display:grid;grid-template-columns:54px minmax(0,1fr)}.session-actions input,.session-actions select{width:100%}#sessionStatus{flex-basis:100%;margin:3px 0}.session-actions button{min-height:44px}}
.beat-builder{display:block;margin:0 0 24px;padding:18px;background:#14151a;border:1px solid var(--line);border-radius:12px}.beat-builder>label{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;font-size:16px;font-weight:600;color:var(--lime)}.beat-builder>label span{font-size:14px;font-weight:400;color:var(--muted)}.beat-entry{display:flex;gap:10px;margin-top:12px}.beat-entry input{flex:1;min-width:0;background:#0c0d11;border:1px solid #575361;border-radius:7px;padding:13px 14px;color:#f5f1f8;font:inherit;font-size:16px}.beat-entry input::placeholder{color:#aaa6b5}.beat-entry input[aria-invalid=true]{border-color:#efb885}.beat-entry button{white-space:nowrap;min-height:46px}.beat-examples{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:14px;color:var(--muted)}.beat-examples>span{margin-right:4px}.beat-examples button{font-size:14px;padding:7px 10px;background:transparent;min-height:36px}.beat-status{font-size:14px;line-height:1.5;color:var(--lime);margin:12px 0 8px;overflow-wrap:anywhere}.beat-builder details{font-size:14px;line-height:1.6;color:var(--muted)}.beat-builder summary{cursor:pointer;width:fit-content;padding:4px 0}.beat-builder details p{margin:8px 0;max-width:90ch}.beat-builder :focus-visible{outline:2px solid var(--lime);outline-offset:3px}@media(max-width:600px){.beat-builder{padding:14px}.beat-entry{flex-wrap:wrap}.beat-entry input{flex-basis:100%}.beat-entry button{width:100%}.beat-examples button{min-height:44px}.beat-builder>label span{font-size:14px}}
.session-backup-link{display:block;width:fit-content;max-width:100%;margin:8px 0;color:var(--lime);font-size:14px;overflow-wrap:anywhere}.session-backup-link[hidden]{display:none}.session-backup-help{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.6}.session-backup-help summary{cursor:pointer;width:fit-content;padding:4px 0}.session-backup-help p{margin:6px 0;max-width:100ch}

.sample-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.sample-actions [hidden]{display:none}.mix-download{display:flex;align-items:center;gap:16px;justify-content:space-between}.mix-download a{overflow-wrap:anywhere;min-width:0}.mix-download button{min-height:44px}.recordings>div{min-width:0}.recordings>div:first-child{max-width:65ch}#downloads{min-width:0;max-width:100%}

.sample-editor{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.cut-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cut-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.cut-toolbar button{min-height:44px;font-size:14px;padding:9px 10px}.sample-wave{height:180px;position:relative;border:1px solid #647440;border-radius:8px;overflow:hidden;background:#0d1110;touch-action:none;user-select:none}.sample-wave svg{width:100%;height:100%;display:block}.sample-wave path{fill:none;vector-effect:non-scaling-stroke}#sampleWavePath{stroke:#a7c476;stroke-width:1}#waveSelection{fill:#dcf58824;stroke:#dcf588;stroke-width:2;vector-effect:non-scaling-stroke}#waveEnvelope{stroke:#ffd09b;stroke-width:2}.wave-handle{position:absolute;width:44px;height:44px;padding:0;background:#dcf588;color:#20290e;border-color:#e7ffa5;z-index:1;touch-action:none}.wave-handle.start{top:0}.wave-handle.end{bottom:0}.wave-handle:focus-visible{outline:3px solid white;outline-offset:-5px}.wave-times{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:14px;margin:6px 0 12px}.cut-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.cut-fields label{font-size:14px;color:var(--muted)}.cut-fields input{display:block;width:100%;min-width:0;margin-top:6px;padding:10px 8px;background:#111115;color:white;border:1px solid #575361;border-radius:6px;font:inherit}.pads .pad[aria-current=true]{box-shadow:inset 0 0 0 2px #dcf588}.sample-editor .hint{font-size:14px;line-height:1.6}#cutStatus{color:var(--lime);min-height:2.5em}.transmission .two label{flex-wrap:wrap}
.cut-pitch{margin:16px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cut-pitch-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cut-pitch-heading label{font-size:14px}.cut-pitch-heading label span{color:var(--muted)}.cut-pitch-heading input{width:72px;min-height:44px;padding:8px;background:#111115;color:white;border:1px solid #575361;border-radius:6px;font:inherit}.cut-pitch-heading button{min-height:44px;padding:9px 10px;font-size:14px}.cut-pitch input[type=range]{display:block;width:100%;min-height:44px;margin:4px 0 0;accent-color:var(--lime)}.pitch-scale{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}#cutPitchInfo{color:var(--lime);margin-bottom:4px}.cut-pitch #cutPitchHelp{margin-bottom:0}
