:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#101820;color:#e5edf2}*{box-sizing:border-box}body{margin:0}main{max-width:1160px;margin:auto;padding:32px 24px 64px}header{padding:16px 0 24px}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.06;max-width:850px;margin:14px 0}h2{font-size:1.2rem;margin-top:0}.eyebrow{letter-spacing:.16em;color:#91d6c0;font-size:.8rem}.badge{display:inline-block;background:#253c40;border-radius:8px;padding:8px 12px;color:#b9e8db}p{line-height:1.6;color:#b9cad4}section,details{background:#17232e;border:1px solid #344451;border-radius:14px;padding:24px;margin-bottom:20px}.row{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#c5d6df}label:has(input[type=checkbox]){flex-direction:row;align-items:center;align-self:center}button,input,select{font:inherit;border-radius:7px;border:1px solid #536778;padding:10px;background:#203442;color:#f1f7fa;max-width:100%}button{cursor:pointer}button:hover:enabled{border-color:#95e0c5}button:disabled{opacity:.4;cursor:default}.primary{background:#9ce5c6;color:#10271e;font-weight:700}input[type=number]{width:135px}input[type=range]{width:140px;padding:0}input[type=file]{width:240px;font-size:.8rem}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin:20px 0}.settings input{width:100%}canvas{display:block;width:100%;background:#0d171e;border-radius:8px;margin:14px 0}#overview{height:150px}#detail{height:200px}.strip{display:flex;overflow-x:auto;gap:10px;padding:12px 2px 20px;min-height:86px}.slice{flex:0 0 115px;text-align:left}.slice[aria-pressed=true]{outline:2px solid #9ce5c6}.slice.inactive{border-style:dashed;color:#9aa7b1}.slice small{display:block;margin-top:6px}fieldset{border:1px solid #536778;border-radius:8px;min-width:0}#pending{border-left:4px solid #ffbe75;padding:2px 16px 14px}#status{color:#bcebd7;min-height:26px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffc884;outline-offset:3px}@media(max-width:600px){main{padding:18px 12px}section,details{padding:16px}.row>*{max-width:100%}h1{font-size:2.4rem}}
a{color:#9ce5c6}
.match{color:#ff77ce}.proposal{color:#ffbe75}.accepted{color:#9ce5c6}.legend{font-size:.9rem}#spectrum{height:240px}#energy{height:220px}#overview{cursor:crosshair}
/* Consistent form rhythm, including labels that wrap onto two lines. */
label{line-height:1.4;min-width:0;gap:8px}
button,input:not([type=checkbox]):not([type=range]),select{min-height:44px;line-height:1.35}
button{padding:11px 14px}
.row{gap:16px;row-gap:20px;margin:16px 0}
.profile-library{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;margin:24px 0}
.profile-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.profile-fields input,.profile-fields select,.profile-import input{width:100%}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px;align-self:end}
.profile-actions button{flex:1 1 140px}
.settings{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px;margin:28px 0 24px;align-items:stretch}
.settings label{display:grid;grid-template-rows:minmax(2.8em,auto) 44px;align-content:start;gap:8px}
.settings input{min-width:0;height:44px}
@media(max-width:900px){.settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profile-library{grid-template-columns:1fr;gap:20px}.profile-fields{grid-template-columns:1fr;gap:16px}.settings{gap:20px 16px}.settings label{grid-template-rows:minmax(2.8em,auto) 44px}.profile-actions button{flex:1 1 150px}}
.toggle{margin:12px 0}.slice-sound{border-top:1px solid #344451;margin-top:20px;padding-top:16px}

.ui-icon{display:inline-block;width:1em;height:1em;fill:currentColor;flex:0 0 1em;vertical-align:-.12em}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:9px}
h2{display:flex;align-items:center;gap:12px}h2 .ui-icon{color:#9ce5c6;font-size:1.05em}
.field-title{display:inline-flex;align-items:center;gap:8px}.field-title .ui-icon{color:#9dbcd0}
#audition .ui-icon,#play .ui-icon,#save-profile .ui-icon,#export-project .ui-icon{color:#9ce5c6}
#stop .ui-icon{color:#ffae9f}#copy-settings .ui-icon,#paste-settings .ui-icon{color:#9ccfff}
.icon-credit{font-size:.8rem;color:#98acb8;margin:24px 0}
