:root{color-scheme:dark;--bg: #151713;--panel: #20231d;--panel-2: #282c24;--paper: #f2eadb;--paper-line: #d7c9ad;--ink: #1e211c;--text: #f5f0e7;--muted: #aaa18f;--soft: #746d60;--line: rgba(245, 240, 231, .14);--copper: #c99355;--green: #80c889;--red: #e17b6b;--shadow: 0 22px 70px rgba(0, 0, 0, .32)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea,select,input{font:inherit}button,select{border:1px solid var(--line);border-radius:7px;background:#11130f;color:var(--text)}button{min-height:36px;padding:0 12px;cursor:pointer}button:hover{border-color:#f5f0e75c}.app-shell{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:18px 0 28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#20231de0;box-shadow:var(--shadow)}.eyebrow,.label-text,.status-strip,.event-count{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.eyebrow{margin:0 0 5px;color:var(--copper);font-weight:700}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(28px,4vw,44px);line-height:1}.status-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:var(--muted)}.status-strip span,.event-count{padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#11130f}.workspace{display:grid;grid-template-columns:minmax(290px,.82fr) minmax(420px,1.35fr) minmax(280px,.78fr);gap:14px;margin-top:14px;align-items:start}.panel,.preview-panel{min-height:calc(100vh - 132px);border:1px solid var(--line);border-radius:8px;background:#20231deb;box-shadow:var(--shadow)}.editor-panel,.controls-panel{padding:12px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.tabs button{text-transform:capitalize}.tabs .active,.play-button{background:var(--green);color:#0f160f;border-color:transparent;font-weight:800}.editor,.formatted-output,.issues-list{width:100%;min-height:520px;max-height:calc(100vh - 265px);margin:0;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#12140f;color:var(--text);line-height:1.65;resize:vertical;white-space:pre-wrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px}.issues-list p{margin:0 0 10px;color:var(--muted)}.issues-list strong{color:var(--text)}.button-row,.playback-buttons{display:flex;gap:8px;margin-top:10px}.preview-panel{padding:14px}.paper{min-height:calc(100vh - 162px);padding:clamp(18px,3vw,32px);border-radius:7px;background:linear-gradient(rgba(30,33,28,.045) 1px,transparent 1px),var(--paper);background-size:100% 36px;color:var(--ink)}.score-header{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:2px solid var(--paper-line)}.score-header .eyebrow{color:#8b6238}.score-header h2{font-size:clamp(25px,3vw,42px)}.score-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-content:start;min-width:150px}.score-meta span{padding:6px 9px;border:1px solid var(--paper-line);border-radius:7px;background:#ffffff52;font-weight:700}.empty-score{display:grid;place-items:center;min-height:360px;color:#7b715f;text-align:center;font-size:18px}.measure-timeline{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;padding-bottom:16px;border-bottom:1px solid var(--paper-line)}.measure-timeline button{min-width:34px;min-height:30px;padding:0 8px;border-color:#1e211c2e;background:#ffffff5c;color:var(--ink);font-weight:800}.measure-timeline button.is-current{background:var(--copper);color:#17120a}.measure-timeline button.in-loop{box-shadow:inset 0 -4px #80c889ad}.score-lines{display:grid;gap:22px;margin-top:28px}.score-line{display:flex;flex-wrap:wrap;gap:10px}.measure{display:grid;grid-template-columns:repeat(4,minmax(36px,1fr));align-items:center;min-width:min(100%,220px);min-height:72px;padding:10px 14px;border-left:2px solid #9f8f74;border-right:2px solid #9f8f74;background:#ffffff2e}.measure.current-measure{outline:3px solid rgba(128,200,137,.55);outline-offset:2px}.measure.loop-measure{background:#80c88929}.note-token{position:relative;display:inline-grid;place-items:center;min-width:34px;min-height:42px;border-radius:7px;color:var(--ink);font-size:30px;font-weight:800;line-height:1}.note-token.current-token{background:#c9935557;box-shadow:inset 0 -4px #1e211c2e}.token-rest,.token-sustain{color:#7d735f}.accidental,.octave,.dot{position:absolute;font-size:13px;font-weight:800}.accidental{left:2px;top:4px}.octave.high{right:3px;top:1px}.octave.low{right:3px;bottom:1px}.dot{right:3px;bottom:5px}.unknown-token{display:grid;place-items:center;min-width:32px;min-height:32px;border:1px solid rgba(225,123,107,.75);border-radius:7px;color:#9e3428;font-size:18px}.controls-panel{display:grid;gap:12px}.control-block,.examples{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.control-block label{display:grid;gap:7px;color:var(--muted);font-size:13px}select{width:100%;min-height:38px;padding:0 10px}.toggle-row{display:flex!important;grid-template-columns:none;align-items:center}.transpose-grid{grid-template-columns:1fr auto auto;align-items:center}.transpose-grid strong{display:block;margin-top:4px;font-size:24px}.slider-row{display:grid;grid-template-columns:82px minmax(0,1fr) 48px;align-items:center;gap:8px;color:var(--muted);font-size:13px}.slider-row input{width:100%}.slider-row output{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.examples{border-bottom:0}.loop-actions,.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-actions{grid-template-columns:repeat(4,1fr);padding-bottom:12px;border-bottom:1px solid var(--line)}.export-actions .label-text{grid-column:1 / -1}.examples button{display:grid;gap:3px;min-height:58px;padding:9px 10px;text-align:left}.examples span{color:var(--text);font-weight:800}.examples small{color:var(--muted);line-height:1.35}.audio-error{margin:0;color:var(--red);font-size:13px}.mobile-playbar{display:none}.progress-track{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#f5f0e724}.progress-track span{display:block;height:100%;background:var(--green);transition:width .12s linear}@media(max-width:1120px){.workspace{grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr)}.controls-panel{grid-column:1 / -1;min-height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.examples{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.examples .label-text{grid-column:1 / -1}}@media(max-width:760px){.app-shell{width:min(100% - 18px,1500px);padding-top:9px}.topbar{align-items:flex-start;flex-direction:column}.status-strip{justify-content:flex-start}.mobile-playbar{position:sticky;top:0;z-index:5;display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#11130ff5}.workspace{display:flex;flex-direction:column}.preview-panel{order:1;width:100%;min-height:auto}.editor-panel{order:2;width:100%;min-height:auto}.controls-panel{order:3;width:100%;min-height:auto;grid-template-columns:1fr}.paper{min-height:430px;padding:16px}.score-header{flex-direction:column}.score-meta{justify-content:flex-start}.editor,.formatted-output,.issues-list{min-height:340px}.measure{min-width:100%}.examples{grid-template-columns:1fr}.primary-playback{display:none}}
