.ExerciseForm{background:#151f2d;border:1px solid #2b3a4f;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:1rem;min-width:0;max-height:56vh;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.ExerciseForm--bare{background:transparent;border:none;border-radius:0;padding:0;max-height:none;overflow:visible}.ExerciseForm h2{margin:0;font-size:1.1rem}.ExerciseForm-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.ExerciseForm-headerActions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.ExerciseForm-headerActions .AppHistoryButton{width:auto}.ExerciseForm-headerActions .AppPrefsCloseButton{width:2rem!important;min-width:2rem!important;max-width:2rem!important;height:2rem!important;padding:0!important;flex:0 0 2rem!important;aspect-ratio:1 / 1}.ExerciseForm-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.ExerciseForm-chunks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ExerciseForm-chunk{border:1px solid #30435c;border-radius:10px;padding:.7rem;background:#101a28;display:flex;flex-direction:column;gap:.6rem}fieldset.ExerciseForm-chunk{margin:0;min-inline-size:0}.ExerciseForm-chunk[aria-disabled=true]{opacity:.72}.ExerciseForm-chunk>h3{margin:0;font-size:.95rem;color:#cbd9ea}.ExerciseForm-chunk--core,.ExerciseForm-chunk--illegal,.ExerciseForm-chunk--phrase{min-width:0}.ExerciseForm-row{display:flex;gap:.75rem;flex-wrap:wrap}.ExerciseForm-row label{flex:1 1 0;min-width:0}.ExerciseForm-row--four label{flex:1 1 0}.ExerciseForm-row--four{flex-wrap:nowrap}.ExerciseForm-row--two label{flex:1 1 180px}.ExerciseForm-row--two{flex-wrap:nowrap}.ExerciseForm-titleRow label:first-child{flex:2 1 0}.ExerciseForm-titleRow label:last-child{flex:1 1 0}.ExerciseForm-row--three label{flex:1 1 160px}.ExerciseForm label{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem;color:#d7e3f2}.ExerciseForm-checkbox{flex-direction:row;align-items:center;gap:.45rem}.ExerciseForm input,.ExerciseForm select,.ExerciseForm button{border:1px solid #33455d;border-radius:8px;padding:.5rem .55rem;font-size:.92rem;background:#0f1724;color:#e6edf6;width:100%;min-width:0}.ExerciseForm-actions{display:flex;flex-wrap:wrap;gap:.55rem}.ExerciseForm-phraseBuilder{display:flex;flex-direction:column;gap:.65rem}.ExerciseForm-phraseHeader{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ExerciseForm-phraseHeader h3{margin:0;font-size:.98rem}.ExerciseForm-structurePreview{font-size:.85rem;color:#9eb3cc}.ExerciseForm-phraseCard{border:1px solid #30435c;border-radius:10px;padding:.65rem;background:#101a28;display:flex;flex-direction:row;gap:.55rem;align-items:center}.ExerciseForm-phraseTitle{font-size:.86rem;font-weight:600;color:#d7e3f2;min-width:4.6rem;text-align:center}.ExerciseForm-phraseCardRow{display:grid;grid-template-columns:minmax(0,.9fr) auto minmax(0,1.5fr) auto;gap:.55rem;align-items:end;width:100%}.ExerciseForm-phraseCardRow label{min-width:0}.ExerciseForm-primeField input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.1rem;min-width:2.1rem;height:2.1rem;min-height:2.1rem;margin:0;align-self:stretch;justify-self:start;background:transparent;border:1px solid #d9e5f5;border-radius:8px;cursor:pointer;position:relative}.ExerciseForm-primeField input[type=checkbox]:checked{background:#4f79b7;border-color:#4f79b7}.ExerciseForm-primeField input[type=checkbox]:disabled{border-color:#5d6d83;cursor:not-allowed;opacity:.8}.ExerciseForm-phraseActions{display:flex;justify-content:flex-end;gap:.5rem}.ExerciseForm-constraintSection{border:1px solid #344a66;border-radius:8px;padding:.5rem;background:#0f1724;display:flex;flex-direction:column;gap:.45rem}.ExerciseForm-constraintSection h3{margin:0;font-size:.92rem;color:#cbd9ea}.ExerciseForm-toggleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .65rem}.ExerciseForm-toggleGrid--degrees{grid-template-columns:repeat(7,minmax(0,1fr))}.ExerciseForm-toggleGrid--intervals{grid-template-columns:repeat(6,minmax(0,1fr))}.ExerciseForm-toggleItem{display:flex;flex-direction:row;align-items:center;gap:.4rem;color:#d7e3f2}.ExerciseForm-toggleItem input[type=checkbox]{width:1rem;min-width:1rem;height:1rem;min-height:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid #d9e5f5;border-radius:4px}.ExerciseForm-toggleItem input[type=checkbox]:checked{background:#4f79b7;border-color:#4f79b7}.ExerciseForm-toggleItem span{white-space:nowrap;font-size:.85rem}.ExerciseForm-toggleItem sup{font-size:.64em}.ExerciseForm-transitionRow{display:grid;grid-template-columns:1fr 1fr auto;gap:.55rem;align-items:end}.ExerciseForm-transitionList{display:flex;flex-direction:column;gap:.45rem}.ExerciseForm-transitionList p{margin:0;color:#9eb3cc;font-size:.86rem}.ExerciseForm-transitionItem{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:1px solid #344a66;border-radius:8px;padding:.4rem .5rem;background:#0f1724;color:#d7e3f2}.ExerciseForm-iconButton{width:2.1rem;min-width:2.1rem;max-width:2.1rem;padding:.45rem 0;font-weight:700;line-height:1}.ExerciseForm button{cursor:pointer;background:#1f2d42;transition:background .2s ease;flex:1 1 180px;min-width:0;white-space:normal}.ExerciseForm button:hover{background:#2b3d58}.AppThemeLight .ExerciseForm{background:#f2f6fc;border-color:#b5c3d6}.AppThemeLight .ExerciseForm h2,.AppThemeLight .ExerciseForm label,.AppThemeLight .ExerciseForm-chunk>h3,.AppThemeLight .ExerciseForm-phraseTitle,.AppThemeLight .ExerciseForm-phraseHeader h3{color:#1f2f44}.AppThemeLight .ExerciseForm-chunk,.AppThemeLight .ExerciseForm-phraseCard,.AppThemeLight .ExerciseForm-constraintSection,.AppThemeLight .ExerciseForm-transitionItem{background:#f8fbff;border-color:#c1cede;color:#1f2f44}.AppThemeLight .ExerciseForm input,.AppThemeLight .ExerciseForm select,.AppThemeLight .ExerciseForm button{background:#fff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .ExerciseForm-structurePreview,.AppThemeLight .ExerciseForm-transitionList p{color:#516a89}@media(max-width:960px){.ExerciseForm{max-height:none}.ExerciseForm-chunks{grid-template-columns:1fr}.ExerciseForm-chunk--core,.ExerciseForm-chunk--illegal,.ExerciseForm-chunk--phrase{min-width:0}.ExerciseForm-row--four{flex-direction:column}.ExerciseForm-row--two{flex-direction:row;flex-wrap:nowrap}.ExerciseForm-actions{flex-direction:column}}.NotationViewer{background:#151f2d;border:1px solid #2b3a4f;border-radius:12px;padding:1rem;min-height:420px;display:flex;flex-direction:column}.NotationViewer h2{margin:0 0 .75rem;font-size:1.1rem;color:#c8d5e6}.NotationViewer-controls{margin:0 0 .75rem}.NotationViewer-canvas{flex:1;overflow:auto;border:1px solid #2f3e56;border-radius:10px;padding:.75rem;background:#fff;display:flex;justify-content:center;align-items:center}.NotationViewer--projection{height:100%;min-height:100%;padding:.6rem .75rem}.NotationViewer--projection .NotationViewer-controls{margin:0 0 .35rem}.NotationViewer--projection .NotationViewer-canvas{overflow-y:auto;overflow-x:hidden;padding:.2rem;justify-content:center;align-items:flex-start}.NotationViewer--projection .NotationViewer-canvas svg{width:auto!important;max-width:none!important}.NotationViewer-canvas:focus-visible{outline:2px solid #7ca1d4;outline-offset:2px}.NotationViewer-canvas svg{filter:none;background:#fff;border-radius:6px;display:block;margin:0 auto;width:100%!important;height:auto!important}.NotationViewer-canvas #osmdSvgPage1{background:#fff!important;border-radius:6px}.NotationViewer--solfege .NotationViewer-canvas svg{filter:none;background:#fff;border-radius:6px}.AppThemeLight .NotationViewer--solfege .NotationViewer-canvas{background:#fff}.AppThemeLight .NotationViewer--solfege .NotationViewer-canvas svg{filter:none}.NotationViewer-error{color:#ff7f7f}.AppThemeLight .NotationViewer{background:#f2f6fc;border-color:#b5c3d6}.AppThemeLight .NotationViewer h2{color:#1f2f44}.AppThemeLight .NotationViewer-canvas{background:#fff;border-color:#9eb1c8}.AppThemeLight .NotationViewer-canvas svg{filter:none;color:#1f2f44}.AppThemeLight .NotationViewer-canvas svg text{fill:#1f2f44}.ErrorBanner{background:#2a1a1a;border:1px solid #7c2f2f;color:#f8d9d9;border-radius:10px;padding:.8rem .9rem;margin-bottom:.75rem}.ErrorBanner h3{margin:0 0 .35rem;font-size:.98rem}.ErrorBanner p{margin:0 0 .45rem;font-size:.9rem}.ErrorBanner ul{margin:0;padding-left:1.1rem}.ErrorBanner li{margin:.2rem 0;font-size:.86rem}.LandingPage{min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,rgba(29,78,216,.28),transparent 60%),radial-gradient(900px 500px at 90% 0%,rgba(20,184,166,.2),transparent 58%),linear-gradient(180deg,#020617,#0b1120);color:#e2e8f0}.LandingContainer{width:min(1120px,calc(100% - 3rem));margin:0 auto}.LandingNav{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617c7;border-bottom:1px solid rgba(100,116,139,.35)}.LandingNavRow{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}.LandingBrand{text-decoration:none;font-weight:700;letter-spacing:.02em;color:#f8fafc;font-size:1.1rem}.LandingNavLinks{display:flex;align-items:center;gap:1rem}.LandingNavLinks a{text-decoration:none;color:#cbd5e1;font-size:.93rem;font-weight:600}.LandingNavLinks a:hover{color:#f8fafc}.LandingHero{padding:5.5rem 0 4rem}.LandingHeroGrid{display:grid;grid-template-columns:1.25fr .95fr;gap:2rem;align-items:stretch}.LandingKicker{margin:0 0 .65rem;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:#67e8f9}.LandingHero h1{margin:0;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;letter-spacing:-.02em}.LandingLead{margin:1rem 0 0;font-size:1.1rem;line-height:1.6;color:#cbd5e1;max-width:48ch}.LandingBuilderNote{margin-top:1.2rem;font-size:.95rem;color:#5eead4;font-weight:600}.LandingActions{margin-top:1.45rem;display:flex;flex-wrap:wrap;gap:.75rem}.LandingButton{border:1px solid transparent;border-radius:999px;padding:.78rem 1.2rem;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer;background:linear-gradient(135deg,#14b8a6,#0ea5e9);color:#02131f}.LandingButton:hover{filter:brightness(1.03)}.LandingButtonGhost{background:#0f172abd;color:#e2e8f0;border-color:#94a3b873}.LandingHeroPanel{border-radius:20px;border:1px solid rgba(56,189,248,.28);background:#0f172ad1;box-shadow:0 10px 35px #02061773;padding:1.5rem}.LandingHeroPanel h2{margin:0;font-size:1.2rem}.LandingHeroPanel ul{margin:.8rem 0 0;padding-left:1.1rem;display:grid;gap:.8rem;color:#cbd5e1}.LandingSection{padding:2.5rem 0}.LandingSectionAlt{background:#0f172a80;border-top:1px solid rgba(100,116,139,.28);border-bottom:1px solid rgba(100,116,139,.28)}.LandingSection h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.LandingSectionLead{margin:.65rem 0 0;color:#94a3b8;max-width:72ch}.LandingCardGrid{margin-top:1.35rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.LandingCardGridSingleCol{grid-template-columns:1fr}.LandingCard{padding:1.05rem;border-radius:14px;border:1px solid rgba(100,116,139,.35);background:#0f172ad6;box-shadow:0 8px 24px #02061759}.LandingCard h3{margin:0;font-size:1.05rem}.LandingCard p{margin:.45rem 0 0;color:#cbd5e1;line-height:1.5}.LandingChipGrid{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.6rem}.LandingChip{margin:0;padding:.6rem .9rem;border-radius:999px;border:1px solid rgba(45,212,191,.38);background:#0d1e2cc7;color:#99f6e4;font-size:.92rem;font-weight:600}.LandingQuote{font-style:italic}.LandingQuoteAuthor{margin-top:.7rem;color:#f1f5f9;font-weight:600}.LandingFinalCta{padding-bottom:4rem}.LandingFinalCtaBox{border-radius:18px;border:1px solid rgba(56,189,248,.3);background:linear-gradient(180deg,#0f172af2,#072435f2);padding:1.5rem;box-shadow:0 10px 28px #02061766}.LandingFinalCtaBox h2{margin:0}.LandingFinalCtaBox p{margin:.7rem 0 0;color:#cbd5e1}.LandingFooter{border-top:1px solid rgba(100,116,139,.35);background:#020617;padding:1.2rem 0}.LandingFooterRow{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center}.LandingFooterRow p{margin:0;color:#94a3b8;font-size:.9rem}@media(max-width:1024px){.LandingHeroGrid{grid-template-columns:1fr}}@media(max-width:768px){.LandingContainer{width:min(1120px,calc(100% - 1.6rem))}.LandingNavRow{min-height:64px}.LandingNavLinks{display:none}.LandingHero{padding-top:4.2rem}.LandingCardGrid{grid-template-columns:1fr}.LandingFooterRow{justify-content:flex-start}}:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#e6edf6;background:radial-gradient(circle at top left,#18202f,#0f1622 55%,#0b111a)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent;color:#e6edf6}.AppShell button{transition:filter .14s ease,transform .08s ease,box-shadow .12s ease,border-color .12s ease}.AppShell button:not(:disabled):hover{filter:brightness(1.16);border-color:#5c7396}.AppShell button:not(:disabled):active{transform:translateY(1px) scale(.99);filter:brightness(1.06);box-shadow:inset 0 1px 2px #00000059}.logo{width:min(320px,100%);height:auto;border-radius:0}#root{min-height:100vh}.AppShell{display:flex;flex-direction:column;min-height:100vh;gap:1rem;padding:1rem}.AppThemeDark{background:radial-gradient(circle at top left,#18202f,#0f1622 55%,#0b111a)}.AppThemeLight{background:radial-gradient(circle at top left,#f5f7fb,#edf1f7 60%,#e7edf6);color:#1d2a3b}.AppThemeLight .AppNavBar,.AppThemeLight .AppDashboardCard{background:#f5f8fd;border-color:#b4c3d7}.AppThemeLight .AppNavLink{color:#304560}.AppThemeLight .AppNavLink:hover{background:#eaf0f8;border-color:#9fb2cc}.AppThemeLight .AppNavLinkActive{background:#dde8f5;border-color:#8ea5c3;color:#1f344d}.AppThemeLight .AppNavMode{color:#546f8f}.AppThemeLight .AppNavThemeField{color:#32455e}.AppThemeLight .AppNavThemeField select{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppNavThemeField select:focus{border-color:#6f88a7}.AppThemeLight .AppLibraryCheckbox{border-color:#9eb1c8;background:#f8fbff}.AppThemeLight .AppLibraryCheckbox:checked{background:#2f67a8;border-color:#2f67a8}.AppThemeLight .AppLibraryCheckbox:after{background:#fff}.AppThemeLight .AppLibraryTitleInput{border-color:#9eb1c8;background:#f8fbff;color:#1f2f44}.AppThemeLight .AppLibraryTitleInput:focus{border-color:#6f88a7}.AppThemeLight .AppRosterTable th,.AppThemeLight .AppRosterTable td{border-bottom-color:#c8d4e3;color:#24384f}.AppMain{display:flex;flex-direction:column;gap:1rem;flex:1}.AppNavBar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid #2b3a4f;border-radius:10px;background:#111b2a}.AppNavLinks{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.AppNavLink{color:#c6d4e8;text-decoration:none;padding:.35rem .6rem;border-radius:8px;border:1px solid transparent;font-size:.92rem}.AppNavLink:hover{border-color:#4e6485;background:#162235}.AppNavLinkActive{border-color:#6f88a7;background:#1e2d43;color:#e9f2ff}.AppNavLinkDisabled{opacity:.5;cursor:not-allowed;pointer-events:none}.AppNavActions{display:flex;align-items:center;gap:.6rem}.AppNavMode{font-size:.82rem;color:#8ea4be}.AppNavThemeField{display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;color:#9fb0c9}.AppNavThemeField select{height:2rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;padding:0 .45rem;font-size:.86rem}.AppNavThemeField select:focus{outline:none;border-color:#5c7396}.AppRoutePage{display:flex;flex-direction:column;gap:.8rem;padding:.2rem 0}.AppDashboardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}.AppDashboardCard{border:1px solid #2b3a4f;border-radius:10px;background:#111b2a;padding:.65rem .75rem}.AppDashboardCard h3{margin:0 0 .45rem;font-size:.98rem}.AppDashboardActions{display:flex;gap:.55rem;flex-wrap:wrap}.AppClassControls{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.AppClassControls .AppToolbarField{order:1}.AppClassControls .AppClassAddStudentsButton{order:2;flex:0 0 auto}.AppClassControls .AppClassEditButton{order:3;flex:0 0 auto}.AppClassControls .AppToolbarNewFolder{order:4}.AppRosterCard{grid-column:1 / -1}.AppClassAccessColumns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:.7rem}.AppClassAccessColumn{min-width:0}.AppClassAccessColumn--stack{display:flex;flex-direction:column;gap:.7rem}.AppRosterControls{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.AppRosterTableWrap{overflow-x:auto}.AppRosterTable{width:100%;border-collapse:collapse;min-width:680px}.AppRosterTable th,.AppRosterTable td{border-bottom:1px solid #2b3a4f;padding:.45rem .5rem;text-align:left;font-size:.9rem}.AppRosterTable th{color:#b6c6db;font-weight:600}.AppRosterSortButton{border:none;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.AppRosterRowActions{display:flex;gap:.35rem;flex-wrap:wrap}.AppLibraryTitleButton{border:none;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.AppLibraryTitleRow,.AppLibraryTitleEditRow{display:inline-flex;align-items:center;gap:.35rem;width:100%}.AppLibraryTitleInput{flex:1 1 auto;min-width:0;height:1.9rem;border:1px solid #3a4b66;border-radius:6px;background:#172233;color:#e6edf6;padding:0 .5rem;font-size:.88rem}.AppLibraryTitleInput:focus{outline:none;border-color:#5c7396}.AppLibraryTitleAction{width:1.85rem;min-width:1.85rem;height:1.85rem;font-size:.9rem}.AppLibraryCheckbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;margin:0;border:1px solid #5f7699;border-radius:4px;background:#172233;display:inline-grid;place-content:center;cursor:pointer}.AppLibraryCheckbox:after{content:"";width:.5rem;height:.5rem;transform:scale(0);transition:transform .12s ease-in-out;clip-path:polygon(14% 46%,0 60%,43% 100%,100% 20%,84% 6%,41% 71%);background:#0e1724}.AppLibraryCheckbox:checked{background:#a8c7ea;border-color:#a8c7ea}.AppLibraryCheckbox:checked:after{transform:scale(1)}.AppLibraryCheckbox:focus-visible{outline:2px solid #7ca1d4;outline-offset:1px}.AppCountInCheckbox{width:2rem!important;min-width:2rem!important;height:2rem!important}.AppHeader{display:flex;gap:20px;align-items:flex-start}.AppHeader img{width:150px;border-radius:50%}.AppHeaderActions{margin-left:auto;display:flex;align-items:flex-start}.AppTitle{margin:0;font-size:2.2rem;font-weight:800;letter-spacing:.02em;line-height:1.1;color:#dfe9f7}.AppSubtitle{color:#6f88a7;margin:0}.AppIntro{display:flex;flex-direction:column;gap:.15rem}.AppBrand{display:flex;gap:20px;align-items:center}.AppNotationPane{width:100%}.AppNotationToolbar{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;margin:0 0 .55rem}.GeneratorToolbar{display:flex;flex-direction:column;gap:.45rem}.ToolbarRow{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.ToolbarGroup{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}.ToolbarGroup--class{flex:1 1 100%}.ToolbarGroup--context{flex:1 1 26rem;flex-wrap:nowrap}.ToolbarGroup--primary,.ToolbarGroup--utilities,.ToolbarGroup--notation{border-left:1px solid #2b3a4f;padding-left:.5rem}.ToolbarGroup--utilities,.ToolbarGroup--notation{margin-left:auto}.ToolbarSpacer{flex:1 1 .5rem}.ToolbarField{flex:0 1 auto}.ToolbarClassField{min-width:14rem;flex:0 0 auto;justify-content:flex-start!important;gap:.35rem;white-space:nowrap}.ToolbarClassField select{width:14rem}.ToolbarTitleField{min-width:0;flex:1 1 0;max-width:none;justify-content:flex-start}.AppPlaybackField.ToolbarTitleField{justify-content:flex-start!important;width:100%}.ToolbarTitleField .AppExerciseTitleInput{flex:1 1 auto;min-width:0;width:100%!important}.ToolbarStaticText{padding:0 .25rem}.ToolbarMenuField{display:inline-flex;align-items:center;gap:.25rem;color:#b6c6db;font-size:.82rem}.ToolbarMenuLabel{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.ToolbarInlineLabel{display:inline-flex;align-items:center;gap:.3rem}.UpgradeFeatureMarker{display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:#e25555;box-shadow:0 0 0 1px #0000002e;flex:0 0 auto;vertical-align:middle;margin-left:.15rem}.ToolbarMenuField select{height:2rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;padding:0 .45rem;font-size:.86rem}.ToolbarMenuField select:focus{outline:none;border-color:#5c7396}@media(max-width:900px){.ToolbarSpacer{display:none}.ToolbarGroup--context{flex-wrap:wrap}.ToolbarGroup--utilities,.ToolbarGroup--notation{margin-left:0}}@media(max-width:600px){.ToolbarGroup--context,.ToolbarGroup--primary,.ToolbarGroup--utilities,.ToolbarGroup--playback,.ToolbarGroup--notation{width:100%;border-left:none;padding-left:0}}.AppNotationToolbarRow{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}.AppNotationToolbarRow--top{align-items:flex-end;justify-content:flex-start}.AppNotationToolbarRow--bottom{align-items:center}.AppToolbarField{min-width:12rem;flex:1 1 12rem}.AppToolbarTitleField{min-width:18rem;flex:2 1 22rem}.AppToolbarCompactField{min-width:8.5rem;flex:0 1 auto}.AppToolbarCompactField input:not([type=checkbox]){width:4.5rem}.AppToolbarCompactField select{min-width:7.2rem}.AppToolbarCompactField input[type=checkbox]{width:1rem;height:1rem}.AppCountInField{justify-content:flex-start;gap:.2rem}.AppToolbarNewFolder{display:flex;align-items:center;gap:.45rem;flex:1 1 16rem;min-width:14rem}.AppToolbarNewFolder .AppExerciseTitleInput{width:auto!important;flex:1 1 auto;min-height:2rem;border:1px solid #3a4b66;border-radius:6px;background:#172233;color:#e6edf6;padding:0 .55rem;font-size:.9rem}.AppToolbarNewFolder .AppExerciseTitleInput:focus{outline:none;border-color:#5c7396}.AppNotationToolbarActions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;flex:1 1 30rem}.AppClassroomAccessPanel{margin:0 0 .55rem;padding:.6rem .7rem;border:1px solid #2b3a4f;border-radius:10px;background:#101a28;display:flex;flex-direction:column;gap:.45rem}.AppClassroomAccessPanel .AppPlaybackField{justify-content:flex-start}.AppClassroomAccessPanel .AppToolbarField{min-width:16rem}.AppClassroomAccessPanel .AppToolbarField input{width:100%}.AppClassroomAccessPanel .AppPlaybackField input[type=checkbox]{width:auto;height:auto}.AppToolbarPlaybackGroup{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.AppToolbarRight{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;flex-wrap:wrap}.AppNotationHeader{display:flex;align-items:center}.AppTopRow{display:flex;gap:1rem;align-items:stretch}.AppTopRow .AppNotationPane{flex:1 1 auto;min-width:0;height:calc(100dvh - 2rem)}.AppTopRow .AppNotationPane .NotationViewer{height:100%;min-height:0}.AppPrimaryColumn{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1rem}.AppPrimaryColumnProjection{height:100%}.AppMelodyPanel{flex:0 0 260px;align-self:stretch;height:calc(100dvh - 2rem);min-height:0;background:#151f2d;border:1px solid #2b3a4f;border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.7rem}.AppMelodyPanel h3{margin:0;font-size:.98rem;color:#d7e3f2}.AppPanelButtons{display:flex;flex-direction:column;gap:.45rem}.AppPanelScrollableSection{max-height:clamp(180px,28vh,320px);overflow-y:auto;overflow-x:hidden;padding-right:.2rem}.AppMelodyPanel .AppPanelScrollableSection{max-height:none;flex:1 1 auto;min-height:0}.AppQuickActionsRow{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.AppPanelSpacer{height:1px;background:#2b3a4f;margin:.1rem 0 .2rem}.AppPanelButtonWide{width:100%;height:2.1rem;text-align:center;padding:0 .6rem;font-size:.88rem}.AppSymbolButton{font-size:1.05rem;font-weight:700}.AppSquareButton{width:2.2rem;height:2.2rem;padding:0}.AppButtonLabelWithIcon{display:inline-flex;align-items:center;gap:.35rem}.AppButtonIconHelp{width:1rem;height:1rem;border-radius:999px;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;opacity:.9}.AppHistoryControls{display:flex;align-items:center;gap:.5rem;margin:0 0 .7rem}.AppHistoryNav{display:inline-flex;align-items:center;gap:.5rem}.AppPlaybackControls{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.AppPlaybackControlsPanel{margin-left:0;display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.AppHistoryButton{min-width:2rem;height:2rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;cursor:pointer;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;text-align:center}.AppProjectionToggleButton{padding:0 .6rem;font-size:.85rem}.ToolbarWideButton{min-width:10.5rem;white-space:nowrap}.AppProjectionTitle{width:100%;text-align:center;font-size:1.4rem;font-weight:700;letter-spacing:.01em}.AppProjectionHeaderRow{position:relative;width:100%;display:flex;justify-content:center;align-items:center;transition:opacity .18s ease}.AppProjectionExitButton{position:absolute;right:0}.AppHistoryButton:disabled{opacity:.4;cursor:not-allowed}.AppHistoryLabel{font-size:.88rem;color:#9fb0c9}.AppHistoryLabel input:not([type=checkbox]),.AppHistoryLabel select,.AppHistoryLabel textarea{border:1px solid #3a4b66;border-radius:6px;background:#172233;color:#e6edf6}.AppHistoryLabel textarea{padding:.45rem .55rem}.AppHistoryLabel input:not([type=checkbox]):focus,.AppHistoryLabel select:focus,.AppHistoryLabel textarea:focus{outline:none;border-color:#5c7396}.AppPlaybackField{display:inline-flex;align-items:center;gap:.35rem;justify-content:space-between}.AppPlaybackField.AppToolbarField{justify-content:flex-start}.AppPlaybackField.AppCountInField{justify-content:flex-start;gap:.2rem}.AppNotationToolbarRow--top .AppToolbarField{flex:0 1 14rem}.AppNotationToolbarRow--top .AppToolbarTitleField{flex:0 1 20rem}.AppNotationToolbarRow--top .AppToolbarNewFolder{flex:0 1 16rem}@media(max-width:1200px){.AppToolbarRight{margin-left:0}}.AppPlaybackField input{width:64px;height:2rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;padding:0 .45rem;font-size:.86rem}.AppPlaybackField select{height:2rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;padding:0 .45rem;font-size:.86rem}.AppPlaybackField input:focus,.AppPlaybackField select:focus{outline:none;border-color:#5c7396}.AppPlaybackField input.AppLibraryCheckbox{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;box-sizing:border-box;width:1rem!important;min-width:1rem!important;height:1rem!important;margin:0;padding:0;border:1px solid #5f7699!important;border-radius:4px!important;background:#172233!important;color:inherit;display:inline-grid!important;place-content:center;cursor:pointer}.AppPlaybackField input.AppLibraryCheckbox.AppCountInCheckbox{width:2rem!important;min-width:2rem!important;height:2rem!important}.AppPlaybackField input.AppLibraryCheckbox:after{content:"";width:.5rem;height:.5rem;transform:scale(0);transition:transform .12s ease-in-out;clip-path:polygon(14% 46%,0 60%,43% 100%,100% 20%,84% 6%,41% 71%);background:#0e1724}.AppPlaybackField input.AppLibraryCheckbox:checked{background:#a8c7ea!important;border-color:#a8c7ea!important}.AppPlaybackField input.AppLibraryCheckbox:checked:after{transform:scale(1)}.AppPlaybackField input.AppLibraryCheckbox:focus-visible{outline:2px solid #7ca1d4;outline-offset:1px}.AppExerciseTitleInput{width:100%!important;min-height:2.4rem;font-size:.95rem;padding:0 .6rem}.AppRelaxationNotice{margin:0 0 .7rem;padding:.45rem .65rem;border:1px solid #866c2a;border-radius:8px;background:#3a2d11;color:#f2dc9d;font-size:.86rem}.AppThemeLight .AppTitle{color:#1f2f44}.AppThemeLight .ToolbarGroup--primary,.AppThemeLight .ToolbarGroup--utilities,.AppThemeLight .ToolbarGroup--notation{border-left-color:#c8d4e3}.AppThemeLight .ToolbarMenuField{color:#4a607d}.AppThemeLight .ToolbarMenuField select{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppHistoryLabel{color:#32455e}.AppThemeLight .AppHistoryButton,.AppThemeLight .AppPlaybackField input,.AppThemeLight .AppPlaybackField select{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppHistoryLabel input:not([type=checkbox]),.AppThemeLight .AppHistoryLabel select,.AppThemeLight .AppHistoryLabel textarea{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppToolbarNewFolder .AppExerciseTitleInput{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppHistoryButton:not(:disabled):hover,.AppThemeLight .AppPlaybackField input:focus,.AppThemeLight .AppPlaybackField select:focus{border-color:#6f88a7}.AppThemeLight .AppPlaybackField input.AppLibraryCheckbox{background:#f8fbff!important;border-color:#9eb1c8!important}.AppThemeLight .AppPlaybackField input.AppLibraryCheckbox:checked{background:#2f67a8!important;border-color:#2f67a8!important}.AppThemeLight .AppPlaybackField input.AppLibraryCheckbox:after{background:#fff}.AppThemeLight .AppHistoryLabel input:not([type=checkbox]):focus,.AppThemeLight .AppHistoryLabel select:focus,.AppThemeLight .AppHistoryLabel textarea:focus{border-color:#6f88a7}.AppThemeLight .AppToolbarNewFolder .AppExerciseTitleInput:focus{border-color:#6f88a7}.AppThemeLight .AppMelodyPanel{background:#f2f6fc;border-color:#b5c3d6}.AppThemeLight .AppClassroomAccessPanel{background:#f8fbff;border-color:#b5c3d6}.AppThemeLight .AppMelodyPanel h3{color:#1f2f44}.AppThemeLight .AppPanelSpacer{background:#b5c3d6}.AppThemeLight .AppRelaxationNotice{background:#fff7df;border-color:#d8be73;color:#5a4514}.AppModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c1299;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.AppModal{position:relative;width:min(560px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:12px;border:1px solid #33455f;background:#151f2d;color:#dfe9f7;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.AppModalWide{width:min(1280px,96vw);max-height:calc(100vh - .75rem);height:calc(100vh - .75rem)}.AppPrefsHeaderActions{display:inline-flex;align-items:center;gap:.35rem}.AppPrefsCloseButton{width:2rem!important;min-width:2rem!important;height:2rem!important;padding:0!important;flex:0 0 2rem;font-size:1rem}.AppPrefsHeaderSep{color:#8ea4be;font-size:.9rem}.AppModalWide .ExerciseForm{max-height:none;overflow:visible}.AppModalClose{position:absolute;top:.6rem;right:.6rem;width:1.9rem;height:1.9rem;border-radius:6px;border:1px solid #3a4b66;background:#172233;color:#e6edf6;font-size:1.2rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.AppModal h3{margin:0;font-size:1.05rem;padding-right:2.2rem}.AppModal ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem}.AppModal li{font-size:.92rem;line-height:1.35}.AppBatchForm{display:flex;flex-direction:column;gap:.65rem}.AppBatchForm label{display:flex;flex-direction:column;gap:.35rem}.AppBatchForm input,.AppBatchForm select{border:1px solid #3a4b66;border-radius:8px;background:#172233;color:#e6edf6;height:2rem;padding:0 .55rem;font-size:.9rem}.AppBatchForm textarea{border:1px solid #3a4b66;border-radius:8px;background:#172233;color:#e6edf6;padding:.45rem .55rem;font-size:.9rem;resize:vertical}.AppBatchCheckbox{flex-direction:row!important;align-items:center;gap:.5rem}.AppBatchCheckbox input{width:1rem;height:1rem;margin:0;padding:0}.AppBatchActions{display:flex;gap:.5rem;justify-content:flex-end}.AppStudentForm{display:flex;flex-direction:column;gap:.55rem}.AppStudentForm label{display:flex;flex-direction:column;gap:.3rem}.AppStudentForm input{border:1px solid #3a4b66;border-radius:8px;background:#172233;color:#e6edf6;height:2rem;padding:0 .55rem;font-size:.88rem}.AppThemeLight .AppModal{background:#f8fbff;border-color:#b5c3d6;color:#1f2f44}.AppThemeLight .AppBatchForm input,.AppThemeLight .AppBatchForm select,.AppThemeLight .AppBatchForm textarea,.AppThemeLight .AppStudentForm input,.AppThemeLight .AppModalClose{background:#f8fbff;color:#1f2f44;border-color:#9eb1c8}.AppThemeLight .AppModalBackdrop{background:#1b263447}.AppProjectionMode{padding:.5rem}.AppMainProjection{height:calc(100vh - 1rem)}.AppTopRowProjection{height:100%}.AppNotationPaneProjection{height:100%;position:relative}.AppProjectionMode .AppHistoryControls{margin-bottom:.25rem;width:100%}.AppProjectionMode .AppHistoryNav{width:100%;justify-content:center}.AppProjectionMode .AppHistoryButton{height:2.2rem}.AppProjectionMode .AppHistoryLabel{color:#d8e6f8}.AppProjectionFloatingControls{position:absolute;right:.9rem;bottom:.9rem;display:inline-flex;gap:.6rem;z-index:20;transition:opacity .18s ease}.AppProjectionControlsHidden{opacity:0;pointer-events:none}.AppProjectionActionButton{min-width:8.6rem;height:2.5rem;padding:0 .85rem;font-size:.95rem;background:#172233eb;border-color:#5a7194;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.AppThemeLight .AppProjectionActionButton{background:#f8fbfff2}@media(max-width:1050px){.AppClassAccessColumns{grid-template-columns:1fr}.AppTopRow{flex-direction:column}.AppMelodyPanel{width:100%;flex:0 0 auto;height:auto}.AppTopRow .AppNotationPane{height:auto}}
