:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#24231f;background:#f4f1e8;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}main{min-height:100vh;width:100%;overflow:hidden}button,a,select,textarea{font:inherit}button{border:1px solid #b6b6a5;background:transparent;padding:.8rem 1rem;border-radius:5px;cursor:pointer;color:inherit;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#e4e6cc;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9871cc;outline-offset:3px}button.primary{background:#d7ef74;border-color:#a9c341;font-weight:700}.wide{width:100%;margin:1rem 0}header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3vw;border-bottom:1px solid #ceccbe;gap:1rem}header span,.brand,.eyebrow{font:700 .72rem ui-monospace,monospace;letter-spacing:.1em}.brand{text-decoration:none;color:#24231f}.hero{display:flex;justify-content:space-between;gap:3rem;padding:4rem 4vw 3rem;align-items:end}h1{font-size:clamp(2.8rem,5.8vw,6.5rem);font-weight:500;line-height:1.01;letter-spacing:-.055em;margin:1.2rem 0}h1 em{font-family:Georgia,serif;font-weight:400}p{line-height:1.6}.intro{color:#616357}.stats{padding:1rem 2rem;border-left:1px solid #b9bc9f;min-width:220px;line-height:1.9}.stats b{display:block;font:italic 7rem Georgia,serif;line-height:1}.stats span{display:block;font:700 .7rem ui-monospace;margin:1rem 0}.presets{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;padding:1.5rem 4vw;border-block:1px solid #ceccbe;background:#edeee1}.presets span{font-size:.8rem;color:#666b59;margin-left:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;margin:2rem 4vw;gap:2rem}.score-panel{min-width:0}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}h2{font-size:1.6rem;font-weight:500;letter-spacing:-.03em;overflow-wrap:anywhere}h3{font-size:1rem}.piano{border:1px solid #bcbfa8;border-radius:8px;background:#22291f;padding:1rem;max-height:550px;overflow:auto;color:#dae5bb}.phrase{display:flex;border-bottom:1px solid #49523d;min-height:85px}.phrase-label{width:40px;font:12px monospace;padding:.6rem 0;flex-shrink:0}.phrase-label small{display:block;color:#a5b28f}.notes{position:relative;flex:1;background:repeating-linear-gradient(to top,transparent 0,transparent 19%,#313a29 20%);min-height:85px}.note,.rest{position:absolute;font:9px monospace;overflow:hidden;min-width:2px;min-height:10px;padding:1px 3px;border-radius:3px;border:1px solid #22291f;background:#d7ef74;color:#29331d}.phrase:nth-child(3n) .note{background:#c8b4de}.phrase:nth-child(3n+2) .note{background:#e3b878}.rest{background:transparent;color:#a3b18b;border:0}.empty{padding:5rem 1rem;text-align:center;line-height:2}.transport{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem}.transport span{font-size:.75rem;color:#606852}.status{padding:1rem 0;min-height:3rem;font-size:.85rem}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.timeline h3{grid-column:1/-1}.timeline details{border:1px solid #cacdb9;padding:.7rem;min-width:0;background:#edeee2}.timeline summary{cursor:pointer;display:flex;gap:.5rem;flex-wrap:wrap;font:11px monospace}.timeline b{font-size:18px}.timeline pre{max-height:200px;overflow:auto;font-size:10px}aside{border:1px solid #bfc3a7;padding:1.5rem;background:#e9ecd9;border-radius:8px;align-self:start}aside p,aside small{font-size:.8rem;line-height:1.6}label{display:block;font-size:.8rem;margin:.9rem 0;line-height:1.8}textarea,select{width:100%;padding:.7rem;background:#fcfcf3;border:1px solid #bcc1a6;border-radius:4px;color:#25301e}textarea{min-height:110px;resize:vertical;font:12px/1.6 ui-monospace,monospace}.token{border-block:1px dashed #a5ac8d;padding:1rem 0;color:#797c6a;font-size:.75rem}.token small{display:block}.token.available{color:#415516}.history{display:flex;gap:.5rem}.fine{font-size:.75rem;color:#69705e}.author{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;margin:3rem 4vw;padding-top:2rem;border-top:1px solid #bebfac}.author button{margin:.2rem}.editor{min-height:300px}.author p{max-width:500px}footer{padding:2rem 4vw;background:#e5e7d9;border-top:1px solid #bec3ac;font-size:.8rem}footer button{margin:.2rem}footer p{max-width:1050px}.exports{margin-bottom:1rem}@media(max-width:850px){.workspace{grid-template-columns:1fr}.hero{align-items:start}.stats{display:none}.author{grid-template-columns:1fr;gap:1rem}header span{display:none}h1{font-size:3.3rem}.presets span{width:100%;margin:0}.section-head{align-items:start;flex-direction:column}.workspace{margin:1.5rem 4vw}aside{padding:1rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.section-head>div{min-width:0;max-width:100%;flex:1 1 0}.section-head>span{flex:0 0 auto}.section-head h2{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
