.topbarActions{display:flex;align-items:center;gap:12px}
#arrangementCount{display:inline-grid;place-items:center;min-width:22px;padding:2px 5px;margin-left:5px;background:#29334e;border-radius:5px;color:#d2c8ff;font-size:11px}
.chords{min-width:0}
.arrangement{--chords:#bba5ff;--bass:#64d8be;--melody:#f0b877;margin-bottom:26px;border:1px solid #34405c;border-radius:13px;background:linear-gradient(140deg,#1a2035,#101823 60%);overflow:hidden;box-shadow:0 12px 30px #0002}
.arrangementHeading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 20px 12px}
.arrangementEyebrow{font-size:10px;letter-spacing:2px;color:#bba5ff;font-weight:700}
.arrangement h2{font-size:25px;letter-spacing:-.6px;margin:5px 0 4px}
.arrangementHeading p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.arrangementCaptureHint{font-size:12px;color:#c0c9dd;padding:10px 20px;border-top:1px solid #ffffff08;border-bottom:1px solid #ffffff08;background:#ffffff03;transition:background .15s}
.arrangementCaptureHint span{color:var(--muted2)}
.arrangementCaptureHint.shiftHeld{background:#a88ce625;color:#e4d8ff}
kbd{display:inline-block;font-family:inherit;font-size:11px;padding:2px 6px;margin-right:3px;border:1px solid #6c6190;border-radius:4px;box-shadow:0 2px 0 #493e69;color:#e2d7ff}
.arrangementToolbar,.arrangementGenerators{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 16px 0}
.arrangement .btn{width:auto;font-size:12px;padding:9px 12px;min-height:35px}
#openArrangement{width:auto;white-space:nowrap}
.arrangementHeading>div{flex:1}
.arrangementHeading>button{flex-shrink:0}
.arrangement button:disabled{opacity:.36;cursor:not-allowed;transform:none}
.arrangement button:focus-visible,.arrangement a:focus-visible,.arrangement select:focus-visible,.arrangement input:focus-visible,#openArrangement:focus-visible{outline:2px solid #d4c2ff;outline-offset:3px}
.arrangement .arrangementLoop{margin:0 3px;font-size:12px}
.arrangementTempo,.arrangementListen{display:flex;gap:6px;align-items:center;margin:0;font-size:11px}
.arrangementTempo input{width:62px;min-height:34px;border:1px solid var(--btnBorder);border-radius:7px;background:#0c121b;color:var(--text);padding:6px;font:inherit;font-size:12px}
.arrangementListen select{width:auto;max-width:130px;min-height:34px;padding:6px;font-size:11px}
.arrangement .bassButton{background:#64d8be16;border-color:#64d8be55;color:var(--bass)}
.arrangement .melodyButton{background:#f0b87716;border-color:#f0b87755;color:var(--melody)}
.arrangementGenerators{padding-bottom:16px}
#arrangementUndo{margin-left:auto}
.arrangementEmpty{display:grid;place-items:center;text-align:center;padding:35px 20px;border-block:1px dashed #34405c;background:#0b121a66}
.emptyNotes{font-size:35px;letter-spacing:10px;color:#8e78c4;line-height:1;margin-bottom:17px}
.emptyNotes span{color:#49796f;position:relative;top:-10px}
.arrangementEmpty strong{font-size:14px;font-weight:600}
.arrangementEmpty p{font-size:12px;color:var(--muted);line-height:1.9;margin:8px 0 0}
.arrangementTimeline{overflow:auto;max-height:65vh;overscroll-behavior-x:contain;border-block:1px solid #34405c;background:#0b111b}
.arrangementLanes{position:relative;min-width:100%;width:max-content;display:grid;grid-template-columns:130px var(--clip-columns);gap:0;isolation:isolate}
.arrangementRuler{height:29px;display:flex;align-items:center;padding:0 10px;color:#7891ad;border-right:1px solid #283247;border-bottom:1px solid #283247;font-size:10px;font-variant-numeric:tabular-nums}
.arrangementRuler:first-child{position:sticky;left:0;z-index:3;background:#121a26;color:#9aaac0}
.arrangementTrackLabel{position:sticky;left:0;z-index:3;background:#121a26;border-right:1px solid #34405c;border-bottom:1px solid #273347;padding:12px 10px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.arrangementTrackLabel strong{font-size:12px;display:flex;align-items:center;gap:7px;color:var(--track-color)}
.arrangementTrackLabel strong::before{content:'';width:6px;height:6px;background:var(--track-color);border-radius:50%}
.trackTools{display:flex;gap:4px;align-items:center}
.arrangement .iconButton{font-size:11px;padding:3px 6px;min-height:25px;border:1px solid #34405c;background:#192333;border-radius:5px;color:#c0cbdf;cursor:pointer}
.arrangement .iconButton[aria-pressed=true]{color:#8a93a9;background:#101521}
.trackMidi{font-size:10px;color:var(--track-color);text-decoration:none;cursor:grab;border-bottom:1px dotted currentColor;margin-left:auto}
.arrangementClip{position:relative;min-width:0;margin:5px;border:1px solid color-mix(in srgb,var(--track-color) 37%,transparent);border-radius:7px;background:color-mix(in srgb,var(--track-color) 10%,#101621);color:var(--track-color);padding:10px;cursor:grab;user-select:none;overflow:hidden;min-height:92px;transition:box-shadow .1s,background .1s}
.arrangementClip:hover{background:color-mix(in srgb,var(--track-color) 18%,#101621)}
.arrangementClip.playing{box-shadow:inset 0 0 0 1px var(--track-color);background:color-mix(in srgb,var(--track-color) 23%,#101621)}
.arrangementClip.muted{opacity:.4}
.arrangementClip.empty{border-style:dashed;color:#788ba4;background:#101721;cursor:default;display:grid;place-content:center;font-size:11px;text-align:center}
.clipHeading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;font-size:12px;min-width:0}
.clipHeading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clipHeading span{font-size:9px;opacity:.7;white-space:nowrap}
.clipNotes{font-size:10px;opacity:.8;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clipActions{display:flex;align-items:center;gap:4px}
.clipActions select{width:auto;max-width:77px;padding:4px;font-size:10px;background:#141b2b;color:var(--track-color);margin-right:auto}
.clipActions .iconButton{background:transparent;border-color:#ffffff18;color:inherit;flex-shrink:0}
.clipMove{cursor:ew-resize!important}
.clipPiano{height:41px;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff08 calc(25% - 1px),#ffffff08 25%);border-block:1px solid #ffffff08;pointer-events:none}
.clipPiano i{display:block;position:absolute;height:4px;background:var(--track-color);border-radius:2px;opacity:.85;min-width:2px}
.clipDownload{display:block;font-size:10px;color:inherit;text-decoration:none;margin-top:7px;opacity:.72;cursor:pointer}
.clipDownload:hover{opacity:1;text-decoration:underline}
.arrangementClip.dropTarget{outline:2px dashed #ede0ff;outline-offset:1px}
.arrangementPlayhead{position:absolute;top:28px;bottom:0;width:2px;background:#f8f4ff;box-shadow:0 0 8px #ede0ff55;z-index:2;pointer-events:none;left:130px}
.arrangementFooter{display:flex;gap:13px;align-items:center;padding:14px 16px 9px}
.arrangementFooter .btn{flex-shrink:0;cursor:grab}
.arrangementFooter p{color:var(--muted);font-size:10px;line-height:1.7;margin:0}
.arrangementMessage{padding:0 16px 14px;font-size:11px;color:var(--muted);min-height:29px}
.arrangement.is-expanded{position:fixed;inset:80px 24px 20px;z-index:20;margin:0;display:flex;flex-direction:column;box-shadow:0 0 0 100vmax #070b12dd}
.arrangement.is-expanded .arrangementTimeline{flex:1;max-height:none;min-height:120px}
.arrangement.is-expanded .arrangementEmpty{flex:1;align-content:center}
.arrangement.is-expanded .arrangementLanes{min-height:390px}
.arrangement.is-expanded .arrangementClip{min-height:110px}
.arrangement.is-expanded .clipPiano{height:56px}
body.arrangementExpanded{overflow:hidden}
[hidden]{display:none!important}
@media(min-width:1400px){.layout{max-width:1500px}}
@media(max-width:680px){
 .topbarActions{gap:6px}.topbarActions .status{display:none}.brandTitle{font-size:13px}.brandSub{font-size:10px}
 #openArrangement{padding:7px;font-size:11px}.arrangementHeading{padding:16px 13px 10px}.arrangement h2{font-size:22px}
 .arrangementCaptureHint{padding:10px 13px}.arrangementCaptureHint span{display:none}
 .arrangementToolbar,.arrangementGenerators{padding-inline:10px;gap:6px}.arrangement .btn{font-size:11px;padding:8px}
 .arrangementFooter{align-items:flex-start;flex-direction:column}.arrangement.is-expanded{inset:74px 8px 8px}
 #arrangementUndo{margin-left:0}.arrangementTrackLabel{padding-inline:8px}
 .layout{display:flex;flex-direction:column}.chords{order:-1}
}
@media(prefers-reduced-motion:reduce){.arrangement *{transition:none!important;scroll-behavior:auto!important}}
