/* Bravura 1.482, Steinberg, SIL OFL 1.1. Local SMuFL; no runtime CDN. */
@font-face { font-family:DiapasonBravura;src:url('vendor/bravura/Bravura.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block; }
/* All rules belong to the educational suite; other music tools keep their UI. */
#app.registro-wordpress-app .edu-host { --edu-line:#cbd9e5;--edu-blue:#00345e;width:100%;min-width:0;display:flex;flex-direction:column;gap:24px;color:var(--ink,#091d30); }
#app.registro-wordpress-app .edu-host button { min-height:44px!important;white-space:normal;touch-action:manipulation; }
#app.registro-wordpress-app .edu-host :is(button,input,select,[role=button]):focus-visible { outline:3px solid #4e9ced!important;outline-offset:3px; }
#app.registro-wordpress-app .edu-host :is(input,select) { max-width:100%;min-width:0;min-height:44px; }
#app.registro-wordpress-app .edu-host [hidden] { display:none!important; }
#app.registro-wordpress-app .edu-host :is(select,input[type=number]) { padding:9px 12px;border:1px solid #adc3d8;border-radius:10px;background:var(--panel,#fff);color:var(--ink,#091d30);font:inherit;line-height:1.3; }
#app.registro-wordpress-app .edu-breadcrumb { display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--muted,#4d6d8e); }
#app.registro-wordpress-app .edu-breadcrumb button { border:0!important;background:none!important;box-shadow:none!important;padding:4px 0!important;color:inherit;font-size:inherit!important;min-height:32px!important; }
#app.registro-wordpress-app .edu-breadcrumb [aria-current] { font-weight:700;color:var(--ink,#091d30); }
#app.registro-wordpress-app .edu-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap; }
#app.registro-wordpress-app .edu-heading > div:first-child { flex:1 1 300px; }
#app.registro-wordpress-app .edu-heading h2 { margin:0;font-size:clamp(25px,2.3vw,34px);letter-spacing:-.5px;line-height:1.2; }
#app.registro-wordpress-app .edu-heading p { margin:8px 0 0;color:var(--muted,#4d6d8e);font-size:16px;line-height:1.5; }
#app.registro-wordpress-app .edu-heading .edu-eyebrow { margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#527494; }
#app.registro-wordpress-app .edu-actions { display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center; }
#app.registro-wordpress-app .edu-heading .edu-actions { justify-content:flex-start; }
#app.registro-wordpress-app [data-edu-settings] { display:inline-flex;gap:8px;align-items:center;justify-content:center; }
#app.registro-wordpress-app [data-edu-settings] svg { width:18px;height:18px;flex:none; }
#app.registro-wordpress-app .edu-level-chip { display:inline-flex;padding:7px 11px;border:1px solid #d2e2ee;border-radius:50px;background:#edf5fb;color:var(--edu-blue);font-size:12px;font-weight:700; }
#app.registro-wordpress-app .edu-session-options { display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:16px 20px;border:1px solid var(--edu-line);border-radius:16px;background:#f2f7fb; }
#app.registro-wordpress-app .edu-level { display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:600; }
#app.registro-wordpress-app .edu-level select { width:auto; }
#app.registro-wordpress-app .edu-categories { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
#app.registro-wordpress-app .edu-host button.edu-category { min-height:210px!important;padding:24px!important;border:1px solid var(--edu-line)!important;border-radius:20px!important;background:white!important;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;color:var(--ink);box-shadow:0 4px 16px #11365405!important;transition:border-color .16s,transform .16s; }
#app.registro-wordpress-app .edu-host button.edu-category:hover { border-color:#729bbc!important;transform:translateY(-2px); }
#app.registro-wordpress-app .edu-category-icon { display:grid;place-items:center;background:#eaf4ff;color:#1a6eb9;border-radius:14px;width:48px;height:48px; }
#app.registro-wordpress-app .edu-category-icon svg { width:28px;height:28px; }
#app.registro-wordpress-app .edu-category > strong { font-size:21px;line-height:1.25; }
#app.registro-wordpress-app .edu-category-description { font-size:14px;font-weight:400;line-height:1.5;color:var(--muted,#4d6d8e); }
#app.registro-wordpress-app .edu-category-open { margin-top:auto;padding-top:4px;font-size:14px;font-weight:700;color:var(--edu-blue); }
#app.registro-wordpress-app .edu-workspace { display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start; }
#app.registro-wordpress-app .edu-workspace.edu-has-settings { grid-template-columns:minmax(0,1fr) 300px; }
#app.registro-wordpress-app .edu-exercise { min-width:0;padding:clamp(22px,3vw,40px);border:1px solid var(--edu-line);border-radius:24px;background:var(--panel,#fff);box-shadow:0 8px 30px #13355305;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center; }
#app.registro-wordpress-app .edu-settings { min-width:0;padding:20px;border:1px solid var(--edu-line);border-radius:20px;background:#f3f7fb;scroll-margin:20px; }
#app.registro-wordpress-app .edu-settings-head { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px; }
#app.registro-wordpress-app .edu-settings-head h3 { margin:0;font-size:18px; }
#app.registro-wordpress-app .edu-settings-head button { width:44px;padding:0;font-size:25px!important;flex:none; }
#app.registro-wordpress-app .edu-fields { display:grid;grid-template-columns:minmax(0,1fr);gap:14px; }
#app.registro-wordpress-app .edu-fields label { display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px; }
#app.registro-wordpress-app .edu-settings fieldset { padding:12px;margin:18px 0;border:1px solid var(--edu-line);border-radius:12px;min-width:0; }
#app.registro-wordpress-app .edu-settings legend { font-size:14px;font-weight:700; }
#app.registro-wordpress-app .edu-checks { display:flex;flex-wrap:wrap;gap:6px 12px; }
#app.registro-wordpress-app :is(.edu-checks label,.edu-toggle) { display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px; }
#app.registro-wordpress-app .edu-host input[type=checkbox] { min-height:20px;width:20px;flex:none; }
#app.registro-wordpress-app .edu-prompt { margin:0;font-size:clamp(24px,2.5vw,32px);line-height:1.3;letter-spacing:-.3px; }
#app.registro-wordpress-app .edu-visual { width:100%;min-width:0;padding:12px 0; }
#app.registro-wordpress-app .edu-music { font-family:DiapasonBravura!important;font-weight:400!important;font-style:normal!important;font-feature-settings:normal;letter-spacing:0!important;pointer-events:none; }
#app.registro-wordpress-app .edu-staff { display:block;width:100%;max-width:760px;height:auto;margin:auto;color:var(--ink,#091d30);overflow:hidden; }
#app.registro-wordpress-app .edu-figure { width:65px;height:90px;flex:none;color:var(--ink,#091d30); }
#app.registro-wordpress-app .edu-visual > .edu-figure { width:118px;height:150px; }
#app.registro-wordpress-app .edu-score { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px;width:100%;max-width:1000px;margin:auto; }
#app.registro-wordpress-app .edu-rhythm-staff { display:block;width:100%;height:auto;max-width:650px;margin:auto;color:var(--ink); }
#app.registro-wordpress-app .edu-gap { fill:#f0f6fd;stroke:#6594b9;stroke-width:1.5;stroke-dasharray:4 3; }
#app.registro-wordpress-app .edu-missing-mark { font:700 26px sans-serif;fill:#235a87; }
#app.registro-wordpress-app .edu-score-scroll { width:100%;overflow-x:auto;overscroll-behavior-x:contain; }
#app.registro-wordpress-app .edu-score-scroll .edu-staff { max-width:none;width:auto;min-width:100%; }
#app.registro-wordpress-app .edu-answers { display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:800px; }
#app.registro-wordpress-app .edu-answers button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:76px;min-height:60px!important;max-width:100%;padding:12px 18px;font-size:19px!important; }
#app.registro-wordpress-app .edu-host button.is-selected { background:#e7f2ff;border-color:var(--edu-blue);box-shadow:inset 0 0 0 2px var(--edu-blue); }
#app.registro-wordpress-app .edu-position-target { fill:#edf5fd;fill-opacity:.8;stroke:#84a9ca;stroke-width:1.2; }
#app.registro-wordpress-app .edu-note[role=button] { cursor:pointer; }
#app.registro-wordpress-app .edu-note[role=button]:hover .edu-position-target { fill:#dceeff;stroke:#28689f; }
#app.registro-wordpress-app .edu-note.is-selected .edu-position-target { fill:#d2e7fb;stroke:#00345e;stroke-width:2.5; }
#app.registro-wordpress-app .edu-note[aria-disabled=true] { cursor:default; }
#app.registro-wordpress-app .edu-note.is-current { color:#126dc0; }
#app.registro-wordpress-app .edu-playhead { opacity:0;fill:#e7f2ff;pointer-events:none; }
#app.registro-wordpress-app .edu-note.is-current .edu-playhead { opacity:1; }
#app.registro-wordpress-app .edu-feedback { margin:0;line-height:1.5;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--edu-blue);border-radius:12px; }
#app.registro-wordpress-app .edu-feedback:empty,#app.registro-wordpress-app .edu-feedback:not(.has-feedback):not([role=alert]) { display:none; }
#app.registro-wordpress-app .edu-feedback.has-feedback { padding:12px 18px;background:#eef5fc; }
#app.registro-wordpress-app .edu-feedback[data-tone=correct] { background:#e7f4eb;color:#22633b; }
#app.registro-wordpress-app .edu-feedback[data-tone=wrong] { background:#fff0ed;color:#a6382b; }
#app.registro-wordpress-app .edu-feedback-icon { font-size:22px;font-weight:700; }
#app.registro-wordpress-app .edu-primary-actions { padding-top:4px; }
#app.registro-wordpress-app .edu-primary-actions button { padding:12px 20px; }
#app.registro-wordpress-app .edu-solution { font-size:13px!important; }
#app.registro-wordpress-app .edu-speed { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-size:13px;color:var(--muted); }
#app.registro-wordpress-app .edu-speed input { width:80px;min-height:40px; }
#app.registro-wordpress-app .edu-tap-area { display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;width:100%; }
#app.registro-wordpress-app .edu-host button.edu-tap { flex-basis:100%;max-width:480px;min-height:112px!important;font-size:32px!important;letter-spacing:2px;border-radius:20px; }
#app.registro-wordpress-app .edu-hint { margin:6px 0;font-size:14px;line-height:1.5;color:var(--muted,#4d6d8e); }
#app.registro-wordpress-app .edu-ear { display:flex;align-items:center;justify-content:center;gap:24px;min-height:140px;color:#1d6caa; }
#app.registro-wordpress-app .edu-ear > svg { width:76px;height:76px; }
#app.registro-wordpress-app .edu-ear > span { font-size:clamp(24px,4vw,42px);font-weight:600; }
#app.registro-wordpress-app .edu-symbol { display:block;font-family:Georgia,serif;font-style:italic;font-size:80px;line-height:1.5;overflow-wrap:anywhere; }
#app.registro-wordpress-app .edu-meters { display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px; }
#app.registro-wordpress-app .edu-meters button { font-size:22px!important; }
#app.registro-wordpress-app .edu-meters .active { background:#e7f2ff;border-color:var(--edu-blue);box-shadow:inset 0 0 0 2px var(--edu-blue); }
#app.registro-wordpress-app .edu-pulses { display:flex;justify-content:center;gap:12px;flex-wrap:wrap; }
#app.registro-wordpress-app .edu-pulse { border:1px solid var(--edu-line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:92px;background:#f7fafc; }
#app.registro-wordpress-app .edu-pulse > span { font-size:38px;font-weight:700; }
#app.registro-wordpress-app .edu-pulse > strong { font-size:13px; }
#app.registro-wordpress-app .edu-pulse.is-current { background:#e1effc;color:#1260a0;border-color:#6798c0; }
#app.registro-wordpress-app .edu-subdivisions { display:flex;justify-content:center;gap:8px; }
#app.registro-wordpress-app .edu-subdivisions i { width:12px;height:12px;border:1px solid #537b9f;border-radius:50%; }
#app.registro-wordpress-app .edu-subdivisions .is-current { background:var(--edu-blue); }
#app.registro-wordpress-app .edu-reference { width:100%;text-align:left;border-top:1px solid #d7e1ea;padding-top:14px;margin-top:4px; }
#app.registro-wordpress-app .edu-reference summary { cursor:pointer;min-height:44px;font-weight:700; }
#app.registro-wordpress-app .edu-reference-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px; }
#app.registro-wordpress-app .edu-reference article { padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px solid #d7e1ea;border-radius:12px; }
#app.registro-wordpress-app .edu-reference article > span:not(.edu-symbol) { font-size:14px; }
#app.registro-wordpress-app .edu-reference .edu-symbol { font-size:48px; }
#app.registro-wordpress-app .edu-first .edu-answers button { min-height:72px!important;min-width:100px;font-size:25px!important; }
#app.registro-wordpress-app .edu-host.edu-presentation { position:fixed;inset:0;z-index:12000;background:#f3f7fb;width:100%;height:100vh;height:100dvh;overflow:auto;overscroll-behavior:contain;padding:clamp(16px,3vw,44px);box-sizing:border-box;display:block; }
#app.registro-wordpress-app .edu-presentation .edu-breadcrumb,#app.registro-wordpress-app .edu-presentation :is(.edu-speed,.edu-reference,.edu-level-chip,.edu-eyebrow,[data-edu-back],.edu-heading p,.edu-solution) { display:none!important; }
#app.registro-wordpress-app .edu-presentation .edu-heading { position:sticky;top:-1px;z-index:2;background:#f3f7fb;padding:8px 0 16px;margin-bottom:16px; }
#app.registro-wordpress-app .edu-presentation .edu-exercise { max-width:1300px;margin:auto;padding:clamp(24px,4vw,54px); }
#app.registro-wordpress-app .edu-presentation .edu-staff { max-width:980px; }
#app.registro-wordpress-app .edu-presentation .edu-prompt { font-size:clamp(28px,3vw,44px); }
#app.registro-wordpress-app .edu-presentation .edu-answers button { min-height:68px!important;min-width:90px;font-size:24px!important; }
/* Keep the suite title as a compact frame; the current exercise owns the hierarchy. */
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .utility-topbar { margin-bottom:6px!important;gap:12px; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .utility-heading > h1 { font-size:22px!important;line-height:1.25!important;margin:4px 0 0!important; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .utility-heading > p:not(.eyebrow) { display:none; }
#app.registro-wordpress-app .edu-host button.outline { color:var(--edu-blue)!important; }
/* Existing utility dashboard: six equal cards, no change to the other tools. */
@container(min-width:340px) {
 #app.registro-wordpress-app .utility-dashboard .utility-choices:has([data-tool=didactics]) > .utility-choice:last-child { grid-column:auto; }
}
@container(min-width:680px) {
 #app.registro-wordpress-app .utility-dashboard .utility-choices:has([data-tool=didactics]) > .utility-choice:nth-child(n) { grid-column:span 2; }
}
@media(max-height:500px) {
 @container(min-width:740px) {
  #app.registro-wordpress-app .utility-dashboard .utility-choices:has([data-tool=didactics]) { grid-template-columns:repeat(6,minmax(0,1fr)); }
  #app.registro-wordpress-app .utility-dashboard .utility-choices:has([data-tool=didactics]) > .utility-choice:nth-child(n) { grid-column:auto; }
 }
 #app.registro-wordpress-app .edu-presentation .edu-exercise { gap:12px;padding:18px; }
}
@media(max-width:1100px) {
 #app.registro-wordpress-app .edu-workspace.edu-has-settings { grid-template-columns:minmax(0,1fr); }
 #app.registro-wordpress-app .edu-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #app.registro-wordpress-app .edu-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 #app.registro-wordpress-app .edu-host { gap:18px; }
 #app.registro-wordpress-app .edu-breadcrumb { gap:2px 6px;font-size:12px; }
 #app.registro-wordpress-app .edu-breadcrumb > :first-child,#app.registro-wordpress-app .edu-breadcrumb > :nth-child(2) { display:none; }
 #app.registro-wordpress-app .edu-heading { gap:12px; }
 #app.registro-wordpress-app .edu-heading .edu-eyebrow { display:none; }
 #app.registro-wordpress-app .edu-breadcrumb[data-depth=tool] > :nth-last-child(-n+2) { display:none; }
 #app.registro-wordpress-app .utilities-page[data-instrument=didactics] .utility-heading > h1 { font-size:20px!important; }
 #app.registro-wordpress-app .edu-host { gap:16px; }
 #app.registro-wordpress-app .edu-heading > div:first-child { flex-basis:100%; }
 #app.registro-wordpress-app .edu-heading p { font-size:14px; }
 #app.registro-wordpress-app .edu-heading .edu-actions { gap:8px; }
 #app.registro-wordpress-app .edu-heading .edu-actions > button { padding:10px 12px;font-size:13px!important; }
 #app.registro-wordpress-app .edu-session-options { padding:14px;gap:12px; }
 #app.registro-wordpress-app .edu-level { width:100%;justify-content:space-between;gap:8px; }
 #app.registro-wordpress-app .edu-level select { max-width:55%; }
 #app.registro-wordpress-app .edu-categories { grid-template-columns:minmax(0,1fr);gap:12px; }
 #app.registro-wordpress-app .edu-host button.edu-category { min-height:160px!important;padding:20px!important; }
 #app.registro-wordpress-app .edu-exercise { padding:22px 14px;border-radius:20px;gap:18px; }
 #app.registro-wordpress-app .edu-visual { padding:4px 0; }
 #app.registro-wordpress-app .edu-answers { gap:8px; }
 #app.registro-wordpress-app .edu-answers button { min-width:62px;padding:10px 12px;font-size:18px!important; }
 #app.registro-wordpress-app .edu-answers button:has(.edu-figure) { flex:1 1 100px; }
 #app.registro-wordpress-app .edu-primary-actions { gap:8px; }
 #app.registro-wordpress-app .edu-primary-actions button { padding:10px 14px; }
 #app.registro-wordpress-app .edu-pulse { min-width:54px;padding:12px 8px; }
 #app.registro-wordpress-app .edu-pulses { gap:8px; }
 #app.registro-wordpress-app .edu-presentation .edu-heading { top:-16px; }
}
@media(max-width:380px) { #app.registro-wordpress-app .edu-fields { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { #app.registro-wordpress-app .edu-host * { animation:none!important;transition:none!important; } }

#app.registro-wordpress-app .edu-feedback[role=alert] { padding:12px 18px;color:#a6382b;background:#fff0ed; }

/* One palette, indexed by diatonic letter (C/DO=0). JS only supplies the index. */
#app .edu-host [data-note="0"] { --note-accent:#be4254;--note-soft:#fcebef; }
#app .edu-host [data-note="1"] { --note-accent:#b96720;--note-soft:#fff0df; }
#app .edu-host [data-note="2"] { --note-accent:#9b7a12;--note-soft:#fff8d9; }
#app .edu-host [data-note="3"] { --note-accent:#35815a;--note-soft:#e9f6ed; }
#app .edu-host [data-note="4"] { --note-accent:#25819e;--note-soft:#e5f5fc; }
#app .edu-host [data-note="5"] { --note-accent:#4266b5;--note-soft:#edf0ff; }
#app .edu-host [data-note="6"] { --note-accent:#8953a7;--note-soft:#f5ecfc; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note] { position:relative;background-color:var(--note-soft)!important;border:2px solid var(--note-accent)!important;color:#182b3a!important;opacity:1!important; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note]:hover:not(:disabled) { background:color-mix(in srgb,var(--note-soft) 80%,var(--note-accent))!important; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note]:active:not(:disabled) { transform:scale(.97); }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note].is-selected { box-shadow:inset 0 0 0 2px #182b3a; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note].is-answer-correct { outline:3px solid #22633b;outline-offset:2px; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-answers button.edu-note-answer[data-note].is-answer-wrong { outline:3px dashed #182b3a;outline-offset:2px; }
#app.registro-wordpress-app .edu-answer-mark { position:absolute;top:-11px;right:-7px;display:grid;place-items:center;width:24px;height:24px;background:white;border:1px solid #182b3a;border-radius:50%;font-size:16px;color:#182b3a; }
#app.registro-wordpress-app .edu-note-label { display:inline-block;padding:2px 8px;border-bottom:3px solid var(--note-accent);border-radius:6px;background:var(--note-soft);color:#182b3a; }
#app.registro-wordpress-app .edu-note-legend { display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px; }
#app.registro-wordpress-app .utilities-page[data-instrument=didactics] .edu-host .edu-first .edu-answers button.edu-note-answer[data-note] { background:color-mix(in srgb,var(--note-soft) 80%,var(--note-accent))!important; }
#app.registro-wordpress-app .edu-exercise { animation:edu-exercise-enter .18s ease-out; }
@keyframes edu-exercise-enter { from { opacity:.7; } to { opacity:1; } }

/* Rhythm durations have neutral textual answers, never pitch colours. */
#app.registro-wordpress-app .edu-value-answers button { position:relative;min-height:64px!important;min-width:130px; }
#app.registro-wordpress-app .edu-value-feedback { display:block;margin-top:4px;font-size:16px;font-weight:600; }
#app.registro-wordpress-app .edu-reference .edu-figure-value { font-size:20px!important;font-weight:700;color:var(--ink); }
@media(max-width:600px) {
 #app.registro-wordpress-app .edu-value-answers { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
 #app.registro-wordpress-app .edu-value-answers button { min-width:0;overflow-wrap:anywhere; }
}
