:root{--lane-gutter: 4.5rem;--paper: #fdf6e8;--panel: #fffcf5;--ink: #2a241c;--muted: #8a8279;--line: #e6ddcb;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:none;padding:.75rem 1.25rem 3rem}.app__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.app__head h1{font-size:1.15rem;margin:0;letter-spacing:-.01em}.app__brand{display:inline-flex;align-items:center;gap:.6rem}.flower{width:40px;height:40px;display:block;will-change:transform}.flower--turning{animation:flower-turn 8s linear infinite}@keyframes flower-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.flower--turning{animation:none}}label{display:inline-flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--muted)}select{font:inherit;font-size:.82rem;padding:.25rem .4rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink)}.chip{font:inherit;font-size:.85rem;padding:.25rem .6rem;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);display:inline-flex;gap:.3rem;align-items:baseline}.chip small{color:var(--muted);font-size:.72rem}.chip:hover{border-color:#c9bda2}.chip.chip--on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.chip--on:hover{background:#453d33;border-color:#453d33}.chip--on small{color:#bfb6a5}.necks{display:grid;gap:.7rem;padding:.6rem 0 .9rem}.controls{display:flex;flex-wrap:wrap;gap:.75rem;padding:.7rem 0 .3rem}.check{gap:.3rem}.ghost{border:none;background:none;font-size:1.2rem;line-height:1;color:var(--muted);cursor:pointer;padding:0 .25rem}.ghost:hover{color:var(--ink)}.neck{display:block}.neck--horizontal{width:100%;height:auto;max-height:38vh}.neck--vertical{width:auto;height:34rem;max-width:100%;margin:0 auto}.empty{color:var(--muted);font-size:.9rem;padding:1.5rem 0}.num{font:inherit;font-size:.82rem;width:3.2rem;padding:.25rem .35rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink)}.app__head-right{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.5rem .75rem;min-width:0}.link{font:inherit;font-size:.8rem;background:none;border:none;padding:0;color:#8a6d3b;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.circle{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.5rem}.circle svg{display:block;width:100%;max-width:21rem;height:auto;margin:0 auto}.circle__pos{cursor:pointer}.circle__seat.circle__seat--fixed{cursor:default}.circle__pos--out{opacity:.3}.circle__pos--out:hover{opacity:.75}.circle__seat circle,.circle__seat path{transition:opacity .15s ease}.circle__seat.circle__seat--key>circle:first-of-type,.circle__seat.circle__seat--key>g>path{stroke:var(--ink);stroke-width:2.5}.circle__borrowed{fill:none;stroke:#8a6d3b;stroke-width:1.4;stroke-dasharray:3 2.5;opacity:.85}.circle__now{fill:none;stroke:#c0392b;stroke-width:2.5}.circle__seat.circle__seat--hover>circle:first-of-type{stroke:#c0392b}.circle__arc{stroke:#c0392b;stroke-width:2;stroke-dasharray:5 4;opacity:.8;stroke-linecap:round;pointer-events:none}.circle__label{font-size:11px;font-weight:600;pointer-events:none}.circle__label--small{font-size:9px;font-weight:500}.circle__centre{font-size:13px;font-weight:600;fill:var(--ink)}.circle__centre-sub{font-size:9.5px;fill:var(--muted)}.circle__seatless{font-size:9px;fill:#c0392b}.circle__foot{margin:.15rem .35rem .35rem;font-size:.7rem;color:var(--muted)}.floater{position:fixed;z-index:40;width:22rem;max-width:calc(100vw - 2rem);background:var(--panel);border:1px solid #d8c19a;border-radius:10px;box-shadow:0 10px 30px #1f1b1638}.floater__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border-bottom:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.floater__bar:active{cursor:grabbing}.floater__title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.floater .circle{border:none}.palette{display:grid;gap:.7rem;padding:.85rem 0 0}.palette__group{display:grid;gap:.3rem}.palette__title{margin:0;font-size:.74rem;font-weight:600;letter-spacing:.02em}.palette__hint{font-weight:400;color:var(--muted)}.palette__chips{display:flex;flex-wrap:wrap;gap:.3rem}.voicings{display:flex;flex-wrap:wrap;gap:.3rem;padding:.55rem 0 .2rem}.voicings code{font:.82rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}.voicings__none{font-size:.78rem;color:var(--muted)}.pips{display:inline-flex;gap:.14em;align-items:center;align-self:center}.pip{width:.34em;height:.34em;border-radius:50%;border:1px solid var(--muted);background:transparent}.pip.pip--on{background:var(--ink);border-color:var(--ink)}.chip.chip--on .pip{border-color:#8d8375}.chip.chip--on .pip.pip--on{background:var(--paper);border-color:var(--paper)}.pips--4 .pip.pip--on{background:#a8642c;border-color:#a8642c}.pips--5 .pip.pip--on{background:#9c3b28;border-color:#9c3b28}.chip.chip--on .pips--4 .pip.pip--on,.chip.chip--on .pips--5 .pip.pip--on{background:#e8a878;border-color:#e8a878}.transport{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.7rem .85rem;margin-bottom:.9rem;background:var(--panel);border:1px solid var(--line);border-radius:9px}.transport__play{font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:.35rem .85rem;border-radius:6px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);min-width:5.2rem}.transport__reset{font:inherit;font-size:1rem;line-height:1;cursor:pointer;width:1.9rem;height:1.9rem;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.transport__tempo{gap:.45rem}.transport__tempo input{width:8rem}.transport__bpm{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.8rem;min-width:2ch}.transport__loop{font-size:.78rem;color:var(--muted);display:inline-flex;gap:.4rem}.transport__loop--on{color:#8a6d3b;font-weight:600}.health{margin:0 0 .5rem;padding:.5rem .7rem;border-radius:6px;font-size:.8rem;line-height:1.45}.health--strained{background:#fdf3e0;border:1px solid #e0c894;color:#7a5c22}.health--link{background:var(--panel);border:1px solid var(--line);color:var(--muted)}.health--tabs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;margin:.6rem 0 0}.health--failed{background:#fbeae7;border:1px solid #dda79c;color:#8f2d1b;font-weight:500}.playhead{position:absolute;top:0;bottom:0;left:calc(var(--lane-gutter) + .4rem);width:calc(100% - var(--lane-gutter) - .4rem);opacity:0;pointer-events:none;z-index:2;will-change:transform}.playhead:before{content:"";position:absolute;left:0;top:-.15rem;bottom:-.15rem;width:2px;background:#c0392b;border-radius:1px}.loop{display:grid;grid-template-columns:var(--lane-gutter) minmax(0,1fr);gap:0 .4rem;align-items:center}.loop__label{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;text-align:right;padding-right:.2rem}.loop__lane{position:relative;height:1.15rem;cursor:crosshair;border:1px solid var(--line);border-radius:4px;background:#f6efe2;touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--bars)) 100%}.loop__band{position:absolute;top:0;bottom:0;background:#8a6d3b;border-radius:3px;cursor:grab;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.loop__band:hover{background:#6f5730}.loop__band.loop__band--all{background:#efe4cd;pointer-events:none;border:1px dashed #d9c9a6}.loop__text{font-size:.62rem;font-weight:600;letter-spacing:.02em;color:var(--paper);pointer-events:none;white-space:nowrap;padding:0 .5rem}.loop__band--all .loop__text{color:#a2957e;font-weight:500}.loop__grip{position:absolute;top:0;bottom:0;width:14px;cursor:ew-resize;touch-action:none;display:flex;align-items:center;justify-content:center}.loop__grip--start{left:-7px}.loop__grip--end{right:-7px}.loop__grip:before{content:"";width:4px;height:62%;border-radius:2px;background:var(--paper);box-shadow:0 0 0 1px #1f1b1659}.pedit{display:grid;gap:.35rem;position:relative}.pedit__row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.pedit__input{flex:1 1 22rem;min-width:14rem;font:inherit;font-size:.95rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}.pedit__input:focus{outline:none;border-color:#b8a880;box-shadow:0 0 0 3px #b8a88040}.pedit__meta{font-size:.74rem;color:var(--muted);white-space:nowrap}.pedit__chips{display:flex;gap:.3rem;flex-wrap:wrap;align-items:baseline}.pchip{display:inline-flex;gap:.25rem;align-items:baseline;font-size:.78rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--line);background:#faf4e8}.pchip small{font-size:.66rem;color:var(--muted)}.pchip--bar{border:none;background:none;padding:0 .1rem;color:var(--muted)}.pchip--rest{color:var(--muted);font-style:italic}.pchip--error{border-color:#d98c7a;background:#fbeae5;color:#9a3b2a}.pchip--partial{opacity:.55;border-style:dashed}.pedit__saved{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.pedit__save{display:inline-flex;gap:.4rem;align-items:center;margin:0}.pedit__name{font:inherit;font-size:.8rem;width:11rem;padding:.2rem .4rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink)}.pedit__analysis{margin:0;font-size:.78rem;color:var(--muted)}.pedit__analysis strong{color:var(--ink);font-weight:600}.pedit__numerals{letter-spacing:.04em}.pedit__known{color:#6f5a34;font-weight:600}.pedit__list{list-style:none;margin:0;padding:.25rem;display:grid;gap:1px;position:absolute;top:100%;left:0;z-index:5;min-width:22rem;max-width:34rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #2a241c1f}.pedit__item{display:grid;grid-template-columns:4.5rem 3.2rem minmax(0,1fr);gap:.5rem;align-items:baseline;padding:.3rem .55rem;border-radius:5px;cursor:pointer;font-size:.82rem}.pedit__item strong{font-size:.92rem}.pedit__item small{color:var(--muted);font-size:.7rem}.pedit__item span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pedit__item.pedit__item--on{background:var(--ink);color:var(--paper)}.pedit__item.pedit__item--on small,.pedit__item.pedit__item--on span{color:#bfb6a5}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.drawer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#2a241c40}.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(36rem,100%);background:var(--panel);border-left:1px solid var(--line);box-shadow:-12px 0 32px #2a241c2e;display:flex;flex-direction:column}.drawer__panel:focus{outline:none}.drawer__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--line)}.drawer__head h2{margin:0;font-size:1.05rem}.drawer__close{font:inherit;font-size:1.4rem;line-height:1;background:none;border:none;cursor:pointer;color:var(--muted);padding:0 .25rem}.drawer__close:hover{color:var(--ink)}.drawer__nav{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .75rem;padding:.6rem 1.25rem;border-bottom:1px solid var(--line);font-size:.78rem}.drawer__nav a{color:#8a6d3b;text-decoration:none}.drawer__nav a:hover{text-decoration:underline}.drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto}.dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;padding:1.5rem;display:flex;align-items:center;justify-content:center}.dialog__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#2a241c52}.dialog__panel{position:relative;width:min(52rem,100%);max-height:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 48px #2a241c3d;display:flex;flex-direction:column}.dialog__panel:focus{outline:none}.dialog__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}.dialog__head h2{margin:0;font-size:1rem}.dialog__head small{color:var(--muted);font-size:.76rem;font-weight:400;margin-left:.5rem}.dialog__close{font:inherit;font-size:1.4rem;line-height:1;background:none;border:none;cursor:pointer;color:var(--muted);padding:0 .25rem;align-self:center}.dialog__close:hover{color:var(--ink)}.dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 1.1rem 1.1rem}.dsection{padding:.85rem 0;border-bottom:1px solid var(--line)}.dsection:last-child{border-bottom:none;padding-bottom:.2rem}.dsection__title{margin:0 0 .5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dsection__title small{text-transform:none;letter-spacing:0;font-size:.76rem;font-weight:400;margin-left:.6rem}.dsection__body{display:grid;gap:.6rem}.dsection,.dsection__body,.dsection__body>*,.settings .editor,.settings .editor>*,.settings label,.dialog__body label{min-width:0}.settings select,.dialog__body select{max-width:14rem}.dict{font-size:.8rem}.dict__open{cursor:pointer;color:var(--accent, #8a6d3b);font-size:.78rem;padding:.2rem 0;list-style-position:outside;width:fit-content}.dict__open:hover{text-decoration:underline}.dict__syntax,.dict__chords{border-collapse:collapse;width:100%;margin:.4rem 0 0}.dict__syntax td,.dict__chords td{padding:.22rem .5rem .22rem 0;vertical-align:baseline;border-bottom:1px solid var(--line)}.dict__syntax td:first-child,.dict__chords td:first-child{white-space:nowrap}.dict__chords td:first-child{width:6rem}.dict__chords td:nth-child(2){width:11rem}.dict__aliases{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}.dict__note{color:var(--muted);font-size:.78rem;margin:.9rem 0 .2rem}.dict__group{margin-top:.9rem}.dict__heading{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dict code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;background:#f4ecdb;padding:.05rem .3rem;border-radius:3px}.share{display:grid;gap:1rem}.share__parts{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.share__part{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.5rem;align-items:baseline;padding:.4rem;border-radius:6px;cursor:pointer}.share__part:hover{background:#faf4e8}.share__part--none{cursor:default;opacity:.5}.share__part--none:hover{background:none}.share__label{font-size:.88rem;font-weight:600;white-space:nowrap}.share__note{font-size:.78rem;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share__url{display:grid;gap:.3rem}.share__url textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.45;width:100%;resize:vertical;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);word-break:break-all}.share__len{margin:0;font-size:.8rem;font-variant-numeric:tabular-nums}.share__len--good{color:#2f7d4f}.share__len--warn{color:#8a6d3b}.share__len--bad{color:#c0392b}.settings{padding:.35rem 1.25rem 2rem}.settings__row{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:.5rem}.settings__row select,.settings__row input{width:100%}.settings__buttons{display:flex;flex-wrap:wrap;gap:.4rem}.settings__buttons button{font:inherit;font-size:.78rem;padding:.3rem .65rem;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}.settings__buttons button:hover{border-color:#c9bda2}.settings__note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.help__prose{padding:.5rem 1.25rem 2rem;font-size:.86rem;line-height:1.55}.help__prose section{padding:.9rem 0;border-bottom:1px solid var(--line);scroll-margin-top:.5rem}.help__prose section:last-child{border-bottom:none}.help__prose h3{margin:0 0 .4rem;font-size:.95rem}.help__prose p{margin:.35rem 0}.help__prose ol{margin:.35rem 0;padding-left:1.25rem}.help__prose li{margin:.2rem 0}.help__prose table{border-collapse:collapse;margin:.4rem 0;width:100%}.help__prose td{padding:.25rem .5rem .25rem 0;vertical-align:top;border-bottom:1px solid var(--line)}.help__prose td:first-child{white-space:nowrap}.help__prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;background:#f4ecdb;padding:.05rem .3rem;border-radius:3px}.help__prose kbd{font:inherit;font-size:.74rem;padding:0 .3rem;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--paper)}.song{display:grid;gap:.6rem;padding-top:.5rem}.song__mode{display:flex;gap:.35rem}.song__sections,.song__slots{list-style:none;margin:0;padding:0;display:grid;gap:2px}.song__section{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:.5rem;align-items:center;padding:.25rem .4rem;border-radius:5px}.song__section:nth-child(odd){background:#faf4e8}.song__section.song__section--open{box-shadow:inset 0 0 0 1px var(--ink)}.song__mark{color:#8a6d3b;font-weight:700;width:.7rem;flex:none;display:inline-block}.song__open{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:#8a6d3b;margin-left:.4rem}.song__keep{justify-self:start;font:inherit;font-size:.78rem;padding:.3rem .65rem;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}.song__keep:hover{border-color:#c9bda2}.song__slot.song__slot--sounding{background:#8a6d3b;color:var(--paper)}.song__slot.song__slot--sounding .link{color:var(--paper)}.song__name{font:inherit;text-align:left;cursor:pointer;border:none;background:none;color:var(--ink);padding:0;display:flex;gap:.5rem;align-items:baseline}.song__name strong{font-size:.95rem}.song__name small{font-size:.7rem;color:var(--muted)}.song__rename{margin:0}.song__slots{display:flex;flex-wrap:wrap;gap:.35rem;counter-reset:slot}.song__slot{display:inline-flex;gap:.35rem;align-items:center;font-size:.8rem;padding:.2rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.song__slot strong{font-size:.9rem}.song__repeats{gap:.15rem;font-size:.75rem}.song__repeats .num{width:2.6rem;padding:.1rem .25rem;font-size:.75rem}.song__slot .link:disabled{opacity:.3;cursor:default}.seq{display:grid;gap:.5rem}.seq__size{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.seq__ruler{display:grid;gap:2px;margin-left:calc(var(--lane-gutter) + .4rem)}.seq__bar{font:inherit;font-size:.62rem;line-height:1;cursor:pointer;padding:.22rem 0;color:var(--muted);border:1px solid var(--line);border-radius:3px;background:#f6efe2}.seq__bar:hover{border-color:#c9bda2}.seq__bar.seq__bar--loop{background:#8a6d3b;border-color:#8a6d3b;color:var(--paper);font-weight:600}.seq__bar.seq__bar--loop:hover{background:#6f5730;border-color:#6f5730}.seq__lanes{position:relative;display:grid;gap:.55rem}.seq__lanes--song .ctrack,.seq__lanes--song .btrack,.seq__lanes--song .drum__cells,.seq__lanes--song .drum__name{pointer-events:none}.seq__bar{position:relative}.seq__mark{position:absolute;left:.25rem;top:.1rem;font-size:.6rem;font-weight:700;color:var(--ink)}.seq__bar.seq__bar--loop .seq__mark{color:var(--paper)}.seq__scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:.35rem}.seq__scroll>.seq__lanes{width:max-content;min-width:100%}.seq__scroll .btrack__keys,.seq__scroll .drum__name{position:sticky;left:0;z-index:3;background:var(--panel)}.seq__system{display:grid;gap:.3rem;padding-bottom:.55rem;content-visibility:auto;contain-intrinsic-size:auto 320px}.seq__system+.seq__system{border-top:1px dashed var(--line);padding-top:.55rem}.seq__lanepicker{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;padding:.15rem 0 .35rem}.seq__lanepicker .drums__tools{display:inline-flex;gap:.35rem;align-items:center}.lane{display:grid;gap:.35rem}.lane__head{display:flex;align-items:center;gap:.4rem;min-width:0}.lane__name{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;white-space:nowrap}.lane__btn{min-height:1.9rem;padding:.2rem .7rem}.lane__hint{font-size:.7rem;color:#a89f92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.lane__body{display:grid;gap:.4rem}.ctrack__lane{position:relative;height:2.7rem;margin-top:.25rem;margin-left:calc(var(--lane-gutter) + .4rem);border:1px solid var(--line);border-radius:6px;background:#faf4e8;overflow:hidden}.cblock{position:absolute;top:3px;bottom:3px;background:#ede0c6;border:1px solid #d8c19a;border-radius:4px;display:flex;align-items:center;cursor:grab;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.cblock.cblock--on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.cblock__label{flex:1;min-width:0;padding:0 .4rem;display:flex;gap:.35rem;align-items:baseline;white-space:nowrap;overflow:hidden}.cblock__label strong{font-size:.86rem}.cblock__label small{font-size:.66rem;color:var(--muted)}.cblock--on .cblock__label small{color:#bfb6a5}.cblock__grip{position:relative;width:14px;align-self:stretch;cursor:ew-resize;flex:none;display:flex;align-items:center;justify-content:center}.cblock__grip:before{content:"";width:4px;height:55%;border-radius:2px;background:#5a482873}.cblock__grip:hover:before{background:#6f5730;height:75%}.cblock--on .cblock__grip:before{background:#ffffff8c}.cblock--on .cblock__grip:hover:before{background:#fff}.btrack__wrap{display:flex;gap:.4rem;margin-top:.25rem}.btrack__keys{position:relative;width:var(--lane-gutter);flex:none}.btrack__key{position:absolute;right:.2rem;font-size:.58rem;color:var(--muted);line-height:1;transform:translateY(50%)}.btrack__lane{position:relative;flex:1;min-width:0;cursor:crosshair;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#faf4e8;background-image:repeating-linear-gradient(to top,transparent 0 10px,rgba(0,0,0,.035) 10px 11px)}.bnote{position:absolute;background:#4370b7;border-radius:3px;cursor:grab;display:flex;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none;min-width:6px}.bnote__label{font-size:.55rem;color:#fff;padding-left:3px;overflow:hidden;white-space:nowrap}.bnote__vel{width:7px;margin-left:auto;align-self:stretch;cursor:ns-resize;background:#fff6}.bnote__vel:hover{background:#ffffffd9}.bnote__grip{width:7px;align-self:stretch;cursor:ew-resize;background:#fff9}.bnote__grip:hover{background:#fff}.bnote--on{outline:2px solid var(--ink);outline-offset:1px;z-index:1}.drum__grid{display:grid;grid-template-columns:var(--lane-gutter) minmax(0,1fr);gap:2px .4rem;align-items:center;margin-top:.25rem}.drum__name{font:inherit;font-size:.7rem;font-weight:600;text-align:left;cursor:pointer;border:none;background:none;color:var(--ink);padding:0 .15rem 0 0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.drum__name:hover{color:#8a6d3b}.drum__mute{font:inherit;font-size:.6rem;font-weight:700;width:1.15rem;height:1.15rem;border-radius:3px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;flex:none;padding:0;line-height:1}.drum__mute--on{background:#c0392b;border-color:#c0392b;color:#fff}.drum__cells{display:grid;gap:1px;height:1.35rem}.drum__cells--muted{opacity:.35}.cell{position:relative;padding:0;border:none;cursor:pointer;touch-action:none;background:#f1e9da;border-radius:1px;overflow:hidden}.cell--beat{background:#e7dcc7}.cell:hover{outline:1px solid #c9bda2}.cell--on{background:#cfc3aa}.cell__level{position:absolute;left:0;right:0;bottom:0;background:#8a6d3b}.tab{font:inherit;font-size:.75rem;padding:.15rem .5rem;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted)}.tab:hover{border-color:#c9bda2;color:var(--ink)}.tab:disabled{opacity:.45;cursor:default}.tab:disabled:hover{border-color:var(--line);color:var(--muted)}.tab.tab--on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tab.tab--on:hover{background:#453d33;border-color:#453d33;color:var(--paper)}.suggest{display:grid;gap:1rem;padding:.85rem 0 0}.suggest__wild{font-size:.72rem;color:var(--muted);margin-left:auto;white-space:nowrap}.suggest__wild input{margin-right:.15rem}.palette__title{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.suggest__rank{color:#8a6d3b;font-size:.92em}.suggest__group{display:grid;gap:.35rem}.suggest__list,.suggest__routes{list-style:none;margin:0;padding:0;display:grid;gap:2px}.suggest__list li,.suggest__routes li{display:grid;align-items:baseline;gap:.55rem;grid-template-columns:7.2rem 8rem minmax(0,1fr) 11rem 4.6rem 2.4rem;padding:.28rem .4rem;border-radius:5px}.suggest__routes li{grid-template-columns:7.2rem 14rem minmax(0,1fr) 2.4rem}.suggest__pair{white-space:nowrap}.suggest__list li:nth-child(odd),.suggest__routes li:nth-child(odd){background:#faf4e8}.suggest__chord{font:inherit;text-align:left;cursor:pointer;border:none;background:none;color:var(--ink);padding:0;display:flex;gap:.3rem;align-items:baseline}.suggest__chord strong{font-size:.95rem}.suggest__chord small{font-size:.68rem;color:var(--muted)}.suggest__chord:hover strong{color:#8a6d3b}.suggest__mood{font-size:.78rem;font-weight:600;color:#6f5a34}.suggest__mood--arriving,.suggest__mood--resolving,.suggest__mood--settling{color:#2f7a45}.suggest__mood--tightening,.suggest__mood--unsettling,.suggest__mood--restless{color:#b0452e}.suggest__mood--mournful,.suggest__mood--darkening,.suggest__mood--yearning{color:#5b4a86}.suggest__mood--brightening,.suggest__mood--lifting,.suggest__mood--opening{color:#a37312}.suggest__why{font-size:.73rem;color:var(--muted)}.suggest__role{font-size:.68rem;color:#a89f92}.suggest__label{font-size:.75rem;font-weight:600}.suggest__route{font-size:.85rem;font-variant-numeric:tabular-nums}.suggest__add{font-size:.72rem}.session__title{font:inherit;font-size:.9rem;font-weight:600;padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);min-width:14rem}.session__message{font-size:.78rem;color:#8a6d3b}.panel2{display:grid;gap:.35rem}.panel2--card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:.55rem .8rem .7rem}.panel2--shut .panel2__body{display:none}.panel2--card.panel2--shut{background:none;border-color:transparent;padding:0;box-shadow:none}.necks .panel2--card{padding-top:.5rem}.panel2__bar{display:flex;align-items:center;gap:.6rem;min-height:1.5rem;min-width:0}.panel2__toggle{font:inherit;display:flex;align-items:baseline;gap:.4rem;cursor:pointer;border:none;background:none;padding:0;color:var(--ink);text-align:left;flex:1;min-width:0}.panel2__chevron{font-size:.6rem;color:var(--muted);width:.7rem;flex:none}.panel2__title{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;white-space:nowrap}.panel2__toggle:hover .panel2__title{color:var(--ink)}.panel2__hint{font-size:.7rem;color:#a89f92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel2__aside{display:flex;align-items:center;gap:.4rem;flex:none}.panel2__body{display:grid;gap:.4rem}.editor{display:grid;gap:.5rem;padding-top:.2rem}.editor__row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.editor__name{font:inherit;font-size:.8rem;padding:.2rem .35rem;width:11rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink)}.editor__transpose{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;color:var(--muted)}.editor__transpose button,.editor__row>button{font:inherit;font-size:.78rem;padding:.15rem .5rem;cursor:pointer;line-height:1.3;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink)}.editor__row>button:hover,.editor__transpose button:hover{border-color:#c9bda2}.editor__strings{list-style:none;margin:0;padding:0;display:grid;gap:2px}.editor__strings li{display:flex;align-items:center;gap:.35rem;padding:.15rem .3rem;border-radius:4px}.editor__strings li:nth-child(odd){background:#faf4e8}.editor__num{font-size:.7rem;color:var(--muted);width:1.1rem;text-align:right}.tuning{font:.82rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;width:3.8rem;padding:.22rem .35rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);text-align:center}.tuning--bad{border-color:#c0392b;color:#c0392b}.editor__midi{font-size:.66rem;color:#b5ac9f;width:2rem}.editor__from{font-size:.66rem;color:var(--muted)}.editor__strings button{font:inherit;font-size:.7rem;line-height:1;padding:.2rem .35rem;cursor:pointer;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--muted)}.editor__strings button:disabled{opacity:.3;cursor:default}.editor__count{font-size:.72rem;color:var(--muted)}.editor__problems{margin:0;padding-left:1.1rem;font-size:.75rem;color:#c0392b}.voice__note{margin:0;font-size:.75rem;color:var(--muted)}.adsr{display:grid;gap:.25rem}.adsr__knob{display:grid;grid-template-columns:3.6rem minmax(0,1fr) 3.4rem;align-items:center;gap:.4rem}.adsr__name{font-size:.72rem;color:var(--muted)}.adsr__value{font-size:.7rem;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.adsr input[type=range]{width:100%}.transport__play--small{min-width:0;width:1.8rem;height:1.8rem;padding:0;font-size:.7rem}.drums__tools{display:flex;justify-content:flex-end}.below{display:grid;gap:1.4rem;align-items:start;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.below__main,.below__side{display:grid;gap:.8rem;align-content:start;min-width:0}@media(max-width:1100px){.below{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.app{padding:.5rem .6rem 2.5rem}.transport{gap:.5rem}.editor__row{gap:.45rem}.transport select{max-width:8rem}.lane__hint{display:none}}@media(pointer:coarse){.lane__btn{min-height:2.4rem;padding:.3rem .9rem;font-size:.82rem}}@media(orientation:landscape)and (max-height:520px){.neck--horizontal{max-height:70vh}.neck--vertical{height:70vh}}@media(max-width:820px){.suggest__list li{grid-template-columns:5.6rem 7rem minmax(0,1fr)}.suggest__list li>:nth-child(4),.suggest__list li>:nth-child(5){display:none}.suggest__routes li{grid-template-columns:5.6rem minmax(0,1fr) 2.2rem}.suggest__routes li>:nth-child(3){display:none}}.suggest__list li,.suggest__routes li{min-height:1.85rem;align-items:center}.suggest__why{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voicings{min-height:2rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:.2rem}.voicings .chip{flex:none}.neck__hit{fill:transparent;cursor:pointer}.mixer__reset{align-self:flex-end;font-size:.7rem}.build{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.4rem 0 .2rem;font-size:.82rem}.build__shape{font-size:.85rem}.build__note{color:var(--muted)}.build__note--warn{color:#a3452b}.build__legend{display:inline-flex;gap:.6rem}.build__ghost:before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.3rem;vertical-align:-1px}.build__ghost--before:before{border:1.5px dashed #8a6d3b;opacity:.7}.build__ghost--after:before{border:1.5px dotted #3b6d8a;opacity:.7}.neck__hit:hover{fill:#1f1b1621}@media(max-width:640px){:root{--lane-gutter: 3.6rem}.btrack__key{font-size:.52rem}}.kit{display:grid;gap:2px}.kit__row{display:grid;grid-template-columns:6rem minmax(0,1fr) 4rem 2rem auto auto;gap:.4rem;align-items:center;padding:.15rem .25rem;border-radius:5px}.kit__row:nth-child(odd){background:#faf4e8}.kit__name{font:inherit;font-size:.74rem;font-weight:600;text-align:left;cursor:pointer;border:none;background:none;color:var(--ink);padding:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kit__name:hover{color:#8a6d3b}.kit__sample{font-size:.7rem;min-width:0}.kit__volume{width:100%}.kit__db{font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.mixer{display:inline-flex;gap:.55rem;align-items:flex-end}.mixer__strip{display:grid;justify-items:center;gap:.12rem}.mixer__strip--off{opacity:.45}.mixer__fader{writing-mode:vertical-lr;direction:rtl;-webkit-appearance:slider-vertical;width:1.1rem;height:3.6rem;padding:0;accent-color:#8a6d3b}.mixer__db{font-size:.6rem;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1}.mixer__name{font:inherit;font-size:.64rem;cursor:pointer;padding:.05rem .25rem;border:1px solid transparent;border-radius:4px;background:none;color:var(--muted)}.mixer__name:hover{border-color:var(--line);color:var(--ink)}.mixer__name--muted{text-decoration:line-through}.inspect{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-left:calc(var(--lane-gutter) + .4rem);padding:.35rem .5rem;border-radius:6px;background:#f6efe2;border:1px solid #e0d4bb;font-size:.78rem}.inspect__what{font-size:.95rem;min-width:4rem}.inspect__field{display:inline-flex;align-items:center;gap:.3rem}.inspect__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.inspect__value{min-width:6.5rem;font-variant-numeric:tabular-nums}.inspect__field button{font:inherit;font-size:.8rem;line-height:1;width:1.35rem;height:1.35rem;cursor:pointer;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);padding:0}.inspect__field button:hover{border-color:#c9bda2}
