:root{color:#202423;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}:root{--surface:#fff;--surface-subtle:#fbfcfb;--border:#dce2d9;--border-strong:#cfd8cf;--text:#202423;--text-subtle:#657069;--accent:#227c68;--accent-strong:#145f4f}.app-shell{grid-template-rows:auto minmax(320px,1fr);gap:14px;width:min(1240px,100% - 32px);min-height:100svh;margin:0 auto;padding:18px 0 24px;display:grid}button{border:1px solid var(--border-strong);background:var(--surface);color:#26302b;border-radius:7px;min-height:38px;padding:0 13px}button:hover{border-color:var(--accent)}button[data-active=true]{border-color:var(--accent);color:var(--accent-strong);background:#e7f2ed;font-weight:700}.instrument-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.instrument-panel[data-mode=argument]{box-shadow:inset 3px 0 0 var(--accent)}.keyboard-scroll{background:linear-gradient(#fbfcfb,#f5f7f3);padding:16px 16px 12px;overflow:auto hidden}.keyboard-track{min-width:100%;position:relative}.piano-key{text-align:center;touch-action:manipulation;border-radius:0 0 7px 7px;align-content:end;justify-items:center;gap:6px;min-height:0;padding:6px 4px 8px;display:grid;position:absolute;top:0;overflow:hidden}.piano-key[data-kind=white]{z-index:1;height:132px;color:var(--text);background:linear-gradient(#fff 0%,#f7f9f6 72%,#edf1ec 100%);border:1px solid #ccd5cf}.piano-key[data-kind=black]{z-index:3;color:#f6faf7;background:linear-gradient(#303936 0%,#111715 100%);border:1px solid #1f2724;height:84px;box-shadow:0 8px 14px #1f272447}.piano-key:hover{border-color:var(--accent);box-shadow:0 0 0 3px #227c6824}.piano-key[data-pressed=true]{transform:translateY(4px)}.piano-key span{text-overflow:ellipsis;max-width:100%;font:700 11px/1.1 ui-monospace,Consolas,monospace;overflow:hidden}.piano-key small{color:inherit;opacity:.62;font:9px/1 ui-monospace,Consolas,monospace}.piano-key[data-tone=argument]{border-color:#9ac5b7}.piano-key[data-kind=white][data-tone=red]{box-shadow:inset 0 -4px #e8a099}.piano-key[data-kind=white][data-tone=green],.piano-key[data-kind=white][data-tone=teal]{box-shadow:inset 0 -4px #8fc8ac}.piano-key[data-kind=white][data-tone=orange],.piano-key[data-kind=white][data-tone=gold]{box-shadow:inset 0 -4px #d7b65f}.piano-key[data-kind=white][data-tone=violet]{box-shadow:inset 0 -4px #aaa0d9}.piano-key[data-kind=white][data-tone=blue],.piano-key[data-kind=white][data-tone=cyan]{box-shadow:inset 0 -4px #8dbfd0}.piano-key[data-tone=compile]{border-color:var(--accent)}.piano-key[data-kind=white][data-tone=compile]{box-shadow:inset 0 -4px 0 var(--accent);background:linear-gradient(#f9fffc 0%,#edf7f2 72%,#dcece4 100%)}.piano-key[data-kind=black][data-tone=compile]{background:linear-gradient(#2c4a41 0%,#10231e 100%)}.pedal-board{border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 16px 16px;display:grid}.pedal{background:linear-gradient(#fff,#edf1ec);border-radius:8px 8px 18px 18px;align-content:center;gap:6px;min-height:82px;display:grid;box-shadow:inset 0 -8px #6370691a}.pedal strong{text-overflow:ellipsis;min-width:0;font:700 17px/1 ui-monospace,Consolas,monospace;overflow:hidden}.pedal span{min-width:0;color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.editor{border:1px solid var(--border);resize:vertical;width:100%;min-height:320px;color:var(--text);tab-size:2;background:repeating-linear-gradient(#fff 0 27px,#fbfcfb 27px 54px);border-radius:8px;outline:none;padding:16px;font:14px/1.9 ui-monospace,Consolas,monospace;display:block}.editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px #227c6821}@media (width<=900px){.app-shell{width:min(100% - 22px,1240px);padding-top:12px}.pedal-board{grid-template-columns:repeat(3,minmax(92px,1fr));overflow-x:auto}}@media (width<=560px){.app-shell{gap:10px;width:min(100% - 16px,1240px);padding-top:8px}.keyboard-scroll{padding:10px 10px 8px}.pedal-board{gap:8px;padding:10px}.pedal{min-height:72px}.editor{min-height:300px}}
