:root{color-scheme:light;--ink:#17202a;--muted:#5e6875;--line:#d8dedc;--paper:#fffdf7;--surface:#ffffff;--stage:#f5f0e4;--teal:#0d6f72;--teal-dark:#084f52;--coral:#bd4b35;--gold:#d79922;--green:#317a46;--red:#b43a42;--blue:#365f91;--shadow:0 16px 36px rgba(23,32,42,0.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.assessment-compact-form,.assessment-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.assessment-compact-form label,.assessment-editor-form label,.student-assessment-form label{display:grid;gap:.4rem;font-weight:700}.assessment-editor-form label small,.student-assessment-form label small{color:var(--muted);font-weight:500}.assessment-compact-form .full-width,.assessment-editor-form .full-width{grid-column:1/-1}.assessment-student-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem;max-height:18rem;overflow:auto;padding:1rem}.assessment-reward-settings label,.assessment-student-picker label,.checkbox-row{align-items:center;display:flex;gap:.55rem}.assessment-card-grid{display:grid;gap:.8rem}.assessment-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;color:inherit;display:flex;gap:1rem;justify-content:space-between;padding:1rem;text-decoration:none}.assessment-card>span{display:grid;gap:.25rem}.assessment-card>span:last-child{justify-items:end;text-align:right}.assessment-submission-list{display:grid;gap:1rem}.assessment-submission-list>article{border:1px solid var(--line);border-radius:1rem;padding:1rem}.assessment-instructions,.assessment-student-note{white-space:pre-wrap}.assessment-marking-form,.student-assessment-form{display:grid;gap:1rem;margin-top:1rem}.rubric-mark-row{display:grid;gap:.75rem;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr);padding:.9rem}.rubric-mark-row legend{display:grid;gap:.2rem}.rubric-mark-row legend small{color:var(--muted);font-weight:500}.rubric-score-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.rubric-score-buttons label{cursor:pointer;position:relative}.rubric-score-buttons input{inset:0;opacity:0;position:absolute}.rubric-score-buttons span{align-items:center;border:2px solid var(--line);border-radius:.65rem;display:flex;font-weight:800;height:2.6rem;justify-content:center;min-width:2.6rem}.rubric-score-buttons input:checked+span{background:var(--teal);border-color:var(--teal);color:white}.rubric-score-buttons input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.assessment-inline-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.assessment-inline-actions input:not([type]),.assessment-inline-actions input[type=text]{min-width:12rem}.assessment-reward-settings{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1rem}.assessment-reward-settings button{grid-column:1/-1;justify-self:start}.table-secondary-text{color:var(--muted);display:block;margin-top:.2rem}.assessment-released-result{background:color-mix(in srgb,var(--green) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:.9rem;display:grid;gap:.65rem;margin-top:1rem;padding:1rem}.assessment-released-result>div{display:grid;gap:.2rem}.linked-session-code-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between}.linked-session-code-panel>div{display:grid;gap:.25rem}.linked-session-code-panel>div>strong{font-size:clamp(2rem,7vw,4rem);letter-spacing:.12em}.assessment-config-preview{background:color-mix(in srgb,var(--ink) 5%,var(--surface));border:1px solid var(--line);border-radius:.75rem;max-width:100%;overflow:auto;padding:.8rem;white-space:pre-wrap}.linked-session-join-form{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.linked-session-join-form label{display:grid;flex:1 1 14rem;gap:.4rem;font-weight:700}@media (max-width:720px){.assessment-compact-form,.assessment-editor-form,.rubric-mark-row{grid-template-columns:1fr}.assessment-card,.linked-session-code-panel{align-items:stretch;flex-direction:column}.assessment-card>span:last-child{justify-items:start;text-align:left}.assessment-inline-actions>button,.assessment-inline-actions>form,.assessment-inline-actions>input,.linked-session-join-form>button{width:100%}}.online-lesson-readiness-lab{display:grid;gap:1rem}.online-lesson-device-field{display:grid;gap:.4rem;justify-self:stretch;width:100%}.online-lesson-device-field>label{font-weight:700}.online-lesson-device-toggle{align-items:center;display:flex;gap:.55rem}.online-lesson-boundary{align-items:center;background:color-mix(in srgb,var(--success-soft,#e8f7ef) 75%,white);border-color:color-mix(in srgb,var(--success,#17834f) 35%,transparent);display:flex;justify-content:space-between}.readiness-check-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.readiness-check-item{border:1px solid var(--line);border-radius:.8rem;display:grid;gap:.25rem;min-height:5rem;padding:.85rem}.readiness-check-item.is-ready strong{color:var(--success,#11643c)}.readiness-check-item.is-blocked strong{color:var(--danger,#a12b2b)}.online-lesson-preview-frame{align-items:center;aspect-ratio:16/9;background:#13212a;border-radius:1rem;display:flex;justify-content:center;margin-top:1rem;max-height:min(56vh,32rem);overflow:hidden;position:relative;width:100%}.online-lesson-preview-frame video{height:100%;object-fit:contain;width:100%}.online-lesson-preview-empty{align-items:center;color:#f4f7f8;display:flex;flex-direction:column;gap:.55rem;inset:0;justify-content:center;position:absolute}.online-lesson-privacy-mask{border:clamp(1.5rem,7vw,5.5rem) solid rgba(8,23,31,.88);border-bottom-width:clamp(1rem,4vw,3.5rem);border-radius:1rem;inset:0;pointer-events:none;position:absolute}.online-lesson-privacy-mask span{background:rgba(8,23,31,.88);border-radius:999px;color:white;font-size:.78rem;left:50%;padding:.35rem .65rem;position:absolute;top:-1.3rem;transform:translateX(-50%);white-space:nowrap}.online-lesson-mask-toggle{align-items:flex-start;display:flex;gap:.55rem;margin-top:.85rem}.online-lesson-mask-toggle input{flex:0 0 auto;margin-top:.15rem}.online-lesson-probe-result,.online-lesson-settings-list{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0 0}.online-lesson-settings-list>div{background:var(--surface-soft,#f4f6f7);border-radius:.75rem;padding:.8rem}.online-lesson-settings-list dt{color:var(--muted);font-size:.82rem}.online-lesson-settings-list dd{font-weight:700;margin:.3rem 0 0}.online-lesson-probe-result{grid-template-columns:repeat(4,minmax(0,1fr))}.online-lesson-probe-result>p{grid-column:1/-1;margin:0}@media (max-width:900px){.online-lesson-probe-result,.readiness-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-lesson-settings-list{grid-template-columns:1fr}}@media (max-width:560px){.online-lesson-boundary{align-items:flex-start}.online-lesson-boundary>svg{display:none}.online-lesson-probe-result,.readiness-check-grid{grid-template-columns:1fr}.online-lesson-preview-frame{border-radius:.75rem;max-height:48vh}}.linked-activity-fieldset{border:0;margin:0;min-inline-size:0;padding:0}.linked-activity-fieldset:disabled{opacity:.72}.online-lesson-device-grid{align-items:end;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.online-lesson-device-grid>label:not(.check-row){display:grid;font-weight:700;gap:.4rem}.online-lesson-video-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.online-lesson-video-tile{align-content:start;display:grid;gap:.75rem;min-width:0}.online-lesson-screen-preview,.online-lesson-video-tile canvas,.online-lesson-video-tile video{aspect-ratio:16/9;background:#101c24;border-radius:.85rem;display:block;max-height:70vh;object-fit:contain;width:100%}.online-lesson-video-tile canvas{cursor:crosshair;touch-action:none}.online-lesson-raw-camera,.online-lesson-screen-preview.hidden{display:none}.online-lesson-screen-preview{margin-top:1rem}.online-lesson-cue-message{background:var(--surface-soft,#f4f6f7);border-radius:.8rem;font-size:clamp(1.1rem,2.5vw,1.7rem);font-weight:800;padding:.9rem 1rem;text-align:center}.online-lesson-support-card li+li{margin-top:.45rem}@media (max-width:760px){.online-lesson-device-grid,.online-lesson-video-grid{grid-template-columns:1fr}}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.45;min-width:320px}::selection{background:rgba(13,111,114,.2)}a{color:inherit;text-decoration:none}.skip-link{background:var(--teal-dark);border-radius:0 0 8px 8px;color:#ffffff;font-weight:800;inset-inline-start:1rem;padding:.65rem .9rem;position:fixed;top:0;transform:translateY(calc(-100% - .5rem));transition:transform .12s ease;z-index:2000}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}button,input,select,textarea{font:inherit}.button,button{align-items:center;background:var(--teal);border:0;border-radius:8px;color:#ffffff;cursor:pointer;display:inline-flex;font-weight:750;gap:.45rem;justify-content:center;min-height:2.55rem;max-width:100%;padding:.65rem .95rem;text-align:center;white-space:normal;transition:background .16s ease,transform .16s ease}.button:hover,button:hover{background:var(--teal-dark);transform:translateY(-1px)}:where(button:not(:disabled),a.button,[role=button]:not([aria-disabled=true]),input[type=button]:not(:disabled),input[type=submit]:not(:disabled),input[type=reset]:not(:disabled)):active{filter:brightness(.9);transform:translateY(1px) scale(.97)}:where(button,a.button,[role=button],input[type=button],input[type=submit],input[type=reset])[data-click-confirmed=true]{box-shadow:0 0 0 4px rgba(215,153,34,.42),0 5px 14px rgba(23,32,42,.16)!important;filter:brightness(.94);transform:translateY(1px) scale(.98)}:where(button,.button,[role=button])[aria-pressed=true],:where(button,.button,[role=button])[aria-selected=true],:where(button.active,.button.active,[role=button].active){outline:3px solid rgba(13,111,114,.32);outline-offset:2px}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(13,111,114,.45);outline-offset:3px}button:disabled,button:disabled:hover{background:#c8d5d3;color:#eef4f1;cursor:not-allowed;transform:none}:where(button,input[type=submit])[data-submit-pending=true]{cursor:wait;opacity:.82}:where(button,input[type=submit])[data-submit-pending=true]:after{animation:submit-control-spin .7s linear infinite;border:2px solid;border-right:2px solid transparent;border-radius:50%;content:"";flex:0 0 auto;height:.8rem;width:.8rem}@keyframes submit-control-spin{to{transform:rotate(1turn)}}.mission-game-layout{display:grid;gap:1rem;grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);align-items:start}.mission-list{display:grid;gap:.55rem;position:sticky;top:1rem}.mission-chapter-select{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;font-size:.8rem;font-weight:800;gap:.35rem;grid-template-columns:auto minmax(0,1fr);padding:.55rem .7rem}.mission-chapter-select select{min-width:0}.golden-note-bank,.reward-balance{align-items:center;background:#fff7d1;border:1px solid #d9ad28;border-radius:8px;color:#644b00;display:flex;gap:.75rem;padding:.9rem 1rem}.golden-note-bank strong,.reward-balance strong{display:block;font-size:1.5rem;line-height:1}.golden-note-bank small,.reward-balance small{display:block;margin-top:.25rem}.golden-note-icon{color:#c68b00;font-size:2.35rem;line-height:1}.mission-path-summary{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;gap:.4rem;grid-template-columns:minmax(0,1fr) auto;padding:.8rem}.mission-path-summary>span{color:var(--muted);font-size:.82rem;font-weight:800}.mission-path-summary .progress{grid-column:1/-1}.mission-path-chapter{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:.75rem}.mission-path-chapter-heading{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.65rem}.mission-path-chapter-heading span{color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase}.mission-path-chapter-heading strong{font-size:.82rem}.mission-path-nodes{display:grid;gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr))}.mission-path-node{align-items:center;aspect-ratio:1;background:#f8faf9;border:1px solid var(--line);border-radius:50%;color:var(--ink);display:flex;flex-direction:column;font-size:.78rem;gap:.05rem;justify-content:center;min-height:0;min-width:0;padding:.15rem}.mission-path-node.active,.mission-path-node:hover:not(:disabled){background:var(--teal-soft);border-color:var(--teal);box-shadow:0 0 0 3px rgb(15 124 126/14%)}.mission-path-node.passed{background:#e9f7ed;border-color:#5da872;color:#176532}.mission-path-node.boss{background:#fff6cc;border-color:#c99400;border-radius:8px;color:#684d00}.mission-path-node:disabled{opacity:.45}.mission-path-node-number{align-items:center;display:inline-flex;font-weight:900;justify-content:center;min-height:1.1rem}.mission-path-node .golden-note-row{font-size:.62rem;gap:0}.golden-note-row{color:#a5abb0;display:inline-flex;font-size:1.2rem;gap:.15rem;white-space:nowrap}.golden-note-row .earned{color:#d49a00;filter:drop-shadow(0 1px 0 #8f6500)}.mission-stage{display:grid;gap:.65rem;min-width:0;padding:1rem}.mission-stage-heading,.reward-hero{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.mission-stage-heading h2{margin:.1rem 0 .35rem}.mission-pass-rate{background:var(--teal-soft);border-radius:999px;color:var(--teal-dark);font-weight:800;padding:.45rem .7rem;white-space:nowrap}.mission-boss-banner{align-items:center;background:#fff6cc;border:1px solid #d9ad28;border-radius:8px;color:#644b00;display:flex;gap:.7rem;margin-top:0;padding:.75rem .9rem}.mission-session-cue{color:var(--muted);font-size:.88rem;font-weight:750;margin:0}.mission-notation-shell{max-height:min(46dvh,32rem);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.mission-boss-banner small,.mission-boss-banner span{display:block}.mission-boss-banner small{margin-top:.12rem}.mission-overview-intro,.mission-overview-rule,.mission-teacher-note,.reward-hero{align-items:center;display:flex;gap:1rem;justify-content:space-between}.section.mission-overview-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem)}.section.mission-overview-intro>div:first-child{max-width:58rem}.section.mission-teacher-note{align-items:center;display:grid;grid-template-columns:auto minmax(0,1fr)}.mission-overview-intro h2,.mission-teacher-note h2,.reward-hero h2{margin:.15rem 0 .35rem}.mission-overview-rule{background:#fff6cc;border:1px solid #d9ad28;border-radius:8px;color:#644b00;flex:0 0 auto;justify-content:flex-start;max-width:22rem;padding:.85rem 1rem}.mission-overview-rule small,.mission-overview-rule span{display:block}.mission-chapter-grid{display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.mission-chapter-card{border:1px solid var(--line);border-radius:8px;padding:.85rem}.mission-chapter-card>div:first-child{display:flex;justify-content:space-between}.mission-chapter-card>div:first-child span,.mission-chapter-card>small{color:var(--muted);font-size:.78rem;font-weight:760}.mission-node-row{display:grid;gap:.35rem;grid-template-columns:repeat(5,minmax(0,1fr));margin:.8rem 0}.mission-node-row>span{align-items:center;aspect-ratio:1;background:var(--teal-soft);border:1px solid var(--teal);border-radius:50%;display:flex;font-size:.75rem;font-weight:850;justify-content:center}.mission-node-row>span.boss{background:#fff6cc;border-color:#c99400;border-radius:7px;color:#684d00}.mission-table-progress{min-width:8rem}.mission-table-progress .progress{margin-top:.25rem}.golden-note-inline{color:#946a00;white-space:nowrap}.mission-pattern{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(5.3rem,1fr));margin:1.2rem 0}.mission-note-card{align-items:center;aspect-ratio:1;background:#ffffff;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:.45rem;text-align:center}.mission-note-card span{font-size:2rem;line-height:1.15}.mission-controls{display:flex;flex-wrap:wrap;gap:.45rem}.mission-controls>button{min-height:2.6rem;padding-block:.55rem}.mission-guidance-note{color:var(--text-muted);margin:.35rem 0 .8rem}.mission-metronome-toggle[aria-pressed=true]{background:#e8f4f3;border-color:var(--teal);color:var(--teal-dark)}.mission-status{align-items:center;background:var(--surface-muted);border-left:5px solid var(--teal);display:flex;gap:.75rem;margin-top:0;min-height:3rem;padding:.6rem .8rem}.mission-status p{margin:0}.mission-status.success{background:#e9f7ed;border-color:#27844a}.mission-status.error{background:#fff0f1;border-color:var(--red)}.mission-count-in{font-size:2rem}.mission-results{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));margin-top:1rem}.mission-results>div{background:#ffffff;border:1px solid var(--line);border-radius:6px;padding:.75rem}.mission-results>div>span,.mission-results>div>strong{display:block}.mission-result-total{grid-column:1/-1}.mission-privacy-note{color:var(--muted);font-size:.88rem;margin:1rem 0 0}.mission-advanced-details{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem}.mission-advanced-details>summary{color:var(--teal-dark);cursor:pointer;font-weight:850}.mission-advanced-details[open]>summary{margin-bottom:.75rem}.mission-advanced-details .mission-privacy-note{margin-bottom:0}.reward-hero{margin-bottom:1rem}.reward-transaction-list{display:grid;gap:0}.reward-transaction-list>div{align-items:center;border-top:1px solid var(--line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.75rem 0}.reward-credit{color:#24783f}.reward-debit{color:#b32633}@media (max-width:900px){.mission-game-layout{grid-template-columns:1fr}.mission-list{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.golden-note-bank,.mission-path-summary{grid-column:1/-1}.mission-chapter-select,.mission-path-chapter{grid-column:span 1}.mission-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.mission-list,.mission-results{grid-template-columns:1fr}.mission-notation-shell{max-height:min(42dvh,24rem)}.mission-pattern{display:flex;overflow-x:auto;padding-bottom:.4rem;scroll-snap-type:x mandatory}.mission-note-card{flex:0 0 5.4rem;scroll-snap-align:start}.mission-overview-intro,.mission-overview-rule,.mission-stage-heading,.mission-teacher-note,.reward-hero{align-items:stretch;flex-direction:column}.mission-chapter-grid,.section.mission-overview-intro,.section.mission-teacher-note{grid-template-columns:1fr}.mission-pass-rate{align-self:flex-start}.mission-controls>button{flex:1 1 100%}.mission-result-total{grid-column:auto}.reward-transaction-list>div{grid-template-columns:minmax(0,1fr) auto}.reward-transaction-list time{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.skip-link,:where(button,.button,[role=button]){transition-duration:0s}}.button.secondary,button.secondary{background:#edf5f4;color:var(--teal-dark)}.button.warning,button.warning{background:var(--coral)}.pass-off-result-button{border:1px solid transparent;min-width:9.5rem;position:relative}.pass-off-pass-button{background:#e6f4ea;border-color:#b8dfc8;color:var(--green)}.pass-off-pass-button:hover{background:#d8efdf;color:var(--green)}.pass-off-not-passed-button{background:#f9e4e6;border-color:#e2b4ba;color:var(--red)}.pass-off-not-passed-button:hover{background:#f4d5da;color:var(--red)}.pass-off-result-button:active{animation:pass-off-click .26s ease}.pass-off-result-button.is-recording{animation:pass-off-recording .72s ease-in-out infinite;box-shadow:0 0 0 0 rgba(13,111,114,.24)}.pass-off-recorded-message{--pass-off-recorded-accent:var(--teal);align-items:center;animation:pass-off-recorded-pulse .9s cubic-bezier(.2,.8,.2,1) both;border:2px solid var(--pass-off-recorded-accent);border-radius:12px;display:grid;gap:.8rem;grid-template-columns:auto minmax(0,1fr);justify-content:center;min-height:4.5rem;padding:.85rem 1rem;transform-origin:center}.pass-off-recorded-passed{--pass-off-recorded-accent:var(--green);background:#e6f4ea;color:var(--green)}.pass-off-recorded-not-passed{--pass-off-recorded-accent:var(--red);background:#f9e4e6;color:var(--red)}.pass-off-recorded-blocked{--pass-off-recorded-accent:#8a5900;background:#fff3c4;color:#704800}.pass-off-recorded-icon{align-items:center;animation:pass-off-recorded-icon-pulse .9s cubic-bezier(.2,.8,.2,1) both;background:var(--pass-off-recorded-accent);border-radius:999px;color:#ffffff;display:inline-flex;height:2.75rem;justify-content:center;width:2.75rem}.pass-off-recorded-copy{display:grid;gap:.1rem;min-width:0}.pass-off-recorded-copy strong{font-size:1.05rem;font-weight:900}.pass-off-recorded-copy small{color:var(--ink);font-size:.9rem;font-weight:650}input,select,textarea{background:#ffffff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:2.45rem;padding:.55rem .7rem;width:100%}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}@media (pointer:coarse){.button,.category-nav-row a,.compact-button,.desktop-nav-category>summary,.mobile-nav-category>summary,.mobile-nav-menu>summary,.notification-bell summary,.school-context-button,.session-identity,button,input,select,textarea{min-height:2.75rem}.floating-practice-window-actions button,.header-daily-review-button,.header-player-profile-button,.header-search-button,.header-signout-button,.icon-button{min-width:2.75rem}}:where(input,select,textarea):focus-visible{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,111,114,.12)}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 3px rgba(180,58,66,.12)}input[type=checkbox],input[type=radio]{min-height:auto;width:auto}form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form select{max-width:100%;width:fit-content}form input:not([type]),form input[type=email],form input[type=search],form input[type=text]{min-width:min(18rem,100%)}form input[type=date]{min-width:11.5rem}form input.clock-time-input,form input[type=time]{min-width:8.5rem}form input.clock-time-input{width:10rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-time-input{display:flex;flex-wrap:wrap;gap:.5rem}.date-time-input,.date-time-input>input{min-width:0;max-width:100%}form input[type=number]{min-width:7rem}form textarea{max-width:100%;width:min(28rem,100%)}textarea{min-height:4rem;resize:vertical}label{display:grid;gap:.35rem;max-width:100%;min-width:0}.field-label,label{color:var(--muted);font-size:.86rem;font-weight:720}.field-label{margin:0 0 .35rem}.field-hint{color:var(--muted);font-size:.82rem;font-weight:620}main{padding:2rem clamp(1rem,4vw,3rem) 4rem}.global-back-navigation{align-items:center;display:flex;justify-content:flex-end;margin-bottom:.8rem;min-height:2.35rem}.global-back-button{align-items:center;display:inline-flex;gap:.4rem;margin:0;width:fit-content}.prototype-banner{background:#fff3c4;border-bottom:1px solid #e6c86b;color:#5f4304;font-size:.9rem;font-weight:780;padding:.55rem 1rem;text-align:center}.site-header{align-items:center;background:rgba(255,253,247,.96);border-bottom:1px solid var(--line);display:grid;gap:.65rem 1.5rem;grid-template-columns:auto minmax(0,1fr);padding:1rem clamp(1rem,4vw,3rem);position:sticky;top:0;z-index:1000}.site-header>nav{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem 1rem;grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%}.site-header>nav .nav-row{flex-wrap:nowrap;justify-content:flex-start}.site-header>nav .quick-access-nav-row{flex:0 0 100%}.brand{align-items:center;display:flex;gap:.8rem;min-width:max-content}.brand-mark{align-items:center;background:var(--teal);border-radius:8px;color:#fff;display:inline-flex;height:2.7rem;justify-content:center;width:2.7rem}.brand small,.brand strong{display:block}.brand strong{font-size:1.08rem}.brand small{color:var(--muted);font-size:.78rem;margin-top:.1rem}nav{align-items:flex-end;display:grid;gap:.25rem;justify-content:flex-end}.signed-out-header-note{align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.9rem;font-weight:820;justify-content:center;min-height:2.5rem;padding:.5rem .85rem;text-align:center}.nav-row{display:flex;flex-wrap:wrap;gap:.6rem .72rem;justify-content:flex-end}nav a{align-items:center;border:2px solid transparent;border-radius:8px;box-shadow:0 0 0 3px transparent;color:var(--muted);display:inline-flex;font-family:var(--menu-font-family);font-size:.92rem;font-style:var(--menu-font-style,normal);font-weight:var(--menu-font-weight,720);line-height:1.05;margin:.08rem 0;min-height:2.5rem;padding:.55rem .7rem;-webkit-text-decoration:var(--menu-text-decoration,none);text-decoration:var(--menu-text-decoration,none);text-underline-offset:.18em;white-space:nowrap;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}nav a:hover{background:#eef4f1;border-color:transparent;color:var(--ink)}.mobile-nav-panel a.nav-active,nav a.nav-active{background:#ffffff;border:2px solid var(--teal);box-shadow:0 0 0 3px rgba(13,111,114,.12);color:var(--teal-dark)}.desktop-nav-category{position:relative}.desktop-nav-category[open]{z-index:1010}.desktop-nav-category>summary{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;font-family:var(--menu-font-family);font-size:.92rem;font-style:var(--menu-font-style,normal);font-weight:var(--menu-font-weight,720);gap:.42rem;line-height:1.05;list-style:none;margin:.08rem 0;min-height:2.5rem;padding:.55rem .7rem;-webkit-text-decoration:var(--menu-text-decoration,none);text-decoration:var(--menu-text-decoration,none);white-space:nowrap}.desktop-nav-category>summary::-webkit-details-marker,.mobile-nav-category>summary::-webkit-details-marker{display:none}.desktop-nav-category>summary:hover{background:#eef4f1;color:var(--ink)}.desktop-nav-category.nav-active>summary{background:#ffffff;border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,111,114,.12);color:var(--teal-dark)}.desktop-nav-category[open]>summary{background:#eef4f1;color:var(--ink)}.desktop-nav-category[open] .nav-category-chevron,.mobile-nav-category[open] .nav-category-chevron{transform:rotate(180deg)}.desktop-nav-category:not([open])>.desktop-nav-category-panel,.mobile-nav-category:not([open])>.mobile-nav-category-panel{display:none}.desktop-nav-category-panel{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.35rem;grid-template-columns:minmax(12rem,1fr);padding:.65rem;position:absolute;left:0;top:calc(100% + .35rem);width:max-content;max-width:min(20rem,calc(100vw - 2rem));min-width:13rem;z-index:1020}.desktop-nav-category:nth-last-child(-n+2)>.desktop-nav-category-panel{left:auto;right:0}.desktop-nav-category-panel a{background:#f8faf9;border-color:#e2ebe8;color:var(--ink);justify-content:flex-start;margin:0;width:100%}.mobile-nav-menu{display:none;min-width:min(100%,18rem);position:relative;z-index:1010}.mobile-nav-menu summary{align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--teal-dark);cursor:pointer;display:flex;font-weight:850;gap:.55rem;list-style:none;min-height:2.75rem;padding:.65rem .85rem;width:fit-content}.mobile-nav-menu summary::-webkit-details-marker{display:none}.mobile-nav-panel{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr);margin-top:.55rem;padding:.75rem}.mobile-quick-access-links{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-quick-access-links a{align-items:center;font-size:1rem;justify-content:center;min-height:3.1rem;text-align:center}.mobile-category-list{display:grid;gap:.4rem}.mobile-nav-category{border-top:1px solid var(--line);padding-top:.4rem}.mobile-nav-category>summary{align-items:center;border:2px solid transparent;border-radius:8px;color:var(--ink);cursor:pointer;display:grid;font-family:var(--menu-font-family);font-style:var(--menu-font-style,normal);font-weight:var(--menu-font-weight,850);gap:.5rem;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;min-height:2.6rem;padding:.55rem .65rem;-webkit-text-decoration:var(--menu-text-decoration,none);text-decoration:var(--menu-text-decoration,none);width:100%}.mobile-nav-category>summary:hover,.mobile-nav-category[open]>summary{background:#eef4f1}.mobile-nav-category.nav-active>summary{border-color:var(--teal);color:var(--teal-dark)}.mobile-nav-category-panel{display:grid;gap:.4rem;grid-template-columns:minmax(0,1fr);padding:.4rem 0 0}.mobile-nav-panel a{align-items:center;background:#f8faf9;border:2px solid #e2ebe8;border-radius:8px;color:var(--ink);display:flex;font-size:.92rem;font-weight:var(--menu-font-weight,800);min-height:2.5rem;padding:.62rem .7rem;justify-content:flex-start;width:100%}.header-daily-review-button,.mobile-nav-panel a{font-family:var(--menu-font-family);font-style:var(--menu-font-style,normal);-webkit-text-decoration:var(--menu-text-decoration,none);text-decoration:var(--menu-text-decoration,none);text-underline-offset:.18em}.header-daily-review-button{font-weight:var(--menu-font-weight,750)}.menu-typography-bold{--menu-font-weight:900}.menu-typography-italic{--menu-font-style:italic}.menu-typography-underline{--menu-text-decoration:underline}.header-tools{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;grid-column:2;grid-row:1;justify-content:flex-end;min-width:0;position:relative}.school-context-button{align-content:start;align-items:start;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--teal-dark);display:grid;gap:.15rem;padding:.55rem .75rem}.school-context-button span{color:var(--muted);font-size:.72rem;font-weight:820;text-transform:uppercase}.school-context-button strong{font-size:.92rem;line-height:1.1}.header-account-group{align-items:center;display:flex;gap:.7rem;justify-content:flex-end;min-width:0}.header-account-actions{align-items:center;display:flex;gap:.4rem}.header-account-actions .button{align-items:center;display:inline-flex;gap:.4rem;justify-content:center}.header-daily-review-button{min-width:0}.header-daily-review-button.nav-active{box-shadow:0 0 0 3px rgba(13,111,114,.18)}.session-identity{align-items:center;background:#f6f8f7;border:1px solid var(--line);border-radius:8px;color:inherit;display:grid;gap:.45rem;grid-template-columns:auto minmax(0,1fr);min-height:2.65rem;padding:.35rem .55rem;text-decoration:none}.session-identity:hover{background:#edf5f4;border-color:#b9d5d2}.session-identity:hover .session-identity-copy>span{color:var(--teal-dark)}.session-identity-icon{align-items:center;color:var(--teal-dark);display:inline-flex;justify-content:center}.session-identity-copy{align-items:flex-start;display:flex;flex-direction:column;gap:.08rem;min-width:0}.session-identity-copy>span{color:var(--ink);font-size:.82rem;font-weight:820;line-height:1.05;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-role-badge{background:#e6f4ea;border:1px solid #b9dfc3;border-radius:999px;color:var(--green);font-size:.68rem;font-weight:900;padding:.16rem .45rem;text-transform:uppercase}.compact-button{min-height:2.1rem;padding:.45rem .65rem}.header-signout-form{display:contents}.header-signout-button{align-items:center;display:inline-flex;justify-content:center;min-width:2.65rem;padding-inline:.55rem}.compact-action-row{gap:.4rem}.account-overview{align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:minmax(0,.9fr) minmax(18rem,1.1fr)}.account-overview-heading{align-items:center;display:flex;gap:.9rem;min-width:0}.account-overview-heading h2,.account-overview-heading p{margin:0}.account-overview-heading>div{min-width:0}.account-overview-heading .muted{overflow-wrap:anywhere}.account-device-icon,.account-security-icon{align-items:center;background:#e6f4ea;border:1px solid #b9dfc3;border-radius:8px;color:var(--green);display:inline-flex;flex:0 0 auto;justify-content:center}.account-security-icon{height:3.25rem;width:3.25rem}.account-access-note{align-content:center;background:#edf5f4;border-left:4px solid var(--teal);padding:.85rem 1rem}.account-access-note p{margin:.3rem 0 0}.account-device-list,.account-school-access-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.account-device-row{align-items:center;background:#fff;display:grid;gap:.85rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.85rem 1rem}.account-device-row+.account-device-row,.account-school-access-list>div+div{border-top:1px solid var(--line)}.account-device-icon{background:#edf5f4;border-color:#c8dedd;color:var(--teal-dark);height:2.75rem;width:2.75rem}.account-device-title{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.account-device-details p,.account-device-title h3{margin:0}.account-current-session-note,.account-device-details p,.account-device-details small{color:var(--muted)}.account-current-session-note{font-size:.78rem;font-weight:750}.account-school-access-list>div{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.account-school-access-list strong{color:var(--teal-dark)}.account-install-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between}.account-install-heading{align-items:center;display:flex;gap:.85rem}.account-install-heading h2,.account-install-heading p{margin:0}.account-install-instruction{color:var(--muted);margin:0;max-width:24rem;text-align:right}.stacked-cell{align-items:flex-start;display:inline-flex;flex-direction:column;gap:.15rem}.notification-bell{position:relative;justify-self:end}.notification-bell summary{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:999px;color:var(--teal-dark);cursor:pointer;display:inline-flex;gap:.35rem;justify-content:center;min-height:2.35rem;min-width:2.35rem;padding:.45rem .65rem}.notification-bell summary::-webkit-details-marker{display:none}.notification-bell summary span{background:var(--coral);border-radius:999px;color:#ffffff;font-size:.72rem;font-weight:850;min-width:1.15rem;padding:.05rem .3rem;text-align:center}.notification-menu{background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.75rem;min-width:min(26rem,calc(100vw - 2rem));max-height:min(70vh,36rem);max-width:min(26rem,calc(100vw - 2rem));overflow-y:scroll;padding:1rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:30}.notification-item,.notification-menu-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.notification-list{display:grid;gap:.65rem}.notification-item{border-top:1px solid var(--line);padding-top:.65rem}.notification-item>div{min-width:0}.notification-item :where(strong,p,a){overflow-wrap:anywhere}.notification-item.unread{border-color:#b9d8d5}.settings-saved-dialog{font-weight:850;pointer-events:none;z-index:80}.settings-saved-dialog,.upload-started-dialog{background:var(--teal-dark);border-radius:8px;box-shadow:var(--shadow);color:#ffffff;padding:.85rem 1rem;position:fixed;right:clamp(1rem,4vw,3rem);top:4rem}.upload-started-dialog{display:grid;gap:.18rem;z-index:85}.upload-started-dialog strong{font-weight:850}.upload-started-dialog span{color:#dcefeb;font-size:.86rem;font-weight:700}@keyframes pass-off-click{0%{transform:scale(1)}45%{transform:scale(.96)}to{transform:scale(1)}}@keyframes pass-off-recording{0%{box-shadow:0 0 0 0 rgba(13,111,114,.24)}70%{box-shadow:0 0 0 .45rem rgba(13,111,114,0)}to{box-shadow:0 0 0 0 rgba(13,111,114,0)}}@keyframes pass-off-recorded-pulse{0%{opacity:0;transform:translateY(-.55rem) scale(.96);box-shadow:0 0 0 0 color-mix(in srgb,var(--pass-off-recorded-accent) 0%,transparent)}30%{opacity:1;transform:translateY(0) scale(1);box-shadow:0 0 0 .65rem color-mix(in srgb,var(--pass-off-recorded-accent) 22%,transparent)}58%{transform:translateY(0) scale(1);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--pass-off-recorded-accent) 12%,transparent)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 0 0 0 transparent}}@keyframes pass-off-recorded-icon-pulse{0%{transform:scale(.75)}35%{transform:scale(1.18)}62%{transform:scale(.94)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.pass-off-recorded-icon,.pass-off-recorded-message{animation:none!important}}.quick-access-nav-row a{background:#edf5f4;border-color:#c8dcda;color:var(--ink);font-size:1.02rem;font-weight:820;justify-content:center;min-height:3.15rem;min-width:9.5rem;padding:.72rem 1.05rem}.quick-access-nav-row a:hover{background:#e2efed;border-color:#9fc5c1}.mobile-nav-panel a.nav-emphasis,.quick-access-nav-row a.nav-emphasis{background:var(--teal);border-color:var(--teal-dark);color:#ffffff;font-weight:950}.mobile-nav-panel a.nav-emphasis:hover,.quick-access-nav-row a.nav-emphasis:hover{background:var(--teal-dark);color:#ffffff}.mobile-nav-panel a.nav-emphasis.nav-active,.quick-access-nav-row a.nav-emphasis.nav-active{background:#ffffff;border-color:var(--teal);color:var(--teal-dark)}.category-nav-row a,.category-nav-row summary{font-size:.82rem;min-height:2.22rem;padding:.42rem .56rem}.page{align-content:start;align-items:start;display:grid;gap:1.5rem}.form-grid,.method-book-settings-form,.page-header,.page-header>*,.page>*,.panel,.quick-links,.section,.settings-page-form,.student-table-panel-header,.student-table-panel-header>*{max-width:100%;min-width:0}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;width:100%}.page-header>div:first-child{flex:1 1 min(28rem,100%);min-width:0}.page-header h1{overflow-wrap:anywhere}.settings-page{gap:1.15rem}.settings-page .page-header{align-items:center}.settings-page .panel.section{gap:.9rem;padding:clamp(1rem,2vw,1.35rem)}.settings-page .panel.section>div:first-child:not(.section-heading-row):not(.form-grid):not(.quick-links):not(.table-wrap):not(.section):not(.settings-form-section):not(.app-microphone-settings-heading){display:grid;gap:.28rem}.settings-page h2,.settings-page h3{line-height:1.18;margin:0}.settings-page .muted{max-width:72rem}.settings-scope-panel{align-items:center;background:#f8faf9;grid-template-columns:minmax(18rem,1fr) max-content}.settings-scope-copy{max-width:46rem}.settings-scope-switch{align-items:center;justify-content:flex-end}.settings-scope-switch .button{min-width:10.5rem}.settings-task-shortcuts{background:#f7faf9;grid-template-columns:minmax(0,1fr);justify-content:start;justify-items:start;text-align:left}.settings-school-selector-row{background:#ffffff;border:1px solid var(--line);border-radius:8px;grid-column:1/-1;padding:.8rem}.settings-page .form-grid{align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),max-content));justify-content:start}.settings-page .form-grid .wide{grid-column:1/-1;min-width:min(28rem,100%)}.settings-page .progress-item,.settings-page .settings-form-section,.settings-page .subform-panel{background:#fffdf8}.settings-page .settings-form-section{gap:.8rem}.settings-page .settings-section{display:block;min-width:0;scroll-margin-top:15rem}.settings-page form[id]{scroll-margin-top:15rem}.settings-section>.settings-section-summary{align-items:center;min-height:2.75rem}.settings-section-heading{display:grid;gap:.25rem;min-width:0}.settings-section-summary-end{align-items:center;display:flex;gap:.75rem}.settings-section-summary-end .details-chevron{color:var(--teal);flex-shrink:0}.settings-section-summary:focus-visible{border-radius:4px;outline:3px solid var(--teal);outline-offset:4px}.settings-section:not([open])>.collapsible-panel-body{display:none}.settings-page .settings-form-section>.collapsible-panel-body>.checkbox-grid{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:.85rem}@media (max-width:520px){.settings-section-summary-end{align-items:end;flex-direction:row;flex-wrap:wrap;justify-content:end;min-width:0}.settings-section-summary-end .launch-status{max-width:100%;white-space:normal}}.settings-term-grid{align-items:stretch;display:grid;gap:1rem;grid-auto-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.settings-term-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;min-width:0}.settings-term-fields{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);min-width:0}.settings-page .settings-term-fields>label>input[type=date],.settings-page .settings-term-fields>label>input[type=number]{max-width:100%;min-width:0;width:100%}.settings-term-card .settings-term-range{align-self:end;margin:0;overflow-wrap:anywhere}@media (max-width:900px){.settings-term-grid{grid-auto-rows:auto;grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.settings-term-fields{grid-template-columns:minmax(0,1fr)}}.settings-page .settings-form-section>.checkbox-grid{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:.85rem}.settings-page .check-row{align-items:center;min-height:2.25rem}.governance-evidence-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}#governance-deployment-gate{scroll-margin-top:15rem}.governance-evidence-row{align-items:end;background:#ffffff;display:grid;gap:.85rem;grid-template-columns:minmax(15rem,.75fr) minmax(18rem,1.25fr);padding:.85rem}.governance-evidence-row+.governance-evidence-row{border-top:1px solid var(--line)}.governance-evidence-check span{display:grid;gap:.15rem}.governance-evidence-check small{color:var(--muted);font-weight:650}.governance-evidence-row textarea{min-height:4.4rem}.governance-evidence-field,.governance-evidence-field>label,.protection-test-copy{display:grid;gap:.45rem}.protection-test-panel{align-items:center;background:#f2f8f7;border:1px solid #b9d8d5;border-radius:8px;display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) auto;padding:.8rem}.protection-test-copy small,.protection-test-copy span{color:var(--muted);line-height:1.4}.protection-test-panel button{white-space:nowrap}@media (max-width:1100px){.protection-test-panel{align-items:stretch;grid-template-columns:minmax(0,1fr)}.protection-test-panel button{justify-self:start}}.settings-page .compact-action-row{align-items:center}.settings-page .quick-links .button,.settings-page .quick-links button{min-height:2.35rem}.settings-page .table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.settings-page td,.settings-page th{vertical-align:middle}@media (min-width:761px){.settings-page .table-wrap table{min-width:max-content}}.panel.section>a.button,.panel.section>button.secondary{justify-self:start;width:fit-content}.student-table-panel-header{display:grid;gap:.75rem}.student-table-heading-row h2{margin:0}.student-table-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between}.student-table-toolbar .quick-links{align-items:flex-end}.student-table-toolbar .quick-links label{margin:0}.student-table-toolbar .quick-links .button,.student-table-toolbar .quick-links button{align-self:flex-end}.student-table-counter{border-top:1px solid var(--line);display:grid;gap:.65rem;margin-top:.85rem;padding-top:.85rem}.student-table-save-bar{align-items:center;background:#fff;border:2px solid var(--teal);border-radius:8px;bottom:1.25rem;box-shadow:0 10px 28px rgba(15,55,52,.2);display:flex;gap:.8rem;left:1.25rem;padding:.65rem;position:fixed;z-index:1200}.student-table-save-bar.saved{background:#effaf1;border-color:#2f8548}.student-table-save-status{align-items:center;color:var(--ink);display:inline-flex;font-size:.86rem;font-weight:800;gap:.35rem}.student-table-save-bar.saved .student-table-save-status{color:#246a39}.student-counter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.student-counter-heading{color:var(--muted);font-size:.74rem;font-weight:900;min-width:10.5rem;text-transform:uppercase}.student-counter-pill{background:#f7fbfa;border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;font-size:.84rem;font-weight:800;line-height:1;padding:.42rem .65rem;white-space:nowrap}.eyebrow{color:var(--teal-dark);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}h1,h2,h3,h4,h5,h6,p{margin:0}.sentence-case-heading{text-transform:none}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}h2{font-size:clamp(1.35rem,2.4vw,2rem)}h3{font-size:1rem}.muted{color:var(--muted)}.hero-band{background:linear-gradient(90deg,rgba(13,111,114,.92),rgba(49,122,70,.78)),url("data:image/svg+xml,%3Csvg width='1200' height='420' viewBox='0 0 1200 420' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1200' height='420' fill='%23f5f0e4'/%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='8'%3E%3Cpath d='M-40 290 C120 230 210 360 360 270 S610 210 760 280 980 360 1240 220'/%3E%3Cpath d='M-30 130 C150 70 240 190 390 120 S640 70 810 140 1040 210 1230 110'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.38'%3E%3Ccircle cx='170' cy='230' r='24'/%3E%3Ccircle cx='430' cy='166' r='18'/%3E%3Ccircle cx='715' cy='238' r='21'/%3E%3Ccircle cx='990' cy='160' r='16'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-size:cover;border-radius:8px;color:#ffffff;min-height:23rem;padding:clamp(1.5rem,5vw,3rem)}.hero-band .content{display:grid;gap:1rem;max-width:48rem}.hero-band p{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:42rem}.section{align-content:start;align-items:start;display:grid;gap:1rem}.section-heading-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:1.2rem}.metrics{align-content:start;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(6,minmax(0,1fr))}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.licence-summary-metrics{grid-template-columns:repeat(3,minmax(15.5rem,max-content));justify-content:start}.licence-summary-metrics .metric{align-items:center;justify-items:center;min-height:5.2rem;min-width:15.5rem;text-align:center}.licence-summary-metrics .metric span{color:var(--ink);font-size:1rem;font-weight:850}.licence-summary-metrics .metric strong{color:var(--teal-dark);font-size:.95rem;font-weight:760;line-height:1.2;white-space:nowrap}.metric{align-content:start;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:.35rem;min-height:7.3rem;padding:1rem}.metric span{color:var(--muted);font-size:.84rem;font-weight:720}.metric strong{font-size:2rem;line-height:1}.attendance-stat-metrics .metric{justify-items:center;text-align:center}.compact-metric{min-height:5.8rem}.compact-metric p{font-size:.82rem}.quick-links{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.65rem;min-width:0}.attendance-mode-switch{align-items:center;background:rgba(255,253,247,.98);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 28px rgba(36,54,67,.12);bottom:calc(1rem + env(safe-area-inset-bottom, 0px));padding:.35rem;position:fixed;right:clamp(1rem,4vw,3rem);width:fit-content;z-index:40}body:has(.attendance-page) main{padding-bottom:calc(8rem + env(safe-area-inset-bottom, 0px))}.attendance-mode-switch .button{min-width:7rem}.scheduling-header-actions{align-items:start;flex:1 1 100%;display:grid;gap:.65rem;justify-items:start;width:100%}.scheduling-mode-buttons,.scheduling-output-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-start;width:100%}.scheduling-mode-buttons .button{min-width:11.6rem}.scheduling-output-actions .print-action,.scheduling-output-actions .timetable-export-controls{align-self:end}.leaderboard-filter-form,.leaderboard-range-buttons{align-items:center}.leaderboard-filter-form{gap:.75rem}.leaderboard-filter-form .leaderboard-range-buttons{flex:1 1 24rem}.leaderboard-control{align-content:start;display:grid;gap:.25rem;min-width:min(12rem,100%)}.leaderboard-control span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.leaderboard-control select{min-width:min(13rem,100%);width:100%}.lesson-auto-actions,.lesson-populate-form{align-items:flex-end}.timetable-school-mode-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(18rem,max-content))}.timetable-school-mode-row{align-items:end;border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(10rem,1fr));margin:0;max-width:28rem;padding:.8rem}.timetable-school-mode-row legend{color:var(--teal-dark);font-size:.82rem;font-weight:850;padding:0 .35rem}.lesson-auto-actions>form{align-self:flex-end}.checkbox-grid{align-content:start;align-items:start;display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.compact-checkbox-grid{padding-right:.25rem}.export-field-groups,.student-family-list,.vertical-check-list{display:grid;gap:.5rem}.vertical-check-list{padding-top:.5rem}.table-ensemble-list{align-content:start;align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .55rem;min-width:12rem;max-width:24rem;padding:0}.table-ensemble-list .check-row{gap:.35rem;min-height:0;white-space:nowrap}.export-form .check-row{gap:.85rem;min-height:2rem;padding-block:.12rem}.export-form .check-row input[type=checkbox]{height:1.1rem;width:1.1rem}.export-form .checkbox-grid,.export-form .export-field-groups,.export-form .student-family-list,.export-form .vertical-check-list{gap:.65rem}.split-form-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.subform-panel{align-content:start;display:grid;gap:.75rem}.selection-panel{background:#fbf8ef;border:1px solid var(--line);border-radius:8px;padding:1rem}.selection-instrument-grid{align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));padding:0 .35rem .35rem 0}.selection-instrument-column{align-content:start;border-left:1px solid var(--line);display:grid;gap:.45rem;min-height:100%;padding-left:.65rem}.selection-instrument-column:first-child{border-left:0;padding-left:0}.selection-instrument-column h4{color:var(--teal-dark);font-size:.82rem;margin:0}.selection-student-list{align-content:start;display:grid;gap:.35rem}.historical-checkin-form{justify-items:start;max-width:100%;width:100%}.historical-checkin-layout{align-content:start;align-items:start;display:grid;gap:1rem;width:100%}.historical-entry-mode,.historical-list-mode,.historical-status-field{max-width:100%;width:fit-content}.historical-top-controls{align-items:start;display:flex;flex-wrap:wrap;gap:.75rem;max-width:100%;min-width:0}.historical-choice-group,.historical-status-buttons{display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;min-width:0}.historical-choice-button,.historical-status-button{background:#ffffff;border:1px solid var(--line);color:var(--teal-dark)}.historical-choice-button:hover,.historical-status-button:hover{background:#edf5f4;color:var(--teal-dark)}.historical-choice-button.selected{background:var(--teal);color:#ffffff}.historical-status-button.selected{color:#ffffff}.historical-status-button.status-on-time.selected{background:var(--green);color:#ffffff}.historical-status-button.status-late.selected{background:var(--gold);color:var(--ink)}.historical-status-button.status-absent.selected{background:var(--red);color:#ffffff}.historical-status-button.status-excused.selected{background:var(--blue);color:#ffffff}.historical-primary-controls,.historical-secondary-controls{align-content:start;align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(13rem,max-content))}.historical-date-controls{align-content:start;align-items:end;display:grid;gap:.75rem;grid-template-columns:max-content max-content;justify-content:start}.historical-rehearsal-selection{grid-column:1/-1;justify-self:start}.historical-refresh-note{align-self:center;margin:0}.historical-show-all-toggle{align-self:end;min-height:2.45rem}.historical-makeup-fields{grid-column:1/-1;max-width:min(100%,46rem);width:100%}.historical-makeup-grid{align-items:end;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(9rem,max-content));justify-content:start}.historical-student-selection{width:min(100%,58rem)}.historical-instrument-grid{align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(12rem,max-content));justify-content:start;max-height:none;overflow:visible}.historical-instrument-column{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.45rem;padding:.65rem}.historical-instrument-column h4{color:var(--teal-dark);font-size:.88rem;margin:0}.historical-student-list{grid-template-columns:1fr}.historical-student-list .check-row{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem}.historical-student-list .check-row:has(input:checked){background:#edf5f4;border-color:var(--teal)}.historical-current-mark{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.historical-current-mark-pill{border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:900;line-height:1;padding:.28rem .45rem}.historical-selection-actions{align-items:center;justify-content:flex-start}.historical-submit-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.historical-attendance-import-form{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1rem;width:min(100%,58rem)}.historical-import-heading{display:grid;gap:.15rem}.historical-import-heading h3{font-size:1rem;margin:0}.historical-import-hint{max-width:52rem}.historical-import-grid{align-items:end;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(13rem,max-content));justify-content:start}.historical-import-checkbox{align-self:end;min-height:2.45rem}.button.danger,button.danger:not(:disabled){background:#b42336;border-color:#b42336;color:#ffffff}.button.danger:hover,button.danger:not(:disabled):hover{background:#8f1d2d;border-color:#8f1d2d;color:#ffffff}button.danger:disabled,button.danger:disabled:hover{background:#c8d5d3;border-color:#c8d5d3;color:#eef4f1}.historical-rehearsal-options{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem .65rem}.historical-rehearsal-options .check-row{background:#ffffff;border:1px solid var(--line);border-radius:8px;gap:.4rem;min-height:0;padding:.45rem .6rem;white-space:nowrap}.historical-rehearsal-options .check-row:has(input:checked){background:#edf5f4;border-color:var(--teal)}.student-table-name-cell{align-content:start;display:grid;gap:.35rem}.student-table-name-column{min-width:21rem}.student-name-edit-row{align-items:center;display:grid;gap:.55rem;grid-template-columns:max-content max-content;justify-content:start;min-width:max-content;white-space:nowrap;width:max-content}.student-name-edit-row .fit-field{max-width:none}.student-name-edit-row label{margin:0}.student-table-profile-link{align-items:center;background:#edf5f4;border:1px solid #cfe0dc;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.74rem;font-weight:850;justify-content:center;min-height:2rem;padding:.35rem .65rem;text-decoration:none;white-space:nowrap}.student-table-profile-link:hover{background:#dcecea}.student-table-actions{text-align:center;vertical-align:middle;white-space:nowrap}.bulk-action-grid{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(14rem,.9fr) minmax(16rem,1.4fr) auto}.bulk-action-detail{align-content:end;display:grid;gap:.55rem;min-height:4.75rem}.bulk-action-detail.danger-zone{align-content:center;background:#fff5f6;border:1px solid #e9b6bf;border-radius:8px;padding:.65rem .75rem}.delete-confirmation{display:grid;gap:.45rem}.delete-confirmation strong{color:#9a2536;font-size:.82rem}.bulk-action-detail .form-fieldset{max-width:100%}.bulk-action-note{align-self:center;margin:0}.instrument-family-grid{align-content:start;align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-panel{max-width:46rem}.native-auth-shell main{align-items:start;display:grid;justify-items:center;min-height:calc(100vh - 2.25rem);padding:clamp(1.25rem,5vw,4rem) 1rem}.native-sign-in-page{display:grid;gap:1rem;max-width:38rem;width:100%}.native-sign-in-heading{align-items:center;display:flex;gap:.8rem}.native-sign-in-heading>span{align-items:center;background:var(--teal);border-radius:8px;color:#ffffff;display:inline-flex;height:3.25rem;justify-content:center;width:3.25rem}.native-sign-in-complete h1,.native-sign-in-complete p,.native-sign-in-heading h1,.native-sign-in-heading p{margin:0}.native-sign-in-confirmation{gap:1rem}.native-sign-in-account{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:.75rem;padding-bottom:.85rem}.native-sign-in-account>span{color:var(--teal-dark)}.native-sign-in-account div{display:grid;gap:.15rem}.native-sign-in-account small,.native-sign-in-account span{color:var(--muted)}.native-sign-in-security-note{align-items:flex-start;background:#eef7f2;border-left:4px solid #23865b;display:flex;gap:.55rem;padding:.75rem}.native-sign-in-security-note svg{flex:0 0 auto;margin-top:.08rem}.native-sign-in-complete{justify-items:center;margin-top:8vh;text-align:center}.native-sign-in-complete>svg{color:#23865b}.inline-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.school-switch-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.school-switch-grid form{display:grid}.school-switch-button{align-content:start;align-items:start;display:grid;gap:.2rem;justify-items:start;min-height:5rem;text-align:left}.school-switch-button small{font-size:.78rem;font-weight:720;opacity:.86}.warning-message{background:#fff1d7;border-color:#e9c16a;color:#876008}.grid-two{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr)}.recordings-page-grid{grid-template-columns:minmax(20rem,.85fr) minmax(0,1.15fr)}.recordings-lesson-notes-layout{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.recording-rules-grid{align-items:stretch;display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.recording-rules-grid div{background:#f7faf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;padding:.85rem}.recording-rules-grid strong{color:var(--teal-dark)}.recording-rules-grid p{color:var(--muted);font-size:.9rem}.lesson-note-future-panel{border-color:rgba(13,111,114,.28)}.lesson-note-workflow-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.lesson-note-workflow-grid .readiness-item{min-height:8.25rem}.lesson-note-readiness-grid{align-items:stretch;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-top:.65rem}.lesson-note-boundary-panel{align-items:start;background:#f7faf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1rem}.lesson-note-action-preview{align-content:start;display:grid;gap:.65rem;min-width:min(18rem,100%)}.lesson-note-engine-button{justify-self:start;margin-top:.5rem}@keyframes spin-slow{to{transform:rotate(1turn)}}.spin-slow{animation:spin-slow 1s linear infinite}.lesson-note-timing-panel{border-color:rgba(30,83,84,.24)}.lesson-note-window-grid{align-items:stretch;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(12rem,max-content))}.lesson-note-window-card{align-content:center;background:#f7faf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;min-height:5.4rem;min-width:12rem;padding:.8rem}.lesson-note-window-card strong{color:var(--teal-dark)}.lesson-note-window-card span{color:var(--muted);font-size:.88rem;font-weight:760}.lesson-note-window-card .compact-button{justify-self:start;margin-top:.25rem}.timed-dictation-status{color:var(--muted);font-size:.86rem;font-weight:760}.auto-lesson-note-recorder{display:grid;gap:.85rem}.auto-lesson-note-control{align-items:end;border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr) auto;padding:.9rem}.auto-lesson-note-control.is-ready{background:#f1faf5;border-color:#b8dfc8}.auto-lesson-note-control.is-locked{background:#fffdf7;border-color:#ead4a0}.auto-lesson-note-control h3{margin:0}.auto-lesson-note-window-grid{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr))}.auto-lesson-note-card{align-content:start;min-height:8.5rem}.auto-lesson-note-card-heading{align-items:start;display:flex;gap:.5rem;justify-content:space-between}.auto-lesson-note-card-heading strong{color:var(--ink)}.auto-note-status-armed{background:#eef8f8;border-color:#c8d8d5}.auto-note-status-recording{background:#fff1d7;border-color:#e9c16a}.auto-note-status-transcribing,.auto-note-status-waiting{background:#f7faf9;border-color:#c8d8d5}.auto-note-status-draft-saved{background:#e6f4ea;border-color:#b8dfc8}.auto-note-status-disabled,.auto-note-status-ended{background:#f4f5f4}.auto-note-status-failed{background:#fde7ea;border-color:#efb4bd}.lesson-note-storage-note{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:760;gap:.45rem .65rem;padding:.75rem .85rem}.lesson-note-draft-assistant{background:#edf7ec;border:1px solid #c9e6cc;border-radius:10px;padding:.9rem;display:grid;gap:.75rem}.lesson-note-draft-meta-grid{display:grid;gap:.65rem;grid-template-columns:minmax(12rem,1fr) minmax(16rem,2fr)}.lesson-note-draft-meta-grid label{margin:0}.lesson-note-transcription-panel{align-items:end;border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem}.lesson-note-transcription-panel strong{color:var(--teal-dark)}.lesson-note-audio-controls{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.lesson-note-audio-input{min-width:min(18rem,100%)}.lesson-note-audio-input input{min-height:2.55rem}.lesson-note-draft-grid{align-items:start;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr)}.lesson-note-summary-heading{align-items:start;display:grid;gap:.45rem}.lesson-note-summary-heading h2{margin-bottom:0}.lesson-note-draft-heading{display:grid;gap:.35rem;margin-bottom:.35rem}.lesson-note-draft-subtitle{margin:0;max-width:52ch;line-height:1.35}.lesson-note-draft-heading h3{margin:.02rem 0 0}.lesson-note-draft-grid textarea{width:100%}.lesson-note-copy-action{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.session-summary-form textarea{width:min(46rem,100%)}.session-summary-checklist{display:grid;gap:.65rem}.session-summary-list{display:grid;gap:.85rem}.session-summary-card{background:#fffdfa;border:1px solid var(--line);border-radius:8px;padding:1rem}.session-summary-status{align-items:center;display:inline-flex;gap:.6rem}.session-summary-text{background:#ffffff;border:1px solid var(--line);border-radius:8px;line-height:1.55;max-width:64rem;padding:1rem;white-space:pre-wrap}.student-attendance-grid,.student-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-attendance-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;grid-column:1/-1;justify-content:space-between}.student-profile-attendance-controls .quick-links{justify-content:flex-start}.student-attendance-summary{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-attendance-summary .metric{min-height:6.3rem}.student-profile-bottom-panel{order:90}.student-swap-requests-panel{order:91}.launch-summary{align-items:start;display:flex;gap:1rem;justify-content:space-between}.launch-status{align-items:center;background:#edf5f4;color:var(--teal-dark);display:inline-flex;font-weight:850;gap:.55rem;padding:.75rem .9rem}.governance-gate-list,.launch-status{border:1px solid var(--line);border-radius:8px}.governance-gate-list{display:grid;overflow:hidden}.governance-gate-row{align-items:center;background:#ffffff;display:flex;gap:1rem;justify-content:space-between;min-height:3.2rem;padding:.65rem .8rem}.governance-gate-row+.governance-gate-row{border-top:1px solid var(--line)}.readiness-inline{font-size:.86rem;font-weight:800;white-space:nowrap}.readiness-inline.readiness-ready{color:var(--success)}.readiness-inline.readiness-blocked{color:var(--danger)}.release-readiness-panel{gap:1rem}.readiness-summary{white-space:nowrap}.release-readiness-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.launch-next-actions-panel{border-color:rgba(13,111,114,.32)}.launch-action-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}.account-beta-action-summary{border-top:1px solid var(--line);margin-top:.25rem;padding-top:1rem}.launch-action-card{gap:.55rem}.launch-action-card .compact-button{align-self:end;justify-self:start;margin-top:.25rem}.document-card-grid,.document-contact-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.document-info-card{align-content:start;background:#f8faf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:.45rem;padding:.9rem}.documents-page .eyebrow,.documents-page h1,.documents-page h2,.documents-page h3{justify-self:start;text-align:left}.documents-page .progress-meta{justify-content:flex-start;text-align:left}.account-setup-steps{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.account-setup-steps .compact-button{margin-top:.55rem}.release-command-list{display:grid;gap:.65rem}.release-command-row{align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.45rem;grid-template-columns:minmax(14rem,.82fr) minmax(0,1.18fr);padding:.65rem}.release-command-row code{align-self:start;background:#f8faf9;border:1px solid #e5ebe8;border-radius:8px;display:block;overflow-wrap:anywhere;padding:.45rem .55rem}.release-command-row span{color:var(--muted);font-size:.92rem}.readiness-item{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.35rem;padding:.75rem}.readiness-item-heading{align-items:start;display:flex;gap:.65rem;justify-content:space-between}.readiness-item-heading h3{margin:0}.readiness-item-heading span{border-radius:999px;font-size:.7rem;font-weight:900;padding:.22rem .5rem;text-transform:uppercase}.readiness-ready{background:#e6f4ea;border-color:#b8dfc8;color:var(--green)}.readiness-attention{background:#fff4d8;border-color:#e7c678;color:#7a4e00}.readiness-blocked{background:#f9e4e6;border-color:#e2b4ba;color:var(--red)}.readiness-attention .muted,.readiness-blocked .muted,.readiness-ready .muted{color:inherit}.launch-link-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.launch-list{display:grid;gap:.55rem;margin:0;padding-left:1.2rem}.launch-orientation-panel{background:#edf7f5;border-color:#b8d8d3}.launch-collapsible-section>summary{cursor:pointer;list-style:none}.launch-collapsible-section>summary::-webkit-details-marker{display:none}.launch-collapsible-section>summary:after{color:var(--teal-dark);content:"Open full roadmap";font-size:.82rem;font-weight:820}.launch-collapsible-section[open]>summary:after{content:"Hide full roadmap"}.launch-collapsible-content{display:grid;gap:1rem;padding-top:.25rem}.compact-launch-list{gap:.35rem;padding-left:1rem}.backup-status-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:.35rem 0}.backup-status-grid div{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.2rem;padding:.65rem}.backup-status-grid dt{color:var(--muted);font-size:.74rem;font-weight:820}.backup-status-grid dd{font-weight:780;margin:0;overflow-wrap:anywhere}.daily-review-card-header,.daily-review-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.daily-review-events{display:grid;gap:1rem}.daily-review-checklist,.daily-review-issue-grid,.daily-review-mini-checklist{display:grid;gap:.75rem}.daily-review-checklist{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:1rem}.daily-review-check-item,.daily-review-issue-card{border:1px solid var(--line);border-left:.35rem solid var(--green);border-radius:8px;color:var(--ink);display:grid;gap:.2rem;min-height:5.4rem;padding:.8rem;text-decoration:none}.daily-review-check-item.readiness-attention,.daily-review-issue-card{border-left-color:#b97805}.daily-review-check-item.readiness-blocked{border-left-color:#b83b4a}.daily-review-check-item span,.daily-review-issue-card span{color:var(--muted);font-size:.88rem}.daily-review-issue-details summary{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;list-style:none}.daily-review-issue-details summary::-webkit-details-marker{display:none}.daily-review-issue-details summary::marker{content:""}.daily-review-issue-summary-text{display:grid;gap:.2rem}.daily-review-issue-details[open]>summary .details-chevron{transform:rotate(90deg)}.daily-review-issue-student-list{border-top:1px solid var(--line);display:grid;gap:.55rem;margin-top:.75rem;padding-top:.75rem}.daily-review-issue-student-row{align-items:center;background:#ffffff;border:1px solid #e4ece9;border-radius:8px;display:grid;gap:.45rem .75rem;grid-template-columns:minmax(10rem,max-content) auto;justify-content:space-between;padding:.65rem .75rem}.daily-review-issue-student-main{align-content:start;display:grid;gap:.12rem}.daily-review-issue-actions,.daily-review-issue-student-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.daily-review-issue-card .status-pill{font-size:.78rem}.daily-review-issue-card .status-active,.daily-review-issue-card .status-approved,.daily-review-issue-card .status-completed,.daily-review-issue-card .status-on-time,.daily-review-issue-card .status-open,.daily-review-issue-card .status-passed{color:var(--green)}.daily-review-issue-card .status-late,.daily-review-issue-card .status-paused,.daily-review-issue-card .status-pending,.daily-review-issue-card .status-unverified,.daily-review-issue-card .status-working-on-it{color:#876008}.daily-review-issue-card .status-absent,.daily-review-issue-card .status-cancelled,.daily-review-issue-card .status-closed,.daily-review-issue-card .status-declined,.daily-review-issue-card .status-denied,.daily-review-issue-card .status-inactive,.daily-review-issue-card .status-not-passed{color:var(--red)}.daily-review-issue-card .status-excused,.daily-review-issue-card .status-not-started,.daily-review-issue-card .status-not-yet,.daily-review-issue-card .status-scheduled{color:var(--blue)}.daily-review-issue-card .status-without-instrument{color:#8a5c00}.daily-review-issue-scan-time{grid-column:1/-1}.daily-review-inline-resolution{align-items:end;border-top:1px solid var(--line);display:grid;gap:.55rem;grid-column:1/-1;grid-template-columns:minmax(10rem,14rem) minmax(9rem,11rem) minmax(12rem,max-content) auto;padding-top:.55rem}.daily-review-resolution-status,.daily-review-resolution-time{align-content:start;display:grid;gap:.25rem}.daily-review-resolution-status span,.daily-review-resolution-time span{color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.daily-review-resolution-check{align-self:end;margin:0}.daily-review-inline-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.daily-review-key-metrics{margin-top:1rem}.daily-review-signoff-panel.daily-review-signoff-complete{border-left:.35rem solid var(--green)}.daily-review-complete-summary{background:#e8f7ef;border:1px solid #9fd9bb;border-radius:8px;color:#16633f;display:grid;gap:.85rem;margin-top:1rem;padding:.9rem}.daily-review-complete-summary>span{color:#245746;font-weight:680}.daily-review-complete-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));margin:0}.daily-review-complete-grid div{background:#f8fffb;border:1px solid #bfe4cf;border-radius:8px;display:grid;gap:.2rem;padding:.65rem}.daily-review-complete-grid dt{color:#4b735f;font-size:.74rem;font-weight:840;text-transform:uppercase}.daily-review-complete-grid dd{color:#123d2a;font-weight:840;margin:0}.daily-review-saved-note{background:#f8fffb;border-left:.22rem solid #38a26d;color:#123d2a;margin:0;padding:.65rem .75rem}.daily-review-card{background:#ffffff;color:var(--ink)}.daily-review-card,.daily-review-priority{border-left:.35rem solid var(--green)}.daily-review-priority.readiness-attention{border-left-color:#b97805}.daily-review-card.readiness-attention{background:#ffffff;border-left-color:#b97805;color:var(--ink)}.daily-review-card.readiness-ready{background:#ffffff;color:var(--ink)}.daily-review-card.readiness-attention .muted,.daily-review-card.readiness-ready .muted{color:var(--muted)}.daily-review-card-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.daily-review-attention-list{display:grid;gap:.4rem;margin:0;padding-left:1.2rem}.daily-review-mini-checklist{margin:1rem 0}.daily-review-accepted-banner{background:#e8f7ef;border:1px solid #9fd9bb;border-radius:8px;color:#16633f;font-weight:760;margin-top:1rem;padding:.75rem .85rem}.daily-review-acceptance-form{align-items:flex-start;border-top:1px solid var(--line);display:grid;gap:.85rem;margin-top:1rem;padding-top:1rem}.daily-review-acceptance-list{display:grid;gap:.55rem}.daily-review-update-note{background:#fff4d8;border:1px solid #e8c063;border-radius:8px;color:#7a4e00;font-weight:760;padding:.7rem .8rem}.daily-review-accept-row{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;margin:0;padding:.7rem .8rem}.compact-code-list{display:flex;flex-wrap:wrap;gap:.45rem}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-four,.grid-three{align-items:start;display:grid;gap:1rem}.form-grid,.grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{align-content:start;align-items:start;display:grid;gap:.75rem;justify-items:start;width:100%}.form-grid .wide{grid-column:span 2;justify-self:start}.form-grid>.button,.form-grid>button,.settings-form-section>.button,.settings-form-section>button{align-self:end;height:fit-content;justify-self:start;width:fit-content}.form-grid>.button,.form-grid>button{min-width:max-content}.pass-off-date-group{display:grid;gap:.35rem;justify-items:start}.pass-off-date-group .field-label{margin:0}.date-jump-row{align-items:end;display:grid;gap:.75rem;grid-template-columns:10.75rem max-content max-content;justify-content:start}.date-jump-row input[type=date]{max-width:10.75rem;min-width:10.75rem;width:10.75rem}.form-fieldset{align-content:start;align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;margin:0;max-width:100%;min-inline-size:0;min-width:0;padding:.85rem}.form-fieldset legend{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.02em;padding:0 .25rem;text-transform:uppercase}.collapsible-panel{gap:0}.collapsible-panel-summary{align-items:start;cursor:pointer;display:flex;gap:1rem;justify-content:space-between}.collapsible-panel-summary::-webkit-details-marker{display:none}.collapsible-panel-summary::marker{content:""}.collapsible-panel-body{align-content:start;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0;padding-top:1rem;width:100%}.collapsible-panel[open]>summary .details-chevron{transform:rotate(180deg)}.compact-list,.inline-edit-row{align-content:start;align-items:start;display:grid;gap:.75rem}.inline-edit-row{border-top:1px solid var(--line);grid-template-columns:minmax(12rem,1fr) auto auto;padding-top:.75rem}.method-book-editor,.method-book-list,.method-book-piece-panel,.method-book-settings-form,.settings-page-form{align-content:start;align-items:start;display:grid;gap:1rem;width:100%}.feedback-sound-setting{align-content:start;display:grid;gap:.8rem;min-width:0}.feedback-sound-setting legend{font-size:1rem;font-weight:800;padding:0 .35rem}.feedback-sound-preview{display:grid;gap:.45rem;min-width:0}.feedback-sound-preview audio{max-width:100%;width:100%}.method-book-editor{border:1px solid var(--line);border-radius:8px;padding:.8rem}.method-book-title-grid .method-book-title-field{grid-column:span 2;width:auto}.method-book-title-grid .method-book-title-field input{max-width:100%;width:auto}.method-book-import-box,.method-book-piece-panel{background:#f6faf8;border:1px solid var(--line);border-radius:8px;padding:.8rem}.method-book-import-box{align-content:start;align-items:start;display:grid;gap:.75rem;margin-top:1rem}.method-book-import-box h3,.method-book-piece-panel h3{margin:0}.method-book-piece-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);min-width:0}.method-book-number-list{align-content:start;align-items:start;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem}.piece-number-button{align-items:center;aspect-ratio:1/1;background:#ffffff;border:1px solid var(--line);color:var(--teal-dark);display:inline-flex;height:var(--piece-number-button-size);justify-content:center;min-height:var(--piece-number-button-size);min-width:var(--piece-number-button-size);padding:0;width:var(--piece-number-button-size)}.piece-number-button:hover{background:#edf5f4;color:var(--teal-dark);transform:none}.piece-number-button.selected{background:var(--teal);color:#ffffff}.piece-number-button.excluded{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.method-book-detail-fields{align-content:start;align-items:start;display:grid;gap:.75rem;min-width:0}.selected-piece-heading{display:flex}.method-book-number-row{align-content:start;align-items:start;border-bottom:1px solid #e8eeee;display:grid;gap:.6rem;grid-template-columns:4.5rem minmax(10rem,1fr) minmax(10rem,1fr) auto;padding:.45rem 0 .65rem}.method-book-number-row:last-child{border-bottom:0}.piece-number-pill{align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--teal-dark);display:inline-flex;font-weight:850;justify-content:center;min-height:2.45rem;padding:.45rem .7rem}.method-book-detail-fields:has(.exclude-checkbox input:checked) .piece-number-pill,.method-book-number-row.excluded .piece-number-pill,.method-book-number-row:has(.exclude-checkbox input:checked) .piece-number-pill,.selected-piece-heading.excluded .piece-number-pill{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.method-book-piece-row{align-items:start;border-top:1px solid var(--line);gap:.75rem;grid-template-columns:minmax(5rem,.55fr) minmax(10rem,1.2fr) minmax(10rem,1.2fr) auto;padding-top:.75rem}.checkpoint-library-editor{border:1px solid var(--line);border-radius:8px;padding:.8rem}.checkpoint-library-list{align-content:start;align-items:start;display:grid;gap:.65rem;padding-right:.35rem}.checkpoint-library-row{align-items:start;border-top:1px solid var(--line);display:grid;gap:.75rem;grid-template-columns:minmax(16rem,1fr) minmax(10rem,.75fr) minmax(12rem,1fr);padding-top:.65rem}.checkpoint-library-row:first-child{border-top:0;padding-top:0}.checkpoint-library-item-main{display:grid;gap:.25rem}.checkpoint-library-item-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.checkpoint-library-delete-button{min-height:2rem}.checkpoint-label-badge{background:#edf5f4;border:1px solid var(--line);border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.78rem;font-weight:850;margin:.35rem 0 0;padding:.22rem .55rem}.method-book-completion-form{align-items:start;display:grid;gap:1rem}.method-book-completion-meta{align-items:end;grid-template-columns:max-content minmax(16rem,32rem)}.method-book-pass-form{align-items:end;grid-template-columns:minmax(12rem,1fr) auto}.method-book-pass-form>strong{grid-column:1/-1}.method-book-pass-button{min-width:5.75rem}.method-book-checkpoint-option{color:#8f650f;font-weight:800}.method-book-student-progress-layout{align-items:start;display:grid;gap:1rem;max-width:68rem}.method-book-student-selector{max-width:38rem;width:min(100%,38rem)}.method-book-view-controls{align-items:end;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));max-width:68rem;width:100%}.method-book-view-controls .method-book-student-selector,.method-book-view-controls .method-book-view-selector,.student-method-book-selector-panel .method-book-view-selector{max-width:none;width:100%}.method-book-catalogue-controls{background:#f7fbfa;border:1px solid var(--line);border-radius:8px;display:grid;gap:.8rem;max-width:68rem;padding:.9rem;width:100%}.method-book-school-default-control{align-items:end;background:#fffaf0;border:1px solid #ead8a7;border-radius:8px;display:grid;gap:.8rem 1rem;grid-template-columns:minmax(15rem,1fr) minmax(18rem,1.25fr);max-width:68rem;padding:.9rem;width:100%}.method-book-school-default-control>div{display:grid;gap:.25rem;min-width:0}.method-book-school-default-control h3,.method-book-school-default-control p{margin:0}.method-book-school-default-form{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(12rem,1fr) auto;min-width:0;width:100%}.method-book-add-assignment-form label,.method-book-school-default-form label{display:grid;gap:.35rem;min-width:0}.method-book-view-heading{align-items:start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.method-book-view-heading>div{display:grid;gap:.25rem;min-width:0}.method-book-view-heading h2,.method-book-view-heading h3,.method-book-view-heading p{margin:0}.status-pill.method-book-default-badge{background:#fff5d7;border:1px solid #e4c568;color:#7f560b;flex:0 0 auto}.method-book-view-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.method-book-catalogue-actions{align-items:end;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.8rem}.method-book-default-form{flex:0 0 auto}.method-book-add-assignment-form{align-items:end;display:grid;flex:1 1 30rem;gap:.65rem;grid-template-columns:minmax(14rem,1fr) auto;max-width:42rem;min-width:0}.method-book-selected-student-card{border:1px solid var(--line);border-radius:8px;display:grid;gap:.75rem;padding:1rem}.method-book-selected-student-heading{align-items:start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.method-book-selected-student-heading>div{min-width:0}.method-book-selected-progress-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.method-book-mark-progress-row{border-top:1px solid var(--line);display:grid;gap:.6rem;padding-top:.75rem}.method-book-piece-progress-list{display:grid;gap:1rem}.method-book-piece-grid{align-items:stretch;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.method-book-progress-piece{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;gap:.7rem;grid-template-columns:minmax(0,1fr) auto;min-height:5rem;min-width:0;padding:.65rem}.method-book-progress-piece.is-completed{background:#eef8f0;border-color:#b9ddc2}.method-book-progress-piece-main{align-content:start;display:grid;gap:.25rem;min-width:0}.method-book-pass-off-completion-note{color:var(--muted);line-height:1.3}.method-book-progress-toggle-form{display:flex;justify-content:end}.method-book-progress-toggle{align-items:center;background:#ffffff;border:1px solid #a8cbc8;color:var(--teal-dark);display:inline-flex;gap:.35rem;justify-content:center;min-height:2.55rem;min-width:9.8rem;padding:.48rem .7rem}.method-book-progress-toggle:hover:not(:disabled){background:#edf5f4;color:var(--teal-dark)}.method-book-progress-toggle.is-completed{background:#ddf2e3;border-color:#9dcea9;color:#1f733e}.method-book-progress-toggle:disabled{background:#fff5d7;border-color:#e4c568;color:#7f560b;cursor:not-allowed;opacity:1}.student-method-book-selector-panel{display:grid;gap:.9rem}@media (max-width:760px){.method-book-add-assignment-form,.method-book-progress-piece,.method-book-school-default-control,.method-book-school-default-form,.method-book-view-controls{grid-template-columns:1fr}.method-book-catalogue-actions,.method-book-view-heading{align-items:stretch;flex-direction:column}.method-book-add-assignment-form,.method-book-add-assignment-form button,.method-book-default-form,.method-book-default-form button,.method-book-progress-toggle,.method-book-progress-toggle-form,.method-book-school-default-form,.method-book-school-default-form button{max-width:none;width:100%}.method-book-default-badge{align-self:flex-start}}.method-book-piece-progress-dropdown{border:1px solid var(--line);border-radius:8px;overflow:hidden}.method-book-piece-progress-dropdown>summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;list-style:none;min-height:3rem;padding:.75rem .9rem}.method-book-piece-progress-dropdown>summary::-webkit-details-marker{display:none}.method-book-piece-progress-dropdown>summary::marker{content:""}.method-book-piece-progress-dropdown>summary>span:first-child{font-size:1rem;font-weight:900}.method-book-piece-progress-dropdown[open]>summary{border-bottom:1px solid var(--line)}.method-book-piece-progress-dropdown[open]>summary .details-chevron{transform:rotate(180deg)}.method-book-piece-progress-dropdown>.method-book-piece-grid,.method-book-piece-progress-dropdown>.muted{margin:.75rem}.method-book-piece-progress-count{color:var(--muted);font-size:.8rem;font-weight:850;margin-left:auto;text-transform:uppercase}.method-book-piece-row{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;min-height:4.15rem;padding:.55rem .65rem}.method-book-piece-row.is-completed{background:#eef8f0;border-color:#b9ddc2}.method-book-piece-number{align-items:center;color:var(--muted);display:inline-flex;font-size:.72rem;font-weight:850;gap:.3rem;text-transform:uppercase}.method-book-piece-title{align-items:center;display:inline-flex;font-weight:800;gap:.35rem;line-height:1.25;min-width:0;overflow-wrap:anywhere}.method-book-piece-complete-icon{color:var(--green);flex:0 0 auto}.method-book-checkpoint-star{color:#c79214;flex:0 0 auto}.method-book-checkpoint-grid{align-content:start;align-items:stretch;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.method-book-check-card{align-items:start;border:1px solid var(--line);border-radius:8px;display:flex;gap:.55rem;padding:.65rem}.method-book-check-card>span{align-content:start;display:grid;gap:.18rem}.method-book-student-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.form-action-row{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:flex-end;padding-top:1rem}.table-wrap td label:not(.check-row){width:fit-content}.table-details{min-width:12rem}.table-details summary{cursor:pointer;font-weight:800}.fit-field{max-width:100%;width:auto}table{border-collapse:collapse;min-width:100%}.table-wrap{border-radius:8px;max-width:100%;min-width:0;overscroll-behavior-x:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y pinch-zoom;width:100%}.table-wrap:focus-within{outline:2px solid rgba(13,111,114,.16);outline-offset:2px}.table-wrap table{table-layout:auto;width:100%}.student-roster-table-wrap{border-radius:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-top:var(--student-roster-floating-header-height);--student-roster-floating-header-height:2.5rem}.student-roster-table-wrap table{min-width:max-content}.student-roster-table{border-collapse:separate;border-spacing:0}.student-roster-table-wrap td,.student-roster-table-wrap th{padding:.42rem .55rem;vertical-align:middle}.student-roster-table-wrap thead th{background-clip:padding-box;background:#f7fbfa;border:0;box-shadow:0 1px 0 var(--line);font-size:0;height:0;line-height:0;overflow:hidden;padding:0;position:static;visibility:hidden;z-index:auto}.student-roster-table-wrap td:first-child,.student-roster-table-wrap th:first-child{background:#ffffff;box-shadow:1px 0 0 var(--line);left:0;position:sticky;z-index:2}.student-roster-table-wrap thead th:first-child{background:#f7fbfa;z-index:9}.student-roster-table-wrap tbody td:first-child{background-clip:padding-box}.student-roster-table-wrap.student-roster-table-wrap thead th{border:0;font-size:0;height:0;line-height:0;overflow:hidden;padding:0;position:static;visibility:hidden;z-index:auto}.student-roster-floating-header{border-radius:8px 8px 0 0;box-shadow:0 10px 20px rgba(23,32,42,.1);overflow:hidden;pointer-events:none;position:fixed;z-index:44}.student-roster-floating-header-row{display:grid;will-change:transform}.student-roster-floating-header-cell{align-items:center;background:#f7fbfa;border-bottom:1px solid var(--line);border-right:1px solid #e7eeec;box-shadow:inset 0 1px 0 rgba(255,255,255,.72);display:flex;font-size:.86rem;font-weight:850;min-width:0;overflow:hidden;padding:.42rem .55rem;text-overflow:ellipsis;white-space:nowrap}.student-roster-floating-header-cell:first-child{box-shadow:1px 0 0 var(--line),inset 0 1px 0 rgba(255,255,255,.72)}@media (min-width:761px){.student-roster-table-wrap td{white-space:nowrap}.student-roster-table-wrap td[data-label=Student]{min-width:8rem}.student-roster-table-wrap td[data-label=School]{min-width:9rem}.student-roster-table-wrap td[data-label=Class]{min-width:4.75rem}.student-roster-table-wrap td[data-label=Instrument]{min-width:8.2rem}.student-roster-table-wrap td[data-label=Ensembles]{min-width:11rem}.student-roster-table-wrap td[data-label="Card Value"]{min-width:9.4rem}.student-roster-table-wrap td[data-label=Licence]{min-width:7.1rem}.student-roster-table-wrap td[data-label="Instrument Year"]{min-width:8.8rem}.student-roster-table-wrap td[data-label="Lesson Type"]{min-width:7.7rem}.student-roster-table-wrap td[data-label=Profile]{min-width:7.3rem}.student-roster-table-wrap td[data-label^="Home Contact"]{min-width:12.2rem}}.leaderboard-table{border-collapse:separate;border-spacing:0 .35rem}.leaderboard-table-wrap{max-width:100%;overscroll-behavior-x:contain;overflow-x:auto;width:fit-content}.leaderboard-table-wrap .leaderboard-table{min-width:max-content;width:max-content}.leaderboard-results-heading{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.leaderboard-results-section{scroll-margin-top:12rem}.leaderboard-pdf-content{min-width:0}.leaderboard-export-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.leaderboard-export-header h2{margin:0}.leaderboard-export-context{margin:.35rem 0 0}.leaderboard-export-footer{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem 1rem;justify-content:space-between;margin-top:1.5rem;padding-top:.75rem}.leaderboard-export-footer p,.leaderboard-results-heading h2{margin:0}.leaderboard-results-heading .muted{font-size:.9rem;font-weight:750}.practice-leaderboard-columns{align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-leaderboard-columns .leaderboard-table-wrap{max-width:100%}.teacher-leaderboard-section{border-left:1px solid var(--line);min-width:0;padding-left:1.5rem}.teacher-practice-profile-setup,.teacher-practice-switcher{display:grid;gap:1rem}.teacher-practice-profile-form{align-items:end;display:grid;gap:.85rem;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto}.teacher-practice-active-note{align-items:center;background:#eaf6f1;border:1px solid #b9d9cc;border-radius:8px;display:flex;gap:.65rem 1rem;justify-content:space-between;padding:.8rem 1rem}.teacher-practice-active-note span{color:var(--muted)}.player-profile-context{color:var(--muted);display:block;font-size:.84rem;margin-top:.15rem}.header-player-profile-button{align-items:center;display:inline-flex;gap:.35rem;white-space:nowrap}@media (max-width:760px){.player-view-shell .student-view-header{align-items:flex-start}.player-view-shell .student-view-header .button{width:auto}}@media (max-width:1100px){.practice-leaderboard-columns{grid-template-columns:1fr}.teacher-leaderboard-section{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.5rem}}@media (max-width:760px){.teacher-practice-profile-form{grid-template-columns:1fr}.teacher-practice-active-note{align-items:flex-start;flex-direction:column}}.leaderboard-table th{border-bottom:0;padding-bottom:.45rem;white-space:nowrap}.leaderboard-table td{background:var(--surface);border-bottom:1px solid var(--line);border-top:1px solid var(--line);white-space:nowrap}.leaderboard-table td:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px}.leaderboard-table td:last-child{border-radius:0 8px 8px 0;border-right:1px solid var(--line)}.leaderboard-rank-cell{width:9.5rem}.leaderboard-rank-badge{align-items:center;background:#e9f3f2;border:1px solid #c8ddda;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.92rem;font-weight:900;justify-content:center;min-width:5.6rem;padding:.42rem .72rem}.leaderboard-score-cell{color:var(--ink);font-size:1.05rem;font-weight:900}.leaderboard-practice-minutes-cell,.leaderboard-practice-minutes-heading{box-sizing:border-box;text-align:center;width:1%}.leaderboard-days-cell,.leaderboard-days-heading{box-sizing:border-box;text-align:center;white-space:nowrap;width:1%}.practice-leaderboard-columns .leaderboard-table-wrap{width:100%}.practice-leaderboard-columns .leaderboard-table-wrap .leaderboard-table{min-width:32rem;width:100%}.practice-leaderboard-columns .leaderboard-table td,.practice-leaderboard-columns .leaderboard-table th{padding-left:.55rem;padding-right:.55rem}.practice-leaderboard-columns .leaderboard-rank-cell{width:6.5rem}.practice-leaderboard-columns .leaderboard-rank-badge{min-width:4.8rem}.leaderboard-days-heading>span,.leaderboard-practice-minutes-heading>span{display:grid;line-height:1.05;white-space:normal}.leaderboard-instrument-breakdown{min-width:8.5rem;white-space:normal}.leaderboard-instrument-breakdown summary{align-items:center;color:var(--teal-dark);cursor:pointer;display:inline-flex;font-weight:850;gap:.4rem;list-style:none}.leaderboard-instrument-breakdown summary::-webkit-details-marker{display:none}.leaderboard-instrument-breakdown summary:after{color:var(--muted);content:"Show";font-size:.72rem;font-weight:800;text-transform:uppercase}.leaderboard-instrument-breakdown[open] summary:after{content:"Hide"}.leaderboard-instrument-breakdown summary:focus-visible{border-radius:4px;outline:3px solid rgba(13,111,114,.45);outline-offset:3px}.leaderboard-instrument-breakdown ul{display:grid;gap:.4rem;list-style:none;margin:.6rem 0 0;min-width:min(18rem,70vw);padding:0;white-space:normal}.leaderboard-instrument-breakdown li{align-items:baseline;background:#f4faf8;border:1px solid #d7e7e2;border-radius:7px;display:grid;gap:.12rem .75rem;grid-template-columns:minmax(0,1fr) auto;padding:.45rem .55rem}.leaderboard-instrument-breakdown li strong{overflow-wrap:anywhere}.leaderboard-instrument-breakdown li>span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.leaderboard-instrument-breakdown li small{color:var(--muted);grid-column:1/-1}.leaderboard-practice-minutes-cell,.leaderboard-practice-minutes-heading{min-width:5.5rem}.leaderboard-podium-row td{box-shadow:0 12px 28px rgba(23,32,42,.08);font-weight:780}.leaderboard-podium-row .student-name{color:inherit}.leaderboard-rank-1 td{background:#fff7dc;border-color:#e2bd5a;color:#1f1a10}.leaderboard-rank-1 .leaderboard-rank-badge{background:var(--gold);border-color:#a56e18;color:#1f1a10}.leaderboard-rank-2 td{background:#f3f6f8;border-color:#aeb8c2;color:#26313c}.leaderboard-rank-2 .leaderboard-rank-badge{background:#d8e0e7;border-color:#9aa8b5;color:#26313c}.leaderboard-rank-3 td{background:#fff0e8;border-color:#d7a084;color:#25130b}.leaderboard-rank-3 .leaderboard-rank-badge{background:#d98b62;border-color:#ad623d;color:#25130b}td,th{border-bottom:1px solid var(--line);padding:.75rem;text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}td form{display:contents}.status-pill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:820;padding:.25rem .55rem;white-space:nowrap}.status-active,.status-approved,.status-completed,.status-on-time,.status-open,.status-passed{background:#e6f4ea;color:var(--green)}.status-late,.status-paused,.status-pending,.status-unverified,.status-working-on-it{background:#fff1d7;color:#876008}.status-absent,.status-cancelled,.status-closed,.status-declined,.status-denied,.status-inactive,.status-not-passed{background:#f9e4e6;color:var(--red)}.status-excused,.status-not-started,.status-not-yet,.status-scheduled{background:#e8eef7;color:var(--blue)}.status-without-instrument{background:#fff3d6;color:#8a5c00}.roster-status-stack{align-items:flex-end;display:grid;gap:.3rem;justify-items:flex-end}.checkin-scan-row{grid-template-columns:1fr}.checkin-result-row,.checkin-scan-row,.lesson-checkin-page{align-content:start;align-items:start;display:grid;gap:1rem}.live-roster-panel{order:1}.barcode-input{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:780;min-height:3.5rem}.checkin-command-panel,.scanner-title-block{align-content:start;align-items:start}.checkin-command-panel{gap:.9rem;justify-self:start;max-width:100%;width:min(100%,44rem)}.scanner-mode-strip,.scanner-panel-controls,.scanner-panel-header{align-items:start;display:grid;gap:.8rem}.scanner-mode-strip{align-items:center;background:#f7fbfa;border:1px solid #cfe3df;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);padding:.95rem}.lesson-checkin-page .scanner-mode-strip{align-items:start}.scanner-mode-active .scanner-mode-strip{background:#fff4dd;border-color:#e2a23a}.scanner-panel-header{grid-template-columns:minmax(0,1fr) max-content;padding-inline:.2rem}.lunch-practice-break-control{align-self:end;min-width:8.5rem}.lunch-practice-break-control input{min-width:7rem}.scanner-panel-controls{padding-inline:.2rem}.scanner-title-block{display:grid;gap:.35rem}.scanner-mode-action{align-content:start;display:grid;gap:.45rem}.scanner-mode-action .camera-scanner-actions button,.scanner-mode-action>.scanner-mode-button{min-height:3.35rem;width:100%}.scanner-mode-action .camera-scanner{padding-inline:0}.scanner-mode-action .camera-scanner-actions{align-items:stretch;display:grid;gap:.35rem}.scanner-manual-form{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.scanner-manual-form label{width:min(21rem,100%)}.scanner-manual-form button{min-height:3.3rem;white-space:nowrap}.manual-without-instrument,.scan-without-instrument{align-items:center;display:inline-flex;font-size:.95rem;gap:.45rem;margin:0}.manual-without-instrument input[type=checkbox],.scan-without-instrument input[type=checkbox]{accent-color:var(--teal);block-size:.82rem;flex:0 0 auto;inline-size:.82rem;margin:0;padding:0}.scanner-listening-panel{align-items:center;background:#f7fbfa;border:1px dashed #a8c9c4;border-radius:8px;display:flex;gap:.75rem;max-width:32rem;min-height:4.2rem;padding:.75rem .9rem}.scanner-listening-panel svg{color:var(--teal);flex:0 0 auto}.scanner-hidden-capture-input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.camera-scanner{align-content:start;display:grid;gap:.7rem;padding-inline:.2rem}.camera-scanner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.camera-scanner-actions button{min-height:3rem}.camera-scanner-actions p{margin:0}.camera-scanner-preview{background:#0e1718;border:1px solid #b9d8d5;border-radius:8px;display:grid;max-width:28rem;overflow:hidden;position:relative}.camera-scanner-preview video{aspect-ratio:4/3;background:#0e1718;display:block;object-fit:cover;width:100%}.camera-scanner-frame{border:3px solid rgba(255,255,255,.88);border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.24);height:min(52vw,12rem);left:50%;max-height:70%;max-width:70%;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(52vw,12rem)}.camera-scanner-badge,.camera-scanner-privacy{align-items:center;background:rgba(255,255,255,.94);border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.78rem;font-weight:850;gap:.35rem;left:.75rem;padding:.35rem .55rem;position:absolute;right:auto}.camera-scanner-privacy{bottom:.75rem}.camera-scanner-badge{top:.75rem}.camera-scanner-badge.error{color:#b53646}.result{align-content:start;align-items:start;border-radius:8px;display:grid;gap:.3rem;min-height:8rem;padding:1.4rem}.result.success{background:#e5f5ed;border:1px solid #b8dfc8}.result.warning{background:#fff3d6;border:1px solid #eac66e}.result.error{background:#fae5e8;border:1px solid #e2b4ba}.result strong{font-size:clamp(1.55rem,3vw,2.25rem)}.toast-message{background:#e5f5ed;border:1px solid #b8dfc8;border-radius:8px;color:var(--green);font-weight:850;padding:.85rem 1rem}.toast-message.warning{background:#fff3d6;border-color:#eac66e;color:#8a5c00}.delete-undo-notice{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.delete-undo-notice form{flex:0 0 auto}@media (max-width:640px){.delete-undo-notice{align-items:flex-start;flex-direction:column}}.invitation-link-panel{background:#f7fbfa;border:1px solid #b9d8d5;border-radius:8px;color:var(--ink);display:grid;gap:.8rem;padding:1rem}.invitation-link-panel strong{color:var(--green);font-size:1rem}.invitation-link-panel-muted strong{color:var(--teal-dark)}.invitation-link-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-width:min(42rem,100%)}.invitation-link-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.invitation-link-actions p{flex-basis:100%;margin:0}.upload-progress-status{background:#f7fbfa;border:1px solid #b9d8d5;border-radius:8px;display:grid;gap:.65rem;padding:.9rem}.upload-progress-header{align-items:start;display:flex;gap:.75rem;justify-content:space-between}.upload-progress-header h2{font-size:1rem;margin:0}.upload-progress-header strong{color:var(--teal-dark);font-size:.9rem}.upload-progress-actions{align-items:end;display:grid;gap:.45rem;justify-items:end}.upload-progress-track{background:#e3e9e7;border:1px solid var(--line);border-radius:999px;height:.9rem;overflow:hidden}.upload-progress-track span{background:linear-gradient(90deg,var(--teal),var(--green));display:block;height:100%;transition:width .45s ease}.roster-list{align-content:start;align-items:start;display:grid;gap:.5rem;padding-right:.2rem}.roster-row{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:flex;gap:.75rem;justify-content:space-between;padding:.7rem}.lesson-roster-panel{gap:.65rem;max-width:100%;min-width:0;padding:.85rem;width:100%}.lesson-roster-panel h2,.lesson-roster-panel p{margin-block:0}.lesson-roster-columns{align-items:start;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.lesson-roster-column{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.55rem;min-width:0;padding:.65rem}.lesson-roster-column-heading{align-items:center;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;list-style:none}.lesson-roster-column-heading::-webkit-details-marker{display:none}.lesson-roster-column-heading::marker{content:""}.lesson-roster-column[open]>.lesson-roster-column-heading .details-chevron{transform:rotate(180deg)}.lesson-roster-column-heading h3{font-size:1rem;margin:0}.lesson-roster-list{gap:.35rem}.lesson-roster-row{align-items:start;display:grid;gap:.55rem;grid-template-columns:minmax(12rem,1fr) auto;min-width:0;padding:.5rem .6rem}.lesson-roster-student{align-content:start;display:grid;gap:.2rem}.lesson-roster-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.86rem;gap:.2rem .6rem}.lesson-roster-row .lesson-roster-actions{gap:.35rem}.lesson-roster-row .time-edit-form{align-items:end;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.lesson-roster-row .time-edit-form label{width:auto}.lesson-roster-row .time-edit-form input,.lesson-roster-row .time-edit-form select{min-height:2.15rem;padding:.35rem .45rem}.lesson-roster-row .lesson-roster-actions button{min-height:2.15rem;padding:.4rem .6rem}.checked-in-roster-row{grid-template-columns:minmax(0,1fr);gap:.45rem}.checked-in-roster-row .roster-student-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem .65rem;min-width:0}.checked-in-roster-instrument,.checked-in-roster-row .student-name{min-width:0;overflow-wrap:anywhere}.checked-in-roster-instrument{color:var(--muted);font-size:.86rem}.checked-in-roster-row .roster-status-stack{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem;margin-inline-start:auto}.checked-in-roster-row .lesson-roster-meta,.checked-in-roster-row .lesson-roster-student{min-width:0;overflow-wrap:anywhere}.checked-in-roster-row .lesson-roster-actions,.checked-in-roster-row .time-edit-form{align-items:end;display:flex;flex-wrap:wrap;justify-content:flex-start;min-width:0}.checked-in-roster-row .time-edit-form{gap:.4rem;width:100%}.checked-in-roster-row .time-edit-form>label:not(.manual-without-instrument){display:grid;flex:0 1 auto;font-size:.8rem;gap:.2rem;max-width:100%;min-width:0;width:auto}.checked-in-roster-row .time-edit-form>label>input.clock-time-input,.checked-in-roster-row .time-edit-form>label>input[type=time],.checked-in-roster-row .time-edit-form>label>select{max-width:100%;min-height:2.75rem;min-width:0;width:auto}.checked-in-roster-row .time-edit-form .manual-without-instrument{align-self:end;flex:0 0 auto;font-size:.82rem;min-height:2.75rem;white-space:nowrap;width:auto}.checked-in-roster-row .check-in-edit-buttons{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;gap:.4rem;max-width:100%}.checked-in-roster-row .lesson-roster-actions button{flex:0 1 auto;font-size:.84rem;min-height:2.75rem;min-width:2.75rem;white-space:nowrap;width:auto}.accessibility-large-controls .checked-in-roster-row .lesson-roster-actions button,.accessibility-large-controls .checked-in-roster-row .manual-without-instrument,.accessibility-large-controls .checked-in-roster-row .time-edit-form input:not([type=checkbox]),.accessibility-large-controls .checked-in-roster-row .time-edit-form select{font-size:1rem;min-height:3.25rem}.guest-roster-row{background:#fff8e5}.pending-review-row{background:#fff8e5;border-color:#e0b24c}.denied-review-row{background:#fff0f1;border-color:#e5a0a8}.review-note{color:#876008;font-size:.86rem;font-weight:800;margin:.15rem 0 0}.lesson-roster-actions,.time-edit-form{align-content:start;align-items:end;display:grid;gap:.45rem;justify-items:end}.time-edit-form label{width:min(12rem,100%)}.student-name{font-weight:800}.compact-form{align-content:start;align-items:start;display:grid;gap:.7rem;justify-items:start}.pass-off-recording-fields{border:0;display:grid;gap:.7rem;margin:0;max-width:100%;min-inline-size:0;padding:0;width:100%}.pass-off-recording-fields:disabled{opacity:.68}.correction-form{display:flex;justify-content:flex-start}.progress-list{gap:.9rem}.progress-item,.progress-list{align-content:start;align-items:start;display:grid}.progress-item{border:1px solid var(--line);border-radius:8px;gap:.75rem;padding:.9rem}.schedule-profile-entry{gap:0}.schedule-profile-entry:not(details){gap:.35rem}.student-schedule-lesson-entry h3{margin:0}.student-schedule-lesson-type{font-weight:700;margin:0}.schedule-profile-entry-summary{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between}.schedule-profile-entry-summary::-webkit-details-marker{display:none}.schedule-profile-entry-summary::marker{content:""}.schedule-profile-entry-body{align-content:start;align-items:start;display:grid;gap:.65rem;padding-top:.85rem}.schedule-profile-entry[open]>summary .details-chevron{transform:rotate(180deg)}.student-schedule-date-list{align-content:start;display:grid;gap:.4rem}.student-schedule-date-row{align-items:center;border-top:1px solid var(--line);display:grid;gap:.75rem;grid-template-columns:minmax(8.5rem,max-content) max-content;justify-content:start;padding-top:.45rem}.student-schedule-date-row strong{font-size:.86rem}.licence-level-card{min-height:9rem;transition:border-color .16s ease,transform .16s ease}.licence-level-card.selected,.licence-level-card:hover{border-color:var(--teal);transform:translateY(-1px)}.licence-level-card.selected{background:#edf5f4}.licence-student-picker-panel{align-items:flex-start}.licence-student-selector{display:grid;gap:.45rem;max-width:34rem;width:min(100%,34rem)}.licence-student-selector span{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.licence-student-selector optgroup{font-weight:850}.licence-student-selector option{font-weight:500}.licence-student-selector option.licence-student-option-complete,.licence-student-selector select.licence-student-select-complete{color:#996300;font-weight:850}.form-action-align{align-items:end;align-self:end;display:grid;justify-items:start;max-width:100%;width:fit-content}.form-action-align>.button,.form-action-align>button{align-self:end;height:fit-content;justify-self:start;white-space:nowrap;width:fit-content}.print-action,.settings-save-form{align-items:end}.print-action{align-content:start;display:grid;gap:.35rem;justify-items:end;max-width:min(100%,22rem);min-width:0}.print-action-links{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:end}.print-action p{max-width:16rem;text-align:right}.timetable-format-export{align-items:end;display:flex;flex-wrap:wrap;justify-items:start;max-width:none}.timetable-format-export>p{flex-basis:100%;margin:0;max-width:34rem;text-align:left}.timetable-export-format-options{align-items:center;border:1px solid var(--line);border-radius:6px;display:flex;gap:.65rem;min-height:2.8rem;padding:.35rem .65rem}.timetable-export-format-options legend{color:var(--muted);font-size:.72rem;font-weight:800;padding-inline:.2rem}.timetable-export-format-options label{align-items:center;display:inline-flex;flex-direction:row;font-size:.86rem;gap:.35rem;min-width:0}.compact-progress-item{gap:.45rem;padding:.7rem}.licence-category{align-content:start;align-items:stretch;border:1px solid var(--line);border-radius:8px;display:grid;gap:.8rem;padding:.85rem}.licence-category summary{align-items:start;cursor:pointer;display:flex;font-weight:850;gap:1rem;justify-content:space-between}.licence-category summary::-webkit-details-marker{display:none}.licence-category summary::marker{content:""}.licence-category-title{align-items:center;display:inline-flex;gap:.45rem}.licence-category-complete-icon{color:var(--green);flex:0 0 auto}.summary-meta{align-items:center;color:var(--muted);display:inline-flex;flex:0 0 auto;gap:.45rem;margin-left:auto}.details-chevron{color:var(--teal-dark);flex:0 0 auto;transition:transform .16s ease}.licence-category summary>.details-chevron{margin-left:auto}.licence-category[open]>summary .details-chevron{transform:rotate(180deg)}.licence-category .bar{margin-top:.8rem}.student-licence-category-list{gap:1.35rem;justify-items:stretch}.student-licence-category{justify-self:stretch;width:100%}.student-licence-category[open]{width:100%}.student-licence-category summary{align-items:flex-start;justify-content:space-between;min-width:0;white-space:nowrap}.student-licence-requirements-grid{display:grid;gap:1.25rem .9rem;grid-template-columns:repeat(auto-fill,minmax(18rem,18rem));justify-content:start}.student-licence-requirement-card{align-items:start;justify-items:start;min-height:4.4rem;padding:.7rem .9rem;text-align:left;width:100%}.student-licence-requirement-card .progress-meta{align-items:start;display:grid;gap:.55rem;justify-items:start;width:100%}.student-licence-requirement-card h3{font-size:.94rem;line-height:1.2;white-space:normal}.student-licence-requirement-card.is-completed{background:#e4f6ea;border-color:#8acb9b}.student-licence-requirement-card.is-completed h3{color:#1f5f34}.student-licence-requirement-card.is-completed .status-pill{background:#317a46;color:#ffffff}.licence-category-progress-form{align-content:start;align-items:start;display:grid;gap:.85rem}.licence-category-save-row{border-top:0;justify-content:end;padding-top:0}.licence-requirement-card{align-items:center;justify-items:center;text-align:center}.licence-requirement-card .progress-meta{justify-content:center;width:100%}.licence-requirement-card .status-pill{margin-top:0}.licence-task-control-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;justify-items:center;text-align:center}.completed-task-button{background:#e6f4ea;border:1px solid #b8dfc8;color:var(--green)}.completed-task-button:hover{background:#d8efdf;color:var(--green)}.completed-task-button:disabled{cursor:default;opacity:.72}.licence-repeat-counter{align-items:center;align-self:center;background:#fff8e7;border:1px solid #e4c56b;border-radius:999px;color:#8a5b00;display:inline-flex;font-weight:800;justify-content:center;margin:0;min-width:4.25rem;padding:.35rem .75rem}.licence-student-progress{display:grid;gap:1rem}.licence-student-summary{cursor:pointer;display:grid;gap:.75rem}.licence-student-summary::-webkit-details-marker{display:none}.licence-student-summary::marker{content:""}.licence-student-name{display:inline-flex;font-size:1.08rem;font-weight:850}.profile-attendance td,.profile-attendance th{vertical-align:top}.public-profile-shell main{padding-top:1.25rem}.public-profile-page{max-width:70rem}.public-profile-hero{background:#f7fbfa}.public-profile-exchange,.public-profile-message{margin:8vh auto 0;max-width:36rem;text-align:center}.student-security-page{padding-inline:1rem}.student-security-panel{margin-top:clamp(1.5rem,8vh,5rem);max-width:31rem;padding:clamp(1.25rem,4vw,2.25rem);width:100%}.student-security-student{color:var(--teal-dark);font-size:1.08rem;font-weight:850}.student-security-form{display:grid;gap:1rem;margin:1.5rem auto 0;max-width:22rem;text-align:left}.student-security-icon{align-items:center;background:#e4f3ef;border:1px solid #b7dacf;border-radius:50%;color:var(--teal-dark);display:flex;height:3.5rem;justify-content:center;justify-self:center;width:3.5rem}.student-security-form label{color:var(--ink);display:grid;font-weight:800;gap:.45rem;text-align:center}.student-security-form input{box-sizing:border-box;font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;height:3.75rem;letter-spacing:.55rem;text-align:center;width:100%}.student-security-form button{min-height:3.25rem;white-space:normal;width:100%}@media (max-width:480px){.student-security-page{padding-inline:0}.student-security-panel{box-sizing:border-box;max-width:calc(100vw - 1.5rem);padding:1rem;width:calc(100vw - 1.5rem)}.student-security-panel h1{font-size:clamp(1.65rem,9vw,2rem);overflow-wrap:anywhere;white-space:normal}.student-security-form{width:100%}}.student-security-form .form-error{margin:0;text-align:center}.student-security-help{margin:1.25rem auto 0;max-width:25rem}.student-sign-out-icon{color:#16835f;margin-bottom:.75rem}.student-view-shell{margin:0 auto;max-width:76rem;padding:0 1rem 3rem}.student-view-header{align-items:center;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0;position:sticky;top:0;z-index:0}.student-view-header .eyebrow{margin-bottom:.2rem}.student-navigation{align-items:center;background:#ffffff;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;overflow:visible;padding:.65rem 0 .85rem;position:relative;scrollbar-width:thin;z-index:1000}.student-nav-menu-group{display:contents}.section-stack{display:grid;gap:1rem}.student-nav-link{align-items:center;border:2px solid transparent;border-radius:999px;color:var(--ink);display:inline-flex;flex:0 0 auto;font-weight:800;justify-content:center;min-height:2.75rem;padding:.55rem .85rem;text-decoration:none}.student-nav-link:hover{background:#edf6f4}.student-nav-link.active{background:#e4f3ef;border-color:var(--teal);color:var(--teal-dark)}.student-nav-menu{flex:0 0 auto;position:relative}.student-nav-menu:has(.student-nav-dropdown){z-index:1010}.student-nav-menu>button{font:inherit}.student-nav-dropdown{background:#ffffff;border:1px solid var(--line);box-shadow:0 12px 28px rgb(24 54 49/18%);display:grid;left:0;min-width:14rem;padding:.4rem;position:absolute;top:calc(100% + .35rem);z-index:1020}.student-nav-dropdown a{color:var(--ink);font-weight:750;padding:.7rem .8rem;text-decoration:none}.smart-practice-status{align-items:center;background:#ffffff;border:1px solid var(--line);display:grid;gap:.75rem 1rem;grid-template-columns:auto minmax(0,1fr) auto;margin:.25rem 0 1rem;padding:.85rem 1rem}.smart-practice-status.enabled{background:#f0faf6;border-color:#8bcab6}.smart-practice-status-details,.smart-practice-status-details span,.smart-practice-status-heading,.smart-practice-status-heading>span:last-child{display:flex}.smart-practice-status-details span,.smart-practice-status-heading{align-items:center}.smart-practice-status-heading{gap:.65rem}.smart-practice-status-heading>span:last-child{flex-direction:column}.smart-practice-status-heading small{color:var(--muted);font-weight:700}.smart-practice-status-icon{align-items:center;background:#e4f3ef;border-radius:50%;color:var(--teal-dark);display:flex;height:2.5rem;justify-content:center;width:2.5rem}.smart-practice-status-details{flex-wrap:wrap;gap:.45rem 1rem}.smart-practice-status-details span{color:var(--muted);font-size:.88rem;font-weight:700;gap:.35rem}.smart-practice-status-message,.smart-practice-status-note{grid-column:1/-1;margin:0}.smart-practice-status-note{color:var(--muted);font-size:.88rem}.smart-practice-status-message{color:var(--teal-dark);font-weight:800}.student-nav-dropdown a.active,.student-nav-dropdown a:hover{background:#e4f3ef;color:var(--teal-dark)}.leaderboard-filters{display:grid;gap:1rem}.leaderboard-filters .segmented-control{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.leaderboard-filters .segmented-control a{align-items:center;background:#f4f7f6;border:1px solid var(--line);border-radius:6px;color:var(--ink);display:inline-flex;font-weight:800;justify-content:center;min-height:2.55rem;padding:.5rem .8rem;text-decoration:none}.leaderboard-filters .segmented-control a:hover{background:#edf6f4;border-color:#8fb9b3}.leaderboard-filters .segmented-control a.active{background:var(--teal);border-color:var(--teal-dark);color:#ffffff}.public-profile-page .public-profile-hero,.student-profile-page .public-profile-hero{align-items:center;display:flex;gap:1.25rem;justify-content:space-between}.read-only-callout{background:#ffffff;border-left:4px solid var(--teal);display:grid;gap:.2rem;max-width:28rem;padding:.75rem .9rem}.read-only-callout span{color:var(--muted);font-size:.9rem}.route-state-page{min-height:min(58vh,34rem);place-items:center}.route-state-panel{justify-items:start;max-width:36rem;width:100%}.route-loading-indicator{background:#d7e8e4;border-radius:999px;height:.55rem;overflow:hidden;position:relative;width:min(18rem,100%)}.route-loading-indicator:after{animation:route-loading 1.2s ease-in-out infinite;background:var(--teal);border-radius:inherit;content:"";inset:0 auto 0 0;position:absolute;width:42%}@keyframes route-loading{0%{transform:translateX(-110%)}to{transform:translateX(340%)}}@media (max-width:1024px){.sight-reading-difficulty{grid-template-columns:repeat(3,minmax(0,1fr))}.sight-reading-custom-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sight-reading-custom-summary>span:nth-child(odd){border-left:0}.sight-reading-custom-summary>span:nth-child(n+3){border-top:1px solid #e1e8e6}}@media (max-width:760px){.sight-reading-control-row{align-items:stretch}.sight-reading-control-row-title{flex-basis:100%}.sight-reading-control-row .sight-reading-range-control{flex:1 1 12rem}.sight-reading-generation-row{justify-content:stretch}.sight-reading-bars-control{flex:1 1 8rem}.sight-reading-generation-tempo{flex:1 1 100%;width:100%}.sight-reading-generation-row>button{flex:1 1 8rem}.sight-reading-custom-intro{align-items:stretch;flex-direction:column}.sight-reading-custom-section>summary{min-height:4rem;padding-right:3rem}.sight-reading-custom-section>.sight-reading-control-section,.sight-reading-custom-section>.sight-reading-parameter-grid,.sight-reading-custom-section>.sight-reading-pitch-range-visual,.sight-reading-custom-section>.sight-reading-range-summary,.sight-reading-custom-section>.sight-reading-rhythm-panel,.sight-reading-custom-section>.sight-reading-weighting-panel{margin-inline:.65rem}.sight-reading-weighting-panel .sight-reading-panel-heading{align-items:stretch;flex-direction:column}}@media (max-width:520px){.sight-reading-weighting-row{grid-template-columns:1fr 3rem}.sight-reading-weighting-row>span{grid-column:1/-1}.sight-reading-difficulty{grid-template-columns:repeat(2,minmax(0,1fr))}.sight-reading-difficulty button:last-child{grid-column:1/-1}.sight-reading-key-grid,.sight-reading-rhythm-button-grid,.sight-reading-symbol-grid{grid-template-columns:1fr}.sight-reading-rhythm-button,.sight-reading-triplet-button{min-width:0;width:100%}.sight-reading-key-preview{transform:none}}.subscription-model-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-model-grid>:is(article,div){min-width:0}.student-school-join-privacy svg,.subscription-model-grid svg,.subscription-provider-boundary svg{color:var(--teal-dark);flex:0 0 auto}.subscription-model-grid h2{font-size:1.05rem;margin-block:.55rem .3rem}.subscription-model-grid p{margin:0}.student-access-summary{display:flex;flex-wrap:wrap;gap:.65rem;margin-block:1rem}.student-access-summary>span{background:#f4f8f7;border:1px solid var(--line);border-radius:.75rem;display:grid;gap:.1rem;min-width:9rem;padding:.65rem .8rem}.student-school-join-privacy,.subscription-provider-boundary{align-items:flex-start;background:#f4f8f7;border:1px solid var(--line);border-radius:.8rem;display:flex;gap:.7rem;margin-block:1rem;padding:.85rem}.student-school-join-privacy p,.subscription-provider-boundary p{margin:0}.school-access-code-form{align-items:end;margin-top:1rem}.school-access-code-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:.6rem}.school-access-code-result{align-items:center;background:linear-gradient(135deg,#f4fbf9,#fff9e8);border:2px solid var(--teal);border-radius:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 10rem;margin-top:1rem;padding:1rem}.school-access-code-value{display:block;font-size:clamp(1.8rem,7vw,3rem);letter-spacing:.12em;line-height:1;margin-block:.4rem .75rem;overflow-wrap:anywhere}.school-access-qr{aspect-ratio:1;border:.55rem solid #fff;border-radius:.45rem;max-width:10rem;width:100%}.student-entry-preview{align-items:center;display:flex;gap:1rem;justify-content:space-between}.student-entry-preview ol{margin-bottom:0;padding-left:1.35rem}.student-school-join{margin-inline:auto;max-width:46rem}.student-school-join-steps{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.25rem}.student-school-join-steps>div{align-items:center;background:#f4f8f7;border:1px solid var(--line);border-radius:.75rem;display:flex;gap:.55rem;min-width:0;padding:.65rem}.student-school-join-steps strong{align-items:center;background:var(--teal-dark);border-radius:50%;color:white;display:inline-flex;flex:0 0 1.7rem;height:1.7rem;justify-content:center}.student-school-join form{display:grid;gap:1rem}.student-school-join form>button{justify-self:start}.student-join-help{margin-inline:auto;max-width:46rem;text-align:center}@media (max-width:760px){.school-access-code-result,.subscription-model-grid{grid-template-columns:minmax(0,1fr)}.school-access-qr{justify-self:center}.student-entry-preview{align-items:stretch;flex-direction:column}}@media (max-width:520px){.student-school-join-steps{grid-template-columns:minmax(0,1fr)}.school-access-code-actions,.school-access-code-actions button,.student-entry-preview>.button,.student-school-join form>button{width:100%}}.friend-code-card{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}.friend-code-qr{background:#fff;border:1px solid var(--border);border-radius:.8rem;max-width:11.25rem;padding:.5rem}.friend-short-code{display:block;font-size:clamp(2rem,8vw,3.5rem);letter-spacing:.16em;line-height:1.1;margin-block:.35rem}.friend-code-entry,.friend-request-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem}.friend-request-actions small{flex-basis:100%}.friend-match-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.friend-match-card{align-items:start;background:var(--surface-soft);border:1px solid var(--border);border-radius:1rem;display:grid;gap:.8rem;padding:1rem}.friend-match-card>div:first-child{display:grid;gap:.2rem}.friend-confirmation-code{font-size:clamp(2rem,9vw,3.25rem);letter-spacing:.2em;line-height:1}.practice-bingo-weekly-card{order:-1}.practice-bingo-generator-panel{order:20}@media (prefers-reduced-motion:reduce){.route-loading-indicator:after{animation:none;transform:none;width:100%}}.student-overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.student-streak-spotlight{align-items:center;background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.55),transparent 30%),linear-gradient(135deg,#fff0b8,#ffd36b 52%,#ffb84d);border:2px solid #d77a08;border-radius:1.25rem;box-shadow:0 .8rem 1.8rem rgba(160,82,0,.18);color:#5b2d00;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto;overflow:hidden;padding:clamp(1rem,2vw,1.5rem);position:relative}.student-streak-spotlight.is-starting{background:linear-gradient(135deg,#fff8df,#ffe9a8);border-style:dashed}.student-streak-icon{align-items:center;background:#fff7df;border:2px solid rgba(160,82,0,.28);border-radius:999px;color:#d75b00;display:flex;height:4.5rem;justify-content:center;width:4.5rem}.student-streak-copy{display:grid;gap:.2rem}.student-streak-copy .eyebrow,.student-streak-copy h2,.student-streak-copy p{color:inherit;margin:0}.student-streak-copy h2{font-size:clamp(1.45rem,3vw,2rem)}.student-streak-actions{align-items:center;display:grid;justify-items:center;min-width:8rem}.student-streak-actions strong{font-size:clamp(2.4rem,7vw,4rem);line-height:.9}.student-streak-actions>span{font-size:.82rem;font-weight:900;margin:.2rem 0 .65rem;text-transform:uppercase}.student-streak-actions .button{background:#7d3900;border-color:#7d3900;color:#ffffff;white-space:nowrap}.student-summary-links{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-summary-link{align-items:center;color:var(--ink);display:flex;justify-content:space-between;min-height:6rem;text-decoration:none}.student-summary-link:hover{border-color:var(--teal)}.student-summary-link>span:first-child{display:grid;gap:.3rem}.student-summary-link small{color:var(--muted)}.student-progress-total,.student-summary-link>span:last-child{color:var(--teal-dark);font-size:1.05rem;font-weight:900;white-space:nowrap}.student-method-streams,.student-progress-groups{display:grid;gap:1rem}.student-progress-group{overflow:hidden}.student-progress-group>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;min-height:3.25rem;padding:.85rem 1rem}.student-progress-group[open]>summary{border-bottom:1px solid var(--line)}.student-piece-list,.student-progress-list{display:grid;list-style:none;margin:0;padding:0}.student-piece-list li,.student-progress-item{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) auto;min-height:3.75rem;padding:.75rem 1rem}.student-piece-list li{grid-template-columns:2rem minmax(0,1fr) auto}.student-piece-list li:last-child,.student-progress-item:last-child{border-bottom:0}.student-piece-list li>span:nth-child(2),.student-progress-item>span:first-child{display:grid;gap:.2rem}.student-piece-list small,.student-progress-item small{color:var(--muted)}.student-piece-list li.completed,.student-progress-item.completed{background:#ecf8f0}.student-piece-list li>span:last-child,.student-progress-state{border-radius:999px;font-size:.82rem;font-weight:850;padding:.35rem .6rem;white-space:nowrap}.student-piece-list li.completed>span:last-child,.student-progress-item.completed .student-progress-state{background:#187a43;color:#ffffff}.student-next-item{margin:.9rem 0 0}.student-result-pill{border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:850;padding:.35rem .65rem;white-space:nowrap}.student-result-pill.passed{background:#187a43;color:#ffffff}.student-result-pill.not-passed{background:#bd3942;color:#ffffff}.student-table-wrap table{min-width:34rem}.student-leaderboard-table .current-student-row{background:#e8f4f1;box-shadow:inset 4px 0 0 var(--teal)}.current-student-label{background:var(--teal-dark);border-radius:999px;color:#ffffff;display:inline-flex;font-size:.72rem;font-weight:850;margin-left:.5rem;padding:.2rem .45rem;vertical-align:middle}.student-position-row{align-items:center;background:#e8f4f1;border-left:4px solid var(--teal);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto auto;margin-top:.85rem;padding:.85rem 1rem}.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.selected-rank{margin-top:1rem}.student-view-context{align-self:center;color:var(--muted);font-weight:700;margin:0}.student-picker{display:grid;gap:1rem}.student-picker-choice-panel,.student-picker-control-row{align-items:start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.student-picker-filter-row{align-items:end;display:flex;flex-wrap:wrap;gap:1rem}.student-picker-filter-row label{min-width:min(22rem,100%)}.student-picker-clock{align-content:start;background:#f6fbfa;border:1px solid #dbe8e5;border-radius:8px;display:grid;gap:.2rem;min-height:4.15rem;min-width:11rem;padding:.7rem .85rem}.student-picker-clock span,.student-picker-summary-grid span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.student-picker-clock strong{font-size:1.35rem}.student-picker-summary-grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.student-picker-summary-grid div{align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;min-height:4.6rem;padding:.75rem}.student-picker-summary-grid strong{font-size:1.2rem}.student-picker-source{background:#fff9e8;border:1px solid #ecd384;border-radius:8px;font-weight:780;padding:.75rem .9rem}.student-picker-date-warning{min-height:0;padding:.8rem .9rem}.student-picker-picked-card{align-content:start;background:#f6fbfa;border:1px solid #dbe8e5;border-radius:8px;display:grid;flex:1 1 18rem;gap:.35rem;min-height:8rem;padding:1rem}.student-picker-picked-card h2{margin:0}.student-picker-instrument-grid{align-items:start;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.student-picker-instrument-column{align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;padding:.8rem}.student-picker-instrument-column h3{margin:0}.student-picker-student-list{display:grid;gap:.45rem}.student-picker-student-pill{align-content:start;background:#f8faf9;border:1px solid #edf1f0;border-radius:8px;display:grid;gap:.15rem;padding:.55rem .65rem}.student-picker-student-pill span{color:var(--muted);font-size:.82rem;font-weight:720}.hall-of-fame td,.hall-of-fame th{vertical-align:top}.progress-meta{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.bar{background:#e9eeed;border-radius:999px;height:.65rem;overflow:hidden}.bar span{background:var(--teal);display:block;height:100%}.card-picker-grid,.settings-grid{align-content:start;align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.check-row{align-items:center;color:var(--ink);display:flex;flex-direction:row;font-weight:700;gap:.65rem}.check-row input{min-height:auto;width:auto}.student-checkbox-grid{align-content:start;align-items:start;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));padding-right:.2rem}.student-check-card{border:1px solid var(--line);border-radius:8px;padding:.65rem}.instrument-student-grid{align-content:start;align-items:start;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));padding-right:.2rem}.instrument-student-column{align-content:start;align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.5rem;min-height:100%;padding:.75rem}.instrument-student-column h3{font-size:.95rem;margin:0}.lesson-setup-grid{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}.lesson-admin-grid{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr)}.lesson-groups-panel[open]{min-height:28rem}.availability-list{align-content:start;align-items:start;display:grid;gap:.45rem}.availability-entry-grid,.availability-manager{align-content:start;align-items:start;display:grid;gap:1rem}.availability-entry-grid{grid-template-columns:repeat(2,minmax(18rem,1fr))}.availability-entry-panel{align-content:start;align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;padding:1rem}.availability-entry-panel h3,.break-time-heading h4{margin:0}.availability-single-slot-grid{align-items:end;grid-template-columns:minmax(6.5rem,.8fr) minmax(9rem,1.2fr) minmax(7rem,.85fr)}.availability-range-grid>label,.availability-single-slot-grid>label{min-width:0;width:100%}.availability-range-grid :is(input,select),.availability-single-slot-grid :is(input,select){min-width:0;width:100%}.availability-single-slot-action{grid-column:1/-1}.availability-single-slot-action button{width:100%}.availability-range-grid{align-items:end;grid-template-columns:minmax(6rem,.75fr) minmax(9rem,1.2fr) minmax(6.5rem,.9fr) minmax(6.5rem,.9fr)}.rehearsal-single-grid{align-items:end;grid-template-columns:minmax(10rem,1.35fr) minmax(8rem,1fr) minmax(7rem,.8fr)}.rehearsal-single-grid>label,.rehearsal-term-grid>label{min-width:0;width:100%}.rehearsal-single-grid :is(input,select),.rehearsal-term-grid :is(input,select){min-width:0;width:100%}.rehearsal-single-action{grid-column:1/-1}.rehearsal-term-grid{align-items:end;grid-template-columns:repeat(2,minmax(0,1fr))}.rehearsal-week-settings{border:1px solid var(--line);border-radius:8px;overflow:hidden}.rehearsal-week-settings>summary{background:#edf5f4;color:var(--teal-dark);cursor:pointer;font-weight:800;padding:.7rem .8rem}.rehearsal-week-picker{padding:.75rem}.availability-row.rehearsal-schedule-slot{align-content:start;align-items:start;display:grid;gap:.18rem;grid-template-columns:minmax(0,1fr);justify-content:stretch}.rehearsal-schedule-slot small,.rehearsal-schedule-slot span,.rehearsal-schedule-slot strong{width:100%}.rehearsal-schedule-slot span{color:var(--teal-dark);font-weight:800}.rehearsal-schedule-slot small{color:var(--muted);font-weight:700}.break-time-list{align-content:start;align-items:stretch;display:grid;gap:.65rem}.break-time-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.break-time-row{align-items:end;display:grid;gap:.55rem;grid-template-columns:minmax(7.5rem,1fr) minmax(7.5rem,1fr) auto}.settings-form-section{border:1px solid var(--line);border-radius:8px;gap:.85rem;padding:1rem}.global-settings-form,.settings-form-section{align-content:start;align-items:start;display:grid}.global-settings-form{gap:1rem;grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%}.global-settings-form>.settings-form-section{width:100%}.global-settings-form>.form-action-align{justify-self:start}.school-workspace-section{grid-template-columns:minmax(14rem,.85fr) minmax(20rem,1.15fr)}.school-workspace-switch{align-items:stretch;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.school-workspace-switch label{align-content:start;background:#fffdf8;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;gap:.45rem;grid-template-columns:auto minmax(0,1fr);min-height:4.6rem;padding:.75rem}.school-workspace-switch label:has(input:checked){background:#edf5f4;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.school-workspace-switch input{margin-top:.2rem}.school-workspace-switch span{display:grid;gap:.16rem}.school-workspace-switch strong{color:var(--ink);font-size:.96rem}.school-workspace-switch small{color:var(--muted);font-size:.8rem;font-weight:650;line-height:1.35}.work-week-planner{display:grid;gap:.85rem}.work-week-assignment-list,.work-week-school-source{display:flex;flex-wrap:wrap;gap:.45rem}.work-week-assignment-chip,.work-week-school-chip{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-weight:820;gap:.35rem;min-height:2.25rem;padding:.4rem .65rem}.work-week-school-chip{background:#edf5f4;color:var(--teal-dark);cursor:grab}.work-week-school-chip:active{cursor:grabbing}.work-week-day-grid{gap:.75rem;grid-template-columns:repeat(5,minmax(8rem,1fr))}.work-week-day-column,.work-week-day-grid{align-content:start;align-items:stretch;display:grid}.work-week-day-column{background:#f8faf9;border:1px dashed #b8c8c5;border-radius:8px;gap:.55rem;min-height:7rem;padding:.75rem}.work-week-day-column h3{margin:0}.work-week-assignment-chip{background:#ffffff;border-radius:8px;justify-content:space-between}.availability-day-grid{align-content:start;align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(8rem,1fr))}.availability-day-column{align-content:start;align-items:stretch;border:1px solid var(--line);border-radius:8px;display:grid;gap:.45rem;padding:.75rem}.availability-day-column h3{font-size:.95rem;margin:0 0 .2rem}.availability-day-heading{display:grid;gap:.35rem}.availability-day-heading h3{margin:0}.availability-day-schools{display:flex;flex-wrap:wrap;gap:.3rem}.availability-day-school-pill{background:#edf5f4;border:1px solid #b8d6d0;border-radius:999px;color:var(--teal-dark);font-size:.74rem;font-weight:850;line-height:1.15;padding:.22rem .45rem}.integrated-school-inline{color:var(--muted);display:block;font-size:.76rem;font-weight:750;margin-top:.18rem}.availability-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:.6rem;justify-content:space-between;padding:.5rem .65rem}.availability-row-main{display:grid;gap:.3rem;min-width:0}.availability-row-main strong{font-size:.88rem}.availability-slot-school-select{font-size:.72rem;min-height:1.9rem;padding:.25rem 1.65rem .25rem .4rem;width:100%}.availability-slot-grid{align-items:start;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.availability-slot-column{align-content:start;align-items:stretch;display:grid;gap:.45rem}.icon-button{min-height:2.25rem;padding:.45rem;width:2.35rem}.week-chip-list{align-content:start;align-items:start;display:flex;flex-wrap:wrap;gap:.4rem}.week-chip{align-items:start;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:.1rem;min-width:5.8rem;padding:.45rem .55rem}.week-chip strong{color:var(--teal-dark);font-size:.78rem}.schedule-timetable-wrap{border:1px solid var(--line);border-radius:8px;max-width:100%;overflow:hidden;position:relative}.schedule-timetable-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable}.schedule-timetable-day-filter{align-items:center;background:#f5faf9;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.55rem 1rem;padding:.7rem .85rem}.schedule-timetable-day-filter>strong{color:var(--ink);flex:0 0 auto;font-size:.9rem}.schedule-timetable-day-options{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem .85rem}.schedule-timetable-day-options .check-row{gap:.35rem;margin:0;min-height:2rem;padding:.15rem 0}.schedule-timetable-day-options .check-row input{flex:0 0 auto}.schedule-timetable-empty-view{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-height:13rem;padding:2rem;text-align:center}.schedule-timetable-empty-view span{color:var(--muted)}.schedule-timetable-bin{align-items:center;background:#fff7f7;border-bottom:1px solid var(--line);color:#9f2f3f;display:grid;gap:.15rem .55rem;grid-template-columns:max-content max-content minmax(0,1fr);min-width:max-content;padding:.6rem .75rem}.schedule-timetable-bin.is-active{background:#f8dadd;color:#7e1f2d}.schedule-timetable-bin span{font-weight:900}.schedule-timetable-bin small{color:var(--muted);font-size:.78rem;font-weight:700}.schedule-timetable{border-collapse:separate;border-spacing:0;font-size:.88rem;min-width:max-content;width:max-content}.schedule-timetable td,.schedule-timetable th{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.55rem .65rem;vertical-align:middle}.schedule-timetable td:last-child,.schedule-timetable th:last-child{border-right:0}.schedule-timetable tr:last-child td,.schedule-timetable tr:last-child th{border-bottom:0}.schedule-timetable thead th{background:#f7fbfa;position:sticky;top:0;z-index:3}.schedule-timetable-time,.schedule-timetable-time-header{background:#fffdf8;left:0;min-width:5.4rem;position:sticky;text-align:center;z-index:4}.schedule-timetable-time{color:var(--teal-dark);font-weight:800}.schedule-timetable-date-header{min-width:8.8rem;text-align:center}.schedule-timetable-date-header small,.schedule-timetable-date-header span,.schedule-timetable-date-header strong{display:block}.schedule-timetable-date-header span{color:var(--teal-dark);font-size:.76rem;font-weight:800;text-transform:uppercase}.schedule-timetable-date-header strong{font-size:.9rem}.schedule-timetable-date-header small{color:var(--muted);font-size:.76rem;font-weight:700}.schedule-timetable-date-header.is-past{background:#eef1f0;color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.schedule-timetable-cell{background:white;min-width:8.8rem;text-align:center}.schedule-timetable-cell.is-empty{background:#faf8f1;color:var(--muted);text-align:center}.schedule-timetable-entry{align-content:center;align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;display:grid;gap:.08rem;justify-items:center;margin-inline:auto;max-width:100%;padding:.4rem .5rem;text-align:center;width:fit-content}.schedule-timetable-entry+.schedule-timetable-entry{margin-top:.35rem}.schedule-timetable-entry strong{color:var(--ink);font-size:.84rem;line-height:1.2}.schedule-timetable-entry small{color:var(--muted);font-size:.74rem;font-weight:700}.disabled-field{color:var(--muted);opacity:.66}.disabled-field select{background:#edf0ef;border-color:#c8d5d3;color:#7b8b88;cursor:not-allowed}.lesson-print-sheets{display:none}.lesson-timetable-builder{align-content:start;border:1px solid var(--line);border-radius:8px;padding:1rem}.lesson-timetable-builder,.lesson-timetable-layout{align-items:start;display:grid;gap:1rem}.lesson-day-grid{align-items:start;display:grid;gap:.75rem;width:100%}.lesson-day-column{align-content:start;align-items:stretch;border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;padding:.75rem}.lesson-day-column h4{color:var(--teal-dark);font-size:.95rem;margin:0}.lesson-item-pool,.lesson-slot-column{align-content:start;align-items:stretch;display:grid;gap:.65rem}.lesson-slot-column{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.lesson-slot-subcolumn{align-content:start;align-items:stretch;display:grid;gap:.65rem}.lesson-slot-card{align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;grid-template-columns:max-content minmax(0,1fr);min-height:4.8rem;padding:.65rem}.lesson-slot-time{align-items:center;color:var(--teal-dark);display:flex;min-height:2.6rem}.lesson-draggable-item small,.lesson-slot-card span,.lesson-slot-pill small{color:var(--muted)}.lesson-item-pool,.lesson-slot-items{align-content:start;align-items:start}.lesson-item-pool-panel{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.75rem;padding:.75rem}.lesson-item-pool-panel h4{color:var(--teal-dark);font-size:.95rem;margin:0}.lesson-slot-items{align-items:center;border:1px dashed #bdd3d0;border-radius:8px;display:flex;flex-wrap:wrap;gap:.45rem;min-height:2.6rem;padding:.35rem;width:100%}.lesson-item-pool{align-items:start;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));width:100%}.lesson-item-pool-column{align-content:start;align-items:stretch;display:grid;gap:.65rem}.lesson-item-pool .muted{grid-column:1/-1}.lesson-draggable-item,.lesson-slot-pill{align-items:start;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:grab;display:flex;gap:.55rem;justify-content:flex-start;min-height:2.6rem;padding:.55rem .65rem;text-align:left}.lesson-draggable-item{width:100%}.lesson-slot-pill{max-width:100%;width:fit-content}.lesson-draggable-item span,.lesson-slot-pill span{display:grid;gap:.1rem;min-width:0}.lesson-draggable-item strong{line-height:1.15}.sortable-preview{align-content:start;align-items:start;display:grid;gap:.45rem}.menu-order-settings-grid{align-items:start;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.menu-order-editor{display:grid;gap:.75rem}.menu-order-group{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.6rem;padding:.75rem}.menu-order-group-heading strong,.menu-order-group>strong{color:var(--teal-dark)}.menu-order-group-heading{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.menu-order-group-heading span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.sortable-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;grid-template-columns:auto 2rem minmax(0,1fr);padding:.65rem .75rem}.sortable-row span,.sortable-row svg{color:var(--muted)}.menu-order-row{grid-template-columns:auto 2rem minmax(0,1fr) auto}.menu-order-row[draggable=true]{cursor:grab}.menu-order-row.is-dragging{opacity:.55}.menu-order-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.menu-order-empty{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:.75rem;text-align:center}.menu-order-group-locked .sortable-row{background:#f7f8f8}.menu-typography-controls{align-items:center;align-self:end;display:flex;flex-wrap:wrap;gap:.75rem;min-height:2.55rem}.segmented{display:flex;flex-wrap:wrap;gap:.45rem}.attendance-control-stack{align-content:start;align-items:end;display:grid;gap:.55rem;justify-items:end}.attendance-range-heading{align-items:start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.attendance-stat-summary-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(26rem,max-content)}.attendance-stat-control-panel{align-content:start;align-items:stretch;display:grid;gap:.65rem;justify-self:end;width:min(100%,32rem)}.attendance-stat-range-buttons{align-items:center;display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-stat-range-button{min-width:0;white-space:nowrap;width:100%}.attendance-stat-selectors{align-items:end;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-stat-selector{align-content:start;background:#f8faf9;border:1px solid var(--line);border-radius:8px;display:grid;gap:.3rem;margin:0;min-width:0;padding:.55rem}.attendance-stat-selector.active-control{border-color:rgba(13,111,114,.58);box-shadow:inset 0 0 0 1px rgba(13,111,114,.16)}.attendance-stat-selector span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.attendance-stat-selector select{min-width:0;width:100%}.attendance-matrix-panel{align-content:start;align-items:stretch}.attendance-matrix-wrap{overflow-x:auto}.attendance-term-controls{align-content:start;align-items:end;display:grid;gap:.55rem;justify-items:end}.attendance-matrix-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.attendance-matrix-actions label{margin:0;min-width:min(18rem,100%)}.attendance-matrix-action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.term-year-label{align-items:center;background:#f8faf9;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;font-weight:900;min-height:2.55rem;padding:.65rem .9rem}.attendance-matrix-legend{display:flex;flex-wrap:wrap;gap:.45rem}.attendance-matrix-legend-item{border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:850;padding:.25rem .55rem}.attendance-matrix-table{border:1px solid var(--line);table-layout:fixed;--attendance-matrix-row-height:4.8rem}.attendance-matrix-wrap{border-radius:8px;overscroll-behavior-x:contain;scrollbar-gutter:stable}.attendance-matrix-table thead th{background:#f7fbfa;position:sticky;top:0;z-index:5}.attendance-matrix-floating-header{border-radius:8px 8px 0 0;box-shadow:0 10px 22px rgba(23,32,42,.12);overflow:hidden;pointer-events:none;position:fixed;z-index:44}.attendance-matrix-floating-header-row{display:grid;will-change:transform}.attendance-matrix-floating-header-cell{align-items:center;background:#f7fbfa;border-bottom:1px solid #dfe8e5;border-right:1px solid #dfe8e5;display:inline-flex;flex-direction:column;font-size:.82rem;font-weight:850;justify-content:center;line-height:1.15;min-width:0;overflow:hidden;padding:.5rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.attendance-matrix-floating-header-cell small{color:var(--muted);font-size:.72rem;font-weight:750;margin-top:.18rem}.attendance-matrix-floating-header-cell.attendance-matrix-instrument-heading,.attendance-matrix-floating-header-cell.attendance-matrix-student-heading{align-items:flex-start;text-align:left}.attendance-matrix-floating-header-sticky-cell{box-shadow:1px 0 0 #dfe8e5;height:100%;left:0;position:absolute;top:0;z-index:2}.attendance-matrix-student-col{width:12rem}.attendance-matrix-school-col{width:8rem}.attendance-matrix-year-col{width:6rem}.attendance-matrix-instrument-col{width:10rem}.attendance-matrix-week-col{width:7.25rem}.attendance-matrix-table td,.attendance-matrix-table th{border:1px solid #dfe8e5;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;padding:.58rem .5rem;text-align:center;vertical-align:middle;word-break:normal}.attendance-matrix-table tbody td,.attendance-matrix-table tbody tr{height:var(--attendance-matrix-row-height)}.attendance-matrix-student-cell,.attendance-matrix-student-heading{background:#ffffff;box-shadow:1px 0 0 #dfe8e5;left:0;position:sticky;text-align:left;width:12rem;z-index:4}.attendance-matrix-table thead .attendance-matrix-student-heading{background:#f7fbfa;z-index:7}.attendance-matrix-school-cell,.attendance-matrix-school-heading{width:8rem}.attendance-matrix-year-cell,.attendance-matrix-year-heading{width:6rem}.attendance-matrix-instrument-cell,.attendance-matrix-instrument-heading{text-align:left;width:10rem}.attendance-matrix-week-heading{min-width:7.25rem;width:7.25rem}.attendance-matrix-week-heading small,.attendance-matrix-week-heading span{display:block;white-space:nowrap}.attendance-matrix-week-heading small{color:var(--muted);font-size:.72rem;font-weight:750;margin-top:.2rem}.attendance-matrix-cell{font-size:.78rem;font-weight:850;height:var(--attendance-matrix-row-height);line-height:1.2;position:relative}.attendance-matrix-cell span{display:block}.attendance-matrix-status-label{border-radius:999px;display:inline-block!important;min-width:5.4rem;padding:.22rem .45rem;white-space:nowrap}.attendance-matrix-mixed-details{display:inline-block;position:relative}.attendance-matrix-mixed-details summary{cursor:pointer;list-style:none}.attendance-matrix-mixed-details summary::-webkit-details-marker{display:none}.attendance-matrix-detail-popover{background:#ffffff;border:1px solid var(--line);border-radius:8px;bottom:calc(100% + .45rem);box-shadow:0 14px 28px rgba(23,32,42,.16);color:var(--ink);display:none!important;font-size:.76rem;font-weight:760;left:50%;line-height:1.35;max-width:min(18rem,70vw);min-width:12rem;padding:.65rem .7rem;position:absolute;text-align:left;transform:translateX(-50%);white-space:normal;z-index:60}.attendance-matrix-detail-popover span,.attendance-matrix-detail-popover strong{display:block}.attendance-matrix-detail-popover strong{font-size:.7rem;letter-spacing:.03em;margin-bottom:.35rem;text-transform:uppercase}.attendance-matrix-detail-popover span+span{margin-top:.2rem}.attendance-matrix-mixed-details:focus-within .attendance-matrix-detail-popover,.attendance-matrix-mixed-details:hover .attendance-matrix-detail-popover,.attendance-matrix-mixed-details[open] .attendance-matrix-detail-popover{display:block!important}.attendance-matrix-count,.attendance-matrix-dates,.attendance-matrix-note{border-radius:999px;display:inline-block;font-size:.65rem;font-weight:850;margin-top:.25rem;padding:.15rem .35rem;overflow-wrap:normal;word-break:normal}.attendance-matrix-note{background:#fff4d8;color:#7a4e00;white-space:normal}.attendance-matrix-dates{background:rgba(255,255,255,.6);color:inherit}.attendance-matrix-count{background:rgba(31,102,130,.12);color:var(--teal-dark)}.pass-off-score-table-panel{margin-top:1rem}.pass-off-score-table-wrap{max-height:min(72vh,44rem);overscroll-behavior:contain;overflow-x:auto;overflow-y:scroll;position:relative;scrollbar-gutter:stable}.pass-off-score-table-controls{align-content:start;align-items:end;display:grid;gap:.65rem;justify-items:end;min-width:min(36rem,100%)}.pass-off-score-table-filter-row{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.pass-off-score-table-filter-row label{margin:0}.pass-off-show-all-row{min-height:2.7rem}.pass-off-student-picker{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));justify-self:stretch;width:100%}.pass-off-student-picker .check-row{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;margin:0;padding:.55rem .65rem}.pass-off-student-picker small{color:var(--muted);display:block;font-size:.72rem;font-weight:750;margin-top:.15rem}.pass-off-score-table .attendance-matrix-status-label{min-width:4.8rem}.pass-off-score-table-wrap .pass-off-score-table{border-collapse:separate;border-spacing:0;display:inline-table;min-width:0;table-layout:auto;width:max-content}.pass-off-score-table .attendance-matrix-cell,.pass-off-score-table .attendance-matrix-week-heading{min-width:0;white-space:nowrap;width:auto}.pass-off-score-table .attendance-matrix-instrument-cell,.pass-off-score-table .attendance-matrix-instrument-heading,.pass-off-score-table .attendance-matrix-student-cell,.pass-off-score-table .attendance-matrix-student-heading,.pass-off-score-table .attendance-matrix-year-cell,.pass-off-score-table .attendance-matrix-year-heading{white-space:nowrap;width:1%}.pass-off-score-table thead th{background:#f8faf9;position:sticky;top:0;z-index:3}.pass-off-score-table td:first-child,.pass-off-score-table th:first-child{background:#ffffff;box-shadow:1px 0 0 #dfe8e5;left:0;position:sticky;z-index:2}.pass-off-score-table thead th:first-child{background:#f8faf9;z-index:5}.pass-off-score-table tbody td:first-child{background-clip:padding-box}.pass-off-matrix-no-pass .attendance-matrix-status-label,.pass-off-matrix-not-recorded .attendance-matrix-status-label,.pass-off-matrix-pass .attendance-matrix-status-label{background:rgba(255,255,255,.42)}.matrix-status-on-time{background:#e5f5ed;color:#16633d}.matrix-status-late{background:#fff4d8;color:#7a4e00}.matrix-status-absent{background:#fae5e8;color:#9a2536}.matrix-status-excused{background:#eaf0f7;color:#2f527d}.matrix-status-mixed{background:#f0edff;color:#5740a5}.matrix-status-not-recorded{background:#f8faf9;color:#a5b1ad}.attendance-edit-form{align-content:start;align-items:start;display:grid;gap:.55rem;min-width:16rem}.attendance-record-student-list{align-content:start;align-items:start;display:grid;gap:.75rem}.attendance-record-student{border:1px solid var(--line);border-radius:8px;background:#ffffff}.attendance-record-student-summary{align-items:start;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.85rem}.attendance-record-student-summary::-webkit-details-marker{display:none}.attendance-record-student-summary::marker{content:""}.attendance-record-student[open]>summary .details-chevron{transform:rotate(180deg)}.attendance-record-entry-list{border-top:1px solid var(--line);list-style:none;margin:0}.attendance-record-entry-card,.attendance-record-entry-list{align-content:start;align-items:start;display:grid;gap:.75rem;padding:.85rem}.attendance-record-entry-card{background:#f8faf9;border:1px solid #e3ebe8;border-radius:8px}.attendance-record-entry-main{align-items:start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.attendance-record-status-stack{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.attendance-record-mini-pill{background:#edf5f4;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.76rem;font-weight:820;padding:.24rem .55rem;white-space:nowrap}.button-radio input,.week-option input{min-height:auto;position:absolute;opacity:0;pointer-events:none;width:auto}.timeslot-grid{align-content:start;align-items:start;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr))}.button-radio span{align-items:center;background:#edf5f4;border-radius:8px;color:var(--teal-dark);cursor:pointer;display:inline-flex;font-weight:750;gap:.45rem;min-height:2.55rem;padding:.65rem .95rem}.button-radio input:checked+span{background:var(--teal);color:#ffffff}.week-picker-grid{align-content:start;align-items:start;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.student-exclusion-form{max-width:52rem}.student-exclusion-form>.wide{grid-column:1/-1}.student-exclusion-week-row{display:flex;flex-wrap:wrap}.student-exclusion-week-row .week-option{flex:0 0 auto}.student-exclusion-week-row .week-option span{min-height:3.1rem;min-width:5.5rem}.student-exclusion-note-field{max-width:40rem;width:100%}.auto-fit-textarea{min-height:5rem;overflow:hidden;resize:none;width:100%}.week-option span{border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;gap:.25rem;min-height:4.3rem;padding:.7rem}.week-option small{color:var(--muted);font-weight:700}.week-option input:checked+span{background:#e5f5ed;border-color:#91c9aa;color:var(--green)}.kiosk-page{display:grid;gap:1rem}body:has(.kiosk-page) .floating-practice-tools-launcher,body:has(.kiosk-page) .floating-practice-window,body:has(.kiosk-page) .global-back-navigation,body:has(.kiosk-page) .site-header{display:none}body:has(.kiosk-page) main{padding:1rem}.kiosk-hero{align-items:center;display:flex;justify-content:space-between;min-height:10rem}.kiosk-clock{display:grid;gap:.7rem;justify-items:end}.kiosk-clock span:first-child{font-size:clamp(1.4rem,3vw,2.5rem);font-weight:850}.kiosk-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.kiosk-scan-guidance{background:#edf7f5;border:1px solid #b8d8d3;border-radius:8px;display:grid;gap:.3rem;padding:.85rem}.kiosk-scan-guidance p{margin:0}.kiosk-page .checkin-command-panel{justify-items:stretch;width:100%}@media (max-width:600px){.kiosk-hero{align-items:flex-start;flex-direction:column;gap:1rem}.kiosk-clock{justify-items:start}.kiosk-toolbar,.kiosk-toolbar>*{justify-content:center;width:100%}}.scanner-panel .barcode-input{min-height:3.45rem}.kiosk-page .barcode-input{min-height:4.2rem}.scanner-mode-control{align-content:start;align-items:start;background:#f7fbfa;border:1px solid #cfe3df;border-radius:8px;display:grid;gap:.45rem;padding:.85rem}.scanner-mode-button{font-size:1rem;justify-content:center;min-height:3.35rem;width:100%}.scanner-capture-note{max-width:44rem}.kiosk-page .scan-result{min-height:11rem}.scan-result .status-pill{width:fit-content}.manual-student-button{justify-content:flex-start;text-align:left}.print-sheet{align-content:start;align-items:start;display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.print-sheet+.print-sheet{margin-top:1rem}.cards-page .print-sheet{align-content:center;break-inside:avoid;gap:var(--card-gap,.8rem);grid-template-columns:repeat(var(--card-sheet-columns,2),var(--card-width,85mm));grid-template-rows:repeat(var(--card-sheet-rows,2),var(--card-height,54mm));height:var(--card-page-height,194mm);justify-content:center;justify-items:center;max-height:var(--card-page-height,194mm);overflow:hidden;page-break-inside:avoid;width:var(--card-page-width,281mm)}@media screen and (max-width:1200px){.cards-page .print-sheet{max-width:100%;width:100%}}.card-print-layout-grid{grid-template-columns:repeat(2,minmax(12rem,1fr))}.licence-card{align-content:start;align-items:stretch;background:#ffffff;border:1px solid #1f2d2d;border-radius:8px;display:grid;gap:.65rem;min-height:14rem;padding:.85rem;page-break-inside:avoid}.cards-page .licence-card{aspect-ratio:85/54;block-size:var(--card-height,54mm);box-sizing:border-box;flex:0 0 var(--card-width,85mm);display:block;gap:1.55mm;height:var(--card-height,54mm);inline-size:var(--card-width,85mm);max-height:var(--card-height,54mm);max-width:var(--card-width,85mm);min-height:0;min-width:var(--card-width,85mm);overflow:hidden;padding:var(--card-padding,3mm);position:relative;width:var(--card-width,85mm)}.licence-card-top{align-items:start;display:flex;gap:.7rem;justify-content:space-between}.cards-page .licence-card-top{gap:2mm;min-height:0}.cards-page .licence-card .eyebrow{font-size:var(--card-label-size,5pt);line-height:1;margin-bottom:.8mm}.cards-page .licence-card h2{font-size:var(--card-heading-size,12pt);line-height:1;overflow-wrap:anywhere}.prototype-chip{border:1px solid var(--gold);border-radius:999px;color:#72510d;font-size:.72rem;font-weight:850;padding:.2rem .45rem}.cards-page .prototype-chip{flex:0 0 auto;font-size:var(--card-body-size,6.5pt);line-height:1;padding:.55mm 1.2mm;white-space:nowrap}.licence-card dl{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.cards-page .licence-card dl{gap:1.3mm;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}.cards-page .licence-card dl>div{align-content:start;display:grid;row-gap:.05mm}.cards-page .licence-card dl>div:nth-child(2){text-align:center}.cards-page .licence-card dl>div:nth-child(3){text-align:right}.licence-card dt{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.cards-page .licence-card dt{font-size:var(--card-label-size,5pt);line-height:.95}.licence-card dd{font-weight:800;margin:0}.cards-page .licence-card dd{font-size:var(--card-body-size,6.5pt);line-height:1;margin-top:-.1mm;overflow-wrap:anywhere}.qr-svg{fill:#000000;background:#ffffff;height:9.6rem;justify-self:center;shape-rendering:crispEdges;width:9.6rem}.cards-page .qr-svg{height:var(--card-qr-size,20mm);max-height:100%;max-width:100%;width:var(--card-qr-size,20mm)}.cards-page .card-code-layer{inset:0;pointer-events:none;position:absolute}.cards-page .card-unified-code{align-items:center;display:grid;justify-items:center;left:50%;position:absolute;row-gap:.3mm;top:21mm;transform:translateX(-50%)}.cards-page .card-unified-code>span{color:var(--muted);font-size:4.2pt;font-weight:850;line-height:1;text-transform:uppercase}.term-date-label{white-space:nowrap}.barcode-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:850;text-align:center}.cards-page .barcode-text{font-size:5.2pt;line-height:1;margin:0}.cards-page .replacement-link{font-size:4.5pt;position:absolute;right:2.35mm;top:10.7mm;z-index:2}.replacement-link{color:var(--teal-dark);font-size:.82rem;font-weight:800}@media (max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.licence-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}.licence-summary-metrics .metric,.student-licence-requirement-card{width:100%}.student-licence-requirement-card h3{white-space:normal}.work-week-day-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.menu-order-row{grid-template-columns:auto 2rem minmax(0,1fr)}.menu-order-row-actions{grid-column:1/-1;justify-content:flex-start}.auto-lesson-note-control,.availability-entry-grid,.bulk-action-grid,.checkin-scan-row,.checkpoint-library-row,.daily-review-issue-student-row,.grid-four,.grid-two,.lesson-note-draft-grid,.lesson-note-draft-meta-grid,.lesson-note-transcription-panel,.lesson-roster-columns,.method-book-completion-meta,.method-book-number-row,.method-book-pass-form,.method-book-piece-row,.recording-rules-grid,.scanner-manual-form,.scanner-mode-strip,.scanner-panel-controls,.scanner-panel-header,.school-switch-grid,.split-form-grid,.student-attendance-summary,.student-picker-summary-grid{grid-template-columns:1fr}.daily-review-inline-actions,.daily-review-issue-actions,.daily-review-issue-student-meta,.lesson-note-audio-controls{justify-content:flex-start}.daily-review-inline-resolution,.lesson-note-boundary-panel{grid-template-columns:1fr}.daily-review-floating-next{justify-content:center;left:1rem;right:1rem}form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form select,form textarea{width:100%}.table-wrap table,.table-wrap tbody,.table-wrap td,.table-wrap th,.table-wrap thead,.table-wrap tr{display:block;min-width:0;width:100%}.table-wrap thead{display:none}.table-wrap tr{border:1px solid var(--line);border-radius:8px;display:grid;gap:0;margin-bottom:.75rem;padding:.65rem}.table-wrap td{border-bottom:1px solid #edf1f0;overflow-wrap:anywhere;padding:.55rem 0}.table-wrap td:last-child{border-bottom:0;padding-bottom:0}.table-wrap .attendance-matrix-table{display:table;min-width:70rem;width:100%}.attendance-matrix-table thead{display:table-header-group}.attendance-matrix-table tbody{display:table-row-group}.attendance-matrix-table tr{border:0;border-radius:0;display:table-row;margin-bottom:0;padding:0}.attendance-matrix-table td,.attendance-matrix-table th{border:1px solid #dfe8e5;display:table-cell;min-width:0;overflow-wrap:normal;padding:.55rem .45rem;width:auto;word-break:normal}.attendance-matrix-week-col,.attendance-matrix-week-heading{width:7.25rem}.leaderboard-table{border-spacing:0}.leaderboard-table-wrap{width:100%}.leaderboard-table-wrap .leaderboard-table{min-width:0;width:100%}.leaderboard-results-heading{align-items:flex-start;display:grid;gap:.25rem}.leaderboard-filter-form{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr))}.leaderboard-filter-form .leaderboard-range-buttons{display:grid;flex-basis:auto;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.leaderboard-filter-form .button,.leaderboard-range-buttons .button{min-height:2.35rem;padding:.55rem .7rem}.leaderboard-control{min-width:0}.student-view-context{background:#f6fbfa;border:1px solid #dbe8e5;border-radius:8px;grid-column:1/-1;padding:.7rem .85rem}.leaderboard-table tr{align-items:stretch;background:var(--surface);box-shadow:0 10px 22px rgba(23,32,42,.06);gap:.45rem;padding:.75rem}.leaderboard-table td{align-items:center;display:flex;gap:.8rem;justify-content:space-between;min-height:2.2rem;padding:.35rem 0;white-space:normal}.leaderboard-table td,.leaderboard-table td:first-child,.leaderboard-table td:last-child{border-left:0;border-radius:0;border-right:0;border-top:0}.leaderboard-rank-cell{width:100%}.leaderboard-rank-cell:before{content:""}.leaderboard-table td:not(.leaderboard-rank-cell):before{color:var(--muted);content:attr(data-label);flex:0 0 auto;font-size:.76rem;font-weight:850;text-transform:uppercase}.leaderboard-rank-badge{min-width:6.3rem}.leaderboard-score-cell{font-size:1.18rem}.leaderboard-podium-row td{box-shadow:none}.table-wrap .leaderboard-table{border-collapse:separate;border-spacing:0 .35rem;display:table;min-width:max-content;width:max-content}.leaderboard-table thead{display:table-header-group}.leaderboard-table tbody{display:table-row-group}.leaderboard-table tr{border:0;border-radius:0;box-shadow:none;display:table-row;margin-bottom:0;padding:0}.leaderboard-table td,.leaderboard-table th{display:table-cell;min-height:0;min-width:0;padding:.65rem .7rem;width:auto}.leaderboard-table td{background:var(--surface);border-bottom:1px solid var(--line);border-top:1px solid var(--line);white-space:nowrap}.leaderboard-rank-cell:before,.leaderboard-table td:before,.leaderboard-table td:not(.leaderboard-rank-cell):before{content:none}.leaderboard-table td:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px}.leaderboard-table td:last-child{border-radius:0 8px 8px 0;border-right:1px solid var(--line)}.leaderboard-rank-cell{width:8.8rem}.leaderboard-rank-badge{min-width:5.4rem}}@media (min-width:761px) and (max-width:1100px){.table-wrap .leaderboard-table{border-collapse:separate;border-spacing:0 .35rem;display:table;min-width:max-content;width:max-content}.leaderboard-table thead{display:table-header-group}.leaderboard-table tbody{display:table-row-group}.leaderboard-table tr{border:0;border-radius:0;box-shadow:none;display:table-row;margin-bottom:0;padding:0}.leaderboard-table td,.leaderboard-table th{display:table-cell;min-height:0;min-width:0;padding:.65rem .7rem;width:auto}.leaderboard-table td{background:var(--surface);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.leaderboard-table td:before{content:none}.leaderboard-table td:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px}.leaderboard-table td:last-child{border-radius:0 8px 8px 0;border-right:1px solid var(--line)}.leaderboard-rank-cell{width:8.8rem}.leaderboard-rank-badge{min-width:5.4rem}.student-roster-table-wrap table{display:table;min-width:max-content;width:100%}.student-roster-table-wrap thead{display:table-header-group}.student-roster-table-wrap tbody{display:table-row-group}.student-roster-table-wrap tr{border:0;border-radius:0;display:table-row;margin-bottom:0;padding:0}.student-roster-table-wrap td,.student-roster-table-wrap th{border-bottom:1px solid var(--line);display:table-cell;min-width:0;padding:.42rem .55rem;width:auto}}@media (max-width:760px){.account-install-panel{align-items:stretch;flex-direction:column}.account-install-instruction{max-width:none;text-align:left}.account-overview{grid-template-columns:minmax(0,1fr)}.account-device-row{align-items:start;grid-template-columns:auto minmax(0,1fr)}.account-current-session-note,.account-device-row>form{grid-column:1/-1}.account-device-row>form button{width:100%}#governance-deployment-gate{scroll-margin-top:13rem}.governance-evidence-row,.protection-test-panel{align-items:stretch;grid-template-columns:minmax(0,1fr)}.protection-test-panel button{width:100%}.governance-gate-row{align-items:flex-start;flex-direction:column;gap:.25rem}.student-roster-table-wrap{padding-top:0}.student-table-save-bar{bottom:calc(5.5rem + env(safe-area-inset-bottom, 0px));left:.75rem;justify-content:space-between;right:.75rem}.student-table-save-bar button{flex:0 0 auto}.student-roster-table-wrap table,.student-roster-table-wrap tbody,.student-roster-table-wrap td,.student-roster-table-wrap th,.student-roster-table-wrap thead,.student-roster-table-wrap tr{display:block;min-width:0;width:100%}.student-roster-table-wrap thead{display:none}.student-roster-table-wrap tr{border:1px solid var(--line);border-radius:8px;display:grid;gap:.35rem;margin-bottom:.75rem;padding:.75rem}.student-roster-table-wrap td{align-items:center;border-bottom:0;display:grid;gap:.45rem;grid-template-columns:minmax(5.8rem,.42fr) minmax(0,1fr);overflow-wrap:anywhere;padding:.25rem 0}.student-roster-table-wrap td[data-label]:before{color:var(--muted);content:attr(data-label);font-size:.72rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.student-roster-table-wrap td:last-child{border-bottom:0;padding-bottom:0}.student-roster-table-wrap .student-table-name-column{border-bottom:1px solid #edf1f0;grid-template-columns:1fr;min-width:0;padding-bottom:.6rem;width:100%}.student-roster-table-wrap td:first-child,.student-roster-table-wrap th:first-child,.student-roster-table-wrap thead th{box-shadow:none;left:auto;position:static;top:auto;z-index:auto}.student-roster-table-wrap .student-table-name-column:before{content:none}.student-roster-table-wrap .student-name-edit-row{display:grid;gap:.45rem;grid-template-columns:minmax(8rem,1fr) minmax(4.5rem,.35fr);min-width:0;white-space:normal;width:100%}.student-roster-table-wrap .student-name-edit-row .fit-field,.student-roster-table-wrap td>.fit-field,.student-roster-table-wrap td>input,.student-roster-table-wrap td>label input,.student-roster-table-wrap td>label select,.student-roster-table-wrap td>select{min-width:0;width:100%!important}.student-roster-table-wrap .student-table-profile-link{align-items:center;background:#edf5f4;border-radius:8px;display:inline-flex;justify-content:center;min-height:2.5rem;padding:.45rem .55rem}.student-roster-table-wrap .student-table-actions{justify-items:start;text-align:left}.student-roster-table-wrap .table-ensemble-list{gap:.35rem;max-width:none;min-width:0}}@media (min-width:761px) and (max-width:1200px){.site-header{gap:.5rem .75rem;padding:.65rem .75rem}.brand{gap:.55rem;min-width:0}.brand small,.header-action-label,.school-context-button span,.session-role-badge{display:none}.brand-mark{flex:0 0 auto;height:2.35rem;width:2.35rem}.brand strong{font-size:.98rem;white-space:nowrap}.header-tools{display:flex;flex-wrap:nowrap;gap:.3rem;min-width:0;width:100%}.header-daily-review-button,.header-player-profile-button,.header-search-button,.header-signout-button,.notification-bell summary{flex:0 0 2.5rem;min-height:2.5rem;min-width:2.5rem;padding:.45rem;width:2.5rem}.school-context-button{align-items:center;display:flex;flex:0 1 9rem;min-height:2.5rem;min-width:0;padding:.45rem .55rem}.school-context-button strong{font-size:.8rem;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-account-group{min-width:0}.header-account-group,.session-identity{display:flex;flex:0 1 auto;gap:.3rem;width:auto}.session-identity{min-height:2.5rem;min-width:2.5rem;padding:.35rem .45rem}.session-identity-copy{min-width:0}.session-identity-copy>span{font-size:.76rem;max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-account-actions{display:flex;flex:0 0 auto;gap:.3rem;min-width:0;width:auto}.site-header>nav .nav-row{flex-wrap:wrap}}@media (max-width:760px),(orientation:landscape) and (max-height:600px) and (max-width:1000px){main{padding:1rem .75rem calc(6rem + env(safe-area-inset-bottom, 0px))}.page{gap:1rem}.section{gap:.75rem}.panel{box-shadow:0 8px 20px rgba(23,32,42,.07);padding:.9rem}.page-header{gap:.65rem}h1{font-size:1.85rem}h2{font-size:1.3rem}.metric{min-height:5.6rem;padding:.75rem}.metric strong{font-size:1.55rem}.launch-summary,.page-header{align-items:stretch;flex-direction:column}.site-header{align-items:center;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto;padding:.5rem .75rem;position:relative;top:auto}.site-header>nav{display:none}.mobile-nav-menu{display:block;grid-column:2;grid-row:1;min-width:0;z-index:1030}.attendance-mode-switch{bottom:calc(.75rem + env(safe-area-inset-bottom, 0px));left:1rem;right:1rem;width:auto}.attendance-mode-switch .button{flex:1 1 8rem}.mobile-nav-menu>summary{justify-content:center;min-height:2.75rem;padding:.55rem;position:relative;width:2.75rem;z-index:1045}.mobile-nav-menu>summary>span{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.mobile-nav-panel{align-content:start;grid-auto-rows:max-content;left:.5rem;margin:0;max-height:calc(100dvh - 4.3rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));overflow:hidden auto;overscroll-behavior:contain;padding:.6rem;position:fixed;right:.5rem;scrollbar-gutter:stable;top:calc(3.8rem + env(safe-area-inset-top, 0px));touch-action:pan-y pinch-zoom;width:auto;-webkit-overflow-scrolling:touch;z-index:1040}.mobile-nav-menu[open]:before{background:rgba(23,32,42,.12);content:"";inset:0;position:fixed;z-index:1035}.availability-day-grid,.availability-entry-grid,.bulk-action-grid,.card-picker-grid,.checkbox-grid,.form-grid,.grid-four,.grid-three,.instrument-family-grid,.launch-link-grid,.lesson-timetable-layout,.metrics,.print-sheet,.settings-grid,.split-form-grid{grid-template-columns:1fr}.lesson-day-grid{grid-template-columns:1fr!important}.historical-attendance-import-form,.historical-checkin-layout,.historical-date-controls,.historical-entry-mode,.historical-list-mode,.historical-makeup-fields,.historical-primary-controls,.historical-rehearsal-selection,.historical-secondary-controls,.historical-status-field,.historical-top-controls{max-width:100%;width:100%}.historical-date-controls,.historical-import-grid,.historical-primary-controls,.historical-secondary-controls{grid-template-columns:1fr}.historical-status-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.historical-choice-group{display:grid;grid-template-columns:1fr;width:100%}.historical-choice-button,.historical-status-button{width:100%}.historical-rehearsal-options .check-row{align-items:flex-start;white-space:normal;width:100%}.date-jump-row{display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;width:100%}.date-jump-row input[type=date]{flex:1 1 10.75rem;max-width:100%;min-width:min(10.75rem,100%);width:auto}.date-jump-row .compact-button{flex:1 1 7.6rem}.school-workspace-section,.school-workspace-switch,.settings-page .form-grid,.settings-page .settings-form-section,.settings-page .settings-form-section>.checkbox-grid,.settings-scope-panel{grid-template-columns:minmax(0,1fr)}.settings-scope-switch{justify-content:flex-start}.settings-page .form-grid .wide,.settings-scope-switch .button{min-width:0;width:100%}.settings-page .form-grid .wide{grid-column:1/-1}.schedule-timetable-wrap{width:100%}.lesson-roster-row{grid-template-columns:minmax(0,1fr)}.lesson-roster-actions,.lesson-roster-row .time-edit-form,.roster-status-stack{justify-items:start}.cards-page .print-sheet{grid-template-columns:var(--card-width,85mm);grid-template-rows:none;height:auto;justify-content:safe center;max-height:none;max-width:100%;overflow-x:auto;overflow-y:visible;width:100%}.cards-page .licence-card{block-size:var(--card-height,54mm);height:var(--card-height,54mm);inline-size:var(--card-width,85mm);max-height:var(--card-height,54mm);max-width:none;min-width:var(--card-width,85mm);width:var(--card-width,85mm)}.attendance-control-stack{align-items:stretch;justify-items:stretch}.attendance-stat-summary-heading{grid-template-columns:1fr}.attendance-stat-control-panel{justify-self:stretch;width:100%}.release-command-row{grid-template-columns:1fr}.print-action{justify-items:stretch}.print-action p{max-width:none;text-align:left}.header-tools{align-items:center;display:grid;gap:.35rem;grid-column:1/-1;grid-row:2;grid-template-columns:auto minmax(0,1fr);justify-items:stretch;min-width:0;width:100%}.notification-bell{grid-column:1;grid-row:1}.notification-menu{left:0;max-width:calc(100vw - 2rem);min-width:min(22rem,calc(100vw - 2rem));right:auto}.notification-item,.notification-menu-header{align-items:stretch;flex-direction:column}.notification-item button,.notification-item form,.notification-menu-header button,.notification-menu-header form{width:100%}.brand,.header-tools .compact-button,.mobile-nav-panel a,.notification-bell summary,.school-context-button{min-height:2.75rem}.notification-bell summary{min-width:2.75rem}.school-context-button{grid-column:2;grid-row:1;min-width:0}.school-context-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-account-group{display:grid;grid-column:1/-1;gap:.35rem;grid-template-columns:minmax(0,1fr);justify-content:stretch;width:100%}.session-identity{justify-content:flex-start;width:100%}.session-identity-copy>span{max-width:none}.header-account-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;width:100%}.mobile-quick-access-links{align-items:start;gap:.4rem}.mobile-category-list{align-content:start;grid-auto-rows:max-content}.mobile-quick-access-links a{font-size:.9rem;min-height:2.75rem;padding:.5rem .6rem}.mobile-category-list,.mobile-nav-category-panel{gap:.25rem}.mobile-nav-category{padding-top:.25rem}.mobile-nav-category>summary,.mobile-nav-panel a{font-size:.88rem;min-height:2.65rem;padding:.48rem .58rem}.brand{gap:.55rem}.brand-mark{height:2.35rem;width:2.35rem}.brand strong{font-size:.98rem}.brand small{font-size:.7rem}.header-account-actions .button,.header-daily-review-button{min-width:0;width:100%}.form-grid .wide{grid-column:auto}.form-action-align,.form-action-align>.button,.form-action-align>button{width:100%}.form-action-align>.button,.form-action-align>button{white-space:normal}td,th{padding:.6rem}}@media (orientation:landscape) and (max-height:600px) and (max-width:1000px){.site-header{gap:.35rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.35rem .55rem}.brand{grid-column:1;grid-row:1;min-height:2.35rem}.brand small,.header-action-label,.school-context-button span,.session-role-badge{display:none}.brand-mark{height:2.2rem;width:2.2rem}.brand strong{font-size:.9rem}.header-tools{display:flex;flex-wrap:nowrap;gap:.3rem;grid-column:2;grid-row:1;justify-content:flex-end;width:auto}.header-account-group,.notification-bell,.school-context-button,.session-identity{grid-column:auto;grid-row:auto}.header-tools .compact-button,.notification-bell summary,.school-context-button,.session-identity{min-height:2.35rem}.header-daily-review-button,.header-player-profile-button,.header-signout-button,.notification-bell summary{min-width:2.35rem;padding:.4rem;width:2.35rem}.school-context-button{display:flex;min-width:0;padding:.4rem .55rem}.school-context-button strong{font-size:.8rem;max-width:8rem}.header-account-group{min-width:0}.header-account-group,.session-identity{display:flex;flex:0 1 auto;gap:.3rem;width:auto}.session-identity{min-width:2.35rem;padding:.35rem .45rem}.session-identity-copy>span{font-size:.76rem;max-width:7rem}.header-account-actions{display:flex;flex:0 0 auto;gap:.3rem;width:auto}.mobile-nav-menu{grid-column:3;grid-row:1}.mobile-nav-menu>summary{min-height:2.35rem;width:2.35rem}.mobile-nav-panel{max-height:calc(100dvh - 3.25rem - env(safe-area-inset-bottom, 0px));top:calc(2.85rem + env(safe-area-inset-top, 0px))}}@media (max-width:640px) and (orientation:portrait){.header-account-group{align-items:stretch;grid-template-columns:minmax(0,1fr) auto}.session-identity,.session-identity-copy{min-width:0}.session-identity-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-account-actions{align-content:stretch;grid-template-columns:repeat(3,2.65rem);width:auto}.header-account-actions .button,.header-daily-review-button,.header-signout-button{min-height:2.65rem;padding:.45rem;width:2.65rem}.header-action-label{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}.start-here-page{margin-inline:auto;max-width:92rem;width:100%}.start-intro{background:linear-gradient(135deg,#edf7f5,#fffdf7 72%);border-color:#b8d8d3}.start-action-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.start-action-card{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;gap:.7rem;min-height:8.5rem;padding:.9rem}.start-action-card:hover{border-color:var(--teal);box-shadow:var(--shadow);color:var(--teal-dark)}.start-action-card>svg{color:var(--teal-dark);flex:0 0 auto;margin-top:.08rem}.start-action-card span,.start-audience-guide summary span{display:grid;gap:.3rem}.start-action-card strong,.start-audience-guide summary strong{font-size:1rem}.start-action-card small,.start-audience-guide summary small{color:var(--muted);font-size:.86rem;line-height:1.45}.start-step-grid{counter-reset:start-step;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.start-step-grid>li{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:flex;gap:.7rem;padding:.9rem}.start-step-grid h3,.start-step-grid p{margin:0 0 .45rem}.start-step-number{align-items:center;background:var(--teal);border-radius:999px;color:#ffffff;display:inline-flex;flex:0 0 1.8rem;font-size:.82rem;font-weight:900;height:1.8rem;justify-content:center}.page-header-summary{color:var(--muted);margin:.45rem 0 0;max-width:52rem}.instructional-empty-state{justify-items:start;min-height:10rem}.instructional-empty-state h2,.instructional-empty-state p{margin:0}.start-setup-health{gap:1.15rem}.start-setup-health-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.start-next-setup h3,.start-next-setup p,.start-setup-health-heading h2{margin:0}.start-setup-score{border:1px solid;border-radius:8px;display:grid;flex:0 0 auto;gap:.15rem;justify-items:center;min-width:8rem;padding:.7rem .85rem}.start-setup-score strong{font-size:1.65rem;line-height:1}.start-setup-score span{font-size:.75rem;font-weight:800;text-transform:uppercase}.start-next-setup{align-items:center;border:1px solid;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.start-next-setup>div{display:grid;gap:.3rem}.start-setup-check-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.start-setup-check{border:1px solid;border-radius:8px;display:grid;gap:.55rem;padding:.8rem}.start-setup-check>div{align-items:start;display:flex;gap:.5rem;justify-content:space-between}.start-setup-check span{font-size:.68rem;font-weight:900;text-transform:uppercase}.start-setup-check p{margin:0}.first-use-step-actions>a,.start-setup-check a{color:var(--teal-dark);font-weight:800;text-decoration:underline;text-underline-offset:.18rem}.first-use-checklist,.first-use-checklist-summary{display:grid;gap:.75rem}.first-use-checklist-summary{background:#edf7f5;border:1px solid #b8d8d3;border-radius:8px;gap:.15rem;padding:.75rem}.first-use-checklist-summary span{color:var(--muted);font-size:.82rem}.start-step-grid>li.is-complete{background:#e6f4ea;border-color:#b8dfc8}.first-use-step-actions{align-items:start;display:grid;gap:.55rem}.first-use-step-actions .check-row{font-size:.82rem;margin:0}.first-use-reset{justify-self:start}.programme-context-note{align-items:center;background:#edf7f5;border:1px solid #b8d8d3;border-radius:8px;display:flex;flex-wrap:wrap;gap:.45rem 1rem;justify-content:space-between;padding:.75rem .9rem}.programme-context-note span{color:var(--muted);font-size:.82rem}.programme-overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.programme-distribution-list,.programme-operation-list,.programme-school-list{display:grid;gap:.6rem}.programme-school-row{align-items:center;border:1px solid;border-radius:8px;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem}.programme-school-row span{display:grid;gap:.15rem}.programme-operation-list small,.programme-school-row small{color:inherit}.programme-operation-list a,.programme-school-row a{color:var(--teal-dark);font-weight:800;text-decoration:underline;text-underline-offset:.18rem}.programme-operation-list>div{border-bottom:1px solid var(--line);display:grid;gap:.25rem;padding:0 0 .7rem}.programme-operation-list>div:last-child{border-bottom:0}.programme-operation-list>div>span{color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase}.programme-boundary-note{border-top:1px solid var(--line);margin:0;padding-top:.75rem}.programme-distribution-list>div{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.55rem 0}.programme-distribution-list>div:last-child{border-bottom:0}.programme-attention-panel{background:#fff4d8;border-color:#e7c678}.start-audience-list{display:grid;gap:.65rem}.start-audience-guide{border:1px solid var(--line);border-radius:8px}.start-audience-guide>summary{align-items:flex-start;cursor:pointer;display:grid;gap:.7rem;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;padding:.85rem}.start-audience-guide>summary::-webkit-details-marker{display:none}.start-audience-guide>summary:after{color:var(--teal-dark);content:"+";font-size:1.3rem;font-weight:800;grid-column:3;grid-row:1}.start-audience-guide[open]>summary:after{content:"−"}.start-audience-guide>summary>svg{color:var(--teal-dark)}.start-audience-body{border-top:1px solid var(--line);display:grid;gap:.8rem;padding:.85rem}.start-audience-body ul,.start-compact-list{display:grid;gap:.45rem;margin:0;padding-left:1.2rem}.start-guardrails-grid{align-items:stretch}.start-guardrails-grid>.panel{height:100%}.start-safety-card{background:#fff8e8;border-color:#e6cf91}.start-confirmation{align-items:center;color:var(--green);display:flex;font-weight:800;gap:.45rem;margin:0}.start-term-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.start-term-grid>div{border-left:3px solid var(--teal);display:grid;gap:.25rem;padding-left:.75rem}.start-term-grid dt{font-weight:850}.start-term-grid dd{color:var(--muted);font-size:.88rem;line-height:1.45;margin:0}@media (max-width:960px){.programme-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.start-step-grid,.start-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.programme-context-note,.start-next-setup,.start-setup-health-heading{align-items:stretch;flex-direction:column}.start-setup-score{justify-self:stretch}.programme-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-overview-metrics .metric:last-child{grid-column:1/-1}.start-step-grid,.start-term-grid{grid-template-columns:minmax(0,1fr)}.start-action-card{min-height:0}}.guide-page{margin:0 auto;max-width:92rem;width:100%}.guide-page-actions{justify-content:flex-end}.guide-reading-layout{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);min-width:0}.guide-navigation-card{display:grid;gap:1rem;grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 14.5rem);overflow:hidden;padding:1rem;position:sticky;top:13.5rem}.guide-working-status{align-items:flex-start;background:#fff7dc;border:1px solid #ead183;border-radius:8px;color:#6d4c05;display:flex;gap:.6rem;padding:.75rem}.guide-working-status svg{flex:0 0 auto;margin-top:.1rem}.guide-working-status div{display:grid;gap:.1rem}.guide-working-status span{font-size:.78rem;line-height:1.35}.guide-document-meta{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.guide-document-meta>div{background:#f4f7f6;border:1px solid var(--line);border-radius:7px;display:grid;gap:.05rem;padding:.55rem .65rem}.guide-document-meta dt{color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.guide-document-meta dd{font-size:.92rem;font-weight:900;margin:0}.guide-contents{display:grid;gap:.65rem;grid-template-rows:auto minmax(0,1fr);min-height:0}.guide-contents-title{align-items:center;color:var(--teal-dark);display:flex;gap:.45rem}.guide-contents-title h2{font-size:.95rem;margin:0}.guide-contents ol{display:grid;gap:.2rem;height:100%;list-style:none;margin:0;max-height:100%;min-height:0;overflow:hidden auto;padding:0 .2rem 0 0}.guide-contents li{margin:0}.guide-contents li.is-subsection{padding-left:.8rem}.guide-contents a{border-left:3px solid transparent;color:var(--ink);display:block;font-size:.8rem;font-weight:730;line-height:1.35;padding:.3rem .35rem .3rem .55rem;text-decoration:none}.guide-contents li.is-subsection a{color:var(--muted);font-size:.75rem;font-weight:680}.guide-contents a:focus-visible,.guide-contents a:hover{background:#edf5f4;border-left-color:var(--teal);color:var(--teal-dark)}.guide-document-panel{gap:1.25rem;min-width:0}.guide-document-intro{align-items:flex-start;background:#edf5f4;border:1px solid #c6ddda;border-radius:8px;color:var(--teal-dark);display:flex;gap:.65rem;padding:.8rem .95rem}.guide-document-intro svg{flex:0 0 auto;margin-top:.15rem}.guide-document-intro>div{display:grid;gap:.1rem}.guide-document-intro p{margin:0}.guide-document{color:var(--ink);display:grid;font-size:1rem;gap:.85rem;line-height:1.65;min-width:0}.guide-document>h2,.guide-document>h3,.guide-document>h4,.guide-document>h5,.guide-document>h6{margin:1rem 0 0;max-width:48rem;scroll-margin-top:13.5rem}.guide-document>h2{border-bottom:1px solid var(--line);padding-bottom:.45rem}.guide-document>blockquote,.guide-document>ol,.guide-document>p,.guide-document>ul{margin:0;max-width:48rem}.guide-document>ol,.guide-document>ul{padding-left:1.4rem}.guide-document li+li{margin-top:.35rem}.guide-document a{color:var(--teal-dark);font-weight:760;text-decoration-thickness:.1em;text-underline-offset:.15em}.guide-document code{background:#f2f4f3;border:1px solid var(--line);border-radius:5px;font-size:.9em;padding:.12rem .3rem}.guide-document pre{background:#172229;border-radius:8px;color:#f6fbfa;margin:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:1rem}.guide-document pre code{background:transparent;border:0;color:inherit;padding:0}.guide-document blockquote{background:#fff7dc;border-left:4px solid var(--gold);padding:.75rem .9rem}.guide-check-item{align-items:start;display:flex;gap:.55rem;list-style:none}.guide-check-item input{flex:0 0 auto;margin-top:.35rem}.guide-table-wrap{max-width:100%;overflow-x:auto}.guide-table-wrap table{min-width:36rem;width:100%}.guide-table-wrap th{background:#edf5f4;color:var(--teal-dark)}@media (max-width:760px){.guide-page-actions,.guide-page-actions>*{justify-content:center;width:100%}.guide-reading-layout{grid-template-columns:minmax(0,1fr)}.guide-navigation-card{grid-template-rows:none;max-height:none;overflow:visible;position:static}.guide-contents ol{height:auto;max-height:20rem}.guide-document-panel{padding:1rem}.guide-document{font-size:.96rem;line-height:1.58}.guide-document>h2,.guide-document>h3,.guide-document>h4,.guide-document>h5,.guide-document>h6{scroll-margin-top:1rem}}@media (min-width:761px) and (max-height:680px){.guide-navigation-card{grid-template-rows:none;max-height:none;overflow:visible;position:static}.guide-contents ol{height:auto;max-height:20rem}}@media print{.guide-page{max-width:none}.guide-navigation-card,.guide-page>.page-header{display:none!important}.guide-reading-layout{display:block}.guide-document-panel{border:0;box-shadow:none;padding:0}.guide-document{color:#000000;display:block;font-size:9.5pt;line-height:1.45}.guide-document>blockquote,.guide-document>h2,.guide-document>h3,.guide-document>h4,.guide-document>h5,.guide-document>h6,.guide-document>ol,.guide-document>p,.guide-document>ul{max-width:none}.guide-document>h2{page-break-after:avoid;break-after:avoid;margin-top:7mm}.guide-document blockquote,.guide-document li,.guide-document>h3,.guide-document>h4,.guide-document>h5,.guide-document>h6,.guide-table-wrap{page-break-inside:avoid;break-inside:avoid}.guide-table-wrap{overflow:visible}.guide-table-wrap table{font-size:8pt;min-width:0}}.tone-generator{display:grid;gap:1rem;min-width:0}.tone-generator-intro{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;gap:.35rem;padding:.85rem 1rem}.tone-generator-intro p{margin:0}.tone-generator-controls{align-items:end;display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;width:100%}.tone-control{display:grid;gap:.4rem;min-width:0}.tone-control>span{color:var(--muted);font-weight:800}.tone-control select,.tone-slider-control input{width:100%}.tone-segmented{background:#eef5f4;border:1px solid var(--line);border-radius:8px;display:grid;gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:.25rem}.tone-segmented button{background:transparent;box-shadow:none;color:var(--teal-dark);min-height:2.65rem;min-width:0;overflow-wrap:anywhere;padding:.5rem .65rem}.tone-segmented button.selected{background:var(--teal);color:#ffffff}.tone-status{align-items:center;display:flex;gap:.5rem;min-height:2.9rem}.tone-stop-button{justify-content:center}.tone-key-summary{background:#f4f8f7;border-left:4px solid var(--teal);padding:.75rem .9rem}.tone-audio-error{background:#fff1f0;border:1px solid #e9a9a4;border-radius:8px;color:#7b1f18;font-weight:800;margin:0;padding:.75rem .9rem}.tone-grid-shell{background:#ffffff;border:1px solid var(--line);border-radius:8px;max-height:min(68vh,52rem);overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain}.tone-grid{display:grid;grid-template-columns:repeat(12,minmax(4.7rem,1fr));min-width:62rem}.tone-cell{background:#ffffff;border:1px solid var(--line);border-radius:0;box-shadow:none;color:var(--ink);font-size:1.15rem;min-height:4.25rem;padding:.45rem;transform:none}.tone-cell:hover{background:#edf5f4;transform:none}.tone-cell:focus-visible{outline:3px solid var(--gold);outline-offset:-4px;position:relative;z-index:1}.tone-cell.in-key{background:#dcefeb;color:#063f42}.tone-cell.tonic{box-shadow:inset 0 0 0 3px var(--gold)}.tone-cell.active{background:var(--teal);box-shadow:inset 0 0 0 3px #052f32;color:#ffffff}@media (max-width:1100px){.tone-generator-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.tone-slider-control,.tone-status,.tone-stop-button{grid-column:1/-1}}@media (max-width:600px){.tone-generator-controls{grid-template-columns:minmax(0,1fr)}.tone-slider-control,.tone-status,.tone-stop-button{grid-column:auto}.tone-grid{grid-template-columns:repeat(12,minmax(4rem,1fr));min-width:50rem}.tone-cell{font-size:1rem;min-height:3.6rem}}@media (max-height:520px) and (orientation:landscape){.tone-grid-shell{max-height:54vh}.tone-cell{min-height:3.2rem}}@page{margin:12mm;size:A4}@page card-sheet-landscape{margin:0;size:A4 landscape}@page card-sheet-portrait{margin:0;size:A4 portrait}@page timetable-sheet{margin:6mm;size:A4 landscape}@media print{.floating-practice-tools-launcher,.floating-practice-window{display:none!important}body{background:#ffffff}body:has(.cards-page){margin:0}.no-print,.prototype-banner,.site-header,button,nav{display:none!important}main{padding:0}body:has(.attendance-matrix-panel) main>.page>:not(.attendance-matrix-panel){display:none!important}body:has(.attendance-matrix-panel) .attendance-matrix-panel{border:0;box-shadow:none;padding:0}body:has(.attendance-matrix-panel) .attendance-range-heading{display:block}body:has(.attendance-matrix-panel) .attendance-matrix-wrap{overflow:visible}body:has(.attendance-matrix-panel) .attendance-matrix-table{font-size:8pt;min-width:0;width:100%}body:has(.attendance-matrix-panel) .attendance-matrix-table td,body:has(.attendance-matrix-panel) .attendance-matrix-table th{padding:3pt}body:has(.cards-page) main>.cards-page>:not(.print-sheet){display:none!important}.page{display:block}.cards-page[data-card-orientation=landscape]{page:card-sheet-landscape}.cards-page[data-card-orientation=portrait]{page:card-sheet-portrait}.print-sheet{display:grid;gap:6mm;grid-template-columns:repeat(2,1fr)}.cards-page .print-sheet{align-content:center;break-after:page;break-inside:avoid;gap:var(--card-gap);grid-template-columns:repeat(var(--card-sheet-columns),var(--card-print-width));grid-template-rows:repeat(var(--card-sheet-rows),var(--card-print-height));height:var(--card-page-height);justify-content:center;justify-items:center;margin:0 auto;max-height:var(--card-page-height);min-height:0;overflow:hidden;page-break-after:always;page-break-inside:avoid;width:var(--card-page-width)}.cards-page .print-sheet+.print-sheet{margin-top:0}.cards-page .print-sheet:last-of-type{break-after:auto;page-break-after:auto}.licence-card{box-shadow:none;min-height:54mm}.cards-page .licence-card{align-self:center;block-size:var(--card-print-height);box-sizing:border-box;break-inside:avoid;flex:0 0 var(--card-print-width);gap:1.55mm;grid-template-rows:auto auto 1fr auto;height:var(--card-print-height);inline-size:var(--card-print-width);justify-self:center;max-height:var(--card-print-height);max-width:var(--card-print-width);min-height:0;min-width:var(--card-print-width);overflow:hidden;page-break-inside:avoid;padding:var(--card-print-padding);width:var(--card-print-width)}.licence-card h2{font-size:18pt}.cards-page .licence-card h2{font-size:var(--card-print-heading-size);line-height:1}.cards-page .licence-card dl{gap:1.3mm;grid-template-columns:repeat(3,minmax(0,1fr))}.cards-page .licence-card dt{font-size:var(--card-print-label-size)}.cards-page .barcode-text,.cards-page .licence-card dd{font-size:var(--card-print-body-size)}.qr-svg{height:38mm;width:38mm}.cards-page .qr-svg{height:var(--card-print-qr-size);max-height:100%;max-width:100%;width:var(--card-print-qr-size)}.cards-page .card-unified-code{top:21.8mm}.printable-lesson-page>:not(.lesson-print-sheets),.printable-timetable-page>:not(.timetable-print-sheets){display:none!important}.printable-lesson-page .lesson-print-sheets,.printable-timetable-page .timetable-print-sheets{color:#000000;display:block;font-family:Arial,Helvetica,sans-serif}.printable-lesson-page,.printable-timetable-page{page:timetable-sheet}.lesson-print-sheet{--timetable-print-page-height:198mm;--timetable-print-page-width:285mm;--timetable-print-scale:0.88;break-after:page;box-sizing:border-box;display:grid;height:var(--timetable-print-page-height);justify-items:center;margin:0 auto;overflow:hidden;page-break-after:always;width:var(--timetable-print-page-width)}.lesson-print-sheet-inner{transform:scale(var(--timetable-print-scale));transform-origin:top center;width:calc(var(--timetable-print-page-width) / var(--timetable-print-scale))}.lesson-print-sheet:last-child{break-after:auto;page-break-after:auto}.lesson-print-sheet h1{font-size:20pt;font-weight:800;letter-spacing:0;line-height:1;margin:0 0 4mm;text-align:center}.lesson-schedule-print-sheet{--schedule-print-text-size:9.5pt;--schedule-timetable-min-height:124mm;--timetable-print-page-width:250mm;align-content:start;height:auto;min-height:0;padding:0;width:var(--timetable-print-page-width)}.lesson-schedule-print-sheet,.schedule-timetable-print-wrap{justify-items:center;max-width:var(--timetable-print-page-width);overflow:visible}.schedule-timetable-print-wrap{display:grid;justify-content:center;width:100%}.schedule-timetable-print{border:1pt solid #9fb6b2;border-collapse:separate;border-spacing:0;box-sizing:border-box;color:#172321;font-size:var(--schedule-print-text-size);height:var(--schedule-timetable-min-height);max-width:100%;min-width:0;table-layout:auto;width:auto}.schedule-timetable-print td,.schedule-timetable-print th{border-bottom:.75pt solid #c8d5d3;border-right:.75pt solid #c8d5d3;padding:1.65mm 1mm;text-align:center;vertical-align:middle}.schedule-timetable-print .schedule-timetable-time,.schedule-timetable-print .schedule-timetable-time-header,.schedule-timetable-print thead th{position:static}.schedule-timetable-print .schedule-timetable-time,.schedule-timetable-print .schedule-timetable-time-header{min-width:18mm;width:18mm}.schedule-timetable-print .schedule-timetable-cell,.schedule-timetable-print .schedule-timetable-date-header{max-width:none;min-width:max-content;width:auto}.schedule-timetable-print .schedule-timetable-date-header,.schedule-timetable-print .schedule-timetable-entry,.schedule-timetable-print .schedule-timetable-time{white-space:nowrap}.schedule-timetable-print .schedule-timetable-date-header span{font-size:var(--schedule-print-text-size)}.schedule-timetable-print .schedule-timetable-date-header strong{font-size:var(--schedule-print-text-size);line-height:1.05}.schedule-timetable-print .schedule-timetable-date-header small{font-size:var(--schedule-print-text-size)}.schedule-timetable-print .schedule-timetable-entry{align-content:center;align-items:center;background:#edf5f4;border:.75pt solid #c8d5d3;border-radius:3mm;box-sizing:border-box;break-inside:avoid;gap:.3mm;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;padding:1.45mm 1.2mm;page-break-inside:avoid;text-align:center;word-break:normal}.schedule-timetable-print .schedule-timetable-entry+.schedule-timetable-entry{margin-top:1.1mm}.schedule-timetable-print .schedule-timetable-entry strong{font-size:var(--schedule-print-text-size);line-height:1.12}.schedule-timetable-print .schedule-timetable-entry small{font-size:var(--schedule-print-text-size);line-height:1.1}.schedule-timetable-print .schedule-timetable-cell.is-empty{color:#71827f}.schedule-print-group-members{display:grid;justify-items:center;margin-top:4mm;max-width:var(--timetable-print-page-width);width:100%}.schedule-print-group-members h2{color:#172321;font-size:var(--schedule-print-text-size);font-weight:800;letter-spacing:0;margin:0 0 2mm;text-align:center}.schedule-print-group-grid{align-items:start;display:flex;flex-wrap:wrap;font-size:var(--schedule-print-text-size);gap:2mm;grid-template-columns:repeat(auto-fit,max-content);justify-content:center;justify-items:center;width:100%}.schedule-print-group-card{break-inside:avoid;border:.75pt solid #c8d5d3;border-radius:2mm;display:grid;overflow:hidden;page-break-inside:avoid;width:var(--schedule-print-group-card-width,22ch)}.schedule-print-group-card h3{align-items:center;background:#f7fbfa;border-bottom:.75pt solid #c8d5d3;display:grid;gap:.4mm;margin:0;padding:1.15mm 1.4mm;place-items:center;text-align:center}.schedule-print-group-card h3 span{color:#172321;font-size:var(--schedule-print-text-size);font-weight:850;line-height:1.12;overflow-wrap:normal;white-space:nowrap}.schedule-print-group-card h3 small{color:#5f716e;font-size:var(--schedule-print-text-size);font-weight:750;line-height:1.05;text-align:center}.schedule-print-group-list{display:grid}.schedule-print-group-member{align-items:center;border-top:.5pt solid #d9e3e1;color:#172321;display:grid;font-size:var(--schedule-print-text-size);font-weight:750;gap:1.5mm;grid-template-columns:minmax(0,max-content) max-content;justify-content:center;line-height:1.1;margin:0;padding:.95mm 1.4mm;place-items:center;text-align:center;white-space:nowrap}.schedule-print-group-member:first-child{border-top:0}.schedule-print-group-member small{color:#5f716e;font-size:var(--schedule-print-text-size);font-weight:750}.lesson-print-timetable-stack{display:grid;gap:2.5mm;grid-template-columns:repeat(auto-fit,minmax(48mm,1fr));justify-content:center;margin:0 auto 5mm;max-width:300mm}.lesson-print-table{border:1pt solid #000000;border-collapse:collapse;table-layout:fixed;width:100%}.lesson-print-table td,.lesson-print-table th{border:.75pt solid #000000;color:#000000;text-align:center;vertical-align:top}.lesson-print-table th{font-size:8pt;font-weight:800;line-height:1.15;padding:1.2mm 1mm}.lesson-print-table td{font-size:9pt;line-height:1.05;padding:1.1mm 1mm}.lesson-print-table td:first-child{width:45%}.rehearsal-print-timetable-stack{grid-template-columns:repeat(auto-fit,minmax(70mm,1fr))}.rehearsal-print-table{width:100%}.rehearsal-print-table td:first-child{width:24%}.lesson-print-break-row td{font-size:7.5pt;font-weight:800;padding:1mm}}.daily-review-calendar-panel{gap:1rem}.daily-review-calendar-month{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem}.daily-review-calendar-month label{display:grid;gap:.3rem}.daily-review-calendar-grid,.daily-review-calendar-weekdays{display:grid;gap:.45rem;grid-template-columns:repeat(7,minmax(0,1fr))}.daily-review-calendar-weekdays span{color:var(--muted);font-size:.78rem;font-weight:800;text-align:center}.daily-review-calendar-day{align-content:center;aspect-ratio:1;background:var(--surface-soft);border:2px solid transparent;border-radius:999px;color:var(--ink);display:grid;justify-items:center;min-width:0;padding:.25rem;text-decoration:none}.daily-review-calendar-day.complete{background:#dcfce7;border-color:#16a34a}.daily-review-calendar-day.missing{background:#fee2e2;border-color:#dc2626}.daily-review-calendar-day.selected{box-shadow:0 0 0 3px var(--gold)}.daily-review-calendar-day span{font-size:clamp(.82rem,2vw,1rem);font-weight:900}.daily-review-calendar-day small{font-size:clamp(.52rem,1.4vw,.68rem);overflow:hidden;text-overflow:ellipsis}@media (max-width:600px){.daily-review-calendar-grid,.daily-review-calendar-weekdays{gap:.25rem}.daily-review-calendar-day{border-radius:12px}.daily-review-calendar-day small{display:none}}.daily-review-workflow{gap:1rem}.daily-review-step-row{display:flex;flex-wrap:wrap;gap:.75rem}.daily-review-step{align-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;flex:1 1 min(16rem,100%);grid-template-columns:max-content minmax(0,1fr);font-weight:800;gap:.5rem;min-height:4rem;min-width:0;padding:.55rem .8rem;text-decoration:none;white-space:normal}.daily-review-step span{grid-row:1/span 2;align-items:center;background:var(--stage);border-radius:999px;display:inline-flex;height:1.75rem;justify-content:center;width:1.75rem}.daily-review-step small,.daily-review-step strong{line-height:1.15;min-width:0;overflow-wrap:anywhere;white-space:normal}.daily-review-step small{color:var(--muted);font-size:.76rem;font-weight:650}.daily-review-step.active{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal)}.daily-review-page-with-floating-action{padding-bottom:5.5rem}.daily-review-floating-next{bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 .9rem 2rem rgba(15,68,82,.2);position:fixed;right:max(1rem,env(safe-area-inset-right));z-index:60}.timetable-export-controls{align-items:end;gap:.6rem}.timetable-export-controls label{min-width:8rem}.lesson-export-controls{align-items:stretch;display:grid;gap:.55rem;max-width:100%}.lesson-export-primary-controls{align-items:end;display:flex;flex-wrap:wrap;gap:.6rem}.lesson-export-specific-weeks,.lesson-export-week-mode{border:1px solid var(--line);border-radius:6px;margin:0;padding:.35rem .65rem}.lesson-export-week-mode{align-items:center;display:flex;gap:.65rem;min-height:2.8rem}.lesson-export-specific-weeks legend,.lesson-export-week-mode legend{color:var(--muted);font-size:.72rem;font-weight:800;padding-inline:.2rem}.lesson-export-specific-weeks label,.lesson-export-week-mode label{align-items:center;display:inline-flex;flex-direction:row;font-size:.86rem;gap:.35rem;min-width:0}.lesson-export-specific-weeks{display:flex;flex-wrap:wrap;gap:.4rem .75rem}.lesson-export-controls>p{margin:0}.student-report-page .panel{page-break-inside:avoid;break-inside:avoid}.student-report-cover h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1}.student-report-grid{align-items:start}.report-control-bar{align-items:end}.report-control-bar label{color:var(--muted);font-size:.8rem;font-weight:700;gap:.25rem;text-transform:none}.report-control-bar select{min-width:8rem}.report-control-label{width:max-content}.report-print-status{flex-basis:100%;margin:0}.compact-progress-list{gap:.65rem}.compact-progress-item{padding:.75rem}.leaderboard-position-gap-row td,.leaderboard-position-gap-row td:first-child,.leaderboard-position-gap-row td:last-child{background:transparent;border:0;border-radius:0;box-shadow:none;height:.7rem;padding:0}.leaderboard-position-heading-row td,.leaderboard-position-heading-row td:first-child,.leaderboard-position-heading-row td:last-child{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:0;padding:.7rem .7rem .2rem;text-transform:uppercase}.leaderboard-your-position-row td{background:#eef8f6;border-color:#8fc9c3;box-shadow:0 10px 24px rgba(13,111,114,.12);font-weight:820}.leaderboard-your-position-row .leaderboard-rank-badge{background:var(--teal);border-color:var(--teal-dark);color:#ffffff;min-width:7.6rem}.notice{border-radius:8px;font-weight:780;padding:.8rem 1rem}.notice.success{background:#e5f5ed;border:1px solid #b8dfc8;color:var(--green)}.notice.warning{background:#fff3d6;border:1px solid #eac66e;color:#8a5c00}.practice-calendar-panel .collapsible-panel-content{display:grid;gap:1rem}.practice-calendar-controls{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(15rem,1.6fr) minmax(10rem,.8fr) auto;min-width:0;width:100%}.practice-calendar-controls button{min-height:2.8rem}.practice-calendar-summary{display:flex;flex-wrap:wrap;gap:.65rem}.practice-calendar-summary span{background:#eef8f6;border:1px solid #b8d8d3;border-radius:6px;color:var(--teal-dark);padding:.55rem .8rem}.practice-calendar{display:grid;gap:.45rem;grid-template-columns:repeat(7,minmax(0,1fr));min-width:29rem}.practice-calendar-scroll{max-width:100%;min-width:0;overflow-x:auto;padding-bottom:.25rem;width:100%}.practice-calendar-weekday{color:var(--muted);font-size:.78rem;font-weight:850;padding-block:.3rem;text-transform:uppercase}.practice-calendar-day,.practice-calendar-weekday{align-items:center;display:flex;justify-content:center;text-align:center}.practice-calendar-day{background:#f8fbfa;border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:4.75rem}.practice-calendar-day>span{align-items:center;border-radius:50%;display:inline-flex;font-weight:850;height:2.2rem;justify-content:center;width:2.2rem}.practice-calendar-day small{color:inherit;font-size:.68rem;font-weight:750}.practice-calendar-day.has-practice{background:#eef8f1;border-color:#9bcbaa;color:#175f37}.practice-calendar-day.has-practice>span{background:#278b50;color:#ffffff}.practice-calendar-day.is-empty{background:transparent;border-color:transparent}.practice-calendar-legend{align-items:center;color:var(--muted);display:flex;font-size:.85rem;gap:.5rem;margin:0}.practice-calendar-legend>span{background:#278b50;border-radius:50%;height:.85rem;width:.85rem}.percussion-assignment-table{width:max-content}.percussion-assignment-form{display:grid;gap:0;width:100%}.percussion-assignment-form-section{align-items:start;border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:minmax(11rem,.32fr) minmax(0,1fr);padding:1rem 0;width:100%}.percussion-assignment-fields-section{display:block}.percussion-assignment-form-section:first-child{border-top:0;padding-top:.25rem}.percussion-assignment-section-heading h3{font-size:1rem;margin:.15rem 0 0}.percussion-assignment-fields-grid{align-items:end;grid-template-columns:repeat(4,minmax(0,1fr))}.percussion-assignment-fields-grid>label,.percussion-assignment-note-section>label{min-width:0;width:100%}.percussion-assignment-fields-grid :is(input,select){min-width:0;width:100%}.percussion-assignment-note-section textarea{min-height:5.5rem}.percussion-assignment-submit-row{border-top:1px solid var(--line);display:flex;justify-content:flex-end;padding-top:1rem;width:100%}.warning-text{color:#8b4b13;margin:.55rem 0 0}@media (max-width:1050px){.percussion-assignment-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.percussion-assignment-fields-grid,.percussion-assignment-form-section{grid-template-columns:1fr}.percussion-assignment-submit-row button{width:100%}}.percussion-assignment-table td,.percussion-assignment-table th{max-width:24rem;min-width:max-content;white-space:nowrap}.percussion-assignment-table td:nth-child(6){min-width:14rem;white-space:normal}.practice-tools-grid{min-width:0}.practice-tools-grid,.tuner-metronome-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:1fr;width:100%}.practice-single-tool-row{display:grid;gap:1rem;grid-template-columns:1fr;min-width:0;width:100%}.practice-tool-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:100%;min-width:0;padding:1rem}.practice-tool-panel .collapsible-panel-summary>span:first-child{display:grid;gap:.15rem}.practice-tool-body{gap:1rem;min-width:0}.floating-practice-window{background:#fffdf7;border:1px solid #b9cbc7;border-radius:8px;box-shadow:0 1rem 3rem rgba(29,52,49,.24);display:grid;grid-template-rows:auto minmax(0,1fr);max-width:calc(100vw - 1rem);overflow:hidden;position:fixed}.floating-practice-window.minimised{height:auto;width:min(17rem,calc(100vw - 1rem))!important}.floating-practice-window-header{align-items:center;background:#e8f2f0;border-bottom:1px solid #c9d9d6;cursor:move;display:flex;justify-content:space-between;min-height:3rem;padding:.45rem .55rem .45rem .8rem;touch-action:none;-webkit-user-select:none;user-select:none}.floating-practice-window-actions,.floating-practice-window-header>span{align-items:center;display:inline-flex;gap:.45rem}.floating-practice-window-actions button{min-height:2.15rem;width:2.15rem}.floating-practice-window-content{min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;padding:.65rem}.floating-practice-window.minimised .floating-practice-window-content{display:none}.floating-practice-window-content .practice-single-tool-row,.floating-practice-window-content .tuner-metronome-grid{margin:0}.floating-practice-window-content .practice-tool-panel{border:0;box-shadow:none;padding:.75rem}.floating-practice-window-content .collapsible-panel-summary .eyebrow{display:none}.floating-practice-tools-launcher{bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px));display:grid;gap:.5rem;justify-items:end;position:fixed;right:1rem;z-index:100010}.floating-practice-tools-launcher>button:last-child{min-height:3rem;min-width:3rem;padding:.55rem;width:3rem}.floating-practice-tools-launcher>button:last-child>span{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.floating-practice-tools-menu{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.4rem;min-width:13rem;padding:.65rem}.floating-practice-tools-menu>strong{color:var(--muted);font-size:.76rem;padding:.2rem .25rem;text-transform:uppercase}.floating-practice-tools-menu button{justify-content:flex-start;width:100%}.table-wrapper{max-width:100%;min-width:0;overflow-x:auto}.tool-control-row{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.tool-control-row label{min-width:9.5rem;width:max-content}.tuner-readout{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.metronome-display,.tuner-readout div{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.25rem;min-height:4.2rem;padding:.75rem}.tuner-readout strong{font-size:1.25rem}.tuner-visual-grid{align-items:stretch;display:grid;gap:.85rem;grid-template-columns:minmax(7.5rem,11rem) minmax(0,1fr)}.tuner-meter{align-items:center;background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.5rem;grid-template-rows:max-content minmax(14rem,1fr) max-content;justify-items:center;padding:.75rem}.tuner-meter span{color:var(--muted);font-size:.78rem;font-weight:850;text-align:center}.tuner-meter-track{background:linear-gradient(180deg,#fff3d6,#f5f8f7 50%,#e7eff0);border:1px solid #bfcfcd;border-radius:999px;height:100%;min-height:14rem;position:relative;width:2.15rem}.tuner-meter-tolerance{background:rgba(47,160,104,.18);border-bottom:1px solid rgba(47,160,104,.45);border-top:1px solid rgba(47,160,104,.45);display:block;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .16s ease;width:100%}.tuner-meter-centre,.tuner-meter-needle{display:block;left:50%;position:absolute;transform:translate(-50%,-50%)}.tuner-meter-centre{background:var(--green);height:.14rem;top:50%;width:3.2rem;z-index:1}.tuner-meter-needle{background:var(--ink);border-radius:999px;box-shadow:0 3px 8px rgba(18,34,32,.18);height:.36rem;will-change:top;width:3.45rem;z-index:2}.tuner-history-panel{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.55rem;min-width:0;padding:.75rem}.tuner-history-chart-shell{border:1px solid #405554;border-radius:8px;max-width:100%;min-height:11.25rem;min-width:min(17.5rem,100%);position:relative;transition:border-color .16s ease,box-shadow .16s ease}.tuner-history-chart-shell.is-in-tune{animation:tuner-history-in-tune-pulse 1.05s ease-in-out infinite;border-color:#39ff88}@keyframes tuner-history-in-tune-pulse{0%,to{box-shadow:0 0 0 2px rgba(57,255,136,.3),0 0 12px rgba(57,255,136,.2)}50%{box-shadow:0 0 0 5px rgba(57,255,136,.5),0 0 22px rgba(57,255,136,.42)}}.tuner-history-note{background:#edf5f4;border:1px solid #c8d8d5;border-radius:999px;color:var(--teal-dark);font-size:.82rem;font-weight:900;padding:.4rem .65rem}.tuner-history-chart{background:linear-gradient(180deg,#101f1f,#162a29);border-radius:8px;display:block;height:100%;overflow:hidden;width:100%}.tuner-history-resize-handle{position:absolute;touch-action:none;z-index:3}.tuner-history-resize-handle:after{background:rgba(57,255,136,0);border-radius:999px;content:"";inset:.5rem;position:absolute;transition:background .14s ease}.tuner-history-resize-handle:focus-visible:after,.tuner-history-resize-handle:hover:after{background:rgba(57,255,136,.78)}.tuner-history-resize-handle.horizontal{bottom:.65rem;cursor:ew-resize;right:-.75rem;top:.65rem;width:1.5rem}.tuner-history-resize-handle.vertical{bottom:-.75rem;cursor:ns-resize;height:1.5rem;left:.65rem;right:.65rem}.tuner-history-resize-handle.both{bottom:-.75rem;cursor:nwse-resize;height:1.5rem;right:-.75rem;width:1.5rem;z-index:4}.tuner-history-grid-line{stroke:rgba(255,255,255,.16);stroke-width:.35;vector-effect:non-scaling-stroke}.tuner-history-tolerance{fill:rgba(47,221,125,.12);transition:height .16s ease,y .16s ease}.tuner-history-centre{stroke:#2fdd7d;stroke-width:.55;vector-effect:non-scaling-stroke}.tuner-history-path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75;vector-effect:non-scaling-stroke}.tuner-history-path.out-of-tune{stroke:#f0a500}.tuner-history-path.in-tune{filter:drop-shadow(0 0 2px rgba(57,255,136,.7));stroke:#39ff88}.tuner-history-scale{bottom:.65rem;color:#ffffff;display:flex;flex-direction:column;font-size:.76rem;font-weight:850;justify-content:space-between;pointer-events:none;position:absolute;right:.65rem;text-shadow:0 1px 3px rgba(0,0,0,.88);top:.65rem;z-index:2}.tuner-history-scale span{text-align:right}.tuner-history-seconds{align-items:center;display:grid;gap:.55rem;grid-template-columns:max-content minmax(7rem,1fr) max-content}.tuner-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.tuner-status-pill{background:#fff3d6;border:1px solid #eac66e;border-radius:999px;color:#8a5c00;font-weight:900;padding:.45rem .75rem}.tuner-status-pill.in-tune{background:#e5f5ed;border-color:#b8dfc8;color:var(--green)}.tuner-option-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.tuner-option-row>.eyebrow{min-width:7.5rem}.inline-field-with-unit{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(6rem,9rem) auto}.inline-field-with-unit input{min-width:0;width:100%}.tuner-pill-options{display:flex;flex-wrap:wrap;gap:.4rem}.tuner-key-selector{min-width:8rem;width:max-content}.tuner-level-row{align-items:center;display:grid;gap:.6rem;grid-template-columns:max-content minmax(8rem,1fr) max-content}.tuner-input-sensitivity{display:grid;gap:.4rem;max-width:34rem}.tuner-input-sensitivity input{width:100%}.tuner-input-sensitivity small{font-weight:650;text-transform:none}.tuner-level-row span{color:var(--muted);font-size:.82rem;font-weight:850}.tuner-level-track{background:#eef1f1;border:1px solid #cbd5d3;border-radius:999px;height:.95rem;overflow:hidden}.tuner-level-track i{background:linear-gradient(90deg,var(--teal),var(--green));display:block;height:100%;transition:width .12s ease}.metronome-display{align-items:center;grid-template-columns:auto minmax(0,max-content) minmax(0,1fr) max-content}.metronome-display strong{font-size:2.6rem;line-height:1}.metronome-display span{color:var(--muted);font-weight:850}.metronome-display span:last-child{background:#edf5f4;border:1px solid #c8d8d5;border-radius:999px;color:var(--teal-dark);padding:.4rem .65rem}.metronome-controls{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(12rem,14rem) max-content max-content}.metronome-controls label{min-width:0}.metronome-primary-controls{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:10px;display:grid;gap:.85rem;padding:.9rem}.metronome-tempo-controls{align-items:end;display:grid;gap:.55rem;grid-template-columns:max-content minmax(12rem,1fr) minmax(5.5rem,7rem) max-content}.metronome-random-tempo label,.metronome-tempo-controls label{margin:0;min-width:0}.metronome-tempo-controls .icon-button{margin-bottom:.1rem;min-height:3rem;min-width:3rem}.metronome-play-controls{display:flex;flex-wrap:wrap;gap:.55rem}.metronome-random-tempo{align-items:end;border-top:1px solid #dbe5e3;display:grid;gap:.65rem;grid-template-columns:max-content minmax(7rem,9rem) minmax(7rem,9rem) max-content;padding-top:.8rem}.metronome-random-tempo>.eyebrow{align-self:center}.metronome-custom-signature-inputs{align-items:center;display:grid;gap:.35rem;grid-template-columns:minmax(4rem,1fr) max-content minmax(4.8rem,1fr)}.metronome-custom-signature-inputs>span{color:var(--muted);font-weight:900;padding-top:.5rem}.metronome-tempo-mode-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.metronome-tempo-mode-row>.eyebrow{min-width:7rem}.metronome-accent-editor{align-items:center;background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:max-content minmax(0,1fr) max-content;padding:.75rem}.metronome-accent-editor>div:first-child{display:grid;gap:.15rem}.metronome-accent-editor>div:first-child strong{color:var(--teal-dark)}.metronome-accent-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.metronome-accent-button{background:#ffffff;border:1px solid #cbd5d3;border-radius:999px;color:var(--muted);font-weight:900;min-height:2.2rem;padding:.35rem .65rem}.metronome-accent-button.active{background:var(--teal);border-color:var(--teal-dark);color:#ffffff}.metronome-signature-library{align-items:start;display:grid;gap:.75rem;grid-template-columns:max-content repeat(3,minmax(10rem,1fr))}.metronome-signature-group{align-content:start;display:grid;gap:.45rem}.metronome-signature-group>strong{color:var(--teal-dark)}.metronome-signature-options{display:flex;flex-wrap:wrap;gap:.4rem}.metronome-playlist{border:1px dashed #9eb9b5;border-radius:8px;display:grid;gap:.65rem;padding:.75rem}.metronome-playlist-header{align-items:center;cursor:pointer;display:flex;gap:.45rem;justify-content:space-between;list-style:none}.metronome-playlist-header::-webkit-details-marker{display:none}.metronome-playlist-header>span{align-items:center;display:flex;gap:.45rem}.metronome-playlist-header>span:first-child{align-items:flex-start;display:grid;gap:.1rem}.metronome-playlist:not([open]) .metronome-playlist-header{min-height:2.5rem}.metronome-playlist-storage{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(12rem,1fr) max-content minmax(12rem,1fr) max-content}.metronome-playlist-storage label{margin:0}.metronome-playlist-storage button{min-height:3rem;white-space:nowrap}.metronome-playlist-saved-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;grid-column:1/-1;justify-content:flex-end}.metronome-playlist-storage .replace-playlist-button,.metronome-playlist-storage .replace-playlist-button:hover{background:#f4c95d;border-color:#c38b16;color:#4f3600}.metronome-playlist-message{margin:0}.metronome-playlist-list{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0}.metronome-playlist-list li{align-items:center;background:#ffffff;border:1px solid #cbd5d3;border-radius:8px;display:grid;gap:.35rem;grid-template-columns:auto minmax(7.5rem,max-content) auto;padding:.35rem}.metronome-playlist-list li.active{background:#e5f5ed;border-color:#98caa9}.metronome-playlist-signature{background:transparent;border:0;box-shadow:none;color:var(--ink);display:grid;gap:.1rem;justify-items:start;min-height:2.35rem;padding:.15rem .35rem;text-align:left}.metronome-playlist-signature strong{color:var(--teal-dark)}.metronome-playlist-signature span{color:var(--muted);font-size:.78rem;font-weight:820;white-space:nowrap}.metronome-playlist-empty{align-items:center;background:#f8fbfa;border:1px solid #dbe5e3;border-radius:8px;color:var(--muted);display:flex;font-weight:850;justify-content:center;min-height:3.5rem}.metronome-beat-dots{display:flex;flex-wrap:wrap;gap:.45rem}.metronome-beat-dot{align-items:center;background:#eef1f1;border:2px solid transparent;border-radius:999px;box-shadow:none;color:var(--muted);cursor:pointer;display:inline-flex;font-weight:900;height:2.25rem;justify-content:center;padding:0;width:2.25rem}.metronome-beat-dot.accented{background:#ffffff;border-color:var(--green);color:var(--teal-dark)}.metronome-beat-dot.active{background:var(--teal);border-color:var(--teal-dark);color:#ffffff;transform:scale(1.08)}.metronome-beat-dot.active.accented{border-color:var(--green);box-shadow:0 0 0 3px rgba(41,122,91,.22)}.practice-timer-display{align-items:center;gap:.25rem;justify-items:center;min-height:8rem;padding:1rem;text-align:center}.practice-timer-display,.practice-timer-instrument-picker{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid}.practice-timer-instrument-picker{gap:.45rem;padding:.85rem}.practice-timer-instrument-picker label{display:grid;gap:.4rem}.practice-timer-instrument-picker label>span{color:var(--teal-dark);font-weight:900}.practice-timer-instrument-picker select{max-width:100%;width:100%}.practice-timer-instrument-picker p{margin:0}.practice-timer-instrument-picker select:disabled{cursor:not-allowed;opacity:.78}.practice-timer-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:min(100%,26rem);margin-inline:auto;padding:.3rem;border:1px solid var(--line);border-radius:8px;background:#edf5f4}.practice-timer-mode-switch button{min-height:2.75rem;border-color:transparent;background:transparent;color:var(--muted)}.practice-timer-mode-switch button.active{border-color:var(--teal);background:var(--teal);color:white}.practice-timer-display strong{color:var(--teal-dark);font-size:clamp(2.6rem,8vw,4.4rem);line-height:1}.practice-timer-display>span:last-child{color:var(--muted);font-weight:850}.practice-timer-display.finished{background:#e5f5ed;border-color:#b8dfc8}.practice-timer-display.alarm{animation:practice-timer-flash .65s ease-in-out 5}.practice-timer-saved-notice{align-items:center;animation:practice-timer-notice-in .18s ease-out;background:#e5f5ed;border:1px solid #86c9a3;border-radius:10px;bottom:calc(5.5rem + env(safe-area-inset-bottom));box-shadow:0 12px 30px rgba(21,64,58,.2);color:var(--green);display:flex;font-weight:900;gap:.65rem;inset-inline-end:1rem;max-width:min(24rem,calc(100vw - 2rem));padding:.9rem 1rem;pointer-events:none;position:fixed;z-index:100020}.practice-timer-saved-notice svg{flex:0 0 auto}@keyframes practice-timer-notice-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes practice-timer-flash{0%,to{background:#e5f5ed;border-color:#b8dfc8}50%{background:#fff3d6;border-color:#e2a300}}.practice-timer-progress{background:#eef1f1;border:1px solid #cbd5d3;border-radius:999px;height:1rem;overflow:hidden}.practice-timer-progress span{background:var(--teal);display:block;height:100%;transition:width .18s ease}.practice-timer-controls{grid-template-columns:minmax(6rem,7rem) minmax(12rem,1fr)}.practice-timer-presets{gap:.45rem}.practice-bingo-board-shell{display:grid;gap:.55rem;max-width:100%;min-width:0;overflow-x:auto;padding:.15rem 0 .35rem;position:relative;width:100%}.practice-bingo-zoom-controls{align-items:center;background:rgba(255,255,255,.96);border:1px solid #c8d8d5;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.82rem;font-weight:900;gap:.25rem;justify-self:end;padding:.3rem;width:max-content}.practice-bingo-grid{display:grid;gap:var(--practice-bingo-grid-gap,.55rem);padding-bottom:.2rem;width:max-content}.practice-bingo-cell{align-items:center;background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;font-size:var(--practice-bingo-body-size,.78rem);font-weight:720;height:var(--practice-bingo-cell-size,8.5rem);justify-content:center;line-height:1.18;min-width:var(--practice-bingo-cell-size,8.5rem);padding:var(--practice-bingo-cell-padding,.55rem);aspect-ratio:1/1;text-align:center;white-space:normal;word-break:normal;overflow-wrap:anywhere;width:var(--practice-bingo-cell-size,8.5rem)}.practice-bingo-cell small,.practice-bingo-cell span,.practice-bingo-cell strong{display:block}.practice-bingo-cell strong{color:var(--teal-dark);font-size:var(--practice-bingo-title-size,.95rem);line-height:1.08}.practice-bingo-cell span{align-self:start;font-size:var(--practice-bingo-body-size,.78rem)}.practice-bingo-cell-focus{align-self:start;color:var(--muted);font-size:var(--practice-bingo-focus-size,.68rem);font-weight:900;letter-spacing:0;text-transform:uppercase}button.practice-bingo-cell{background:#f8fbfa;border-color:#c8d8d5;color:var(--ink);cursor:pointer;min-width:var(--practice-bingo-cell-size,8.5rem)}button.practice-bingo-cell:focus-visible,button.practice-bingo-cell:hover{background:#eef7f5;border-color:#8fb9b3;color:var(--ink);transform:none}button.practice-bingo-cell:disabled,button.practice-bingo-cell:disabled:hover{background:#f8fbfa;border-color:#c8d8d5;color:var(--ink);cursor:default;opacity:1;transform:none}.practice-bingo-cell.completed,button.practice-bingo-cell.completed:disabled,button.practice-bingo-cell.completed:disabled:hover,button.practice-bingo-cell.completed:hover{background:#dff3e8;border-color:#96cfaa;color:#245f38;font-weight:900;opacity:1;transform:none}.practice-bingo-cell.completed .practice-bingo-cell-focus{color:#356c47}.active-bingo-panel{border-top:1px solid var(--line);display:grid;gap:.85rem;padding-top:1rem}.practice-bingo-parent-signature{align-items:center;display:grid;gap:.22rem;justify-items:center;margin-bottom:.25rem;margin-top:.3rem}.practice-bingo-parent-signature span{color:var(--muted);font-size:.75rem;font-weight:700}.practice-bingo-parent-signature>div{border-bottom:1.5px solid #6d7c77;height:0;width:min(100%,30rem)}.practice-assignment-overlay{align-items:center;background:rgba(18,34,32,.34);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:30}.practice-assignment-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px rgba(18,34,32,.24);display:grid;gap:.85rem;max-height:min(42rem,calc(100dvh - 2rem));max-width:min(42rem,calc(100vw - 2rem));overflow-x:hidden;overflow-y:scroll;padding:1rem;width:100%}.practice-assignment-actions,.practice-assignment-header{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.practice-assignment-header h3{margin:0}.practice-assignment-actions{justify-content:flex-start}.practice-assignment-list{display:grid;gap:.65rem}.practice-assignment-school{display:grid;gap:.55rem}.practice-assignment-school h4{color:var(--ink);margin:.15rem 0 0}.practice-assignment-family{background:#f8fbfa;border:1px solid #dbe5e3;border-radius:8px;padding:.65rem}.practice-assignment-family summary{color:var(--teal-dark);cursor:pointer;font-weight:900}.practice-assignment-family>div{display:grid;gap:.35rem;margin-top:.55rem}.practice-idea-grid{align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),17rem));justify-content:start;width:100%}.practice-activity-generated-grid{justify-content:center;justify-items:center}.practice-activity-routine-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.practice-activity-routine-grid>*{min-width:0}.practice-activity-routine-grid .collapsible-panel-summary>span:first-child{display:grid;gap:.15rem}.music-library-card,.practice-idea-card{background:#fbfefd;border:1px solid var(--line);border-radius:8px;display:grid;gap:.55rem;grid-template-rows:auto auto minmax(0,1fr) auto;padding:.9rem}.practice-idea-card{block-size:12rem;inline-size:min(17rem,100%);overflow-wrap:anywhere}.practice-activity-card{align-content:start;justify-items:center;margin-inline:auto;text-align:center}.practice-activity-card[draggable=true]{cursor:grab}.practice-activity-card[draggable=true]:active{cursor:grabbing}.practice-activity-card-footer{align-items:center;border-top:1px solid #e1e8e6;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;padding-top:.55rem;width:100%}.practice-activity-card-footer>span{align-items:center;color:var(--muted);display:inline-flex;font-size:.82rem;font-weight:800;gap:.25rem}.music-library-card h3,.music-library-card p,.practice-idea-card h3,.practice-idea-card p{margin:0}.practice-idea-card-footer{align-items:center;border-top:1px solid #e1e8e6;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between;padding-top:.55rem}.practice-selected-routine-panel{border-style:dashed}.practice-routine-total-badge{background:#edf5f4;border:1px solid #c9ddda;border-radius:999px;color:var(--teal-dark);font-weight:900;white-space:nowrap;padding:.4rem .7rem}.routine-exercise-picker{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) max-content;width:100%}.routine-exercise-picker label,.routine-exercise-picker select{min-width:0;width:100%}.routine-exercise-description{margin:-.35rem 0 0}.routine-builder-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.routine-save-load-controls{display:grid;gap:.85rem}.routine-save-row,.routine-saved-row{align-items:end;display:grid;gap:.65rem}.routine-save-row{grid-template-columns:minmax(13rem,1fr) auto}.routine-saved-row{grid-template-columns:minmax(13rem,1fr)}.routine-saved-actions{display:flex;flex-wrap:wrap;gap:.65rem}.routine-save-row label,.routine-saved-row label{min-width:0}.routine-save-load-controls input,.routine-save-load-controls select{width:100%}@media (max-width:850px){.routine-save-row{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:560px){.routine-save-row,.routine-saved-row{align-items:stretch;grid-template-columns:1fr}.routine-saved-actions>button{flex:1 1 100%}}.active-workspace-context{position:sticky;z-index:990;top:0;display:flex;align-items:center;justify-content:center;gap:.45rem .65rem;min-height:2.1rem;padding:.35rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);color:var(--muted);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.78rem}.active-workspace-context strong{color:var(--ink)}.accessibility-preferences{position:fixed;z-index:3000;right:max(5.25rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}.accessibility-preferences>button{width:2.75rem;height:2.75rem;border-radius:999px;box-shadow:0 10px 26px rgb(17 52 49/20%);background:var(--surface)}.accessibility-preferences-menu{position:absolute;right:0;bottom:calc(100% + .65rem);display:grid;gap:.55rem;width:min(21rem,calc(100vw - 1.5rem));padding:1rem;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 42px rgb(17 52 49/24%);background:var(--surface)}.accessibility-preferences-menu p{margin:0;color:var(--muted);font-size:.82rem}.accessibility-large-controls .button,.accessibility-large-controls button,.accessibility-large-controls input,.accessibility-large-controls select{min-height:3.25rem;font-size:max(1rem,1em)}.accessibility-large-controls main{font-size:1.06rem}.accessibility-reduced-motion *,.accessibility-reduced-motion :after,.accessibility-reduced-motion :before{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.practice-session-summary,.student-continue-card,.today-command-centre{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface))}.section-heading-row,.student-continue-card,.today-command-centre-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.practice-session-summary h2,.student-continue-card h2,.today-command-centre-heading h2{margin:.1rem 0 .35rem}.today-command-centre-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1rem}.today-command-centre-grid>a{display:grid;gap:.25rem;min-width:0;padding:.9rem;border:1px solid var(--line);border-radius:13px;color:inherit;background:color-mix(in srgb,var(--surface) 88%,transparent);text-decoration:none}.today-command-centre-grid>a:focus-visible,.today-command-centre-grid>a:hover{border-color:var(--accent);transform:translateY(-1px)}.today-command-centre-grid small,.today-command-centre-grid span{color:var(--muted)}.today-command-centre-grid strong{overflow-wrap:anywhere}.saved-view-controls,.saved-view-list{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.saved-view-controls{justify-content:flex-end}.saved-view-controls>small{flex-basis:100%;color:var(--muted);text-align:right}.saved-view-list label{display:flex;align-items:center;gap:.4rem;margin:0}.saved-view-list select{min-width:10rem}.command-search-panel{position:sticky;z-index:10;top:2.75rem}.command-search-form,.command-search-form>div{display:grid;gap:.55rem}.command-search-form>div{grid-template-columns:minmax(0,1fr) auto}.command-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.practice-audio-check{margin:.75rem 0}.practice-audio-check-body{display:grid;gap:.8rem;max-width:42rem;margin-top:.6rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--accent))}.practice-audio-check-body p,.practice-audio-check-body small{margin:.25rem 0 0;color:var(--muted)}.practice-audio-check-body label{display:grid;grid-template-columns:1fr auto;gap:.35rem .75rem}.practice-audio-check-body input[type=range]{grid-column:1/-1;width:100%}.student-continue-card{padding:1.1rem 1.2rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:18px;color:inherit;box-shadow:0 12px 30px rgb(17 52 49/10%);text-decoration:none}.student-continue-card p,.student-continue-card small{display:block;margin:0;color:var(--muted)}.student-approved-summary-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.student-approved-summary{border:1px solid var(--line);border-radius:14px;display:grid;gap:.75rem;padding:1rem}.student-approved-summary h3{margin:.45rem 0 0}.student-approved-summary time{color:var(--muted);font-size:.9rem;white-space:nowrap}.student-approved-summary-text{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.practice-session-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0}.practice-session-summary-grid>div{display:grid;gap:.15rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.practice-session-summary-grid span{color:var(--muted);font-size:.8rem}.student-progress-trend{display:grid;grid-template-columns:minmax(8rem,.35fr) minmax(8rem,1fr) auto;align-items:center;gap:.75rem;margin:.8rem 0}.student-progress-trend progress{width:100%;height:.85rem;accent-color:var(--accent)}.development-cache-panel .progress-meta{align-items:flex-start}@media (max-width:900px){.today-command-centre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-session-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.active-workspace-context{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.section-heading-row,.student-continue-card,.today-command-centre-heading{align-items:stretch;flex-direction:column}.command-search-form>div,.command-search-results,.practice-session-summary-grid,.student-approved-summary-grid,.today-command-centre-grid{grid-template-columns:1fr}.command-search-form button,.student-continue-card .button{width:100%}.saved-view-controls,.saved-view-controls>small{justify-content:flex-start;text-align:left}.student-progress-trend{grid-template-columns:1fr auto}.student-progress-trend progress{grid-column:1/-1;grid-row:2}}.tuning-darts-page{gap:1.15rem}.tuning-darts-hero{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 12%,var(--surface)),color-mix(in srgb,#f1c84a 15%,var(--surface)));display:flex;gap:1.25rem;justify-content:space-between;overflow:hidden}.tuning-darts-hero h1,.tuning-darts-hero p{margin-block:.35rem}.tuning-darts-mini-target{align-items:center;aspect-ratio:1;background:repeating-radial-gradient(circle,#f6d866 0 12%,#194f4a 13% 25%,#e8f5f1 26% 38%);border:5px solid #173d39;border-radius:50%;box-shadow:0 10px 24px rgb(16 45 42/20%);display:flex;flex:0 0 clamp(5.5rem,12vw,8rem);justify-content:center}.tuning-darts-mini-target span{align-items:center;background:#a42b42;border:3px solid #fff1a8;border-radius:50%;color:#fff;display:flex;font-weight:950;height:2.35rem;justify-content:center;width:2.35rem}.tuning-darts-game{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--stage) 55%,var(--surface)));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;gap:1rem;overflow:hidden;padding:clamp(.8rem,2vw,1.25rem);position:relative}.tuning-darts-score-strip{display:grid;gap:.55rem;grid-template-columns:repeat(4,minmax(0,1fr))}.tuning-darts-score-strip>span{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;min-width:0;padding:.65rem .75rem}.tuning-darts-attempts small,.tuning-darts-score-strip small{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.tuning-darts-score-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuning-darts-play-grid{align-items:center;display:grid;gap:clamp(1rem,4vw,2rem);grid-template-columns:minmax(15rem,.85fr) minmax(17rem,1.15fr)}.tuning-darts-note-panel{display:grid;gap:.75rem;justify-items:start}.tuning-darts-note-panel>*{margin-block:0}.tuning-darts-note-panel h2{color:var(--teal-dark);font-size:clamp(3.4rem,10vw,6.5rem);line-height:.95}.tuning-darts-attempts{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.4rem;width:100%}.tuning-darts-attempts>span{align-content:center;background:color-mix(in srgb,var(--stage) 52%,var(--surface));border:1px solid var(--line);border-radius:12px;display:grid;min-height:5.4rem;padding:.55rem;text-align:center}.tuning-darts-attempts>span.scored{background:color-mix(in srgb,var(--teal) 9%,var(--surface));border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}.tuning-darts-attempts>span.score-10{background:linear-gradient(145deg,#fff7bd,#ffe06c);border-color:#b78316;color:#4e3909}.tuning-darts-attempts strong{font-size:1.65rem;line-height:1.1}.tuning-darts-attempts em{color:var(--muted);font-size:.78rem;font-style:normal}.tuning-darts-target-wrap{margin-inline:auto;max-width:29rem;position:relative;width:100%}.tuning-darts-target{display:block;filter:drop-shadow(0 14px 18px rgb(16 45 42/17%));height:auto;margin-inline:auto;max-height:min(56vh,29rem);width:100%}.tuning-ring{stroke:#173d39;stroke-width:2}.tuning-ring-1{fill:#edf3f1}.tuning-ring-2{fill:#2b6962}.tuning-ring-3{fill:#f2cc58}.tuning-ring-4{fill:#f6f3e9}.tuning-ring-5{fill:#4a8d84}.tuning-ring-6{fill:#f3c84d}.tuning-ring-7{fill:#f8f5e9}.tuning-bull{fill:#a42b42;stroke:#fff1a8;stroke-width:4}.tuning-darts-centre-line{opacity:.48;stroke:#173d39;stroke-dasharray:4 7;stroke-width:2}.tuning-darts-side-label{fill:#173d39;font-size:12px;font-weight:950;letter-spacing:.12em}.tuning-dart-marker circle{fill:#fff;opacity:.88;stroke:#a42b42;stroke-width:3}.tuning-dart-marker path{fill:none;stroke:#a42b42;stroke-linecap:round;stroke-width:6}.tuning-dart-marker.bullseye{animation:tuning-dart-bull-pulse .65s ease-out 2}.tuning-darts-ring-key{gap:.25rem;margin-top:-.35rem}.tuning-darts-ring-key,.tuning-darts-ring-key>*{align-items:center;display:flex;justify-content:center}.tuning-darts-ring-key>*{background:color-mix(in srgb,var(--stage) 52%,var(--surface));border:1px solid var(--line);border-radius:999px;font-size:.72rem;height:1.65rem;width:1.65rem}.tuning-darts-ring-key strong{background:#a42b42;border-color:#7a182b;color:#fff}.tuning-darts-controls{align-items:center;border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding-top:1rem}.tuning-darts-status{font-weight:750;margin:0;max-width:46rem}.tuning-darts-controls button,.tuning-darts-finish-card button,.tuning-darts-note-panel button{align-items:center;display:inline-flex;gap:.45rem;justify-content:center;min-height:2.9rem}.tuning-darts-finish-card{align-items:center;background:radial-gradient(circle at 50% 0,#fff2a8,var(--surface) 58%);border:2px solid #d6aa32;border-radius:18px;display:grid;justify-items:center;min-height:22rem;padding:2rem 1rem;text-align:center}.tuning-darts-finish-card>*{margin-block:.25rem}.tuning-darts-finish-card h2{color:#72500a;font-size:clamp(3.5rem,12vw,6.5rem);line-height:1}.tuning-darts-score-zones{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.tuning-darts-score-zones>span{background:color-mix(in srgb,var(--stage) 52%,var(--surface));border:1px solid var(--line);border-radius:12px;display:grid;justify-items:center;min-height:5.5rem;padding:.55rem;text-align:center}.tuning-darts-score-zones strong{color:var(--teal-dark);font-size:1.7rem;line-height:1}.tuning-darts-score-zones em{color:var(--muted);font-size:.75rem;font-style:normal}.tuning-darts-board-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.tuning-darts-leaderboard-panel{min-width:0}.tuning-darts-leaderboard td>small{color:var(--muted);display:block;white-space:nowrap}.tuning-darts-fireworks{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:6}.tuning-darts-fireworks i{--burst-angle:0deg;animation:tuning-darts-confetti 1.35s ease-out forwards;background:#f1c84a;border-radius:3px;height:.7rem;left:64%;position:absolute;top:45%;transform:rotate(var(--burst-angle)) translateY(0);width:.35rem}.tuning-darts-fireworks i:nth-child(2n){background:#3e9b8f}.tuning-darts-fireworks i:nth-child(3n){background:#be3c58}.tuning-darts-fireworks i:nth-child(4n){background:#6652b8}.tuning-darts-fireworks i:first-child{--burst-angle:0deg}.tuning-darts-fireworks i:nth-child(2){--burst-angle:20deg}.tuning-darts-fireworks i:nth-child(3){--burst-angle:40deg}.tuning-darts-fireworks i:nth-child(4){--burst-angle:60deg}.tuning-darts-fireworks i:nth-child(5){--burst-angle:80deg}.tuning-darts-fireworks i:nth-child(6){--burst-angle:100deg}.tuning-darts-fireworks i:nth-child(7){--burst-angle:120deg}.tuning-darts-fireworks i:nth-child(8){--burst-angle:140deg}.tuning-darts-fireworks i:nth-child(9){--burst-angle:160deg}.tuning-darts-fireworks i:nth-child(10){--burst-angle:180deg}.tuning-darts-fireworks i:nth-child(11){--burst-angle:200deg}.tuning-darts-fireworks i:nth-child(12){--burst-angle:220deg}.tuning-darts-fireworks i:nth-child(13){--burst-angle:240deg}.tuning-darts-fireworks i:nth-child(14){--burst-angle:260deg}.tuning-darts-fireworks i:nth-child(15){--burst-angle:280deg}.tuning-darts-fireworks i:nth-child(16){--burst-angle:300deg}.tuning-darts-fireworks i:nth-child(17){--burst-angle:320deg}.tuning-darts-fireworks i:nth-child(18){--burst-angle:340deg}@keyframes tuning-darts-confetti{0%{opacity:1;transform:rotate(var(--burst-angle)) translateY(0) scale(.7)}75%{opacity:1}to{opacity:0;transform:rotate(var(--burst-angle)) translateY(-13rem) scale(1.25)}}@keyframes tuning-dart-bull-pulse{50%{filter:drop-shadow(0 0 12px #ffe06c);transform:scale(1.07);transform-origin:180px 180px}}@media (max-width:980px){.tuning-darts-board-grid,.tuning-darts-play-grid{grid-template-columns:1fr}.tuning-darts-note-panel{justify-items:center;text-align:center}.tuning-darts-target-wrap{max-width:24rem}.tuning-darts-fireworks i{left:50%;top:62%}}@media (max-width:620px){.tuning-darts-hero{align-items:flex-start}.tuning-darts-mini-target{flex-basis:4.6rem}.tuning-darts-score-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tuning-darts-controls{align-items:stretch;flex-direction:column}.tuning-darts-controls .inline-actions,.tuning-darts-controls button{width:100%}.tuning-darts-score-zones{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tuning-dart-marker.bullseye,.tuning-darts-fireworks{animation:none;display:none}}.avatar-builder{display:grid;gap:1rem}.avatar-preview-panel{display:grid;grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);gap:clamp(1rem,4vw,2.5rem);align-items:center}.avatar-preview-frame{width:100%;max-width:22rem;margin-inline:auto;padding:.7rem;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--stage) 52%,var(--surface))}.avatar-figure{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 18px rgb(18 40 37/14%))}.avatar-bank-summary,.avatar-customise-panel{display:grid;gap:.9rem}.avatar-bank-summary>*{margin-block:0}.compact-avatar-balance{justify-self:start}.avatar-purchase-confirmation,.avatar-slot-tabs{display:flex;flex-wrap:wrap;gap:.65rem}.avatar-slot-tabs button{min-height:2.7rem}.avatar-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}.avatar-item-card{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:.7rem;align-items:center;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.avatar-item-preview{width:4.1rem;height:4.1rem;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.avatar-item-preview .avatar-figure{display:block;width:100%;height:100%}.avatar-item-card.equipped{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 15%,transparent);background:color-mix(in srgb,var(--teal) 6%,var(--surface))}.avatar-item-card>div{display:grid;min-width:0}.avatar-item-card>div small{color:var(--muted)}.avatar-item-card>.status-chip,.avatar-item-card>button{grid-column:1/-1;width:100%;justify-content:center}.avatar-item-swatch{display:inline-block;width:2.75rem;height:2.75rem;border:2px solid rgb(255 255 255/80%);border-radius:12px;box-shadow:0 0 0 1px var(--line),inset 0 0 0 1px rgb(16 24 40/8%);background:linear-gradient(135deg,#dce7f8,#7c95ba)}.avatar-item-swatch-body-clef-blue{background:linear-gradient(135deg,#6eb8ff,#2456a6)}.avatar-item-swatch-body-coral-beat{background:linear-gradient(135deg,#ff8b82,#ad3d57)}.avatar-item-swatch-body-jade-rhythm{background:linear-gradient(135deg,#68d6aa,#14715f)}.avatar-item-swatch-body-violet-harmony{background:linear-gradient(135deg,#b78cff,#6540a3)}.avatar-item-swatch-outfit-parade-jacket{background:linear-gradient(135deg,#f2c66d 0 30%,#173a65 30%)}.avatar-item-swatch-outfit-constellation-cape{background:radial-gradient(circle at 30% 25%,#f8e48b 0 5%,transparent 6%),#2d285c}.avatar-item-swatch-outfit-prism-jacket{background:conic-gradient(from 45deg,#fff,#e7507d,#5d3ec5,#fff)}.avatar-item-swatch-accessory-shimmer-note,.avatar-item-swatch-headwear-golden-crown{background:linear-gradient(135deg,#fff3a6,#d89918)}.avatar-item-swatch-background-soft-stage{background:linear-gradient(135deg,#fff7dc,#e6efff)}.avatar-item-swatch-background-rehearsal-room{background:linear-gradient(180deg,#ecf4f2 0 65%,#c99768 65%)}.avatar-item-swatch-background-concert-hall{background:linear-gradient(135deg,#9f315b,#261a3b)}.avatar-item-swatch-background-aurora-staff{background:linear-gradient(135deg,#172554,#6540a3,#14715f)}.avatar-purchase-confirmation{align-items:center;justify-content:space-between;padding:.85rem;border:1px solid var(--warning-border,#ddbd62);border-radius:14px;background:var(--warning-soft,#fff7df)}.avatar-purchase-confirmation>div:first-child{display:grid;gap:.2rem}.avatar-builder-status{min-height:1.4rem;margin:0}.theory-notation{min-height:11.25rem;margin-block:.75rem 1rem;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.theory-notation>img{min-width:17.5rem}.theory-start-row{align-items:center;margin-block:.8rem}.theory-score-result{display:grid;justify-items:center;gap:.25rem;width:min(100%,24rem);margin:1rem auto;padding:1.15rem;border:2px solid #d89918;border-radius:18px;background:linear-gradient(135deg,#fff5bd,#fffdf4);color:#4f3c10}.theory-score-result>span{font-weight:850;text-transform:uppercase;letter-spacing:.08em}.theory-score-result>strong{font-size:clamp(2.6rem,10vw,4.5rem);line-height:1}.theory-score-result>strong small{font-size:.48em}.theory-score-result p{margin:.35rem 0 0;font-weight:750}.theory-bonus-rules{display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);gap:.85rem;align-items:center;padding:.85rem;border:1px solid color-mix(in srgb,#d89918 55%,var(--line));border-radius:14px;background:linear-gradient(135deg,#fff8d8,#fffdf5)}.theory-bonus-rules>div{display:grid;gap:.2rem}.theory-bonus-rules p,.theory-bonus-rules>div span{color:#5f5131}.theory-bonus-rules p{margin:0}@media (max-width:720px){.avatar-preview-panel,.theory-bonus-rules{grid-template-columns:1fr}.avatar-purchase-confirmation{align-items:stretch;flex-direction:column}.avatar-purchase-confirmation .inline-actions,.avatar-purchase-confirmation button{width:100%}}.practice-routine-list{counter-reset:routine-step;display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.practice-routine-list li{align-items:center;background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:4.5rem minmax(0,1fr) minmax(8rem,max-content);min-height:3.1rem;padding:.65rem .8rem}.practice-routine-list.builder li{grid-template-columns:auto 4.5rem minmax(0,1fr) auto}.practice-routine-list.builder strong{grid-column:3}.practice-routine-list span{color:var(--teal-dark);font-weight:900}.practice-routine-list small{color:var(--muted);font-weight:760;grid-column:2/-1}.practice-routine-list.builder small{grid-column:3}.practice-routine-list.builder li>button:first-child{grid-column:1;grid-row:1}.practice-routine-list.builder li>button:last-child{grid-column:4;grid-row:1}.routine-piece-length-field{grid-column:3;max-width:9rem}.routine-piece-length-field input{min-width:6rem}.routine-total-row{display:grid;gap:.75rem;grid-template-columns:1fr}.routine-category-grid{display:grid;gap:.65rem;grid-template-columns:1fr}.routine-builder-layout{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(19rem,.9fr) minmax(25rem,1.1fr)}.routine-builder-controls,.routine-generated-column{align-content:start;display:grid;gap:.85rem;min-width:0}.routine-generated-column{border-left:1px solid var(--line);padding-left:1.25rem}.routine-category-row{align-items:center;background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.6rem;grid-template-columns:auto minmax(0,1fr) max-content;padding:.65rem}.routine-category-row label{min-width:0}@media (max-width:1000px){.routine-builder-layout{grid-template-columns:1fr}.routine-generated-column{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.25rem}}.stage-plan-panel{gap:1rem}.stage-plan-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.stage-plan-actions,.stage-plan-counter,.stage-plan-layout-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.stage-plan-layout-row{align-items:start;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:space-between}.stage-plan-layout-row>div{display:grid;gap:.45rem}.stage-plan-direction-control{display:grid;gap:.3rem;grid-template-columns:repeat(3,2.35rem);grid-template-rows:repeat(3,2.35rem)}.stage-plan-direction-control .direction-centre,.stage-plan-direction-control button{align-items:center;background:#ffffff;border:1px solid #abc3bf;border-radius:50%;color:var(--teal-dark);display:flex;height:2.35rem;justify-content:center;min-height:2.35rem;padding:0;width:2.35rem}.stage-plan-direction-control button.active,.stage-plan-direction-control button:hover{background:var(--teal);border-color:var(--teal);color:#ffffff}.stage-plan-direction-control .direction-centre{background:var(--ink);border-color:var(--ink);color:#ffffff;font-weight:950;grid-column:2;grid-row:2}.direction-north-west{grid-column:1;grid-row:1}.direction-north{grid-column:2;grid-row:1}.direction-north-east{grid-column:3;grid-row:1}.direction-west{grid-column:1;grid-row:2}.direction-east{grid-column:3;grid-row:2}.direction-south-west{grid-column:1;grid-row:3}.direction-south{grid-column:2;grid-row:3}.direction-south-east{grid-column:3;grid-row:3}.stage-plan-counter span{align-items:center;background:#edf5f4;border:1px solid #c9ddda;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-weight:900;gap:.35rem;min-height:2.35rem;padding:.45rem .75rem}.stage-plan-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr)}.stage-plan-controls{align-content:start;display:grid;gap:.85rem}.stage-plan-auxiliary-list,.stage-plan-control-heading,.stage-plan-custom-percussion,.stage-plan-ensemble-selector,.stage-plan-instrument-selector,.stage-plan-saved-setups,.stage-plan-selected-tool,.stage-plan-toolbox{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.65rem;padding:.8rem}.stage-plan-ensemble-selector,.stage-plan-saved-setups{align-items:stretch}.stage-plan-ensemble-selector p,.stage-plan-saved-setups p{margin:0}.stage-plan-control-heading{align-items:center;display:flex;justify-content:space-between}.stage-plan-control-heading span,.stage-plan-selected-tool span{color:var(--muted);font-size:.9rem;font-weight:750}.stage-plan-instrument-selector{align-items:end;grid-template-columns:minmax(0,1fr) max-content}.stage-plan-instrument-selector p{grid-column:1/-1;margin:0}.stage-plan-instrument-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.stage-plan-count{align-items:center;background:#ffffff;border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) 4rem;min-height:2.85rem;padding:.45rem .55rem}.stage-plan-count span{align-items:center;color:var(--ink);display:inline-flex;font-size:.9rem;font-weight:850;gap:.35rem}.stage-plan-count.percussion{border-color:#e0cf9a}.stage-plan-count.strings{border-color:#cdbce2}.stage-plan-count.other{border-color:#bbc7d0}.stage-plan-count input{min-height:2.1rem;padding:.3rem .45rem;text-align:center}.stage-plan-row-allocations{display:grid;gap:.65rem}.stage-plan-row-allocation-heading,.stage-plan-row-allocation-title{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.stage-plan-row-allocation-heading>div{display:grid;gap:.15rem}.stage-plan-row-allocation-heading span,.stage-plan-row-allocation-title span{color:var(--muted);font-size:.8rem}.stage-plan-row-allocation{background:#f7faf9;border:1px solid #cddbd8;border-radius:8px;display:grid;gap:.55rem;padding:.65rem}.stage-plan-row-allocation-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.stage-plan-row-instruments{display:grid;gap:.35rem}.stage-plan-row-instruments label{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) 4rem}.stage-plan-row-instruments span{font-size:.86rem;font-weight:750}.stage-plan-row-instruments input{min-height:2rem;padding:.25rem .4rem;text-align:center}.stage-plan-custom-percussion .compact-form-grid{grid-template-columns:minmax(0,1fr) 5.25rem}.stage-plan-toolbox label{width:100%}.stage-plan-tool{align-items:center;background:#ffffff;border:1px solid #c8d8d5;border-radius:8px;cursor:grab;display:flex;gap:.55rem;min-height:2.75rem;padding:.55rem .7rem;-webkit-user-select:none;user-select:none}.stage-plan-tool.stand-tool{background:var(--ink);border-color:var(--ink);color:#ffffff}.stage-plan-item:active,.stage-plan-tool:active{cursor:grabbing}.stage-plan-nudge-grid{display:grid;gap:.4rem;grid-template-columns:repeat(3,minmax(0,1fr))}.stage-plan-nudge-grid button:first-child,.stage-plan-nudge-grid button:last-child{grid-column:2}.stage-plan-auxiliary-list ul{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}.stage-plan-auxiliary-list li{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:.45rem;min-height:2.35rem;padding:.35rem .4rem .35rem .75rem}.stage-plan-auxiliary-list li span{color:var(--ink);font-weight:850}.sight-reading-sheet,.stage-plan-sheet{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;padding:1rem;width:100%}.sight-reading-sheet{min-width:0;overflow:visible}.sight-reading-sheet:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow:auto;padding:max(.65rem,env(safe-area-inset-top,0px)) max(.65rem,env(safe-area-inset-right,0px)) .65rem max(.65rem,env(safe-area-inset-left,0px))}.sight-reading-sheet:fullscreen>:not(.sight-reading-svg-wrap){flex:0 0 auto}.sight-reading-sheet:fullscreen :is(.sight-reading-svg-wrap){flex:1 1;height:auto;max-height:none;min-height:0;overflow-y:auto}.sight-reading-sheet:fullscreen>.sight-reading-tuner-score{align-self:flex-end}.sight-reading-sheet:fullscreen>.sight-reading-score-toolbar{align-self:flex-start;bottom:auto;box-shadow:none;max-width:100%;padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));position:static}.sight-reading-fullscreen-toolbar{align-items:end;background:rgb(255 255 255/96%);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 22px rgb(15 23 42/12%);display:flex;flex-wrap:wrap;gap:.65rem;padding:.7rem;position:sticky;top:0;z-index:12}.sight-reading-fullscreen-toolbar label{display:grid;gap:.25rem;min-width:min(11rem,100%)}.sight-reading-fullscreen-toolbar input[type=number]{max-width:5.5rem}.sight-reading-fullscreen-zoom{align-items:center;display:flex;gap:.4rem}@media (max-width:760px){.sight-reading-sheet:fullscreen{padding:.5rem}.sight-reading-fullscreen-toolbar{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:42dvh;overflow-y:auto}.sight-reading-fullscreen-toolbar label{min-width:0}.sight-reading-sheet:fullscreen :is(.sight-reading-svg-wrap){height:52dvh}}.sight-reading-beat-pulse{align-items:center;color:var(--teal-dark);display:inline-flex;font-size:.86rem;font-weight:850;gap:.45rem;justify-self:start}.sight-reading-beat-pulse>span{background:var(--gold);border-radius:999px;box-shadow:0 0 0 0 rgb(236 181 64/45%);height:.7rem;width:.7rem;animation:sight-reading-beat-pulse .36s ease-out}.sight-reading-playhead.beat-pulse{animation:sight-reading-line-beat-pulse .3s ease-out;animation-play-state:paused}@keyframes sight-reading-beat-pulse{0%{box-shadow:0 0 0 0 rgb(236 181 64/55%);transform:scale(1.35)}to{box-shadow:0 0 0 .65rem rgb(236 181 64/0);transform:scale(1)}}@keyframes sight-reading-line-beat-pulse{0%{background-color:#8f2430;box-shadow:0 0 0 1px #ffffff,0 0 0 8px rgb(215 153 34/48%);width:9px}to{background-color:rgb(180 58 66/92%);box-shadow:0 0 0 1px rgb(255 255 255/92%),0 0 0 3px rgb(180 58 66/22%);width:5px}}@media (prefers-reduced-motion:reduce){.sight-reading-playhead.beat-pulse{animation:none}}.stage-plan-sheet{overflow-x:auto}.stage-plan-zoom-controls{align-items:center;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 24px rgba(18,34,32,.12);display:inline-flex;gap:.35rem;justify-self:end;padding:.35rem;position:fixed;right:1.25rem;bottom:1.25rem;z-index:40}.stage-plan-zoom-controls span{color:var(--teal-dark);font-size:.82rem;font-weight:900;min-width:3rem;text-align:center}.sight-reading-heading,.stage-plan-title{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.sight-reading-heading strong,.stage-plan-title strong{font-size:1.2rem}.stage-plan-title span{color:var(--muted);font-weight:850}.stage-plan-audience,.stage-plan-conductor{align-items:center;border-radius:999px;display:flex;font-weight:900;justify-content:center;justify-self:center;min-height:2.6rem;padding:.55rem 1.2rem;text-align:center}.stage-plan-audience{background:#edf5f4;color:var(--teal-dark);min-width:12rem}.stage-plan-conductor{background:var(--ink);color:#ffffff;flex-direction:column;line-height:1.1;min-width:10rem}.stage-plan-conductor span+span{color:#d9f0ed;font-size:.78rem;text-transform:uppercase}.stage-plan-fixed-pill{left:50%;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:4}.stage-plan-audience.stage-plan-fixed-pill{top:96%}.stage-plan-conductor.stage-plan-fixed-pill{top:88%}.stage-plan-canvas{--stage-plan-canvas-height:60rem;--stage-plan-canvas-width:88rem;--stage-plan-grid-square:2.35rem;background:linear-gradient(rgba(26,99,94,.07) 1px,transparent 0),linear-gradient(90deg,rgba(26,99,94,.07) 1px,transparent 0),#fffdf7;background-size:var(--stage-plan-grid-square) var(--stage-plan-grid-square),var(--stage-plan-grid-square) var(--stage-plan-grid-square),auto;border:1px solid #d8dedc;border-radius:8px;min-height:60rem;min-width:88rem;overflow:hidden;transform:scale(var(--stage-plan-zoom,1));transform-origin:top left;touch-action:none;width:var(--stage-plan-canvas-width)}.stage-plan-canvas,.stage-plan-canvas-frame{height:var(--stage-plan-canvas-height);position:relative}.stage-plan-canvas-frame{--stage-plan-canvas-height:60rem;--stage-plan-canvas-width:88rem;min-width:var(--stage-plan-canvas-width)}.stage-plan-canvas.semicircle-layout{background:linear-gradient(rgba(26,99,94,.07) 1px,transparent 0),linear-gradient(90deg,rgba(26,99,94,.07) 1px,transparent 0),#fffdf7;background-size:var(--stage-plan-grid-square) var(--stage-plan-grid-square),var(--stage-plan-grid-square) var(--stage-plan-grid-square),auto}.stage-plan-canvas.snap-disabled{background:#fffdf7}.stage-plan-item{border:2px solid #93aaa6;box-sizing:border-box;box-shadow:0 6px 14px rgba(18,34,32,.1);cursor:grab;font-size:.66rem;font-weight:900;height:var(--stage-plan-grid-square);line-height:1;min-height:var(--stage-plan-grid-square);min-width:var(--stage-plan-grid-square);padding:.14rem;position:absolute;text-align:center;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;width:var(--stage-plan-grid-square)}.stage-plan-item,.stage-plan-item-face{align-items:center;display:grid;gap:.04rem;justify-items:center}.stage-plan-item-face{height:100%;transform:rotate(var(--stage-item-rotation,0deg));width:100%}.stage-plan-item-face svg{height:.78rem;width:.78rem}.stage-plan-item-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-plan-item.chair{background:#edf5f4;border-radius:8px 8px 14px 14px;color:var(--teal-dark)}.stage-plan-item.stand{background:var(--ink);border-color:var(--ink);border-radius:8px;color:#ffffff}.stage-plan-item.selected{border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,99,94,.16),0 8px 18px rgba(18,34,32,.14);z-index:3}@media (max-width:980px){.stage-plan-workspace{grid-template-columns:1fr}.stage-plan-canvas,.stage-plan-canvas-frame{--stage-plan-canvas-height:48rem;--stage-plan-canvas-width:68rem}.stage-plan-canvas{min-height:48rem;min-width:68rem}.stage-plan-instrument-selector{grid-template-columns:minmax(0,1fr)}.stage-plan-layout-row{justify-content:flex-start}}.music-library-grid{align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),26rem));justify-content:start}.music-library-card{max-width:26rem;min-width:0}.music-library-card-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.music-library-section-heading{display:grid;gap:.85rem}.music-library-summary-title{align-items:start;display:flex;gap:.75rem;min-width:0}.music-library-summary-title h2,.music-library-summary-title h3{margin:0}.music-library-summary-icon{align-items:center;background:#edf5f4;border:1px solid #c9ddda;border-radius:8px;color:var(--teal-dark);display:inline-flex;flex:0 0 auto;height:2.45rem;justify-content:center;width:2.45rem}.music-library-summary-end{align-items:center;display:inline-flex;gap:.65rem}.music-library-summary-strip{display:flex;flex-wrap:wrap;gap:.55rem}.music-library-metric{align-items:center;background:#f8fbfa;border:1px solid #d9e3e1;border-radius:8px;display:inline-flex;gap:.55rem;min-height:2.45rem;padding:.5rem .7rem}.music-library-metric span{color:var(--muted);font-size:.73rem;font-weight:850;text-transform:uppercase}.music-library-metric strong{color:var(--teal-dark);font-size:1rem}.music-library-tool-summary{align-items:center}.music-library-tool-copy{max-width:48rem}.music-library-card-pills{align-items:flex-end;display:flex;flex-direction:column;gap:.35rem}.library-grade-pill,.library-status{border-radius:999px;font-size:.78rem;font-weight:900;padding:.35rem .6rem;white-space:nowrap}.library-grade-pill{background:#edf5f4;border:1px solid #c9ddda;color:var(--teal-dark)}.library-status-learning{background:#fff3d6;color:#8a5c00}.library-status-ready{background:#e5f5ed;color:var(--green)}.library-status-performed{background:#edf5f4;color:var(--teal-dark)}.library-status-archived{background:#eef1f1;color:var(--muted)}.music-library-meta{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(7.75rem,1fr));margin:0}.music-library-meta div{background:#ffffff;border:1px solid #e1e8e6;border-radius:8px;display:grid;gap:.2rem;min-width:0;padding:.45rem .5rem}.music-library-meta dt{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.music-library-meta dd{font-weight:760;margin:0;min-width:0;overflow-wrap:anywhere}.music-library-pill-list{display:flex;flex-wrap:nowrap;gap:.3rem;justify-content:center;white-space:nowrap}.music-library-meta-pill{background:#edf5f4;border:1px solid #c9ddda;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.74rem;font-weight:850;line-height:1;padding:.28rem .45rem}.music-library-note{background:#fffdf7;border-left:3px solid #d6a52e;color:var(--ink);font-size:.9rem;margin:0;padding:.45rem .6rem}.music-library-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr))}.music-library-primary-fields{align-items:end;grid-template-columns:minmax(12rem,1.6fr) repeat(5,minmax(7.5rem,1fr))}.music-library-notes-fields>label,.music-library-primary-fields>label{width:100%}.music-library-primary-fields>label{align-content:start}.music-library-primary-fields>label>:is(input,select){min-width:0;width:100%}.music-library-notes-fields{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}.music-library-notes-fields label,.music-library-notes-fields textarea{min-height:6.5rem}.music-library-filter-form{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;gap:.85rem;padding:.85rem}.music-library-filter-heading{align-items:center;color:var(--teal-dark);display:flex;gap:1rem;justify-content:space-between;width:100%}.music-library-filter-heading h3{font-size:1rem;margin:0}.music-library-filter-grid{align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}.music-library-performance-history{background:#f8fbfa;border:1px solid #d9e3e1;border-radius:8px;display:grid;padding:.75rem}.music-library-performance-history summary{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) auto auto}.music-library-performance-history summary::-webkit-details-marker{display:none}.music-library-performance-history summary::marker{content:""}.music-library-performance-history[open]{gap:.55rem}.music-library-performance-history[open]>summary .details-chevron{transform:rotate(180deg)}.music-library-performance-history strong{color:var(--teal-dark)}.music-library-performance-history summary span{color:var(--muted);font-size:.78rem;font-weight:850}.music-library-performance-history ul{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.music-library-performance-history li{align-items:center;border-top:1px solid #d9e3e1;display:flex;gap:.65rem;justify-content:space-between;padding-top:.45rem}.music-library-performance-history li>span{min-width:0;overflow-wrap:anywhere}.music-library-remove-form{border-top:1px solid #e1e8e6;padding-top:.65rem}.music-library-table-wrap{border:1px solid #d9e3e1;border-radius:8px;overflow-x:auto;overflow-y:hidden}.music-library-table{border-collapse:separate;border-spacing:0;min-width:max-content;table-layout:auto;width:max-content}.music-library-table th{background:#f7fbfa;border-bottom:1px solid #d9e3e1;color:var(--teal-dark);font-size:.74rem;font-weight:900;position:sticky;text-transform:uppercase;top:0;z-index:2}.music-library-table td,.music-library-table th{padding:.58rem .65rem;text-align:center;white-space:nowrap}.music-library-table td{background:#ffffff;border-bottom:1px solid #edf1f0;vertical-align:middle}.music-library-table tbody tr:last-child td{border-bottom:0}.music-library-title-cell{min-width:max-content}.music-library-notes-cell,.music-library-title-cell span{color:var(--muted);font-size:.86rem}.music-library-notes-cell{min-width:max-content}.music-library-cell-list{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:.5rem;justify-content:center;min-width:max-content;white-space:nowrap}.music-library-performance-row{align-items:center;display:flex;flex-wrap:nowrap;gap:.45rem;justify-content:space-between;white-space:nowrap}.music-library-actions-cell{min-width:max-content}.music-library-actions{align-items:start;display:flex;flex-wrap:nowrap;gap:.45rem;justify-content:center}.music-library-export-links,.music-library-inline-list{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:.45rem;justify-content:center;white-space:nowrap}.music-library-add-concert-button,.music-library-show-notes-button{white-space:nowrap}.music-library-modal-overlay{align-items:center;background:rgba(18,34,32,.36);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:60}.music-library-modal{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 60px rgba(18,34,32,.24);display:grid;gap:.85rem;max-height:min(34rem,calc(100dvh - 2rem));max-width:min(44rem,calc(100vw - 2rem));overflow-x:hidden;overflow-y:scroll;padding:1rem;text-align:left;width:100%}.music-library-modal-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.music-library-modal p,.music-library-modal-header h3{margin:0}.music-library-modal p{line-height:1.55;white-space:pre-wrap}.music-library-edit-details{min-width:min(34rem,100%)}.music-library-edit-summary{align-items:center;background:#edf5f4;border-radius:8px;color:var(--teal-dark);cursor:pointer;display:inline-flex;font-weight:800;min-height:2.2rem;padding:.45rem .7rem;width:fit-content}.music-library-edit-details[open]{background:#f8fbfa;border:1px solid #d9e3e1;border-radius:8px;padding:.45rem}.music-library-edit-form{margin-top:.6rem;max-width:44rem}.music-library-equipment-picker{border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:.55rem;margin:0;padding:.65rem;width:100%}.music-library-equipment-picker legend{color:var(--muted);font-size:.78rem;font-weight:850;padding:0 .25rem}.music-library-equipment-options{display:grid;gap:.4rem .65rem;grid-template-columns:1fr}.music-library-equipment-columns{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.music-library-equipment-group{align-content:start;background:#f8fbfa;border:1px solid #d9e3e1;border-radius:6px;display:grid;gap:.55rem;padding:.65rem}.music-library-equipment-group h3{color:var(--teal-dark);font-size:.88rem;margin:0}.music-library-auxiliary-input{margin-top:auto}@media (max-width:1100px){.music-library-primary-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.music-library-equipment-columns,.music-library-notes-fields,.music-library-primary-fields{grid-template-columns:1fr}}.concert-builder-body{gap:1rem}.concert-builder-layout{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(18rem,1fr) minmax(18rem,1fr)}.concert-builder-duration-grid{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.concert-builder-duration-grid label{background:#f8fbfa;border:1px solid #d9e3e1;border-radius:8px;justify-content:center;min-height:2.45rem;padding:.5rem .7rem}.concert-builder-notes,.concert-builder-setlist{background:#f8fbfa;border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:.75rem;padding:.85rem}.concert-builder-notes textarea{min-height:18rem;width:100%}.concert-builder-piece-list{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.concert-builder-piece-list li{align-items:center;background:#ffffff;border:1px solid #d9e3e1;border-radius:8px;cursor:grab;display:grid;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.55rem}.concert-builder-piece-list li:active{cursor:grabbing}.concert-builder-drag-handle{color:var(--muted);display:inline-flex}.concert-builder-piece-main{display:grid;gap:.15rem;min-width:0}.concert-builder-piece-main span,.concert-builder-piece-main strong{min-width:0;overflow-wrap:anywhere}.concert-builder-piece-main span{color:var(--muted);font-size:.82rem;font-weight:750}.concert-builder-piece-duration{align-items:center;display:inline-flex;flex-direction:row;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.concert-builder-piece-duration input{max-width:5rem;min-width:4.5rem}.concert-builder-piece-actions{display:inline-flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.icon-button{min-height:2.1rem;min-width:2.1rem;padding:.4rem}@media (max-width:760px){.concert-builder-layout{grid-template-columns:1fr}.music-library-table-wrap .music-library-table{display:table;min-width:max-content}.music-library-table-wrap .music-library-table thead{display:table-header-group}.music-library-table-wrap .music-library-table tbody{display:table-row-group}.music-library-table-wrap .music-library-table tr{border:0;display:table-row;margin:0;padding:0}.music-library-table-wrap .music-library-table td,.music-library-table-wrap .music-library-table th{display:table-cell;min-width:0;width:auto}.music-library-edit-details{min-width:0}}.sight-reading-controls{align-items:end}.sight-reading-core-controls{border-bottom:1px solid #d9e3e1;padding-bottom:1rem}.sight-reading-preset-summary{align-items:flex-start;background:linear-gradient(135deg,#eef7f4,#f8fbfa);border:1px solid #c8d8d5;border-left:.3rem solid var(--teal-dark);border-radius:8px;display:grid;gap:.2rem;padding:.75rem .9rem}.sight-reading-preset-summary strong{color:var(--teal-dark)}.sight-reading-preset-summary span{color:var(--muted);line-height:1.45}.sight-reading-parameter-grid{align-items:end;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(13.5rem,100%),1fr))}.sight-reading-parameter-grid label{min-width:0}.sight-reading-parameter-grid input,.sight-reading-parameter-grid select{width:100%}.sight-reading-wide-control{grid-column:1/-1}.sight-reading-settings-group{border-bottom:1px solid #d9e3e1;padding-block:.2rem .85rem}.sight-reading-custom-workspace{border:1px solid #c8d8d5;border-radius:8px;display:grid;overflow:hidden;overflow-anchor:none}.sight-reading-custom-intro{align-items:center;background:#f1f7f5;border-bottom:1px solid #c8d8d5;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.sight-reading-custom-intro .eyebrow{margin-bottom:.15rem}.sight-reading-custom-summary{background:#ffffff;border-bottom:1px solid #d9e3e1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sight-reading-custom-summary>span{display:grid;gap:.15rem;min-width:0;padding:.7rem .85rem}.sight-reading-custom-summary>span+span{border-left:1px solid #e1e8e6}.sight-reading-custom-summary small{color:var(--muted);font-size:.72rem;font-weight:850}.sight-reading-custom-summary strong{overflow-wrap:anywhere}.sight-reading-custom-section{border-bottom:1px solid #d9e3e1;padding:0}.sight-reading-custom-section:last-child{border-bottom:0}.sight-reading-custom-section>summary{align-items:center;min-height:3.75rem;padding:.65rem 3rem .65rem .85rem}.sight-reading-custom-section>summary>span:first-child{align-items:center;display:inline-flex;gap:.6rem}.sight-reading-custom-section>summary b{align-items:center;background:#e0efeb;border-radius:50%;color:var(--teal-dark);display:inline-flex;flex:0 0 1.75rem;font-size:.78rem;height:1.75rem;justify-content:center;width:1.75rem}.sight-reading-custom-section[open]>summary{background:#f7faf9}.sight-reading-custom-section[open]>summary b{background:var(--teal-dark);color:#ffffff}.sight-reading-custom-section>.sight-reading-control-section,.sight-reading-custom-section>.sight-reading-parameter-grid,.sight-reading-custom-section>.sight-reading-pitch-range-visual,.sight-reading-custom-section>.sight-reading-range-summary,.sight-reading-custom-section>.sight-reading-rhythm-panel,.sight-reading-custom-section>.sight-reading-weighting-panel{margin-inline:.85rem}.sight-reading-custom-section>.sight-reading-control-section,.sight-reading-custom-section>.sight-reading-parameter-grid,.sight-reading-custom-section>.sight-reading-range-summary,.sight-reading-custom-section>.sight-reading-rhythm-panel{margin-bottom:.85rem}.sight-reading-extra-advanced{background:linear-gradient(180deg,#fffaf0,#ffffff 8rem);border:1px solid #e4c779;border-radius:8px;margin-top:.75rem;overflow:hidden}.sight-reading-extra-advanced>summary b{background:#f4df9f;color:#6f4c00}.sight-reading-extra-advanced[open]>summary{background:#fff7df}.sight-reading-extra-advanced[open]>summary b{background:#8b6500}.sight-reading-weighting-panel{display:grid;gap:1rem;margin-bottom:.85rem;padding-top:.85rem}.sight-reading-weighting-panel .sight-reading-panel-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.sight-reading-weighting-panel .sight-reading-panel-heading p{margin:.2rem 0 0;max-width:52rem}.sight-reading-weighting-group{background:#ffffff;border:1px solid #dfd4b6;border-radius:8px;display:grid;gap:.75rem;padding:.85rem}.sight-reading-weighting-group h3{font-size:.98rem;margin:0}.sight-reading-weighting-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr))}.sight-reading-note-weighting-grid{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.sight-reading-weighting-row{align-items:center;background:#fffdf8;border:1px solid #eee3c7;border-radius:7px;display:grid;gap:.55rem;grid-template-columns:minmax(7rem,1fr) minmax(7rem,1.3fr) 2.8rem;padding:.6rem .7rem}.sight-reading-weighting-row>span{display:grid;gap:.05rem;min-width:0}.sight-reading-weighting-row small{color:var(--muted)}.sight-reading-weighting-row input{min-width:0;width:100%}.sight-reading-weighting-row output{color:#6f4c00;font-weight:900;text-align:right}.sight-reading-settings-group>summary{align-items:baseline;cursor:pointer;display:flex;gap:.7rem;justify-content:space-between;min-height:3rem;padding:.65rem 2rem .65rem .55rem;position:relative}.sight-reading-settings-group>summary:after{align-items:center;background:#edf5f3;border:1px solid #bfd0cd;border-radius:50%;color:var(--teal-dark);content:"+";display:inline-flex;font-size:1.1rem;font-weight:900;height:1.65rem;justify-content:center;position:absolute;right:.1rem;top:50%;transform:translateY(-50%);width:1.65rem}.sight-reading-settings-group[open]>summary:after{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff;content:"−"}.sight-reading-settings-group[open]>summary{border-bottom:1px solid #e4ebe9}.sight-reading-settings-group>summary>span:first-child{color:var(--ink);font-weight:900}.sight-reading-control-section{display:grid;gap:.65rem;padding-block:.4rem .85rem}.sight-reading-control-section+.sight-reading-control-section{border-top:1px solid #e4ebe9}.sight-reading-change-control{align-content:start;background:#f8fbfa;border:1px solid #d9e3e1;border-radius:6px;display:grid;gap:.65rem;padding:.75rem}.sight-reading-change-control>button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-change-control label{display:grid;gap:.3rem}.sight-reading-change-count-row{align-items:end;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) max-content}.sight-reading-change-count-row button{min-height:3rem}.sight-reading-interval-row,.sight-reading-tempo-change-range{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.sight-reading-interval-row{grid-column:1/-1}.sight-reading-specific-notes-row{align-items:end;display:grid;gap:.85rem;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.sight-reading-specific-notes-row>*{min-width:0}.sight-reading-specific-notes-row input[type=text]{width:100%}.sight-reading-specific-notes-accidentals{background:#f8fbfa;border:1px solid #d9e3e1;border-radius:6px;min-height:3rem;padding:.55rem .7rem}.sight-reading-specific-notes-row .sight-reading-check-row input{flex:0 0 auto;width:auto}@media (max-width:760px){.sight-reading-specific-notes-row{grid-template-columns:1fr}}.sight-reading-tempo-change-range strong{color:var(--teal-dark);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sight-reading-selection-warning{background:#fff7df;border:1px solid #e4c779;border-radius:8px;color:#684e13;font-weight:800;margin:.75rem 0 0;padding:.7rem .85rem}.sight-reading-button-panel{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.65rem;padding:.75rem}.sight-reading-panel-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.sight-reading-selection-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-inline-start:auto}.sight-reading-symbol-grid{display:grid;gap:.55rem;grid-template-columns:repeat(4,minmax(0,1fr))}.sight-reading-key-grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.sight-reading-key-signature-group,.sight-reading-key-signature-groups{display:grid;gap:.65rem;min-width:0}.sight-reading-key-signature-group+.sight-reading-key-signature-group{border-top:1px solid var(--line);padding-top:.75rem}.sight-reading-meter-group{display:grid;gap:.5rem}.sight-reading-time-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(4.75rem,5.5rem))}.sight-reading-line-mode button,.sight-reading-rhythm-button,.sight-reading-symbol-button{align-items:center;background:#ffffff;border:1px solid #c8d8d5;border-radius:8px;color:var(--ink);display:inline-flex;font-weight:900;gap:.45rem;justify-content:center;min-height:3rem;padding:.45rem .7rem;text-align:center}.sight-reading-line-mode button.active,.sight-reading-rhythm-button.active,.sight-reading-symbol-button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-key-button{flex-direction:column;gap:.25rem;min-height:7rem;min-width:0;overflow:hidden;padding:.45rem .3rem .55rem}.sight-reading-key-name{display:block;font-size:clamp(.78rem,1.35vw,1rem);line-height:1;text-align:center;width:100%}.sight-reading-key-preview{background:#ffffff;border-radius:4px;height:5.5rem;overflow:hidden;width:100%}.sight-reading-key-preview svg{display:block;height:100%;overflow:visible;width:100%}.sight-reading-key-preview-expanded{height:6rem}.sight-reading-rhythm-preview{background:#ffffff;border-radius:4px;flex:0 0 auto;height:3.875rem;overflow:hidden;width:4rem}.sight-reading-rhythm-preview svg{display:block;height:100%;width:100%}.sight-reading-triplet-preview{background:#ffffff;border-radius:4px;flex:0 0 auto;height:4.5rem;max-width:100%;overflow:hidden;width:6.25rem}.sight-reading-triplet-preview svg{display:block;height:100%;width:100%}.sight-reading-line-mode button:disabled,.sight-reading-rhythm-button:disabled,.sight-reading-symbol-button:disabled{cursor:not-allowed;opacity:.55}.sight-reading-symbol-main{font-family:Georgia,Times New Roman,Noto Music,serif;font-size:1.55rem;line-height:1}.sight-reading-time-button{min-width:0;width:100%}.sight-reading-mode-switcher{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));max-width:26rem;width:100%}.sight-reading-difficulty{display:grid;gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr))}.sight-reading-difficulty button{min-height:2.75rem;min-width:0}.sight-reading-difficulty button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-rest-frequency{display:grid;gap:.35rem;margin-top:.75rem;max-width:22rem}.sight-reading-mode-switcher button{background:#ffffff;border:1px solid #bfd0cd;border-radius:8px;color:var(--ink);font-weight:900;min-height:2.75rem;padding:.55rem 1rem}.sight-reading-mode-switcher button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-ensemble-panel{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.8rem;padding:.85rem}.sight-reading-ensemble-setup-switcher{max-width:34rem}.sight-reading-ensemble-group-picker{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;width:100%}.sight-reading-ensemble-group-option{border:1px solid #bfd0cd;font-weight:850;min-height:3rem;min-width:0;padding:.65rem .75rem;white-space:normal;width:100%}.sight-reading-ensemble-group-picker .sight-reading-ensemble-group-option[aria-pressed=true]{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-ensemble-instruments{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.sight-reading-ensemble-instruments fieldset{align-content:start;border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:.35rem;margin:0;padding:.65rem}.sight-reading-ensemble-instruments legend{font-weight:900;padding-inline:.25rem}.sight-reading-ensemble-add-row,.sight-reading-ensemble-global-range{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem}.sight-reading-ensemble-add-row label{display:grid;flex:1 1 18rem;gap:.3rem;max-width:30rem}.sight-reading-ensemble-part-list{display:grid;gap:.65rem}.sight-reading-ensemble-part{background:#ffffff;border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:.65rem;padding:.75rem}.sight-reading-ensemble-part-heading{align-items:center;display:flex;gap:.65rem;justify-content:space-between}.sight-reading-ensemble-part-controls{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr))}.sight-reading-ensemble-global-range label,.sight-reading-ensemble-part-controls label{display:grid;gap:.3rem}.sight-reading-time-stack{align-items:center;display:inline-grid;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:900;gap:0;line-height:.92}.sight-reading-mini-check{background:#ffffff;border:1px solid #d9e3e1;border-radius:999px;min-height:2.35rem;padding:.35rem .65rem}.sight-reading-range-panel{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;padding:.85rem}.sight-reading-pitch-range-visual{align-items:center;background:#ffffff;border:1px solid #d9e3e1;border-radius:8px;display:grid;gap:1rem;grid-template-columns:5.25rem minmax(18rem,1fr) 5.25rem;min-height:15rem;padding:1rem}.sight-reading-pitch-scale{align-items:center;align-self:stretch;color:var(--muted);display:flex;flex-direction:column;font-size:.78rem;font-weight:900;justify-content:space-between;text-transform:uppercase}.sight-reading-vertical-slider-control{align-items:center;display:grid;gap:.35rem;justify-items:center;min-height:29rem}.sight-reading-vertical-slider-control strong{color:var(--teal-dark);font-size:1rem}.sight-reading-vertical-slider{appearance:slider-vertical;height:24rem;width:1.4rem!important;writing-mode:vertical-lr;direction:rtl}.sight-reading-range-step-controls{display:flex;gap:.35rem}.sight-reading-range-step-controls .icon-button{min-height:2.35rem;min-width:2.35rem}.sight-reading-range-staff{align-items:stretch;display:grid;gap:.3rem;justify-items:center;min-width:0}.sight-reading-range-staff>div:first-child{max-width:100%;overflow-x:auto}.sight-reading-range-staff svg{display:block}.sight-reading-range-labels{color:var(--teal-dark);display:flex;font-size:.86rem;font-weight:900;justify-content:space-between;max-width:24.375rem;width:100%}.sight-reading-slider-control{gap:.35rem}.sight-reading-slider-control span{color:var(--teal-dark);font-weight:900}.sight-reading-tempo-relation{align-content:end;display:grid;gap:.35rem}.sight-reading-tempo-relation>span{font-weight:750}.sight-reading-tempo-relation button{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;min-height:3rem}.sight-reading-check-row{align-self:center;background:#ffffff;border:1px solid #d9e3e1;border-radius:8px;min-height:3rem;padding:.65rem .75rem}.sight-reading-range-summary{align-self:center;margin:.65rem 0 0}.sight-reading-rhythm-panel{background:#f8fbfa;border:1px solid #c8d8d5;border-radius:8px;display:grid;gap:.85rem;padding:.85rem}.sight-reading-rhythm-panel>div:first-child{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.sight-reading-triplet-panel{border-top:1px solid #d9e3e1;display:grid;gap:.65rem;padding-top:.75rem}.sight-reading-rhythm-kind-group{display:grid;gap:.55rem;min-width:0}.sight-reading-rhythm-kind-group+.sight-reading-rhythm-kind-group{border-top:1px solid #d9e3e1;padding-top:.75rem}.sight-reading-rhythm-button-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,6.75rem),7.25rem));justify-content:start;min-width:0;width:100%}.sight-reading-rhythm-button{align-items:center;flex-direction:column;gap:.2rem;justify-content:flex-start;max-width:100%;min-height:6.15rem;min-width:0;overflow:hidden;padding:.35rem .3rem .4rem;text-align:center;width:100%}.sight-reading-triplet-button{min-height:6.8rem;min-width:0}.sight-reading-rhythm-name{align-items:center;display:flex;font-size:clamp(.76rem,1.05vw,.9rem);justify-content:center;line-height:1.1;min-height:1.8rem;overflow-wrap:anywhere;text-align:center;width:100%}.sight-reading-svg-wrap{background:#ffffff;border:1px solid #e1e8e6;border-radius:8px;height:min(76vh,58rem);height:min(76dvh,58rem);max-height:min(76vh,58rem);max-height:min(76dvh,58rem);max-width:100%;min-width:0;overflow-x:auto;overflow-y:scroll;overflow-anchor:none;overscroll-behavior:contain;padding:.35rem;position:relative;scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;width:100%}.sight-reading-svg-wrap.sight-reading-following-playhead{scroll-behavior:auto;-webkit-overflow-scrolling:auto}.sight-reading-notation{display:block;flex:0 0 auto;min-width:0;width:auto}.sight-reading-render-target{max-width:none;position:relative}.sight-reading-render-target svg{display:block;max-width:none}.sight-reading-playback-controls{border-top:1px solid #d9e3e1;display:grid;gap:0}.sight-reading-options-panel{border:1px solid #c7d8d4;border-radius:8px;overflow:hidden}.sight-reading-options-panel[hidden]{display:none}.sight-reading-options-toggle{align-items:center;display:inline-flex;gap:.5rem;justify-content:center;min-height:2.75rem;white-space:nowrap}.sight-reading-options-toggle[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--teal-dark)}.sight-reading-options-panel-body{display:grid;padding-inline:1rem}.sight-reading-options-panel-body .sight-reading-tuner-controls{padding-block:.85rem}.sight-reading-control-row,.sight-reading-generation-row{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem;padding-block:.75rem}.sight-reading-control-row+.sight-reading-control-row,.sight-reading-generation-row{border-top:1px solid #e1e8e6}.sight-reading-control-row-title{color:var(--teal-dark);flex:0 0 5.5rem}.sight-reading-generation-row{background:#f4f8f7;border:1px solid #c7d8d4;border-radius:8px;justify-content:flex-start;padding-inline:.85rem}.sight-reading-generation-row>.sight-reading-options-toggle{flex:0 0 auto}.sight-reading-generation-tempo{align-items:center;display:grid;flex:1 1 18rem;gap:.2rem .55rem;grid-template-columns:auto auto;min-width:min(17rem,100%);width:min(18rem,100%)}.sight-reading-generation-tempo>span,.sight-reading-generation-tempo>strong{line-height:1}.sight-reading-generation-tempo>strong{justify-self:end;white-space:nowrap}.sight-reading-generation-tempo input{grid-column:1/-1;margin:0;width:100%}.sight-reading-generation-tempo>small{color:var(--muted);grid-column:1/-1}.sight-reading-bars-control{align-items:center;display:inline-flex;font-weight:900;gap:.45rem}.sight-reading-bars-control input{min-height:2.75rem;width:5rem}.sight-reading-play-button{align-items:center;display:inline-flex;flex:0 0 auto;gap:.4rem;justify-content:center;min-height:2.75rem;min-width:5rem;padding:.5rem .6rem;width:auto}.sight-reading-score-toolbar{align-items:center;background:#f4f8f7;border:1px solid #c7d8d4;border-radius:8px;bottom:.5rem;box-shadow:0 -.2rem .8rem rgba(29,52,49,.1);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;justify-self:start;max-width:100%;padding:.5rem .5rem max(.5rem,env(safe-area-inset-bottom,0px));position:sticky;width:fit-content;z-index:10}.sight-reading-score-toolbar>button{min-height:2.75rem}.sight-reading-note-names-toggle[aria-pressed=true]{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-score-toolbar svg{flex:0 0 auto}.sight-reading-score-zoom{align-items:center;display:inline-flex;flex:0 0 auto;gap:.25rem}.sight-reading-score-zoom button{flex:0 0 auto;height:2.75rem;min-height:2.75rem;min-width:2.75rem;padding:.35rem;width:2.75rem}.sight-reading-score-zoom output{color:var(--teal-dark);font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:850;min-width:2.5rem;text-align:center;white-space:nowrap}.sight-reading-tuner-controls{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.sight-reading-tuner-controls>button{min-width:7rem}.sight-reading-tuner-controls>button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.sight-reading-tuner-controls label{display:grid;gap:.3rem;min-width:15rem}.sight-reading-tuner-status{align-items:center;align-self:stretch;background:#f4f8f7;border:1px solid #d9e3e1;border-radius:6px;display:flex;min-height:2.75rem;padding:.5rem .75rem}.sight-reading-tuner-status.passed{background:#dcfce7;border-color:#16a34a;color:#166534;font-weight:800}.sight-reading-tuner-score{align-items:center;align-self:stretch;background:#ffffff;border:1px solid #b8ceca;border-radius:6px;color:var(--teal-dark);display:grid;justify-items:center;min-height:2.75rem;min-width:8rem;padding:.4rem .75rem;text-align:center}.sight-reading-tuner-score span{font-size:1.15rem;line-height:1}.sight-reading-tuner-score small{color:var(--muted);font-size:.72rem;line-height:1.15}.sight-reading-sheet>.sight-reading-tuner-score{justify-self:end;min-width:8rem;width:auto}.sight-reading-playback-controls .check-row{background:#ffffff;border:1px solid #d9e3e1;border-radius:999px;min-height:2.75rem;padding:.5rem .75rem}.sight-reading-count-in-control,.sight-reading-range-control{display:grid;gap:.25rem;min-width:10rem}.sight-reading-range-control strong{color:var(--teal-dark)}.sight-reading-count-in-control input{width:7rem}@media (max-width:760px){.sight-reading-difficulty,.sight-reading-ensemble-group-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.sight-reading-difficulty button:last-child{grid-column:1/-1}.sight-reading-options-panel-body{padding-inline:.75rem}.sight-reading-selection-actions{margin-inline-start:0;width:100%}.sight-reading-selection-actions button{flex:1 1 7rem}.sight-reading-tuner-controls label,.sight-reading-tuner-controls>*,.sight-reading-tuner-score,.sight-reading-tuner-status{min-width:0;width:100%}.sight-reading-count-in-control input{width:100%}}@media (max-width:520px){.sight-reading-ensemble-group-picker{grid-template-columns:1fr}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.sight-reading-score-toolbar{bottom:calc(4.25rem + env(safe-area-inset-bottom, 0px));max-width:calc(100% - 2rem);padding-bottom:.5rem}}.practice-tips-grid{align-items:stretch}.practice-tip-list{display:grid;gap:.65rem;margin:0;padding-left:1.25rem}.aural-exercise-card,.aural-training-controls,.aural-training-shell{display:grid;gap:1rem}.aural-training-mode-row{display:grid;gap:.55rem;grid-template-columns:repeat(4,minmax(0,1fr))}.aural-error-type button,.aural-training-mode-row button{justify-content:center;min-height:2.85rem}.aural-choice-grid button.active,.aural-error-type button.active,.aural-position-grid button.active,.aural-training-mode-row button.active,.aural-version-grid button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.aural-training-settings{align-items:end;display:grid;gap:.8rem;grid-template-columns:minmax(10rem,.7fr) minmax(14rem,1.4fr) minmax(8rem,.5fr)}.aural-training-settings input[type=range]{width:100%}.aural-clef-settings .collapsible-panel-content{display:grid;gap:.8rem}.aural-clef-settings>summary{align-items:center;display:flex;justify-content:space-between}.aural-clef-mode{justify-content:flex-start}.aural-clef-mode button{justify-content:center;min-width:8.5rem}.aural-clef-mode button.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#ffffff}.aural-fixed-clef{display:grid;gap:.35rem;max-width:22rem}.aural-clef-option-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.aural-current-clef{margin:0}.aural-current-clef strong{color:var(--teal-dark)}.aural-training-score{align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;min-height:3.15rem;padding:.55rem .75rem}.aural-training-score span{color:var(--muted);font-size:.78rem;font-weight:800}.aural-training-score strong{color:var(--teal-dark);font-size:1.2rem}.aural-planner-actions{border-top:1px solid var(--line);padding-top:.85rem}.aural-test-complete,.aural-test-next,.aural-test-status{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.aural-test-status progress{accent-color:var(--teal);height:1rem;width:min(24rem,38vw)}.aural-test-next span,.aural-test-status p{margin:.25rem 0 0}.aural-test-next{border-color:var(--teal)}.aural-test-next>div{display:grid;gap:.15rem}.aural-practice-plan{display:grid;gap:1rem}.aural-practice-plan-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.aural-plan-overview{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.aural-plan-overview>div{align-content:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;display:grid;gap:.2rem;min-height:5rem;padding:.75rem;text-align:center}.aural-plan-overview span{color:var(--muted);font-size:.78rem;font-weight:800}.aural-plan-overview strong{color:var(--teal-dark);font-size:1.1rem}.aural-plan-category-grid,.aural-plan-review-list{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.aural-plan-category-grid>article,.aural-plan-review-list>article{border:1px solid var(--line);border-radius:8px;display:grid;gap:.55rem;padding:.8rem}.aural-plan-category-grid h3,.aural-plan-category-grid p,.aural-plan-review h3{margin:0}.aural-plan-category-grid .section-heading-row>strong{color:var(--teal-dark);font-size:1.15rem}.aural-plan-review{display:grid;gap:.75rem}.aural-plan-review-list>article span{color:var(--muted);font-size:.86rem}.aural-exercise-card>button{justify-self:start}.aural-starting-note{align-items:center;background:#f7faf9;border-left:4px solid var(--teal);display:grid;gap:.25rem;padding:.7rem .85rem;width:min(15rem,100%)}.aural-starting-note>span{font-size:.78rem;font-weight:850}.aural-notation{background:#ffffff;border:1px solid var(--line);border-radius:6px;min-height:8.65rem;overflow:hidden;width:100%}.aural-notation.compact{border:0;min-height:9.4rem;overflow:hidden;pointer-events:none}.aural-notation.expanded{min-height:14.4rem}.aural-notation svg{display:block;height:auto;max-width:100%;width:100%}.aural-notation-answer{align-items:center;background:#f7faf9;border:1px solid var(--line);border-radius:8px;display:flex;min-height:9.5rem;padding:.65rem}.aural-notation-answer.melody{width:min(50%,40rem)}.aural-melodic-settings{min-width:0}.aural-melodic-settings>summary{align-items:center;display:flex;justify-content:space-between}.aural-melodic-settings .collapsible-panel-content{display:grid;gap:.9rem}.aural-melodic-setting-row{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(8rem,1fr))}.aural-melodic-setting-row>label{min-width:0}.aural-melodic-setting-row select{width:100%}.aural-setting-options{border:1px solid var(--line);border-radius:8px;margin:0;min-width:0;padding:.7rem}.aural-setting-options legend{font-weight:850;padding:0 .25rem}.aural-setting-option-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.aural-answer-slots,.aural-position-grid{display:flex;flex-wrap:wrap;gap:.55rem}.aural-answer-slots span{align-items:center;background:#ffffff;border:2px solid #cbd9d6;border-radius:6px;display:inline-flex;font-weight:850;justify-content:center;min-height:3.2rem;min-width:4.5rem;padding:.5rem}.aural-choice-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.aural-choice-grid button{justify-content:center;min-height:2.8rem}.aural-notation-choice-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.aural-notation-choice-grid button{padding:.25rem}.aural-rhythm-answer{align-items:stretch;background:#f7faf9;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:.45rem;min-height:4rem;padding:.7rem}.aural-rhythm-answer span:not(.muted){align-items:center;background:#ffffff;border:1px solid #cbd9d6;border-radius:6px;display:inline-flex;font-weight:760;justify-content:center;padding:.55rem .7rem}.aural-beat-count{margin:-.55rem 0 0}.aural-error-type{justify-content:flex-start}.aural-version-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.aural-protected-start-note{border-left:4px solid var(--gold);margin:0;padding-left:.75rem}.tuner-skills-body,.tuner-skills-readout,.tuner-skills-settings{display:grid;gap:.75rem}.tuner-skills-settings{align-items:end;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.tuner-skills-settings label{display:grid;gap:.35rem}.tuner-skills-readout{background:#f4f8f7;border:1px solid #c7d8d4;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem}.tuner-skills-readout.passed{background:#e4f6eb;border-color:#69aa7d}.tuner-skills-readout>div{display:grid;gap:.2rem}.tuner-skills-readout>div span{color:var(--muted);font-size:.8rem;font-weight:750}.tuner-skills-readout>div strong{font-size:1.35rem}.tuner-skills-readout p,.tuner-skills-readout progress{grid-column:1/-1;margin:0;width:100%}.key-practice-challenge,.key-practice-controls,.key-practice-score-card,.key-practice-shell{display:grid;gap:1rem}.key-practice-step{gap:1.15rem}.settings-page .app-microphone-settings-heading{align-items:center;display:flex;gap:.85rem;min-width:0}.app-microphone-settings-heading h2,.app-microphone-settings-heading p,.app-microphone-settings-state>*{margin:0}.app-microphone-settings-icon{align-items:center;background:var(--teal-dark);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 2.75rem;height:2.75rem;justify-content:center;width:2.75rem}.app-microphone-settings-grid{align-items:stretch;display:grid;gap:.85rem;grid-template-columns:minmax(14rem,.65fr) minmax(18rem,1.35fr)}.app-microphone-settings-state{background:#f4f8f7;border:1px solid #b8d1cc;border-radius:var(--radius-small);display:grid;gap:.2rem;min-width:0;padding:.75rem .85rem}.app-microphone-settings-state.is-ready{background:#e8f6ed;border-color:#69aa7d}.app-microphone-settings-state.is-denied,.app-microphone-settings-state.is-unavailable{background:#fff6e3;border-color:#c68a21}.app-microphone-settings-actions{display:flex;flex-wrap:wrap;gap:.65rem}.app-microphone-privacy-copy{margin:0}.profile-microphone-access{align-items:center;background:linear-gradient(135deg,#f4faf8,#fffaf0);border-color:#aecfca;display:grid;gap:.85rem 1rem;grid-template-columns:auto minmax(0,1fr) auto}.profile-microphone-access.is-ready{background:linear-gradient(135deg,#e9f7ed,#f8fcf9);border-color:#69aa7d}.profile-microphone-access.is-listening{background:linear-gradient(135deg,#fff5d9,#fffaf0);border-color:#996300}.profile-microphone-access-icon{align-items:center;align-self:start;background:var(--teal-dark);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 2.75rem;height:2.75rem;justify-content:center;width:2.75rem}.profile-microphone-access.is-ready .profile-microphone-access-icon{background:#317a46}.profile-microphone-access.is-listening .profile-microphone-access-icon{background:#996300}.profile-microphone-access-copy{display:grid;gap:.3rem;min-width:0}.profile-microphone-access-copy>*{margin:0}.profile-microphone-access-copy h2{line-height:1.18}.profile-microphone-access-status{color:var(--teal-dark);font-weight:750}.profile-microphone-access-action{align-items:center;display:flex}.profile-microphone-access-action button{min-height:2.75rem;white-space:nowrap}.app-microphone-status{align-items:center;background:#e8f6ed;border:2px solid #317a46;border-radius:999px;bottom:1rem;box-shadow:0 .45rem 1.4rem rgba(12,72,74,.2);color:#173f2a;display:flex;gap:.55rem;left:1rem;max-width:min(31rem,calc(100vw - 2rem));padding:.4rem .45rem .4rem .75rem;position:fixed;z-index:97}.app-microphone-status.is-listening{background:#fff5d9;border-color:#996300;color:#5e3d00}.app-microphone-status>span{display:grid;line-height:1.15;min-width:0}.app-microphone-status small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-microphone-status button{flex:0 0 auto;min-height:2.75rem}@media (max-width:700px){.app-microphone-settings-grid{grid-template-columns:minmax(0,1fr)}.profile-microphone-access{align-items:start;grid-template-columns:auto minmax(0,1fr)}.profile-microphone-access-action{grid-column:1/-1}.profile-microphone-access-action button{justify-content:center;width:100%}.app-microphone-status{border-radius:var(--radius-small);display:grid;grid-template-columns:auto minmax(0,1fr) auto}.app-microphone-status button{padding-inline:.7rem}}@media (max-width:420px){.app-microphone-status{grid-template-columns:auto minmax(0,1fr)}.app-microphone-status button{grid-column:1/-1;justify-content:center;width:100%}}.key-practice-step-heading{align-items:center;display:flex;gap:.8rem}.key-practice-step-heading>span{align-items:center;background:var(--teal-dark);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 2.55rem;font-size:1.1rem;font-weight:850;height:2.55rem;justify-content:center}.key-practice-step-heading h2,.key-practice-step-heading p{margin:0}.key-practice-step-heading .muted{margin-top:.35rem;max-width:72rem}.key-practice-controls{align-items:end;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.key-practice-controls-setup{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.key-practice-controls-rhythm{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.key-practice-controls>label:not(.check-row),.key-practice-slider{display:grid;gap:.35rem}.key-practice-action-row{align-items:center;border-top:1px solid #d9e3e1;display:flex;flex-wrap:wrap;gap:.65rem;padding-top:1rem}.key-practice-live-controls{align-items:end;background:#f4f8f7;border:1px solid #c7d8d4;border-radius:12px;display:grid;gap:.75rem;grid-template-columns:minmax(8rem,.7fr) auto minmax(15rem,2fr);margin-top:1rem;padding:.85rem}.key-practice-live-controls>label{display:grid;gap:.35rem}.key-practice-action-row>.button,.key-practice-action-row>button{min-height:2.75rem}.key-practice-challenge-toggle{background:#f4f8f7;border:1px solid #c7d8d4;border-radius:10px;min-height:2.9rem;padding:.65rem .8rem}.key-practice-rhythm-builder{background:linear-gradient(145deg,#f8fbfa,#fffaf0);border:1px solid #c7d8d4;border-radius:12px;display:grid;gap:.85rem;padding:1rem}.key-practice-rhythm-actions,.key-practice-rhythm-builder-heading{align-items:end;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between}.key-practice-rhythm-actions p,.key-practice-rhythm-builder-heading h3,.key-practice-rhythm-builder-heading p,.key-practice-rhythm-builder>p{margin:0}.key-practice-rhythm-builder-heading label{display:grid;gap:.35rem;min-width:9rem}.key-practice-rhythm-application{border:0;margin:0;min-width:0;padding:0}.key-practice-rhythm-application legend{font-weight:800;margin-bottom:.45rem;padding:0}.key-practice-rhythm-application-options{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.key-practice-rhythm-application-options label{align-items:flex-start;background:#ffffff;border:1px solid #c7d8d4;border-radius:10px;cursor:pointer;display:flex;gap:.65rem;min-height:4.4rem;min-width:0;padding:.7rem .8rem}.key-practice-rhythm-application-options label.selected{background:#eaf5f3;border-color:var(--teal);box-shadow:0 0 0 3px rgb(11 105 104/18%)}.key-practice-rhythm-application-options input{flex:0 0 auto;margin-top:.2rem;width:auto}.key-practice-rhythm-application-options span{display:grid;gap:.15rem;min-width:0}.key-practice-rhythm-application-options small{color:var(--muted);line-height:1.35}.key-practice-rhythm-application:disabled label{cursor:not-allowed;opacity:.68}.key-practice-rhythm-value-buttons{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}.key-practice-rhythm-value-button{align-items:center;align-content:center;display:grid;gap:.25rem;justify-items:center;min-height:7.75rem;min-width:0;padding:.55rem;text-align:center}.key-practice-rhythm-value-button span{font-size:.78rem;font-weight:650;opacity:.8}.key-practice-rhythm-builder progress{width:100%}.key-practice-notation-scroll{border:1px solid #d9e3e1;border-radius:8px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.key-practice-notation{background:#ffffff;min-height:13rem;min-width:47.5rem}.key-practice-note-choices,.key-practice-note-guide{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(3.2rem,1fr))}.key-practice-note-guide span{align-items:center;background:#f4f8f7;border:1px solid #c7d8d4;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:2.35rem;padding:.35rem}.key-practice-note-guide span.active{background:var(--gold);border-color:#ad7111;box-shadow:0 0 0 3px rgb(215 153 34/24%);color:#2b210e;transform:translateY(-2px)}.key-practice-challenge progress{width:100%}.key-practice-challenge-pulse{animation:key-practice-pulse .26s ease-out;background:var(--gold);border:2px solid #ad7111;border-radius:50%;box-shadow:0 0 0 0 rgb(215 153 34/35%);height:1.4rem;justify-self:center;width:1.4rem}@keyframes key-practice-pulse{0%{box-shadow:0 0 0 0 rgb(215 153 34/45%);transform:scale(.75)}70%{box-shadow:0 0 0 12px rgb(215 153 34/0);transform:scale(1.18)}to{box-shadow:0 0 0 0 rgb(215 153 34/0);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.key-practice-challenge-pulse{animation:none}}@media (max-width:680px){.key-practice-controls,.key-practice-controls-setup{grid-template-columns:1fr}.key-practice-action-row>.button,.key-practice-action-row>button,.key-practice-random-key{justify-content:center;width:100%}.key-practice-live-controls{grid-template-columns:1fr}.key-practice-rhythm-actions,.key-practice-rhythm-builder-heading{align-items:stretch;display:grid}.key-practice-rhythm-actions .button-row,.key-practice-rhythm-actions button,.key-practice-rhythm-builder-heading label{width:100%}.key-practice-rhythm-application-options{grid-template-columns:1fr}.key-practice-note-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}.aural-version-grid button{align-items:stretch;display:grid;gap:.45rem;min-width:0;padding:.65rem;text-align:left}.aural-version-grid button>strong{text-align:center}.aural-error-notation-scroll{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.aural-version-grid button.answer-correct{background:#e8f8ed;border-color:#19a44b;box-shadow:0 0 0 3px rgb(25 164 75/24%),0 0 18px rgb(25 164 75/48%);color:#105c2a}.aural-version-grid button.answer-incorrect{background:#fff0f0;border-color:#d92d20;box-shadow:0 0 0 3px rgb(217 45 32/22%),0 0 18px rgb(217 45 32/44%);color:#8f1710}.aural-version-grid button.answer-correct .aural-notation,.aural-version-grid button.answer-incorrect .aural-notation{background:#ffffff}.aural-position-grid button{font-size:1.05rem;justify-content:center;min-height:3.1rem;min-width:3.1rem}.aural-feedback{background:#fff4df;border:1px solid #e5b85e;border-radius:8px;color:#684307;font-weight:780;margin:0;min-height:3rem;padding:.75rem .9rem}.aural-feedback p{margin:0 0 .65rem}.aural-feedback p:only-child{margin:0}.aural-feedback.correct{background:#e4f6eb;border-color:#69aa7d;color:#155b2c}@media (max-width:820px){.aural-training-mode-row{grid-template-columns:repeat(2,minmax(0,1fr))}.aural-training-settings{align-items:stretch}.aural-training-settings,.aural-version-grid{grid-template-columns:1fr}.aural-notation-answer.melody{width:100%}.aural-melodic-setting-row{grid-template-columns:repeat(2,minmax(0,1fr))}.aural-test-complete,.aural-test-next,.aural-test-status{align-items:stretch;grid-template-columns:1fr}.aural-test-status progress{width:100%}.aural-plan-category-grid,.aural-plan-review-list{grid-template-columns:1fr}}@media (max-width:520px){.aural-training-mode-row{grid-template-columns:1fr}.aural-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aural-exercise-card>button{justify-self:stretch}.aural-melodic-setting-row,.aural-plan-overview,.aural-setting-option-grid{grid-template-columns:1fr}.aural-practice-plan-heading{align-items:stretch;flex-direction:column}.aural-clef-mode,.aural-clef-mode button,.aural-fixed-clef{width:100%}.aural-clef-option-grid{grid-template-columns:1fr}.aural-plan-print-button{width:100%}}@media print{.aural-practice-plan .aural-plan-print-button,.aural-training-shell:has(.aural-practice-plan)>:not(.aural-practice-plan),.page:has(.aural-practice-plan)>.page-header,body:has(.aural-practice-plan) .floating-practice-tools,body:has(.aural-practice-plan)>.prototype-banner,body:has(.aural-practice-plan)>header{display:none!important}.page:has(.aural-practice-plan),body:has(.aural-practice-plan),body:has(.aural-practice-plan) main{background:#ffffff!important;margin:0!important;max-width:none!important;padding:0!important}.aural-practice-plan{border:0!important;box-shadow:none!important;color:#000000;padding:8mm!important}.aural-plan-category-grid,.aural-plan-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.aural-plan-category-grid>article,.aural-plan-overview>div,.aural-plan-review-list>article{page-break-inside:avoid;break-inside:avoid}}.sight-reading-flow-horizontal{height:auto;max-height:none;overflow-x:auto;overflow-y:hidden}.sight-reading-flow-horizontal .sight-reading-notation{min-width:0}.sight-reading-ghost-key-signature{height:0;left:.35rem;pointer-events:none;position:sticky;top:0;width:0;z-index:6}.sight-reading-ghost-key-signature-part{left:0;opacity:.5;position:absolute;width:10rem}.sight-reading-ghost-part-name{background:rgba(255,255,255,.96);color:var(--ink);display:block;font-size:.875rem;line-height:1;padding:0;position:absolute;top:-1.25rem;white-space:nowrap;z-index:2}.sight-reading-ghost-key-signature-part .sight-reading-key-preview{background:linear-gradient(90deg,#ffffff 82%,rgba(255,255,255,0));box-shadow:.35rem 0 .75rem rgba(255,255,255,.94);opacity:1;transform:translateY(-1.75rem)}.sight-reading-flow-vertical{height:min(var(--sight-reading-content-height,58rem),76vh);height:min(var(--sight-reading-content-height,58rem),76dvh);max-height:min(76vh,58rem);max-height:min(76dvh,58rem);min-height:min(var(--sight-reading-content-height,20rem),20rem);overflow-x:auto;overflow-y:scroll}@media (orientation:landscape) and (max-height:600px){.sight-reading-sheet{gap:.55rem;padding:.65rem}.sight-reading-heading{font-size:.85rem;gap:.35rem .65rem}.sight-reading-heading strong{font-size:1rem}.sight-reading-svg-wrap.sight-reading-flow-horizontal,.sight-reading-svg-wrap.sight-reading-flow-vertical{height:min(var(--sight-reading-content-height,30rem),48vh);height:min(var(--sight-reading-content-height,30rem),48dvh);max-height:48vh;max-height:48dvh;min-height:0;overflow-x:auto;overflow-y:auto}}.sight-reading-line-mode{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.sight-reading-line-mode button{min-height:2.55rem;padding-inline:.7rem}.sight-reading-count-in{align-items:center;background:rgba(0,79,83,.92);border-radius:8px;color:#ffffff;display:flex;font-size:3rem;font-weight:900;inset:1.25rem auto auto 50%;justify-content:center;min-height:5rem;min-width:7.5rem;padding:.65rem 1.2rem;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:100030}.sight-reading-playhead{background:rgb(180 58 66/92%);border-radius:999px;box-shadow:0 0 0 1px rgb(255 255 255/92%),0 0 0 3px rgb(180 58 66/22%);left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:transform;width:5px;z-index:4}.sight-reading-playhead.flowing{transition:none}.sight-reading-playhead[data-playhead-mode=flowing]{box-shadow:0 0 0 1px rgb(255 255 255/92%);width:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sight-reading-page-background{fill:#ffffff}.sight-reading-bar-line,.sight-reading-ledger,.sight-reading-staff-line,.sight-reading-stem{stroke:#000000;stroke-linecap:square}.sight-reading-staff-line{stroke-width:2.4}.sight-reading-bar-line{stroke-width:2.8}.sight-reading-ledger{stroke-width:2.2}.sight-reading-stem{stroke-width:2.5}.sight-reading-clef{fill:#000000;font-family:Times New Roman,Noto Music,serif;font-weight:700;text-anchor:middle}.sight-reading-clef.treble{font-size:92px}.sight-reading-clef.bass{font-size:78px}.sight-reading-clef.percussion{font-size:64px}.sight-reading-accidental{fill:#000000;font-family:Times New Roman,Noto Music,serif;font-size:48px;text-anchor:middle}.sight-reading-time-signature{fill:#000000;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:900;text-anchor:middle}.sight-reading-note-head{fill:#000000;stroke:#000000;stroke-width:2}.sight-reading-note-head.open{fill:#ffffff;stroke-width:3}.sight-reading-rest-symbol{fill:#000000}.sight-reading-rest-text{fill:#000000;font-family:Times New Roman,Noto Music,serif;font-size:42px;text-anchor:middle}.sight-reading-flag{fill:none;stroke:#000000;stroke-linecap:round;stroke-width:3}.teacher-dashboard-page{gap:1.15rem}.dashboard-date-controls{align-items:end;display:grid;gap:.65rem;justify-items:end}.dashboard-date-form{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.dashboard-date-form label{min-width:10.5rem}.dashboard-date-form input{min-height:2.55rem}.dashboard-primary-actions{border-block:1px solid var(--line);justify-content:flex-start;padding-block:.85rem}.dashboard-mission-overview{background:#f5faf9;border:1px solid var(--line);border-radius:8px;padding:1rem}.dashboard-mission-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.dashboard-mission-heading h2{margin:.1rem 0 .25rem}.dashboard-mission-heading p:last-child{color:var(--muted);margin:0}.dashboard-mission-stats{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.9rem;padding-top:.8rem}.dashboard-mission-stats>div{display:grid;gap:.15rem;padding-inline:.8rem;text-align:center}.dashboard-mission-stats>div+div{border-left:1px solid var(--line)}.dashboard-mission-stats span{color:var(--muted);font-size:.78rem;font-weight:760}.dashboard-mission-stats strong{font-size:1.35rem}.dashboard-action-with-count>span{align-items:center;background:var(--red);border-radius:999px;color:#ffffff;display:inline-flex;font-size:.72rem;font-weight:900;justify-content:center;min-height:1.35rem;min-width:1.35rem;padding-inline:.32rem}.dashboard-day-heading{align-items:end;display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;justify-content:space-between}.dashboard-day-heading h2{margin:0}.dashboard-day-span{color:var(--muted);font-size:.9rem;font-weight:800;margin:0}.dashboard-summary-strip{background:#f8faf9;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(6,minmax(7rem,1fr))}.dashboard-summary-strip>div{align-content:center;display:grid;gap:.2rem;min-height:4.5rem;padding:.75rem 1rem}.dashboard-summary-strip>div+div{border-left:1px solid var(--line)}.dashboard-summary-strip span{color:var(--muted);font-size:.78rem;font-weight:760}.dashboard-summary-strip strong{font-size:1.3rem;line-height:1.1}.dashboard-summary-strip .needs-attention{background:#fff4db;color:#704900}.dashboard-summary-strip .cancelled-count{background:#fbe7e8;color:#912f38}.dashboard-day-changes{border-block:1px solid var(--line)}.dashboard-day-changes>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;min-height:3.4rem;padding:.65rem 0}.dashboard-day-changes>summary::-webkit-details-marker{display:none}.dashboard-day-changes>summary>span:first-child{align-items:center;display:inline-flex;font-weight:850;gap:.45rem}.dashboard-day-changes-body{display:grid;gap:.85rem;padding:0 0 1rem}.day-exception-list{display:grid;gap:.45rem}.day-exception-row{align-items:center;background:#f8faf9;border-left:4px solid #d69a12;display:flex;gap:1rem;justify-content:space-between;min-height:3.5rem;padding:.65rem .8rem}.day-exception-row.effect-cancelled{background:#fdf1f1;border-left-color:#bd3a46}.day-exception-row.effect-room-change{background:#edf6f5;border-left-color:var(--teal)}.day-exception-row>div{display:grid;gap:.14rem}.day-exception-row span{color:var(--muted);font-size:.78rem}.day-exception-form{align-items:end;border-top:1px solid var(--line);display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(9rem,1fr));padding-top:.9rem}.day-exception-note-field,.day-exception-title-field{grid-column:span 2}.day-exception-all-day{align-self:center}.teaching-day-item.is-cancelled{background:#faf7f7;border-left-color:#bd3a46}.teaching-day-item.is-cancelled .teaching-day-main>p,.teaching-day-item.is-cancelled .teaching-day-time{opacity:.68}.teaching-day-change-pills{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.cancelled-session-label{align-items:center;color:#912f38;display:inline-flex;font-size:.82rem;font-weight:820;gap:.35rem;white-space:nowrap}.dashboard-assessment-queue{border-block:1px solid var(--line)}.dashboard-assessment-queue>summary{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none;min-height:3.5rem;padding:.65rem 0}.dashboard-assessment-queue>summary::-webkit-details-marker{display:none}.dashboard-assessment-counts,.dashboard-assessment-queue>summary>span:first-child{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.dashboard-assessment-queue>summary>span:first-child{font-weight:850}.dashboard-assessment-list{border-top:1px solid var(--line);display:grid}.dashboard-assessment-list>a{align-items:center;color:var(--ink);display:grid;gap:.75rem;grid-template-columns:minmax(9rem,.75fr) minmax(12rem,1fr) minmax(16rem,1.5fr) auto;min-height:4rem;padding:.65rem 0;text-decoration:none}.dashboard-assessment-list>a+a{border-top:1px solid var(--line)}.dashboard-assessment-list>a:hover{background:#f8faf9}.dashboard-assessment-list span:not(.status-pill){display:grid;gap:.12rem;min-width:0}.dashboard-assessment-list small{color:var(--muted);font-size:.72rem;font-weight:720}.dashboard-assessment-list strong{font-size:.84rem;overflow-wrap:anywhere}.teaching-day-list{display:grid;gap:.75rem}.teaching-day-item{align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(6.7rem,.62fr) minmax(16rem,2fr) minmax(12.5rem,1fr) auto;padding:.95rem}.teaching-day-time{align-content:center;align-self:stretch;border-right:1px solid var(--line);display:grid;gap:.12rem;padding-right:1rem}.teaching-day-time strong{font-size:1.08rem}.teaching-day-time small,.teaching-day-time span{color:var(--muted);font-size:.78rem;font-weight:720}.teaching-day-main{min-width:0}.teaching-day-main h3{font-size:1.08rem;line-height:1.25;margin:.18rem 0;overflow-wrap:anywhere}.teaching-day-main>p{color:var(--muted);font-size:.85rem;margin:0}.teaching-day-kicker{align-items:center;color:var(--teal-dark);display:flex;flex-wrap:wrap;font-size:.72rem;font-weight:820;gap:.35rem .75rem;text-transform:uppercase}.teaching-day-kicker span{align-items:center;display:inline-flex;gap:.25rem}.teaching-day-attendance{align-content:center;display:grid;gap:.32rem}.teaching-day-attendance>strong{font-size:.92rem}.teaching-day-attendance>span{color:var(--muted);font-size:.76rem}.teaching-day-attendance>div{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.teaching-day-actions{display:grid;gap:.42rem;justify-items:stretch}.teaching-day-actions .button{justify-content:flex-start;white-space:nowrap}.teaching-day-roster{margin-top:.55rem}.teaching-day-roster summary{align-items:center;color:var(--teal-dark);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:820;gap:.3rem}.teaching-day-roster-list{border-top:1px solid var(--line);display:grid;margin-top:.55rem}.teaching-day-roster-list>div{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(7.5rem,1fr) minmax(7rem,1fr) auto;min-height:2.2rem;padding-block:.35rem}.teaching-day-roster-list>div+div{border-top:1px solid var(--line)}.teaching-day-roster-list a{font-weight:800}.teaching-day-roster-list>div>span:not(.status-pill){color:var(--muted);font-size:.78rem}.relief-handover-page{gap:1rem}.relief-handover-heading{align-items:end;border-bottom:2px solid var(--ink);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.8rem}.relief-handover-heading h2,.relief-handover-heading p{margin:0}.relief-handover-heading p{color:var(--muted);font-weight:760;margin-top:.2rem}.relief-date-form{align-items:end;display:flex;gap:.55rem}.relief-day-changes{background:#fff4db;border-left:4px solid #d69a12;display:grid;gap:.5rem;padding:.8rem 1rem}.relief-day-changes h3{margin:0}.relief-day-changes>div{display:grid;gap:.08rem}.relief-day-changes span{color:#704900;font-size:.8rem}.relief-session-list{display:grid;gap:.55rem}.relief-session{align-items:start;border:1px solid var(--line);border-left:4px solid var(--teal);display:grid;gap:.9rem;grid-template-columns:minmax(5.8rem,auto) minmax(13rem,1.2fr) minmax(13rem,1fr) auto;padding:.75rem}.relief-session.is-cancelled{background:#faf7f7;border-left-color:#bd3a46}.relief-session-roster,.relief-session-time{display:grid;gap:.14rem}.relief-session-main p,.relief-session-roster span,.relief-session-time span{color:var(--muted);font-size:.78rem}.relief-session-kicker{align-items:center;color:var(--teal-dark);display:flex;flex-wrap:wrap;font-size:.7rem;font-weight:820;gap:.25rem .65rem;text-transform:uppercase}.relief-session-kicker span,.relief-session-roster strong{align-items:center;display:inline-flex;gap:.25rem}.relief-session-main h3,.relief-session-main p{margin:0}.relief-session-main h3{font-size:1rem;margin-top:.16rem}.relief-handover-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;padding-top:.6rem;text-align:center}@media (max-width:1080px){.day-exception-form{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-day-item{grid-template-columns:minmax(6.5rem,.5fr) minmax(15rem,2fr) minmax(12rem,1fr)}.teaching-day-actions{display:flex;flex-wrap:wrap;grid-column:2/-1}.relief-session{grid-template-columns:minmax(5.8rem,auto) minmax(0,1fr) minmax(12rem,.9fr)}.relief-session>.status-pill{grid-column:2/-1;justify-self:start}.dashboard-assessment-list>a{grid-template-columns:minmax(8rem,.8fr) minmax(12rem,1fr) minmax(13rem,1.2fr)}.dashboard-assessment-list>a>.status-pill{grid-column:2/-1;justify-self:start}}@media (max-width:760px){.dashboard-mission-heading{align-items:stretch;flex-direction:column}.dashboard-mission-heading .button{justify-content:center}.dashboard-mission-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-mission-stats>div+div{border-left:0}.dashboard-mission-stats>div:nth-child(2n){border-left:1px solid var(--line)}.dashboard-mission-stats>div:nth-child(n+3){border-top:1px solid var(--line);padding-top:.65rem}.dashboard-date-controls{justify-items:stretch;width:100%}.dashboard-date-controls .quick-links,.dashboard-date-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.dashboard-date-controls .button,.dashboard-date-form button{justify-content:center;min-width:0}.dashboard-date-form label{grid-column:1/3;min-width:0}.dashboard-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-strip>div+div{border-left:0}.dashboard-summary-strip>div:nth-child(2n){border-left:1px solid var(--line)}.dashboard-summary-strip>div:nth-child(n+3){border-top:1px solid var(--line)}.teaching-day-item{align-items:start;grid-template-columns:minmax(5.8rem,auto) minmax(0,1fr)}.teaching-day-main{align-self:center}.teaching-day-actions,.teaching-day-attendance{grid-column:1/-1}.teaching-day-attendance{border-top:1px solid var(--line);padding-top:.75rem}.teaching-day-actions{display:grid;grid-template-columns:1fr}.teaching-day-actions .button{justify-content:center}.day-exception-form{grid-template-columns:1fr}.day-exception-note-field,.day-exception-title-field{grid-column:auto}.day-exception-row{align-items:stretch;flex-direction:column}.day-exception-row button,.day-exception-row form{width:100%}.relief-date-form,.relief-handover-heading{align-items:stretch;display:grid;grid-template-columns:1fr}.relief-session{grid-template-columns:minmax(5.3rem,auto) minmax(0,1fr)}.relief-session-roster,.relief-session>.status-pill{grid-column:1/-1}.dashboard-assessment-queue>summary{align-items:flex-start;flex-direction:column}.dashboard-assessment-list>a{grid-template-columns:1fr}.dashboard-assessment-list>a>.status-pill{grid-column:auto}.practice-calendar-controls{grid-template-columns:1fr}.practice-calendar-panel .collapsible-panel-content{min-width:0;overflow-x:visible;width:100%}.practice-calendar{gap:.2rem;min-width:0;width:100%}.practice-calendar-day{border-radius:4px;min-height:3.7rem;min-width:0;overflow:hidden}.practice-calendar-day>span{font-size:.8rem;height:1.7rem;width:1.7rem}.practice-calendar-day small{font-size:.58rem;line-height:1.15;overflow-wrap:anywhere}.metronome-accent-editor,.metronome-controls,.metronome-custom-signature-inputs,.metronome-display,.metronome-playlist-storage,.metronome-random-tempo,.metronome-signature-library,.metronome-tempo-controls,.practice-activity-routine-grid,.routine-exercise-picker,.routine-total-row,.sight-reading-pitch-range-visual,.tuner-history-seconds,.tuner-level-row,.tuner-metronome-grid,.tuner-visual-grid{grid-template-columns:1fr}.sight-reading-settings-group>summary{align-items:flex-start;flex-direction:column;gap:.15rem}.sight-reading-pitch-range-visual{justify-items:stretch}.sight-reading-vertical-slider-control{grid-template-columns:auto auto minmax(8rem,1fr) auto;justify-items:start;min-height:0}.sight-reading-vertical-slider{appearance:auto;direction:ltr;height:auto;width:100%!important;writing-mode:horizontal-tb}.sight-reading-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sight-reading-symbol-button{min-width:0}.sight-reading-key-preview{max-width:100%;transform:scale(.86);transform-origin:center}.practice-bingo-cell{font-size:var(--practice-bingo-body-size,.74rem);padding:var(--practice-bingo-cell-padding,.45rem)}.music-library-meta{grid-template-columns:1fr}.student-view-shell{padding-inline:.65rem}.player-view-shell{min-width:0;padding-inline:0;width:100%}.player-view-shell fieldset,.player-view-shell>*{max-width:100%;min-inline-size:0}.player-view-shell .page,.player-view-shell .student-navigation{width:100%}.student-view-header{align-items:stretch;flex-direction:column;gap:.55rem;position:static}.student-view-header button,.student-view-header form{width:100%}.student-view-header button{min-height:2.75rem}.smart-practice-status{align-items:stretch;grid-template-columns:1fr}.smart-practice-status>button{min-height:2.75rem;width:100%}.smart-practice-status-message,.smart-practice-status-note{grid-column:1}.student-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.student-nav-link,.student-nav-menu{width:100%}.student-nav-link{background:#f4f8f7;border-color:var(--line);border-radius:8px;padding-inline:.55rem;text-align:center}.student-nav-dropdown{max-width:calc(100vw - 1.3rem);width:min(20rem,calc(100vw - 1.3rem))}.student-nav-menu:nth-child(2n) .student-nav-dropdown{left:auto;right:0}.floating-practice-tools-launcher>button:last-child{min-height:3rem;min-width:3rem;padding:.55rem;width:3rem}.floating-practice-tools-launcher>button:last-child>span{display:none}.public-profile-page .public-profile-hero,.student-profile-page .public-profile-hero{align-items:stretch;flex-direction:column}.public-profile-page .public-profile-hero h1,.student-profile-page .public-profile-hero h1{font-size:2.25rem;overflow-wrap:anywhere}.student-overview-metrics,.student-summary-links{grid-template-columns:1fr}.student-streak-spotlight{align-items:start;grid-template-columns:auto minmax(0,1fr)}.student-streak-actions{grid-column:1/-1;grid-template-columns:auto auto minmax(0,1fr);justify-items:start;min-width:0;width:100%}.student-streak-actions>span{margin:0 0 0 .35rem}.student-streak-actions .button{justify-self:end}.student-piece-list li,.student-position-row,.student-progress-item{align-items:start;grid-template-columns:1fr}.student-piece-list li{grid-template-columns:2rem minmax(0,1fr)}.student-piece-list li>span:last-child{grid-column:2;justify-self:start}.student-table-wrap{overflow-x:auto}.student-table-wrap table{display:table;min-width:34rem}.student-table-wrap thead{display:table-header-group}.student-table-wrap tbody{display:table-row-group}.student-table-wrap tr{border:0;display:table-row;margin:0;padding:0}.student-table-wrap td,.student-table-wrap th{display:table-cell;min-width:0;padding:.65rem;width:auto}.relief-handover-page{color:#000000;font-size:9pt;gap:4mm}.relief-handover-page .page-header{border:0;box-shadow:none;padding:0}.relief-session{page-break-inside:avoid;break-inside:avoid;gap:3mm;grid-template-columns:22mm 1fr 1fr auto;padding:3mm}.relief-session-list{gap:2mm}.relief-day-changes{page-break-inside:avoid;break-inside:avoid;padding:3mm}}.equipment-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.equipment-filter-panel{width:100%}.equipment-filter-form{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(15rem,2fr) repeat(3,minmax(9rem,1fr)) auto}.equipment-search-field{min-width:0}.equipment-action-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.equipment-action-grid>details{width:100%}.equipment-status{border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:850;padding:.25rem .55rem;white-space:nowrap}.equipment-status-available{background:#e6f4ea;color:var(--green)}.equipment-status-on-loan{background:#e8eef7;color:var(--blue)}.equipment-status-out-of-service,.equipment-status-overdue{background:#f9e4e6;color:var(--red)}.equipment-status-maintenance,.equipment-status-needs-repair,.equipment-status-service-due{background:#fff1d7;color:#876008}.equipment-status-archived{background:#edf0ef;color:var(--muted)}.equipment-table-wrap{overflow-x:auto}.equipment-table{min-width:72rem}.equipment-table td>small,.equipment-table td>strong{display:block}.equipment-table td>small{color:var(--muted);margin-top:.18rem}.equipment-row-attention{background:#fffafa}.equipment-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.equipment-edit-details{min-width:0;position:relative}.equipment-edit-details>summary{align-items:center;background:#edf5f4;border:1px solid var(--line);border-radius:8px;color:var(--teal-dark);display:inline-flex;min-height:2.1rem;padding:.42rem .65rem}.equipment-inline-form{background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem;position:absolute;right:0;top:calc(100% + .35rem);width:min(38rem,calc(100vw - 4rem));z-index:45}.equipment-inline-form .wide,.equipment-inline-form>button{grid-column:1/-1}.equipment-loan-grid,.equipment-maintenance-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));width:100%}.equipment-loan-card,.equipment-maintenance-card{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:.8rem;padding:.9rem}.equipment-loan-card.is-overdue{border-color:#e0a8ad}.equipment-loan-card h3,.equipment-maintenance-card h3{margin-top:.45rem}.equipment-return-form{border-top:1px solid var(--line);display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:.8rem}.equipment-return-form .wide,.equipment-return-form>button{grid-column:1/-1}.equipment-history-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.equipment-history-grid>section{min-width:0}@media (max-width:1100px){.equipment-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-action-grid,.equipment-history-grid{grid-template-columns:1fr}.equipment-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-filter-form>button{align-self:end}}@media (max-width:760px){.equipment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-metrics .metric:last-child{grid-column:1/-1}.equipment-filter-form,.equipment-inline-form,.equipment-return-form{grid-template-columns:1fr}.equipment-filter-form>button,.equipment-inline-form .wide,.equipment-inline-form>button,.equipment-return-form .wide,.equipment-return-form>button{grid-column:auto}.equipment-inline-form{margin-top:.55rem;position:static;width:100%}.equipment-table{min-width:0}}@media print{.equipment-page .equipment-action-grid,.equipment-page .equipment-filter-panel,.equipment-page .equipment-history-grid,.equipment-page .equipment-loan-grid,.equipment-page .equipment-maintenance-grid,.equipment-page .equipment-row-actions,.equipment-page .page-header .quick-links,.equipment-page .toast-message,.equipment-page>details:not(.equipment-register-panel){display:none!important}.equipment-page .equipment-register-panel{border:0;box-shadow:none;padding:0}.equipment-page .equipment-table{font-size:8pt;min-width:100%}body:has(.stage-plan-panel) .stage-plan-panel{border:0;box-shadow:none;padding:0}body:has(.stage-plan-panel) .stage-plan-workspace{grid-template-columns:1fr}body:has(.stage-plan-panel) .stage-plan-sheet{border-color:#000000}body:has(.stage-plan-panel) .stage-plan-canvas-frame{--stage-plan-canvas-height:165mm;--stage-plan-canvas-width:250mm;--stage-plan-zoom:1!important;height:165mm!important;min-width:250mm!important}body:has(.stage-plan-panel) .stage-plan-canvas{--stage-plan-canvas-height:165mm;--stage-plan-canvas-width:250mm;height:165mm!important;min-height:165mm;min-width:250mm;transform:none!important;width:250mm!important}.student-report-page{background:#ffffff!important;color:#000000;padding:0}.student-report-page .page-header,.student-report-page .panel{box-shadow:none}.student-report-page .panel{border:1px solid #000000;margin-bottom:8mm}.student-report-page .metrics{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.performance-scheduling{display:grid;gap:1rem}.performance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.performance-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:.9rem;margin-top:1rem}.performance-event-card{display:grid;align-content:start;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.performance-copy-action,.performance-event-card-heading,.performance-event-card-heading>div,.performance-form-section legend,.performance-lifecycle-actions,.performance-save-bar,.performance-save-bar p{display:flex;align-items:center;gap:.55rem}.performance-event-card-heading{align-items:flex-start;justify-content:space-between}.performance-event-card-heading>div,.performance-save-bar p{align-items:flex-start;flex-direction:column;gap:.15rem}.performance-communication-timeline h3,.performance-email-preview h3,.performance-event-card h3,.performance-information-sheet-preview h3,.performance-running-order h3{margin:0}.performance-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}.performance-event-facts>div{min-width:0;padding:.6rem .7rem;border-radius:12px;background:var(--surface-muted)}.performance-event-facts dt{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.performance-event-facts dd{margin:.18rem 0 0;overflow-wrap:anywhere;font-weight:700}.performance-needs-details,.performance-ready{margin:0;padding:.55rem .7rem;border-radius:10px;font-weight:750}.performance-ready{color:var(--success-text,#246143);background:var(--success-soft,#e9f7ef)}.performance-needs-details{color:var(--warning-text,#765000);background:var(--warning-soft,#fff5d9)}.performance-lifecycle-actions{flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--line)}.performance-form-section,.performance-planner-form{display:grid;gap:1rem}.performance-planner-form{margin-top:1rem}.performance-form-section{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface-muted)}.performance-form-section legend{padding:0 .4rem;color:var(--ink);font-size:1rem;font-weight:850}.performance-equipment-grid,.performance-option-list,.performance-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.55rem}.performance-equipment-grid label,.performance-option-list label,.performance-roster-grid label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.performance-equipment-grid label:has(input[type=number]){grid-template-columns:auto minmax(0,1fr) 4rem}.performance-equipment-grid label span,.performance-option-list label span,.performance-roster-grid label span{display:grid;min-width:0}.performance-equipment-grid small,.performance-option-list small,.performance-roster-grid small{color:var(--muted)}.performance-equipment-grid .has-warning{border-color:var(--warning-border,#ddbd62);background:var(--warning-soft,#fff7df)}.performance-communication-layout,.performance-repertoire-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:1rem;align-items:start}.performance-communication-timeline,.performance-email-preview,.performance-information-sheet-preview,.performance-running-order{display:grid;gap:.65rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.performance-running-order>div{display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.performance-running-order>div:last-child{border-bottom:0}.performance-communication-timeline>button{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface-muted);text-align:left}.performance-communication-timeline>button.is-active{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 16%,transparent);background:color-mix(in srgb,var(--teal) 7%,var(--surface))}.performance-communication-timeline>button span:first-child{display:grid}.performance-communication-timeline small,.performance-copy-action small{color:var(--muted)}.performance-timing{max-width:12rem;color:var(--muted);font-size:.77rem;font-weight:750;text-align:right}.performance-timing.timing-due-now,.performance-timing.timing-due-today{color:var(--warning-text,#765000)}.performance-email-preview textarea{min-height:22rem}.performance-information-sheet-preview pre{margin:0;font:inherit;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.performance-save-bar{position:sticky;z-index:4;bottom:.75rem;justify-content:space-between;padding:.85rem;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgb(20 45 42/12%);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.performance-save-bar p{margin:0}.performance-save-bar p span{color:var(--muted);font-size:.84rem}@media (max-width:850px){.performance-communication-layout,.performance-repertoire-layout,.performance-summary-grid{grid-template-columns:1fr}.performance-save-bar{position:static;align-items:stretch;flex-direction:column}.performance-save-bar button{width:100%}}@media (max-width:560px){.performance-equipment-grid,.performance-event-facts,.performance-option-list,.performance-roster-grid{grid-template-columns:1fr}.performance-communication-timeline>button,.performance-event-card-heading{align-items:flex-start;flex-direction:column}.performance-timing{max-width:none;text-align:left}}.rng-bonus-backdrop{align-items:center;background:rgb(9 18 31/78%);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:99990}.rng-bonus-dialog{background:var(--surface,#fffdf8);border:2px solid #d99a18;border-radius:1.4rem;box-shadow:0 24px 70px rgb(0 0 0/35%);max-height:calc(100dvh - 2rem);max-width:46rem;overflow-x:hidden;overflow-y:scroll;padding:clamp(1rem,3vw,2rem);width:100%}.rng-bonus-heading-row,.rng-bonus-progress{align-items:center;display:flex;gap:1rem;justify-content:space-between}.rng-bonus-heading-row h2{margin:0}.rng-bonus-status{background:#fff6d8;border-left:4px solid #d99a18;border-radius:.55rem;margin:1rem 0;padding:.75rem 1rem}.rng-wheel-wrap{aspect-ratio:1;margin:1.5rem auto;max-width:25rem;position:relative;width:min(80vw,25rem)}.rng-wheel-pointer{border-left:16px solid transparent;border-right:16px solid transparent;border-top:30px solid #172033;filter:drop-shadow(0 2px 2px rgb(0 0 0/25%));left:50%;position:absolute;top:-.55rem;transform:translateX(-50%);z-index:2}.rng-wheel{--rng-segments:6;background:repeating-conic-gradient(from 0deg,#0f766e 0deg calc(1turn / var(--rng-segments)),#d99a18 calc(1turn / var(--rng-segments)) calc(2turn / var(--rng-segments)));border:.75rem solid #fff;border-radius:50%;box-shadow:0 0 0 5px #172033,inset 0 0 0 3px rgb(255 255 255/50%);height:100%;position:relative;transition:transform 5s cubic-bezier(.12,.72,.08,1);width:100%}.rng-wheel[data-segments="3"]{background:conic-gradient(#0f766e 0deg 120deg,#d99a18 120deg 240deg,#6654a2 240deg 1turn)}.rng-wheel:after{background:#fffdf8;border:5px solid #172033;border-radius:50%;content:"♩";display:grid;font-size:2rem;height:4.5rem;inset:50% auto auto 50%;place-items:center;position:absolute;transform:translate(-50%,-50%);width:4.5rem}.rng-wheel-label{color:#fff;font-size:clamp(.65rem,2vw,.9rem);font-weight:800;left:50%;max-width:7.5rem;position:absolute;text-align:center;text-shadow:0 1px 2px #000;top:50%;transform:rotate(calc((var(--rng-index) + .5) * 1turn / var(--rng-segments))) translateY(-9rem);transform-origin:0 0}.rng-bonus-challenge{margin-top:1rem}.rng-bonus-progress{border-bottom:1px solid var(--border,#d7ddd9);margin-bottom:1rem;padding-bottom:.7rem}.rng-bonus-progress span{color:var(--muted,#5c6772)}.rng-aural-player{background:#f3f7f6;border-radius:1rem;margin:1rem 0;padding:1rem;text-align:center}.rng-aural-player audio{max-width:100%;width:24rem}.rng-answer-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.rng-answer-grid button{min-height:3.25rem}.rng-bonus-result{border-radius:1rem;padding:1.25rem;text-align:center}.rng-bonus-result.success{background:#e8f6ef}.rng-bonus-result.try-again{background:#fff6e8}.rng-score{align-items:baseline;display:flex;gap:.7rem;justify-content:center}.rng-score strong{font-size:2.4rem}@media (max-width:560px){.rng-answer-grid{grid-template-columns:1fr}.rng-wheel-label{transform:rotate(calc((var(--rng-index) + .5) * 1turn / var(--rng-segments))) translateY(-34vw)}}@media (prefers-reduced-motion:reduce){.rng-wheel{transition:none}}.golden-crotchet-attendance-controls{border-top:1px solid var(--line);display:grid;gap:.65rem;margin-top:.65rem;min-width:0;padding-top:.65rem}.golden-crotchet-attendance-controls details .quick-links,.golden-crotchet-attendance-controls>.quick-links{align-items:end}.golden-crotchet-attendance-controls select{min-width:min(15rem,100%);width:auto}.golden-crotchet-attendance-controls details{background:#f8fbfa;border:1px solid var(--line);border-radius:8px;min-width:0;padding:.55rem .7rem}.golden-crotchet-attendance-controls details>summary{align-items:center;color:var(--teal-dark);cursor:pointer;display:flex;font-weight:800}.golden-crotchet-attendance-controls details[open]>summary{margin-bottom:.65rem}@media (max-width:1100px){.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap) table:not(.attendance-matrix-table):not(.leaderboard-table) td[data-label]{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(6.5rem,.35fr) minmax(0,1fr)}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap) table:not(.attendance-matrix-table):not(.leaderboard-table) td[data-label]:before{color:var(--muted);content:attr(data-label);font-size:.72rem;font-weight:900;letter-spacing:.03em;overflow-wrap:anywhere;text-transform:uppercase}}@media (min-width:761px) and (max-width:1180px){.site-header>nav{display:none}.mobile-nav-menu{display:block;grid-column:1/-1;grid-row:2;min-width:0;position:relative;width:100%;z-index:1030}.mobile-nav-menu>summary{justify-content:center;min-height:2.75rem;position:relative;width:100%;z-index:1045}.mobile-nav-panel{left:0;margin-top:.4rem;max-height:calc(100dvh - 11rem);overflow-y:auto;overscroll-behavior:contain;position:absolute;right:0;scrollbar-gutter:stable;top:100%;width:100%;z-index:1040}.mobile-nav-menu[open]:before{background:rgba(23,32,42,.12);content:"";inset:0;position:fixed;z-index:1035}.mobile-nav-category>summary,.mobile-nav-panel a{min-height:2.75rem}}@media (max-width:900px){.header-daily-review-button,.header-signout-button,.header-tools .compact-button,.notification-bell>summary,.school-context-button,.session-identity{min-height:2.75rem}.header-signout-button,.notification-bell>summary{min-width:2.75rem}main :is(button,.button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select){min-height:2.75rem}main .icon-button{min-width:2.75rem;width:2.75rem}main .check-row,main .icon-button,main details>summary{min-height:2.75rem}main .check-row{cursor:pointer;padding-block:.3rem}.golden-crotchet-attendance-controls details .quick-links,.golden-crotchet-attendance-controls>.quick-links{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr);width:100%}.golden-crotchet-attendance-controls :where(select,label,input,button){min-width:0;width:100%}}@media (max-width:520px){.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap) table:not(.attendance-matrix-table):not(.leaderboard-table) td[data-label]{gap:.25rem;grid-template-columns:minmax(0,1fr)}}.page-header-actions{align-items:center;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:.65rem;max-width:100%;min-width:0}.page-header-actions,.page-header-actions>.quick-links{justify-content:flex-end}:where(h1,h2,h3)[id]{scroll-margin-top:7rem}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-nav-menu>button svg{transition:transform .16s ease}.student-nav-menu>button[aria-expanded=true] svg{transform:rotate(180deg)}.student-nav-dropdown{border-radius:10px;max-height:min(28rem,calc(100dvh - 8rem));overflow-y:auto;overscroll-behavior:contain}.student-nav-dropdown a{align-items:center;display:flex;min-height:2.75rem}.student-nav-menu-end .student-nav-dropdown{left:auto;right:0}@media (max-width:1100px){.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table){display:table;min-width:max-content;width:100%}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table) thead{display:table-header-group}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table) tbody{display:table-row-group}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table) tfoot{display:table-footer-group}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table) tr{border:0;border-radius:0;display:table-row;margin:0;padding:0}.table-wrap:not(.attendance-matrix-wrap):not(.leaderboard-table-wrap):not(.student-roster-table-wrap):not(:has(td[data-label])) table:not(.attendance-matrix-table):not(.leaderboard-table) :is(th,td){display:table-cell;min-width:0;width:auto}}@media (max-width:900px){.page-header-actions,.page-header-actions>.quick-links{justify-content:flex-start;width:100%}.mobile-nav-category>summary,.mobile-nav-panel a{min-height:2.75rem}.settings-saved-dialog,.upload-started-dialog{left:.75rem;right:.75rem;text-align:center}}@media (max-width:640px) and (orientation:portrait){.header-account-actions{grid-template-columns:repeat(2,2.75rem)}.header-account-actions .button,.header-signout-button,.notification-bell>summary{min-width:2.75rem}}@media (max-width:520px){.accessibility-preferences-menu{bottom:max(4.5rem,calc(env(safe-area-inset-bottom) + 4.5rem));left:.75rem;max-height:calc(100dvh - 5.25rem - env(safe-area-inset-top));overflow-y:auto;position:fixed;right:.75rem;width:auto}.page-header-actions>.quick-links,.page-header-actions>:is(a.button,button),.page-header-actions>form,.page-header-actions>form>button{width:100%}.page-header-actions>.quick-links>:is(a.button,button){flex:1 1 10rem}.sight-reading-key-grid{grid-template-columns:1fr}.sight-reading-key-preview{transform:none}}.student-practice-history{margin-top:1.5rem}.student-practice-history-list{display:grid;gap:.75rem}.student-practice-history-row{align-items:center;border:1px solid var(--border);border-radius:.9rem;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.student-practice-history-row p,.student-practice-history-row small{display:block;margin:.2rem 0 0}.student-practice-history-editor{align-items:end;display:flex;flex-wrap:wrap;gap:.55rem}.student-practice-history-editor label{font-size:.82rem;font-weight:700}.student-practice-history-editor input{display:block;margin-top:.25rem;max-width:6rem}@media (max-width:680px){.student-practice-history-row{align-items:stretch;flex-direction:column}.student-practice-history-editor>button{flex:1 1 9rem}}.check-in-auto-save-status{color:var(--muted);font-size:.82rem;font-weight:700;min-width:10rem}.check-in-auto-save-status.saved{color:var(--success,#237a52)}.check-in-auto-save-status.failed{color:var(--danger,#b4232f)}