/* Music Notation Editor (built on the simulations lab shell) */
.mn-hero{background:radial-gradient(circle at 85% 20%,#c77dff33,transparent 40%),radial-gradient(circle at 60% 120%,#ffd16626,transparent 45%),radial-gradient(circle at 0 0,#4f8dff2a,transparent 45%),#0a0c1b}
.fp-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fp-badges span{font-size:11px;color:#d0c6e2;background:#ffffff08;padding:4px 11px;border:1px solid #4c425c;border-radius:20px}
.mn-page .mn-app{grid-template-columns:minmax(0,1fr) 330px}
.mn-wrap{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}
.mn-toolbar{flex-wrap:wrap;gap:8px}
.mn-group{display:flex;gap:3px;flex-wrap:wrap}
.mn-page .mn-group button{min-height:34px;min-width:34px;padding:3px 8px;font-size:13px;background:#0b0e20d9}
.mn-page .mn-group button[aria-checked=true],.mn-page .mn-group button[aria-pressed=true]{background:#2b3fa0;border-color:#8fb1ff;color:#fff}
.mn-page .mn-group button.ns-go{background:linear-gradient(135deg,#7c5cff,#e05bd0);border-color:transparent}
.mn-dur{font-size:17px!important;line-height:1}
.mn-score{flex:1;min-height:0;overflow:auto;background:#fff;border-radius:12px;outline:none;box-shadow:inset 0 0 0 1px #d8dce8}
.mn-score:focus-visible{box-shadow:inset 0 0 0 2px #8fb1ff}
#mnSvg{display:block;cursor:text}
.mn-piano{position:relative;height:82px;flex:none;border-radius:10px;overflow:hidden;background:#111;user-select:none;touch-action:manipulation}
.mn-piano button{position:absolute;top:0;padding:0;border:1px solid #333;border-radius:0 0 6px 6px;min-height:0;cursor:pointer;font:10px system-ui;color:#556;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}
.mn-piano .w{height:100%;background:linear-gradient(#fff,#eef0f6);z-index:1}
.mn-piano .b{height:58%;background:linear-gradient(#333,#111);border-color:#000;z-index:2;color:#999}
.mn-piano button:active,.mn-piano button.on{background:#8fb1ff}
.mn-status{gap:12px;flex-wrap:wrap;font-size:12px;color:#dfe4ff}
.fp-grow{flex:1}.fp-saved{font-size:11px;color:#8b93b8}
.fp-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c8cbe6;margin-bottom:10px}
.vd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.vd-btns{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 10px}.mn-page .vd-btns button{min-height:30px;padding:3px 9px;font-size:12px}
#mnProps label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#c8cbe6;margin-bottom:8px}
.mn-sel{font-size:13px;color:#fff;margin:0 0 10px;font-weight:600}
.mn-keys{margin-top:14px;font-size:12px}.mn-keys dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0 0}.mn-keys dt{font:700 11px ui-monospace,Consolas,monospace;color:#9ec0ff;white-space:nowrap}.mn-keys dd{margin:0;color:#c8cbe6}
@media(max-width:1000px){.mn-page .mn-app{grid-template-columns:1fr;height:auto}.mn-wrap{height:72vh;flex:none}}
@media(max-width:640px){.mn-page .mn-group button span{display:none}.mn-piano{height:66px}}
