.metronome-screen{background:#fdfdfe}.metronome-page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.metronome-page-header h1{margin:0 0 8px;font-size:clamp(1.9rem,3.4vw,2.4rem);font-weight:650;line-height:1.05}.metronome-page-header p,.metronome-pattern-panel>header p{color:#6f6b7e;margin:0}.metronome-playing-status{color:#716e7e;align-items:center;gap:8px;font-size:.82rem;font-weight:750;display:flex}.metronome-playing-status>span{background:#aaa7b3;border-radius:50%;width:9px;height:9px}.metronome-playing-status.is-playing{color:#245d83}.metronome-playing-status.is-playing>span{background:#5a9ccc;animation:.9s ease-in-out infinite alternate metronome-status-pulse;box-shadow:0 0 0 5px #edf4f8}.metronome-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.metronome-presets,.metronome-transport,.metronome-pattern-panel,.metronome-mixer{background:#fff;border:1px solid #e3e2ea;border-radius:13px}.metronome-presets{gap:16px;padding:18px;display:grid;position:sticky;top:86px}.metronome-presets h2,.metronome-pattern-panel h2,.metronome-mixer h2{margin:3px 0 0;font-size:1rem}.metronome-template-library,.metronome-builtin-library{gap:12px;min-width:0;display:grid}.metronome-builtin-library{border-top:1px solid #ecebf0;padding-top:16px}.metronome-template-library>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.metronome-template-add{color:#245d83;background:#edf4f8;border:1px solid #c8deec;min-height:32px;padding:5px 8px;font-size:.72rem;font-weight:800}.metronome-template-add:hover{background:#dcecf6}.metronome-template-state,.metronome-template-load-error p,.metronome-template-action-error{color:#777487;margin:0;font-size:.76rem;line-height:1.4}.metronome-template-load-error{background:#fff6f4;border:1px solid #efd8d3;border-radius:8px;gap:7px;padding:9px;display:grid}.metronome-template-load-error p,.metronome-template-action-error{color:#8a3434}.metronome-template-load-error button{color:#8a3434;background:0 0;justify-self:start;min-height:28px;padding:3px 0;font-size:.74rem}.metronome-template-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;display:grid}.metronome-template-item{background:#fff;border:1px solid #e2e1e9;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden}.metronome-template-item:hover,.metronome-template-item.active{background:#edf4f8;border-color:#c8deec}.metronome-template-select{color:#302e3d;text-align:left;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);justify-content:start;min-width:0;padding:10px 6px 10px 10px;display:grid}.metronome-template-select:hover{background:0 0}.metronome-template-item.active .metronome-template-select{color:#245d83}.metronome-template-select>span{min-width:0;display:grid}.metronome-template-select strong,.metronome-template-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metronome-template-select strong{font-size:.8rem}.metronome-template-select small{color:#777487;font-size:.66rem}.metronome-template-actions{align-content:center;gap:3px;padding:4px 5px 4px 0;display:grid}.metronome-template-actions button{color:#777487;background:0 0;min-height:28px;padding:4px 5px}.metronome-template-actions button:hover{color:#245d83;background:#ddeaf3}.metronome-template-actions button:last-child:hover{color:#a14343;background:#fae8e6}.metronome-save-template{background:#302e3d;width:100%;font-size:.78rem}.metronome-template-form{background:#f8f8fa;border:1px solid #e2e1e9;border-radius:9px;gap:9px;padding:10px;display:grid}.metronome-template-form label{color:#5f5b6d;gap:5px;font-size:.72rem;font-weight:750;display:grid}.metronome-template-form input{min-height:36px;padding:7px 9px;font-size:.8rem}.metronome-template-form>div{justify-content:flex-end;gap:6px;display:flex}.metronome-template-form button{min-height:31px;padding:5px 8px;font-size:.72rem}.metronome-template-form button:first-child{color:#4b4858;background:#ebebf0}.metronome-preset-list{gap:8px;display:grid}.metronome-preset{color:#302e3d;text-align:left;background:#fff;border:1px solid #e2e1e9;grid-template-columns:auto minmax(0,1fr);justify-content:start;padding:11px 12px;display:grid}.metronome-preset:hover,.metronome-preset.active{color:#245d83;background:#edf4f8;border-color:#c8deec}.metronome-preset>span{gap:1px;display:grid}.metronome-preset small{color:#777487;font-size:.72rem}.metronome-workspace{gap:18px;min-width:0;display:grid}.metronome-transport{flex-wrap:wrap;align-items:stretch;gap:10px;padding:12px;display:flex}.metronome-transport-buttons{gap:8px;display:flex}.metronome-play,.metronome-stop,.metronome-icon-button,.metronome-reset,.metronome-preview,.metronome-remove-track{min-height:42px}.metronome-play,.metronome-stop{min-width:52px}.metronome-stop,.metronome-icon-button,.metronome-reset,.metronome-preview,.metronome-remove-track,.metronome-track-actions button,.metronome-add-track{color:#343141;background:#f5f5f8;border:1px solid #e4e3ea}.metronome-stop:hover,.metronome-icon-button:hover,.metronome-reset:hover,.metronome-preview:hover,.metronome-remove-track:hover,.metronome-track-actions button:hover,.metronome-add-track:hover{background:#eaeaf0}.metronome-setting{color:#6e6a7c;border:1px solid #e4e3ea;border-radius:9px;gap:3px;min-width:112px;padding:6px 10px;font-size:.72rem;display:grid}.metronome-setting select,.metronome-setting input{border:0;min-height:24px;padding:0;font-size:.95rem;font-weight:750}.metronome-setting select:focus-visible,.metronome-setting input:focus-visible{outline-offset:1px}.metronome-tempo-setting{min-width:164px}.metronome-tempo-setting>div{grid-template-columns:30px minmax(48px,1fr) 30px;align-items:center;display:grid}.metronome-tempo-setting input{text-align:center}.metronome-icon-button{border:0;min-height:28px;padding:3px}.metronome-volume-setting{border:1px solid #e4e3ea;border-radius:9px;flex:160px;align-items:center;gap:9px;min-width:140px;padding:8px 12px;display:flex}.metronome-screen input[type=range]{accent-color:#5a9ccc;background:0 0;border:0;min-height:24px;padding:0}.metronome-reset{margin-left:auto}.metronome-error,.metronome-inline-status{border-radius:8px;margin:0;padding:10px 12px;font-size:.84rem}.metronome-error{color:#8a3434;background:#fff0ef;border:1px solid #efcfcb}.metronome-inline-status{color:#245d83;background:#f0f7fc;border:1px solid #d4e5f0}.metronome-pattern-panel{min-width:0;padding:18px}.metronome-pattern-panel>header,.metronome-mixer>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.metronome-pattern-panel>header p{text-align:right;font-size:.78rem}.metronome-grid-scroll{max-width:100%;padding:3px 3px 10px;overflow-x:auto}.metronome-sequence-grid,.metronome-track-row{grid-template-columns:minmax(150px, 180px) repeat(var(--metronome-step-count), minmax(42px, 1fr));min-width:var(--metronome-grid-min-width);width:100%;display:grid}.metronome-track-row{display:contents}.metronome-grid-corner,.metronome-track-label{z-index:3;background:#fff;border-right:1px solid #e8e7ed;position:sticky;left:0}.metronome-grid-corner{color:#777487;align-items:end;min-height:50px;padding:0 12px 6px 4px;font-size:.72rem;font-weight:750;display:flex}.metronome-step-heading{color:#8a8795;place-items:center;min-height:50px;padding:4px 0;font-size:.68rem;display:grid}.metronome-step-heading strong{color:#393646;font-size:.76rem}.metronome-step-heading.beat-start,.metronome-step.beat-start{border-left:1px solid #dedde5}.metronome-step-heading.bar-start,.metronome-step.bar-start{border-left:2px solid #a8bdcc}.metronome-step-heading.current{color:#245d83;background:#f0f7fc}.metronome-track-label{border-bottom:1px solid #f0eff3;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:5px 12px 5px 4px;display:grid}.metronome-track-label>span{display:grid}.metronome-track-label strong{font-size:.84rem}.metronome-track-label small{color:#807d8c;font-size:.68rem}.metronome-step{background:#f5f5f8;border:4px solid #fff;border-radius:9px;min-height:48px;padding:0;position:relative}.metronome-step.beat-start{border-left-color:#dedde5}.metronome-step.bar-start{border-left-color:#8fabbf}.metronome-step:hover{background:#e9eef2}.metronome-step>span{border-radius:5px;width:22px;height:22px}.metronome-step.state-normal>span{background:#72a9d0}.metronome-step.state-accent>span{background:#3f7fae;border:4px solid #d9eaf5;box-shadow:0 0 0 2px #3f7fae}.metronome-step.current{background:#dcecf6;box-shadow:inset 0 -3px #5a9ccc}.metronome-step-legend{color:#777487;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:.72rem;display:flex}.metronome-step-legend span{align-items:center;gap:5px;display:inline-flex}.metronome-step-legend i{background:#f0f0f4;border-radius:3px;width:12px;height:12px;display:inline-block}.metronome-step-legend .state-normal{background:#72a9d0}.metronome-step-legend .state-accent{background:#3f7fae;border:2px solid #d9eaf5;box-shadow:0 0 0 1px #3f7fae}.metronome-mixer{padding:18px}.metronome-add-track{font-size:.82rem}.metronome-track-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.metronome-track-control{border:1px solid #e9e8ee;border-radius:10px;gap:10px;padding:12px;display:grid}.metronome-track-control-title{justify-content:space-between;align-items:center;display:flex}.metronome-preview{min-height:32px;padding:5px 7px}.metronome-track-control label{color:#6d697a;gap:4px;font-size:.72rem;display:grid}.metronome-track-control select{min-height:36px;padding-block:6px;font-size:.82rem}.metronome-track-actions{gap:6px;display:flex}.metronome-track-actions button{flex:1;min-height:34px;padding:5px 7px;font-size:.74rem}.metronome-track-actions button.active{color:#245d83;background:#edf4f8;border-color:#bfd9e9}.metronome-track-actions .metronome-remove-track{color:#a14343;flex:none}.metronome-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes metronome-status-pulse{to{opacity:.35;transform:scale(.8)}}@media (width<=1180px){.metronome-layout{grid-template-columns:1fr}.metronome-presets{position:static}.metronome-preset-list{padding-bottom:4px;display:flex;overflow-x:auto}.metronome-preset{flex:0 0 210px}}@media (width<=720px){.metronome-page-header{flex-direction:column;align-items:flex-start}.metronome-transport>*{flex:132px}.metronome-transport-buttons{flex:none}.metronome-volume-setting{flex-basis:100%}.metronome-reset{margin-left:0}.metronome-reset span{display:none}.metronome-pattern-panel>header,.metronome-mixer>header{flex-direction:column;align-items:flex-start}.metronome-pattern-panel>header p{text-align:left}}@media (prefers-reduced-motion:reduce){.metronome-playing-status.is-playing>span{animation:none}}.pilot-feedback-launcher,.pilot-feedback-widget,.pilot-feedback-inbox{--pilot-ink:#252331;--pilot-muted:#6a6677;--pilot-line:#dedce7;--pilot-soft:#f7f6fa;--pilot-accent:#477a9f;--pilot-accent-dark:#315f80;color:var(--pilot-ink);font-family:Rio Avenir,Avenir Regular,Avenir,Helvetica,Arial,sans-serif}.pilot-feedback-launcher{background:var(--pilot-ink);bottom:max(18px, env(safe-area-inset-bottom));color:#fff;min-height:48px;right:max(18px, env(safe-area-inset-right));z-index:900;border:1px solid #ffffff2e;border-radius:999px;padding:10px 16px;font-weight:750;position:fixed;box-shadow:0 12px 32px #1c192940}.pilot-feedback-launcher:hover{background:#14131d;transform:translateY(-1px)}:is(.app-shell:has(.pilot-feedback-launcher) .floating-add,.app-shell:has(.pilot-feedback-widget) .floating-add){bottom:max(82px, calc(env(safe-area-inset-bottom) + 82px))}.pilot-feedback-count{border:2px solid var(--pilot-ink);background:#d04d66;border-radius:999px;justify-content:center;align-items:center;min-width:23px;height:23px;padding:0 5px;font-size:.68rem;font-weight:850;display:inline-flex;position:absolute;top:-7px;right:-5px}.pilot-feedback-widget{border:1px solid var(--pilot-line);bottom:max(18px, env(safe-area-inset-bottom));max-height:min(680px,100dvh - 36px);right:max(18px, env(safe-area-inset-right));z-index:900;background:#fff;border-radius:16px;grid-template-rows:auto minmax(120px,1fr) auto;width:min(390px,100vw - 36px);display:grid;position:fixed;overflow:hidden;box-shadow:0 22px 60px #1d1b2a3d}.pilot-feedback-widget-header{background:var(--pilot-ink);color:#fff;justify-content:space-between;align-items:center;min-height:54px;padding:9px 10px 9px 17px;display:flex}.pilot-feedback-widget-header>div{align-items:center;gap:9px;display:flex}.pilot-feedback-widget-header button{color:#fff;background:0 0;border-radius:9px;min-width:36px;min-height:36px;padding:7px}.pilot-feedback-widget-header button:hover{background:#ffffff1f}.pilot-feedback-thread{background:var(--pilot-soft);overscroll-behavior:contain;padding:16px;overflow-y:auto}.pilot-feedback-intro{border:1px solid var(--pilot-line);color:#4f4b5d;background:#fff;border-radius:12px;margin:0 24px 16px 0;padding:12px 14px;font-size:.91rem;line-height:1.5}.pilot-feedback-messages{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.pilot-feedback-message{border:1px solid var(--pilot-line);background:#fff;border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:88%;padding:9px 11px}.pilot-feedback-message.is-teacher{background:#eaf2f8;border-color:#c9dce9;border-radius:12px 12px 4px;align-self:flex-end}.pilot-feedback-message.is-system{color:var(--pilot-muted);text-align:center;background:0 0;border:0;align-self:center;padding:2px 8px;font-size:.82rem}.pilot-feedback-message-meta{color:var(--pilot-muted);justify-content:space-between;align-items:baseline;gap:9px;margin-bottom:3px;font-size:.68rem;display:flex}.pilot-feedback-message-meta strong{color:#4d4960;font-size:.72rem}.pilot-feedback-message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.45}.pilot-feedback-message.is-system .pilot-feedback-message-meta{display:none}.pilot-feedback-source{color:var(--pilot-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:7px;display:block;overflow:hidden}.pilot-feedback-loading{color:var(--pilot-muted);justify-content:center;align-items:center;gap:8px;margin:22px 0;font-size:.9rem;display:flex}.pilot-feedback-composer{border-top:1px solid var(--pilot-line);gap:7px;padding:13px;display:grid}.pilot-feedback-composer>label,.pilot-feedback-staff-composer>label{color:#4e4a5c;font-size:.79rem;font-weight:800}.pilot-feedback-composer textarea,.pilot-feedback-staff-composer textarea{resize:vertical;border-color:#cbc9d5;min-height:84px;line-height:1.42}.pilot-feedback-composer-footer,.pilot-feedback-staff-composer>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.pilot-feedback-composer-footer small,.pilot-feedback-staff-composer small{color:var(--pilot-muted);font-size:.67rem;line-height:1.3}.pilot-feedback-composer button,.pilot-feedback-staff-composer button,.pilot-feedback-notifications button{background:var(--pilot-ink);flex:none;font-weight:750}.pilot-feedback-error{color:#a52f48;margin:0;font-size:.78rem}.pilot-feedback-sent-status{color:#357356;align-items:center;gap:5px;font-size:.77rem;display:flex}.pilot-feedback-inbox{background:#f8f8fb;min-height:100dvh;padding:clamp(18px,3vw,44px)}.pilot-feedback-inbox-centered{text-align:center;align-content:center;place-items:center;display:grid}.pilot-feedback-inbox-centered h1{margin:12px 0 5px;font-size:clamp(1.5rem,3vw,2rem)}.pilot-feedback-inbox-centered p{color:var(--pilot-muted);margin:0 0 18px}.pilot-feedback-primary-link{background:var(--pilot-ink);color:#fff;border-radius:8px;min-height:42px;padding:10px 16px}.pilot-feedback-inbox-header{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1380px;margin:0 auto 22px;display:flex}.pilot-feedback-eyebrow{color:var(--pilot-accent);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:850;display:block}.pilot-feedback-inbox-header h1{letter-spacing:-.025em;margin:3px 0 5px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1}.pilot-feedback-inbox-header p{color:var(--pilot-muted);margin:0}.pilot-feedback-notifications{flex-direction:column;align-items:flex-end;gap:6px;max-width:440px;display:flex}.pilot-feedback-notifications small{color:var(--pilot-muted);text-align:right}.pilot-feedback-notifications small.is-error,.pilot-feedback-inbox-error{color:#9a2e45}.pilot-feedback-push-success{color:#317153;align-items:center;gap:6px;font-size:.9rem;font-weight:750;display:inline-flex}.pilot-feedback-inbox-error{background:#fff1f3;border:1px solid #edc6cf;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;max-width:1380px;margin:0 auto 12px;padding:9px 12px;display:flex}.pilot-feedback-inbox-error button{color:#8e2840;background:0 0;padding:5px 8px}.pilot-feedback-inbox-layout{border:1px solid var(--pilot-line);background:#fff;border-radius:14px;grid-template-columns:minmax(260px,340px) minmax(0,1fr);max-width:1380px;min-height:min(720px,100dvh - 180px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 12px 35px #24223112}.pilot-feedback-conversation-list{border-right:1px solid var(--pilot-line);min-height:500px;max-height:calc(100dvh - 180px);overflow-y:auto}.pilot-feedback-conversation-list-heading{border-bottom:1px solid var(--pilot-line);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:17px;display:flex;position:sticky;top:0}.pilot-feedback-conversation-list-heading span{color:var(--pilot-muted);text-align:center;background:#ecebf1;border-radius:999px;min-width:24px;padding:3px 7px;font-size:.75rem}.pilot-feedback-conversation-card{color:var(--pilot-ink);text-align:left;background:#fff;border-bottom:1px solid #eceaf1;border-radius:0;flex-direction:column;align-items:stretch;gap:5px;width:100%;min-height:102px;padding:13px 16px;display:flex}.pilot-feedback-conversation-card:hover{background:#f8f8fb}.pilot-feedback-conversation-card[aria-current=true]{box-shadow:inset 3px 0 var(--pilot-accent);background:#edf4f8}.pilot-feedback-card-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.pilot-feedback-card-statuses{align-items:center;gap:5px;display:inline-flex}.pilot-feedback-inbox-count{color:#fff;background:#a72d48;border-radius:999px;justify-content:center;align-items:center;min-width:21px;min-height:21px;padding:2px 6px;font-size:.67rem;font-weight:850;display:inline-flex}.pilot-feedback-status{white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:800;display:inline-flex}.pilot-feedback-status.is-new{color:#a32d47;background:#fbe7ec}.pilot-feedback-status.is-read{color:#5e5a69;background:#ecebf1}.pilot-feedback-status.is-responded{color:#28704e;background:#e3f2e9}.pilot-feedback-status.is-closed{color:#4d5d6b;background:#e8edf2}.pilot-feedback-preview{color:#565260;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;display:block;overflow:hidden}.pilot-feedback-conversation-card>small{color:#7a7685;font-size:.7rem}.pilot-feedback-staff-thread{grid-template-rows:auto minmax(220px,1fr) auto;min-width:0;display:grid}.pilot-feedback-staff-thread-header{border-bottom:1px solid var(--pilot-line);justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:12px 20px;display:flex}.pilot-feedback-staff-thread-header h2{margin:0 0 2px;font-size:1.18rem}.pilot-feedback-staff-thread-header a,.pilot-feedback-staff-thread-header small{color:var(--pilot-muted);text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,560px);font-size:.75rem;display:block;overflow:hidden}.pilot-feedback-staff-thread-header label{color:var(--pilot-muted);flex:0 0 150px;gap:3px;font-size:.71rem;font-weight:800;display:grid}.pilot-feedback-staff-thread-header select{min-height:36px;padding:6px 9px}.pilot-feedback-staff-history{background:var(--pilot-soft);min-height:280px;max-height:calc(100dvh - 390px);padding:22px;overflow-y:auto}.pilot-feedback-staff-history .pilot-feedback-message{max-width:min(76%,680px)}.pilot-feedback-staff-history .pilot-feedback-message.is-staff{background:#eaf2f8;border-color:#c9dce9;border-radius:12px 12px 4px;align-self:flex-end}.pilot-feedback-staff-history .pilot-feedback-message.is-teacher{border-color:var(--pilot-line);background:#fff;border-radius:12px 12px 12px 4px;align-self:flex-start}.pilot-feedback-staff-composer{border-top:1px solid var(--pilot-line);gap:7px;padding:14px 18px;display:grid}.pilot-feedback-empty{color:var(--pilot-muted);text-align:center;flex-direction:column;justify-content:center;place-self:center;align-items:center;gap:5px;padding:24px;display:flex}.pilot-feedback-empty p{margin:0}@media (width<=800px){.pilot-feedback-inbox{padding:16px}.pilot-feedback-inbox-header{flex-direction:column;align-items:stretch}.pilot-feedback-notifications{align-items:flex-start}.pilot-feedback-notifications small{text-align:left}.pilot-feedback-inbox-layout{display:block}.pilot-feedback-conversation-list{border-bottom:1px solid var(--pilot-line);border-right:0;min-height:0;display:flex;overflow:auto hidden}.pilot-feedback-conversation-list-heading{flex:0 0 100px;align-items:flex-start;position:static}.pilot-feedback-conversation-card{border-bottom:0;border-right:1px solid #eceaf1;flex:0 0 230px}.pilot-feedback-conversation-card[aria-current=true]{box-shadow:inset 0 -3px var(--pilot-accent)}.pilot-feedback-staff-thread-header{flex-direction:column;align-items:stretch;gap:10px}.pilot-feedback-staff-thread-header label{flex-basis:auto}.pilot-feedback-staff-history{max-height:48dvh}}@media (width<=520px){.pilot-feedback-launcher{bottom:max(12px, env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right))}.pilot-feedback-widget{border-radius:14px 14px 0 0;width:100vw;max-height:calc(100dvh - 8px);bottom:0;left:0;right:0}:is(.app-shell:has(.pilot-feedback-launcher) .floating-add,.app-shell:has(.pilot-feedback-widget) .floating-add){bottom:max(76px, calc(env(safe-area-inset-bottom) + 76px))}.pilot-feedback-thread{padding:13px}.pilot-feedback-composer-footer,.pilot-feedback-staff-composer>div{align-items:flex-end}.pilot-feedback-staff-history .pilot-feedback-message{max-width:91%}}@media (prefers-reduced-motion:reduce){.pilot-feedback-launcher:hover{transform:none}}@font-face{font-display:swap;font-family:Rio Avenir;font-style:normal;font-weight:400;src:local(Avenir Roman),local(Avenir-Roman),local(Avenir Regular),local(Avenir)}:root{color:#22202b;background:#fff;font-family:Rio Avenir,Avenir Regular,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body{min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;text-decoration:none;display:inline-flex}button{color:#fff;background:#242231}button:hover{background:#0f0e17}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #6da7cf}button:disabled{cursor:not-allowed;opacity:.55}a{color:#242231;background:0 0;padding:0}input,select,textarea{color:#242231;background:#fff;border:1px solid #d9d8e2;border-radius:7px;width:100%;min-height:40px;padding:9px 11px}textarea{resize:vertical;min-height:104px}.form-field{color:#5e5a70;gap:6px;font-size:.82rem;font-weight:700;display:grid}.lesson-fields{grid-template-columns:minmax(0,1.1fr) minmax(118px,.9fr);gap:8px;display:grid}.app-shell{min-height:100vh}.screen{width:100%;max-width:none;min-height:calc(100vh - 62px);margin:0 auto;padding:28px clamp(18px,3vw,64px) 80px}.detail-screen{max-width:none}.student-detail-shell{grid-template-columns:280px minmax(0,1fr);padding:0;display:grid}.login-screen{justify-content:center;align-items:center;display:flex}.login-panel{grid-template-columns:minmax(240px,.82fr) minmax(280px,400px);gap:26px;width:100%;max-width:820px;display:grid}.login-panel h1{letter-spacing:0;margin:4px 0 14px;font-size:clamp(1.75rem,4vw,2.65rem);font-weight:650;line-height:1.06}.login-intro p{color:#666273;max-width:440px;margin:0;font-size:1.04rem;line-height:1.58}.eyebrow{color:#477a9f;letter-spacing:.09em;text-transform:uppercase;font-size:.76rem;font-weight:850;display:block}.login-form{border:1px solid #e0dfeb;border-radius:8px;gap:16px;padding:22px;display:grid}.auth-form{gap:16px;display:grid}.auth-submit{justify-self:end;width:max-content}.login-form label{color:#4d4a5e;gap:7px;font-size:.95rem;font-weight:700;display:grid}.auth-links{flex-wrap:wrap;gap:8px 14px;display:flex}.login-auth-links{flex-wrap:nowrap;justify-content:space-between;gap:4px;width:100%}.login-auth-links .text-button{white-space:nowrap;flex:none}.auth-screen{justify-content:center;align-items:center;min-height:100dvh;display:flex}.auth-layout{grid-template-columns:minmax(260px,1fr) minmax(340px,420px);align-items:center;gap:clamp(34px,6vw,82px);width:100%;max-width:940px;margin:0 auto;display:grid}.auth-intro{max-width:450px}.auth-intro p.auth-intro-title{color:#22202b;letter-spacing:-.025em;margin:6px 0 16px;font-size:clamp(1.8rem,4vw,2.75rem);font-weight:650;line-height:1.06}.auth-intro p{color:#666273;margin:0;font-size:1.04rem;line-height:1.58}.auth-card{border:1px solid #e0dfeb;border-radius:12px;gap:20px;width:100%;padding:24px;display:grid}.auth-card-header{gap:8px;display:grid}.auth-card-header h1{letter-spacing:-.015em;margin:0;font-size:clamp(1.65rem,3vw,2.05rem);font-weight:650;line-height:1.12}.auth-card-header p{color:#666273;margin:0}.auth-card .role-selector{width:100%}.auth-card .auth-form{gap:16px}.auth-field{gap:7px;display:grid}.auth-field>label{color:#4d4a5e;font-size:.95rem;font-weight:700}.auth-field input[aria-invalid=true]{border-color:#ad3f3f}.auth-field-error{color:#923535;font-size:.82rem;line-height:1.35}.password-input{position:relative}.password-input input{padding-right:48px}.password-visibility{color:#555164;background:0 0;min-height:34px;padding:6px 9px;position:absolute;top:3px;right:3px}.password-visibility:hover{color:#242231;background:#f1f2f6}.auth-form-message{border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem;line-height:1.4}.auth-form-message.is-error{color:#7c2f2f;background:#fff0f0;border:1px solid #ebc5c5}.auth-form-message.is-success{color:#285f3d;background:#edf8f1;border:1px solid #bcdcc8}.auth-help{color:#777487;margin:-5px 0 0;font-size:.82rem}.auth-card .auth-submit{justify-self:stretch;width:100%}.auth-card .auth-links{width:100%;min-height:22px}.auth-card .login-auth-links{justify-content:space-between;align-items:center}.auth-inline-action{justify-self:start}.auth-state{align-items:stretch;gap:16px;display:grid}.auth-state>p{color:#555164;margin:0;line-height:1.55}.auth-state-icon{color:#477a9f}.auth-state .text-button{justify-self:start}.auth-invitation-email{color:#555164;overflow-wrap:anywhere;background:#f4f6f8;border:1px solid #e0e3e8;border-radius:8px;margin:0;padding:10px 12px}.onboarding-panel{width:min(100%,620px);max-width:620px}.onboarding-panel header{justify-content:space-between;align-items:flex-start;display:flex}.onboarding-panel h1{margin:0;font-size:clamp(2rem,4vw,2.7rem);line-height:1.05}.home-header,.detail-header{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:46px;display:flex}.detail-header{margin-bottom:28px}.home-header h1,.student-title h1{letter-spacing:0;margin:0;font-size:clamp(1.75rem,3.4vw,2.35rem);font-weight:650;line-height:1.05}.teacher-greeting{color:#2b2936;text-align:right;flex-direction:column;align-items:flex-end;gap:6px;font-size:.98rem;display:flex}.teacher-greeting strong{color:#706d7e;font-size:1.12rem;font-weight:520}.teacher-greeting a,.text-button{color:#242231;background:0 0;min-height:auto;padding:0;font-size:.95rem}.text-button:hover,.teacher-greeting a:hover,.back-button:hover{color:#5a86a9;background:0 0}.inline-status{color:#5a4513;background:#fff7dc;border:1px solid #f0d789;border-radius:8px;max-width:1100px;margin:14px auto;padding:10px 12px}.notice{color:#5a4513;max-width:1100px;left:50%;top:max(16px, env(safe-area-inset-top));z-index:50;background:#fff7dc;border:1px solid #f0d789;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:min(1100px,100vw - 32px);margin:0;padding:10px 12px;transition:opacity .4s,transform .4s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 38px #2f260d29}.notice.is-leaving{opacity:0;pointer-events:none;transform:translate(-50%,-6px)}.notice span{overflow-wrap:anywhere;min-width:0}.notice .ghost-icon{flex:none}.student-rows{gap:24px;width:100%;max-width:none;display:grid}.student-order-selector{color:#5e5a70;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.student-order-selector select{width:auto;min-width:150px}.student-row-item{border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:14px;padding:12px 14px;transition:background-color .14s,border-color .14s,opacity .14s;display:grid}.student-row-item.is-rescheduled{background:#fff9df;border-color:#efd889}.student-row-item.is-dragging{opacity:.48}.student-row-item.is-drop-target{border-color:#8bbad8}.student-row-item:has(.student-reorder-handle){grid-template-columns:auto minmax(0,1fr) auto}.student-reorder-handle{color:#777487;cursor:grab;background:0 0;min-height:36px;padding:7px 3px}.student-reorder-handle:hover,.student-reorder-handle:focus-visible{color:#242231;background:#eef1f6}.student-reorder-handle:active{cursor:grabbing}.student-row{color:#111019;text-align:left;background:0 0;justify-content:start;align-items:flex-start;gap:2px;min-height:auto;padding:0;display:grid}.student-row:hover{background:0 0}.student-row strong{font-size:1.28rem;font-weight:620}.student-name-line{align-items:center;gap:6px;display:flex;color:#111019!important}.next-lesson-marker{flex:none;align-items:center;display:inline-flex;color:#477a9f!important}.student-row span{color:#7b788d;font-size:1rem}.student-row-summary{gap:7px;min-width:0;display:grid}.student-week-reschedule{color:#74520d;margin:1px 0 0;font-size:.86rem;font-weight:700}.student-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pending-count,.section-count{color:#74520d;background:#fff0cf;border-radius:999px;width:fit-content;padding:4px 8px;font-size:.74rem;font-weight:800}.delete-icon-button,.danger-action{color:#9a3026;background:#f8e9e7}.delete-icon-button:hover,.danger-action:hover{background:#f2d1cd}.delete-icon-button{border-radius:999px;min-height:36px;padding:8px}.secondary-action{color:#242231;background:#eef1f6}.secondary-action:hover,.secondary-action:focus-visible{color:#242231;background:#e2e7ef}.floating-add{color:#22202b;background:#8bbad8;border-radius:18px;width:86px;height:86px;position:fixed;bottom:30px;right:36px}.floating-add:hover{background:#77acd0}.floating-form{z-index:3;background:#fff;border:1px solid #dedde8;border-radius:8px;gap:10px;width:360px;max-width:calc(100vw - 40px);padding:16px;display:grid;position:fixed;bottom:130px;right:34px;box-shadow:0 18px 48px #201d2e29}.teacher-profile-form{width:430px;top:130px;bottom:auto;right:34px}.floating-form header,.section-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.floating-form h2,.section-title h2,.version-list h3{margin:0}.ghost-icon{color:#242231;background:0 0;min-height:auto;padding:4px}.ghost-icon:hover{background:#f0f1f6}.back-button{color:#242231;background:0 0;min-height:auto;padding:0;font-weight:700}.student-title{margin-bottom:16px}.student-sidebar{background:#f5f5f7;border-right:1px solid #e4e5eb;flex-direction:column;min-height:calc(100vh - 62px);padding:22px 14px;display:flex}.student-sidebar .back-button{color:#777487;justify-content:flex-start;width:fit-content}.student-sidebar-profile{gap:6px;margin:22px 0 18px;padding:0 10px;display:grid}.student-sidebar-profile h1{color:#242231;margin:0;font-size:1.35rem;line-height:1.1}.student-sidebar-profile p{color:#7d798d;margin:0}.student-sidebar-nav{gap:7px;display:grid}.student-sidebar-nav button{color:#5f5c6b;background:0 0;border-radius:8px;justify-content:flex-start;width:100%;min-height:40px;padding:8px 10px}.student-sidebar-nav button:hover,.student-sidebar-nav button:focus-visible{color:#242231;background:#e9edf3}.student-sidebar-nav button.active{color:#335f81;background:#e6eef6;font-weight:800}.student-sidebar-access{border-top:1px solid #e0e2e8;gap:9px;margin-top:auto;padding:16px 10px 0;display:grid}.student-sidebar-access span{color:#8b8798;font-size:.82rem;font-weight:800}.student-sidebar-access p{color:#777487;margin:-2px 0 2px;font-size:.76rem;line-height:1.35}.student-sidebar-access .text-button{color:#5f5c6b;justify-content:flex-start;font-size:.9rem}.student-sidebar-access>span,.student-mobile-access>span{align-items:center;gap:6px;display:flex}.student-sidebar-access .inline-error,.account-invitation-dialog .inline-error{color:#923535;margin:0;font-size:.78rem;line-height:1.35}.student-mobile-access{display:none}.account-invitation-backdrop{z-index:70;background:#1c1a257a;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.account-invitation-dialog{background:#fff;border:1px solid #dedde6;border-radius:14px;gap:16px;width:100%;max-width:470px;padding:20px;display:grid;box-shadow:0 22px 64px #1e1b2a3d}.account-invitation-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.account-invitation-dialog header span{color:#777487;text-transform:uppercase;font-size:.76rem;font-weight:800}.account-invitation-dialog h2,.account-invitation-dialog p{margin:0}.account-invitation-dialog>p{color:#666273;line-height:1.45}.account-invitation-dialog form{gap:14px;display:grid}.account-invitation-dialog .button-row{justify-content:flex-end}.portal-account-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-space-chooser{gap:24px;max-width:920px;margin:0 auto;display:grid}.student-space-chooser .detail-header>div:first-child{gap:5px;display:grid}.student-space-chooser .detail-header span,.student-space-chooser .detail-header p{color:#777487;margin:0}.student-space-chooser h1{margin:0}.student-space-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.student-space-card{color:#302e3d;background:#fff;border:1px solid #dedde6;border-radius:12px;gap:7px;padding:18px;text-decoration:none;display:grid}.student-space-card:hover,.student-space-card:focus-visible{background:#f3f7fa;border-color:#a9c3d6}.student-space-card span,.student-space-card small{color:#666273}.student-workspace{background:#fff;min-height:calc(100vh - 62px);padding:28px clamp(22px,3vw,56px) 80px;position:relative}@media (width>=981px){.student-sidebar{align-self:start;height:calc(100dvh - 62px);min-height:0;position:sticky;top:62px;overflow:hidden}.student-sidebar-nav{min-height:0;overflow-y:auto}.student-sidebar-access{flex-shrink:0}}.student-view-panel{width:100%;min-width:0;max-width:none}.student-view-panel.profile-view-panel{max-width:none}.student-workspace-actions{z-index:10;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;top:28px;right:38px}.notes-panel,.calendar-panel{gap:18px;display:grid}.notes-panel{grid-template-columns:minmax(0,1fr);align-items:start}.notes-panel>.workspace-header{grid-column:1;align-items:center}.notes-tabs{background:#f7f8fb;border:1px solid #e0dfea;border-radius:12px;gap:9px;padding:9px}.notes-tabs>header{justify-content:flex-start}.notes-tab-list{background:#e9edf3;border-radius:9px;gap:4px;padding:4px}.notes-tab{min-height:36px}.notes-tab.active,.notes-tab.active:hover{color:#315e82;background:#fff;box-shadow:0 1px 4px #25223124}.notes-tab-context{min-height:28px;padding:0 4px 3px}.note-visibility-callout{background:#f2f7fa;border:1px solid #dceaf2;border-radius:10px;grid-column:1/-1;padding:11px 12px}.homework-due-date{max-width:360px}.student-note-dialog-backdrop{z-index:70;background:#1f1d288a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.student-note-dialog{background:#fff;border:1px solid #d8d6e2;border-radius:16px;flex-direction:column;width:calc(100vw - 32px);max-width:1120px;height:min(900px,100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 24px 70px #1f1d2847}.student-note-dialog>header{border-bottom:1px solid #e5e3eb;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.student-note-dialog>header h2{margin:3px 0 0;font-size:1.45rem}.student-note-dialog>form{flex-direction:column;flex:1;min-height:0;display:flex}.student-note-dialog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid;overflow-y:auto}.student-note-dialog-fields>.note-content-field,.student-note-dialog-fields>.note-class-association,.student-note-dialog-fields>.note-association-help,.student-note-dialog-fields>.notes-relation-field{grid-column:1/-1}.student-note-dialog-fields .note-content-field textarea{min-height:190px}.student-note-dialog-actions{border-top:1px solid #e5e3eb;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:14px 20px;display:flex}.student-note-dialog-actions>span{color:#777487;font-weight:700}.student-note-dialog-actions>div{gap:8px;margin-left:auto;display:flex}.note-record-badge{color:#315e82;background:#e8f1f7;border-radius:999px;margin-bottom:7px;padding:3px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.note-record-badge.homework{color:#755311;background:#fff2cf}.notes-form{background:#fbfbfd;border:1px solid #e0dfea;border-radius:12px;gap:12px;padding:16px;display:grid}.notes-form-heading{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.notes-form-heading strong{color:#302e3d;font-size:1rem}.notes-form-heading span{color:#777487;font-size:.78rem}.notes-form textarea{color:#242231;font:inherit;resize:vertical;background:#fff;border:1px solid #dedde8;border-radius:12px;min-height:150px;padding:16px;line-height:1.45}.note-class-association{background:#f2f7fa;border:1px solid #dceaf2;border-radius:10px;padding:10px}.note-association-help,.saved-note-lesson{color:#6c6878;align-items:center;gap:7px;margin:0;font-size:.82rem;display:flex}.notes-locked-association{color:#735418}.notes-relation-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.notes-relation-field legend{color:#5e5a70;padding:0;font-size:.82rem;font-weight:800}.notes-relation-field legend span{color:#8a8696;font-weight:500}.notes-relation-picker{background:#fff;border:1px solid #dedde8;border-radius:9px;min-width:0;overflow:hidden}.notes-relation-picker summary{color:#4f4b60;cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;padding:9px 11px;font-size:.84rem;font-weight:750;list-style:none;display:flex}.notes-relation-picker summary::-webkit-details-marker{display:none}.notes-relation-picker summary:after{color:#477a9f;content:"+";font-size:1.1rem;line-height:1}.notes-relation-picker[open] summary{border-bottom:1px solid #e6e5ed}.notes-relation-picker[open] summary:after{content:"−"}.notes-relation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;padding:9px;display:grid;overflow-y:auto}.notes-relation-option{color:#4f4b60;text-align:left;background:#fafafd;border:1px solid #e0dfea;justify-content:space-between;align-items:center;width:100%;min-width:0;padding:8px 9px}.notes-relation-option:hover,.notes-relation-option:focus-visible{color:#242231;background:#edf5fb;border-color:#9fc5df}.notes-relation-option.selected,.notes-relation-option.selected:hover{color:#fff;background:#315e82;border-color:#315e82}.notes-relation-option>span{min-width:0;display:grid}.notes-relation-option strong,.notes-relation-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-relation-option strong{font-size:.82rem}.notes-relation-option small{color:inherit;opacity:.78;font-size:.72rem}.notes-selected-relations{flex-wrap:wrap;gap:6px;display:flex}.notes-selected-relations button{color:#315e82;background:#e7f1f8;min-height:29px;padding:4px 8px;font-size:.74rem}.notes-selected-relations button:hover{background:#d9eaf5}.notes-relation-empty{color:#777487;background:#f4f4f7;border-radius:8px;margin:0;padding:9px 10px;font-size:.8rem}.notes-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.notes-actions span{color:#777487;font-size:.9rem;font-weight:700}.notes-action-buttons,.notes-card-actions{align-items:center;gap:7px;display:flex}.saved-notes{gap:10px;min-width:0;display:grid}.saved-notes>header{justify-content:space-between;align-items:center;display:flex}.saved-notes>header h2{margin:0;font-size:1.05rem}.saved-notes>header span{color:#426783;background:#edf2f6;border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:800}.saved-note-card{border:1px solid #e0dfea;border-radius:12px;gap:10px;padding:14px;display:grid}.saved-note-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notes-card-actions{flex-shrink:0}.saved-note-card h3,.saved-note-card header p,.saved-note-content{margin:0}.saved-note-card h3{font-size:1rem}.saved-note-card header p{color:#898594;margin-top:3px;font-size:.78rem}.saved-note-content{color:#454250;white-space:pre-wrap;line-height:1.48}.saved-note-lesson{color:#416a87;background:#f2f7fa;border-radius:8px;padding:7px 9px}.notes-card-relations{gap:6px;display:grid}.notes-card-relations>strong{color:#666273;align-items:center;gap:5px;font-size:.76rem;display:flex}.notes-card-relations>div{flex-wrap:wrap;gap:5px;display:flex}.notes-card-relations span{color:#426783;background:#edf2f6;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:700}.saved-notes-empty{color:#817d8e;border:1px dashed #d9d7e2;border-radius:12px;align-items:center;gap:10px;padding:18px;display:flex}.saved-notes-empty p{margin:0}.agenda-page-header{align-items:flex-end}.agenda-navigation{flex:none;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.agenda-week-switcher{grid-template-columns:38px minmax(210px,auto) 38px;align-items:center;gap:8px;display:grid}.agenda-week-switcher .secondary-action{width:38px;height:38px;padding:8px}.agenda-navigation strong{color:#302e3d;text-align:center;white-space:nowrap;min-width:0;font-size:.95rem}.agenda-current-week{white-space:nowrap;flex:none}.agenda-layout{width:100%;min-width:0}.agenda-calendar{background:#fff;border:1px solid #e4e3eb;border-radius:14px;width:100%;min-width:0;overflow:hidden}.agenda-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.agenda-week-head,.agenda-grid{width:100%;min-width:860px}.agenda-week-head{--agenda-time-column:88px;grid-template-columns:var(--agenda-time-column) repeat(7, minmax(110px, 1fr));background:#fbfbfd;border-bottom:1px solid #e4e3eb;display:grid}.agenda-week-head>*{border-left:1px solid #ebeaf0;place-items:center;gap:2px;min-height:60px;padding:8px;display:grid}.agenda-week-head>span{color:#777487;border-left:0}.agenda-week-head strong{color:#302e3d;font-size:.81rem}.agenda-week-head div span{color:#777487;font-size:.76rem}.agenda-week-head .today,.agenda-day-track.today{background:#f0f7fc}.agenda-grid{--agenda-time-column:88px;grid-template-columns:var(--agenda-time-column) repeat(7, minmax(110px, 1fr));min-height:var(--agenda-height);display:grid;position:relative}.agenda-hours{color:#777487;min-height:var(--agenda-height);text-align:right;font-size:.7rem;display:grid}.agenda-hour-row,.agenda-time-row{box-sizing:border-box;border-bottom:1px solid #ecebf1;min-height:0;position:relative}.agenda-hour-row{justify-content:flex-end;align-items:flex-start;display:flex}.agenda-hour-row>span{white-space:nowrap;padding:7px 9px 0 2px;line-height:1}.agenda-hour-row.compressed{background:#f7f8fa;align-items:stretch}.agenda-time-row.compressed{background:repeating-linear-gradient(135deg,#ebeaf085 0 5px,#f8f8fa85 5px 10px)}.agenda-early-toggle{color:#5f5c6b;white-space:nowrap;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:3px;width:100%;min-height:0;padding:0 5px;font-size:.66rem;font-weight:750;line-height:1;display:flex}.agenda-early-toggle:hover,.agenda-early-toggle:focus-visible{color:#343141;background:#eceff4}.agenda-hour-row:not(.compressed) .agenda-early-toggle{border-radius:999px;width:24px;height:24px;padding:4px;font-size:0;position:absolute;top:12px;left:4px}.agenda-day-track{min-height:var(--agenda-height);border-left:1px solid #ebeaf0;display:grid;position:relative}.agenda-event{color:#17354a;cursor:grab;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1;background:#e4f1fa;border:1px solid #b9d8eb;border-left:4px solid #377da8;border-radius:7px;grid-template-columns:minmax(0,1fr);place-content:center stretch;gap:2px;padding:5px 6px;display:grid;position:absolute;left:5px;right:5px;overflow:hidden}.agenda-event:hover,.agenda-event:focus-visible{background:#d6eaf7}.agenda-event span,.agenda-event strong{white-space:nowrap;width:100%;min-width:0;display:block;overflow:hidden}.agenda-event span{font-size:.68rem;line-height:1.1}.agenda-event strong{text-overflow:ellipsis;font-size:.78rem;line-height:1.1}.agenda-event.has-notes{padding-right:25px}.agenda-event-note-indicator{color:inherit;opacity:.78;justify-content:center;align-items:center;position:absolute;top:50%;right:5px;transform:translateY(-50%);width:14px!important;display:flex!important;overflow:visible!important}.agenda-event.compact{align-content:center;align-items:center;gap:4px;min-height:0;padding:1px 5px;display:flex;overflow:visible}.agenda-event.compact.has-notes{padding-right:23px}.agenda-event.compact:before{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.agenda-event.compact span{text-overflow:ellipsis;flex:0 46%;width:auto;max-width:46%;font-size:.62rem}.agenda-event.compact strong{flex:auto;width:auto;font-size:.7rem}.agenda-event.compact .agenda-event-note-indicator{flex:none;max-width:none;width:14px!important}.agenda-event.continuation{cursor:pointer;touch-action:manipulation}.agenda-event.dragging{cursor:grabbing;opacity:.82;z-index:4}.agenda-event.rescheduled{color:#634400;background:#f6ecd3;border-color:#d19a2b}.agenda-event.cancelled{color:#746a72;opacity:.75;background:#f4f1f3;border-color:#a1969e;text-decoration:line-through}.agenda-state{color:#777487;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:20px;display:flex}.agenda-editor{z-index:30;background:#fff;border:1px solid #d9d8e2;border-radius:14px;gap:14px;width:min(380px,100vw - 36px);padding:18px;display:grid;position:fixed;top:28px;right:28px;box-shadow:0 18px 50px #25223129}.agenda-note-window{z-index:36;background:#fff;border:1px solid #d7dbe2;border-radius:13px;gap:0;width:min(360px,100vw - 16px);max-height:calc(100dvh - 16px);display:grid;position:fixed;overflow-y:auto;box-shadow:0 18px 48px #25223133}.agenda-note-window.dragging{box-shadow:0 22px 56px #25223142}.agenda-note-window-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f7f9fb;border-bottom:1px solid #e4e7eb;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:11px 12px;display:grid}.agenda-note-window.dragging .agenda-note-window-handle{cursor:grabbing}.agenda-note-window-handle div{min-width:0}.agenda-note-window-handle span{color:#71808b;letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:800;line-height:1.2;display:block}.agenda-note-window-handle h2{color:#242c33;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:1.02rem;overflow:hidden}.agenda-note-drag-icon{color:#9aa4ac}.agenda-note-window-content{gap:9px;padding:14px;display:grid}.agenda-note-date{color:#8a9299;font-size:.66rem;line-height:1.25}.agenda-note-title{color:#303740;font-size:.86rem}.agenda-note-window-content>p{color:#525c65;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.84rem;line-height:1.48}.agenda-note-relations{gap:6px;display:grid}.agenda-note-relations h3{color:#65717b;align-items:center;gap:5px;margin:0;font-size:.72rem;display:flex}.agenda-note-relations ul{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.agenda-note-relations li{color:#385f7b;background:#edf3f7;border-radius:999px;gap:1px;max-width:100%;padding:4px 8px;font-size:.72rem;font-weight:750;display:grid}.agenda-note-relations li small{color:#668196;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:600;overflow:hidden}.agenda-note-empty{color:#707983;align-items:flex-start;gap:9px;padding:16px 14px;display:flex}.agenda-note-empty svg{flex:none;margin-top:1px}.agenda-note-empty p{margin:0;font-size:.82rem;line-height:1.4}.agenda-note-window-actions{border-top:1px solid #e7e9ed;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;padding:10px 12px;display:flex}.agenda-note-window-actions button{min-height:32px;padding:6px 9px;font-size:.76rem}.agenda-editor>header{justify-content:space-between;align-items:start;display:flex}.agenda-editor header span,.agenda-editor header p{color:#777487;margin:0;font-size:.8rem}.agenda-editor h2{color:#242231;margin:2px 0;font-size:1.2rem}.agenda-editor form{gap:10px;display:grid}.agenda-editor-modes{grid-template-columns:1fr 1.2fr 1fr;gap:5px;display:grid}.agenda-editor-modes button{color:#5e5a70;background:#f0f0f4;min-height:34px;padding:5px;font-size:.72rem}.agenda-editor-modes button.active{color:#fff;background:#302e3d}.agenda-editor-modes button.danger{color:#a14343}.agenda-editor-modes button.active.danger{color:#fff;background:#a14343}.agenda-class-notes{border-top:1px solid #e3e1e9;gap:8px;padding-top:12px;display:grid}.agenda-class-notes>header{justify-content:space-between;align-items:center;display:flex}.agenda-class-notes>header strong{align-items:center;gap:6px;display:flex}.agenda-class-notes>header span{color:#426783;background:#edf2f6;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:800}.agenda-class-notes article{background:#f6f8fa;border-radius:8px;gap:3px;padding:8px;display:grid}.agenda-class-notes article strong{font-size:.84rem}.agenda-class-notes article p{color:#666273;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.agenda-class-notes .text-button{justify-content:flex-start}.agenda-cancel-copy{color:#777487;margin:0;font-size:.86rem}.agenda-conflict{color:#654300;background:#fff4dd;border:1px solid #edca80;border-radius:8px;gap:5px;padding:10px;font-size:.8rem;display:grid}.agenda-revert{color:#5f5c6b;justify-content:start;font-size:.82rem}.teacher-primary-bar{z-index:25;background:#fffffff5;border-bottom:1px solid #e5e4eb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:62px;padding:8px clamp(18px,3vw,64px);display:grid;position:sticky;top:0}.rio-wordmark{color:#242231;background:0 0;min-height:36px;padding:4px 0;font-size:1.28rem;font-weight:850}.rio-wordmark:hover,.rio-wordmark:focus-visible{color:#242231;background:0 0}.teacher-primary-bar nav{gap:6px;display:flex}.teacher-primary-bar nav button,.teacher-nav-logout{color:#676475;background:0 0;font-weight:750}.teacher-primary-bar nav button.active{color:#245d83;background:#edf4f8}.teacher-nav-logout{justify-self:end}.profile-page-header{margin-bottom:24px}.profile-page-header h1{margin:0 0 8px;font-size:clamp(1.75rem,3.4vw,2.35rem);line-height:1.05}.profile-page-header p{color:#777487;margin:0}.teacher-profile-page-form,.student-edit-form{border:1px solid #e1e0e9;border-radius:12px;gap:22px;max-width:620px;padding:22px;display:grid}.teacher-profile-page-form .profile-save-button,.student-edit-form>button[type=submit]{justify-self:end}.dialog-backdrop{z-index:100;background:#18162061;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border:1px solid #dedde6;border-radius:14px;gap:14px;width:100%;max-width:460px;padding:18px;display:grid;box-shadow:0 22px 60px #19172240}.confirm-dialog header,.confirm-dialog footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog p{color:#676475;line-height:1.55}.confirm-dialog footer{justify-content:flex-end}.first-lesson-dialog{gap:18px;max-width:520px}.first-lesson-options{border:0;gap:10px;margin:0;padding:0;display:grid}.first-lesson-option{cursor:pointer;border:1px solid #d9d8e3;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:12px 14px;font-weight:650;display:flex}.first-lesson-option:has(input:checked){background:#eef6fb;border-color:#6da7cf;box-shadow:0 0 0 1px #6da7cf}.first-lesson-option input{appearance:none;background:#fff;border:2px solid #858293;border-radius:3px;flex:0 0 20px;place-content:center;width:20px;height:20px;min-height:20px;margin:0;padding:0;display:grid}.first-lesson-option input:before{clip-path:polygon(14% 44%,0 59%,39% 100%,100% 20%,84% 7%,38% 67%);content:"";background:#397da8;width:12px;height:12px;transform:scale(0)}.first-lesson-option input:checked{border-color:#397da8}.first-lesson-option input:checked:before{transform:scale(1)}.first-lesson-option input:focus-visible{outline-offset:3px;outline:3px solid #397da84d}.first-lesson-status{align-items:center;gap:8px;font-size:.9rem;display:flex}.student-edit-form small{color:#6d6a79;line-height:1.45}.danger-action{color:#fff;background:#a43d3d}.agenda-event.selected{z-index:3;box-shadow:0 0 0 3px #6da7cf}.agenda-undo{color:#fff;z-index:45;background:#252330;border-radius:10px;align-items:center;gap:18px;padding:11px 14px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #1c1a2438}.agenda-undo button{color:#252330;background:#fff;min-height:32px;padding:5px 9px}.role-selector{background:#f1f2f6;border-radius:9px;grid-template-columns:1fr 1.45fr;gap:4px;padding:4px;display:grid}.role-selector button{color:#666273;background:0 0;font-size:.88rem}.role-selector button.active{color:#242231;background:#fff;box-shadow:0 2px 8px #23212e17}.student-access-form p{color:#777487;text-align:center;margin:-4px 0 0;font-size:.82rem}.student-edit-panel{gap:18px;max-width:760px;display:grid}.student-edit-panel .workspace-header{margin-bottom:0}.student-edit-panel .workspace-header p{color:#777487;margin:8px 0 0}.workspace-header{margin-bottom:16px;padding-right:0}.student-workspace.has-prepare-action .workspace-header{padding-right:160px}.workspace-header h1{letter-spacing:0;margin:0;font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.05}.title-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.student-title p{color:#7b788d;margin:6px 0 0;font-size:1rem}.taste-shelf{--disc-gap:clamp(10px, 1.2vw, 16px);--disc-size:clamp(84px, 6vw, 104px);--visible-disc-count:5;gap:10px;width:100%;margin:6px 0 18px;padding:0;display:grid;position:relative}.preferences-section{width:100%;max-width:none;margin-top:12px}.taste-row{background:#fbfbfd;border:1px solid #e7e6ef;border-radius:14px;grid-template-columns:minmax(154px,190px) minmax(0,1fr);gap:0;width:100%;min-height:148px;display:grid;overflow:visible;box-shadow:0 12px 30px #2422310f}.taste-row-tab{background:linear-gradient(#fffffff5,#f7f8fbf0);border-right:1px solid #e7e6ef;border-radius:14px 0 0 14px;align-content:start;gap:6px;padding:16px 18px;display:grid}.taste-row-tab h2{color:#302e3d;margin:0;font-size:1rem;font-weight:800}.taste-row-tab p{color:#7b788d;margin:0;font-size:.82rem;font-weight:650;line-height:1.38}.taste-row-content{min-width:0;padding:13px 18px 6px;overflow:visible}.taste-row-collections,.taste-interest-collection{min-width:0}.taste-row-discs{grid-auto-columns:calc((100% - (var(--visible-disc-count) - 1) * var(--disc-gap)) / var(--visible-disc-count));align-items:flex-start;gap:var(--disc-gap);scrollbar-gutter:stable;grid-auto-flow:column;width:100%;min-height:112px;padding:2px 5px 10px;display:grid;overflow:auto hidden}.taste-row-discs::-webkit-scrollbar{height:7px}.taste-row-discs::-webkit-scrollbar-thumb{background:#77748447;border-radius:999px}.taste-row-discs::-webkit-scrollbar-track{background:0 0}.taste-row-discs.is-empty{align-items:center;min-height:56px;padding-bottom:8px}.taste-shelf.is-compact-profile{--disc-gap:clamp(7px, .9vw, 11px);--disc-size:clamp(72px, 5vw, 88px);gap:8px}.taste-shelf.is-compact-profile .taste-row{grid-template-columns:minmax(138px,166px) minmax(0,1fr);min-height:126px}.taste-shelf.is-compact-profile .taste-row-tab{gap:4px;padding:13px 15px}.taste-shelf.is-compact-profile .taste-row-tab p{font-size:.76rem;line-height:1.3}.taste-shelf.is-compact-profile .taste-row-content{padding:10px 12px 4px}.taste-shelf.is-compact-profile .taste-row-discs{min-height:101px;padding:1px 3px 7px}.taste-shelf.is-compact-profile .disc-item{transition:transform .16s;animation:.18s both taste-disc-in}.taste-shelf.is-compact-profile .disc-item:hover,.taste-shelf.is-compact-profile .disc-item:focus-within{transform:translateY(-2px)}.taste-shelf.is-compact-profile .disc-caption{gap:2px;margin-top:4px}.taste-shelf.is-compact-profile .disc-caption strong{font-size:.76rem}.taste-shelf.is-compact-profile .disc-caption small{font-size:.66rem}.taste-shelf.is-compact-profile .disc-generate-button,.taste-shelf.is-compact-profile .disc-recommendation-button{padding-block:3px;font-size:.64rem}.song-album-groups{scrollbar-gutter:stable;gap:12px;min-height:105px;padding:1px 4px 7px;display:flex;overflow:auto hidden}.song-album-group{border-right:1px solid #e7e6ef;flex:none;gap:5px;padding-right:12px;display:grid}.song-album-group:last-child{border-right:0;padding-right:0}.song-album-group h3{color:#6f6b7d;max-width:calc(var(--disc-size) * 2 + var(--disc-gap));text-overflow:ellipsis;white-space:nowrap;margin:0 3px;font-size:.68rem;font-weight:800;overflow:hidden}.song-album-group .taste-row-discs{gap:var(--disc-gap);width:auto;min-height:0;padding:0 3px 4px;display:flex;overflow:visible}.song-album-group .disc-item{flex:0 0 var(--disc-size);width:var(--disc-size)}.disc-item{text-align:center;width:min(100%, var(--disc-size));justify-self:center;position:relative}.disc-item.has-preview{cursor:pointer}.disc-item:focus{outline:none}.disc-interaction{background:0 0;border-radius:50%;width:100%;min-height:0;padding:0;display:block}.disc-interaction:hover,.disc-interaction:focus-visible{background:0 0}.disc-item.album-open{width:min(100%, var(--disc-size));z-index:auto}.disc-frame{z-index:2;width:100%;position:relative}.disc{aspect-ratio:1;box-shadow:none;background:0 0;border:0;border-radius:50%;width:100%;position:relative;overflow:hidden}.disc:after{aspect-ratio:1;content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#fff 0 38%,#f7f8fb 39% 62%,#ffffffeb 63% 100%);border-radius:50%;width:22%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 7px #24223129,0 0 5px #ffffffd9}.disc-item.has-spun .disc{animation:8s linear infinite paused disc-spin}.disc-item.has-spun.is-playing .disc{animation-play-state:running}.disc img,.disc-placeholder{object-fit:cover;width:100%;height:100%;transition:filter .26s,opacity .26s}.disc img{filter:grayscale()}.disc-item:hover .disc img,.disc-item:focus-within .disc img,.disc-item.is-playing .disc img,.disc-item.is-preview-pending .disc img{filter:grayscale(0)}.disc-placeholder{color:#6b6e7b;background:linear-gradient(135deg,#e9eef6,#d8e8ef 48%,#ece5df);justify-content:center;align-items:center;display:flex}.disc-delete-button{color:#9a3026;opacity:1;z-index:5;background:#f8e9e7f2;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;min-height:0;padding:0;transition:opacity .18s;display:flex;position:absolute;top:6px;right:6px;transform:none}.disc-item:hover .disc-delete-button,.disc-item:focus-within .disc-delete-button{opacity:1}.disc-caption{flex-direction:column;align-items:center;gap:3px;max-width:95%;margin:6px auto 0;display:flex}.disc-caption strong{color:#5f5c69;font-size:.8rem;font-weight:620;line-height:1.14}.disc-caption small{color:#858193;font-size:.7rem;line-height:1.12}.disc-generate-button{color:#5f5c6b;opacity:1;background:0 0;border-radius:999px;min-height:0;padding:4px 8px;font-size:.68rem;transition:opacity .18s,transform .18s,background .18s;transform:none}.disc-item:hover .disc-generate-button,.disc-item:focus-within .disc-generate-button{opacity:1;transform:translateY(0)}.disc-generate-button:hover,.disc-generate-button:focus-visible{color:#242231;background:#eef1f6}.album-track-popover{text-align:left;z-index:40;background:#fffffffa;border:1px solid #e1e1ea;border-radius:12px;flex-direction:column;width:min(580px,100vw - 36px);max-height:calc(100dvh - 32px);margin:0;padding:12px;display:flex;position:fixed;top:78px;left:auto;right:clamp(18px,3vw,58px);overflow:hidden;box-shadow:0 20px 58px #221f2d33}.album-track-popover>*,.context-recommendations>*{z-index:1;position:relative}.album-track-popover.opens-right,.context-recommendations.opens-right{transform-origin:left var(--popover-arrow-top);animation:.25s both taste-popover-in-right}.album-track-popover.opens-left,.context-recommendations.opens-left{transform-origin:right var(--popover-arrow-top);animation:.25s both taste-popover-in-left}.album-track-popover.opens-sheet{transform-origin:bottom;width:auto;animation:.22s both taste-sheet-in;inset:auto 16px 16px}.album-track-popover.opens-sheet:before{display:none}.album-track-popover:before,.context-recommendations:before{content:"";height:12px;top:calc(var(--popover-arrow-top) - 6px);z-index:0;background:#fff;border:1px solid #dedde7;width:12px;position:absolute;transform:rotate(45deg)}.album-track-popover.opens-right:before,.context-recommendations.opens-right:before{left:-7px}.album-track-popover.opens-left:before,.context-recommendations.opens-left:before{right:-7px}.album-track-header{color:#444250;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:.78rem;font-weight:800;display:flex}.album-track-header .ghost-icon{margin:-4px -4px -4px 0}.album-track-list{overscroll-behavior:contain;flex:auto;gap:2px;max-height:min(318px,100dvh - 96px);padding-right:2px;display:grid;overflow-y:auto}.album-track-entry{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;display:grid}.album-track-button{color:#242231;align-items:center;gap:6px;justify-content:initial;text-align:left;background:0 0;border-radius:6px;grid-template-columns:20px minmax(0,1fr) 22px;width:100%;min-height:28px;padding:4px 6px;display:grid}.album-track-generate{color:#5f5c6b;white-space:nowrap;background:0 0;border-radius:999px;min-height:26px;padding:3px 7px;font-size:.68rem}.album-track-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.album-track-save{color:#315e82;white-space:nowrap;background:0 0;min-height:26px;padding:3px 7px;font-size:.68rem}.disc-recommendation-button{color:#477a9f;background:0 0;min-height:0;padding:3px 7px;font-size:.67rem}.context-recommendations{z-index:40;background:#fff;border:1px solid #dedde7;border-radius:10px;gap:7px;width:min(400px,100vw - 36px);min-width:0;padding:12px;display:grid;position:fixed;top:78px;left:auto;right:clamp(18px,3vw,58px);box-shadow:0 14px 38px #221f2d24}.context-recommendations-header{justify-content:space-between;align-items:center;display:flex}.context-recommendations-header>strong{color:#4b4856;font-size:.76rem}.context-recommendations-header .ghost-icon{margin:-4px -4px -4px 0}.context-recommendations>p{color:#777487;align-items:center;gap:6px;margin:2px 0;font-size:.74rem;display:flex}.context-recommendations article{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.context-recommendations article>img{aspect-ratio:1;object-fit:cover;border-radius:5px;width:34px}.context-recommendations article>div:not(.recommendation-actions){min-width:0;display:grid}.context-recommendations article strong,.context-recommendations article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-recommendations article strong{font-size:.74rem}.context-recommendations article small{color:#817e8d;font-size:.66rem}.recommendation-actions{gap:4px;display:flex}.recommendation-actions button{min-height:27px;padding:4px 6px;font-size:.65rem}.album-track-generate:hover,.album-track-generate:focus-visible{color:#242231;background:#eef1f6}.album-track-button:focus{outline:none}.album-track-button:hover,.album-track-button:focus-visible{color:#242231;background:#f6f7fa}.album-track-button:disabled{cursor:default}.album-track-play{color:#5d6070;opacity:0;background:#eef1f6;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.album-track-button.is-playing .album-track-play{color:#315e82;opacity:1;background:#e1edf5;animation:1s ease-in-out infinite alternate preview-pulse}.album-track-button:disabled .album-track-play{opacity:0}.album-track-number{color:#878493;text-align:right;font-size:.72rem;font-weight:800}.album-track-name{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.album-track-state{color:#777487;align-items:center;gap:6px;min-height:34px;font-size:.78rem;display:flex}.empty-taste-row{color:#898699;align-items:center;min-height:22px;font-size:.82rem;display:flex}@keyframes taste-popover-in-right{0%{opacity:0;transform:translate(-8px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes taste-popover-in-left{0%{opacity:0;transform:translate(8px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes taste-sheet-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes taste-disc-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.album-track-popover,.context-recommendations{animation:none}.taste-shelf.is-compact-profile .disc-item,.taste-shelf.is-compact-profile .disc img,.taste-shelf.is-compact-profile .disc-placeholder{transition:none;animation:none}}.instrument-editor{gap:10px;display:grid}.instrument-list,.inline-add-form{flex-wrap:wrap;gap:8px;display:flex}.instrument-chip{color:#4d5060;background:#eef1f6;border-radius:999px;align-items:center;gap:4px;padding:5px 8px 5px 10px;font-size:.9rem;font-weight:700;display:inline-flex}.instrument-chip button{color:#5e6170;background:0 0;min-height:0;padding:2px}.teacher-teaching-areas-field{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.teacher-teaching-areas-field legend{color:#4d4a5e;margin-bottom:8px;padding:0;font-size:.95rem;font-weight:700}.teaching-area-hint{color:#777487;margin:-6px 0 0;font-size:.82rem}.teaching-area-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;display:grid}.teaching-area-option{color:#555164;text-align:left;white-space:normal;background:#fafafd;border:1px solid #d9d8e2;justify-content:flex-start;width:100%;min-height:42px;padding:8px 10px;line-height:1.25}.teaching-area-option:hover,.teaching-area-option:focus-visible{color:#242231;background:#edf5fb;border-color:#9fc5df}.teaching-area-option.selected,.teaching-area-option.selected:hover{color:#fff;background:#315e82;border-color:#315e82}.teaching-area-other-panel,.teaching-area-other-inputs{gap:8px;display:grid}.teaching-area-other-entry{min-width:0}.teaching-area-disclaimer{color:#686576;background:#f6f7fa;border-left:3px solid #9fc5df;margin:0;padding:7px 9px;font-size:.76rem;line-height:1.35}.teaching-area-error{color:#923535;margin:0;font-size:.82rem;line-height:1.35}.muted-inline{color:#898699;font-size:.92rem}.select-empty{color:#898699;border:1px solid #d9d8e4;border-radius:8px;align-items:center;min-height:42px;padding:0 12px;display:flex}.instrument-select{gap:5px;min-width:0;display:grid}.instrument-select select{min-width:0;max-width:100%}.instrument-select select.instrument-select-historical,.instrument-select-history-option{color:#5a4513;background:#fff7dc;border-color:#f0d789}.instrument-select-history-note{color:#5a4513;background:#fff7dc;border:1px solid #f0d789;border-radius:6px;padding:6px 8px;font-size:.74rem;font-weight:500;line-height:1.3}.secondary-section{margin-top:8px;padding-top:4px}.section-title{margin-bottom:10px}.section-title p{color:#4d4a5c;max-width:760px;margin:0;font-size:.9rem;line-height:1.34}.material-card p,.result-card p{color:#747184;margin:4px 0 0}.verify-form{grid-template-columns:130px minmax(240px,1fr) minmax(200px,.8fr) 120px;gap:10px;max-width:1000px;display:grid}.result-grid{grid-template-columns:1fr;gap:8px;max-width:760px;margin-top:10px;display:grid}.result-card{background:#fafafd;border:1px solid #e0dfe8;border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:8px 10px;display:grid}.result-card img,.mini-art{aspect-ratio:1;object-fit:cover;border-radius:7px;width:52px}.mini-art{color:#676b77;background:#eef1f6;justify-content:center;align-items:center;display:flex}.result-card h3,.material-card h4{margin:1px 0}.result-card h3{font-size:1rem;line-height:1.12}.result-card p{font-size:.82rem;line-height:1.2}.result-card button{min-height:34px;padding:7px 10px}.source-pill,.origin{border-radius:999px;width:fit-content;padding:4px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.source-pill{color:#616575;background:#eef1f6}.origin.teacher{color:#315e82;background:#e6f0f7}.origin.student{color:#72502a;background:#f3e9dc}.unified-music-search .verify-form{grid-template-columns:minmax(260px,1fr) auto;width:100%;max-width:none}.music-type-filter{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.music-type-filter button{color:#656273;background:#f2f3f7;min-height:32px;padding:5px 10px;font-size:.76rem}.music-type-filter button.active{color:#fff;background:#315e82}.inferred-music-results{gap:8px;margin-top:18px;display:grid}.search-alternatives-toggle{color:#5f5c6d;justify-self:start}.music-search-loading-shell{background:linear-gradient(90deg,#f3f4f7,#e9ebf0,#f3f4f7);border-radius:12px;height:86px;margin-top:18px;animation:1.2s ease-in-out infinite alternate music-search-loading}.did-you-mean{color:#5f5c6d;margin:10px 0}.did-you-mean button{color:#2e6d98;background:0 0;min-height:auto;padding:0 2px;font-weight:800;text-decoration:underline}.grouped-music-results{gap:22px;margin-top:18px;display:grid}.grouped-music-results>section{gap:8px;display:grid}.grouped-music-results>section>h3{color:#4e4a5c;letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:.82rem}.unified-result-card{grid-template-columns:58px minmax(0,1fr) auto;width:100%;min-height:86px}.unified-result-card>img,.unified-result-card>.mini-art{width:58px}.result-card-copy{min-width:0}.result-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:7px;display:flex}@keyframes music-search-loading{0%{opacity:.62}to{opacity:1}}.preview-credit{flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;display:flex}.preview-credit .preview-button{color:#245d83;background:#e9f2f8;min-height:30px;padding:4px 8px}.preview-credit a{color:#777487;gap:3px;min-height:24px;font-size:.72rem}.version-toggle{color:#676475;justify-content:flex-start;min-height:28px;margin-top:4px;padding:2px 0;font-size:.76rem}.song-version-list{border-left:2px solid #dedde6;gap:4px;margin-top:4px;padding-left:8px;display:grid}.song-version-list button{color:#3e3b49;text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr);justify-content:start;display:grid}.song-version-list span{display:grid}.song-version-list small{color:#7a7788}.chord-alternatives{background:#f3f7fa;border:1px solid #d7e6ef;border-radius:10px;gap:9px;margin-top:12px;padding:12px;display:grid}.chord-alternatives>div{gap:6px;display:grid}.chord-alternative-actions{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.chord-alternative-actions>.secondary-action{align-self:stretch}.chord-alternatives button{color:#2f2c3b;text-align:left;background:#fff;border:1px solid #d9e1e7;justify-content:space-between;display:flex}.chord-alternatives button span{display:grid}.chord-alternatives button small{color:#777487;font-size:.75rem}.library-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.library-header h2{margin:0;font-size:1.55rem}.library-material-list{width:100%}.materials-library-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.library-material-card{border:1px solid #e3e2eb;grid-template-rows:auto auto 1fr;min-width:0;padding:10px}.library-material-artwork{aspect-ratio:16/10;color:#686978;background:#eef1f6;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.library-material-artwork img{object-fit:cover;width:100%;height:100%}.library-material-artwork .material-preview-button{position:absolute;bottom:8px;right:8px}.library-material-copy{gap:3px;min-width:0;display:grid}.library-material-copy strong,.library-material-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-material-copy small{color:#777487}.library-material-actions{flex-wrap:wrap;align-content:end;gap:7px;display:flex}.library-material-actions button,.library-material-actions a{flex:auto;justify-content:center}.materials-list,.student-portal{gap:12px;display:grid}.material-card,.editor-panel{background:#fff;border-radius:8px;padding:14px}.candidate-card{background:#fafafd;border:1px solid #e0dfe8;border-radius:8px;gap:10px;padding:11px;display:grid}.candidate-card>div:first-child{flex-wrap:wrap;gap:8px;display:flex}.button-row{flex-wrap:wrap;gap:10px;display:flex}.material-card{gap:12px;display:grid}.material-row-card{gap:0;padding:0}.material-summary-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.material-summary-button{color:#242231;align-items:center;gap:12px;justify-content:initial;text-align:left;background:0 0;grid-template-columns:42px minmax(0,1fr) auto;width:100%;min-height:0;padding:12px 14px;display:grid}.material-summary-button:hover,.material-summary-button:focus-visible,.material-row-card.is-expanded .material-summary-button{color:#242231;background:#f7f7fb}.material-summary-button:focus{outline:none}.material-summary-text{gap:2px;min-width:0;display:grid}.material-summary-artwork{color:#686978;background:#eef1f6;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.material-summary-artwork img{object-fit:cover;width:100%;height:100%}.material-preview-button{color:#5d6070;opacity:.45;background:#eef1f6;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;min-height:0;margin-right:12px;padding:0;display:flex}.material-preview-button.is-playing{color:#315e82;opacity:1;animation:1s ease-in-out infinite alternate preview-pulse}.material-summary-text strong{color:#242231;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.16;overflow:hidden}.material-summary-text small{color:#747184;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.material-card-detail{gap:10px;padding:2px 14px 14px;display:grid}.material-actions,.version-list{flex-wrap:wrap;gap:10px;display:flex}.material-actions a,.version-list a{color:#242231;background:#eef1f6;border-radius:7px;min-height:38px;padding:8px 12px}.editor-panel{flex-direction:column;gap:12px;height:max(420px,100dvh - 190px);min-height:0;margin-top:0;display:flex;overflow:hidden}.editor-panel>.section-title{z-index:2;background:#fff;margin:0;position:relative}.editor-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.editor-pdf-action{place-items:center stretch;gap:5px;display:grid}.editor-pdf-action .editor-save-state{text-align:center;justify-content:center}.editor-status{margin:0}.editor-meta-row{color:#777487;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;font-size:.86rem;display:flex}.editor-meta-row span{align-items:center;min-height:24px;display:inline-flex}.editor-save-state{color:#24633f;background:#e9f6ef;border-radius:999px;padding:2px 8px;font-weight:760}.editor-save-state.dirty{color:#755311;background:#fff7dc}.editor-save-state.error{color:#9b2c2c;background:#fdecec}.document-history{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.document-history ol{gap:6px;width:min(100%,360px);max-height:150px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.document-history li{color:#4f4b60;background:#f5f6f9;border-radius:7px;padding:8px 10px}.document-history p{color:#777487;margin:0}.embedded-editor-shell{background:#fff;border:1px solid #c8c8c8;border-radius:8px;flex:auto;height:0;min-height:240px;position:relative;overflow:hidden}.embedded-chordpro-editor{overscroll-behavior:contain;border:0;width:100%;height:100%;display:block;overflow:hidden}.editor-loading{color:#4f4b60;z-index:1;background:#ffffffeb;justify-content:center;align-items:center;gap:8px;font-weight:760;display:flex;position:absolute;inset:0}.source-disclaimer{color:#7b788d;margin:8px 0 0;font-size:.88rem}.empty-state{color:#777487}.student-login{max-width:620px}.student-login h1{margin:0;font-size:clamp(2rem,4vw,2.7rem)}.student-login p{color:#777487}.student-material-library{gap:18px;display:grid}.student-library-header h2{margin:0;font-size:1.4rem}.student-material-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:18px;display:grid}.student-material-preview-card{background:#f2f4f8;border-radius:8px;gap:12px;padding:12px;display:grid}.student-material-card-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:28px;display:grid}.student-material-card-header svg{color:#4f7fe5}.student-material-card-header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-material-card-header span{color:#242231;font-size:1.3rem;line-height:1}.student-material-preview{aspect-ratio:.78;color:#4f7fe5;background:#fff;border-radius:5px;justify-content:center;align-items:center;text-decoration:none;display:flex;overflow:hidden}.student-material-preview iframe{pointer-events:none;border:0;width:100%;height:100%}.empty-preview{color:#4f7fe5}.student-material-grid .empty-state{grid-column:1/-1}.agenda-screen .calendar-panel>.section-title{display:none}.material-flow{gap:18px;max-width:940px;display:grid}.material-flow-header{margin-bottom:0}.material-flow-header p,.library-header p,.flow-card header p,.publication-success p,.request-card p{color:#777487;margin:5px 0 0}.flow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.flow-steps li{color:#858193;border-bottom:3px solid #dcdbe4;align-items:center;gap:7px;padding:8px 2px;font-size:.82rem;font-weight:800;display:flex}.flow-steps li.active,.flow-steps li.done{color:#315e82;border-color:#6da7cf}.step-number{background:#e6eef6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:25px;height:25px;font-size:.76rem;display:inline-flex}.flow-steps.compact{margin-bottom:12px}.flow-card{border:1px solid #e2e1e9;border-radius:14px;gap:16px;padding:20px;display:grid}.flow-card>header{align-items:flex-start;gap:11px;display:flex}.flow-card h2{margin:0;font-size:1.08rem}.flow-card.disabled-card{opacity:.58}.song-choice-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.song-choice{color:#242231;justify-content:initial;text-align:left;background:#fafafd;border:1px solid #e3e2eb;grid-template-columns:44px minmax(0,1fr) auto;min-height:64px;padding:9px;display:grid}.song-choice:hover,.song-choice:focus-visible,.song-choice.active{color:#242231;background:#edf5fb;border-color:#9fc5df}.song-choice img,.selected-song-summary img{aspect-ratio:1;object-fit:cover;border-radius:7px;width:44px}.song-choice span,.selected-song-summary div{min-width:0;display:grid}.song-choice small,.selected-song-summary span{color:#777487}.add-song-disclosure{border-top:1px solid #ecebf2;padding-top:10px}.add-song-disclosure summary{color:#4f4b60;cursor:pointer;align-items:center;gap:6px;width:fit-content;font-weight:800;display:flex}.add-song-disclosure .secondary-section{margin-top:10px}.selected-song-summary{background:#fafafd;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;display:grid}.selected-song-summary .selected-song-actions{justify-content:flex-end;gap:7px;display:flex}.flow-candidate{background:#f6fafc;border-color:#cfe2f0}.review-view{gap:14px;display:grid}.publication-success{color:#245e3c;background:#edf8f2;border:1px solid #b9dfc8;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 46px 14px 14px;display:grid;position:relative}.publication-success .publication-success-close{min-height:32px;position:absolute;top:8px;right:8px}.publication-success a{color:#245e3c;font-weight:800}.section-count{margin-left:2px}.portal-title{margin-bottom:0}.portal-interests,.student-request-list{gap:12px;display:grid}.portal-homeworks{gap:12px}.portal-homeworks>header h2{font-size:1.4rem}.portal-homework-card{background:#fffcf3;border-color:#ead9aa #ead9aa #ead9aa #d3a64d;border-left-style:solid;border-left-width:4px;padding:16px}.portal-homework-due{color:#6d5016;background:#fff3cf}.portal-homework-materials a{color:inherit;font-size:inherit;font-weight:inherit;text-underline-offset:2px;min-height:0;text-decoration:underline}.portal-homeworks>.empty-state{border:1px dashed #d9d7e2;border-radius:10px;padding:16px}.request-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.request-card{border:1px solid #e3e2eb;border-radius:10px;justify-content:space-between;align-items:end;gap:14px;padding:14px;display:flex}.request-card>div{gap:7px;display:grid}.teacher-editor-screen{padding-bottom:24px}.manual-editor-workspace{grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:16px;height:calc(100dvh - 114px);min-height:620px;display:grid}.manual-editor-library{border:1px solid #e1e0e8;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.manual-editor-library>header{border-bottom:1px solid #e8e7ee;justify-content:space-between;align-items:center;padding:14px;display:flex}.manual-editor-library h1{margin:2px 0 0;font-size:1.35rem}.manual-material-create{border-bottom:1px solid #e8e7ee;gap:7px;padding:10px;display:grid}.manual-material-list{gap:5px;min-height:0;padding:8px;display:grid;overflow-y:auto}.manual-material-list article{border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.manual-material-list article.active{background:#edf4f8}.manual-material-list article>button:first-child{color:#383542;text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;justify-content:start;min-width:0;display:grid}.manual-material-list article>button:first-child span{min-width:0;display:grid}.manual-material-list strong,.manual-material-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manual-material-list small{color:#777487}.manual-editor-stage{flex-direction:column;gap:10px;min-height:0;display:flex}.manual-editor-stage .editor-panel{flex:1}.manual-editor-empty{color:#777487;text-align:center;border:1px dashed #d8d6e1;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:420px;padding:28px;display:flex}.manual-editor-empty h2{color:#373441;margin:12px 0 4px}.manual-editor-empty p{max-width:520px}.route-loading{color:#666273;justify-content:center;align-items:center;gap:8px;min-height:140px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes disc-spin{to{transform:rotate(360deg)}}@keyframes preview-pulse{0%{opacity:1}to{opacity:.25}}@media (prefers-reduced-motion:reduce){.disc-item.has-spun .disc,.album-track-button.is-playing .album-track-play{animation:none}}@media (width<=640px){.disc-item.album-open{width:min(100%, var(--disc-size))}.album-track-popover{width:auto;top:72px;left:12px;right:12px}}@media (width<=980px){.screen{padding:22px 18px 92px}.home-header,.detail-header,.section-title{flex-direction:column}.students-screen .home-header{flex-direction:row;align-items:center;margin-bottom:30px}.student-order-selector span{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-order-selector select{width:min(150px,43vw);min-width:0}.teacher-greeting{text-align:left;align-items:flex-start}.student-rows{gap:22px}.student-row strong{font-size:1.22rem}.student-row span{font-size:.98rem}.floating-add{width:72px;height:72px;bottom:22px;right:22px}.floating-form{width:auto;max-height:calc(100dvh - 140px);bottom:110px;left:18px;right:18px;overflow-y:auto}.teacher-profile-form{top:90px;bottom:auto}.student-row-item{grid-template-columns:1fr}.student-row-item:has(.student-reorder-handle){grid-template-columns:auto minmax(0,1fr)}.student-row-item:has(.student-reorder-handle) .student-row-actions{grid-column:2}.student-row-actions{justify-content:flex-start}.student-detail-shell{grid-template-columns:1fr;padding:0}.student-sidebar{border-bottom:1px solid #e4e5eb;border-right:0;gap:12px;width:100%;min-width:0;min-height:0;padding:18px}.student-sidebar-profile{margin:6px 0 4px;padding:0}.student-sidebar-nav{gap:8px;width:100%;min-width:0;display:flex;overflow-x:auto}.student-sidebar-nav button{flex:none;justify-content:center;width:auto;min-width:112px}.student-sidebar-access{display:none}.student-mobile-access{z-index:20;background:#fffffffa;border-bottom:1px solid #e4e5eb;gap:7px;margin:-22px -18px 18px;padding:9px 18px 10px;display:grid;position:sticky;top:62px;box-shadow:0 5px 14px #23212e0f}.student-mobile-access>span{color:#777487;font-size:.75rem;font-weight:800}.student-mobile-access-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;display:grid}.student-mobile-access .text-button{color:#4f4b60;background:#f1f2f6;min-width:0;min-height:34px;padding:6px 7px;font-size:.78rem}.student-sidebar-logout{margin:0}.student-workspace{width:100%;min-width:0;min-height:auto;padding:22px 18px 92px}.student-workspace-actions{align-items:flex-start;margin-bottom:12px;position:static}.notes-panel{grid-template-columns:1fr}.notes-panel>.workspace-header{grid-column:auto}.notes-tab-list{width:100%}.notes-tab{flex:1 1 0}.agenda-page-header{align-items:flex-start}.agenda-navigation{justify-content:flex-start;width:100%}.agenda-editor{max-height:calc(100dvh - 36px);top:auto;bottom:18px;right:18px;overflow-y:auto}.workspace-header,.student-workspace.has-prepare-action .workspace-header{padding-right:0}.taste-shelf{--disc-size:108px;--visible-disc-count:4;gap:14px}.taste-shelf.is-compact-profile{--disc-gap:8px;--disc-size:78px;gap:8px}.taste-shelf.is-compact-profile .taste-row{grid-template-columns:minmax(118px,142px) minmax(0,1fr)}.disc-generate-button{opacity:1;transform:none}.verify-form{grid-template-columns:1fr}.library-header{flex-direction:column;align-items:flex-start}.publication-success{grid-template-columns:auto minmax(0,1fr);align-items:start}.publication-success a,.publication-success button{grid-column:2;justify-content:flex-start}.teacher-primary-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding-inline:14px}.teacher-primary-bar nav{justify-content:flex-start;overflow-x:auto}.teacher-primary-bar nav button{white-space:nowrap;flex:none}.manual-editor-workspace{grid-template-columns:1fr;height:auto;min-height:0}.manual-editor-library{max-height:310px}.manual-editor-stage{min-height:calc(100dvh - 180px)}.unified-result-card{grid-template-columns:52px minmax(0,1fr);align-items:start}.result-card-actions{grid-column:2;justify-content:flex-start}}@media (width<=720px){.agenda-navigation{grid-template-columns:minmax(0,1fr);place-items:start;gap:12px;display:grid}.agenda-week-switcher{grid-template-columns:38px minmax(0,1fr) 38px;width:100%;max-width:360px}.agenda-navigation strong{font-size:.88rem}.agenda-current-week{justify-self:start}.student-edit-form .lesson-fields{grid-template-columns:1fr}.login-panel{grid-template-columns:minmax(0,1fr);max-width:440px}.auth-screen{align-items:flex-start}.auth-layout{grid-template-columns:minmax(0,1fr);gap:24px;max-width:440px}.auth-intro p.auth-intro-title{font-size:clamp(1.65rem,8vw,2.25rem)}.auth-intro p{font-size:.98rem}.taste-shelf{--disc-size:104px;--visible-disc-count:3}.taste-row{grid-template-columns:1fr}.taste-row-tab{border-bottom:1px solid #e7e6ef;border-right:0;border-radius:14px 14px 0 0;gap:4px;padding:15px 17px}.taste-row-content{padding:12px 14px 6px}.calendar-grid{grid-template-columns:1fr}.notes-actions{flex-direction:column;align-items:stretch}.notes-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.notes-action-buttons button:only-child{grid-column:1/-1}.notes-relation-options{grid-template-columns:1fr}.student-note-dialog-backdrop{padding:0}.student-note-dialog{border-radius:0;width:100vw;height:100dvh}.student-note-dialog-fields{grid-template-columns:1fr;padding:16px}.student-note-dialog-fields>*{grid-column:1}.student-note-dialog-actions{flex-direction:column;align-items:stretch;padding:12px 16px}.student-note-dialog-actions>div{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0;display:grid}.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-song-summary{grid-template-columns:auto minmax(0,1fr)}.selected-song-summary .selected-song-actions{grid-column:1/-1;justify-content:flex-start}.request-card{flex-direction:column;align-items:start}.teacher-primary-bar{grid-template-columns:minmax(0,1fr) auto}.rio-wordmark{display:none}.teacher-primary-bar nav button{flex:none;padding-inline:9px}.role-selector{grid-template-columns:1fr}.agenda-undo{justify-content:space-between;width:calc(100vw - 28px);bottom:14px}.agenda-note-window-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agenda-note-window-actions button{justify-content:center;min-width:0}.unified-music-search .verify-form{grid-template-columns:1fr}.unified-result-card{grid-template-columns:44px minmax(0,1fr)}.unified-result-card>img,.unified-result-card>.mini-art{width:44px}.result-card-actions{grid-column:1/-1}.result-card-actions button{flex:1}.context-recommendations article{grid-template-columns:30px minmax(0,1fr)}.recommendation-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=420px){.auth-screen{padding-left:12px;padding-right:12px}.auth-card{padding:20px 18px}.auth-card .login-auth-links{gap:10px}.auth-card .login-auth-links .text-button{font-size:.84rem}}@media (width<=480px){.taste-shelf{--disc-size:96px;--visible-disc-count:2}.taste-shelf.is-compact-profile{--disc-size:72px}}.route-error,.review-error{background:#fff;border:1px solid #e2e1e9;border-radius:12px;gap:10px;max-width:720px;margin:24px auto;padding:22px;display:grid}.route-error h1,.review-error h2,.route-error p,.review-error p{margin:0}.route-error p,.review-error p{color:#6d6979}.review-error{max-width:none;margin:4px 0}.billing-screen{color:#202033;padding-top:30px}.billing-page-heading h1{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3vw,2.55rem);line-height:1.05}.billing-period-bar{grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;gap:28px;margin-top:36px;display:grid}.billing-month-controls{align-items:center;gap:10px;display:flex}.billing-month-controls input[type=month]{border-color:#d7dde8;width:auto;min-width:175px;font-weight:750}.billing-month-arrow{min-width:43px;padding-inline:8px}.billing-period-copy{flex-wrap:wrap;align-items:baseline;gap:10px 24px;display:flex}.billing-period-copy strong{font-size:1.15rem}.billing-period-copy span{color:#38374a;font-size:1rem}.billing-summary{color:#38387a;text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:5px;margin:0;font-weight:750;display:flex}.billing-explanation{color:#62667b;margin:52px 0 24px;font-size:.9rem;line-height:1.65}.billing-explanation strong{color:#53576c}.billing-loading{color:#666a7d;justify-content:center;align-items:center;gap:9px;min-height:280px;display:flex}.billing-load-error{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:24px;display:grid}.billing-load-error p{margin:3px 0 0}.billing-refresh-error{color:#74531a;background:#fff6e7;border:1px solid #ecd19e;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:9px 12px;font-size:.88rem;display:flex}.billing-table-wrap{border-top:1px solid #dfe3eb;transition:opacity .15s;overflow-x:auto}.billing-table-wrap.is-refreshing{opacity:.62;pointer-events:none}.billing-table{border-collapse:collapse;table-layout:fixed;width:100%}.billing-table th,.billing-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e5eb;padding:19px 14px}.billing-table thead th{color:#303043;padding-block:14px;font-size:.84rem;font-weight:850;line-height:1.25}.billing-table tbody th{font-size:.97rem;font-weight:750}.billing-table tbody td{color:#333448;font-size:.91rem}.billing-table th:first-child{width:14%}.billing-table th:nth-child(2){width:15%}.billing-table th:nth-child(3),.billing-table th:nth-child(4),.billing-table th:nth-child(5){width:14%}.billing-table th:nth-child(6){width:13%}.billing-table th:nth-child(7){width:16%}.billing-status-cell,.billing-cell-stack{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.billing-status-cell small{color:#777b8d;font-size:.72rem;line-height:1.35}.billing-status,.billing-overdue-detail{align-items:center;gap:8px;font-weight:750;line-height:1.25;display:inline-flex}.billing-status i,.billing-overdue-detail i{background:#a6a8b1;border-radius:50%;flex:none;width:10px;height:10px}.billing-status-paid i{background:#42c879}.billing-status-pending i{background:#f1c40f}.billing-status-overdue i,.billing-overdue-detail i{background:#de5b55}.billing-status-unconfigured i{background:#9ba0ad}.billing-overdue-detail{color:#a6403b;font-size:.72rem}.billing-overdue-detail i{width:8px;height:8px}.billing-small-link{color:#647087;min-height:0;padding:1px 0;font-size:.75rem;font-weight:700}.billing-small-link:hover{color:#245d83;background:0 0}.billing-classes-count{text-align:center!important}.billing-row-action{white-space:nowrap;min-width:146px;font-size:.83rem}.billing-registered{color:#697086;align-items:center;gap:6px;font-size:.82rem;line-height:1.35;display:inline-flex}.billing-dialog-backdrop{z-index:110}.billing-dialog{background:#fff;border:1px solid #dedfe7;border-radius:15px;flex-direction:column;width:100%;max-width:570px;max-height:min(760px,100dvh - 40px);display:flex;overflow:hidden;box-shadow:0 24px 70px #18172342}.billing-dialog-wide{max-width:760px}.billing-dialog-header{border-bottom:1px solid #e6e7ed;justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 20px 17px;display:flex}.billing-dialog-header h2{margin:0;font-size:1.25rem;line-height:1.2}.billing-dialog-header p{color:#6b6d7e;max-width:650px;margin:7px 0 0;font-size:.84rem;line-height:1.5}.billing-dialog-content{min-height:0;padding:20px;overflow-y:auto}.billing-dialog-actions{border-top:1px solid #e6e7ed;justify-content:flex-end;align-items:center;gap:9px;margin:4px -20px -20px;padding:15px 20px;display:flex}.billing-plan-form,.billing-payment-form,.billing-history{gap:16px;display:grid}.billing-form-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.billing-field-help{color:#747789;margin:-8px 0 0;font-size:.78rem;line-height:1.45}.billing-payment-plan{color:#666a7d;background:#f6f7fa;border-radius:9px;flex-wrap:wrap;gap:6px 22px;margin:0;padding:9px 11px;font-size:.8rem;display:flex}.billing-payment-plan strong{color:#343648}.billing-inline-status{color:#686b7c;align-items:center;gap:8px;margin:0;padding:10px 0;display:flex}.billing-form-error{color:#943e38;background:#fff0ef;border:1px solid #efc4c0;border-radius:8px;margin:0;padding:9px 11px;font-size:.84rem;line-height:1.4}.billing-plan-versions{color:#626578;border:1px solid #e1e3e9;border-radius:9px;padding:10px 12px;font-size:.82rem}.billing-plan-versions summary{color:#46495b;cursor:pointer;font-weight:750}.billing-plan-versions ol{gap:8px;margin:12px 0 2px;padding-left:22px;display:grid}.billing-plan-versions li span{margin-top:2px;display:block}.billing-unit-group{border:0;min-width:0;margin:0;padding:0}.billing-unit-group legend{color:#46495c;padding:0 0 8px;font-size:.83rem;font-weight:850}.billing-unit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.billing-unit-option{cursor:pointer;background:#fafafd;border:1px solid #dfe2ea;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.billing-unit-option:has(input:checked){background:#eef5fa;border-color:#82aeca}.billing-unit-option.is-disabled{cursor:not-allowed;opacity:.58}.billing-unit-option input{accent-color:#255e84;width:17px;min-height:17px}.billing-unit-option span{gap:2px;min-width:0;display:grid}.billing-unit-option strong{font-size:.84rem;line-height:1.35}.billing-unit-option small{color:#707487;font-size:.74rem}.billing-payment-total{background:#f1f5f8;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.billing-payment-total span{color:#686c7e;font-size:.82rem}.billing-credit-section{background:#f5f8fb;border:1px solid #d9e3eb;border-radius:11px;gap:9px;padding:13px;display:grid}.billing-credit-section>header{align-items:flex-start;gap:9px;display:flex}.billing-credit-section h3,.billing-credit-section p{margin:0}.billing-credit-section h3{font-size:.92rem}.billing-credit-section p{color:#6f7485;font-size:.76rem}.billing-credit{background:#fff;border:1px solid #e0e4e9;border-radius:8px;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr);align-items:center;gap:10px;padding:10px;display:grid}.billing-credit>div:first-child{gap:2px;font-size:.82rem;display:grid}.billing-credit>div:first-child span,.billing-credit>small{color:#727687;font-size:.73rem}.billing-credit-actions{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.billing-payment-history{gap:10px;display:grid}.billing-payment-record{border:1px solid #dee1e8;border-radius:10px;gap:10px;padding:13px;display:grid}.billing-payment-record.is-annulled{color:#737584;background:#fafafa}.billing-payment-record>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.billing-payment-record>header>div{gap:3px;display:grid}.billing-payment-record>header span{color:#55596d;font-size:.82rem}.billing-payment-record ul{color:#64687a;gap:3px;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.billing-annul-button{color:#a6403b;min-height:28px;padding:3px 5px;font-size:.78rem}.billing-annulled-copy{background:#f0f0f2;border-radius:6px;margin:0;padding:7px 9px;font-size:.76rem}.billing-annul-form{background:#fff6f5;border-radius:8px;gap:8px;padding:10px;display:grid}.billing-annul-form textarea{min-height:72px}.billing-annul-form>div{justify-content:flex-end;gap:7px;display:flex}.student-billing-panel{border:1px solid #e1e0e9;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;max-width:620px;padding:18px 20px;display:flex}.student-billing-panel h2{margin:0 0 5px;font-size:1rem}.student-billing-panel p{color:#707385;max-width:390px;margin:0;font-size:.82rem;line-height:1.45}@media (width<=1120px){.billing-period-bar{grid-template-columns:auto minmax(220px,1fr);gap:18px}.billing-summary{text-align:left;grid-column:1/-1;justify-content:flex-start}.billing-table{min-width:1050px}}@media (width<=760px){.billing-screen{padding-inline:14px}.billing-period-bar{grid-template-columns:1fr;align-items:stretch;margin-top:26px}.billing-month-controls{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.billing-month-controls input[type=month]{width:100%;min-width:0}.billing-period-copy{flex-direction:column;align-items:flex-start;gap:4px}.billing-summary{grid-column:auto}.billing-explanation{margin-top:30px}.billing-table-wrap{border-top:0;overflow:visible}.billing-table,.billing-table tbody,.billing-table tr,.billing-table th,.billing-table td{width:100%;min-width:0;display:block}.billing-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.billing-table tbody{gap:14px;display:grid}.billing-table tr{border:1px solid #dfe2ea;border-radius:12px;padding:8px 13px}.billing-table tbody th,.billing-table tbody td{border-bottom:1px solid #eceef2;grid-template-columns:116px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid;text-align:left!important}.billing-table tbody td:last-child{border-bottom:0}.billing-table tbody th:before,.billing-table tbody td:before{color:#777b8d;content:attr(data-label);padding-top:2px;font-size:.72rem;font-weight:800}.billing-cell-stack,.billing-status-cell{min-width:0}.billing-row-action{width:100%;min-width:0}.billing-load-error{grid-template-columns:auto minmax(0,1fr);align-items:start}.billing-load-error button{grid-column:2;justify-self:start}.billing-dialog-backdrop{align-items:stretch;padding:0}.billing-dialog,.billing-dialog-wide{border:0;border-radius:0;max-width:none;height:100dvh;max-height:100dvh}.billing-dialog-header,.billing-dialog-content{padding-inline:16px}.billing-dialog-actions{margin-inline:-16px;padding-inline:16px}.billing-form-grid,.billing-unit-list,.billing-credit,.billing-credit-actions{grid-template-columns:1fr}.billing-payment-total,.student-billing-panel{flex-direction:column;align-items:stretch}.student-billing-panel button{width:100%}}
