@font-face{font-family:Studio;src:url('assets/sans-bold.otf')}*{box-sizing:border-box}body{margin:0;background:#11231a;color:var(--ink-white);font-family:Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select{border:1px solid #304b28;background:#304b28;color:var(--ink-white);padding:10px 12px;border-radius:5px}button{cursor:pointer;font-size:14px;font-weight:600}button:hover{background:#304b28}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a5f326;outline-offset:3px}input{color:var(--ink-white);background:#11231a;border:1px solid #304b28;border-radius:4px;padding:8px;min-width:0}input[type=range]{padding:0;accent-color:#a5f326;width:110px}input[type=checkbox]{accent-color:#a5f326}a{color:var(--ink-white);text-decoration:none}header{height:85px;display:flex;align-items:center;gap:24px;padding:14px 28px;border-bottom:1px solid #304b28}.brand{font-family:Studio,Arial;font-size:36px;line-height:.9;letter-spacing:-2px}.brand small{display:block;font:10px Arial;letter-spacing:5px;margin-top:8px}.badge{border:1px solid #a5f326;color:var(--ink-white);padding:7px 10px;font:12px monospace;letter-spacing:2px}.back{margin-left:auto;font-size:14px;color:var(--ink-white)}main{padding:20px 24px 60px;max-width:1800px;margin:auto}label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--ink-white)}.transport{display:flex;align-items:center;gap:23px;flex-wrap:wrap;padding:18px;background:#11231a;border:1px solid #304b28;border-top:3px solid #a5f326;border-radius:7px}.project{flex:1;min-width:180px}.project input{font-weight:bold;width:100%;margin-top:7px}.playback{display:flex;align-items:center;gap:8px}.primary,.accent{background:#a5f326;color:var(--ink-white);border-color:#a5f326}.primary:hover,.accent:hover{background:#bafa80}#position{font:21px monospace;white-space:nowrap;color:var(--ink-white);margin-left:8px}#bpm{width:72px}.check{flex-direction:row;align-items:center}.filebar{display:flex;justify-content:space-between;gap:15px;margin:12px 0 22px;flex-wrap:wrap}.filebar>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline{flex-direction:row;align-items:center}.workspace{display:grid;grid-template-columns:214px minmax(0,1fr);gap:20px}aside{background:#11231a;border:1px solid #304b28;border-radius:6px;padding:18px 14px;align-self:start}aside h2{font:12px monospace;color:var(--ink-white);letter-spacing:1.5px;margin:24px 0 12px}aside h2:first-child{margin-top:0}aside p{font-size:14px;line-height:1.6;color:var(--ink-white)}#library{display:grid;gap:5px}#library button{text-align:left;display:flex;align-items:center;gap:9px;background:#11231a;border-color:transparent}#library i{width:7px;height:7px;border-radius:50%;background:var(--color)}#library span{margin-left:auto;color:var(--ink-white)}.upload{position:relative;margin-top:15px;padding:12px 5px;border:1px dashed #a5f326;color:var(--ink-white);text-align:center;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}aside select,aside>button{width:100%;font-size:14px;margin-bottom:8px}aside .hint{font-size:12px;color:var(--ink-white)}.editors{min-width:0;display:grid;gap:18px}.panel{background:#11231a;border:1px solid #304b28;border-radius:7px;overflow:hidden}.panel-head{padding:18px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.eyebrow{font:12px monospace;letter-spacing:1.6px;color:var(--ink-white)}h1,h2{font-family:Studio,Arial;margin:7px 0 0;font-size:24px;font-weight:700}.patterns,.note-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.grid-scroll{overflow:auto;padding:0 20px 10px}.rack-row{display:grid;grid-template-columns:154px repeat(32,minmax(20px,1fr));gap:4px;min-width:990px;margin-bottom:6px;align-items:center}.channel-name{height:38px;text-align:left;border-left:3px solid var(--color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-name.selected{background:#304b28;outline:1px solid #a5f326}.step{height:29px;min-width:0;padding:0;background:#304b28;border-color:#304b28;border-radius:3px}.step.group{background:#304b28}.step.on{background:var(--color);border-color:var(--color);box-shadow:0 0 8px #00000022}.step.current{outline:2px solid #edf5e8;outline-offset:-2px}.ruler{font:12px monospace;color:var(--ink-white);text-align:center}.help{font-size:12px;color:var(--ink-white);margin:8px 20px 16px;line-height:1.6}.piano-scroll{max-height:346px}.piano-row{display:grid;grid-template-columns:65px repeat(32,minmax(23px,1fr));min-width:990px;height:24px;gap:1px}.key{font:12px monospace;padding:0;border:0;border-radius:0;background:#bafa80;color:var(--ink-white)}.key.black{background:#304b28;color:var(--ink-white)}.note{border:0;border-radius:0;background:#304b28;padding:0;min-width:0}.note.black{background:#11231a}.note.bar{border-left:1px solid #a5f326}.note.on{background:#a5f326;box-shadow:inset 0 0 0 1px #bafa80}.note.tail{background:#a5f326}.note.current{box-shadow:inset 2px 0 #edf5e8}.channel-fx{padding:14px 20px;background:#11231a;display:flex;align-items:end;gap:18px;flex-wrap:wrap}.channel-fx button{font-size:12px}.master{flex-direction:row;align-items:center}#arrangement{display:flex;gap:8px;padding:0 20px 8px;overflow:auto;min-height:85px}.clip{min-width:165px;background:#304b28;border:1px solid #a5f326;border-radius:5px;overflow:hidden}.clip.active{border-color:#a5f326;box-shadow:0 0 0 1px #a5f326}.clip strong{display:block;padding:10px;font-size:14px;white-space:nowrap}.clip div{display:flex;justify-content:flex-end;background:#11231a}.clip button{padding:4px 10px;border:0;border-radius:0;background:transparent}#mixer{display:flex;gap:9px;padding:0 20px 20px;overflow:auto}.strip{flex:1;min-width:120px;background:#11231a;border-top:3px solid var(--color);border-radius:4px;padding:12px}.strip strong{display:block;font-size:14px;height:35px;overflow:hidden}.strip label{font-size:12px;margin:12px 0}.strip input{width:100%}.strip .buttons{display:flex;gap:5px}.strip button{padding:6px 10px}.strip button.active{background:#a5f326;color:var(--ink-white)}.meter{height:5px;border-radius:3px;background:#304b28;overflow:hidden;margin:10px 0}.meter i{height:100%;display:block;background:var(--color);width:0;transition:width .08s}footer{display:flex;justify-content:space-between;gap:15px;font:12px monospace;color:var(--ink-white);margin-top:22px;flex-wrap:wrap}#status{position:fixed;bottom:0;left:0;right:0;background:#11231a;border-top:1px solid #304b28;padding:10px 24px;font-size:14px;z-index:10}dialog{color:var(--ink-white);background:#11231a;border:1px solid #a5f326;border-radius:8px;max-width:450px;padding:25px}dialog::backdrop{background:#00000099}dialog p{line-height:1.6}dialog>div{display:flex;justify-content:flex-end;gap:10px}@media(max-width:1000px){.workspace{grid-template-columns:1fr}aside{display:flex;flex-wrap:wrap;gap:10px;align-items:center}aside h2,aside p,aside #preset,aside #preset-add{display:none}#library{display:flex;flex-wrap:wrap;gap:5px}#library button{font-size:12px;padding:8px}#library span{display:none}.upload{margin:0;padding:8px;font-size:12px}.transport{gap:15px}}@media(max-width:600px){main{padding:12px 10px 75px}header{padding:12px 15px;gap:12px}.badge{font-size:10px;letter-spacing:0}.back{font-size:12px}.brand{font-size:30px}.transport{padding:12px}.project{flex-basis:100%}.playback{width:100%}.filebar button{font-size:12px;padding:9px}.panel-head{padding:15px}.note-tools{gap:8px}.note-tools label{font-size:12px}.note-tools select{font-size:12px;max-width:110px}.grid-scroll{padding-left:12px;padding-right:12px}h1,h2{font-size:22px}.channel-fx{gap:12px;padding:14px}.channel-fx input{width:90px}#status{font-size:12px;padding:9px 12px}}

:root{--blood:#bafa80;--bg:#11231a;--surface:#11231a;--text:var(--blood);--muted:var(--blood);--paper:var(--blood);--lime:var(--blood);--acid:var(--blood);--red:#a5f326;--line:#304b28}
body{background:#11231a;color:var(--ink-white)}

.transport,aside,.panel,.channel-fx,.strip,#status,dialog{background:#11231a;border-color:#304b28}
button,select,input,#library button,.clip,.clip div{background:#11231a;border-color:#304b28}
button:hover,.primary:hover,.accent:hover{background:#304b28}
.primary,.accent,.strip button.active,.channel-name.selected{background:#304b28;border-color:var(--blood)}
input[type=range],input[type=checkbox]{accent-color:var(--blood)}
.key{background:#11231a}.key.black{background:#160e14}
.note{background:#11231a}.note.black{background:#11231a}
.note.on{background:#a5f326;box-shadow:inset 0 0 0 1px var(--blood)}.note.tail{background:#304b28}
.step:not(.on){background:#304b28}.step.group:not(.on){background:#304b28}

/* OCR typography and mixed ink colors; background palette is unchanged. */
@font-face{font-family:SirhozOCR;src:url('assets/ocrab.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:OCRFallback;src:url('assets/ocr-fallback.ttf') format('truetype');font-display:swap}
:root{--ocr:SirhozOCR,OCRFallback,monospace;--ink-white:#edf5e8;--ink-black:#11231a;--ink-red:#bafa80;--ink-purple:#bafa80}
body,body *{font-family:var(--ocr)!important}

.brand,.primary,.accent,#position,.upload{color:var(--ink-red)}
.badge,.eyebrow,aside h2,.panel:nth-child(even) h2,label,.help,footer{color:var(--ink-purple)}
.brand small{color:var(--ink-black);-webkit-text-stroke:.65px var(--ink-white);paint-order:stroke fill}
h1,h2,.back,.channel-name,.strip strong{color:var(--ink-white)}
#library button:nth-child(3n+1),.clip strong{color:var(--ink-purple)}
#library button:nth-child(3n+2),.strip:nth-child(even) strong{color:var(--ink-red)}
.brand{font-size:30px}h1,h2{font-size:21px}

:root{--ink-white:#edf5e8;--ink-purple:#bafa80;--ink-red:#edf5e8}body{background:#11231a}
