/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#162b33;--ink-soft:#52656a;--cream:#f4f1e9;--paper:#fffef9;--coral:#d95f45;--teal:#2f7068;--line:#dcd8cd;--muted:#718083;--muted-soft:#879293;--divider:#eeeae1;--teal-tint:#e1ece8;--teal-line:#bfc9c3;--coral-tint:#f5dfda;--danger-text:#a4685d;--danger-text-strong:#a64d3a;--success-text:#286658;--success-bg:#dcebe4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible){outline-offset:3px;outline:3px solid #d95f454d}.brand{color:var(--ink);letter-spacing:-.5px;align-items:center;gap:11px;font-size:21px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--coral);color:#fff;border-radius:11px 11px 11px 3px;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:22px;font-style:italic;display:grid;box-shadow:inset 0 -2px #0000001f}.workspace{grid-template-columns:300px 1fr;max-width:1510px;min-height:calc(100vh - 72px);margin:0 auto;display:grid}.library{border-right:1px solid var(--line);background:#ffffff42;padding:42px 24px 30px 28px}.eyebrow{color:var(--coral);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.library h2{letter-spacing:-.3px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.piece-kicker{color:#6b7a7d;letter-spacing:1.4px;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.piece-kicker i{background:var(--coral);border-radius:50%;width:3px;height:3px}.measures{z-index:2;grid-template-columns:repeat(8,minmax(70px,1fr));height:72px;display:grid;position:relative}.note{color:#24383e;font-family:serif;font-size:13px;position:relative;transform:scaleX(1.15)}.note:after{content:"";background:#24383e;width:1px;height:22px;position:absolute;bottom:5px;left:8px}.file-badge{letter-spacing:.5px;border-radius:5px;place-items:center;min-width:34px;height:21px;padding:0 6px;font-size:9px;font-weight:900;display:inline-grid}.file-badge.pdf{color:#b94d37;background:#f6dfda}.file-badge.audio{background:var(--teal-tint);color:var(--teal)}.audio-only-score{text-align:center;place-content:center;justify-items:center;min-height:370px;display:grid}.audio-only-score>span{width:65px;height:65px;color:var(--teal);background:#e3ece8;border-radius:50%;place-items:center;margin-bottom:14px;font-size:27px;display:grid}.audio-only-score strong{font-family:Georgia,serif;font-size:21px}.audio-only-score p{color:#7a888a;margin:7px 0 0;font-size:12px}@media (max-width:1050px){.workspace{grid-template-columns:235px 1fr}}@media (max-width:780px){.workspace{display:block}.library{border-right:0;border-bottom:1px solid var(--line);padding:22px 18px 12px}.library h2{font-size:21px}.measures{width:730px}}@media (max-width:470px){.brand>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.teacher-shell{background:#f4f1e9;min-height:100vh}.teacher-topbar{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:240px 1fr 180px;align-items:center;height:72px;padding:0 32px;display:grid}.teacher-topbar nav{justify-self:center;gap:31px;height:100%;display:flex}.teacher-topbar nav a{color:#718082;place-items:center;font-size:13px;font-weight:800;text-decoration:none;display:grid;position:relative}.teacher-topbar nav a.active{color:var(--ink)}.teacher-topbar nav a.active:after{content:"";background:var(--coral);height:3px;position:absolute;bottom:0;left:0;right:0}.teacher-profile{color:#6e7d7f;justify-self:end;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.teacher-profile strong{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;display:grid}.teacher-workspace{width:min(1180px,100% - 48px);margin:0 auto;padding:48px 0}.teacher-welcome{justify-content:space-between;align-items:end;gap:30px;display:flex}.teacher-welcome h1{letter-spacing:-1px;margin:5px 0 7px;font-family:Georgia,serif;font-size:39px;font-weight:500}.teacher-welcome p:last-child{color:#6e7d7f;margin:0;font-family:Georgia,serif;font-size:13px;font-style:italic}.teacher-welcome>button,.teacher-panel header button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:8px;font-size:11px;font-weight:800}.teacher-welcome>button{padding:12px 16px}.teacher-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px;display:grid}.teacher-stats article{background:#fff;border:1px solid #dcd8cd;border-radius:11px;grid-template-columns:1fr auto;align-items:end;padding:19px;display:grid}.teacher-stats span{color:#728082;letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:900}.teacher-stats strong{grid-area:1/2/3;font-family:Georgia,serif;font-size:31px;font-weight:500}.teacher-stats small{color:#939c9d;margin-top:6px;font-size:10px}.teacher-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.teacher-panel{background:#fff;border:1px solid #dcd8cd;border-radius:12px;min-height:300px;padding:21px}.teacher-panel header{justify-content:space-between;align-items:center;display:flex}.teacher-panel h2{margin:3px 0 0;font-family:Georgia,serif;font-size:22px;font-weight:500}.teacher-panel header button{padding:9px 11px}.teacher-empty{color:#7b888a;text-align:center;place-content:center;justify-items:center;min-height:210px;display:grid}.teacher-empty>span{width:50px;height:50px;color:var(--teal);background:#e3ece8;border-radius:50%;place-items:center;margin-bottom:12px;font-size:19px;display:grid}.teacher-empty strong{color:var(--ink);font-family:Georgia,serif;font-size:16px}.teacher-empty p{max-width:280px;margin:6px 0 0;font-size:11px;line-height:1.5}@media (max-width:760px){.teacher-topbar{grid-template-columns:1fr auto;padding:0 18px}.teacher-topbar nav{display:none}.teacher-workspace{width:calc(100% - 30px);padding:30px 0}.teacher-welcome{flex-direction:column;align-items:start}.teacher-stats,.teacher-grid{grid-template-columns:1fr}}.primary-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;padding:12px 17px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 7px 18px #d95f4538}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.welcome-shell{background:var(--paper);grid-template-columns:minmax(410px,.95fr) minmax(480px,1.05fr);min-height:100vh;display:grid}.welcome-story{color:#fff;background:linear-gradient(145deg,#17313a 0%,#244b4b 56%,#2f7068 100%);flex-direction:column;min-height:100vh;padding:42px 58px;display:flex;position:relative;overflow:hidden}.welcome-story:before,.welcome-story:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute}.welcome-story:before{width:620px;height:620px;top:-210px;right:-360px}.welcome-story:after{width:420px;height:420px;bottom:-170px;left:-220px}.light-brand{color:#fff;z-index:2;position:relative}.welcome-copy{z-index:2;max-width:590px;margin:auto 0;padding:80px 0 120px;position:relative}.light-eyebrow{color:#f29b84}.welcome-copy h1{letter-spacing:-2.8px;margin:16px 0 25px;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.1vw,77px);font-weight:400;line-height:1.02}.welcome-copy h1 em{color:#f08a70;font-weight:400}.welcome-copy>p:last-child{color:#ffffffb8;max-width:490px;margin:0;font-family:Georgia,serif;font-size:17px;line-height:1.65}.welcome-notes span{color:#ffffff14;font-family:Georgia,serif;position:absolute}.welcome-notes span:first-child{font-size:85px;bottom:15%;right:12%;transform:rotate(12deg)}.welcome-notes span:nth-child(2){font-size:48px;top:13%;right:35%;transform:rotate(-15deg)}.welcome-notes span:nth-child(3){font-size:57px;top:43%;right:4%;transform:rotate(9deg)}.student-entry{background:#f6f3eb;place-content:center;justify-items:center;gap:27px;min-height:100vh;padding:55px;display:grid}.entry-card{text-align:center;background:#fffffff0;border:1px solid #ded9cd;border-radius:21px;width:min(455px,100%);padding:48px 46px 40px;box-shadow:0 28px 70px #1e31311a}.entry-icon{background:var(--teal-tint);width:58px;height:58px;color:var(--teal);border-radius:18px 18px 18px 5px;place-items:center;margin:0 auto 22px;font-family:Georgia,serif;font-size:27px;display:grid}.entry-card h2,.dashboard-dialog h2,.code-dialog h2,.access-shell h1{letter-spacing:-.6px;margin:6px 0 9px;font-family:Georgia,serif;font-size:31px;font-weight:500}.entry-intro{color:#728083;margin:0 0 29px;font-family:Georgia,serif;font-size:13px}.entry-card form{text-align:left}.entry-card label,.dashboard-dialog form>label{color:#697779;letter-spacing:1px;text-transform:uppercase;gap:8px;font-size:11px;font-weight:900;display:grid}.entry-card input,.dashboard-dialog input,.dashboard-dialog select,.dashboard-dialog textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d6d1c5;border-radius:9px}.entry-card input{text-align:center;letter-spacing:9px;text-transform:uppercase;height:62px;padding:0 15px;font-size:25px;font-weight:900}.entry-card input::placeholder{color:#c8c5bb}.entry-button{width:100%;min-height:48px;margin-top:12px}.form-error{color:#a94732;background:#f9e4df;border-radius:7px;margin:10px 0;padding:10px 12px;font-size:12px;line-height:1.45}.code-help{color:#8c9798;max-width:300px;margin:19px auto 0;font-size:11px;line-height:1.55}.teacher-entry-link{color:#708082;font-size:13px;font-weight:800;text-decoration:none}.teacher-entry-link span{color:var(--ink)}.teacher-topbar{z-index:30;grid-template-columns:220px 1fr 265px;position:sticky;top:0}.teacher-topbar nav{gap:25px}.teacher-profile a{color:#9a6a60;font-size:10px;text-decoration:none}.teacher-workspace{width:min(1180px,100% - 48px)}.teacher-welcome>button,.teacher-panel>header>button,.panel-actions>button{box-shadow:0 5px 14px #162b3326}.teacher-panel>header>button:disabled{opacity:.35;cursor:not-allowed}.panel-actions{align-items:center;gap:7px;display:flex}.panel-actions>button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 11px;font-size:11px;font-weight:800}.panel-actions>.secondary-panel-button{color:var(--teal);box-shadow:none;background:#eef4f1;border:1px solid #b8cbc5}.instrument-filter{color:#667678;background:#fff;border:1px solid #d7d3c8;border-radius:7px;max-width:150px;padding:8px 9px;font-size:10px;font-weight:800}.music-folder-bar{scrollbar-width:thin;align-items:center;gap:7px;margin:17px -2px 0;padding:2px 2px 8px;display:flex;overflow-x:auto}.music-folder-bar>button,.music-folder-chip{background:#faf9f5;border:1px solid #d9d5ca;border-radius:8px;min-width:max-content}.music-folder-bar>button,.music-folder-chip>button{color:#657476;cursor:pointer;background:0 0;border:0;min-height:34px;padding:7px 10px;font-size:10px;font-weight:800}.music-folder-bar button>span{color:#81938f;margin-right:5px}.music-folder-bar button>strong{color:#9aa3a2;margin-left:5px;font-size:9px}.music-folder-bar>button.active,.music-folder-chip.active{background:#e8f1ed;border-color:#8eb0a6;box-shadow:0 3px 10px #234e4414}.music-folder-bar>button.active,.music-folder-chip.active>button:first-child{color:var(--teal)}.music-folder-chip{align-items:center;display:flex}.music-folder-chip>.folder-remove-button{min-height:0;color:var(--danger-text);border-radius:50%;margin-right:5px;padding:2px 5px;font-size:13px;line-height:1}.music-folder-chip>.folder-remove-button:hover{background:#f4dfda}.music-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.music-folder-card{background:#fdfcf8;border:1px solid #ddd9ce;border-radius:12px;grid-template-columns:1fr auto;align-items:start;min-width:0;display:grid;box-shadow:0 7px 18px #2330300d}.folder-card-open{min-width:0;min-height:116px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:1fr auto;grid-template-columns:49px minmax(0,1fr);align-items:center;gap:8px 12px;padding:16px 8px 14px 16px;display:grid}.folder-card-icon{width:49px;height:42px;color:var(--teal);background:#e2eee9;border-radius:9px;grid-row:1/3;place-items:center;font-size:21px;display:grid}.folder-card-open>span:nth-child(2){align-self:end;gap:5px;min-width:0;display:grid}.folder-card-open strong{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:15px;font-weight:600;overflow:hidden}.folder-card-open small{color:var(--muted-soft);font-size:10px}.folder-card-open i{color:var(--teal);align-self:start;font-size:10px;font-style:normal;font-weight:900}.folder-card-open:hover .folder-card-icon{background:#d5e6df}.folder-card-remove{color:var(--danger-text);cursor:pointer;background:0 0;border:0;border-radius:50%;margin:9px 9px 0 0;padding:4px 7px;font-size:15px}.folder-card-remove:hover{background:#f4dfda}.success-banner,.error-banner{border-radius:8px;justify-content:space-between;align-items:center;margin-top:22px;padding:11px 14px;font-size:12px;font-weight:800;display:flex}.success-banner{background:var(--success-bg);color:var(--success-text)}.error-banner{color:#a84935;background:#f6e2dd}.success-banner button,.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:17px}.teacher-panel{scroll-margin-top:95px}.wide-panel{min-height:250px;margin-top:14px}.teacher-page-panel{min-height:430px;margin-top:30px}.teacher-list{border-top:1px solid #ebe7de;margin-top:17px}.list-row{border-bottom:1px solid var(--divider);grid-template-columns:37px 1fr auto 25px;align-items:center;gap:10px;min-height:63px;display:grid}.list-row>div{gap:4px;min-width:0;display:grid}.list-row strong{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:13px;overflow:hidden}.list-row small{color:var(--muted-soft);font-size:10px}.student-roster-row{grid-template-columns:37px minmax(110px,1fr) 145px auto 25px}.student-activity-summary{flex-wrap:wrap;align-items:center;gap:4px 7px;display:flex}.student-activity-summary button{color:var(--teal);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.new-activity-label{background:var(--coral-tint);color:var(--coral);border-radius:20px;padding:3px 7px;font-size:10px;font-weight:900}.roster-instrument{width:100%;min-width:0;color:var(--teal);background:#faf9f5;border:1px solid #d8d4ca;border-radius:6px;padding:6px 7px;font-size:10px;font-weight:800}.student-avatar,.group-avatar{width:35px;height:35px;color:var(--teal);text-transform:uppercase;background:#e4eee9;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.group-avatar{color:var(--coral);background:#f5e2dd;border-radius:9px}.text-button,.icon-button{color:var(--teal);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:900}.icon-button{font-size:17px}.danger{color:var(--danger-text)!important}.assignment-table{margin-top:19px}.table-heading,.assignment-row{grid-template-columns:minmax(240px,1fr) 180px 100px 28px;align-items:center;gap:14px;display:grid}.table-heading{color:#8c9697;letter-spacing:1px;text-transform:uppercase;padding:0 12px 9px;font-size:9px;font-weight:900}.assignment-row{color:#728083;border-top:1px solid #ebe7de;min-height:65px;padding:9px 12px;font-size:11px}.assignment-row>div{gap:5px;min-width:0;display:grid}.assignment-row strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:Georgia,serif;font-size:13px;overflow:hidden}.assignment-row small{text-overflow:ellipsis;white-space:nowrap;color:#8a9596;font-size:10px;overflow:hidden}.group-pill{color:var(--teal);background:#e4eee9;border-radius:20px;justify-self:start;padding:6px 9px;font-size:10px;font-weight:800}.music-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:19px;display:grid}.music-card{background:#fdfcf8;border:1px solid #e2ded4;border-radius:9px;grid-template-columns:42px minmax(120px,1fr) 145px auto auto;align-items:center;gap:11px;min-height:76px;padding:11px;display:grid}.music-card-icon{background:var(--teal-tint);width:41px;height:41px;color:var(--teal);border-radius:9px;place-items:center;font-size:10px;font-weight:900;display:grid}.music-card>div:nth-child(2){gap:5px;min-width:0;display:grid}.music-card strong,.music-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-card strong{font-family:Georgia,serif;font-size:13px}.music-card small,.music-card>span{color:#8a9596;font-size:10px}.music-card-actions{align-items:center;gap:5px;display:flex}.piece-card{grid-template-columns:42px minmax(160px,1fr) auto auto}.piece-instruments{flex-flow:wrap;gap:4px!important;display:flex!important}.piece-instruments span{color:var(--teal);white-space:nowrap;background:#e8f0ec;border-radius:10px;padding:3px 5px;font-size:8px;font-weight:800}.music-folder-select{color:#929b9c;letter-spacing:.7px;text-transform:uppercase;align-items:center;gap:7px;max-width:200px;margin-top:2px;font-size:8px;font-weight:900;display:flex}.music-folder-select select{min-width:0;color:var(--teal);letter-spacing:normal;text-transform:none;background:#fff;border:1px solid #d8d4ca;border-radius:6px;flex:1;padding:5px 7px;font-size:10px;font-weight:800}.music-open-button{color:var(--teal);cursor:pointer;background:#edf4f1;border:1px solid #b9cec7;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:900}.music-open-button:hover{border-color:var(--teal);background:#e3eee9}.activity-overview{min-height:0}.activity-privacy-note{color:var(--muted-soft);font-size:11px;font-weight:800}.activity-student-list{grid-template-columns:1fr 1fr;gap:8px 12px;max-height:360px;margin-top:15px;display:grid;overflow-y:auto}.activity-student-list>button{min-width:0;min-height:67px;color:var(--ink);text-align:left;cursor:pointer;background:#fdfcf8;border:1px solid #e5e0d6;border-radius:9px;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.activity-student-list>button:hover{background:#f5f9f7;border-color:#b8cbc5}.activity-student-list>button>span:nth-child(2){gap:5px;min-width:0;display:grid}.activity-student-list strong,.activity-student-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-student-list strong{font-family:Georgia,serif;font-size:14px}.activity-student-list small{color:#7b8889;font-size:11px;font-weight:800}.activity-student-list small b{color:var(--coral)}.activity-student-list i{color:var(--teal);white-space:nowrap;font-size:11px;font-style:normal;font-weight:900}.recording-overview{min-height:0}.recording-count{background:var(--coral-tint);color:var(--coral);border-radius:20px;padding:5px 9px;font-size:10px;font-weight:900}.recording-submission-list{grid-template-columns:1fr 1fr;gap:8px 12px;max-height:360px;margin-top:15px;display:grid;overflow-y:auto}.recording-submission-list>button{min-width:0;min-height:69px;color:var(--ink);text-align:left;cursor:pointer;background:#fffaf8;border:1px solid #ead8d2;border-radius:9px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.recording-submission-list>button:hover{background:#fff5f1;border-color:#d99b8b}.recording-avatar{background:var(--coral-tint);width:36px;height:36px;color:var(--coral);border-radius:50%;place-items:center;font-size:12px;display:grid}.recording-submission-list>button>span:nth-child(2),.recording-history-list>button>span:nth-child(2){gap:5px;min-width:0;display:grid}.recording-submission-list strong,.recording-submission-list small,.recording-history-list strong,.recording-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recording-submission-list strong,.recording-history-list strong{font-family:Georgia,serif;font-size:14px}.recording-submission-list small,.recording-history-list small{color:#7b8889;font-size:11px}.recording-submission-list time,.recording-history-list time{color:#8b9697;white-space:nowrap;font-size:10px;font-weight:800}.recording-submission-list i{color:var(--coral);white-space:nowrap;font-size:11px;font-style:normal;font-weight:900}.recording-library{min-height:320px}.recording-history-list{border-top:1px solid #e8e3d9;margin-top:16px}.recording-history-list>button{border:0;border-bottom:1px solid var(--divider);width:100%;min-height:67px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:38px minmax(0,1fr) auto 85px;align-items:center;gap:12px;padding:9px 5px;display:grid}.recording-history-list>button:hover{background:#faf9f5}.recording-status-pill{color:#88672f;white-space:nowrap;background:#f1e7d7;border-radius:20px;justify-self:start;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900}.recording-status-pill.reviewed{background:var(--success-bg);color:var(--success-text)}.recording-status-pill.revision_requested{background:var(--coral-tint);color:var(--danger-text-strong)}.activity-icon{width:35px;height:35px;color:var(--teal);background:#e3ece8;border-radius:10px;place-items:center;font-size:15px;font-weight:900;display:grid}.activity-icon.music_opened{color:#a55d48;background:#f3e6dc}.activity-icon.practice_session{background:var(--coral-tint);color:var(--coral)}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d1f259e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dashboard-dialog,.code-dialog{background:var(--paper);border-radius:16px;width:min(535px,100%);max-height:calc(100vh - 40px);padding:31px;position:relative;overflow-y:auto;box-shadow:0 28px 90px #00000047}.dialog-close{color:#6f7c7e;cursor:pointer;background:#ece9e0;border:0;border-radius:50%;width:31px;height:31px;font-size:20px;position:absolute;top:17px;right:18px}.dashboard-dialog h2,.code-dialog h2{font-size:28px}.activity-dialog{width:min(710px,100%)}.activity-dialog-intro{color:var(--muted);margin:4px 35px 20px 0;font-family:Georgia,serif;font-size:13px;line-height:1.55}.activity-loading,.activity-dialog-empty{color:#7d898a;text-align:center;place-items:center;min-height:170px;font-family:Georgia,serif;font-size:13px;display:grid}.activity-summary-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.activity-summary-grid article{background:#faf9f5;border:1px solid #e0dbd0;border-radius:9px;gap:7px;min-width:0;padding:13px;display:grid}.activity-summary-grid span{color:#7d898a;letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:900}.activity-summary-grid strong{text-overflow:ellipsis;color:var(--ink);white-space:nowrap;font-family:Georgia,serif;font-size:15px;overflow:hidden}.activity-history-heading{justify-content:space-between;align-items:baseline;gap:20px;margin:23px 2px 9px;display:flex}.activity-history-heading h3{margin:0;font-family:Georgia,serif;font-size:19px;font-weight:500}.activity-history-heading span{color:#849091;font-size:11px;font-weight:800}.activity-timeline{border-top:1px solid #e8e3d9;max-height:350px;overflow-y:auto}.activity-timeline>div{border-bottom:1px solid var(--divider);grid-template-columns:37px 1fr;align-items:center;gap:11px;min-height:61px;padding:9px 3px;display:grid}.activity-timeline>div>div{gap:5px;min-width:0;display:grid}.activity-timeline strong{font-family:Georgia,serif;font-size:13px;font-weight:600}.activity-timeline small{color:var(--muted-soft);font-size:11px}.recording-review-dialog{width:min(640px,100%)}.recording-review-intro{color:var(--muted);gap:5px;margin:3px 35px 19px 0;display:grid}.recording-review-intro strong{color:var(--ink);font-family:Georgia,serif;font-size:16px}.recording-review-intro span{font-size:11px;font-weight:800}.teacher-recording-player{width:100%;accent-color:var(--coral);margin:3px 0 19px}.recording-feedback-label{color:#697779;letter-spacing:1px;text-transform:uppercase;gap:8px;font-size:11px;font-weight:900;display:grid}.recording-feedback-label>span{color:#9da5a5;font-size:9px;font-weight:700}.recording-feedback-label textarea{min-height:95px;color:var(--ink);font:inherit;resize:vertical;text-transform:none;background:#fff;border:1px solid #d6d1c5;border-radius:9px;padding:11px 12px;font-size:13px;line-height:1.5}.recording-review-status{background:#f7f5ef;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding:10px 12px;display:flex}.recording-review-status>span{color:#7b8889;letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:900}.recording-review-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.recording-review-actions>button{cursor:pointer;border-radius:8px;min-height:40px;padding:10px 13px;font-size:11px;font-weight:900}.request-recording-button{color:var(--danger-text-strong);background:#fff8f5;border:1px solid #d5b0a5}.delete-recording-button{color:var(--danger-text);cursor:pointer;background:0 0;border:0;margin-top:13px;padding:0;font-size:10px;font-weight:900}.recording-review-actions button:disabled,.delete-recording-button:disabled{opacity:.5;cursor:not-allowed}.dashboard-dialog form>p:nth-of-type(2),.code-dialog>p:nth-of-type(2){color:var(--muted);margin:0 0 21px;font-family:Georgia,serif;font-size:13px;line-height:1.5}.dashboard-dialog form>label{margin-top:13px}.dashboard-dialog input,.dashboard-dialog select,.dashboard-dialog textarea{text-transform:none;letter-spacing:normal;padding:11px 12px;font-size:13px}.dashboard-dialog textarea{resize:vertical;min-height:76px}.optional{color:#9da5a5;font-size:9px;font-weight:700}.dashboard-dialog fieldset{border:0;margin:16px 0 0;padding:0}.dashboard-dialog legend{color:#697779;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:900}.member-picker{background:#faf8f3;border:1px solid #ded9ce;border-radius:9px;grid-template-columns:1fr 1fr;gap:6px;max-height:190px;padding:9px;display:grid;overflow-y:auto}.member-picker label{color:var(--ink);background:#fff;border-radius:6px;align-items:center;gap:7px;padding:7px;font-size:12px;font-weight:700;display:flex}.member-picker input{width:auto;accent-color:var(--teal)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:23px;display:flex}.dialog-actions>button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d8d4ca;border-radius:8px;padding:11px 14px;font-size:12px;font-weight:800}.dialog-actions>.primary-button{border-color:var(--coral);background:var(--coral);color:#fff}.upload-fields{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.upload-fields>label{background:#fff;border:1px dashed #cbc6bb;border-radius:9px;grid-template-columns:42px 1fr;align-content:center;column-gap:9px;min-height:126px;padding:12px;display:grid}.upload-kind{border-radius:8px;grid-row:1/3;place-items:center;width:40px;height:40px;font-size:10px;font-weight:900;display:grid}.pdf-kind{background:var(--coral-tint);color:#b34c36}.audio-kind{color:var(--teal);background:#e0ece8;font-size:17px}.upload-fields strong{align-self:end;font-size:12px}.upload-fields small{color:#899394;align-self:start;font-size:9px}.upload-fields input{border:0;grid-column:1/-1;margin-top:11px;padding:0;font-size:10px}.bulk-audio-field{grid-template-columns:1fr;margin:0 0 15px}.bulk-audio-field>label{min-height:98px}.bulk-dialog{width:min(860px,100%)}.bulk-pickers{grid-template-columns:1fr 1fr;gap:9px;margin:15px 0;display:grid}.bulk-pickers>label{border:1px dashed var(--teal-line);cursor:pointer;background:#f7faf8;border-radius:9px;grid-template-columns:42px 1fr;align-content:center;column-gap:10px;min-height:91px;padding:13px;display:grid;position:relative}.bulk-pickers>label:hover{border-color:var(--teal);background:#eef5f1}.bulk-pickers>label>span{width:40px;height:40px;color:var(--teal);background:#e0ece8;border-radius:9px;grid-row:1/3;place-items:center;font-size:18px;font-weight:800;display:grid}.bulk-pickers strong{align-self:end;font-size:12px}.bulk-pickers small{color:var(--muted-soft);align-self:start;font-size:10px}.bulk-pickers input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.bulk-summary{color:#6c7b7d;justify-content:space-between;align-items:center;padding:10px 3px 7px;font-size:11px;display:flex}.roster-import-form textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55}.roster-file-picker{border:1px dashed var(--teal-line);cursor:pointer;background:#f7faf8;border-radius:9px;padding:14px;margin-top:15px!important}.roster-file-picker:hover{border-color:var(--teal);background:#eef5f1}.roster-file-picker input{background:0 0;border:0;padding:7px 0 0;font-size:11px}.roster-file-ready{background:var(--success-bg);color:var(--success-text);border-radius:7px;margin:8px 0 0;padding:9px 11px;font-size:11px;font-weight:800}.roster-format-note{color:#7c898a!important;margin:9px 0 0!important;font-family:inherit!important;font-size:11px!important;line-height:1.5!important}.form-warning{color:#815d16;background:#f7ecd2;border-radius:7px;margin:10px 0;padding:10px 12px;font-size:11px;line-height:1.45}.roster-preview{background:#fff;border:1px solid #dad6cb;border-radius:9px;margin-top:14px;overflow:hidden}.roster-preview>header,.roster-preview-row{grid-template-columns:1fr 170px;align-items:center;gap:12px;display:grid}.roster-preview>header{color:var(--teal);background:#edf3f0;padding:10px 12px;font-size:11px}.roster-preview>header span{color:#83908f;letter-spacing:1px;text-transform:uppercase;justify-self:end;font-size:9px;font-weight:900}.roster-preview-row{border-top:1px solid var(--divider);min-height:37px;padding:6px 12px;font-size:12px}.roster-preview-row strong{color:var(--teal);font-size:10px}.roster-preview>small{border-top:1px solid var(--divider);color:#899394;padding:9px 12px;font-size:10px;display:block}.roster-results-dialog{text-align:left;width:min(760px,100%)}.roster-results-dialog .entry-icon{margin-left:0}.roster-code-list{background:#fff;border:1px solid #d9d5ca;border-radius:9px;max-height:330px;margin-top:17px;overflow-y:auto}.roster-code-heading,.roster-code-row{grid-template-columns:minmax(150px,1fr) 180px 90px;align-items:center;gap:12px;padding:9px 12px;display:grid}.roster-code-heading{color:#7f8b8c;letter-spacing:1px;text-transform:uppercase;background:#edf3f0;font-size:9px;font-weight:900;position:sticky;top:0}.roster-code-row{border-top:1px solid var(--divider);min-height:43px;font-size:12px}.roster-code-row span:nth-child(2){color:var(--teal);font-size:10px;font-weight:800}.roster-code-row strong{color:var(--coral);letter-spacing:2px;font-size:13px}.roster-skipped{color:#886f37!important;margin:11px 0 0!important;font-family:inherit!important;font-size:11px!important}.roster-result-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.roster-result-actions button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d8d4ca;border-radius:8px;padding:11px 14px;font-size:12px;font-weight:800}.bulk-summary button{color:var(--danger-text);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:900}.bulk-part-list{background:#fff;border:1px solid #ddd8cd;border-radius:9px;max-height:350px;overflow-y:auto}.bulk-part-row{border-bottom:1px solid #ece8df;grid-template-columns:37px minmax(180px,1fr) 185px 24px;align-items:end;gap:9px;min-height:69px;padding:9px 11px;display:grid}.bulk-part-row:last-child{border-bottom:0}.bulk-part-row>.file-badge{align-self:center}.bulk-part-name{align-self:center;gap:5px;min-width:0;display:grid}.bulk-part-name strong,.bulk-part-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bulk-part-name strong{font-size:11px}.bulk-part-name small{color:#8b9697;font-size:9px}.bulk-part-row label{color:#7a8789;letter-spacing:.7px;text-transform:uppercase;gap:5px;font-size:9px;font-weight:900;display:grid}.bulk-part-row input,.bulk-part-row select{width:100%;color:var(--ink);text-transform:none;background:#fcfbf8;border:1px solid #d9d5cb;border-radius:6px;padding:8px 9px;font-size:11px}.bulk-part-row>button{color:var(--danger-text);cursor:pointer;background:0 0;border:0;align-self:center;font-size:18px}.code-dialog{text-align:center;width:min(455px,100%)}.code-dialog>p:nth-of-type(2){max-width:340px;margin-left:auto;margin-right:auto}.generated-code{color:var(--teal);letter-spacing:9px;background:#eef4f1;border:1px dashed #b5c9c2;border-radius:11px;margin:21px 0;padding:19px;font-size:32px;display:block}.code-dialog .primary-button{width:100%}.loading-shell,.access-shell{text-align:center;background:#f4f1e9;place-items:center;min-height:100vh;display:grid}.loading-mark{background:var(--coral);color:#fff;border-radius:15px 15px 15px 4px;place-items:center;width:52px;height:52px;margin:0 auto 12px;font-family:Georgia,serif;font-size:27px;display:grid}.loading-shell p{color:#7c888a;font-family:Georgia,serif;font-size:13px}.access-shell section{max-width:520px;padding:35px}.access-shell p{color:var(--muted);margin:0 0 22px}.music-viewer-backdrop{padding:15px}.teacher-music-viewer{background:#f6f3eb;border-radius:15px;width:min(1080px,100%);max-height:calc(100vh - 30px);overflow-y:auto;box-shadow:0 28px 90px #00000052}.music-viewer-header{background:#fff;border-bottom:1px solid #dcd8cd;justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:17px 64px 16px 22px;display:flex;position:relative}.music-viewer-header h2{margin:2px 0 4px;font-family:Georgia,serif;font-size:27px;font-weight:500}.music-viewer-header>div>span{color:#7b8889;font-size:10px;font-weight:800}.teacher-score-preview{background:#fff;border:1px solid #d7d3c8;border-radius:10px;margin:14px 14px 0;overflow:hidden}.teacher-score-preview>div{border-bottom:1px solid #e3dfd5;align-items:center;gap:9px;min-height:49px;padding:0 14px;display:flex}.teacher-score-preview>div strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.teacher-score-preview>div a{color:var(--teal);flex:none;margin-left:auto;font-size:10px;font-weight:900;text-decoration:none}.part-preview-toolbar label{color:#7d898b;letter-spacing:.7px;text-transform:uppercase;gap:3px;min-width:0;font-size:8px;font-weight:900;display:grid}.part-preview-toolbar label:first-of-type{flex:1}.part-preview-toolbar select{min-width:0;max-width:330px;color:var(--ink);text-transform:none;background:#faf9f5;border:1px solid #d8d4ca;border-radius:6px;padding:6px 7px;font-size:10px}.teacher-score-preview iframe{background:#e8e6df;border:0;width:100%;height:min(58vh,620px);display:block}.teacher-audio-only{text-align:center;background:#fff;border:1px solid #d7d3c8;border-radius:10px;place-content:center;justify-items:center;min-height:360px;margin:14px;display:grid}.teacher-audio-only>span{background:var(--teal-tint);width:58px;height:58px;color:var(--teal);border-radius:50%;place-items:center;margin-bottom:12px;font-size:24px;display:grid}.teacher-audio-only strong{font-family:Georgia,serif;font-size:17px}.teacher-audio-only p{color:#7b888a;margin:6px 0 0;font-size:11px}.teacher-viewer-player{background:#fff;border:1px solid #d7d3c8;border-radius:10px;margin:14px;padding:15px}.teacher-viewer-player>header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:11px;display:flex}.teacher-viewer-player>header>div{align-items:center;gap:9px;min-width:0;display:flex}.teacher-viewer-player strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.teacher-viewer-player label{color:#748183;text-transform:uppercase;flex:none;align-items:center;gap:7px;font-size:10px;font-weight:900;display:flex}.teacher-viewer-player select{background:#faf8f3;border:1px solid #d8d4ca;border-radius:6px;padding:6px 7px;font-size:11px}.speed-slider-control{min-width:190px;gap:5px!important;display:grid!important}.speed-slider-control>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.speed-slider-control output{color:var(--coral);font-size:11px;font-weight:900}.speed-slider-control input[type=range]{width:190px;height:18px;accent-color:var(--coral);cursor:pointer;background:0 0;border:0;margin:0;padding:0}.teacher-viewer-player audio{width:100%;height:40px;accent-color:var(--coral)}.teacher-viewer-player>p{color:#748284;margin:5px 0;font-family:Georgia,serif;font-size:12px;font-style:italic}.student-shell{min-height:100vh}.student-topbar{z-index:25;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:260px 1fr 300px;align-items:center;height:72px;padding:0 28px;display:grid;position:sticky;top:0}.student-topbar>p{color:var(--muted);justify-self:center;font-family:Georgia,serif;font-size:13px;font-style:italic}.student-profile{justify-self:end;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.student-profile strong{background:var(--ink);color:#fff;text-transform:uppercase;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.student-profile button{color:#98685e;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:900}.student-workspace{grid-template-columns:285px 1fr;min-height:calc(100vh - 72px);display:grid}.assignment-sidebar{border-right:1px solid var(--line);background:#ffffff57;padding:39px 23px}.assignment-sidebar>div:first-child{grid-template-columns:1fr auto;align-items:end;padding:0 5px 19px;display:grid}.assignment-sidebar .eyebrow{grid-column:1/-1}.assignment-sidebar h2{margin:0;font-family:Georgia,serif;font-size:26px;font-weight:500}.assignment-count{color:#687678;background:#e6e1d6;border-radius:50%;place-items:center;min-width:25px;height:25px;font-size:12px;font-weight:900;display:grid}.sidebar-message{color:#7e8a8b;margin:15px 5px;font-family:Georgia,serif;font-size:13px;font-style:italic}.student-music-list{gap:8px;display:grid}.student-music-list button{width:100%;min-height:67px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:36px 1fr 14px;align-items:center;gap:10px;padding:10px;display:grid}.student-music-list button:hover,.student-music-list button.selected{background:#fff;border-color:#dfdacd;box-shadow:0 8px 22px #2330300f}.student-music-list button>span{background:var(--teal-tint);width:36px;height:36px;color:var(--teal);border-radius:8px;place-items:center;font-size:10px;font-weight:900;display:grid}.student-music-list button>div{gap:4px;min-width:0;display:grid}.student-music-list strong,.student-music-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-music-list strong{font-family:Georgia,serif;font-size:13px}.student-music-list small{color:#849091;font-size:10px}.student-music-list i{color:#929d9d;font-size:18px;font-style:normal}.student-empty{text-align:center;color:#7b898a;place-content:center;justify-items:center;min-height:260px;display:grid}.student-empty>span{background:var(--teal-tint);width:47px;height:47px;color:var(--teal);border-radius:50%;place-items:center;margin-bottom:11px;font-size:20px;display:grid}.student-empty strong{color:var(--ink);font-family:Georgia,serif;font-size:14px}.student-empty p{max-width:210px;margin:6px 0;font-size:11px;line-height:1.5}.student-practice-room{width:100%;max-width:1160px;margin:0 auto;padding:42px 52px}.student-piece-header{justify-content:space-between;align-items:start;gap:28px;margin-bottom:25px;display:flex}.student-piece-header h1{letter-spacing:-1.2px;margin:10px 0 9px;font-family:Georgia,serif;font-size:42px;font-weight:500}.student-piece-header>div:first-child>p{color:#6c7a7c;max-width:690px;margin:0;font-family:Georgia,serif;font-size:13px;font-style:italic;line-height:1.55}.student-assignment-actions{flex:none;justify-items:end;gap:9px;display:grid}.file-ready-tags{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.file-ready-tags span{background:var(--teal-tint);color:var(--teal);border-radius:20px;padding:7px 9px;font-size:10px;font-weight:900}.submit-recording-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:10px 13px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 7px 18px #d95f4538}.submit-recording-button span{font-size:10px}.submission-status{max-width:230px;color:var(--muted);text-align:right;font-size:10px;font-weight:800}.submission-status.reviewed{color:var(--success-text)}.submission-status.revision_requested{color:var(--danger-text-strong)}.student-recording-notice{background:var(--success-bg);color:var(--success-text);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:11px 14px;font-size:12px;font-weight:900;display:flex}.student-recording-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:17px}.student-score{background:#fff;border:1px solid #d8d4c9;border-radius:11px;overflow:hidden;box-shadow:0 15px 38px #23303014}.student-score>header{border-bottom:1px solid #e2ded4;justify-content:space-between;align-items:center;gap:15px;min-height:54px;padding:0 17px;display:flex}.student-score>header>div{align-items:center;gap:9px;min-width:0;display:flex}.student-score strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-part-picker{color:#748183;letter-spacing:.6px;text-transform:uppercase;align-items:center;gap:8px;min-width:0;font-size:9px;font-weight:900;display:flex}.student-part-picker select{min-width:150px;max-width:330px;color:var(--teal);text-transform:none;background:#faf9f5;border:1px solid #d8d4ca;border-radius:6px;padding:7px 8px;font-size:11px;font-weight:800}.student-score a{color:var(--teal);flex:none;font-size:10px;font-weight:900;text-decoration:none}.student-score iframe{background:#e8e6df;border:0;width:100%;height:560px;display:block}.student-audio-only{background:#fff;border:1px solid #d8d4c9;border-radius:11px;min-height:390px}.student-player{background:#fff;border:1px solid #d8d4c9;border-radius:11px;margin-top:14px;padding:17px;box-shadow:0 9px 24px #2330300d}.student-player>header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.student-player>header>div{align-items:center;gap:9px;min-width:0;display:flex}.student-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-player label{color:#738183;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:900;display:flex}.student-player select{background:#faf8f3;border:1px solid #d8d4ca;border-radius:6px;padding:6px 7px;font-size:11px}.student-player audio{width:100%;height:40px;accent-color:var(--coral)}.student-player>p{color:#748284;margin:8px 0;font-family:Georgia,serif;font-size:13px;font-style:italic}.student-player footer{color:#7d898a;border-top:1px solid #ebe7de;margin-top:12px;padding-top:11px;font-family:Georgia,serif;font-size:11px;font-style:italic}.student-player footer span{color:var(--coral);letter-spacing:1px;text-transform:uppercase;margin-right:7px;font-family:Arial,sans-serif;font-size:9px;font-style:normal;font-weight:900}.student-activity-note{align-items:flex-start;gap:8px;line-height:1.45;display:flex;color:#849091!important;margin:9px 0 0!important;font-family:inherit!important;font-size:11px!important;font-style:normal!important}.student-activity-note span{color:var(--teal);letter-spacing:.8px;text-transform:uppercase;flex:none;font-size:10px;font-weight:900}.student-feedback-card{background:#f4f8f6;border:1px solid #d3dfd9;border-radius:10px;margin-top:14px;padding:16px 18px}.student-feedback-card.revision_requested{background:#fff7f4;border-color:#e6c6bc}.student-feedback-card>span{color:var(--teal);letter-spacing:.8px;text-transform:uppercase;font-size:10px;font-weight:900}.student-feedback-card.revision_requested>span{color:var(--danger-text-strong)}.student-feedback-card p{color:#536467;margin:7px 0 0;font-family:Georgia,serif;font-size:13px;line-height:1.55}.student-shell.recorder-open .student-practice-room{padding-bottom:270px}.recording-dock{z-index:70;background:var(--paper);border:1px solid #d3cfc5;border-radius:15px;width:min(460px,100vw - 32px);max-height:calc(100vh - 96px);padding:18px;position:fixed;bottom:18px;right:18px;overflow-y:auto;box-shadow:0 18px 55px #1426293d}.recording-dock-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:13px;display:flex}.recording-dock-header .eyebrow{margin-bottom:4px}.recording-dock-header h2{max-width:370px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Georgia,serif;font-size:19px;font-weight:500;line-height:1.2;overflow:hidden}.recording-dock-close{color:#657375;cursor:pointer;background:#e8e3d9;border:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:20px;line-height:1;display:grid}.recording-dock-close:disabled{opacity:.5;cursor:default}.recorder-ready,.recorder-countdown,.recorder-live{background:#fff;border:1px solid #ddd8cd;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:15px;display:grid}.recorder-mic,.recording-ready-mark{background:var(--coral-tint);width:42px;height:42px;color:var(--coral);border-radius:50%;place-items:center;font-size:14px;display:grid}.recorder-ready strong,.recorder-preview strong,.recorder-live strong{font-family:Georgia,serif;font-size:16px;font-weight:500;display:block}.recorder-ready p,.recorder-countdown p,.recorder-preview p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.4}.recorder-ready .primary-button{min-width:112px;padding:10px 12px}.recorder-countdown{grid-template-columns:58px 1fr}.recorder-countdown span{color:var(--coral);text-align:center;font-family:Georgia,serif;font-size:54px;line-height:1}.recorder-countdown strong{color:var(--ink);font-family:Georgia,serif;font-size:17px;font-weight:500}.recording-pulse{background:var(--coral);border:10px solid #f7d8d0;border-radius:50%;width:42px;height:42px;animation:1.4s ease-in-out infinite recordingPulse}.recorder-live strong{margin-bottom:3px}.recorder-live time{color:var(--coral);font-size:15px;font-weight:900;display:block}.recorder-live button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:8px;min-width:112px;padding:10px 12px;font-size:11px;font-weight:900}.recorder-preview{background:#fff;border:1px solid #ddd8cd;border-radius:11px;gap:11px;padding:15px;display:grid}.recorder-preview-heading{grid-template-columns:42px 1fr;align-items:center;gap:12px;display:grid}.recording-ready-mark{background:var(--success-bg);color:var(--success-text);font-size:20px}.recorder-preview audio{width:100%;height:40px;accent-color:var(--coral)}.recorder-preview-actions{justify-content:flex-end;gap:8px;display:flex}.recorder-preview-actions>button{min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d6d1c5;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:900}.recorder-preview-actions>.primary-button{border-color:var(--coral);background:var(--coral);color:#fff}.recording-dock .form-error{margin:10px 0 0}.no-assignment-room{text-align:center;place-content:center;justify-items:center;min-height:calc(100vh - 155px);display:grid}.no-assignment-room h1{margin:14px 0 9px;font-family:Georgia,serif;font-size:31px;font-weight:500}.no-assignment-room p{max-width:520px;color:var(--muted);margin:0;font-family:Georgia,serif;font-size:13px;line-height:1.6}@media (max-width:1050px){.welcome-story{padding:36px}.teacher-topbar{grid-template-columns:200px 1fr 220px;padding:0 20px}.teacher-topbar nav{gap:15px}.teacher-profile>span{display:none}.teacher-stats{grid-template-columns:repeat(2,1fr)}.student-practice-room{padding:36px 30px}}@media (max-width:780px){.welcome-shell{display:block}.welcome-story{min-height:43vh;padding:26px}.welcome-copy{padding:58px 0 35px}.welcome-copy h1{font-size:45px}.welcome-copy>p:last-child{font-size:14px}.student-entry{min-height:57vh;padding:34px 20px}.entry-card{padding:35px 24px 30px}.teacher-profile>span{display:none}.teacher-topbar{grid-template-rows:64px 44px;grid-template-columns:1fr auto;height:auto;min-height:108px;padding:0 16px}.teacher-topbar .brand,.teacher-profile{grid-row:1}.teacher-topbar nav{scrollbar-width:none;grid-area:2/1/auto/-1;justify-self:stretch;gap:22px;display:flex;overflow-x:auto}.teacher-topbar nav::-webkit-scrollbar{display:none}.teacher-topbar nav a{min-width:max-content}.teacher-profile{gap:5px}.teacher-stats{grid-template-columns:1fr}.teacher-panel>header{align-items:flex-start;gap:14px}.panel-actions{flex-wrap:wrap;justify-content:flex-end}.instrument-filter{max-width:135px}.music-grid{grid-template-columns:1fr}.music-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-student-list,.recording-submission-list{grid-template-columns:1fr}.assignment-table{overflow-x:auto}.table-heading,.assignment-row{min-width:650px}.student-topbar{grid-template-columns:1fr auto;padding:0 17px}.student-topbar>p,.student-profile>span{display:none}.student-workspace{display:block}.assignment-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:22px 17px}.student-music-list{display:flex;overflow-x:auto}.student-music-list button{min-width:220px}.student-empty{min-height:150px}.student-practice-room{padding:28px 18px}.student-shell.recorder-open .student-practice-room{padding-bottom:280px}.recording-dock{width:auto;max-height:48vh;bottom:10px;left:10px;right:10px}.student-piece-header{flex-direction:column}.student-assignment-actions{justify-items:start}.file-ready-tags{justify-content:flex-start}.submission-status{text-align:left}.student-score iframe{height:460px}}@media (max-width:520px){.welcome-copy h1{letter-spacing:-1.5px;font-size:39px}.entry-card h2{font-size:27px}.teacher-workspace{width:calc(100% - 24px)}.teacher-welcome h1{font-size:33px}.teacher-panel{padding:16px}.teacher-page-panel{margin-top:22px}.list-row,.student-roster-row{grid-template-columns:35px 1fr auto 23px}.student-roster-row .roster-instrument{grid-area:2/2/auto/-1}.student-roster-row .text-button{grid-area:1/3}.student-roster-row .icon-button{grid-area:1/4}.teacher-panel#music>header{flex-direction:column}.panel-actions{justify-content:flex-start;width:100%}.instrument-filter{flex:1;max-width:none}.music-card,.piece-card{grid-template-columns:40px 1fr auto}.music-card>span{display:none}.music-card-actions{grid-area:1/3}.music-card .danger{display:none}.music-folder-grid{grid-template-columns:1fr}.teacher-viewer-player>header,.student-player>header{flex-direction:column;align-items:flex-start}.speed-slider-control,.speed-slider-control input[type=range]{width:100%}.member-picker,.upload-fields,.bulk-pickers{grid-template-columns:1fr}.bulk-part-row{grid-template-columns:31px 1fr 22px;align-items:center}.bulk-part-row .bulk-part-name,.bulk-part-row label{grid-column:2}.bulk-part-row>button{grid-area:1/3/3}.dashboard-dialog{padding:27px 20px 20px}.roster-preview>header,.roster-preview-row{grid-template-columns:1fr 125px}.roster-code-heading,.roster-code-row{min-width:560px}.roster-code-list{overflow-x:auto}.roster-result-actions{flex-direction:column;align-items:stretch}.student-profile button{display:none}.student-piece-header h1{font-size:34px}.student-score iframe{height:390px}.student-player>header{flex-direction:column;align-items:flex-start}.teacher-score-preview iframe{height:55vh}.part-preview-toolbar{flex-direction:column;align-items:stretch!important;padding:10px 12px!important}.part-preview-toolbar select{width:100%;max-width:none}.part-preview-toolbar a{margin-left:0!important}.teacher-viewer-player>header{flex-direction:column;align-items:flex-start}.activity-summary-grid{grid-template-columns:repeat(2,1fr)}.activity-history-heading{flex-direction:column;align-items:flex-start;gap:5px}.activity-student-list i{display:none}.recording-submission-list>button{grid-template-columns:38px minmax(0,1fr) auto}.recording-submission-list i{display:none}.recording-history-list>button{grid-template-columns:38px minmax(0,1fr) auto}.recording-history-list time{grid-column:2}.recording-review-actions,.recorder-preview-actions{flex-direction:column;align-items:stretch;width:100%}.recording-dock{border-bottom:0;border-left:0;border-right:0;border-radius:15px 15px 0 0;width:100%;max-height:55vh;padding:15px;bottom:0;left:0;right:0}.recording-dock-header{margin-bottom:10px}.recorder-ready,.recorder-live{grid-template-columns:auto 1fr}.recorder-ready .primary-button,.recorder-live button{grid-column:1/-1;width:100%}.student-score>header{flex-direction:column;align-items:flex-start;padding-top:10px;padding-bottom:10px}.student-part-picker{flex-direction:column;align-items:flex-start}.student-part-picker select{width:100%;min-width:0;max-width:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
