.score-hero{padding:46px 0 22px}.score-hero h1{font-size:clamp(2.2rem,6vw,4.5rem);max-width:900px}.score-section{padding:12px 0 72px}.score-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}.score-controls{display:grid;gap:16px;position:sticky;top:88px;max-height:calc(100vh - 106px);overflow:auto;padding-right:3px}.control-card,.score-workspace{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px rgba(30,42,46,.06)}.control-card{padding:18px}.step-label{font-weight:800;color:var(--tealDark);font-family:Georgia,serif;font-size:1.12rem;margin-bottom:14px}.control-card label{display:block;font-weight:700;font-size:.9rem;margin:13px 0 6px}.control-card input[type=text],.control-card textarea,.control-card select{width:100%;border:1px solid #cbd5cf;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}.control-card textarea{resize:vertical;line-height:1.5}.control-card input:focus,.control-card textarea:focus,.control-card select:focus{outline:3px solid rgba(59,110,113,.18);border-color:var(--teal)}.field-help{font-size:.79rem!important;line-height:1.4;color:var(--muted);margin:7px 0 0!important}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.score-btn{appearance:none;border:1px solid var(--teal);background:#fff;color:var(--tealDark);border-radius:10px;padding:9px 12px;font:inherit;font-weight:750;cursor:pointer}.score-btn:hover{background:var(--sageLight)}.score-btn:focus-visible{outline:3px solid rgba(184,130,63,.35);outline-offset:2px}.primary-score{background:var(--teal);color:#fff}.primary-score:hover{background:var(--tealDark)}.status{font-size:.84rem;margin-top:10px}.status.warning{background:#fff7e7;color:#7a511c;padding:10px;border-radius:9px}.status.success{color:#286449}.conditional-control{margin-top:10px}.color-line{display:flex;align-items:center;gap:10px}.color-line input[type=color]{width:56px;height:38px;padding:2px;border:1px solid var(--line);border-radius:8px;background:white}.color-line output{font-family:ui-monospace,monospace;font-size:.8rem}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.color-pick{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.72rem}.color-pick input{width:100%;height:34px;border:1px solid var(--line);border-radius:7px;padding:1px}.check-line{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.check-line input{width:17px;height:17px}.score-workspace{padding:24px;min-height:680px}.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.workspace-head h2{font-family:Georgia,serif;color:var(--tealDark);font-size:2rem;margin:8px 0 0}.legend{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:360px}.legend-item{display:flex;align-items:center;gap:4px;font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:3px 7px}.legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.22)}.phrase{padding:17px 0;border-bottom:1px dashed var(--line)}.phrase:last-child{border-bottom:0}.phrase-lyrics{font-family:Georgia,serif;font-size:1.12rem;margin:0 0 12px;color:var(--tealDark)}.notes-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px}.note-unit{display:flex;align-items:center;gap:5px}.note-stack{display:flex;flex-direction:column;align-items:center;gap:5px}.note-card{position:relative;width:76px;min-height:70px;padding:9px 5px;border:2px solid rgba(30,42,46,.25);border-radius:13px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:1.04rem;line-height:1.15;box-shadow:0 3px 8px rgba(30,42,46,.1);transition:transform .12s,box-shadow .12s}
.note-card.weak-contrast{border:2px solid var(--tealDark)}
.shape-badge{position:absolute;top:-9px;left:-9px;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(30,42,46,.4);display:flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;color:var(--ink)}
.legend-dot{display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--ink)}.note-card.is-playing{transform:translateY(-7px) scale(1.06);box-shadow:0 0 0 5px rgba(184,130,63,.3),0 10px 22px rgba(30,42,46,.18)}.style-circles .note-card{width:70px;height:70px;min-height:70px;border-radius:50%}.style-keys .note-card{width:64px;height:105px;min-height:105px;border-radius:5px 5px 11px 11px;align-items:flex-end}.note-select{width:76px;font-size:.72rem;border:1px solid var(--line);border-radius:7px;padding:4px;background:#fff}
.dur-select{width:76px;font-size:.66rem;border:1px solid var(--line);border-radius:7px;padding:3px;background:#fff;margin-top:2px}
.step-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-weight:800;color:var(--tealDark)}
.step-count{font-size:.9rem}
.step-row{justify-content:center}
.step-row .note-card{width:120px;min-height:110px;font-size:1.5rem}
.step-row .shape-badge{width:28px;height:28px;font-size:.95rem;top:-11px;left:-11px}.note-actions{display:flex;gap:3px}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:6px;width:27px;height:25px;cursor:pointer;font-weight:800;color:var(--tealDark)}.arrow{color:var(--muted);font-size:1.25rem;margin-top:22px}.add-note{margin-top:21px}.empty-state{border:2px dashed var(--line);border-radius:13px;padding:30px;text-align:center;color:var(--muted)}.editor-note{margin-top:22px;background:var(--sageLight);border-radius:10px;padding:11px 13px;font-size:.84rem;color:var(--tealDark)}.support-hidden{display:none}.support-more{align-self:center;padding:8px;color:var(--muted);font-size:.8rem}.visual-only{font-size:0}.visual-only::after{content:'♪';font-size:1.4rem}.no-colors{background:#fff!important;color:var(--ink)!important;border-color:#46585d!important}.print-meta{display:none}
@media(max-width:900px){.score-layout{grid-template-columns:1fr}.score-controls{position:static;max-height:none}.score-workspace{min-height:400px}.workspace-head{flex-direction:column}.legend{justify-content:flex-start}}
@media(max-width:520px){.score-workspace{padding:16px}.note-card{width:62px;min-height:60px;font-size:.9rem}.note-select{width:62px}.style-circles .note-card{width:60px;height:60px;min-height:60px}.stacked-mobile{display:grid;grid-template-columns:1fr 1fr}.score-btn{font-size:.86rem}}
@media print{header,footer,.score-hero,.score-controls,.editor-note,.note-select,.dur-select,.note-actions,.add-note,.step-nav [data-step-prev],.step-nav [data-step-next]{display:none!important}body{background:#fff}.score-section{padding:0}.score-layout{display:block}.wrap{width:100%}.score-workspace{border:0;box-shadow:none;padding:10mm;min-height:0}.workspace-head{page-break-after:avoid}.phrase{page-break-inside:avoid}.note-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-meta{display:block}}
.melody-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center}
.control-card input[type=search]{width:100%;border:1px solid #cbd5cf;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}
.melody-search-row .score-btn{margin:0;white-space:nowrap}
@media (max-width:520px){.melody-search-row{grid-template-columns:1fr}.melody-search-row .score-btn{width:100%}}
