/* Solfège Facile Experience V11 — product/accessibility layer. */
:root{--sfv11-font-scale:1;--sfv11-panel:#17131a;--sfv11-panel-2:#1f1922;--sfv11-line:rgba(255,255,255,.11);--sfv11-gold:#d4af37;--sfv11-muted:#bdb5c1}
html{font-size:calc(16px * var(--sfv11-font-scale))}
html[data-sfv11-contrast="high"]{--ink:#fff;--ink-muted:#eee;--line:rgba(255,255,255,.34)}
html[data-sfv11-contrast="high"] button,html[data-sfv11-contrast="high"] input,html[data-sfv11-contrast="high"] select{border-width:2px!important}
html[data-sfv11-contrast="soft"]{filter:saturate(.82) contrast(.94)}
html[data-sfv11-dyslexia="1"] body{letter-spacing:.035em;word-spacing:.08em;line-height:1.68}
html[data-sfv11-dyslexia="1"] p,html[data-sfv11-dyslexia="1"] li,html[data-sfv11-dyslexia="1"] label{max-width:72ch}
html[data-sfv11-motion="reduced"] *,html[data-sfv11-motion="reduced"] *::before,html[data-sfv11-motion="reduced"] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
html[data-sfv11-focus="1"] :focus-visible{outline:3px solid #f2cf57!important;outline-offset:3px!important;box-shadow:0 0 0 3px rgba(242,207,87,.2)!important}
.sfv11-toast-host{position:fixed;right:18px;bottom:84px;z-index:100000;display:grid;gap:8px;max-width:min(420px,calc(100vw - 28px))}.sfv11-toast{background:#211b24;border:1px solid var(--sfv11-line);border-radius:10px;padding:11px 14px;color:#fff;box-shadow:0 12px 40px #0008}.sfv11-toast.err{border-color:#a84b59}.sfv11-toast.ok{border-color:#786530}
.sfv11-modal-bg{position:fixed;inset:0;z-index:99990;background:rgba(5,3,7,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:auto}.sfv11-modal{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;background:linear-gradient(155deg,#1f1922,#120f15);color:#f5f1f4;border:1px solid var(--sfv11-line);border-radius:18px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.58)}.sfv11-modal.sfv11-wide{width:min(1120px,100%)}.sfv11-modal h2,.sfv11-modal h3{font-family:var(--serif,Georgia,serif)}.sfv11-modal p{color:var(--ink-muted,#bbb)}.sfv11-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.sfv11-modal-head h2{margin:.25rem 0 .3rem}.sfv11-modal-head p{margin:0}.sfv11-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#d9bb63}.sfv11-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sfv11-empty{padding:28px;border:1px dashed var(--sfv11-line);border-radius:12px;text-align:center;color:var(--sfv11-muted)}
/* Onboarding */
.sfv11-onboarding-modal{width:min(880px,100%)}.sfv11-onboard{text-align:center}.sfv11-onboard h2{font-size:clamp(1.7rem,4vw,2.55rem);margin:.35rem 0}.sfv11-onboard>p{max-width:680px;margin:0 auto 20px}.sfv11-intents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.sfv11-intents button{display:grid;text-align:left;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:17px;background:#17131a;border:1px solid var(--sfv11-line);border-radius:13px;color:#fff;cursor:pointer}.sfv11-intents button>span{grid-row:1/3;font-size:28px;align-self:center;color:#d4af37}.sfv11-intents button b{font-size:1rem}.sfv11-intents button small{color:#bdb5c1;line-height:1.4}.sfv11-intents button:hover,.sfv11-intents button.active{border-color:#d4af37;background:#211a1f}.sfv11-intents.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.sfv11-intents.compact button{grid-template-columns:32px 1fr;grid-template-rows:auto;padding:12px}.sfv11-intents.compact button>span{grid-row:auto;font-size:20px}
/* Personalized home */
.sfv11-dashboard{max-width:1220px;margin:18px auto 24px;padding:18px;border:1px solid rgba(212,175,55,.2);border-radius:18px;background:linear-gradient(135deg,rgba(212,175,55,.075),rgba(95,31,52,.08));box-shadow:0 18px 60px rgba(0,0,0,.18)}.sfv11-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sfv11-dashboard-head h2{font-family:var(--serif,Georgia,serif);font-size:clamp(1.45rem,3vw,2rem);margin:4px 0}.sfv11-dashboard-head p{margin:0;color:var(--ink-muted)}.sfv11-dashboard-tools{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.sfv11-next-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.sfv11-next-card{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;text-align:left;padding:14px;background:rgba(16,13,18,.78);border:1px solid var(--sfv11-line);border-radius:12px;color:#fff;cursor:pointer;min-height:82px}.sfv11-next-card>span{font-size:23px;color:#d4af37}.sfv11-next-card b{display:block}.sfv11-next-card small{display:block;margin-top:3px;color:#bdb5c1;line-height:1.3}.sfv11-next-card em{font-style:normal;color:#d4af37}.sfv11-next-card:hover{border-color:#d4af37;transform:translateY(-1px)}.sfv11-dashboard-strip{display:flex;gap:8px;flex-wrap:wrap}.sfv11-dashboard-strip button{background:transparent;color:var(--ink,#eee);border:1px solid var(--sfv11-line);border-radius:999px;padding:8px 12px;cursor:pointer}
/* Search / command palette */
.sfv11-palette{width:min(760px,100%);padding:0;overflow:hidden}.sfv11-palette-head{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--sfv11-line)}.sfv11-palette-head input{font-size:1.08rem;width:100%;background:transparent;border:0!important;color:#fff;outline:0!important;padding:8px}.sfv11-palette-head kbd{font-size:.72rem;padding:4px 7px;border:1px solid var(--sfv11-line);border-radius:6px;color:#aaa}.sfv11-search-results{max-height:min(65vh,650px);overflow:auto;padding:8px}.sfv11-search-row{width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:1px solid transparent;background:transparent;color:#fff;border-radius:9px;cursor:pointer}.sfv11-search-row span:nth-child(2){min-width:0}.sfv11-search-row b,.sfv11-search-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfv11-search-row small{color:#aaa;margin-top:2px}.sfv11-search-row em{font-size:.72rem;color:#cdb86d;font-style:normal}.sfv11-search-row.active,.sfv11-search-row:hover{background:#29212d;border-color:#4f4055}.sfv11-search-icon{font-size:20px;text-align:center}
/* Accessibility/settings */
.sfv11-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sfv11-settings-grid>label{display:grid;gap:7px;padding:13px;border:1px solid var(--sfv11-line);border-radius:10px;background:#151117}.sfv11-settings-grid input[type=range],.sfv11-settings-grid select,.sfv11-settings-grid input[type=number]{width:100%}.sfv11-switch{grid-template-columns:auto 1fr!important;align-items:center}.sfv11-switch input{width:20px;height:20px}.sfv11-settings-modal .sfv11-actions{margin-top:18px}
/* Mastery/errors */
.sfv11-mastery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0 22px}.sfv11-mastery-grid article{padding:12px;background:#151117;border:1px solid var(--sfv11-line);border-radius:10px}.sfv11-mastery-grid span,.sfv11-mastery-grid small{display:block;color:#aaa}.sfv11-mastery-grid b{display:block;font-size:1.4rem;margin:5px 0}.sfv11-mastery-grid article>div{height:6px;background:#302731;border-radius:5px;overflow:hidden;margin:6px 0}.sfv11-mastery-grid i{display:block;height:100%;background:#d4af37}.sfv11-error-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin-bottom:16px}.sfv11-error-list article{display:grid;grid-template-columns:auto 1fr auto;gap:5px 12px;padding:11px;border:1px solid var(--sfv11-line);border-radius:9px}.sfv11-error-list article>span{color:#d4af37;font-size:.75rem}.sfv11-error-list article>p{grid-column:2/4;margin:0}.sfv11-error-list article>small{grid-column:1/2;color:#888}.sfv11-error-list article>button{grid-column:3}
/* Library */
.sfv11-library-toolbar{display:grid;grid-template-columns:190px 1fr auto;gap:8px;margin-bottom:14px}.sfv11-library-toolbar input,.sfv11-library-toolbar select,.sfv11-score-card select{background:#100d12;color:#fff;border:1px solid var(--sfv11-line);border-radius:8px;padding:9px}.sfv11-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sfv11-score-card{position:relative;padding:15px;border:1px solid var(--sfv11-line);border-radius:12px;background:#151117}.sfv11-score-card h3{margin:7px 0 3px}.sfv11-score-card p{margin:0 0 8px}.sfv11-score-card small{color:#999}.sfv11-score-icon{font-size:28px}.sfv11-fav{position:absolute;right:10px;top:10px;background:transparent;border:0;color:#776d78;font-size:22px;cursor:pointer}.sfv11-fav.active{color:#d4af37}.sfv11-score-card .sfv11-actions{margin-top:12px}.sfv11-score-card .sfv11-actions select{min-width:0;max-width:160px}
/* Teacher */
.sfv11-role-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sfv11-role{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;gap:4px 10px;text-align:left;padding:20px;border:1px solid var(--sfv11-line);border-radius:13px;background:#151117;color:#fff}.sfv11-role>span{grid-row:1/3;font-size:30px;color:#d4af37}.sfv11-role small{color:#aaa}.sfv11-teacher-toolbar{display:flex;gap:8px;margin-bottom:14px}.sfv11-groups,.sfv11-assignment-list,.sfv11-members{display:grid;gap:9px}.sfv11-groups article,.sfv11-assignment-list article,.sfv11-members article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--sfv11-line);border-radius:10px;background:#151117}.sfv11-assignment-list article{display:grid;grid-template-columns:1fr auto}.sfv11-assignment-list article span,.sfv11-assignment-list article small{color:#aaa}.sfv11-assignment-list article .sfv11-actions{grid-column:2;grid-row:1/4}.sfv11-assignment-list button[data-lesson]{display:grid;text-align:left;gap:2px;background:#151117;color:#fff;border:1px solid var(--sfv11-line);border-radius:9px;padding:11px}.sfv11-assignment-list button[data-lesson] span,.sfv11-assignment-list button[data-lesson] small{color:#aaa}
/* Assistant */
.sfv11-assistant-quick{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.sfv11-assistant-quick button{border:1px solid var(--sfv11-line);border-radius:999px;background:#17131a;color:#eee;padding:8px 11px}.sfv11-assistant-thread{max-height:50vh;overflow:auto;display:grid;gap:9px;padding:10px 2px}.sfv11-assistant-thread article{max-width:86%;padding:11px 13px;border-radius:11px;background:#17131a;border:1px solid var(--sfv11-line)}.sfv11-assistant-thread article.user{justify-self:end;background:#271923}.sfv11-assistant-thread article p{margin:4px 0 0}.sfv11-assistant-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.sfv11-assistant-form input{background:#100d12;color:#fff;border:1px solid var(--sfv11-line);border-radius:9px;padding:11px}
/* Studio V2 integration */
.sfv11-context-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:10px 2px;margin-top:12px;border-top:1px solid rgba(255,255,255,.1)}.sfv11-context-actions[hidden]{display:none}.sfv11-context-actions>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#b8acb7;padding:0 4px}.sfv11-context-actions button{border:0;border-radius:8px;background:#2a222d;color:#eee;padding:8px 10px;font-size:.78rem}.sfv11-context-actions button:hover{background:#49384b}.sv2-score-shell{position:relative}
#sv2-root[data-sv2-mode="essential"] .sv2-tool-catalog [data-family="ornaments"],#sv2-root[data-sv2-mode="essential"] .sv2-tool-catalog [data-family="rhythm"]{opacity:.75}
html[data-sfv11-hand-colors="1"] #sv2-score-paper .sfv11-rh :is(path,ellipse,circle,line,polygon){stroke:#4e82d9!important}html[data-sfv11-hand-colors="1"] #sv2-score-paper .sfv11-lh :is(path,ellipse,circle,line,polygon){stroke:#c85b79!important}
#sv2-score-paper .sfv11-note-name{font:600 10px/1 sans-serif;fill:#755c26;pointer-events:none}.sfv11-pwa-nudge{position:fixed;z-index:9990;right:16px;bottom:80px;width:min(420px,calc(100vw - 32px));display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:12px;background:#1b161d;color:#fff;border:1px solid #6a5730;border-radius:12px;box-shadow:0 18px 50px #0008}.sfv11-pwa-nudge b,.sfv11-pwa-nudge span{display:block}.sfv11-pwa-nudge span{font-size:.78rem;color:#bbb;margin-top:2px}
/* Detailed answer comparison */
.sfv11-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.sfv11-answer-compare>div{padding:9px;border:1px solid var(--sfv11-line);border-radius:9px;background:rgba(0,0,0,.12)}.sfv11-answer-compare span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9c949e}.sfv11-answer-compare code{white-space:pre-wrap;color:inherit;font-family:inherit}
@media(max-width:900px){.sfv11-next-grid,.sfv11-mastery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfv11-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfv11-dashboard-head{display:grid}.sfv11-dashboard-tools{justify-content:flex-start}}
@media(max-width:680px){.sfv11-modal-bg{padding:8px;align-items:flex-end}.sfv11-modal{max-height:92dvh;border-radius:16px 16px 8px 8px;padding:16px}.sfv11-intents,.sfv11-intents.compact,.sfv11-role-choice,.sfv11-settings-grid,.sfv11-library-grid,.sfv11-mastery-grid{grid-template-columns:1fr}.sfv11-next-grid{grid-template-columns:1fr}.sfv11-library-toolbar{grid-template-columns:1fr}.sfv11-dashboard{margin:10px 10px 18px}.sfv11-dashboard-tools{width:100%}.sfv11-dashboard-tools button{flex:1}.sfv11-modal-head{display:grid}.sfv11-context-actions{left:8px;right:8px;transform:none;bottom:64px;border-radius:12px}.sfv11-pwa-nudge{grid-template-columns:1fr 1fr;bottom:72px}.sfv11-pwa-nudge>div{grid-column:1/-1}.sfv11-answer-compare{grid-template-columns:1fr}.sfv11-error-list article{grid-template-columns:1fr}.sfv11-error-list article>*{grid-column:auto!important}.sfv11-assignment-list article{grid-template-columns:1fr}.sfv11-assignment-list article .sfv11-actions{grid-column:auto;grid-row:auto}}
.sfv11-learning-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 12px;padding:8px;border:1px solid var(--sfv11-line);border-radius:10px;background:rgba(18,14,20,.72)}.sfv11-learning-tools>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9d949f}.sfv11-learning-tools button{border:1px solid var(--sfv11-line);background:#17131a;color:#eee;border-radius:999px;padding:6px 9px}.sfv11-learning-tools button.active{border-color:#d4af37;color:#f0d77f}.learning-shell.sfv11-learning-large .learning-score{font-size:1.18em;overflow:auto}.learning-shell.sfv11-learning-large .learning-score svg{min-width:112%;height:auto}.learning-shell.sfv11-learning-focus .learning-hero,.learning-shell.sfv11-learning-focus .learning-mode-tabs~section:not(:first-of-type){opacity:.18;filter:grayscale(.6)}.learning-shell.sfv11-learning-focus .learning-card{box-shadow:0 0 0 2px rgba(212,175,55,.18)}.sfv11-learning-note-name{font:600 10px sans-serif;fill:#6b5426;pointer-events:none}.sv2-save-indicator{font-size:.7rem;color:#aaa;white-space:nowrap}.sv2-save-indicator[data-state="saving"],.sv2-save-indicator[data-state="pending"]{color:#e4c45d}.sv2-save-indicator[data-state="offline"]{color:#e18b96}.sv2-save-indicator[data-state="saved"],.sv2-save-indicator[data-state="savedLocal"]{color:#7fc58f}

/* V12.14m — teacher/student forms (replace window.prompt) */
.sfv11-form{display:grid;gap:.45rem;margin-top:.5rem}
.sfv11-form label{font-weight:600}
.sfv11-form input{width:100%;box-sizing:border-box;min-height:44px;font-size:1rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--sfv11-line);background:transparent;color:inherit}
.sfv11-form .sfv11-actions{justify-content:flex-end;margin-top:.4rem}
.sfv11-form-error{min-height:1.2em;margin:0;color:#b42318;font-size:.9rem}
.sfv11-done{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-weight:600;background:rgba(22,163,74,.14);color:#15803d}
.sfv11-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
