@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap);@font-face{font-display:swap;font-family:Noto Music;font-style:normal;font-weight:400;src:url(/static/media/NotoMusic-Regular.197cc929ad05cf730b94.ttf) format("truetype")}.piano-keyboard{-ms-overflow-style:none;align-items:flex-end;background:#222;border:0;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-end;line-height:0;margin-top:0;overflow-x:auto;overflow-y:hidden;padding:0;position:relative;scrollbar-width:none;-webkit-user-select:none;user-select:none}.piano-keyboard::-webkit-scrollbar{display:none;height:0}.black-keys,.white-keys{display:flex;position:relative}.key{overflow:hidden;position:relative;z-index:1}.key.white{background:#fff;border:1px solid #bdbdbd;border-radius:3px;box-shadow:inset 0 -1px 2px #0000001f,0 1px 1px #00000026;height:100%;transition:background .2s ease,box-shadow .2s ease,transform .08s ease;width:36px}.key.white:after{background:linear-gradient(180deg,#ffffffb3,#fff0);border-radius:3px 3px 0 0;content:"";height:22%;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.key.white:active{transform:translateY(1px)}.key.black{background:#000;border:1px solid #1c1c1c;border-radius:3px;box-shadow:inset 0 -1px 2px #ffffff14,0 2px 4px #00000073;height:58%;margin-left:-10px;position:absolute;top:0;transform:translateX(-2px);transition:background .2s ease,box-shadow .2s ease,transform .08s ease;width:20px;z-index:2}.key.black:after{background:linear-gradient(180deg,#ffffff59,#fff0);border-radius:3px 3px 0 0;content:"";height:26%;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.key.black:active{transform:translateX(-2px) translateY(1px)}.black-keys .key.black{margin-right:26px}.key:before{border-radius:4px;content:"";inset:0;mix-blend-mode:multiply;opacity:0;pointer-events:none;position:absolute;transition:opacity 80ms linear;z-index:5}.key.white.left-active:before{background:#ff000059;box-shadow:inset 0 0 12px #ff000073,0 0 10px #ff000059;opacity:1}.key.white.right-active:before{background:#1565c059;box-shadow:inset 0 0 12px #1565c073,0 0 10px #1565c059;opacity:1}.key.white.left-active.right-active:before{background:linear-gradient(180deg,#1565c059 0 50%,#ff000059 50% 100%);box-shadow:inset 0 0 12px #1565c073,inset 0 0 12px #ff000073;opacity:1}.key.black:before{border-radius:3px;mix-blend-mode:screen}.key.black.left-active:before{background:#ff00008c;opacity:1}.key.black.right-active:before{background:#1565c08c;opacity:1}.key.black.left-active.right-active:before{background:linear-gradient(180deg,#1565c099 0 50%,#f009 50% 100%);opacity:1}.key.active{box-shadow:inset 0 0 6px #ffffff40}@keyframes practisio-key-retrigger{0%,45%{opacity:0}to{opacity:1}}.key-fill-retrigger{animation:practisio-key-retrigger 55ms linear both}.key.white.active{box-shadow:inset 0 -1px 3px #00000047,0 1px 2px #00000040}.key.black.active{box-shadow:inset 0 -1px 2px #ffffff1f,0 1px 3px #00000080}.key:after{content:none!important}.key .active-dot,.key .activeNote,.key .dot,.key .indicator,.key .marker,.key .note-dot,.key .noteIndicator,.key:after{display:none!important}.key,.key.active{background-image:none!important;background-position:0 0!important;background-repeat:repeat!important}.key [class*=dot],.key [class*=indicator],.key [class*=marker],.key>.active-dot,.key>.activeNote,.key>.dot,.key>.indicator,.key>.marker,.key>.note-dot,.key>.noteIndicator{display:none!important}.key.active:after,.key:after{content:none!important;display:none!important}.key.has-middle-c{isolation:isolate}.key.has-middle-c .mc-badge{background:red;border-radius:999px;bottom:6px;box-shadow:0 1px 4px #00000059;color:#fff;font-family:inherit;font-size:10px;font-weight:700;left:50%;letter-spacing:.3px;line-height:1;padding:2px 6px;pointer-events:none;position:absolute;text-transform:none;transform:translateX(-50%);z-index:8}.key.black.has-middle-c .mc-badge{bottom:auto;top:4px}.key.white.middle-c-tint:not(.left-active):not(.right-active):before{background:#ff8c0040;mix-blend-mode:multiply;opacity:1}.key.black.middle-c-tint:not(.left-active):not(.right-active):before{background:#ffc87899;mix-blend-mode:screen;opacity:1}.key.has-middle-c.left-active .mc-badge,.key.has-middle-c.left-active .mc-outline,.key.has-middle-c.right-active .mc-badge,.key.has-middle-c.right-active .mc-outline{opacity:1;z-index:8}.coach-progress-meter{grid-gap:3px;display:grid;font-size:.75rem;gap:3px;grid-template-rows:19px 6px 18px;height:49px;margin:.6rem 0}.coach-progress-meter small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-progress-meter__track{background:#d6e7f4;border-radius:8px;display:block;height:6px}.student-overview__assignment-card .coach-progress-meter{color:#fff;grid-template-rows:19px 8px 18px;height:51px}.student-overview__assignment-card .coach-progress-meter__track{background:#ffffff2e;height:8px}.coach-progress-meter>div{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.coach-progress-meter progress{accent-color:#0870d1;-webkit-appearance:none;appearance:none;background:#d6e7f4;border:0;border-radius:8px;display:block;height:6px;overflow:hidden;width:100%}.coach-progress-meter progress::-webkit-progress-bar{background:#d6e7f4;border-radius:8px}.coach-progress-meter progress::-webkit-progress-value{background:#0870d1;border-radius:8px}.coach-progress-meter progress::-moz-progress-bar{background:#0870d1;border-radius:8px}.coach-progress-meter small,.coach-progress-meter__status{font-size:.68rem}.student-overview__assignment-card .coach-progress-meter progress::-webkit-progress-value{background:#fff}.student-overview__assignment-card .coach-progress-meter progress::-moz-progress-bar{background:#fff}.student-overview__assignment-card .coach-progress-meter progress{accent-color:#fff;background:#ffffff2e;height:8px}.student-overview__assignment-card .coach-progress-meter progress::-webkit-progress-bar{background:#0000}.student-overview__card-topline>.student-overview__wordmark.brand-title{color:#fff;font-family:Manrope,DM Sans,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.025em;text-transform:none}.student-homework-card .coach-progress-meter{color:#145b94;max-width:440px}.student-homework-action-row .homework-open-player{align-self:center;flex:0 0 auto;justify-content:flex-start;max-width:100%;width:208px}.student-homework-action-row .homework-open-coach{background:linear-gradient(155deg,#fff,#e9f5ff 37%,#bbd4e9 50%,#edf7ff 66%,#d6e8f5);border:1px solid #9cbbd4;box-shadow:inset 0 1px 1px #fff,inset 0 -2px 3px #133e651f,0 5px 12px #164d7c2e;color:#123e66}.student-homework-action-row .homework-open-coach:hover{background:linear-gradient(155deg,#fff,#cde4f7 48%,#f3faff 66%,#deedf8);color:#123e66}.homework-open-coach .homework-open-player__icon{background:#ffffffd9;color:#145b94;padding:0}.student-homework-action-row{flex-wrap:wrap}.student-homework-action-row .student-homework-quick-stats{flex-basis:380px}.coach-score-feedback{background:#f0f7fc;border-radius:12px;color:#18334e;font-size:14px;padding:8px 12px}.coach-score-feedback>div{display:flex;flex-wrap:wrap;gap:16px}.coach-score-feedback p{margin:6px 0 0;min-height:1.4em}.coach-key.clean{color:#16856c}.coach-key.timing{color:#986000}.coach-key.error{color:#c02c40}.coach-inline-review .performance-modal{box-shadow:none;box-sizing:border-box;margin:0;max-height:none;max-width:none;padding:12px 44px 12px 16px;position:relative;width:100%}.coach-inline-review .performance-review{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px}.coach-inline-review .performance-analysis-preview{flex:1 1 280px;margin:0}.coach-inline-review .performance-description,.coach-inline-review .performance-kicker,.coach-inline-review .performance-privacy-note,.coach-inline-review .performance-review>p,.coach-inline-review h1{display:none}.coach-inline-review .performance-discard,.coach-inline-review .performance-primary{margin:0;width:auto}.coach-inline-review .coach-evaluation-summary{gap:4px}.coach-result-meters{display:flex;gap:14px}.coach-result-meters label{grid-gap:3px;display:grid;flex:1 1;font-size:12px;gap:3px;min-width:0}.coach-result-meters progress{accent-color:#168df4;height:7px;width:100%}.coach-workspace .coach-progress{font-size:13px;gap:6px 12px;margin-bottom:8px;padding:8px 12px}.coach-workspace .coach-progress>div:first-child{gap:6px 12px}.coach-stage-details{position:relative}.coach-stage-details summary{color:#376585;cursor:pointer;font-size:12px}.coach-stage-details[open]{flex-basis:100%}.coach-stage-details small{display:block;margin-top:5px}.coach-inline-review .performance-modal{align-items:center;border-radius:10px;display:flex;flex-wrap:wrap;gap:6px 12px;padding:6px 12px}.coach-inline-review .performance-status{font-size:12px;margin:0;padding:0}.coach-inline-review .performance-modal-close{display:none}.coach-inline-review .performance-review{gap:6px 12px}.coach-inline-review button{font-size:13px;min-height:40px}.coach-inline-review .coach-retry-button{background:#fff;border:1.5px solid #0875c9;border-radius:9px;color:#075c9e;cursor:pointer;font-weight:600;min-height:44px;padding:8px 16px}.coach-inline-review .coach-retry-button:hover{background:#e8f4ff}.coach-inline-review .coach-retry-button:active{background:#d6ecff}.coach-inline-review .coach-retry-button:focus-visible{outline:3px solid #168df4;outline-offset:3px}.coach-inline-review .performance-error,.coach-inline-review .performance-warning{flex-basis:100%;margin:0}.coach-review-heading{align-items:center;font-size:13px}.coach-review-heading button{background:#0875c9;border:1px solid #1489df;border-radius:8px;color:#fff;cursor:pointer;margin-left:auto;padding:8px 12px}.coach-review-heading button:disabled{cursor:default;opacity:.5}.coach-score-feedback{font-size:12px;margin:6px 0;padding:7px 12px}.coach-score-feedback>small{display:block;margin-top:4px}.coach-score-feedback .coach-key{font-size:11px}.coach-workspace .coach-progress{box-sizing:border-box;margin-left:100px;min-height:52px}.coach-workspace .coach-progress>div:first-child{flex:1 1 260px}.coach-recording-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.coach-recording-tools [role=alert]{font-size:12px;max-width:280px}.coach-recording-tools .coach-retry-button{background:#fff;border:1px solid #168df4;border-radius:9px;color:#0969af;font-weight:600;min-height:44px;padding:8px 12px}.coach-workspace .coach-progress__actions{flex-wrap:nowrap}.coach-workspace .coach-progress__actions button{border-color:#168df4;color:#168df4;display:grid;height:44px;padding:8px;place-items:center;width:44px}.coach-progress__actions svg{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:26px;width:26px}.coach-workspace .coach-progress__actions .coach-next-ready{animation:coach-next-pulse 1.4s ease-in-out infinite;background:#168df4;color:#fff}@keyframes coach-next-pulse{50%{box-shadow:0 0 0 5px #168df426;transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){.coach-workspace .coach-progress__actions .coach-next-ready{animation:none;box-shadow:0 0 0 3px #168df433}}.player-controls-bottom .coach-record-icon{display:grid;height:var(--touch-target);min-height:var(--touch-target);padding:5px;place-items:center;width:52px}.coach-record-icon .performance-record-dot{background:#d62d40;border-radius:50%;flex:none;height:20px;margin:0;width:20px}.coach-record-icon.is-recording .performance-record-dot{border-radius:4px}.coach-score-feedback .coach-review-heading{align-items:center;gap:8px 20px;justify-content:space-between}.coach-review-heading>strong{font-size:19px;line-height:1.25}.coach-review-scores{display:flex;flex-wrap:wrap;gap:14px}.coach-review-scores>span{grid-gap:2px;display:grid;gap:2px;text-align:center}.coach-review-scores small{color:#42627c;font-size:11px}.coach-review-scores b{font-size:17px}.coach-score-feedback details{margin-top:5px}.coach-score-feedback summary{cursor:pointer}.coach-score-feedback .coach-note-detail{background:#fff;border:1px solid #c9dceb;border-radius:8px;display:block;font-size:14px;margin-top:8px;padding:10px 42px 10px 12px;position:relative}.coach-note-detail button{background:#0000;border:0;font-size:24px;height:40px;position:absolute;right:0;top:0;width:40px}.coach-review-surface{background:#f0f7fc;border-radius:12px;margin:6px 0;padding:8px 12px}.coach-review-surface[hidden]{display:none}.coach-review-topline{align-items:center;display:flex;gap:16px;justify-content:flex-end}.coach-review-audio{min-width:0}.coach-review-topline .coach-review-scores{flex-wrap:nowrap;gap:16px}.coach-review-scores .coach-score--clean b{color:#16856c}.coach-review-scores .coach-score--timing b{color:#a66d00}.coach-review-scores .coach-score--error b{color:#c02c40}.coach-review-scores b{font-size:21px}.coach-review-close{flex:0 0 52px}.coach-review-exit.player-control-button{background:#fff;border:1px solid #c9dceb;border:1px solid var(--player-controls-border,#c9dceb);border-radius:8px;border-radius:var(--radius-sm,8px);box-shadow:0 4px 12px #14487617;cursor:pointer;display:grid;height:44px;height:var(--touch-target,44px);min-height:44px;min-height:var(--touch-target,44px);padding:5px;place-items:center;width:52px}.coach-review-exit svg{fill:none;stroke:#d62d40;stroke-width:3.5;stroke-linecap:round;height:28px;width:28px}.coach-review-surface .coach-score-feedback{margin:4px 0 0;padding:0}.coach-score-feedback .coach-note-detail,.coach-score-feedback .coach-review-guidance,.coach-score-feedback details{font-size:19px;line-height:1.4}.coach-score-feedback .coach-note-detail p{font-size:inherit;line-height:inherit}@media (max-width:700px){.coach-review-topline{flex-wrap:wrap;gap:8px}.coach-review-audio{flex:1 1 100%}.coach-review-topline .coach-review-scores{gap:10px}}@media (max-width:600px){.coach-workspace .coach-progress{margin-left:58px}.coach-review-heading>strong{font-size:17px}}.teacher-rankings{min-width:0}.teacher-rankings-filters,.teacher-rankings-modes,.teacher-rankings-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.teacher-rankings button{background:#fff;border:1px solid #c8d8e7;border-radius:10px;color:#194a72;cursor:pointer;min-height:42px;padding:8px 14px}.teacher-rankings button[aria-pressed=true]{background:#167abe;border-color:#167abe;color:#fff}.teacher-rankings button:disabled{cursor:default;opacity:.5}.teacher-rankings button:focus-visible,.teacher-rankings select:focus-visible{outline:3px solid #167abe;outline-offset:2px}.teacher-rankings-filters label{align-items:center;display:flex;gap:8px;min-width:0}.teacher-rankings-filters select{border:1px solid #c8d8e7;border-radius:8px;max-width:min(480px,65vw);min-width:0;padding:10px}.teacher-rankings-note{color:#526577;font-size:.85rem;line-height:1.5}.teacher-rankings-list{grid-gap:8px;display:grid;gap:8px}.teacher-rankings-card{background:#fff;border:1px solid #cfdeeb;border-radius:12px;min-width:0}.teacher-rankings .teacher-rankings-row{grid-gap:12px;align-items:center;background:#0000;border:0;border-radius:12px;box-sizing:border-box;display:grid;font:inherit;gap:12px;grid-template-columns:44px minmax(140px,1fr) repeat(3,minmax(90px,.6fr));padding:14px;text-align:left;width:100%}.teacher-rankings button.teacher-rankings-row:hover,.teacher-rankings button.teacher-rankings-row[aria-expanded=true]{background:#f0f7fc}.teacher-rankings-row>span{min-width:0;overflow-wrap:anywhere}.teacher-rankings-row small{color:#526577;display:block;font-size:.76rem;margin-bottom:3px}.teacher-rankings-person button{background:none;border:0;font-weight:700;padding:0;text-align:left}.teacher-rankings-history{border-top:1px solid #dbe5ed;font-size:.85rem;padding:12px 14px}.teacher-rankings-history>div{border-bottom:1px solid #e8eef3;display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0}.teacher-rankings-history small{flex-basis:100%}.teacher-rankings-row>p{grid-column:1/-1}.teacher-rankings-pagination{justify-content:flex-end}@media (max-width:700px){.teacher-rankings .teacher-rankings-row{gap:10px;grid-template-columns:32px minmax(0,1fr) 90px;padding:12px}.teacher-rankings-row>span:nth-child(4){grid-column:2}.teacher-rankings-filters label{flex-wrap:wrap}.teacher-rankings-filters select{max-width:100%;width:100%}}.student-overview__games-card.student-rankings-summary>header strong{font-size:.9rem}.student-rankings-summary .student-rankings-summary__item strong{font-size:1rem;line-height:1.25}.student-rankings-summary .student-rankings-summary__item em{font-size:.875rem;font-style:normal;line-height:1.3;min-height:1.2em}.student-rankings-summary__item:focus-visible{outline:3px solid #398acc;outline-offset:2px}.games-hub-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)}.games-hub-layout .games-hub-grid{grid-template-columns:1fr}.games-hub-ranking{background:#fff;border:1px solid #dbe7f2;border-radius:22px;box-shadow:0 8px 28px #24669b08;min-width:0;overflow:hidden}.games-hub-ranking .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}.games-hub-ranking__heading{align-items:center;background:#eef7ff;display:flex;gap:14px;justify-content:space-between;padding:18px 20px}.games-hub-ranking__heading h2{color:#203e5a;font-size:17px;margin:0}.games-hub-ranking__heading p{color:#536d82;font-size:12px;margin:5px 0 0}.games-hub-ranking__my-rank{color:#2675af;flex-shrink:0;font-size:11px;text-align:right}.games-hub-ranking__my-rank strong{display:block;font-size:17px}.games-hub-ranking__body{min-height:260px;padding:0 16px}.games-hub-ranking__message{color:#536d82;font-size:14px;padding:45px 12px;text-align:center}.games-hub-ranking__message button{background:#f0f8ff;border:1px solid #85b9dc;border-radius:10px;color:#246b9b;cursor:pointer;padding:9px 15px}.games-hub-ranking__columns,.games-hub-ranking__row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) auto;padding:10px 12px}.games-hub-ranking__columns{color:#6c8191;font-size:11px}.games-hub-ranking__list{list-style:none;margin:0;max-height:360px;overflow-y:auto;overscroll-behavior:contain;padding:0 0 8px}.games-hub-ranking__row{border-top:1px solid #edf2f6;color:#294154;font-size:14px;min-height:51px}.games-hub-ranking__row.is-self{background:#eaf5ff;border-radius:10px;color:#12699f;font-weight:700}.games-hub-ranking__rank{font-feature-settings:"tnum";display:grid;font-variant-numeric:tabular-nums;font-weight:700;height:30px;place-items:center;width:30px}.games-hub-ranking__rank.is-leading{background:#e8f1fa;border-radius:50%;color:#216f9f}.games-hub-ranking__name{overflow-wrap:anywhere}.games-hub-ranking__row>strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.games-hub-ranking footer{align-items:center;border-top:1px solid #edf2f6;color:#687e8f;display:flex;flex-wrap:wrap;font-size:11px;gap:8px;justify-content:space-between;padding:12px 20px}.games-hub-ranking footer a{color:#216f9f;font-weight:700;text-decoration:none}.games-hub-ranking a:focus-visible,.games-hub-ranking button:focus-visible{outline:3px solid #398acc;outline-offset:2px}.games-hub-ranking__tabs{background:#f8fbff;border-bottom:1px solid #dbe7f2;display:flex;gap:6px;padding:12px}.games-hub-ranking__tabs button{background:#0000;border:1px solid #0000;border-radius:10px;color:#45647e;cursor:pointer;flex:1 1;font:inherit;font-size:14px;font-weight:700;min-height:40px;min-width:0;padding:8px}.games-hub-ranking__tabs button[aria-selected=true]{background:#0870d1;box-shadow:0 3px 8px #0870d126;color:#fff}.games-hub-ranking footer button{background:#0000;border:0;color:#216f9f;cursor:pointer;font:inherit;font-weight:700;padding:8px}.games-hub-ranking__history{border-top:1px solid #edf2f6;padding:12px 20px}.games-hub-ranking__history-list{list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0}.games-hub-ranking__history-list li{border-bottom:1px solid #edf2f6;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 18px;padding:10px 0}.games-hub-ranking__history-list small{flex-basis:100%}.games-ranking-dialog{background:#f5faff;border:1px solid #dbe7f2;border-radius:24px;box-shadow:0 20px 80px #092d5a40;box-sizing:border-box;color:#203e5a;max-height:calc(100dvh - 32px);overflow-y:auto;padding:12px;width:min(720px,calc(100vw - 32px))}.games-ranking-dialog::backdrop{background:#10385899}.games-ranking-dialog__toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:0 4px 10px 8px}.games-ranking-dialog__toolbar button{background:#fff;border:1px solid #c9dcec;border-radius:12px;color:#245375;cursor:pointer;font-size:28px;height:44px;width:44px}.games-ranking-dialog__toolbar button:focus-visible{outline:3px solid #398acc;outline-offset:2px}.coach-rankings{margin-inline:auto;max-width:960px}.coach-rankings__self{background:#eaf5ff;border-radius:12px;padding:14px}.coach-rankings__list{list-style:none;padding:0}.coach-rankings__row{grid-gap:12px;align-items:center;border-bottom:1px solid #dce6ee;display:grid;gap:12px;grid-template-columns:48px minmax(0,1fr) auto;padding:12px}.coach-rankings__row.is-self{background:#eaf5ff;font-weight:600}.coach-rankings__row small{color:#526779;display:block;font-size:12px;font-weight:400}.coach-rankings__pagination{align-items:center;display:flex;gap:10px;justify-content:space-between}.coach-rankings__method{color:#526779;font-size:14px;margin-block:18px}@media (max-width:700px){.games-hub-layout{grid-template-columns:1fr}.games-hub-ranking__heading{padding:16px}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.left-1{left:.25rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:#374151;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:#6b7280;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-black{--tw-text-opacity:1;color:#000;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}:root{--blue:#168df4;--blue-deep:#0870d1;--ink:#10243f;--ink-soft:#526579;--line:#dbe8f2;--mint:#62d7bf;--navy:#071a32;--paper:#f7fbff;--sky:#dff2ff;--white:#fff;--shadow:0 24px 70px #14487621;--shadow-soft:0 10px 30px #14487617;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--touch-target:44px;--page:var(--paper);--bg:var(--paper);--nav:var(--navy);--text:var(--ink);--text-muted:var(--ink-soft);--border:var(--line);--surf:var(--white);--surf-navy:#0e2644;--btn:var(--navy);--brand:var(--blue);--field-bg:#fbfdff;--field-fg:var(--ink);--field-border:#cbdce9;--field-placeholder:#718397;--field-focus-ring:#168df421;--interactive-hover:#eef7ff;--player-controls-bg:#eaf6ff;--player-controls-fg:var(--ink);--player-controls-border:#a9cee9;--player-controls-shadow:0 -6px 18px #14487624;--input-bg:var(--field-bg);--input-fg:var(--field-fg);--input-border:var(--field-border);--input-border-focus:var(--blue);--input-placeholder:var(--field-placeholder)}.light-theme{--bg:#f7f9fc;--surf:#fff;--text:#0a1a2f;--input-bg:#fff;--input-fg:#0a1a2f;--input-border:#d6dde6;--input-border-focus:#2563eb;--input-placeholder:#6b7c90}html{background-color:#f7fbff;background-color:var(--paper);height:100%;overscroll-behavior:none;width:100%}body{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0}#root,body{background-color:#f7fbff;background-color:var(--paper);color:#10243f;color:var(--ink);height:100%;overscroll-behavior-y:none}#root,.app-shell,body{overflow:hidden;width:100%}.app-shell{background:#f7fbff;background:var(--paper);display:flex;flex-direction:column;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top)}.app-route-viewport{flex:1 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:hidden;overscroll-behavior:none;scrollbar-gutter:stable;touch-action:pan-x pinch-zoom}html.native-back-transition .app-route-viewport{view-transition-name:practisio-back-page}html.native-back-transition::view-transition-new(root),html.native-back-transition::view-transition-old(root){animation:none}html.native-back-transition::view-transition-old(practisio-back-page){animation:practisio-back-out .28s cubic-bezier(.2,.8,.2,1) both;box-shadow:-12px 0 24px #0f2d412e;z-index:2}html.native-back-transition::view-transition-new(practisio-back-page){animation:practisio-back-in .28s cubic-bezier(.2,.8,.2,1) both;z-index:1}@keyframes practisio-back-out{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes practisio-back-in{0%{transform:translateX(-24%)}to{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){html.native-back-transition::view-transition-new(practisio-back-page),html.native-back-transition::view-transition-old(practisio-back-page){animation:none}}.app-route-viewport--scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto;touch-action:pan-y pinch-zoom}.app-route-viewport--fixed{overflow-y:hidden!important;overscroll-behavior:none;touch-action:pan-x pinch-zoom}.teacher-homework-container.teacher--navy.teacher-overview{align-items:stretch;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;gap:18px;max-width:1180px;padding:24px 0 48px;width:min(calc(100% - 32px),1180px)}.teacher-overview__chart-heading,.teacher-overview__heading,.teacher-overview__students-heading{align-items:end;display:flex;gap:18px;justify-content:space-between}.teacher-overview__heading{padding:8px 2px 4px}.teacher-overview__eyebrow{color:#0870d1;color:var(--blue-deep);display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.teacher-overview__heading h1{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.8vw,2.25rem);margin:4px 0 6px}.teacher-overview__heading p,.teacher-overview__students-heading p{color:#526579!important;color:var(--ink-soft)!important;margin:0}.teacher-homework-container.teacher--navy.teacher-overview .teacher-overview__primary{align-items:center;background:#0870d1;background:var(--blue-deep);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#fff;color:var(--white);display:inline-flex;font-weight:800;justify-content:center;min-height:46px;padding:10px 18px;white-space:nowrap}.teacher-overview__dashboard{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(250px,320px) minmax(0,1fr)}.teacher-overview__summary,.teacher-overview__workflow{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);min-width:0;padding:15px}.teacher-overview__summary h2,.teacher-overview__workflow h2{color:#10243f;color:var(--ink);font-family:Manrope,sans-serif;font-size:1rem;margin:0 0 12px!important}.teacher-overview__workflow-actions{grid-gap:7px;display:grid;gap:7px}.teacher-homework-container.teacher--navy .teacher-overview__workflow-actions a{align-items:center;background:#f7fbff;background:var(--paper);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:9px;color:#10243f;color:var(--ink);display:flex;font-weight:750;justify-content:space-between;min-height:41px;padding:8px 12px;text-decoration:none}.teacher-homework-container.teacher--navy .teacher-overview__workflow-actions a.is-primary{background:#0870d1;background:var(--blue-deep);border-color:#0870d1;border-color:var(--blue-deep);color:#fff;color:var(--white)}.teacher-overview__workflow-actions a span{font-size:1rem}.teacher-overview__summary{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr}.teacher-homework-container.teacher--navy.teacher-overview .teacher-overview__stat{grid-gap:10px;align-items:center;background:#0000;border-top:1px solid #dbe8f2;border-top:1px solid var(--line);color:#10243f;color:var(--ink);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto 18px;min-height:43px;padding:7px 9px;text-decoration:none}.teacher-overview__stat>span{color:#526579;color:var(--ink-soft);font-size:.88rem;font-weight:700}.teacher-overview__stat>span:last-child{color:#0870d1;color:var(--blue-deep);text-align:right}.teacher-overview__stat>strong{font-feature-settings:"tnum";font-family:Manrope,sans-serif;font-size:1.18rem;font-variant-numeric:tabular-nums;line-height:1}.teacher-homework-container.teacher--navy.teacher-overview .teacher-overview__stat--attention,.teacher-overview__stat--attention>strong{color:#0870d1;color:var(--blue-deep)}.teacher-overview__attention{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);min-width:0;padding:13px 15px}.teacher-overview__attention-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:7px}.teacher-overview__attention-heading h2{color:#10243f;color:var(--ink);font-family:Manrope,sans-serif;font-size:1rem;margin:0!important}.teacher-overview__attention-heading p{color:#526579;color:var(--ink-soft);font-size:.73rem;margin:2px 0 0}.teacher-overview__attention-heading>span{background:#dff2ff;background:var(--sky);border-radius:999px;color:#0870d1;color:var(--blue-deep);flex:none;font-size:.68rem;font-weight:800;padding:3px 8px}.teacher-overview__attention-list{grid-gap:5px 14px;display:grid;gap:5px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-homework-container.teacher--navy .teacher-attention-row{grid-gap:8px;align-items:center;background:#0000;border-top:1px solid #edf1f5;color:#10243f;color:var(--ink);display:grid;gap:8px;grid-template-columns:7px auto minmax(0,1fr) 14px;min-height:35px;min-width:0;padding:5px 3px;text-decoration:none}.teacher-attention-row>i{background:#728397;border-radius:999px;height:7px;width:7px}.teacher-attention-row.is-review>i{background:#2f74aa}.teacher-attention-row.is-declining>i,.teacher-attention-row.is-inactive>i{background:#d09a44}.teacher-attention-row.is-improving>i{background:#4a9a80}.teacher-attention-row>strong{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-attention-row>span{color:#526579;color:var(--ink-soft);font-size:.68rem;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.teacher-attention-row>b{color:#0870d1;color:var(--blue-deep);text-align:right}.teacher-overview__students{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);min-width:0;padding:20px}.teacher-overview__students-heading h2{font-family:Manrope,sans-serif;font-size:1.1rem;margin:0 0 4px!important}.teacher-overview__students-heading>span{color:#526579;color:var(--ink-soft);font-size:.82rem;font-weight:700}.teacher-overview__students{scroll-margin-top:16px}.teacher-overview__students-heading{margin-bottom:18px}.teacher-overview__students>input{margin-bottom:20px;max-width:420px}.teacher-overview__students .list-surface{max-width:none}.teacher-overview__students .student-card{background:#f7fbff;background:var(--paper);border-color:#dbe8f2;border-color:var(--line)}.teacher-overview__error{background:#dff2ff;background:var(--sky);border-radius:14px;border-radius:var(--radius-md);color:#10243f;color:var(--ink);padding:12px 16px}@media (max-width:820px){.teacher-overview__dashboard{grid-template-columns:minmax(220px,290px) minmax(0,1fr)}}@media (max-width:600px){.teacher-overview__heading{align-items:stretch;flex-direction:column}.teacher-overview__dashboard{grid-template-columns:1fr}.teacher-overview__students-heading{align-items:start;flex-direction:column}.teacher-overview__attention-list{grid-template-columns:1fr}}@media (min-width:640px) and (max-height:900px){.teacher-homework-container.teacher--navy.teacher-overview{gap:9px;padding:10px 0 24px}.teacher-overview__heading{padding:0 2px}.teacher-overview__heading h1{font-size:1.55rem;margin:1px 0 2px}.teacher-overview__heading p{font-size:.84rem}.teacher-overview__dashboard{gap:8px}.teacher-overview__summary,.teacher-overview__workflow{padding:11px}.teacher-overview__summary h2,.teacher-overview__workflow h2{margin-bottom:7px!important}.teacher-overview__workflow-actions{gap:5px}.teacher-homework-container.teacher--navy .teacher-overview__workflow-actions a{min-height:37px;padding:6px 10px}.teacher-homework-container.teacher--navy.teacher-overview .teacher-overview__stat{min-height:37px;padding:5px 8px}.teacher-overview__attention{padding:9px 11px}.teacher-overview__attention-heading{margin-bottom:3px}.teacher-attention-row{min-height:31px}.teacher-overview__students{padding:12px}.teacher-overview__students-heading,.teacher-overview__students>input{margin-bottom:9px}}.page-container.student-overview{align-items:stretch;box-sizing:border-box;color:#10243f;color:var(--ink);font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;gap:10px;max-width:1180px;padding:0 0 38px;width:min(calc(100% - 32px),1180px)}.student-overview__heading.app-page-heading{margin-bottom:10px;margin-top:-2px;min-height:40px;padding:0 0 0 42px}.student-overview__heading h1{margin-top:0}.student-overview__heading .workspace-identity--compact{margin-top:4px}.student-overview__upper-layout{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:minmax(0,3fr) minmax(225px,.9fr)}.student-overview__hub{grid-gap:9px;background:linear-gradient(135deg,#eaf6ff,#f4fbff);border-radius:22px;box-shadow:inset 0 0 0 1px #0870d114;display:grid;gap:9px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;padding:11px}.student-overview__heading .student-overview__bell{align-items:center;align-self:center;color:#0870d1;color:var(--blue-deep);display:inline-flex;gap:5px;justify-content:center;margin-left:auto;min-height:44px;min-width:44px;text-decoration:none}.app-shell:not(.app-shell--phone) .student-overview__heading.app-page-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.app-shell:not(.app-shell--phone) .student-overview__heading>div{min-width:0}.app-shell:not(.app-shell--phone) .student-overview__heading .student-overview__bell{align-self:flex-start;flex:0 0 auto;margin-top:-6px}.student-overview__bell b{background:#e4f1ff;border-radius:99px;font-size:.75rem;padding:2px 6px}.student-overview__assignment-card{background:linear-gradient(135deg,#0870d1,#168df4);border-radius:18px;box-shadow:0 12px 28px #0870d12e;color:#fff;color:var(--white);min-width:0;padding:16px 18px}.student-overview__card-topline{align-items:center;display:flex;gap:12px;justify-content:space-between}.student-overview__card-topline>span{font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.student-overview__card-topline>b{background:#ffffff2e;border-radius:999px;font-size:.67rem;padding:4px 8px}.student-overview__assignment-card h2{color:#fff;color:var(--white);font-family:Manrope,sans-serif;font-size:1.05rem;margin:5px 0 10px}.student-overview__latest{grid-gap:12px;align-items:center;background:#fffffff5;border-radius:13px;color:#10243f;color:var(--ink);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 20px;min-height:58px;padding:10px 12px;text-decoration:none}.student-overview__latest>span{grid-gap:3px;display:grid;gap:3px;min-width:0}.student-overview__latest strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-overview__latest small{color:#526579;color:var(--ink-soft);font-size:.67rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-overview__latest i{color:#0870d1;color:var(--blue-deep);font-style:normal;font-weight:900}.student-overview__all-link{align-items:center;background:#ffffff21;border:1px solid #ffffff85;border-radius:10px;color:#fff;color:var(--white);display:inline-flex;font-size:.78rem;font-weight:850;gap:6px;justify-content:center;margin-top:9px;min-height:34px;padding:4px 12px;text-decoration:none}.student-overview__empty-state{grid-gap:3px;align-content:center;background:#fffffff0;border:1px dashed #ffffff8c;border-radius:12px;color:#10243f;color:var(--ink);display:grid;gap:3px;min-height:58px;padding:10px 12px}.student-overview__empty-state span{color:#526579;color:var(--ink-soft);font-size:.7rem}.student-overview__games-card{grid-gap:7px;align-content:center;background:linear-gradient(145deg,#dff2ff,#eef8ff);background:linear-gradient(145deg,var(--sky) 0,#eef8ff 100%);border-radius:18px;box-shadow:0 10px 24px #0870d11a;color:#0d3d66;display:grid;gap:7px;min-width:0;padding:10px 11px}.student-overview__games-card>header{align-items:center;display:flex;min-height:20px;padding:0 3px}.student-overview__games-card>header strong{font:900 .77rem/1.1 Manrope,sans-serif;letter-spacing:.04em;text-transform:uppercase}.student-overview__game-options{grid-gap:6px;display:grid;gap:6px}.student-overview__game-options>a{grid-gap:6px;align-items:center;background:#ffffffc7;border:1px solid #0870d11a;border-radius:11px;color:#0d3d66;display:grid;gap:6px;grid-template-columns:28px minmax(0,1fr) 12px;min-height:39px;padding:5px 7px;text-decoration:none}.student-overview__games-card{align-content:stretch}.student-overview__game-options{grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.student-overview__game-options>a{grid-template-columns:34px minmax(0,1fr) 12px;min-height:49px;padding:7px 9px}.student-overview__game-options>a>span:first-child{height:32px;width:32px}.student-overview__game-options strong{font-size:.76rem}.student-overview__game-options>a.is-voice{background:#eff7ffe6}.student-overview__game-options>a>span:first-child{background:#fff;border-radius:9px;color:#0870d1;color:var(--blue-deep);display:grid;height:27px;place-items:center;width:27px}.student-overview__games-card .student-overview__game-options>a>span:first-child{height:32px;width:32px}.student-overview__game-options>a>span:nth-child(2){display:grid;min-width:0}.student-overview__game-options strong{font-size:.7rem}.student-overview__game-options em{color:#526579;color:var(--ink-soft);font-size:.58rem;font-style:normal;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-overview__game-options b{color:#0870d1;color:var(--blue-deep);font-size:.78rem}.student-overview__game-icon{background:#ffffffbf;border-radius:16px;color:#0870d1;color:var(--blue-deep);display:grid;height:50px;place-items:center;width:50px}.student-overview__games-card .student-overview__game-icon{border-radius:13px;height:40px;width:40px}.game-mode-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:23px;width:23px}.game-mode-icon__keys{fill:currentColor;stroke:none}.game-mode-icon__accent{stroke:#43a2ec;stroke-width:1.8}.student-overview__quick-menu{grid-gap:6px;align-content:stretch;display:grid;gap:6px;grid-template-columns:1fr}.student-overview__practice-days,.student-overview__quick-menu>a{grid-gap:7px;align-items:center;background:#ffffffdb;border-radius:11px;color:#10243f;color:var(--ink);display:grid;gap:7px;grid-template-columns:28px minmax(0,1fr);min-height:35px;padding:5px 8px;position:relative;text-decoration:none}.student-overview__quick-menu>a{min-height:48px}.student-overview__quick-menu>a>span{display:grid;min-width:0}.student-overview__notification-icon{fill:none;stroke:#0870d1;stroke:var(--blue-deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:25px;width:25px}.student-overview__quick-menu strong{font-size:.76rem}.student-overview__quick-menu small{color:#526579;color:var(--ink-soft);font-size:.62rem}.student-overview__quick-menu>a>b{background:#0870d1;background:var(--blue-deep);border-radius:999px;color:#fff;color:var(--white);display:grid;font-size:.6rem;height:18px;min-width:18px;padding:0 4px;place-items:center;position:absolute;right:7px;top:6px}.student-overview__practice-days{background:#fff9;grid-template-columns:auto minmax(0,1fr)}.student-overview__practice-days>span{color:#0870d1;color:var(--blue-deep);font-family:Manrope,sans-serif;font-size:1rem;font-weight:900}.student-overview__practice-days>small{color:#526579;color:var(--ink-soft);font-size:.66rem;font-weight:800}.student-overview__analytics-rail{grid-gap:7px;background:#f7fbff;border:1px solid #d5e8f6;border-radius:18px;display:grid;gap:7px;grid-template-rows:auto 1fr;min-width:0;padding:9px}.student-overview__analytics-rail .student-analytics-window{box-sizing:border-box;width:100%}.student-overview__analytics-rail .student-analytics-window button{flex:1 1;padding:.38rem .2rem}.student-overview__rail-metrics{grid-gap:5px;display:grid;gap:5px;grid-template-columns:1fr}.student-overview__rail-metrics>div{grid-gap:2px 8px;align-items:center;background:#fff;background:var(--white);border-radius:10px;display:grid;gap:2px 8px;grid-template-columns:minmax(0,1fr) auto;min-height:34px;padding:5px 8px}.student-overview__rail-metrics span{color:#526579;color:var(--ink-soft);font-size:.64rem;font-weight:750}.student-overview__rail-metrics strong{color:#0870d1;color:var(--blue-deep);font:850 .86rem/1 Manrope,sans-serif}.student-overview__rail-metrics small{color:#526579;color:var(--ink-soft);font-size:.56rem;grid-column:1/-1}.student-overview>.student-progress-snapshot--student{box-sizing:border-box;margin:0;width:100%}.student-progress-snapshot--student .student-analytics-insights--student{background:#f3fbf8;border-color:#d8eee7}.student-progress-snapshot--student .student-analytics-insights--student span{color:#287963}.student-journey{background:linear-gradient(180deg,#fbfdff,#f2f8ff);box-sizing:border-box;overflow:hidden;padding:.65rem .75rem .55rem;width:100%}.student-journey>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.student-journey>header>div:first-child{grid-gap:.08rem;display:grid;gap:.08rem}.student-journey>header>div:first-child span{color:#526579;color:var(--ink-soft);font-size:.61rem;font-weight:750}.student-journey>header>div:first-child strong{color:#0870d1;color:var(--blue-deep);font:850 .87rem/1.15 Manrope,sans-serif}.student-journey__legend{color:#526579;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.58rem;gap:.65rem}.student-journey__legend span{align-items:center;display:inline-flex;gap:.22rem}.student-journey__legend i,.student-journey__mix i{border-radius:999px;display:block;height:.38rem;width:.38rem}.student-journey .is-player{background:#168df4}.student-journey .is-submission{background:#62d7bf}.student-journey .is-game{background:#f0b95a}.student-analytics-legend .is-coach,.student-analytics-week__bars .is-coach,.student-journey .is-coach{background:#8961c4}.student-journey__plot{grid-gap:clamp(2px,.6vw,10px);border-bottom:1px solid #d9e8f3;box-sizing:border-box;display:grid;gap:clamp(2px,.6vw,10px);grid-template-columns:repeat(var(--bucket-count),minmax(0,1fr));height:8.1rem;margin-top:.2rem;padding:.45rem .2rem 0;width:100%}.student-journey__bucket{align-items:stretch;display:flex;flex-direction:column;min-width:0}.student-journey__bars{align-items:flex-end;border-bottom:1px solid #afcadb;display:flex;flex:1 1;gap:clamp(1px,.25vw,5px);justify-content:center;min-height:0}.student-journey__bar{border-radius:4px 4px 0 0;display:block;flex:1 1;max-width:13px;min-width:2px}.student-journey__bar.is-player{background:#168df4}.student-journey__bar.is-submission{background:#35bfa2}.student-journey__bar.is-game{background:#f0b23e}.student-journey__bar.is-zero{opacity:.3}.student-journey__bucket.is-current .student-journey__bars{background:#168df40f;border-radius:6px 6px 0 0}.student-journey__week{color:#526579;color:var(--ink-soft);font:700 clamp(.48rem,.65vw,.7rem)/1.1 DM Sans,sans-serif;overflow:hidden;padding-top:.35rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.student-growth-board{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.student-growth-card{grid-gap:6px;border:1px solid #0000;border-radius:15px;display:grid;gap:6px;min-width:0;padding:10px 11px}.student-growth-card header{align-items:baseline;border-bottom:1px solid #0f34521a;display:flex;gap:8px;justify-content:space-between;padding-bottom:5px}.student-growth-card header span{color:#10243f;color:var(--ink);font-size:.72rem;font-weight:850}.student-growth-card header strong{color:#0870d1;color:var(--blue-deep);font:900 .86rem/1 Manrope,sans-serif;white-space:nowrap}.student-growth-card>div{align-items:center;display:flex;gap:6px;justify-content:space-between}.student-growth-card>div span{color:#526579;color:var(--ink-soft);font-size:.61rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-growth-card>div b{color:#10243f;color:var(--ink);font-size:.66rem;white-space:nowrap}.student-growth-card.is-rhythm{background:#eef8ff;border-color:#cde7fb}.student-growth-card.is-assignment{background:#f0faf7;border-color:#d4eee6}.student-growth-card.is-performance{background:#f7f2ff;border-color:#e7ddfb}.student-growth-card.is-game{background:#fff8e8;border-color:#f3e1b9}.student-overview--empty{justify-content:center;min-height:70vh;text-align:center}.student-overview--empty h1{color:#10243f;color:var(--ink)}.student-overview--empty p{color:#526579;color:var(--ink-soft)}.student-overview__primary{align-self:center;background:#0870d1;background:var(--blue-deep);border-radius:10px;color:#fff;color:var(--white);font-weight:800;padding:.65rem 1rem;text-decoration:none}.student-overview__coach-entry{align-items:center;background:#fff;border:1px solid #ffffffe6;border-radius:12px;box-shadow:0 4px 12px #001c4138;box-sizing:border-box;color:#124b80;display:flex;font-size:1rem;font-weight:800;gap:.75rem;justify-content:space-between;margin:.4rem 0;min-height:48px;padding:.7rem .9rem;text-decoration:none}.student-overview__coach-entry:hover{background:#edf7ff;color:#124b80}.student-overview__coach-entry:active{background:#dceeff;box-shadow:0 1px 4px #001c412e}.student-overview__coach-entry:focus-visible{outline:3px solid #fff;outline-offset:3px}.student-overview__coach-entry>span{background:#e5f2ff;border-radius:50%;color:#124b80;display:grid;flex:0 0 28px;height:28px;place-items:center}@media (max-width:760px){.student-overview__hub,.student-overview__upper-layout{grid-template-columns:1fr}.student-growth-board,.student-overview__quick-menu,.student-overview__rail-metrics{grid-template-columns:1fr 1fr}}@media (min-width:640px) and (max-height:900px){.page-container.student-overview{gap:8px;padding:0 0 24px}.student-overview__heading{padding:0 2px 0 42px}.student-overview__hub{gap:8px;padding:10px}.student-overview__assignment-card,.student-overview__games-card{padding:12px}.student-overview__latest{min-height:50px;padding:7px 10px}.student-overview__practice-days,.student-overview__quick-menu>a{min-height:43px;padding:5px 8px}.student-overview__analytics-rail{padding:7px}.student-overview__rail-metrics>div{min-height:30px;padding:4px 7px}}.app-network-banner{background:#fff3cd;border-bottom:1px solid #e7c56c;color:#6f3d00;font-size:.9rem;font-weight:700;padding:.65rem 1rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1200}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.page-container{align-items:center;background-color:initial;border:none;box-shadow:none;color:#f4f4f4;display:flex;flex-direction:column;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;max-width:900px;padding:2rem}.page-title{color:#f4f4f4;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.menu-buttons{align-items:center;display:flex;flex-direction:column;margin-top:2rem}.menu-button{border:none;border-radius:8px;display:inline-block;font-size:1.25rem;padding:1rem 2rem;text-align:center;text-decoration:none;transition:background-color .3s}.page-container:has(.menu-buttons){background-color:initial;border:none;box-shadow:none;color:#f4f4f4}.page-container:has(.menu-buttons) .page-title{color:#f4f4f4}.menu-buttons{background:#0e2644;border:1px solid #ffffff0f;border-radius:12px;box-shadow:0 6px 14px #00000040,inset 0 1px 0 #ffffff0a;padding:1.25rem}.menu-button{background-color:#0a1a2f;border:1px solid #ffffff14;box-shadow:0 2px 6px #00000040;color:#f4f4f4}.menu-button:hover{background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 10px #2563eb59}.tempo-control{align-items:center;background-color:#0e2644;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 10px #00000040,inset 0 1px 0 #ffffff0a;color:#e8eef7;display:flex;gap:1rem;margin-bottom:.5rem;margin-top:0;padding:.5rem 1rem}.tempo-control label{color:#e8eef7}.tempo-select{background-color:#0a1a2f;border:1px solid #ffffff26;border-radius:6px;color:#e8eef7;font-size:1rem;padding:.4rem .8rem}.tempo-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb59;outline:none}.tempo-control input[type=number]{background-color:#0a1a2f;border:1px solid #ffffff26;border-radius:6px;color:#e8eef7;padding:.4rem .6rem;text-align:center;width:5rem}.tempo-control input[type=number]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb59;outline:none}.tempo-control button{background-color:#0a1a2f;border:1px solid #ffffff1f;border-radius:8px;box-shadow:0 2px 6px #00000040;color:#e8eef7;cursor:pointer;padding:.35rem .75rem;transition:background-color .2s,box-shadow .2s,border-color .2s}.tempo-control button:hover{background-color:#1b3b6b;border-color:#2563eb;box-shadow:0 4px 10px #2563eb59}.tempo-control button:active{transform:translateY(1px)}.top-menu-bar{align-items:center;background-color:#fff;border-bottom:1px solid #0a1a2f;box-shadow:0 2px 4px #0a1a2f0d;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1rem;padding:.8rem 1rem;z-index:100}.top-menu-bar button,.top-menu-bar label,.top-menu-bar select{color:#444;font-size:1rem}.top-menu-bar button{background-color:#0a1a2f;border:none;border-radius:6px;color:#f4f4f4;cursor:pointer;padding:.4rem 1rem;transition:background-color .3s}.top-menu-bar button:hover{background-color:#2563eb}.player-controls-container{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.player-control-button{transition:transform 65ms cubic-bezier(.2,.8,.2,1),background-color 65ms ease,box-shadow 65ms ease,filter 65ms ease;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.player-control-button:hover:not(:disabled){background-color:initial!important}}.player-control-button:active:not(:disabled){background-color:#ffa5004d!important;box-shadow:inset 0 7px 12px #0000009e;filter:brightness(1.34);transform:translateY(7px) scale(.8)}.player-control-button:active:not(:disabled) img{transform:translateY(2px) scale(.9)}.player-control-button:focus-visible{outline:3px solid #ffbe50e6;outline-offset:2px}.player-control-button:disabled{cursor:not-allowed!important;opacity:.48}.player-control-button.is-selected{background-color:initial!important}.piano-keyboard-container{margin-top:2rem}.remove-button{border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:700;padding:.6rem 1.2rem;text-align:center;transition:background-color .3s}.remove-button,.remove-button:hover{background-color:#2563eb}.teacher-homework-container{align-items:center;background-color:#fff;border:1px solid #0a1a2f;box-shadow:0 4px 8px #0a1a2f1a;color:#0a1a2f;display:flex;flex-direction:column;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0 auto;max-width:900px;padding:2rem}.student-homework-container{color:#f4f4f4;font-size:1.2rem;height:70vh}.student-homework-container,.unauthorized-message{align-items:center;display:flex;justify-content:center;text-align:center}.unauthorized-message{border:1px solid #0a1a2f;color:#2563eb;font-size:1.25rem;min-height:60vh}.homework-form-container,.unauthorized-message{background-color:#fff;box-shadow:0 4px 8px #0a1a2f1a;flex-direction:column;margin:0 auto;max-width:900px;padding:2rem}.homework-form-container{border:1px solid #0a1a2f;border-radius:8px;color:#0a1a2f;display:flex;gap:1.5rem}.form-field{align-items:flex-start;display:flex;flex-direction:column;width:100%}.form-field label{color:#444;font-weight:700;margin-bottom:.5rem}.form-field input,.form-field select,.form-field textarea{background-color:#f4f4f4;border:1px solid #ccc;border-radius:6px;color:#0a1a2f;font-size:1rem;padding:.75rem;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #e11d484d;outline:none}:root{--at-cursor-color:#2563eb;--at-cursor-fill:#e11d4826}.at-cursor-bar{background:#e11d4826!important;background:var(--at-cursor-fill)!important}.at-cursor-beat{background:#2563eb!important;background:var(--at-cursor-color)!important;width:3px!important}svg .at-cursor,svg .at-cursor-bar,svg .at-cursor-beat{stroke:#2563eb!important;stroke:var(--at-cursor-color)!important;stroke-width:2.5px!important}svg .at-cursor-bar{fill:#e11d4826!important;fill:var(--at-cursor-fill)!important}.at-cursor,.at-cursor-bar,.at-cursor-beat{scroll-margin-top:112px}.page-container:has(.auth-card),.page-container:has(.supabase-auth-ui_ui-container),.page-container:has(form[data-auth]){background-color:initial;border:none;box-shadow:none;color:#f4f4f4}.page-container:has(.auth-card) .page-title,.page-container:has(.supabase-auth-ui_ui-container) .page-title,.page-container:has(form[data-auth]) .page-title{color:#f4f4f4}.auth-card,.supabase-auth-ui_ui-container{background:#0e2644;border:1px solid #ffffff0f;border-radius:12px;box-shadow:0 6px 14px #00000040,inset 0 1px 0 #ffffff0a;color:#f4f4f4;max-width:420px;padding:1.25rem;width:100%}form[data-auth]{background:#0000;border:0;box-shadow:none;padding:0}.auth-card h1,.auth-card h2,.auth-card label,.supabase-auth-ui_ui-form-title,.supabase-auth-ui_ui-label{color:#f4f4f4}.auth-card .helper-text,.supabase-auth-ui_ui-divider span{color:#cbd5e1}.auth-card input,.supabase-auth-ui_ui-input,form[data-auth] input{background-color:#fbfdff;background-color:var(--input-bg);border:1px solid #cbdce9;border:1px solid var(--input-border);border-radius:6px;color:#10243f;color:var(--input-fg);font-size:1rem;padding:.75rem;width:100%}.auth-card input:focus,.supabase-auth-ui_ui-input:focus,form[data-auth] input:focus{border-color:#168df4;border-color:var(--input-border-focus);box-shadow:0 0 0 2px color-mix(in srgb,#168df4 35%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--input-border-focus) 35%,#0000);outline:none}.auth-card input::placeholder,.supabase-auth-ui_ui-input::placeholder,form[data-auth] input::placeholder{color:#718397;color:var(--input-placeholder)}.auth-input[type=password],form[data-auth] input[type=password],input[type=password].auth-card input,input[type=password].supabase-auth-ui_ui-input{caret-color:#10243f;caret-color:var(--input-fg)}.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:focus,.auth-card input:-webkit-autofill:hover,.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover,.supabase-auth-ui_ui-input:-webkit-autofill,.supabase-auth-ui_ui-input:-webkit-autofill:focus,.supabase-auth-ui_ui-input:-webkit-autofill:hover,form[data-auth] input:-webkit-autofill,form[data-auth] input:-webkit-autofill:focus,form[data-auth] input:-webkit-autofill:hover{-webkit-text-fill-color:#10243f;-webkit-text-fill-color:var(--input-fg);box-shadow:inset 0 0 0 1000px #fbfdff;box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.auth-input{background:#fbfdff;background:var(--input-bg);border:1px solid #cbdce9;border:1px solid var(--input-border);border-radius:10px;color:#10243f;color:var(--input-fg);height:44px;outline:none;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.auth-input:focus{border-color:#168df4;border-color:var(--input-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,#168df4 28%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--input-border-focus) 28%,#0000)}.auth-button{align-items:center;background:#168df4;background:var(--brand);border:0;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;height:44px;justify-content:center;padding:0 16px;transition:transform .02s ease,filter .15s ease}.auth-button:active{transform:translateY(1px)}.auth-button[disabled]{cursor:not-allowed;opacity:.55}.alert{font-size:.9rem;margin-top:.75rem}.alert--error{color:#ff6b6b}.alert--info{color:#e8eef7d9}.auth-card button[type=submit],.supabase-auth-ui_ui-button,form[data-auth] button[type=submit]{background-color:#0a1a2f;border:1px solid #ffffff14;border-radius:8px;box-shadow:0 2px 6px #00000040;color:#f4f4f4;cursor:pointer;padding:.6rem 1rem;transition:background-color .25s,box-shadow .25s,border-color .25s}.auth-card button[type=submit]:hover,.supabase-auth-ui_ui-button:hover,form[data-auth] button[type=submit]:hover{background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 10px #2563eb59}.auth-card a,.supabase-auth-ui_ui-anchor,form[data-auth] a{color:#93c5fd;text-decoration:none}.auth-card a:hover,.supabase-auth-ui_ui-anchor:hover,form[data-auth] a:hover{text-decoration:underline}.brand-header{align-items:center;background:#071a32;background:var(--nav);border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--border);border-top-left-radius:.75rem;border-top-right-radius:.75rem;color:#10243f;color:var(--text);display:flex;height:4rem;justify-content:space-between;padding:0 2rem}.brand-header .brand-logo{display:block;height:3rem;object-fit:contain;width:auto}.brand-header .brand-title{font-size:1.25rem;font-weight:800;letter-spacing:.02em;line-height:1}@media (min-width:768px){.brand-header .brand-title{font-size:1.5rem}}.brand-header nav{align-items:center;display:flex;gap:.5rem}.brand-header nav a{border-radius:.375rem;color:#10243f;color:var(--text);font-size:.875rem;font-weight:700;padding:.5rem .75rem;text-decoration:none}.brand-header nav a:hover{background-color:#ffffff1a}.auth-card{background:var(--surf);border:1px solid var(--border);border-radius:0 0 .75rem .75rem;padding:1.25rem}img{height:auto;max-width:100%}@media (max-width:640px){.brand-header{height:3.5rem;padding:0 .75rem}.brand-header .brand-logo{height:2rem}.brand-header .brand-title{font-size:1rem}.brand-header nav{flex-wrap:wrap;gap:.25rem}.brand-header nav a{font-size:.8rem;padding:.4rem .6rem}.page-container{border-width:0;box-shadow:none;max-width:100%;padding:1rem}.auth-card,.supabase-auth-ui_ui-container{border-radius:10px;max-width:100%;padding:1rem}.top-menu-bar{gap:.75rem;padding:.5rem .75rem}.top-menu-bar button{padding:.35rem .75rem}.at-cursor,.at-cursor-bar,.at-cursor-beat{scroll-margin-top:80px}}@media (min-width:641px) and (max-width:1024px){.brand-header{height:3.75rem;padding:0 1rem}.brand-header .brand-logo{height:2.5rem}.brand-header .brand-title{font-size:1.25rem}.brand-header nav{flex-wrap:wrap;gap:.4rem}.brand-header nav a{font-size:.85rem;padding:.45rem .7rem}.page-container{max-width:48rem;padding:1.25rem}.auth-card,.supabase-auth-ui_ui-container{max-width:28rem}.top-menu-bar{gap:1rem;padding:.6rem 1rem}.at-cursor,.at-cursor-bar,.at-cursor-beat{scroll-margin-top:96px}}@media (min-width:1025px){.brand-header{height:4rem;padding:0 2rem}.brand-header .brand-logo{height:3rem}.brand-header .brand-title{font-size:1.5rem}.brand-header nav{gap:.5rem}.page-container{padding:2rem}.auth-card,.supabase-auth-ui_ui-container{max-width:26.25rem}.at-cursor,.at-cursor-bar,.at-cursor-beat{scroll-margin-top:112px}}.mobile-menu-toggle{display:none}@media (max-width:640px){.brand-header{overflow:hidden}.brand-header nav{display:none}.mobile-menu-toggle{align-items:center;background:#0000;border:1px solid #dbe8f2;border:1px solid var(--border);border-radius:.5rem;color:#10243f;color:var(--text);display:inline-flex;height:2.25rem;justify-content:center;margin-left:.5rem;width:2.25rem}.mobile-menu-toggle:active{background:#ffffff1a}.mobile-menu-panel{background:#071a32;background:var(--nav);border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--border);color:#10243f;color:var(--text);display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.mobile-menu-panel a,.mobile-menu-panel span{border-radius:.5rem;color:#10243f;color:var(--text);font-size:.95rem;font-weight:700;padding:.6rem .75rem;text-decoration:none}.mobile-menu-panel a:hover{background:#ffffff1a}}.brand-header{position:-webkit-sticky;position:sticky;top:0;z-index:1100}@media (max-width:640px){.mobile-menu-panel{-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);box-shadow:0 12px 24px #00000059;left:0;padding-bottom:max(.5rem,env(safe-area-inset-bottom));right:0;width:100%}.mobile-menu-panel a,.mobile-menu-panel span{display:block;line-height:1.25rem}.mobile-menu-panel{animation:slideDown .18s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}.player-header{color:#f4f4f4}.main-background{background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:calc(100vh - 4rem)}@media (max-width:640px){.main-background{background-position:top;background-size:contain}}.teacher-homework-container.teacher--navy{background-color:initial;border:0;box-shadow:none;color:#10243f;color:var(--text)}.teacher-homework-container.teacher--navy h1,.teacher-homework-container.teacher--navy h2,.teacher-homework-container.teacher--navy h3,.teacher-homework-container.teacher--navy label,.teacher-homework-container.teacher--navy p{color:var(--text)}.teacher-homework-container.teacher--navy a{color:#93c5fd;text-decoration:none}.teacher-homework-container.teacher--navy a:hover{text-decoration:underline}.teacher-homework-container.teacher--navy .btn,.teacher-homework-container.teacher--navy button{background-color:#071a32;background-color:var(--btn);border:1px solid #dbe8f2;border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 6px #00000040;color:#10243f;color:var(--text);cursor:pointer;padding:.6rem 1rem;transition:background-color .25s,box-shadow .25s,border-color .25s}.teacher-homework-container.teacher--navy .btn:hover,.teacher-homework-container.teacher--navy button:hover{background-color:#168df4;background-color:var(--brand);border-color:#168df4;border-color:var(--brand);box-shadow:0 4px 10px #2563eb59}.teacher-homework-container.teacher--navy input,.teacher-homework-container.teacher--navy select,.teacher-homework-container.teacher--navy textarea{background-color:#0a1a2f;border:1px solid #ffffff26;border-radius:6px;color:var(--text);font-size:1rem;padding:.75rem;width:100%}.teacher-homework-container.teacher--navy input:focus,.teacher-homework-container.teacher--navy select:focus,.teacher-homework-container.teacher--navy textarea:focus{border-color:#168df4;border-color:var(--brand);box-shadow:0 0 0 2px #2563eb59;outline:none}@media (max-width:640px){.teacher-homework-container{padding:1rem}.teacher-homework-container.teacher--navy{border-radius:10px}}.teacher-homework-container .student-card{background:#0000;border:1px solid #ffffff1f;box-shadow:none;color:#10243f;color:var(--text)}.teacher-homework-container .student-card:hover{background:#ffffff0a}.teacher-homework-container .student-card:focus-visible{outline:2px solid #168df4;outline:2px solid var(--brand);outline-offset:2px}.student-meta{grid-gap:8px 12px;align-items:center;display:grid;gap:8px 12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:8px}.meta-item{align-items:baseline;display:flex;gap:6px;min-width:0}.meta-label{font-size:.9rem;opacity:.7;white-space:nowrap}.meta-value{color:#10243f;color:var(--text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis}@media (max-width:420px){.student-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.student-inline{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.student-name{flex:1 1 200px;margin:0;min-width:140px}.student-facts{align-items:center;display:flex;flex-wrap:wrap;gap:6px 12px}.fact-item{align-items:baseline;display:flex;gap:6px;white-space:nowrap}@media (max-width:640px){.student-name{flex-basis:100%}.student-facts{gap:6px 10px}}.teacher-homework-container.teacher--navy h2{color:#10243f;color:var(--text);margin:0 0 1rem}.teacher-homework-container.teacher--navy .homework-list{display:flex;flex-direction:column;gap:.75rem}.teacher-homework-container.teacher--navy .homework-card h3{color:#10243f;color:var(--text);margin:0}.teacher-homework-container.teacher--navy .homework-card .meta{color:#10243f;color:var(--text);opacity:.95}.teacher-homework-container.teacher--navy .homework-card .meta span{align-items:baseline;display:inline-flex;gap:6px;white-space:nowrap}.teacher-homework-container.teacher--navy .homework-card .meta strong{opacity:.85}.teacher-homework-container.teacher--navy input::placeholder{color:#e8eef7b3}.teacher-homework-container.teacher--navy .btn-danger:hover{background-color:#e53935;border-color:#e53935;box-shadow:0 4px 10px #e5393559}@media (max-width:640px){.teacher-homework-container.teacher--navy .homework-card h3{font-size:1rem}}.teacher-homework-container.teacher--navy .btn-primary{background-color:#2563eb;border:1px solid #2563eb;color:#fff}.teacher-homework-container.teacher--navy .btn-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #2563eb59}.teacher-homework-container.teacher--navy .btn-danger{background-color:#c62828;border:1px solid #c62828;color:#fff}.teacher-homework-container.teacher--navy .btn-danger:hover{background-color:#b71c1c;border-color:#b71c1c;box-shadow:0 4px 10px #b71c1c59}.teacher-homework-container.teacher--navy .homework-form-container form button[type=submit]{margin-top:1.5rem}.report-pane,.report-pane h2,.report-pane h3,.report-pane h4,.report-pane label{color:#10243f;color:var(--text)}.report-pane input[type=date],.report-pane input[type=text],.report-pane select,.report-pane textarea{background-color:#0a1a2f;border:1px solid #ffffff26;border-radius:6px;color:#10243f;color:var(--text);padding:.5rem .75rem}.report-pane select option{background-color:#0a1a2f;color:var(--text)}.report-pane .filter-row,.report-pane .filters{gap:.5rem;row-gap:.5rem}.report-pane .btn,.report-pane button,.report-pane button[type=button]{background-color:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .25s,box-shadow .25s,border-color .25s}.report-pane .btn:hover,.report-pane button:hover,.report-pane button[type=button]:hover{background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #1d4ed859}.report-pane input[type=date],.report-pane input[type=text],.report-pane select,.report-pane textarea{-webkit-text-fill-color:#10243f!important;-webkit-text-fill-color:var(--field-fg)!important;background-color:#fbfdff!important;background-color:var(--field-bg)!important;border:1px solid #cbdce9!important;border:1px solid var(--field-border)!important;border-radius:10px;border-radius:var(--radius-sm);color:#10243f!important;color:var(--field-fg)!important;color-scheme:light}.report-pane select option{background-color:#fff;background-color:var(--white);color:#10243f;color:var(--ink)}.report-pane input[type=text]::placeholder,.report-pane select::placeholder,.report-pane textarea::placeholder{-webkit-text-fill-color:var(--ink-muted)!important;color:var(--ink-muted)!important}.report-pane input[type=date]:focus,.report-pane input[type=text]:focus,.report-pane select:focus,.report-pane textarea:focus{border-color:#168df4!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px #168df421;box-shadow:0 0 0 4px var(--field-focus-ring);outline:none}.report-pane .btn,.report-pane button,.report-pane button[type=button],.report-pane button[type=submit]{background-color:#2563eb!important;border:1px solid #2563eb!important;border-radius:8px;color:#fff!important;cursor:pointer;padding:.5rem 1rem;transition:background-color .25s,box-shadow .25s,border-color .25s}.report-pane .btn:hover,.report-pane button:hover,.report-pane button[type=button]:hover,.report-pane button[type=submit]:hover{background-color:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 4px 10px #1d4ed859}.report-pane .report-item{margin-bottom:1rem}.report-pane .report-detail{margin-left:1.25rem}.report-pane .report-empty{margin-left:1rem;opacity:.9}.report-performance-badge{background:#effbf6;border:1px solid #13755340;border-radius:999px;color:#137553;font-size:.78rem;font-weight:800;margin-left:.65rem;padding:.18rem .5rem}.report-performance-detail{grid-gap:.3rem;background:#effbf6;border:1px solid #13755338;border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);display:grid;gap:.3rem;margin:.7rem 0 1rem;padding:.8rem 1rem}.report-pane .filter-row,.report-pane .filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem}table.teacher-homeworks{border-collapse:collapse;width:100%}table.teacher-homeworks td,table.teacher-homeworks th{padding:.75rem;text-align:left}@media (max-width:640px){table.teacher-homeworks thead{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}table.teacher-homeworks,table.teacher-homeworks tbody,table.teacher-homeworks td,table.teacher-homeworks tr{display:block;width:100%}table.teacher-homeworks tr{background:#fff;background:var(--surf,#ffffff08);border:1px solid #ffffff26;border-radius:8px;margin-bottom:.75rem;padding:.5rem .75rem}table.teacher-homeworks td{border:none;min-height:2.25rem;padding-left:8.5rem;position:relative}table.teacher-homeworks td:before{content:attr(data-label);font-weight:600;left:.75rem;opacity:.85;position:absolute;top:.5rem;white-space:nowrap;width:7.5rem}.teacher-homework-container.teacher--navy .homework-card .meta{flex-wrap:wrap}.teacher-homework-container.teacher--navy .homework-card .meta span{white-space:normal}.teacher-homework-container{max-width:100%;overflow-x:hidden}.teacher-homework-container.teacher--navy .homework-card{box-sizing:border-box;max-width:100%;width:100%}.teacher-homework-container.teacher--navy .homework-card .actions{align-items:flex-end;flex-direction:column;gap:.5rem;width:100%}.teacher-homework-container.teacher--navy .homework-card .actions .btn,.teacher-homework-container.teacher--navy .homework-card .actions button{align-self:flex-end;justify-content:center;min-width:100px;width:16.5%}.teacher-homework-container.teacher--navy .homework-card{align-items:flex-start}.teacher-homework-container.teacher--navy .homework-card .flex-1{min-width:72%}.teacher-homework-container.teacher--navy .homework-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.teacher-homework-container{overflow-x:visible}table.teacher-homeworks td.actions,table.teacher-homeworks td[data-label*=Action],table.teacher-homeworks td[data-label*=Aksiyon],table.teacher-homeworks td[data-label*=\130\15Flem]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;min-height:auto;padding-left:.75rem}table.teacher-homeworks td.actions:before,table.teacher-homeworks td[data-label*=Action]:before,table.teacher-homeworks td[data-label*=Aksiyon]:before,table.teacher-homeworks td[data-label*=\130\15Flem]:before{content:"";display:none}table.teacher-homeworks td.actions .btn,table.teacher-homeworks td.actions button,table.teacher-homeworks td[data-label*=Action] .btn,table.teacher-homeworks td[data-label*=Action] button,table.teacher-homeworks td[data-label*=Aksiyon] .btn,table.teacher-homeworks td[data-label*=Aksiyon] button,table.teacher-homeworks td[data-label*=\130\15Flem] .btn,table.teacher-homeworks td[data-label*=\130\15Flem] button{flex:1 1 140px;max-width:100%;min-width:120px;white-space:nowrap}}body.findnote-page,body.findnote-page #root{background-color:#0a1a2f!important}.findnote-page .card-surface,.findnote-page .content-wrapper,.findnote-page .main-background,.findnote-page .menu-buttons,.findnote-page .page-container .menu-buttons,.findnote-page .panel,.findnote-page .surface{background:#0000!important;border:0!important;box-shadow:none!important}body.findnote-page #root{margin:0!important;min-height:100vh}body.findnote-page #root .card,body.findnote-page #root .container,body.findnote-page #root .game-root,body.findnote-page #root [class*=card],body.findnote-page #root [class*=container],body.findnote-page #root [class*=wrapper],body.findnote-page #root>div,body.findnote-page #root>div>div{background:#0000!important;border:0!important;box-shadow:none!important}body.findnote-page #root .game-root{margin:0 auto;max-width:100%}.workspace-page{margin:0 auto;padding:3rem 0 5rem;width:min(1080px,calc(100% - 2rem))}.workspace-hero{margin-bottom:1.5rem;max-width:720px}.workspace-hero h1,.workspace-section-heading h2{color:#10243f;color:var(--text);margin:.35rem 0 .6rem}.workspace-hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.workspace-hero p,.workspace-muted{color:#e8eef7b3}.workspace-eyebrow{color:#7da5ff;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.capacity-card,.workspace-panel{background:linear-gradient(145deg,#162f52eb,#0c1e35f5);border:1px solid #ffffff17;border-radius:18px;box-shadow:0 18px 50px #00000038}.workspace-panel{margin-bottom:1.25rem;padding:clamp(1rem,3vw,1.75rem)}.capacity-grid,.workspace-option-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.capacity-grid{grid-template-columns:repeat(2,1fr);margin-bottom:1.25rem}.workspace-option{align-items:flex-start;background:#05122280;border:1px solid #ffffff1a;border-radius:14px;color:var(--text);display:flex;flex-direction:column;gap:.7rem;min-height:150px;padding:1.1rem;text-align:left}.workspace-option span{color:#e8eef7ad;line-height:1.5}.workspace-option.is-selected{background:#2563eb24;border-color:#5d8cff;box-shadow:0 0 0 3px #2563eb38}.workspace-field{grid-gap:.45rem;display:grid;font-weight:700;gap:.45rem;margin-top:1rem}.workspace-field input,.workspace-field select,.workspace-nav-select{background:#fbfdff;background:var(--input-bg);border:1px solid #cbdce9;border:1px solid var(--input-border);border-radius:10px;color:#10243f;color:var(--input-fg);padding:.8rem .9rem}.workspace-nav-select{max-width:190px;padding:.5rem .65rem}.workspace-primary-button,.workspace-secondary-button{border-radius:10px;cursor:pointer;font-weight:800;padding:.8rem 1rem}.workspace-primary-button{background:#2563eb;border:1px solid #4f7ff0;color:#fff;margin-top:1rem}.workspace-secondary-button{background:#0000;border:1px solid #ffffff29;color:#10243f;color:var(--text);margin-top:1rem}.workspace-primary-button:disabled{cursor:wait;opacity:.55}.workspace-status{color:#b9cdfd;margin:1rem 0 0;overflow-wrap:anywhere}.membership-status-banner{align-items:center;background:#70420cc7;border:1px solid #d59c3d;border-radius:14px;color:#fff3d6;display:flex;gap:1rem;justify-content:space-between;margin:1rem auto;max-width:1180px;padding:1rem 1.25rem}.membership-status-banner p{margin:.3rem 0 0}.membership-status-banner small{white-space:nowrap}@media (max-width:680px){.membership-status-banner{align-items:flex-start;flex-direction:column;margin:.75rem}}.platform-filter-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);margin-bottom:1rem}@media (max-width:680px){.platform-filter-row{grid-template-columns:1fr}}.workspace-link-button{display:inline-block;text-decoration:none}.invitation-acceptance{max-width:720px}.member-directory{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:1rem}.member-directory-item{align-items:center;border:1px solid #ffffff1f;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.member-directory-item div{grid-gap:.2rem;display:grid;gap:.2rem}.member-directory-item small{color:#e8eef7a6}.member-directory-item a{color:#b9cdfd}.assignment-form{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto;margin-top:1.5rem}.assignment-form .workspace-primary-button{margin-top:0}.activity-timeline{grid-gap:.75rem;display:grid;gap:.75rem}.activity-event{grid-gap:.25rem;background:hsla(0,0%,100%,.035);border-left:3px solid #5d8cff;border-radius:0 12px 12px 0;display:grid;gap:.25rem;padding:1rem}.activity-event small,.activity-event span,.activity-event time{color:#e8eef7ad}.platform-directory-row{background:#0000;border:1px solid #ffffff1f;border-radius:12px;color:inherit;display:flex;gap:1rem;justify-content:space-between;padding:1rem;text-align:left;width:100%}.platform-directory-row.is-selected{background:#5d8cff1f;border-color:#5d8cff;box-shadow:0 0 0 1px #5d8cff38}.capacity-editor{align-items:center;display:flex;gap:.5rem}.capacity-editor input{background:#0000002e;border:1px solid #ffffff2e;border-radius:8px;color:inherit;padding:.55rem .65rem;width:7rem}.entitlement-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:1rem}.workspace-identity{grid-gap:.75rem;background:#0f1a2fb8;border:1px solid #ffffff1f;border-radius:14px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 auto 1.5rem;padding:1rem;width:min(100%,56rem)}.workspace-identity>div{grid-gap:.2rem;display:grid;gap:.2rem}.workspace-identity>div>span{color:#e8eef7ad;font-size:.78rem}.workspace-identity>div>strong{color:#fff}.feature-toggle{align-items:center;display:flex;gap:.55rem;margin:.75rem 0}.feature-toggle input{height:1.1rem;width:1.1rem}.workspace-back-link,.workspace-secondary-action{color:#b9d0ff;display:inline-flex;font-weight:700;margin-bottom:1rem;text-decoration:none;width:-webkit-fit-content;width:fit-content}.workspace-secondary-action{border:1px solid #b9d0ff59;border-radius:10px;margin-top:1rem;padding:.65rem .9rem}.detail-facts{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-facts>div{grid-gap:.25rem;display:grid;gap:.25rem}.detail-facts span{color:#e8eef7ad;font-size:.8rem}.detail-facts strong{overflow-wrap:anywhere}.risk-panel{background:#7648001f;border-color:#ffbe5c6b}.workspace-field textarea{min-height:5.5rem;resize:vertical}.activity-filters{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.invitation-list,.workspace-list{grid-gap:.65rem;display:grid;gap:.65rem}.invitation-list-item,.workspace-list-item{align-items:center;background:#05122273;border:1px solid #ffffff14;border-radius:12px;color:#10243f;color:var(--text);display:flex;gap:1rem;justify-content:space-between;padding:1rem;text-align:left;width:100%}.invitation-list-item div,.workspace-list-item span:first-child{grid-gap:.25rem;display:grid;gap:.25rem}.invitation-list-item small,.workspace-list-item small{color:#e8eef79e}.workspace-list-item.is-selected{border-color:#5d8cff}.capacity-card{grid-gap:.35rem;display:grid;gap:.35rem;padding:1.25rem}.capacity-card small,.capacity-card span{color:#e8eef7ad}.capacity-card strong{font-size:1.8rem}.workspace-section-heading{align-items:end;display:flex;gap:1rem;justify-content:space-between}.workspace-section-heading small{color:#e8eef79e;max-width:420px}.invitation-form{grid-gap:.8rem;align-items:end;display:grid;gap:.8rem;grid-template-columns:2fr 1fr auto}.invitation-form .workspace-primary-button{margin-top:1rem}.invitation-token{grid-gap:.5rem;background:#020a148c;border-radius:10px;display:grid;gap:.5rem;margin-top:1rem;padding:1rem}.invitation-token code{color:#b9cdfd;overflow-wrap:anywhere}.invitation-list-item button{background:#0000;border:1px solid #ffb0b04d;border-radius:8px;color:#ffb0b0;padding:.5rem .75rem}@media (max-width:760px){.workspace-page{padding-top:2rem}.capacity-grid,.invitation-form,.workspace-option-grid{grid-template-columns:1fr}.workspace-option{min-height:auto}.workspace-section-heading{align-items:flex-start;flex-direction:column}.workspace-nav-select{margin:.3rem 0;max-width:none;width:100%}.activity-filters,.assignment-form{grid-template-columns:1fr}.member-directory-item{align-items:flex-start;flex-direction:column}}.practisio-icon{background-repeat:no-repeat;background-size:300% 300%;display:inline-block;flex:0 0 auto;vertical-align:middle}.menu-button .practisio-icon,.nav-action-with-icon .practisio-icon{margin-right:.5rem}.performance-capture-page{color:#e8eef7;min-height:70vh;padding:2rem 1rem 8rem}.performance-capture-card{background:#001f3f;border:1px solid #ffffff24;border-radius:18px;box-shadow:0 18px 50px #00000047;margin:0 auto;padding:clamp(1.25rem,3vw,2rem);width:min(760px,100%)}.performance-kicker{color:#71b7ff;font-size:.78rem;font-weight:700;letter-spacing:.12em;margin:0 0 .35rem;text-transform:uppercase}.performance-capture-card h1{margin:0 0 .5rem}.performance-description,.performance-device-panel p{color:#e8eef7c7}.performance-device-panel{align-items:center;background:#ffffff0f;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;margin:1.5rem 0 .75rem;padding:1rem}.performance-device-panel p{margin:.25rem 0 0}.performance-device-panel button,.performance-list-button{background:#2563eb38;border:1px solid #71b7ff8c;border-radius:9px;color:#e8eef7;cursor:pointer;padding:.65rem .9rem}.performance-mode{grid-gap:.65rem;border:1px solid #ffffff24;border-radius:12px;display:grid;gap:.65rem;margin:1rem 0;padding:1rem}.performance-mode label{align-items:center;display:flex;gap:.55rem}.performance-mode select{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);margin-left:auto;min-height:42px;padding:.45rem .65rem}.performance-mode span{background:#2563eb;border-radius:999px;font-size:.72rem;padding:.15rem .45rem}.performance-status{align-items:center;background:#ffffff12;border-radius:12px;display:flex;font-weight:700;gap:.55rem;justify-content:center;margin:1.25rem 0 .8rem;min-height:48px}.performance-status--recording{background:#b91c1c47}.performance-record-dot{animation:performance-record-pulse 1.4s ease-in-out infinite;background:#ff4d4f;border-radius:50%;height:12px;width:12px}@keyframes performance-record-pulse{50%{opacity:.35;transform:scale(.82)}}.performance-primary{background:#2563eb;border:0;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.95rem 1.1rem;width:100%}.performance-stop{background:#b91c1c}.performance-discard{background:#fff5f5;border:1px solid #a8323259;border-radius:10px;color:#a83232;cursor:pointer;font-weight:700;min-height:44px}.performance-review{grid-gap:.8rem;display:grid;gap:.8rem}.performance-review audio{width:100%}.performance-audio-player{grid-gap:.7rem;align-items:center;background:#f2f8fc;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;display:grid;gap:.7rem;grid-template-columns:48px minmax(0,1fr) auto;padding:.55rem .7rem}.performance-audio-player audio{display:none}.performance-audio-toggle{align-items:center;background:#dff2ff;background:var(--sky);border:1px solid #168df459;border-radius:12px;color:#0870d1;color:var(--blue-deep);cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;min-height:44px;touch-action:manipulation;width:44px}.performance-audio-progress{accent-color:#168df4;accent-color:var(--blue);width:100%}.performance-audio-time{font-feature-settings:"tnum";color:#526579;color:var(--ink-soft);font-size:.78rem;font-variant-numeric:tabular-nums;min-width:76px;text-align:right}.performance-audio-toggle .is-play{border-bottom:8px solid #0000;border-left:13px solid;border-top:8px solid #0000;height:0;width:0}.performance-audio-toggle .is-pause{border-left:5px solid;border-right:5px solid;height:16px;width:13px}.performance-lifecycle-notice{background:#e7fbf5;border:1px solid #16a08559;border-radius:10px;color:#075b4c;font-weight:700;margin:.65rem 0 0;padding:.75rem .85rem}.performance-error,.performance-warning{color:#ffb4b4}.performance-success{color:#92e6b3;font-weight:700}.performance-privacy-note{color:#e8eef79e;font-size:.82rem;line-height:1.5;margin:1.25rem 0 0}.performance-list-button{margin-top:.85rem}.player-performance-controls{align-items:center;display:flex;flex:0 0 auto;gap:.55rem}.player-record-button{background:#2563eb3d;border:1px solid #71b7ff8c;border-radius:10px;color:#f4f8ff;cursor:pointer;font-weight:700;min-height:44px;padding:.55rem .8rem;touch-action:manipulation}.player-record-button.is-recording{align-items:center;background:#b91c1cb8;border-color:#ff6464d9;display:inline-flex;gap:.5rem}.player-record-status{color:#ffb4b4;font-size:.72rem;font-weight:800;letter-spacing:.12em}.player-record-cancel{background:#0000;border:1px solid #ffffff59;border-radius:10px;color:#fff;font-weight:700;min-height:44px;padding:.55rem .75rem}.recording-range-guidance{background:#e7fbf5;border:2px solid #16a085;border-radius:12px;box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#075b4c;font-weight:800;margin:.5rem auto;padding:.8rem 1rem;position:-webkit-sticky;position:sticky;text-align:center;top:.75rem;width:min(720px,calc(100% - 1rem));z-index:20}.performance-countdown{grid-gap:.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071a32c7;color:#fff;display:grid;gap:.5rem;inset:0;justify-items:center;place-content:center;pointer-events:none;position:fixed;z-index:20000}.performance-countdown strong{font-family:Manrope,sans-serif;font-size:clamp(7rem,25vw,13rem);line-height:.9}.performance-countdown span{font-size:1.25rem;font-weight:800}.performance-countdown--coach{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:1rem;box-shadow:0 4px 20px #071a5030;gap:.8rem;grid-template-columns:auto auto;inset:auto 1rem 1rem auto;padding:.65rem 1rem}.performance-countdown--coach strong{font-size:2.8rem}.performance-countdown--coach span{font-size:.9rem}.coach-celebration{align-items:center;background:#071a32db;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;text-align:center;z-index:22000}.coach-celebration strong{color:#fff;font-size:clamp(2rem,6vw,4rem)}.coach-celebration p{color:#fff;font-size:1.3rem}.coach-report{background:#f1f8ff;border:1px solid #c9dceb;border-radius:14px;box-sizing:border-box;color:#173149;margin:0 0 1rem;padding:1rem;width:100%}.coach-report header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.coach-report h2{font-size:1.1rem;margin:0 0 .25rem}.coach-report header>strong{color:#1675bb;font-size:1.8rem}.coach-report progress{accent-color:#1675bb;height:.6rem;margin-top:.75rem;width:100%}.coach-report summary{cursor:pointer;padding:.5rem 0}.coach-report__step{border-top:1px solid #c9dceb}.coach-report__recording{align-items:center;display:flex;gap:1rem;padding:.5rem 0}.coach-report__recording>div{grid-gap:.25rem;display:grid;gap:.25rem;min-width:0}.coach-report__note{color:#536b7d;font-size:.85rem}.performance-scope label{background:#f7fbff;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;min-height:48px;padding:.6rem .75rem}.performance-modal-backdrop{background:#010a18c7;display:grid;inset:0;overflow-y:auto;padding:1rem;place-items:center;position:fixed;z-index:12000}.performance-modal{max-height:calc(100vh - 2rem);overflow-y:auto;position:relative}.performance-modal-close{background:#ffffff14;border:0;border-radius:50%;color:#e8eef7;cursor:pointer;font-size:1.7rem;height:40px;line-height:1;position:absolute;right:.8rem;top:.7rem;width:40px}@media (max-width:620px){.performance-device-panel{align-items:stretch;flex-direction:column}.player-record-button{font-size:.78rem;padding-inline:.6rem}.player-record-status{display:none}}.performance-inbox{color:#e8eef7;margin:0 auto;min-height:70vh;padding:2rem 0 7rem;width:min(920px,calc(100% - 2rem))}.performance-inbox header>p:last-child{color:#e8eef7b8}.performance-inbox-list{grid-gap:1rem;display:grid;gap:1rem;margin-top:1.5rem}.performance-inbox-item{grid-gap:.9rem;background:#001f3f;border:1px solid #ffffff24;border-radius:16px;display:grid;gap:.9rem;padding:1.25rem}.performance-inbox-heading{display:flex;gap:1rem;justify-content:space-between}.performance-inbox-heading h2,.performance-inbox-heading p{margin:0}.performance-inbox-heading span{color:#92e6b3;font-size:.82rem}.performance-metadata{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin:0}.performance-metadata div{background:#ffffff0f;border-radius:9px;padding:.7rem}.performance-metadata dt{color:#e8eef794;font-size:.75rem}.performance-metadata dd{margin:.25rem 0 0}.performance-inbox-item audio{width:100%}.performance-secondary{background:#2563eb33;border:1px solid #71b7ff8c;border-radius:10px;color:#e8eef7;cursor:pointer;padding:.75rem 1rem}.performance-midi-ready{color:#9bc9f7;font-size:.85rem;margin:0}.performance-analysis-preview,.performance-analysis-summary{grid-gap:.5rem;background:#1e40af2e;border:1px solid #9bc9f759;border-radius:10px;display:grid;gap:.5rem;padding:.85rem}.performance-analysis-preview span{color:#e8eef7d1}.performance-analysis-summary{margin-top:.75rem}.performance-feedback-label{font-weight:700}.student-performance-feedback{background:#0c4a3759;border:1px solid #92e6b373;border-radius:10px;margin-top:1rem;padding:.9rem}.student-performance-feedback__heading{align-items:center;color:#b7f7cf;display:flex;gap:.75rem;justify-content:space-between}.student-performance-feedback__heading span{background:#92e6b333;border-radius:999px;min-width:1.65rem;padding:.1rem .45rem;text-align:center}.student-performance-feedback__item{margin-top:.7rem}.student-performance-feedback__item+.student-performance-feedback__item{border-top:1px solid #ffffff1f;padding-top:.7rem}.student-performance-feedback__item p{margin:0;white-space:pre-wrap}.student-midi-analysis,.student-teacher-feedback{grid-gap:.5rem;display:grid;gap:.5rem}.student-teacher-feedback{margin-top:.75rem}.student-midi-analysis__metrics{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.student-midi-analysis__metrics span{background:#ffffff12;border-radius:7px;font-size:.8rem;padding:.45rem}.student-midi-analysis small{color:#e8eef7ad}.student-performance-feedback__item time{color:#e8eef7ad;display:block;font-size:.78rem;margin-top:.4rem}.performance-inbox-item textarea{background:#071a2e;border:1px solid #ffffff2e;border-radius:10px;box-sizing:border-box;color:#e8eef7;padding:.8rem;resize:vertical;width:100%}.performance-inbox--embedded>header h1{font-size:1.05rem;margin:0}.performance-inbox--embedded .performance-inbox-list{gap:.7rem;margin-top:.6rem}.performance-inbox--embedded .performance-inbox-item{gap:.6rem;padding:.8rem}.performance-inbox--embedded .performance-inbox-heading h2{font-size:1rem}.performance-recording-block{grid-gap:.45rem;background:var(--surface);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);display:grid;gap:.45rem;padding:.7rem}.performance-recording-block h3{align-items:center;color:#10243f;color:var(--ink);display:flex;flex-wrap:wrap;font-size:.95rem;gap:.4rem .7rem;margin:0}.performance-recording-score{background:#dff2ff;background:var(--sky);border-radius:999px;color:#0870d1;color:var(--blue-deep);font-size:.78rem;padding:.2rem .5rem}.performance-inbox--embedded .performance-metadata{gap:.35rem;grid-template-columns:repeat(3,minmax(0,1fr))}.performance-inbox--embedded .performance-metadata div{min-width:0;padding:.45rem .55rem}.performance-recording-analysis>summary{color:#0870d1;color:var(--blue-deep);cursor:pointer;font-size:.85rem;font-weight:800;min-height:40px}.performance-recording-analysis .midi-analysis-report{margin-top:.4rem}.performance-recording-block .performance-rating{margin:.2rem 0}.performance-recording-block .performance-rating button{height:2rem;width:2rem}.performance-rating button:disabled{cursor:default;opacity:.75}.performance-feedback-history{grid-gap:.4rem;display:grid;gap:.4rem;list-style:none;margin:.2rem 0;padding:0}.performance-feedback-history li{background:#fff;background:var(--white);border-left:3px solid #168df4;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:.55rem .65rem}.performance-feedback-history p{margin:0;white-space:pre-wrap}.performance-feedback-history time{color:#526579;color:var(--ink-soft);display:block;font-size:.75rem;margin-top:.2rem}.performance-inbox--embedded .performance-inbox-title h1{color:#526579;color:var(--ink-soft);font-size:.9rem;font-weight:800}.performance-inbox--embedded .performance-inbox-list{margin-top:.4rem}.performance-inbox--embedded .performance-inbox-item{padding:.7rem}.performance-rating--compact{grid-gap:.28rem;display:grid;gap:.28rem}.performance-rating--compact legend{color:#526579;color:var(--ink-soft);font-size:.78rem;margin:0 0 .3rem}.performance-rating--compact .performance-rating__choices{display:flex;flex-wrap:nowrap;gap:.27rem}.performance-rating--compact .performance-rating__choices button{border-radius:10px;flex:0 0 auto;font-size:.8rem;height:34px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease;width:clamp(28px,4vw,34px)}.performance-rating--compact .performance-rating__choices button:active{transform:scale(.88)}.performance-rating--compact .performance-rating__choices button.is-selected{animation:performance-rating-pop .23s ease-out;box-shadow:0 4px 10px #168df440;transform:translateY(-3px) scale(1.08)}.performance-rating__response{color:#526579;color:var(--ink-soft);font-size:.72rem;min-height:1.25rem}.performance-rating__response.is-visible{animation:performance-rating-appear .22s ease-out;color:#0870d1;color:var(--blue-deep);font-weight:800}.performance-rating-final>span:first-child,.performance-rating__response span{color:#e7a33c}.performance-rating-final{align-items:center;background:#edf7ff;border:1px solid #bbdefa;border-radius:12px;color:#0870d1;color:var(--blue-deep);display:inline-flex;gap:.35rem;padding:.35rem .6rem;width:-webkit-fit-content;width:fit-content}.performance-rating-final strong{font-size:1.05rem;line-height:1}.performance-rating-final small{font-size:.7rem}.performance-rating-final>span:last-child{color:#526579;color:var(--ink-soft);font-size:.73rem}.performance-recording-block .performance-feedback-submit{border-radius:10px;font-size:.82rem;justify-self:start;min-height:38px;padding:.48rem .8rem;width:auto}.performance-recording-block .performance-feedback-label{font-size:.82rem}.performance-recording-block textarea{font-size:.82rem;min-height:48px;padding:.55rem .65rem}@keyframes performance-rating-pop{50%{transform:translateY(-5px) scale(1.16)}}@keyframes performance-rating-appear{0%{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.performance-rating--compact .performance-rating__choices button,.performance-rating--compact .performance-rating__choices button.is-selected,.performance-rating__response.is-visible{animation:none;transition:none}}.performance-recording-audio-layout{grid-gap:.7rem;align-items:center;display:grid;gap:.7rem}.performance-audio-player.is-compact{grid-gap:.1rem;background:#0000;border:0;display:grid;gap:.1rem;justify-items:center;padding:0}.performance-audio-player.is-compact .performance-audio-toggle{background:conic-gradient(#168df4 var(--audio-progress),#d9e7f2 0);background:conic-gradient(var(--blue) var(--audio-progress),#d9e7f2 0);border:0;border-radius:50%;height:56px;padding:5px;width:56px}.performance-audio-player.is-compact .performance-audio-toggle:before{background:#dff2ff;background:var(--sky);border-radius:50%;content:"";height:46px;position:absolute;width:46px}.performance-audio-player.is-compact .performance-audio-toggle{position:relative}.performance-audio-player.is-compact .performance-audio-toggle span{z-index:1}.performance-audio-player.is-compact .performance-audio-time{font-size:.68rem;min-width:0;text-align:center;white-space:nowrap}.performance-inbox .performance-recording-audio-layout .performance-metadata{align-items:baseline;display:flex;flex-wrap:wrap;gap:.15rem .8rem}.performance-inbox .performance-recording-audio-layout .performance-metadata div{align-items:baseline;background:#0000;display:inline-flex;gap:.25rem;padding:.12rem 0;white-space:nowrap}.performance-inbox .performance-recording-audio-layout .performance-metadata dt{color:#526579;color:var(--ink-soft);font-size:.72rem}.performance-inbox .performance-recording-audio-layout .performance-metadata dd{color:#10243f;color:var(--ink);font-size:.78rem;font-weight:750;margin:0}.midi-analysis-report.is-compact{gap:.55rem;margin-top:.1rem;padding:.65rem}.midi-analysis-report.is-compact .midi-analysis-report__overview{gap:.75rem;grid-template-columns:92px minmax(0,1fr);padding:.6rem}.midi-analysis-report.is-compact .midi-analysis-report__score{height:82px;padding:6px;width:82px}.midi-analysis-report.is-compact .midi-analysis-report__score strong{font-size:1.1rem}.midi-analysis-report.is-compact .midi-analysis-report__score span{font-size:.58rem;margin-top:.1rem}.midi-analysis-report.is-compact .midi-analysis-report__bars{gap:.3rem}.midi-analysis-report.is-compact .midi-analysis-report__bar-row{font-size:.75rem;gap:.45rem;grid-template-columns:minmax(110px,170px) minmax(60px,1fr) 35px}.midi-analysis-report__details-grid{grid-gap:.3rem .65rem;display:grid;gap:.3rem .65rem}.midi-analysis-report.is-compact .midi-analysis-report__details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.midi-analysis-report.is-compact .midi-analysis-report__details{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:9px;min-width:0;padding:0}.midi-analysis-report.is-compact .midi-analysis-report__details summary{font-size:.76rem;line-height:1.2;padding:.3rem .55rem;width:auto}.midi-analysis-report.is-compact .midi-analysis-report__details[open]{grid-column:1/-1}.midi-analysis-report.is-compact .midi-analysis-report__details>:not(summary){margin:.35rem .55rem .55rem}.midi-analysis-report.is-compact .midi-analysis-report__metrics{gap:.3rem}.midi-analysis-report.is-compact .midi-analysis-report__metrics div{padding:.4rem .5rem}.midi-analysis-report.is-compact .midi-analysis-report__measure-list{gap:.35rem;margin-top:.4rem}.midi-analysis-report.is-compact .midi-analysis-report__measure{font-size:.78rem;padding:.45rem .55rem}.midi-analysis-report.is-compact .midi-analysis-report__issue-list{gap:.25rem;margin-top:.4rem}.midi-analysis-report.is-compact .midi-analysis-report__issue-list li{padding:.4rem .5rem}@media (max-width:700px){.midi-analysis-report.is-compact .midi-analysis-report__details-grid{grid-template-columns:1fr}.midi-analysis-report.is-compact .midi-analysis-report__overview{grid-template-columns:1fr;justify-items:center}.midi-analysis-report.is-compact .midi-analysis-report__bars{width:100%}}@media (max-width:620px){.performance-inbox--embedded .performance-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-homework-detail{grid-gap:1.25rem;display:grid;gap:1.25rem}.homework-back-button{width:-webkit-fit-content;width:fit-content}.homework-open-player{align-items:center;border-radius:999px;display:inline-flex;font-size:1rem;gap:.7rem;justify-self:start;min-height:53px;padding:.45rem 1.1rem .45rem .5rem;width:auto}.homework-open-player__icon{background:#fff;background:var(--white);border-radius:50%;box-shadow:0 2px 8px #0870d12e;color:#0870d1;color:var(--blue-deep);display:grid;font-size:.86rem;height:40px;padding-left:2px;place-items:center;width:40px}.student-performance-heading{align-items:center;padding:0 .15rem}.student-feedback-title{color:#10243f;color:var(--ink);font-size:.82rem}.student-homework-action-row{align-items:stretch;display:flex;gap:14px}.student-homework-quick-stats{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.student-homework-quick-stats>div{align-content:center;background:#f7fbfe;border:1px solid #cfe2f1;border-radius:14px;display:grid;min-width:0;padding:8px 12px}.student-homework-quick-stats dt{color:#526579;color:var(--ink-soft);font-size:.68rem;font-weight:700;letter-spacing:.025em}.student-homework-quick-stats dd{color:#0870d1;color:var(--blue-deep);font-size:.9rem;font-weight:800;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-homework-quick-stats .student-homework-strength{background:#f2fbf6;border-color:#bee9d2}.student-homework-quick-stats .student-homework-strength dd{color:#14754a}.student-performance-accordion{overflow:hidden}.student-performance-accordion>summary{cursor:pointer;list-style:none}.student-performance-accordion>summary::-webkit-details-marker{display:none}.student-performance-summary-result{align-items:center;display:flex;gap:8px}.student-performance-summary-result strong{background:#e6f7ee;border-radius:999px;color:#126a43;font-size:.86rem;min-width:48px;padding:6px 9px;text-align:center}.student-performance-summary-result>span{color:#526579;color:var(--ink-soft);font-size:.76rem;font-weight:700}.student-performance-summary-result i{color:#0870d1;color:var(--blue-deep);font-size:1.1rem;font-style:normal;transition:transform .18s ease}.student-performance-accordion[open] .student-performance-summary-result i{transform:rotate(180deg)}.student-performance-accordion__body{grid-gap:.6rem;border-top:1px solid #dce9f3;display:grid;gap:.6rem;padding-top:.65rem}@media (max-width:900px){.student-homework-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-homework-detail__heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.student-homework-detail__heading>div{min-width:0}.student-homework-detail__heading .homework-back-button{flex:none;min-height:38px;padding:7px 11px}.student-performance-archive{grid-gap:.75rem;border-top:1px solid #ffffff24;display:grid;gap:.75rem;margin-top:.5rem;padding-top:1.25rem}.student-performance-archive .performance-inbox-list{margin-top:.5rem}.student-performance-archive h2,.student-performance-archive h3{margin:0}@media (max-width:720px){.performance-metadata{grid-template-columns:repeat(2,1fr)}.student-midi-analysis__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}*,:after,:before{box-sizing:border-box}html{background:#f7fbff;background:var(--paper);color-scheme:light}body{-webkit-font-smoothing:antialiased;line-height:1.55;min-width:320px}button,input,select,textarea{font:inherit}.brand-title,h1,h2,h3,h4{color:#10243f;color:var(--ink);font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.025em}a{color:#0870d1;color:var(--blue-deep)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #168df447;outline-offset:3px}::selection{background:#dff2ff;background:var(--sky);color:#071a32;color:var(--navy)}.app-error-boundary{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);margin:3rem auto;padding:1.5rem;width:min(680px,calc(100% - 2rem))}.app-route-loading{color:#526579;color:var(--ink-soft);display:grid;font-weight:700;min-height:min(42vh,360px);place-items:center}.app-footer-note{border-top:1px solid #dbe8f2;border-top:1px solid var(--line);color:#526579;color:var(--ink-soft);flex:0 0 auto;font-size:.75rem;margin:0;padding:.55rem 1rem max(.55rem,env(safe-area-inset-bottom));text-align:center;width:100%}#root .app-shell>header{flex:0 0 auto;position:relative;z-index:1100}#root .app-shell>header .brand-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7fbfff5!important;border:0!important;border-bottom:1px solid #dbe8f2!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:0 8px 28px #14487614;color:#10243f!important;color:var(--ink)!important;height:5rem!important;padding:0 clamp(1rem,4vw,3.25rem)!important}#root .app-shell>header .brand-logo{height:2.65rem!important}#root .app-shell>header .brand-title{color:#10243f!important;color:var(--ink)!important;font-size:1.15rem!important}#root .app-shell>header nav a,#root .app-shell>header nav span{align-items:center;color:#10243f!important;color:var(--ink)!important;display:inline-flex;min-height:44px;min-height:var(--touch-target)}#root .app-shell>header nav a:hover{background:#dff2ff;background:var(--sky)}#root .app-shell>header nav>div>div{color:#10243f!important;color:var(--ink)!important}#root .app-shell>header nav>span:last-child{color:#a83232!important}.app-brand-link{align-items:center;color:#10243f;color:var(--ink);display:inline-flex;gap:.55rem;text-decoration:none}.app-nav{align-items:center;display:flex;gap:.35rem}.app-nav-link{align-items:center;background:#0000;border:0;border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:800;gap:.45rem;min-height:44px;min-height:var(--touch-target);padding:.5rem .7rem;text-decoration:none}.app-nav-link.is-active,.app-nav-link:hover{background:#dff2ff;background:var(--sky);color:#0870d1;color:var(--blue-deep)}.app-nav-menu{position:relative}.app-nav-menu__trigger{font-family:inherit}.homework-menu-dropdown{background:#fff!important;background:var(--white)!important;border-color:#dbe8f2!important;border-color:var(--line)!important;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f!important;color:var(--ink)!important;display:flex;flex-direction:column;gap:.2rem;min-width:230px;padding:.5rem;position:absolute;right:0;top:calc(100% + .35rem);z-index:1000}.homework-menu-dropdown a{border-radius:10px;border-radius:var(--radius-sm);min-height:44px;min-height:var(--touch-target);padding:.5rem}.mobile-menu-toggle{border-color:#dbe8f2!important;border-color:var(--line)!important;color:#10243f!important;color:var(--ink)!important}.workspace-nav-select{background:#fff;background:var(--white);border-color:#dbe8f2;border-color:var(--line);color:#10243f;color:var(--ink)}.mobile-menu-toggle,.workspace-nav-select{min-height:44px;min-height:var(--touch-target)}.mobile-menu-toggle{min-width:44px;min-width:var(--touch-target)}.mobile-menu-panel{background:#fff!important;background:var(--white)!important;border-color:#dbe8f2!important;border-color:var(--line)!important;color:#10243f!important;color:var(--ink)!important}.mobile-menu-panel a,.mobile-menu-panel span{color:#10243f!important;color:var(--ink)!important;min-height:44px;min-height:var(--touch-target)}.mobile-menu-logout{background:#0000;border:0;color:#a83232;cursor:pointer;font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.6rem .75rem;text-align:left}.app-welcome{grid-gap:clamp(2rem,7vw,7rem);align-items:center;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);margin:0 auto;min-height:100%;padding:clamp(1rem,4vh,3rem) 0;width:min(1180px,calc(100% - 2rem))}.app-welcome:before{background:radial-gradient(circle,#168df42e,#0000 68%);content:"";height:62vh;inset:5rem 0 auto 45%;pointer-events:none;position:fixed;z-index:0}.app-welcome>*{position:relative;z-index:1}.app-eyebrow{align-items:center;color:#0870d1;color:var(--blue-deep);display:inline-flex;font-size:.78rem;font-weight:800;gap:.65rem;letter-spacing:.08em;text-transform:uppercase}.app-eyebrow:before{background:#168df4;background:var(--blue);content:"";height:2px;width:28px}.app-welcome h1{font-size:clamp(3rem,6.4vw,5.2rem);letter-spacing:-.055em;line-height:1.01;margin:1rem 0 1.25rem}.app-welcome h1 em{color:#168df4;color:var(--blue);font-style:normal}.app-welcome__content>p{color:#526579;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.25rem);max-width:640px}.app-welcome__content>small{color:#526579;color:var(--ink-soft);display:block;margin-top:1.7rem}.app-welcome__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.app-primary-action,.app-secondary-action{align-items:center;border-radius:13px;display:inline-flex;font-weight:700;gap:.8rem;justify-content:center;min-height:48px;padding:.75rem 1.15rem;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.app-primary-action{background:linear-gradient(135deg,#0870d1,#168df4);background:linear-gradient(135deg,var(--blue-deep),var(--blue));box-shadow:0 12px 26px #168df43d;color:#fff}.app-secondary-action{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);color:#10243f;color:var(--ink)}.app-primary-action:hover,.app-secondary-action:hover{box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);transform:translateY(-2px)}.app-welcome__visual{grid-gap:1rem;display:grid;gap:1rem;padding:1rem}.app-welcome__visual article{grid-column-gap:1rem;background:#ffffffe6;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);column-gap:1rem;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;padding:1.35rem}.app-welcome__visual article:nth-child(2){transform:translateX(2rem)}.app-welcome__visual article>span{background:#dff2ff;background:var(--sky);border-radius:13px;color:#0870d1;color:var(--blue-deep);display:grid;font-weight:800;grid-row:1/3;height:44px;place-items:center;width:44px}.app-welcome__visual strong{font-family:Manrope,sans-serif;font-size:1.2rem}.app-welcome__visual small{color:#526579;color:var(--ink-soft)}.page-container{font-family:DM Sans,sans-serif;margin:0 auto;max-width:1080px;min-height:calc(100vh - 9rem);padding:clamp(2rem,5vw,4rem) 0;width:min(1080px,calc(100% - 2rem))}.page-container,.page-title{color:#10243f;color:var(--ink)}.page-title{font-family:Manrope,sans-serif}.menu-buttons{grid-gap:1rem;background:#0000;border:0;box-shadow:none;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;width:min(760px,100%)}.menu-button{align-items:center;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);display:flex;font-size:1rem;font-weight:700;min-height:76px;padding:1rem 1.2rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.menu-button,.menu-button:hover{background:#fff;background:var(--white)}.menu-button:hover{border-color:#168df473;box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);color:#0870d1;color:var(--blue-deep);transform:translateY(-2px)}.metronome-page{gap:1.5rem;justify-content:flex-start}.metronome-page__heading{text-align:center;width:min(680px,100%)}.metronome-page__heading h1{font:800 clamp(2.4rem,6vw,4rem)/1.05 Manrope,sans-serif;letter-spacing:-.045em;margin:.15rem 0 .45rem}.metronome-page__heading>p:last-child{color:#526579;color:var(--ink-soft);margin:0}.metronome-card{grid-gap:1.25rem;background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);color:#10243f;color:var(--ink);display:grid;gap:1.25rem;justify-items:center;padding:clamp(1.5rem,5vw,2.5rem);width:min(520px,100%)}.metronome-knob-control{grid-gap:1.4rem;display:grid;gap:1.4rem;justify-items:center}.metronome-knob{background:#dff2ff;background:var(--sky);border:3px solid #fff;border:3px solid var(--white);border-radius:50%;box-shadow:0 12px 26px #14487629,inset 0 0 0 1px #dbe8f2;box-shadow:0 12px 26px #14487629,inset 0 0 0 1px var(--line);cursor:grab;display:grid;height:140px;place-items:center;position:relative;touch-action:none;transition:transform .05s linear;-webkit-user-select:none;user-select:none;width:140px;will-change:transform}.metronome-knob.is-dragging,.metronome-knob:active{cursor:grabbing;transition:none}.metronome-knob__indicator{background:#168df4;background:var(--blue);border-radius:999px;box-shadow:0 2px 5px #168df43d;height:34px;position:absolute;top:13px;width:4px}.metronome-stepper{grid-gap:.8rem;align-items:center;display:grid;gap:.8rem;grid-template-columns:44px 112px 44px;grid-template-columns:var(--touch-target) 112px var(--touch-target)}.metronome-stepper button{background:#dff2ff;background:var(--sky);border:1px solid #168df44d;border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 5px 14px #14487617;color:#0870d1;color:var(--blue-deep);cursor:pointer;font-size:1.45rem;font-weight:900;height:44px;height:var(--touch-target);padding:0;width:44px;width:var(--touch-target)}.metronome-stepper button:hover{background:#cfeaff;border-color:#168df4;border-color:var(--blue)}.metronome-stepper button:active{transform:translateY(2px) scale(.97)}.metronome-stepper input{-webkit-text-fill-color:#10243f;-webkit-text-fill-color:var(--ink);-webkit-appearance:textfield;appearance:textfield;background:#fbfdff;background:var(--field-bg);border:1px solid #cbdce9;border:1px solid var(--field-border);border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);font-size:1.55rem;font-weight:800;min-height:52px;padding:.55rem;text-align:center;width:112px}.metronome-stepper input:focus{border-color:#168df4;border-color:var(--blue);box-shadow:0 0 0 4px #168df421;box-shadow:0 0 0 4px var(--field-focus-ring);outline:none}.metronome-toggle{align-items:center;background:linear-gradient(135deg,#0870d1,#168df4);background:linear-gradient(135deg,var(--blue-deep),var(--blue));border:1px solid #168df4;border:1px solid var(--blue);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 22px #168df438;color:#fff;color:var(--white);cursor:pointer;display:inline-flex;font-weight:800;gap:.65rem;justify-content:center;min-height:52px;min-width:190px;padding:.75rem 1.2rem}.metronome-toggle:active{transform:translateY(2px) scale(.98)}.metronome-toggle.is-playing{background:#fff0f0;border-color:#efcaca;box-shadow:none;color:#8b3434}.metronome-page__status{color:#526579;color:var(--ink-soft);font-size:.85rem;margin:-.5rem 0 0}body.findnote-page,body.findnote-page #root{background:#f7fbff!important;background:var(--paper)!important}body.findnote-page #root{background-image:none!important;padding:0!important}.findnote-root,.findnote-root .game-shell{background:#0000;color:#10243f;color:var(--ink);display:flex;flex-direction:column;height:100%;isolation:isolate;min-height:0;width:100%}.findnote-root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--staff-gap:8px}.findnote-root .game-topbar{min-height:var(--safe-top)}.findnote-root .game-main{background:#0000;display:flex;flex:1 1 auto;flex-direction:column;gap:0;min-height:0;overflow:hidden;padding:0}.findnote-root .game-staff-wrap{background:#0000;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}.findnote-root *{-webkit-tap-highlight-color:rgba(22,141,244,.12)}.findnote-game,.findnote-stage,.findnote-stage>div{height:100%;min-height:0;width:100%}.findnote-game{background:#0000;color:#10243f;color:var(--ink);overflow-y:auto;padding:clamp(.15rem,.7vh,.45rem) clamp(.75rem,2vw,1.5rem) clamp(.45rem,1vh,.75rem)}.findnote-game__layout{grid-gap:clamp(.45rem,1.2vh,.8rem);display:grid;gap:clamp(.45rem,1.2vh,.8rem);grid-template-rows:60px minmax(200px,1fr) 64px calc(clamp(184px, 28vh, 236px) + 18px);height:100%;margin:0 auto;min-height:calc(342px + clamp(184px, 28vh, 236px) + clamp(.45rem, 1.2vh, .8rem)*3);width:min(1180px,100%)}.findnote-game__message{align-self:stretch;color:#526579;color:var(--ink-soft);font-size:.8rem;min-height:0;min-width:0;overflow-wrap:anywhere;overflow-y:auto;overscroll-behavior:contain;padding:.25rem .75rem;text-align:center}.findnote-game__message p{margin:.2rem auto}.findnote-game__message details{margin:.25rem auto;max-width:560px}.findnote-game__message [role=alert]{color:#a52e2e}.findnote-game__message .voice-note-heard{display:block;margin:.2rem auto;width:-webkit-fit-content;width:fit-content}.findnote-game__message .voice-note-consent{margin:0 auto}.findnote-game__midi-badge{background:#e6f4fe;border:1px solid #9cc8e8;border-radius:14px;border-radius:var(--radius-md);display:grid;font-weight:750;min-height:72px;padding:.7rem;place-items:center}.findnote-game__midi-badge,.findnote-game__midi-ready{color:#0870d1;color:var(--blue-deep);text-align:center}.findnote-game__midi-ready{display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center}.findnote-game__keyboard>.findnote-game__midi-input{height:100%;width:100%}.findnote-game__header{grid-gap:.25rem;display:grid;gap:.25rem;justify-items:center}.findnote-game__header h2{color:#10243f;color:var(--ink);font:800 clamp(1.35rem,2.5vw,2rem)/1.05 Manrope,sans-serif;letter-spacing:-.025em;margin:0}.findnote-game__stats{color:#526579;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:clamp(.75rem,1.3vw,.9rem);font-weight:700;gap:.35rem 1rem;justify-content:center}.findnote-game__workbench{grid-gap:clamp(.65rem,1.6vw,1.25rem);align-items:stretch;display:grid;gap:clamp(.65rem,1.6vw,1.25rem);grid-template-columns:minmax(140px,180px) minmax(360px,1fr) minmax(140px,180px);min-height:0}.findnote-game__rail{grid-gap:.75rem;align-content:center;display:grid;gap:.75rem;grid-template-rows:72px 72px;min-width:0}.findnote-game__action{background:#fff;background:var(--white);border:1px solid #168df457;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#0870d1;color:var(--blue-deep);cursor:pointer;font:800 clamp(.78rem,1.35vw,.95rem)/1.2 DM Sans,sans-serif;min-height:54px;padding:.7rem .85rem;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease;width:100%}.findnote-game__action:hover{background:#eef7ff;background:var(--interactive-hover);border-color:#168df4;border-color:var(--blue);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);transform:translateY(-2px)}.findnote-game__action:active{box-shadow:none;transform:translateY(2px) scale(.98)}.findnote-game__action--finish{background:#effbf6;border-color:#1375534d;color:#137553}.findnote-game__action--mic{color:#10243f;color:var(--ink);min-height:72px}.findnote-game__action--mic.is-active{background:linear-gradient(135deg,#0870d1,#168df4);background:linear-gradient(135deg,var(--blue-deep),var(--blue));border-color:#168df4;border-color:var(--blue);color:#fff;color:var(--white)}.findnote-game__score{margin:0 auto;max-width:var(--score-max-width);min-width:0;position:relative;width:100%}.findnote-game__score-paper{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);height:100%;min-height:170px;overflow:hidden;padding:.75rem 1rem}.findnote-game__staff-scale{height:100%;width:100%}.findnote-game__osmd,.findnote-game__osmd-render{height:100%;min-height:0;width:100%}.findnote-game__osmd-render>div{height:100%;width:100%!important}.findnote-game__osmd-render svg{display:block;height:100%!important;width:100%!important}.findnote-game__feedback{border-radius:20px;border-radius:var(--radius-lg);display:grid;inset:0;place-items:center;pointer-events:auto;position:absolute;transition:background-color .12s ease;z-index:20}.findnote-game__feedback.is-correct{background:#13755333}.findnote-game__feedback.is-wrong{background:#b83b3b33}.findnote-game__feedback-card{align-items:center;border:2px solid;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);display:flex;font:800 clamp(1.35rem,3vw,2.15rem)/1.1 Manrope,sans-serif;gap:.8rem;justify-content:center;min-width:min(300px,82%);padding:1.1rem 1.5rem;text-align:center}.findnote-game__feedback-card.is-correct{background:#effbf6f7;color:#0d714c}.findnote-game__feedback-card.is-wrong{background:#fff0f0f7;color:#a52e2e}.findnote-game__feedback-symbol{background:#ffffff2e;border-radius:50%;flex:0 0 42px;height:42px;position:relative;width:42px}.findnote-game__feedback-card.is-correct .findnote-game__feedback-symbol:before{border-bottom:5px solid;border-right:5px solid;content:"";height:22px;left:15px;position:absolute;top:7px;transform:rotate(45deg);width:11px}.findnote-game__feedback-card.is-wrong .findnote-game__feedback-symbol:after,.findnote-game__feedback-card.is-wrong .findnote-game__feedback-symbol:before{background:currentColor;border-radius:999px;content:"";height:5px;left:9px;position:absolute;top:18px;transform:rotate(45deg);width:24px}.findnote-game__feedback-card.is-wrong .findnote-game__feedback-symbol:after{transform:rotate(-45deg)}.findnote-game__keyboard{display:grid;min-height:calc(clamp(184px, 28vh, 236px) + 18px);overflow:visible;place-items:center}.findnote-game__keyboard>div{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.findnote-game__keyboard>div::-webkit-scrollbar{display:none}.findnote-piano{--piano-key-width:clamp(44px,4.6vw,58px);--piano-white-height:clamp(184px,28vh,236px);background:#071a32;background:var(--navy);border:1px solid #ffffff29;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);display:flex;gap:0;padding:8px;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.findnote-piano__white{background:linear-gradient(180deg,#fff,#eef5fa);background:linear-gradient(180deg,var(--white),#eef5fa);border:0;border-radius:0 0 7px 7px;box-shadow:inset 0 -8px 12px #071a3214,0 5px 0 #071a322e;box-sizing:initial;color:#10243f;color:var(--ink);cursor:pointer;height:var(--piano-white-height);outline:1px solid #071a3238;padding:0;position:relative;transition:transform .08s ease,box-shadow .08s ease,background-color .08s ease;width:var(--piano-key-width)}.findnote-piano__white:active{box-shadow:inset 0 -3px 7px #071a3221,0 1px 0 #071a322e;transform:translateY(5px)}.findnote-piano__white.is-active{background:#168df4;background:var(--blue)}.findnote-piano__white.is-hint{background:#ef5d5d;box-shadow:inset 0 0 0 3px #bd3535}.findnote-piano__black-row{display:flex;left:8px;pointer-events:none;position:absolute;right:8px;top:8px}.findnote-piano__spacer{flex:0 0 var(--piano-key-width);width:var(--piano-key-width)}.findnote-piano__black{background:linear-gradient(180deg,#20324a,#071a32);background:linear-gradient(180deg,#20324a,var(--navy));border:0;border-radius:0 0 5px 5px;box-shadow:inset 0 -8px 10px #00000052,0 5px 0 #071a3266;box-sizing:initial;color:#fff;color:var(--white);cursor:pointer;height:calc(var(--piano-white-height)*.56);margin-left:calc(var(--piano-key-width)/-4);margin-right:calc(var(--piano-key-width)/-4);outline:1px solid #071a32;outline:1px solid var(--navy);padding:0;pointer-events:auto;transition:transform .08s ease,box-shadow .08s ease;width:calc(var(--piano-key-width)/2)}.findnote-piano__black:active{box-shadow:inset 0 -4px 7px #0000005c,0 1px 0 #071a3266;transform:translateY(5px)}.findnote-piano__black.is-active{background:#0870d1;background:var(--blue-deep)}.findnote-piano__black.is-hint{background:#d63f3f;box-shadow:inset 0 0 0 2px #8b2323}.findnote-level-banner{left:50%;pointer-events:none;position:fixed;top:16%;transform:translateX(-50%);z-index:50}.findnote-level-banner__content{align-items:center;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);color:#fff;color:var(--white);display:flex;font-size:1.2rem;font-weight:800;gap:.6rem;padding:.75rem 1.1rem}.findnote-level-banner__content.is-up{background:#137553f2}.findnote-level-banner__content.is-down{background:#b83b3bf2}.findnote-session-summary,.findnote-teaching{align-items:center;background:#f2f7fbfa;color:#10243f;color:var(--ink);display:flex;flex-direction:column;gap:clamp(.6rem,2vh,1.25rem);inset:0;justify-content:center;overflow:auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));position:fixed;text-align:center;z-index:120}.findnote-teaching{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071a32c7;color:#fff;z-index:20000}.findnote-session-summary h2,.findnote-teaching h2{font:800 clamp(1.25rem,2.4vw,2rem)/1.2 Manrope,sans-serif;margin:0}.findnote-teaching h2{color:#fff}.findnote-teaching strong{color:#0870d1;color:var(--blue-deep);color:#fff;font:800 clamp(1.8rem,4vw,3rem)/1 Manrope,sans-serif}.findnote-teaching__staff{background:#fff;background:var(--white);border-radius:14px;border-radius:var(--radius-md);height:clamp(125px,22vh,200px);overflow:hidden;padding:1rem;width:min(620px,84vw)}.findnote-teaching__osmd{height:100%;overflow:hidden;width:100%}.findnote-teaching__osmd svg{height:100%;object-fit:contain;width:100%}.findnote-teaching .findnote-piano{--piano-key-width:clamp(20px,3.4vw,44px);--piano-white-height:clamp(78px,17vh,155px)}.findnote-session-summary>button,.findnote-teaching>button{background:#0870d1;background:var(--blue-deep);border:0;border-radius:14px;border-radius:var(--radius-md);color:#fff;font-weight:800;min-height:48px;padding:.65rem 1.5rem}.findnote-session-summary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071a32d1}.findnote-session-summary__sheet{background:#fff;border-radius:24px;box-shadow:0 24px 60px #071a3238;padding:clamp(1.1rem,3vw,2rem);width:min(680px,94vw)}.findnote-session-summary__eyebrow{color:#0870d1;color:var(--blue-deep);font-size:.75rem;font-weight:800;letter-spacing:.13em}.findnote-session-summary__sheet h2{margin:.4rem 0}.findnote-session-summary__lead{color:#526579;color:var(--ink-soft);margin:0 0 1rem}.findnote-session-summary__cards{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr))}.findnote-session-summary__card{align-items:center;border-radius:16px;display:flex;flex-direction:column;gap:.1rem;padding:.75rem .35rem}.findnote-session-summary__card span{font-size:1.6rem;line-height:1}.findnote-session-summary__card strong{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}.findnote-session-summary__card small{font-weight:700}.findnote-session-summary__card.is-success{background:#e1f4fb;color:#075c84}.findnote-session-summary__card.is-practice{background:#fff2d9;color:#805716}.findnote-session-summary__card.is-level{background:#edebff;color:#4d4c95}.findnote-session-summary__journey{background:#f6f9fc;border-radius:14px;margin:1rem 0;padding:.8rem;text-align:left}.findnote-session-summary__journey>span{font-weight:800}.findnote-session-summary__journey small{color:#526579;color:var(--ink-soft);display:block;margin-top:.4rem}.findnote-session-summary__steps{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.findnote-session-summary__steps i{background:#168df4;background:var(--blue);border-radius:50%;height:15px;width:15px}.findnote-session-summary__steps i.is-practice{background:#fff;border:2px solid #dfa94a}.findnote-session-summary__save{color:#526579;color:var(--ink-soft);font-size:.8rem}.findnote-session-summary__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.findnote-session-summary__actions button{background:#0870d1;background:var(--blue-deep);border:0;border-radius:12px;color:#fff;font-weight:800;min-height:44px;padding:.55rem 1rem}.findnote-session-summary__actions button.is-secondary{background:#e5f2fb;color:#0870d1;color:var(--blue-deep)}.recent-confusions{color:#526579;color:var(--ink-soft);font-size:.78rem;grid-column:1/-1}@media (orientation:landscape) and (min-width:800px){.findnote-root .game-staff-wrap{overflow:hidden}.findnote-game{overflow-y:auto}.findnote-game__layout{gap:clamp(.3rem,.8vh,.55rem)}.findnote-game__header{gap:.12rem}.findnote-piano{--piano-key-width:clamp(46px,4.8vw,60px);--piano-white-height:clamp(184px,28vh,236px)}}@media (max-width:799px),(orientation:portrait){.findnote-root .game-staff-wrap{overflow-y:auto}.findnote-game{height:auto;min-height:100%;overflow:visible}.findnote-game__layout{grid-template-rows:60px auto 64px calc(clamp(184px, 28vh, 236px) + 18px);height:auto}.findnote-game__workbench{grid-template-columns:1fr}.findnote-game__score{grid-row:1}.findnote-game__rail{grid-template-columns:1fr 1fr;grid-template-rows:72px}.findnote-game__action{min-width:0}}.findnote-results-page{background:#0000;color:#10243f;color:var(--ink);min-height:100%;padding:clamp(1rem,4vw,2.5rem)}.findnote-results-page--loading{display:grid;place-items:center}.findnote-results-page__content{margin:0 auto;width:min(1024px,100%)}.drawer-header,.findnote-results-page__header,.results-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.8rem}.findnote-results-page__header h1{font:800 clamp(1.6rem,4vw,2.4rem)/1.1 Manrope,sans-serif;margin:0}.results-surface{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);padding:1rem}.results-header__actions{display:flex;gap:.5rem}.results-surface button{background:#dff2ff;background:var(--sky);border:1px solid #168df44d;border-radius:10px;border-radius:var(--radius-sm);color:#0870d1;color:var(--blue-deep);cursor:pointer;font-weight:800;min-height:40px;padding:.5rem .8rem}.results-error{background:#fff0f0;border:1px solid #efcaca;border-radius:10px;border-radius:var(--radius-sm);color:#8b3434;margin-bottom:.6rem;padding:.75rem}.results-error>div{margin-bottom:.5rem}.results-list{list-style:none;margin:0;padding:0}.result-row{grid-gap:.5rem;border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);display:grid;gap:.5rem;grid-template-columns:36px 1fr 100px 100px 80px;padding:.65rem 0}.recent-head,.result-head{border-bottom:2px solid #dbe8f2;border-bottom:2px solid var(--line);font-weight:800}.result-row.is-self,.result-row:hover{background:#eef7ff;background:var(--interactive-hover)}.result-row:last-child{border-bottom:0}.rank,.results-empty{opacity:.72}.results-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071a3299;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.results-drawer-panel{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);color:#10243f;color:var(--ink);max-height:80vh;overflow:auto;padding:1rem;width:min(720px,100%)}.recent-row{align-items:center;grid-template-columns:1fr 110px 80px}.recent-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.result-head span:nth-child(4),.result-head span:nth-child(5),.results-list .result-row span:nth-child(4),.results-list .result-row span:nth-child(5){display:none}.result-row{grid-template-columns:28px 1fr 80px}.recent-row{grid-template-columns:1fr 84px}.recent-head span:nth-child(3),.recent-row .level{display:none}}.student-detail-page{align-items:stretch;gap:0}.student-detail-page--empty{text-align:center}.student-detail-heading{align-items:center;display:flex;gap:1rem;min-height:48px}.student-detail-heading__identity{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem .8rem;min-width:0}.student-detail-heading__identity h2{font:800 clamp(1.3rem,2.1vw,1.75rem)/1.2 Manrope,sans-serif;margin:0}.student-detail-heading__identity span{color:#526579;color:var(--ink-soft);font-size:.85rem;font-weight:700}.student-detail-back{background:#dff2ff;background:var(--sky);border:1px solid #168df44d;border-radius:10px;border-radius:var(--radius-sm);color:#0870d1;color:var(--blue-deep);cursor:pointer;flex:0 0 auto;font-weight:800;margin:0;min-height:44px;min-height:var(--touch-target);padding:.6rem 1rem;width:-webkit-fit-content;width:fit-content}.student-detail-back:hover{background:#cfeaff;border-color:#168df4;border-color:var(--blue)}.student-detail-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.student-detail-tabs button{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#526579;color:var(--ink-soft);cursor:pointer;font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.55rem .9rem}.student-detail-tabs button:hover{border-color:#168df473;color:#0870d1;color:var(--blue-deep)}.student-detail-tabs button.is-active{background:#dff2ff;background:var(--sky);border-color:#168df4;border-color:var(--blue);box-shadow:inset 0 0 0 1px #168df41f;color:#0870d1;color:var(--blue-deep)}.student-detail-panel{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);box-sizing:border-box;color:#10243f;color:var(--ink);margin-top:.75rem;padding:1rem;width:100%}.student-detail-summary-layout{grid-gap:.45rem .65rem;align-items:stretch;display:grid;gap:.45rem .65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.4rem;width:100%}.student-detail-summary-layout .student-detail-panel{margin-top:0}.student-detail-summary-layout>.student-detail-profile{grid-column:1;grid-row:1}.student-detail-summary-layout>.student-detail-report{grid-column:2;grid-row:1}.student-detail-summary-layout>.student-progress-snapshot--detail{grid-column:1/-1;grid-row:2;margin:0;padding:.65rem .75rem}.student-detail-summary-layout .student-progress-snapshot--detail>.student-analytics-metrics{gap:.3rem}.student-detail-summary-layout .student-progress-snapshot--detail .student-analytics-metric{padding:.3rem .45rem}.student-detail-summary-layout .student-progress-snapshot--detail>.student-analytics-overview,.student-detail-summary-layout .student-progress-snapshot--detail>.student-analytics-tabs{margin-top:.15rem}.student-detail-report{grid-gap:.4rem;align-content:start;display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.55rem}.student-detail-report .student-progress-summary{gap:.4rem;grid-column:1/-1;margin:0}.student-detail-report .student-progress-summary article{padding:.32rem .5rem}.student-detail-report .student-progress-summary strong{font-size:1rem}.student-detail-report .student-progress-summary span{font-size:.68rem}.student-detail-report .student-progress-assignments{align-items:flex-start;display:flex;flex-direction:column;margin:0;min-height:0;min-width:0;padding:.4rem .5rem}.student-detail-report .student-progress-assignments:last-child:nth-child(2){grid-column:1/-1}.student-detail-report .student-progress-assignments h2{font-size:.8rem;margin-bottom:.2rem}.student-detail-report .student-progress-assignments p{font-size:.68rem;margin:.1rem 0 .3rem}.student-detail-report .student-progress-latest{font-size:.68rem;gap:.1rem .45rem;margin-bottom:.3rem}.student-detail-report .student-progress-latest strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.student-detail-report .student-progress-open-assignments{font-size:.7rem;margin-top:auto;min-height:32px;padding:.3rem .5rem!important}.student-detail-profile h3,.student-detail-settings h3{color:#10243f;color:var(--ink);margin:0 0 12px}.student-detail-profile{padding:.65rem .8rem}.student-detail-profile h3{font-size:.9rem;margin-bottom:.4rem}.student-detail-facts{grid-gap:2px 14px;display:grid;gap:2px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-facts p{grid-gap:1px;border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);display:grid;gap:1px;margin:0;padding:3px 0}.student-detail-facts strong{color:#526579;color:var(--ink-soft);font-size:.69rem}.student-detail-facts span{font-size:.75rem;line-height:1.2;overflow-wrap:anywhere}.student-detail-settings{max-width:760px}.student-detail-settings>p{color:#526579;color:var(--ink-soft)}.student-detail-danger-zone{border-top:1px solid #dbe8f2;border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.student-detail-danger-zone h4{color:#10243f;color:var(--ink);margin:0 0 6px}.student-detail-danger-zone p{color:#526579;color:var(--ink-soft);margin:0 0 12px}.student-detail-danger-reveal{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#526579;color:var(--ink-soft);cursor:pointer;min-height:44px;min-height:var(--touch-target);padding:8px 12px}.student-detail-danger-confirmation{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.student-detail-danger-confirmation .remove-button{background:#a83232;border:1px solid #842525;border-radius:10px;border-radius:var(--radius-sm);color:#fff;color:var(--white);cursor:pointer;min-height:44px;min-height:var(--touch-target);padding:8px 12px}.student-detail-assignments h3,.student-detail-assignments>h3{color:#10243f;color:var(--ink)}.student-detail-archive-title{color:#526579!important;color:var(--ink-soft)!important;margin-top:1.5rem}.student-detail-assignments .student-card{background:#fbfdff;border-color:#dbe8f2;border-color:var(--line);color:#10243f;color:var(--ink)}.student-detail-assignments .student-card .meta,.student-detail-assignments .student-card p{color:#526579!important;color:var(--ink-soft)!important}.student-detail-assignments .student-card.is-archived{filter:grayscale(1);opacity:.62}.archived-homework-title{text-decoration:line-through}@media (max-width:820px){.student-detail-summary-layout{grid-template-columns:1fr}.student-detail-heading{flex-wrap:wrap}}.page-container>.brand-header{background:#0000;border:0;gap:.75rem;height:auto;justify-content:flex-start;padding:1.4rem 1.6rem .8rem;width:min(460px,100%)}.auth-card,.page-container>.brand-header,.page-container>.brand-header .brand-title{color:#10243f;color:var(--ink)}.auth-card{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);padding:1.6rem;width:min(460px,100%)}.auth-card h1,.auth-card h2,.auth-card label,.auth-card legend{color:#10243f;color:var(--ink)}.auth-card input,.auth-card select,.auth-input,.workspace-field input,.workspace-field select,.workspace-field textarea,form[data-auth] input,form[data-auth] select{background:#fff;background:var(--white);border:1px solid #cbdce9;border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);min-height:46px}.auth-card input:focus,.auth-card select:focus,.workspace-field input:focus,.workspace-field select:focus,.workspace-field textarea:focus,form[data-auth] input:focus,form[data-auth] select:focus{border-color:#168df4;border-color:var(--blue);box-shadow:0 0 0 4px #168df421;outline:0}.auth-card button{min-height:44px;min-height:var(--touch-target)}.auth-card button[type=submit],form[data-auth] button[type=submit]{background:#168df4;background:var(--blue);border-color:#168df4;border-color:var(--blue);box-shadow:0 8px 20px #168df433;color:#fff}.workspace-page{color:#10243f;color:var(--ink);padding:clamp(2rem,5vw,4.5rem) 0 5rem;width:min(1120px,calc(100% - 2rem))}.workspace-hero{margin-bottom:2rem;max-width:780px}.workspace-hero h1{font-size:clamp(2.5rem,6vw,4.25rem);letter-spacing:-.05em}.workspace-hero p,.workspace-muted{color:#526579;color:var(--ink-soft)}.workspace-eyebrow{color:#0870d1;color:var(--blue-deep)}.capacity-card,.workspace-panel{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink)}.capacity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capacity-card{align-content:space-between;min-height:132px}.capacity-card small,.capacity-card span,.detail-facts span,.invitation-list-item small,.member-directory-item small,.workspace-list-item small,.workspace-section-heading small{color:#526579;color:var(--ink-soft)}.capacity-card strong{color:#0870d1;color:var(--blue-deep);font-family:Manrope,sans-serif;font-size:2.25rem}.invitation-list-item,.member-directory-item,.platform-directory-row,.workspace-list-item{background:#fbfdff;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);color:#10243f;color:var(--ink);min-height:68px;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.member-directory-item:hover,.platform-directory-row:hover,.workspace-list-item:hover{border-color:#168df46b;box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.workspace-option{background:#fbfdff;border-color:#dbe8f2;border-color:var(--line);color:#10243f;color:var(--ink)}.workspace-option span{color:#526579;color:var(--ink-soft)}.platform-directory-row.is-selected,.workspace-option.is-selected{background:#dff2ff94;border-color:#168df4;border-color:var(--blue)}.performance-primary,.workspace-primary-button{background:#168df4;background:var(--blue);border-color:#168df4;border-color:var(--blue);color:#fff;min-height:46px}.workspace-back-link,.workspace-secondary-action,.workspace-secondary-button{border-color:#168df44d;color:#0870d1;color:var(--blue-deep)}.workspace-status{color:#0870d1;color:var(--blue-deep)}.workspace-identity{background:#fff;background:var(--white);border-color:#dbe8f2;border-color:var(--line);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink)}.workspace-identity>div>span{color:#526579;color:var(--ink-soft)}.workspace-identity>div>strong{color:#10243f;color:var(--ink)}.activity-event{background:#fff;background:var(--white);border-left-color:#168df4;border-left-color:var(--blue);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft)}.activity-event small,.activity-event span,.activity-event time{color:#526579;color:var(--ink-soft)}.risk-panel{background:#fffaf1;border-color:#f2d59f}.performance-capture-card,.performance-inbox-item,.student-homework-list>li{background:#fff!important;background:var(--white)!important;border-color:#dbe8f2!important;border-color:var(--line)!important;border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f!important;color:var(--ink)!important}.student-homework-list>li:hover{background:#eef7ff!important;background:var(--interactive-hover)!important}.performance-capture-page,.performance-inbox{color:#10243f;color:var(--ink)}.performance-description,.performance-device-panel p,.performance-inbox header>p:last-child,.performance-privacy-note{color:#526579;color:var(--ink-soft)}.performance-kicker{color:#0870d1;color:var(--blue-deep)}.performance-device-panel,.performance-metadata div,.performance-status,.student-midi-analysis__metrics span{background:#f2f8fc}.performance-device-panel button,.performance-list-button,.performance-secondary,.player-record-button{background:#dff2ff;background:var(--sky);border-color:#168df459;color:#0870d1;color:var(--blue-deep)}.performance-mode{border-color:#dbe8f2;border-color:var(--line)}.performance-analysis-preview,.performance-analysis-summary{background:#eef7ff;border-color:#b9ddfa;color:#10243f;color:var(--ink)}.performance-analysis-preview span{color:#526579;color:var(--ink-soft)}.performance-range-summary{color:#0870d1;color:var(--blue-deep);font-weight:800;margin:.55rem 0}.midi-analysis-report{gap:.85rem}.midi-analysis-report__heading{align-items:flex-start}.midi-analysis-report__heading p{color:#526579;color:var(--ink-soft);font-size:.84rem;margin:.25rem 0 0}.midi-analysis-report__heading>span{border-radius:999px;font-weight:800;padding:.3rem .65rem;white-space:nowrap}.midi-analysis-report__heading>span.is-verified{background:#dff7ed;color:#126747}.midi-analysis-report__heading>span.is-provisional{background:#fff3c8;color:#7c5700}.midi-analysis-report__metrics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.midi-analysis-report__metrics dd{color:#10243f;color:var(--ink);font-weight:800}.midi-analysis-report__overview{grid-gap:1.2rem;align-items:center;background:linear-gradient(135deg,#f7fbff,#edf7ff);border:1px solid #c9e4f7;border-radius:20px;border-radius:var(--radius-lg);display:grid;gap:1.2rem;grid-template-columns:132px minmax(0,1fr);padding:.85rem}.midi-analysis-report__score{aspect-ratio:1;background:conic-gradient(#168df4 var(--score),#dcebf5 0);background:conic-gradient(var(--blue) var(--score),#dcebf5 0);border-radius:50%;box-shadow:0 7px 18px #145b8f24;box-sizing:border-box;height:118px;padding:10px;place-self:center;width:118px}.midi-analysis-report__score>div{align-items:center;background:#fff;border-radius:50%;box-sizing:border-box;color:#10243f;color:var(--ink);display:flex;flex-direction:column;height:100%;justify-content:center;min-height:0;min-width:0;padding:4px;text-align:center;width:100%}.midi-analysis-report__score strong{color:#0870d1;color:var(--blue-deep);font-size:1.65rem;line-height:1}.midi-analysis-report__score span{color:#526579;color:var(--ink-soft);font-size:.7rem;font-weight:700;line-height:1.1;margin-top:.25rem;white-space:nowrap}.midi-analysis-report__bars{grid-gap:.65rem;display:grid;gap:.65rem}.midi-analysis-report__bar-row{grid-gap:.6rem;align-items:center;display:grid;font-size:.8rem;gap:.6rem;grid-template-columns:minmax(92px,125px) minmax(80px,1fr) 42px}.midi-analysis-report__bar{background:#dcebf5;border-radius:99px;height:10px;overflow:hidden}.midi-analysis-report__bar i{background:linear-gradient(90deg,#168df4,#16a085);border-radius:inherit;display:block;height:100%}.midi-analysis-report__bar-row strong{color:#0870d1;color:var(--blue-deep);text-align:right}.midi-analysis-report__quick-summary{display:flex;flex-wrap:wrap;gap:.45rem}.midi-analysis-report__quick-summary span{border-radius:99px;font-size:.76rem;font-weight:800;padding:.35rem .6rem}.midi-analysis-report__quick-summary .is-clear{background:#dff7ed;color:#126747}.midi-analysis-report__quick-summary .has-timing{background:#fff3c8;color:#755300}.midi-analysis-report__quick-summary .has-error{background:#fff0f0;color:#8b3434}.midi-analysis-report__technical{margin-top:0}.midi-score-feedback{grid-gap:.65rem;display:grid;gap:.65rem}.midi-score-feedback__toggle{background:#dff2ff;background:var(--sky);border:1px solid #168df459;border-radius:11px;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-weight:800;min-height:44px;padding:.6rem .85rem}.midi-score-feedback__body{grid-gap:.6rem;display:grid;gap:.6rem}.midi-score-feedback__legend{display:flex;flex-wrap:wrap;gap:.45rem}.midi-score-feedback__legend span{align-items:center;color:#526579;color:var(--ink-soft);display:inline-flex;font-size:.74rem;font-weight:700;gap:.35rem}.midi-score-feedback__legend span:before{background:currentColor;border-radius:3px;content:"";height:11px;width:11px}.midi-score-feedback__legend .is-clean{color:#16875f}.midi-score-feedback__legend .is-timing{color:#b47f00}.midi-score-feedback__legend .is-error{color:#c33843}.midi-score-feedback__legend .is-excluded{color:#7a8794}.midi-score-feedback__score{background:#fff;border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:12px;max-height:52vh;overflow:auto;padding:.45rem}.midi-score-feedback__display-actions{display:flex;justify-content:flex-end}.midi-score-feedback__display-actions button{background:#dff2ff;background:var(--sky);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-weight:800;min-height:40px;padding:.45rem .75rem}.midi-score-feedback__fullscreen-dialog{background:#fff;background:var(--white);border-radius:16px;box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);inset:3vh 3vw;overflow:hidden;padding:.8rem;position:absolute}.midi-score-feedback__body.is-fullscreen{display:flex;flex-direction:column;height:100%;min-height:0}.midi-score-feedback__body.is-fullscreen .midi-score-feedback__score{flex:1 1;max-height:none;min-height:0;overflow:auto}.midi-score-feedback__body.is-fullscreen .midi-score-feedback__score svg{height:auto;width:100%}.midi-score-feedback__body.is-fullscreen .midi-score-feedback__selection{flex:0 0 auto;max-height:22vh;overflow:auto}.midi-score-feedback__score svg{height:auto;width:100%}.midi-score-feedback__phone-backdrop{background:#081b2fb8;inset:0;position:fixed;z-index:31000}.midi-score-feedback__phone-dialog{background:#fff;background:var(--surface-strong,#fff);inset:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);position:absolute}.midi-score-feedback__body.is-phone{display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0}.midi-score-feedback__phone-header{align-items:center;color:#10243f;color:var(--ink);display:flex;justify-content:space-between;min-height:48px;padding:0 .85rem}.midi-score-feedback__measure-nav button,.midi-score-feedback__phone-header button,.midi-score-feedback__zoom button{background:#dff2ff;background:var(--sky);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;color:#0870d1;color:var(--blue-deep);font:inherit;font-weight:800;min-height:44px;min-width:44px;padding:.4rem .7rem}.midi-score-feedback__body.is-phone .midi-score-feedback__legend{padding:0 .85rem}.midi-score-feedback__zoom{align-items:center;color:#526579;color:var(--ink-soft);display:flex;font-weight:800;gap:.45rem;justify-content:flex-end;padding:0 .85rem}.midi-score-feedback__body.is-phone .midi-score-feedback__score{-webkit-overflow-scrolling:touch;border-radius:0;flex:1 1;max-height:none;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.midi-score-feedback__body.is-phone .midi-score-feedback__score-content{max-width:none}.midi-score-feedback__measure-nav{align-items:center;color:#10243f;color:var(--ink);display:flex;font-weight:800;gap:.5rem;justify-content:space-between;padding:0 .85rem}.midi-score-feedback__measure-nav button:disabled,.midi-score-feedback__zoom button:disabled{opacity:.45}.midi-score-feedback__body.is-phone .midi-score-feedback__selection{align-items:flex-start;flex:0 0 auto;margin:0 .85rem;max-height:min(30vh,230px);overflow:auto}.midi-score-feedback__measure{cursor:pointer;touch-action:manipulation}.midi-score-feedback__selection{align-items:center;background:#f7fbff;border-radius:10px;color:#526579;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.55rem;padding:.65rem .75rem}.midi-score-feedback__selection strong{color:#10243f;color:var(--ink)}.midi-score-feedback__selection ul{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0;width:100%}.midi-score-feedback__selection li{background:#fff0f0;border-radius:8px;color:#8b3434;font-weight:700;padding:.25rem .45rem}.midi-analysis-report__success{background:#e6f8f0;border-radius:10px;border-radius:var(--radius-sm);color:#126747;font-weight:700;margin:0;padding:.7rem .8rem}.midi-analysis-report__details{border-top:1px solid #dbe8f2;border-top:1px solid var(--line);padding-top:.75rem}.midi-analysis-report__details summary{align-items:center;color:#0870d1;color:var(--blue-deep);cursor:pointer;display:flex;font-weight:800;min-height:44px;min-height:var(--touch-target);width:-webkit-fit-content;width:fit-content}.midi-analysis-report__measure-list{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:.65rem}.midi-analysis-report__measure{grid-gap:.25rem;background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);display:grid;gap:.25rem;padding:.7rem}.midi-analysis-report__measure>span{color:#526579;color:var(--ink-soft);font-size:.82rem}.midi-analysis-report__measure div{display:flex;flex-wrap:wrap;gap:.3rem}.midi-analysis-report__issue-type,.midi-analysis-report__measure small{background:#fff0f0;border-radius:999px;color:#8b3434;font-size:.72rem;font-weight:800;padding:.18rem .42rem}.midi-analysis-report__issue-list{grid-gap:.4rem;display:grid;gap:.4rem;list-style:none;margin:.8rem 0 0;padding:0}.midi-analysis-report__issue-list li{grid-gap:.55rem;align-items:center;background:#ffffffb8;border-radius:10px;border-radius:var(--radius-sm);display:grid;font-size:.82rem;gap:.55rem;grid-template-columns:auto minmax(72px,auto) 1fr;padding:.55rem .65rem}.midi-analysis-report__issue-list li>span:last-child{color:#526579;color:var(--ink-soft)}.midi-analysis-report__issue-type.is-early,.midi-analysis-report__issue-type.is-late{background:#fff3c8;color:#755300}.midi-analysis-report__limit-note{color:#526579;color:var(--ink-soft);font-size:.78rem;margin:.55rem 0 0}@media (max-width:560px){.midi-analysis-report__overview{grid-template-columns:1fr;justify-items:center}.midi-analysis-report__bars{width:100%}.performance-audio-player{grid-template-columns:44px minmax(0,1fr)}.performance-audio-time{grid-column:2;min-width:0;text-align:left}.midi-analysis-report__heading{display:grid}.midi-analysis-report__heading>span{width:-webkit-fit-content;width:fit-content}.midi-analysis-report__issue-list li{grid-template-columns:auto 1fr}.midi-analysis-report__issue-list li>span:last-child{grid-column:1/-1}}.performance-inbox-item textarea{background:#fff;background:var(--white);border-color:#cbdce9;color:#10243f;color:var(--ink)}.performance-success{color:#137553}.performance-error,.performance-warning{color:#a83232}.performance-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071a32b8}.performance-modal-close{background:#eef4f8;color:#10243f;color:var(--ink)}.student-homework-container{color:#10243f;color:var(--ink);display:block;font-size:1rem;height:auto;margin:0 auto;min-height:100%;padding:clamp(1.5rem,4vw,3.5rem) 0 4rem;text-align:left;width:min(920px,calc(100% - 2rem))}.student-homework-heading{margin-bottom:1.4rem}.student-homework-heading h1{font:800 clamp(2rem,5vw,3.25rem)/1.05 Manrope,sans-serif;letter-spacing:-.04em;margin:.15rem 0 .35rem}.student-homework-heading>p:last-child{color:#526579;color:var(--ink-soft);margin:0}.student-homework-list{grid-gap:.85rem;display:grid;gap:.85rem;list-style:none;margin:0;padding:0}.student-homework-card{cursor:pointer;padding:1.15rem 1.25rem;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.student-homework-card:focus-visible,.student-homework-card:hover{background:#eef7ff!important;background:var(--interactive-hover)!important;border-color:#168df47a!important;box-shadow:0 24px 70px #14487621;box-shadow:var(--shadow);outline:none;transform:translateY(-2px)}.student-homework-card__title-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.student-homework-card__title-row h2{color:#10243f;color:var(--ink);font:800 1.15rem/1.25 Manrope,sans-serif;margin:0}.student-homework-card__action{background:#dff2ff;background:var(--sky);border:1px solid #168df440;border-radius:999px;color:#0870d1;color:var(--blue-deep);flex:0 0 auto;font-size:.8rem;font-weight:800;padding:.35rem .7rem}.student-homework-card__description{color:#526579;color:var(--ink-soft);margin:.5rem 0 0}.student-homework-card__metadata{color:#10243f;color:var(--ink);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.35rem 1rem;margin-top:.75rem}.student-homework-card__date{color:#526579;color:var(--ink-soft);font-size:.82rem;margin:.45rem 0 0}.student-homework-container.student-ipad-page{max-width:1120px;padding:24px 0 48px;width:min(calc(100% - 32px),1120px)}.student-ipad-page .student-homework-heading{box-sizing:border-box;margin-bottom:14px;width:100%}.student-ipad-page .student-homework-list{gap:10px;grid-template-columns:minmax(0,1fr)}.student-ipad-page .student-homework-card{align-content:start;border-radius:16px;display:grid;min-width:0;padding:13px 14px}.student-ipad-page .student-homework-card__title-row{gap:10px}.student-ipad-page .student-homework-card__title-row h2{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-ipad-page .student-homework-card__action{font-size:.68rem;padding:4px 8px}.student-ipad-page .student-homework-card__description{font-size:.73rem;margin-top:5px;min-height:1.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-ipad-page .student-homework-card__metadata{font-size:.69rem;gap:4px 12px;margin-top:8px}.student-ipad-page .student-homework-card__date{font-size:.66rem;margin-top:6px}.student-ipad-page__empty{grid-gap:4px;align-content:center;background:#fff;background:var(--white);border:1px dashed #c8d9e7;border-radius:20px;border-radius:var(--radius-lg);color:#526579;color:var(--ink-soft);display:grid;gap:4px;justify-items:center;min-height:180px;padding:20px;text-align:center}.student-ipad-page__empty strong{color:#10243f;color:var(--ink);font-size:1rem}@media (max-width:760px){.student-ipad-page .student-homework-list{grid-template-columns:1fr}}.auth-card input,.auth-card select,.auth-input,.settings-page input:not([type=checkbox]):not([type=radio]),.settings-page select,.settings-page textarea,.themed-input,form[data-auth] input,form[data-auth] select{-webkit-text-fill-color:#10243f;-webkit-text-fill-color:var(--field-fg);background:#fbfdff!important;background:var(--field-bg)!important;border:1px solid #cbdce9!important;border:1px solid var(--field-border)!important;border-radius:10px;border-radius:var(--radius-sm);caret-color:#10243f;caret-color:var(--field-fg);color:#10243f!important;color:var(--field-fg)!important;min-height:46px;padding:.7rem .8rem}.auth-card input::placeholder,.settings-page input::placeholder,.settings-page textarea::placeholder,.themed-input::placeholder,form[data-auth] input::placeholder{color:#718397;color:var(--field-placeholder);opacity:1}.auth-card input:focus,.auth-card select:focus,.settings-page input:focus,.settings-page select:focus,.settings-page textarea:focus,.themed-input:focus,form[data-auth] input:focus,form[data-auth] select:focus{border-color:#168df4!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px #168df421!important;box-shadow:0 0 0 4px var(--field-focus-ring)!important;outline:none}.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:focus,.auth-card input:-webkit-autofill:hover,.settings-page input:-webkit-autofill,.settings-page input:-webkit-autofill:focus,.settings-page input:-webkit-autofill:hover,form[data-auth] input:-webkit-autofill,form[data-auth] input:-webkit-autofill:focus,form[data-auth] input:-webkit-autofill:hover{-webkit-text-fill-color:#10243f;-webkit-text-fill-color:var(--field-fg);box-shadow:inset 0 0 0 1000px #fbfdff!important;box-shadow:0 0 0 1000px var(--field-bg) inset!important}.settings-page{align-items:stretch}.settings-page,.settings-page .page-title,.settings-page h2,.settings-page label,.settings-page legend{color:#10243f;color:var(--ink)}.settings-page label>span,.settings-page legend,.settings-tab{color:#526579;color:var(--ink-soft)}.settings-tab{background:#0000;border:0;border-bottom:3px solid #0000;font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.65rem 1rem}.settings-tab.is-active,.settings-tab:hover{color:#0870d1;color:var(--blue-deep)}.settings-tab.is-active{border-bottom-color:#168df4;border-bottom-color:var(--blue)}.settings-primary-button{background:#168df4;background:var(--blue);border:1px solid #168df4;border:1px solid var(--blue);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 8px 20px #168df433;color:#fff;color:var(--white);font-weight:800;min-height:46px;padding:.7rem 1rem}.settings-primary-button:hover{background:#0870d1;background:var(--blue-deep);border-color:#0870d1;border-color:var(--blue-deep)}.settings-account-card{background:var(--surface);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);padding:1rem}.settings-account-card h3{color:#10243f;color:var(--ink);font-weight:850;margin:0 0 .4rem}.settings-account-error,.settings-account-success{border-radius:10px;border-radius:var(--radius-sm);font-weight:700;padding:.75rem .9rem}.settings-account-success{background:#23b05e1f;color:#17643a;color:var(--success-ink,#17643a)}.settings-account-error{background:#de404c1f;color:#9f2430;color:var(--danger-ink,#9f2430)}.settings-danger-button,.settings-secondary-button{border-radius:10px;border-radius:var(--radius-sm);font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.65rem .9rem}.settings-danger-button{background:#c93b49;background:var(--danger,#c93b49);border:1px solid #c93b49;border:1px solid var(--danger,#c93b49);color:#fff;color:var(--white)}.settings-secondary-button{background:#fff;background:var(--surface-strong,#fff);border:1px solid #dbe8f2;border:1px solid var(--line);color:#10243f;color:var(--ink)}.settings-danger-button:disabled,.settings-secondary-button:disabled{opacity:.55}.settings-guardian-code{background:#168df414;border:1px dashed #168df4;border:1px dashed var(--blue);border-radius:10px;border-radius:var(--radius-sm);letter-spacing:.04em;padding:.8rem}.settings-guardian-code strong{color:#0870d1;color:var(--blue-deep);font-size:1.15rem;letter-spacing:.12em}.settings-cancel-deletion{margin-left:.55rem}.settings-signout{border-top:1px solid #dbe8f2;border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1rem}.settings-signout-button{background:var(--surface);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);cursor:pointer;font:inherit;font-weight:750;min-height:44px;min-height:var(--touch-target);padding:.6rem .85rem}.settings-signout-button:hover{border-color:#168df4;border-color:var(--blue);color:#0870d1;color:var(--blue-deep)}.settings-signout-button:disabled{cursor:wait;opacity:.6}.permission-dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f27406b;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:30000}.permission-dialog{background:#fff;background:var(--surface-strong,#fff);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 22px 55px #0f27403d;box-shadow:var(--shadow-strong,0 22px 55px #0f27403d);color:#10243f;color:var(--ink);padding:1.25rem;width:min(28rem,calc(100vw - 2rem))}.permission-dialog h2{color:#0870d1;color:var(--blue-deep);margin:0 0 .45rem}.permission-dialog p{color:#526579;color:var(--ink-soft);line-height:1.5;margin:0}.permission-dialog-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;margin-top:1rem}.settings-app-info{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0}.settings-notification-row{align-items:center;background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin:.85rem 0;padding:.7rem .85rem}.settings-notification-row>div{grid-gap:.1rem;display:grid;gap:.1rem;margin-right:auto}.settings-notification-row small{color:#526579;color:var(--ink-soft)}.settings-notification-row>p{color:var(--danger-ink);flex-basis:100%;font-size:.82rem;margin:0}.settings-app-info p{background:#f7fbff;background:var(--paper);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#526579;color:var(--ink-soft);display:flex;gap:1rem;justify-content:space-between;margin:0;padding:.75rem}.settings-app-info strong{color:#10243f;color:var(--ink)}.settings-diagnostic-card{grid-gap:.65rem;background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.65rem;padding:1rem}.settings-diagnostic-card h3,.settings-diagnostic-card p{margin:0}.settings-diagnostic-card output{background:#dff2ff;background:var(--sky);border-radius:10px;border-radius:var(--radius-sm);color:#0870d1;color:var(--blue-deep);font:800 1rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em;padding:.45rem .7rem}.settings-diagnostic-card button,.settings-diagnostic-card output{width:-webkit-fit-content;width:fit-content}@media (max-width:640px){.settings-app-info{grid-template-columns:1fr}}.student-guardian-invitation{grid-gap:.55rem;border-top:1px solid #dbe8f2;border-top:1px solid var(--line);display:grid;gap:.55rem;margin-top:1rem;padding-top:1rem}.student-guardian-invitation>button{width:-webkit-fit-content;width:fit-content}.student-guardian-invitation p,.student-guardian-invitation small{color:#526579;color:var(--ink-soft);margin:0}.guardian-approval-actions{display:flex;flex-wrap:wrap;gap:.6rem}.settings-match-code{margin-bottom:.75rem;text-align:center;width:14rem}.role-page,.teacher-homework-container.teacher--navy{background:#0000;border:0;border-radius:0;box-shadow:none;color:#10243f;color:var(--ink);margin:0 auto;max-width:1080px;padding:clamp(1.5rem,4vw,3.5rem) 0 4rem;width:min(1080px,calc(100% - 2rem))}.role-page-heading{margin-bottom:1.5rem}.role-page-heading h1{font:800 clamp(2rem,5vw,3.25rem)/1.05 Manrope,sans-serif;letter-spacing:-.04em;margin:.15rem 0 .4rem}.role-page-heading>p:last-child{color:#526579;color:var(--ink-soft);margin:0;max-width:760px}.role-page-toolbar{margin-bottom:1.25rem;width:min(620px,100%)}.teacher-homework-page .role-page-toolbar{margin-inline:auto;width:100%}.teacher-homework-search{display:block;position:relative;width:100%}.teacher-homework-search .themed-input{box-sizing:border-box;min-height:46px;padding-right:48px;width:100%}.teacher-homework-search svg{color:#0870d1;color:var(--blue-deep);height:20px;pointer-events:none;position:absolute;right:15px;top:50%;transform:translateY(-50%);width:20px}.role-card-list{grid-gap:.85rem;display:grid;gap:.85rem}.role-list-card{grid-gap:1rem;align-items:start;background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1.15rem 1.25rem}.teacher-assignment-card__content{min-width:0}.teacher-assignment-card__content h2{font-size:1.15rem;margin:0}.teacher-assignment-card__description{color:#526579;color:var(--ink-soft);margin:.45rem 0 0}.teacher-assignment-card__metadata{color:#526579;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.35rem 1rem;margin-top:.75rem}.teacher-assignment-card__metadata span{display:inline-flex;gap:.3rem}.teacher-assignment-card__metadata strong{color:#10243f;color:var(--ink)}.teacher-assignment-card__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.role-danger-button,.role-primary-button{border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.65rem .9rem}.role-primary-button{background:#168df4;background:var(--blue);border:1px solid #168df4;border:1px solid var(--blue);color:#fff;color:var(--white)}.role-primary-button:hover{background:#0870d1;background:var(--blue-deep);border-color:#0870d1;border-color:var(--blue-deep)}.role-danger-button{background:#fff5f5;border:1px solid #efcaca;color:#9a2f2f}.role-danger-button:hover{background:#ffe8e8;border-color:#dfaaaa;color:#7f2020}.assignment-load-warning{align-items:center;background:#fff8e8;border:1px solid #efd69d;border-radius:14px;border-radius:var(--radius-md);color:#7b4b00;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.9rem 1rem}.assignment-load-warning button{background:#fff;background:var(--white);border:1px solid #168df452;border-radius:10px;border-radius:var(--radius-sm);color:#0870d1;color:var(--blue-deep);flex:0 0 auto;font-weight:800;min-height:44px;min-height:var(--touch-target);padding:.55rem .8rem}.teacher-homework-container.teacher--navy h1,.teacher-homework-container.teacher--navy h2,.teacher-homework-container.teacher--navy h3,.teacher-homework-container.teacher--navy label,.teacher-homework-container.teacher--navy p{color:#10243f;color:var(--ink)}.teacher-homework-container.teacher--navy a{color:#0870d1;color:var(--blue-deep)}.teacher-homework-container.teacher--navy input,.teacher-homework-container.teacher--navy select,.teacher-homework-container.teacher--navy textarea{-webkit-text-fill-color:#10243f;-webkit-text-fill-color:var(--field-fg);background:#fbfdff;background:var(--field-bg);border-color:#cbdce9;border-color:var(--field-border);border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--field-fg)}.teacher-homework-container.teacher--navy input::placeholder,.teacher-homework-container.teacher--navy textarea::placeholder{color:#718397;color:var(--field-placeholder)}.teacher-homework-container.teacher--navy .homework-card,.teacher-homework-container.teacher--navy .list-row,.teacher-homework-container.teacher--navy .student-card{background:#fff;background:var(--white);border-color:#dbe8f2;border-color:var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink)}.teacher-homework-container.teacher--navy .btn,.teacher-homework-container.teacher--navy button{background:#dff2ff;background:var(--sky);border-color:#168df44d;box-shadow:none;color:#0870d1;color:var(--blue-deep)}.teacher-homework-container.teacher--navy .btn:hover,.teacher-homework-container.teacher--navy button:hover{background:#cfeaff;border-color:#168df47a;box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#0870d1;color:var(--blue-deep)}.teacher-homework-container.teacher--navy .btn-danger{background:#fff5f5;border-color:#efcaca;color:#9a2f2f}.teacher-homework-container.teacher--navy .homework-form-container button[type=submit],.teacher-homework-container.teacher--navy button[type=submit]{-webkit-text-fill-color:#fff;-webkit-text-fill-color:var(--white);background:#168df4;background:var(--blue);border-color:#168df4;border-color:var(--blue);color:#fff;color:var(--white)}.assignment-submit-button{margin-top:1rem}.assignment-submit-status{color:#0870d1!important;color:var(--blue-deep)!important;font-weight:700;margin-top:.75rem}.assignment-submit-status.is-error{color:#a83232!important}.teacher-homework-container.teacher--navy .student-name,.teacher-match-stats,.teacher-request-panel{color:#10243f;color:var(--ink)}.teacher-request-panel{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft)}.teacher-request-row{border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);color:#10243f;color:var(--ink)}.role-error-text{color:#a83232!important}.report-game-badge{background:#168df4;background:var(--blue);border-radius:6px;color:#fff;color:var(--white);display:inline-block;font-size:12px;line-height:18px;margin-left:8px;padding:2px 8px}.teacher-fn-leaderboard{color:#10243f;color:var(--ink)}.teacher-fn-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:12px}.teacher-fn-heading h1{color:#10243f;color:var(--ink);font-size:22px;margin:0}.teacher-fn-heading a{text-decoration:none}.teacher-fn-leaderboard .surface{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);color:#10243f;color:var(--ink);padding:8px}.teacher-fn-leaderboard .row{grid-gap:8px;align-items:center;border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:56px 1fr 120px 140px 120px;padding:8px 6px}.teacher-fn-leaderboard .row.head{border-bottom-width:2px;font-weight:700}.teacher-fn-leaderboard .row:last-child{border-bottom:0}.teacher-fn-leaderboard .linklike{background:none;border:0;color:#0870d1;color:var(--blue-deep);cursor:pointer;padding:0;text-decoration:underline}.teacher-fn-leaderboard .mini{background:#dff2ff;background:var(--sky);border:1px solid #a9cee9;border:1px solid var(--player-controls-border);border-radius:6px;color:#0870d1;color:var(--blue-deep);padding:4px 8px}.teacher-fn-leaderboard .detail{background:#f7fbff;background:var(--paper);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:8px;margin-top:6px;padding:8px}.teacher-fn-leaderboard .recent{margin-top:6px}.teacher-fn-leaderboard .recent-head,.teacher-fn-leaderboard .recent-row{grid-gap:8px;border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:1fr 100px 90px 80px 100px 120px;padding:6px 0}.teacher-fn-leaderboard .recent-head{font-weight:600}.teacher-fn-leaderboard .recent-row:last-child{border-bottom:0}.teacher-fn-message{margin-top:8px}.player-controls-bottom{background:#eaf6ff;background:var(--player-controls-bg);border-top:1px solid #a9cee9;border-top:1px solid var(--player-controls-border);box-shadow:0 -6px 18px #14487624;box-shadow:var(--player-controls-shadow);color:#10243f;color:var(--player-controls-fg)}.player-controls-inner{height:100%;padding:0 14px}.player-controls-bottom .top-controls{height:100%}.player-control-row{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:.75rem;height:100%;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.player-control-row::-webkit-scrollbar{display:none}.player-speed-controls{align-items:center;display:flex;gap:1rem}.player-speed-controls label{-webkit-text-fill-color:#0870d1;-webkit-text-fill-color:var(--blue-deep);color:#0870d1;color:var(--blue-deep);font-weight:800;margin:0}.player-metronome-controls,.player-transport-controls{align-items:center;display:flex;gap:.5rem}.player-metronome-controls{background:#eaf6ff;background:var(--player-controls-bg);box-shadow:-10px 0 12px -12px #0c304c73;flex:0 0 auto;margin-left:auto;padding-left:.65rem;position:-webkit-sticky;position:sticky;right:0;z-index:2}.player-measure-start-notice{-webkit-text-fill-color:#168df4;-webkit-text-fill-color:var(--blue);color:#168df4;color:var(--blue);flex:1 1 220px;font-size:clamp(.72rem,1.35vw,.9rem);font-weight:800;line-height:1.2;margin-left:auto;min-width:170px;text-align:right;white-space:nowrap}.player-controls-bottom .player-control-button{-webkit-text-fill-color:#0870d1;-webkit-text-fill-color:var(--blue-deep);-webkit-tap-highlight-color:transparent;background:#fff;background:var(--white);border:1px solid #a9cee9;border:1px solid var(--player-controls-border);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 4px 12px #14487617;color:#0870d1;color:var(--blue-deep);cursor:pointer;font-size:1.35rem;font-weight:900;min-height:44px;min-height:var(--touch-target);min-width:48px;padding:8px 12px;touch-action:manipulation}@media (hover:hover) and (pointer:fine){.player-controls-bottom .player-control-button:hover:not(:disabled){background:#eef7ff!important;background:var(--interactive-hover)!important;border-color:#168df4;border-color:var(--blue);color:#0870d1;color:var(--blue-deep)}}.player-controls-bottom .player-control-button--icon{display:grid;padding:5px;place-items:center;width:52px}.player-controls-bottom .player-control-button--note-help{flex:0 0 52px;height:44px;height:var(--touch-target);line-height:1;min-height:44px;min-height:var(--touch-target);position:relative}.player-control-button--note-help small{bottom:3px;font-size:.58rem;line-height:1;position:absolute;right:4px}.player-controls-bottom .player-speed-input:disabled{cursor:not-allowed;opacity:.48}.player-controls-bottom .player-control-button.is-selected{background:#cfeaff!important;border-color:#168df4;border-color:var(--blue);box-shadow:inset 0 0 0 2px #168df429,0 4px 12px #14487617}.player-controls-bottom .player-control-button[aria-pressed=true]{-webkit-text-fill-color:#0870d1!important;-webkit-text-fill-color:var(--blue-deep)!important;background:#cfeaff!important;border-color:#168df4!important;border-color:var(--blue)!important;box-shadow:inset 0 0 0 2px #168df429,0 4px 12px #14487617!important;color:#0870d1!important;color:var(--blue-deep)!important}.player-controls-bottom .player-control-button.is-active,.player-controls-bottom .player-control-button.is-active:disabled{-webkit-text-fill-color:#0870d1;-webkit-text-fill-color:var(--blue-deep);background:#cfeaff!important;border-color:#168df4;border-color:var(--blue);box-shadow:inset 0 0 0 2px #168df42e,0 4px 12px #14487617;color:#0870d1;color:var(--blue-deep);opacity:1}.player-control-symbol{fill:currentColor;color:#0870d1;color:var(--blue-deep);display:block;height:30px;width:30px}.player-countin-label{-webkit-text-fill-color:#0870d1;-webkit-text-fill-color:var(--blue-deep);color:#0870d1;color:var(--blue-deep);font-size:.86rem;font-weight:900;letter-spacing:-.04em;white-space:nowrap}@media (hover:none),(pointer:coarse){.player-controls-bottom .player-control-button.is-active,.player-controls-bottom .player-control-button.is-active:disabled,.player-controls-bottom .player-control-button.is-selected,.player-controls-bottom .player-control-button[aria-pressed=true]{background:#cfeaff!important;border-color:#168df4;border-color:var(--blue);color:#0870d1;color:var(--blue-deep)}}.player-speed-input{-webkit-text-fill-color:#0870d1;-webkit-text-fill-color:var(--blue-deep);border:1px solid #a9cee9;border:1px solid var(--player-controls-border);border-radius:10px;border-radius:var(--radius-sm);font-size:.95rem;padding:8px 10px;text-align:center;width:64px}.player-controls-bottom .player-record-button,.player-speed-input{background:#fff;background:var(--white);color:#0870d1;color:var(--blue-deep);min-height:44px;min-height:var(--touch-target)}.player-controls-bottom .player-record-button{border:1px solid #a9cee9;border:1px solid var(--player-controls-border);box-shadow:0 4px 12px #14487617}@media (max-width:700px){.role-list-card{grid-template-columns:1fr}.teacher-assignment-card__actions{justify-content:flex-start}.assignment-load-warning{align-items:stretch;flex-direction:column}}@media (max-width:768px){.teacher-fn-leaderboard .row{grid-template-columns:44px 1fr 100px}.teacher-fn-leaderboard .row>div:nth-child(4),.teacher-fn-leaderboard .row>div:nth-child(5){display:none}.teacher-fn-leaderboard .recent-head,.teacher-fn-leaderboard .recent-row{grid-template-columns:1fr 84px 84px}.teacher-fn-leaderboard .recent-head span:nth-child(n+4),.teacher-fn-leaderboard .recent-row span:nth-child(n+4){display:none}}@media (max-width:880px){.app-welcome{grid-template-columns:1fr;min-height:auto}.app-welcome__visual{width:min(680px,100%)}.app-welcome__visual article:nth-child(2){transform:none}.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){#root .app-shell>header .brand-header{height:4rem!important;padding:0 .8rem!important}.app-welcome{min-height:100%;padding:1.25rem 0}.app-welcome h1{font-size:clamp(2.7rem,14vw,4rem)}.app-welcome__visual{padding:0}.capacity-grid,.menu-buttons{grid-template-columns:1fr}.page-container{width:min(100% - 1.25rem,1080px)}.workspace-page{width:min(100% - 1.25rem,1120px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.score-converter-page{background:#eef8ff;background:var(--app-bg,#eef8ff);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;width:100%}.score-converter-error,.score-converter-loading{border-radius:10px;margin:8px 16px;padding:8px 12px}.score-converter-error{background:#fff0f2;border:1px solid #efb8c0;color:#8a1f2d}.score-converter-frame{background:#eef8ff;border:0;display:block;flex:1 1;height:0;min-height:0;opacity:0;width:100%}.app-route-viewport--converter{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}.app-route-viewport--converter>.score-converter-page{flex:1 1;height:auto}.score-converter-error,.score-converter-loading{flex:0 0 auto}.score-converter-frame.is-ready{opacity:1}.assignment-converter-callout{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #cfe2ef;border:1px solid var(--border-soft,#cfe2ef);border-radius:14px;border-radius:var(--radius-md,16px);color:#0870d1;color:var(--blue-deep,#164876);display:flex;gap:16px;justify-content:space-between;margin:0 0 20px;padding:14px 16px}.assignment-converter-callout>div{grid-gap:4px;display:grid;gap:4px}.assignment-phone-intro{color:#526579;color:var(--ink-soft);line-height:1.5;margin:0}.app-shell--phone .homework-form-container--phone{gap:12px;max-width:none;padding:8px 0 calc(96px + env(safe-area-inset-bottom, 0px));width:calc(100% - 32px)}.app-shell--phone .homework-form-container--phone form{min-width:0;width:100%}.app-shell--phone .homework-form-container--phone .form-field input,.app-shell--phone .homework-form-container--phone .form-field select,.app-shell--phone .homework-form-container--phone .form-field textarea{box-sizing:border-box;max-width:100%;min-height:44px}.app-shell--phone .homework-form-container--phone input[type=file]{font-size:16px;padding:10px}.assignment-converter-callout span,.converted-score-name{color:#526579;color:var(--text-muted,#587086)}.converted-score-name{display:block;font-weight:700;margin-top:6px}@media (max-width:700px){.assignment-converter-callout{align-items:stretch;flex-direction:column}}#root .app-shell{padding-top:env(safe-area-inset-top,0)}.app-menu-clearance{box-sizing:border-box;margin-left:0!important;margin-left:var(--menu-clearance,0)!important;max-width:100%;max-width:calc(100% - var(--menu-clearance, 0px));position:relative}.app-shell .app-drawer-toggle{background:#0000;color:#10243f;color:var(--ink)}.app-drawer-toggle{align-items:center;border:0;border-radius:14px;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:8px;left:max(12px,env(safe-area-inset-left,0px));min-height:44px;padding:8px 12px;top:calc(env(safe-area-inset-top, 0px) + 4px);z-index:1200}.app-drawer-toggle,.app-navigation-drawer{background:#f7fbff;background:var(--paper);color:#10243f;color:var(--ink);position:fixed}.app-navigation-drawer{border:0;border-radius:0 24px 24px 0;height:100%;height:100dvh;inset:0 auto 0 0;margin:0;max-height:none;max-width:none;overflow:hidden;padding:0;width:min(340px,88vw)}.app-navigation-drawer::backdrop{background:#10233452}.app-navigation-drawer[open]{animation:practisio-drawer-enter .18s ease-out}.app-drawer-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:calc(env(safe-area-inset-top, 0px) + 16px) 16px calc(env(safe-area-inset-bottom, 0px) + 16px)}.app-drawer-heading{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding-bottom:20px}.app-drawer-heading .app-brand-link{align-items:center;background:#0000;border:0;border-radius:0;box-shadow:none;color:#10243f;color:var(--ink);display:flex;font-size:1.3rem;font-weight:800;gap:4px;padding:0;text-decoration:none}.app-drawer-heading .app-brand-link:focus-visible{outline:none}.app-drawer-heading .app-brand-link .brand-title,.app-drawer-heading .app-brand-link:focus-visible .brand-title{color:#10243f;color:var(--ink);text-decoration:none}.app-drawer-logo{height:40px;object-fit:contain;width:40px}.app-drawer-close{background:#dff2ff;background:var(--sky);border:0;border-radius:12px;color:#10243f;color:var(--ink);cursor:pointer;font-size:28px;min-height:44px;min-width:44px}.app-drawer-links{display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-drawer-links .app-nav-link,.app-drawer-links a{align-items:center;background:#0000;border-radius:12px;color:#10243f;color:var(--ink);display:flex;flex-shrink:0;font:inherit;font-weight:650;gap:10px;min-height:44px;padding:10px 12px;text-align:left;text-decoration:none}.app-drawer-icon{color:currentColor;flex:0 0 20px;opacity:.78}.app-drawer-links .app-drawer-primary-action{background:#0000;color:#10243f;color:var(--ink);font-weight:650}.app-drawer-links .app-drawer-primary-action.is-active{background:#dff2ff;background:var(--sky);color:#0870d1;color:var(--blue-deep);font-weight:800}.app-drawer-account{border-top:1px solid #dbe8f2;border-top:1px solid var(--line);margin-top:auto;padding-top:10px}.app-drawer-group-links{display:flex;flex-direction:column;gap:4px}.app-drawer-group-title{color:#526579;color:var(--ink-soft);font-size:.8rem;font-weight:700;margin:16px 12px 6px}.app-drawer-links .workspace-nav-select{flex-shrink:0;max-width:none;min-height:44px;width:100%}.app-drawer-links .is-active{color:#0870d1;color:var(--blue-deep)}.app-drawer-links .is-active,.app-drawer-links a:active,.app-drawer-toggle:active{background:#dff2ff;background:var(--sky)}.app-drawer-close:focus-visible,.app-drawer-links a:focus-visible,.app-drawer-toggle:focus-visible{outline:2px solid #168df4;outline:2px solid var(--blue);outline-offset:2px}@media (hover:hover){.app-drawer-links a:hover,.app-drawer-toggle:hover{background:#dff2ff;background:var(--sky)}}@media (prefers-reduced-motion:reduce){.app-navigation-drawer[open]{animation:none}}@keyframes practisio-drawer-enter{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.student-difficulty-setting{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.student-difficulty-setting small{color:#526579;color:var(--ink-soft);flex-basis:100%}.student-difficulty-save{min-width:7rem}.student-difficulty-saved{color:#18794e;color:var(--success,#18794e);font-weight:750}.student-progress-summary{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.65rem}.student-progress-snapshot{border-top:1px solid var(--border-soft);margin-top:.7rem;padding-top:.7rem}.student-progress-snapshot__heading{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.student-progress-snapshot__heading h3{font-size:1rem;margin:0}.student-progress-snapshot__heading span,.student-progress-snapshot__note{color:#526579;color:var(--ink-soft);font-size:.75rem}.student-progress-snapshot__facts{display:flex;flex-wrap:wrap;font-size:.8rem;gap:.35rem .8rem;margin:.55rem 0}.student-progress-snapshot__facts strong{color:#0870d1;color:var(--blue-deep);font-size:1rem}.student-progress-trend{grid-gap:.3rem;display:grid;gap:.3rem}.student-progress-trend__row{grid-gap:.45rem;align-items:center;display:grid;font-size:.73rem;gap:.45rem;grid-template-columns:6.5rem minmax(0,1fr) 1.5rem}.student-progress-trend__row strong{text-align:right}.student-progress-trend__track{background:var(--surface);border-radius:999px;height:.42rem;overflow:hidden}.student-progress-trend__track i{background:#0870d1;background:var(--blue-deep);border-radius:inherit;display:block;height:100%}.student-progress-snapshot__note{margin:.35rem 0}.student-progress-snapshot__detail{font-size:.78rem;margin:.25rem 0}.student-progress-snapshot--teacher{background:#fff;border:1px solid var(--border-soft);border-radius:18px;margin-top:.75rem;padding:.85rem}.student-progress-snapshot--teacher .student-progress-snapshot__heading{align-items:flex-start}.student-progress-snapshot--teacher .student-progress-snapshot__heading h3{color:#0870d1;color:var(--blue-deep);font-size:1.03rem;letter-spacing:-.01em}.student-progress-snapshot--teacher .student-progress-snapshot__heading p{color:#526579;color:var(--ink-soft);font-size:.72rem;margin:.12rem 0 0}.student-analytics-window{background:#edf2f7;border-radius:9px;display:flex;flex:0 0 auto;gap:.15rem;padding:.16rem}.student-analytics-window button{background:#0000;border:0;border-radius:7px;color:#647384;font:inherit;font-size:.62rem;font-weight:750;padding:.3rem .52rem;white-space:nowrap}.student-analytics-window button.is-active{background:#fff;box-shadow:0 1px 3px #18395b1f;color:#173f69}.student-analytics-metrics{grid-gap:.38rem;display:grid;gap:.38rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.58rem}.student-analytics-metric{align-items:center;background:#f9fbfe;border:1px solid #dfe8f3;border-radius:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;min-width:0;padding:.43rem .55rem}.student-analytics-metric>span{color:#526579;color:var(--ink-soft);display:block;font-size:.61rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-analytics-metric>strong{color:#163f6d;display:block;font-size:1.02rem;grid-column:2;grid-row:1/3;line-height:1;margin-left:.45rem;white-space:nowrap}.student-analytics-metric>div{align-items:center;color:#526579;color:var(--ink-soft);display:flex;flex-wrap:nowrap;font-size:.57rem;gap:.18rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-analytics-change{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;padding:.08rem .35rem}.student-analytics-change.is-up{background:#e4f6ef;color:#0b6c55}.student-analytics-change.is-down{background:#fff2dc;color:#9a5c12}.student-analytics-change.is-neutral{background:#edf1f6;color:#5e6d7d}.student-analytics-overview{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:minmax(0,1.7fr) minmax(12rem,.8fr);margin-top:.52rem}.student-analytics-insights,.student-analytics-overview__chart{background:#fff;border:1px solid #e2e9f2;border-radius:14px;min-width:0}.student-analytics-overview__chart{overflow:hidden}.student-analytics-weekly{box-sizing:border-box;overflow:hidden;padding:.52rem .65rem .45rem;width:100%}.student-analytics-weekly__legend{color:#526579;color:var(--ink-soft);display:flex;font-size:.62rem;gap:.75rem;justify-content:flex-end}.student-analytics-weekly__legend span{align-items:center;display:flex;gap:.25rem}.student-analytics-weekly__legend i{border-radius:2px;height:.42rem;width:.42rem}.student-analytics-weekly .is-player{background:#256fae}.student-analytics-weekly .is-submission{background:#63b7a3}.student-analytics-weekly .is-game{background:#d8a34b}.student-analytics-weekly__plot{grid-gap:clamp(.12rem,.8vw,.55rem);align-items:end;border-bottom:1px solid #dbe4ef;display:grid;gap:clamp(.12rem,.8vw,.55rem);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--week-count,4),minmax(0,1fr));height:5.65rem;overflow:hidden;padding-top:.3rem;width:100%}.student-analytics-week{align-items:end;display:grid;grid-template-rows:1fr auto;height:100%;min-width:0}.student-analytics-week>span{color:#526579;color:var(--ink-soft);font-size:.52rem;line-height:.8rem;margin-bottom:-.95rem;min-height:.8rem;text-align:center;white-space:nowrap}.student-analytics-week__bars{align-items:flex-end;display:flex;gap:clamp(1px,.18vw,.16rem);height:4.15rem;justify-content:center}.student-analytics-week__bars i{border-radius:3px 3px 1px 1px;display:block;min-height:2px;width:clamp(2px,22%,.58rem)}.student-analytics-insights{background:#f8fbff;padding:.65rem .72rem}.student-analytics-insights h4{color:#173d67;font-size:.73rem;margin:0 0 .35rem}.student-analytics-insights>div{border-top:1px solid #e2e9f2;padding:.34rem 0}.student-analytics-insights>div:first-of-type{border-top:0}.student-analytics-insights span{color:#2f6d9f;font-size:.57rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.student-analytics-insights p{color:#2f3d4d;font-size:.65rem;line-height:1.35;margin:.08rem 0 0}.student-analytics-tabs{background:#edf2f7;border-radius:11px;display:flex;gap:.25rem;margin-top:.65rem;padding:.2rem}.student-analytics-tabs button{background:#0000;border:0;border-radius:8px;color:#526273;flex:1 1;font:inherit;font-size:.64rem;font-weight:750;min-width:0;padding:.42rem .35rem;white-space:nowrap}.student-analytics-tabs button.is-active{background:#fff;box-shadow:0 1px 4px #1c39591f;color:#153e69}.student-analytics-tabpanel{min-height:3.7rem;padding:.48rem .15rem 0}.student-analytics-detail-grid{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.student-analytics-detail-grid>div,.student-game-summary>div{background:#f9fbfd;border-left:2px solid #9fc2df;padding:.48rem .55rem}.student-analytics-detail-grid span,.student-game-summary span{color:#526579;color:var(--ink-soft);display:block;font-size:.61rem}.student-analytics-detail-grid strong,.student-game-summary strong{color:#1d446d;display:block;font-size:.83rem;margin-top:.08rem}.student-performance-scores{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 auto;max-width:31rem}.student-performance-score{grid-gap:.25rem;background:#f8fbfe;border-radius:10px;display:grid;gap:.25rem;justify-items:center;min-width:0;padding:.32rem .2rem}.student-performance-score__ring{--score:0;background:conic-gradient(#377eb5 calc(var(--score)*1%),#dce7f1 0);border-radius:50%;display:grid;height:2.45rem;place-items:center;position:relative;width:2.45rem}.student-performance-score__ring:after{background:#fff;border-radius:inherit;content:"";inset:4px;position:absolute}.student-performance-score__ring strong{color:#173f69;font-size:.67rem;position:relative;z-index:1}.student-performance-score>span{color:#526579;color:var(--ink-soft);font-size:.58rem;font-weight:750;text-align:center}.student-game-summary{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.student-game-summary small{color:#526579;color:var(--ink-soft);font-size:.58rem}.student-analytics-empty{background:#f7f9fc;border-radius:10px;color:#526579;color:var(--ink-soft);font-size:.72rem;margin:.7rem 0 .2rem;padding:.7rem}@media (max-width:900px){.student-detail-summary-layout{grid-template-columns:1fr}.student-detail-summary-layout>.student-detail-profile,.student-detail-summary-layout>.student-detail-report,.student-detail-summary-layout>.student-progress-snapshot--detail{grid-column:1;grid-row:auto}.student-analytics-detail-grid,.student-analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-analytics-overview{grid-template-columns:1fr}}.student-progress-summary article{grid-gap:.15rem;align-content:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;border-radius:var(--radius-md);display:grid;gap:.15rem;justify-items:start;min-width:0;padding:.65rem .75rem}.student-progress-summary strong{color:#0870d1;color:var(--blue-deep);font-size:1.15rem}.student-progress-summary span{color:#526579;color:var(--ink-soft);font-size:.78rem;font-weight:700;line-height:1.2}.student-progress-assignments{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;border-radius:var(--radius-md);margin-bottom:.65rem;padding:.75rem}.student-progress-assignments:last-child{margin-bottom:0}.student-progress-assignments h2{font-size:1rem;margin:0 0 .4rem}.student-progress-assignments p{margin:.25rem 0 .6rem}.student-progress-assignments ul{grid-gap:.45rem;display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.student-progress-assignments li{align-items:center;background:#dff2ff;background:var(--sky);border-radius:12px;display:flex;gap:1rem;justify-content:space-between;padding:.65rem .75rem}.student-progress-assignments button{background:#0000;border:0;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-weight:750;padding:0;text-align:left}.student-progress-assignments span{color:#526579;color:var(--ink-soft);font-size:.88rem}.student-progress-latest{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.7rem}.student-progress-latest strong{color:#10243f;color:var(--ink)}.student-homework-detail-toggle,.student-progress-open-assignments{background:#dff2ff!important;background:var(--sky)!important;border:1px solid #0870d1!important;border:1px solid var(--blue-deep)!important;border-radius:10px;color:#0870d1!important;color:var(--blue-deep)!important;cursor:pointer;font:inherit;font-weight:750;min-height:40px;padding:.5rem .8rem!important}.student-progress-activity{margin-top:1rem}.student-progress-activity>summary{color:#0870d1;color:var(--blue-deep);cursor:pointer;font-weight:750;padding:.7rem 0}.student-detail-assignments .homework-card,.student-detail-assignments .homework-card .actions{flex-wrap:wrap}.performance-inbox--embedded{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;border-radius:var(--radius-md);box-sizing:border-box;margin:.55rem auto 1rem;min-height:0;padding:.75rem;width:min(100%,760px)}.performance-inbox--embedded h1{font-size:clamp(1.35rem,2.5vw,1.8rem)}.performance-inbox-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.performance-inbox-filters button{background:var(--surface);border:1px solid var(--border-soft);border-radius:999px;color:#10243f;color:var(--ink);cursor:pointer;font:inherit;font-weight:700;min-height:40px;padding:.5rem .85rem}.performance-inbox-filters button.is-active{background:#dff2ff;background:var(--sky);border-color:#168df4;border-color:var(--blue);color:#0870d1;color:var(--blue-deep)}.student-progress-activity-title{margin-top:1.5rem}@media (max-width:640px){.student-progress-summary{grid-template-columns:1fr}}.guardian-access-page{max-width:920px}.guardian-access-hero{background:linear-gradient(135deg,var(--surface),#dff2ff);background:linear-gradient(135deg,var(--surface),var(--sky))}.guardian-access-panel{grid-gap:.85rem;display:grid;gap:.85rem}.guardian-access-panel h2,.guardian-access-panel p{margin:0}.guardian-access-actions{display:flex;flex-wrap:wrap;gap:.65rem}.guardian-invitation-result{grid-gap:.4rem;display:grid;gap:.4rem;padding-top:.35rem}.guardian-invitation-result>div{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto}.guardian-invitation-result input{min-width:0}.birthdate-editor{grid-gap:.55rem;align-items:center;display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto}.birthdate-editor .settings-secondary-button{margin:0}.birthdate-select-button{justify-self:start;margin-top:0}.guardian-game-notice{background:#dff2ff;background:var(--sky);border:1px solid var(--border-soft);border-radius:12px;color:#0870d1;color:var(--blue-deep);font-size:.88rem;font-weight:650;margin:.35rem auto;padding:.55rem .8rem;width:min(920px,calc(100% - 2rem))}.guardian-dashboard{grid-gap:1rem;display:grid;gap:1rem}.guardian-dashboard-hero{align-items:end;background:linear-gradient(135deg,#fff,#dff2ff);background:linear-gradient(135deg,var(--surf),var(--sky));display:flex;gap:1rem;justify-content:space-between}.guardian-dashboard-hero h1,.guardian-dashboard-hero p{margin:0}.guardian-child-picker{flex:0 0 auto;width:min(280px,100%)}.guardian-summary-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.guardian-summary-card{grid-gap:.2rem;align-content:center;background:#fff;background:var(--surf);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);display:grid;gap:.2rem;min-height:104px;padding:1rem}.guardian-summary-card strong{color:#0870d1;color:var(--blue-deep);font-size:clamp(1.45rem,2.6vw,2.2rem);line-height:1}.guardian-summary-card span{color:#526579;color:var(--ink-soft);font-size:.86rem;font-weight:650}.guardian-notification-center{grid-gap:.85rem;display:grid;gap:.85rem}.guardian-notification-actions{align-items:center;display:flex;gap:.65rem;justify-content:end}.guardian-notification-actions span{color:#0870d1;color:var(--blue-deep);font-weight:800}.guardian-notification-actions button{background:#dff2ff;background:var(--sky);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:999px;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-weight:750;min-height:38px;padding:.5rem .75rem}.guardian-notification-actions button:disabled{cursor:default;opacity:.55}.guardian-notification-list{grid-gap:.55rem;display:grid;gap:.55rem}.guardian-notification-item{grid-gap:.8rem;align-items:center;background:#fff;background:var(--surf);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);color:#10243f;color:var(--ink);cursor:pointer;display:grid;font:inherit;gap:.8rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.75rem .8rem;text-align:left;width:100%}.guardian-notification-item.is-unread{background:color-mix(in srgb,#dff2ff 72%,#fff);background:color-mix(in srgb,var(--sky) 72%,var(--surf));border-color:#168df4;border-color:var(--blue);box-shadow:inset 4px 0 0 #168df4;box-shadow:inset 4px 0 0 var(--blue)}.guardian-notification-type{background:#dff2ff;background:var(--sky);border-radius:999px;color:#0870d1;color:var(--blue-deep);font-size:.76rem;font-weight:800;min-width:88px;padding:.28rem .48rem;text-align:center}.guardian-notification-copy{grid-gap:.14rem;display:grid;gap:.14rem;min-width:0}.guardian-notification-copy small,.guardian-notification-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guardian-notification-copy small,.guardian-notification-item time{color:#526579;color:var(--ink-soft);font-size:.78rem}.guardian-dashboard-columns{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.guardian-dashboard-section{grid-gap:.85rem;display:grid;gap:.85rem;min-width:0}.guardian-section-heading{align-items:end;display:flex;gap:.75rem;justify-content:space-between}.guardian-section-heading h2,.guardian-section-heading p{margin:0}.guardian-section-heading>span{color:#526579;color:var(--ink-soft);font-size:.82rem;font-weight:700}.guardian-list{grid-gap:.7rem;display:grid;gap:.7rem}.guardian-list-card,.guardian-performance-card{grid-gap:.65rem;background:#fbfdff;background:var(--field-bg);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);display:grid;gap:.65rem;padding:.85rem}.guardian-list-card h3,.guardian-list-card p,.guardian-performance-card h3,.guardian-performance-card p{margin:0}.guardian-list-card p,.guardian-muted,.guardian-performance-card p{color:#526579;color:var(--ink-soft);font-size:.86rem}.guardian-meta-grid{grid-gap:.45rem .7rem;display:grid;gap:.45rem .7rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.guardian-meta-grid div{min-width:0}.guardian-meta-grid dt{color:#526579;color:var(--text-muted);font-size:.72rem;font-weight:650}.guardian-meta-grid dd{color:#10243f;color:var(--ink);font-size:.82rem;font-weight:700;margin:.08rem 0 0}.guardian-performance-title{align-items:start;display:flex;gap:.65rem;justify-content:space-between}.guardian-score-pill{background:#dff2ff;background:var(--sky);border-radius:999px;color:#0870d1;color:var(--blue-deep);display:inline-flex;flex:0 0 auto;font-size:.73rem;font-weight:800;padding:.32rem .52rem}.guardian-score-pill.is-strong{background:#2b9c6721;color:#17643a;color:var(--success-ink,#17643a)}.guardian-score-pill.is-developing{background:#dc972626;color:#845400}.guardian-score-pill.is-attention{background:#cb4b4a21;color:#9f2430;color:var(--danger-ink,#9f2430)}.guardian-progress-row{grid-gap:.45rem;align-items:center;color:#526579;color:var(--ink-soft);display:grid;font-size:.76rem;gap:.45rem;grid-template-columns:auto minmax(80px,1fr) auto}.guardian-progress-row>div{background:#dbe8f2;background:var(--line);border-radius:999px;height:7px;overflow:hidden}.guardian-progress-row i{background:#168df4;background:var(--blue);border-radius:inherit;display:block;height:100%}.guardian-feedback-preview{background:#dff2ff;background:var(--sky);border-left:3px solid #168df4;border-left:3px solid var(--blue);color:#10243f!important;color:var(--ink)!important;padding:.55rem .65rem}.guardian-audio-button{background:#dff2ff;background:var(--sky);border:1px solid #168df4;border:1px solid var(--blue);border-radius:999px;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-weight:800;justify-self:start;min-height:40px;padding:.55rem .85rem}.guardian-audio-button:disabled{cursor:wait;opacity:.58}.guardian-performance-audio{min-height:40px;width:100%}.guardian-preferences summary{color:#0870d1;color:var(--blue-deep);cursor:pointer;font-weight:800}.guardian-preference-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.85rem}.guardian-preference-toggle{align-items:center;background:#fbfdff;background:var(--field-bg);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#10243f;color:var(--ink);cursor:pointer;display:flex;font:inherit;gap:.65rem;min-height:46px;padding:.55rem .7rem;text-align:left}.guardian-preference-toggle>span{background:#dbe8f2;background:var(--line);border-radius:999px;flex:0 0 auto;height:22px;position:relative;transition:background .18s ease;width:38px}.guardian-preference-toggle>span i{background:#fff;background:var(--surf);border-radius:50%;box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);height:16px;left:3px;position:absolute;top:3px;transition:transform .18s ease;width:16px}.guardian-preference-toggle.is-active>span{background:#168df4;background:var(--blue)}.guardian-preference-toggle.is-active>span i{transform:translateX(16px)}.guardian-preference-save{background:#0870d1;background:var(--blue-deep);border:1px solid #168df4;border:1px solid var(--blue);border-radius:999px;color:#fff;color:var(--white);cursor:pointer;font:inherit;font-weight:800;margin-top:.75rem;min-height:40px;padding:.55rem .85rem}.guardian-preference-save:disabled{background:#fbfdff;background:var(--field-bg);border-color:#dbe8f2;border-color:var(--line);color:#526579;color:var(--ink-soft);cursor:default}.guardian-feedback-grid{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr))}.guardian-feedback-grid article{background:#fbfdff;background:var(--field-bg);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);padding:.8rem}.guardian-feedback-grid p{color:#526579;color:var(--ink-soft);margin:.35rem 0}.guardian-feedback-grid time{color:#526579;color:var(--text-muted);font-size:.75rem}.guardian-account-actions summary{color:#0870d1;color:var(--blue-deep);cursor:pointer;font-weight:750}.guardian-account-actions .settings-account-card{box-shadow:none;margin-top:.85rem}.guardian-empty-state{text-align:center}@media (max-width:860px){.guardian-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guardian-dashboard-columns,.guardian-feedback-grid{grid-template-columns:1fr}}@media (max-width:560px){.guardian-dashboard-hero{display:grid}.guardian-summary-card{min-height:84px}.guardian-performance-title{display:grid}.guardian-notification-item{grid-template-columns:auto minmax(0,1fr)}.guardian-notification-item time{grid-column:2}.guardian-preference-grid{grid-template-columns:1fr}}@media (max-width:640px){.guardian-access-actions{display:grid}.birthdate-editor,.guardian-invitation-result>div{grid-template-columns:1fr}}.phone-companion-notice{align-items:center;color:#17324d;color:var(--text-primary,#17324d);display:flex;flex-direction:column;gap:16px;justify-content:center;margin:0 auto;min-height:calc(100dvh - 32px);padding:max(72px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));text-align:center;width:min(100% - 32px,480px)}.phone-companion-notice__icon{background:#dceef8;background:var(--accent-soft,#dceef8);border-radius:22px;box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft,0 12px 30px #17324d1f);color:#176b87;color:var(--accent-strong,#176b87);display:grid;font-size:2rem;height:64px;place-items:center;width:64px}.phone-companion-notice h1,.phone-companion-notice p{margin:0}.phone-companion-nav{display:none}.app-shell--phone{background:var(--page-bg);min-height:100dvh}.app-shell--phone .app-route-viewport{min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px))}.app-shell--phone .page-container.student-overview,.app-shell--phone .teacher-homework-container.teacher--navy.teacher-overview{box-sizing:border-box;gap:14px;margin:0;max-width:none;min-width:0;padding:calc(env(safe-area-inset-top, 0px) + 64px) 16px 24px;width:100%}.app-shell--phone .student-overview__heading.app-page-heading,.app-shell--phone .teacher-overview__heading.app-page-heading{margin:0;min-width:0;padding:0 0 0 44px}.app-shell--phone .student-overview__heading h1,.app-shell--phone .teacher-overview__heading h1{font-size:1.5rem}.app-shell--phone .student-overview__hub,.app-shell--phone .student-overview__upper-layout,.app-shell--phone .teacher-overview__dashboard{grid-template-columns:minmax(0,1fr)}.app-shell--phone .teacher-overview__attention,.app-shell--phone .teacher-overview__students,.app-shell--phone .teacher-overview__summary,.app-shell--phone .teacher-overview__workflow{min-width:0;padding:14px}.app-shell--phone .teacher-overview__workflow-actions a[href="/teacher/score-converter"]{display:none}.app-shell--phone .teacher-overview__attention-list{grid-template-columns:minmax(0,1fr)}.app-shell--phone .teacher-overview__students-heading{grid-gap:4px;display:grid;gap:4px}.app-shell--phone .teacher-overview__students>input{box-sizing:border-box;max-width:none;min-height:44px;width:100%}.app-shell--phone .student-overview__hub{padding:10px}.app-shell--phone .student-overview__assignment-card{padding:16px}.app-shell--phone .student-overview__all-link{min-height:44px}.app-shell--phone .student-overview__games-card,.app-shell--phone .student-overview__quick-menu>a[href="/metronome"]{display:none}.app-shell--phone .student-overview__quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--phone .student-overview__quick-menu>a{min-height:52px;min-width:0}.app-shell--phone .student-overview__analytics-rail{grid-template-rows:auto auto;padding:11px}.app-shell--phone .student-growth-board,.app-shell--phone .student-overview__rail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--phone .student-journey__legend{flex-wrap:wrap;justify-content:flex-start}.app-shell--phone .student-journey__plot{overflow:hidden}.app-shell--phone .midi-analysis-report,.app-shell--phone .performance-inbox,.app-shell--phone .performance-inbox-item,.app-shell--phone .performance-inbox-list,.app-shell--phone .performance-recording-block,.app-shell--phone .student-detail-assignments,.app-shell--phone .student-detail-assignments .homework-list,.app-shell--phone .student-detail-page{box-sizing:border-box;max-width:100%;min-width:0}.app-shell--phone .student-detail-assignments{padding:12px}.app-shell--phone .student-detail-assignments .homework-card{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);width:100%}.app-shell--phone .student-detail-assignments .homework-card .meta,.app-shell--phone .student-detail-assignments .homework-card>div{max-width:100%;min-width:0}.app-shell--phone .student-detail-assignments .homework-card .actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.app-shell--phone .student-detail-assignments .homework-card .actions>*{box-sizing:border-box;max-width:100%;min-width:0;overflow-wrap:anywhere;white-space:normal}.app-shell--phone .student-detail-assignments .homework-card .actions>:only-child{grid-column:1/-1}.app-shell--phone .student-homework-detail-toggle{line-height:1.2;min-height:44px}.app-shell--phone .performance-inbox{margin:0;padding:calc(env(safe-area-inset-top, 0px) + 64px) 16px 24px;width:100%}.app-shell--phone .performance-inbox--embedded{padding:0}.app-shell--phone .performance-inbox .performance-inbox-item{padding:10px;width:100%}.app-shell--phone .performance-inbox-heading{flex-wrap:wrap}.app-shell--phone .performance-inbox-heading>div{min-width:0;overflow-wrap:anywhere}.app-shell--phone .performance-recording-audio-layout{grid-template-columns:1fr;justify-items:start}.app-shell--phone .performance-inbox .performance-recording-audio-layout .performance-metadata{grid-gap:4px 8px;display:grid;gap:4px 8px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.app-shell--phone .performance-inbox .performance-recording-audio-layout .performance-metadata div{display:grid;min-width:0;white-space:normal}.app-shell--phone .performance-inbox .performance-recording-audio-layout .performance-metadata dd{overflow-wrap:anywhere}.app-shell--phone .midi-analysis-report.is-compact .midi-analysis-report__bar-row{grid-template-columns:minmax(0,1fr) minmax(50px,.8fr) 30px}.app-shell--phone .performance-rating--compact .performance-rating__choices{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%}.app-shell--phone .student-homework-container{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px));padding-top:64px;width:calc(100% - 32px)}.app-shell--phone .page-container,.app-shell--phone .workspace-page{max-width:none;min-height:auto;padding:max(64px,calc(env(safe-area-inset-top, 0px) + 56px)) 16px 24px;width:100%}.app-shell--phone .app-drawer-toggle{background:color-mix(in srgb,#fff 94%,#0000);background:color-mix(in srgb,var(--surf) 94%,#0000);border:1px solid #dbe8f2;border:1px solid var(--line);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);justify-content:center;min-width:44px;padding:0;width:44px}.app-shell--phone .app-drawer-toggle>span{display:none}.app-shell--phone .phone-companion-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,#fff 94%,#0000);background:color-mix(in srgb,var(--surf) 94%,#0000);border:1px solid color-mix(in srgb,#dbe8f2 85%,#0000);border:1px solid color-mix(in srgb,var(--line) 85%,#0000);border-radius:22px;bottom:max(8px,env(safe-area-inset-bottom,0px));box-shadow:0 14px 36px #1e3d552e;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;left:10px;min-height:62px;padding:5px;position:fixed;right:10px;z-index:1180}.app-shell--phone .phone-companion-nav a{align-items:center;border-radius:17px;color:#526579;color:var(--ink-soft);display:flex;flex-direction:column;font-size:10px;font-weight:750;gap:2px;justify-content:center;min-width:0;padding:5px 2px;text-decoration:none}.app-shell--phone .phone-companion-nav a.is-active{background:#dff2ff;background:var(--sky);color:#0870d1;color:var(--blue-deep)}.app-shell--phone .phone-companion-nav svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:23px;width:23px}.app-shell--phone .guardian-dashboard{gap:12px}.app-shell--phone .guardian-dashboard-hero,.app-shell--phone .workspace-panel{border-radius:18px;padding:14px}.app-shell--phone .guardian-dashboard-hero h1{font-size:1.45rem}.app-shell--phone .guardian-dashboard-hero>div>p:last-child{font-size:.88rem}.app-shell--phone .guardian-summary-grid{gap:8px}.app-shell--phone .guardian-summary-card{border-radius:16px;min-height:76px;padding:10px}.app-shell--phone .guardian-summary-card strong{font-size:1.35rem}.app-shell--phone .guardian-notification-type{min-width:68px}.app-shell--phone #assignments,.app-shell--phone #notifications{scroll-margin-top:64px}.app-shell--phone .guardian-dashboard[data-phone-section=assignments] .guardian-account-actions,.app-shell--phone .guardian-dashboard[data-phone-section=assignments] .guardian-dashboard-columns>section:not(#assignments),.app-shell--phone .guardian-dashboard[data-phone-section=assignments] .guardian-notification-center,.app-shell--phone .guardian-dashboard[data-phone-section=assignments] .guardian-preferences,.app-shell--phone .guardian-dashboard[data-phone-section=assignments] .guardian-summary-grid,.app-shell--phone .guardian-dashboard[data-phone-section=assignments]>.guardian-dashboard-section,.app-shell--phone .guardian-dashboard[data-phone-section=notifications] .guardian-account-actions,.app-shell--phone .guardian-dashboard[data-phone-section=notifications] .guardian-dashboard-columns,.app-shell--phone .guardian-dashboard[data-phone-section=notifications] .guardian-summary-grid,.app-shell--phone .guardian-dashboard[data-phone-section=notifications]>.guardian-dashboard-section,.app-shell--phone .guardian-dashboard[data-phone-section=summary] #assignments,.app-shell--phone .guardian-dashboard[data-phone-section=summary] .guardian-notification-center,.app-shell--phone .guardian-dashboard[data-phone-section=summary] .guardian-preferences{display:none}.guardian-native-notifications{grid-gap:10px;align-items:center;background:#dff2ff;background:var(--sky);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-top:12px;padding:12px}.guardian-native-notifications>div{grid-gap:2px;display:grid;gap:2px}.guardian-native-notifications small{color:#526579;color:var(--ink-soft)}.guardian-native-notifications button{background:#0870d1;background:var(--blue-deep);border:0;border-radius:999px;color:#fff;color:var(--white);font:inherit;font-weight:800;min-height:38px;padding:7px 12px}.guardian-native-notifications button:disabled{opacity:.66}.guardian-native-notifications>p{color:var(--danger-ink);font-size:.78rem;grid-column:1/-1;margin:0}.teacher-notification-center{grid-gap:14px;display:grid;gap:14px}.teacher-notification-hero{align-items:end;display:flex;gap:12px;justify-content:space-between}.teacher-notification-hero h1,.teacher-notification-hero p{margin:0}.teacher-notification-count{background:#dff2ff;background:var(--sky);border-radius:999px;color:#0870d1;color:var(--blue-deep);font-weight:800;padding:6px 10px;white-space:nowrap}.teacher-notification-heading-actions{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto}.teacher-notification-panel{grid-gap:12px;display:grid;gap:12px}.teacher-notification-toolbar{align-items:center;display:flex;gap:10px;justify-content:space-between;justify-content:flex-end}.teacher-notification-toolbar button{background:#dff2ff;background:var(--sky);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:999px;color:#0870d1;color:var(--blue-deep);font:inherit;font-weight:750;min-height:38px;padding:7px 11px}.teacher-notification-toolbar button:disabled{opacity:.5}.teacher-notification-list{grid-gap:8px;display:grid;gap:8px}.teacher-notification-list>button{grid-gap:10px;align-items:center;background:#fbfdff;background:var(--field-bg);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:16px;color:#10243f;color:var(--ink);display:grid;font:inherit;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px;text-align:left;width:100%}.teacher-notification-list>button.is-unread{background:#dff2ff;background:var(--sky);border-color:#168df4;border-color:var(--blue);box-shadow:inset 4px 0 0 #168df4;box-shadow:inset 4px 0 0 var(--blue)}.teacher-notification-list>button>span:nth-child(2){grid-gap:2px;display:grid;gap:2px;min-width:0}.teacher-notification-list small,.teacher-notification-list time{color:#526579;color:var(--ink-soft);font-size:.78rem}.teacher-notification-symbol{background:#fff;background:var(--surf);border-radius:12px;color:#0870d1;color:var(--blue-deep);display:grid;font-size:1.15rem;height:34px;place-items:center;width:34px}.teacher-notification-empty{grid-gap:5px;display:grid;gap:5px;justify-items:center;padding:30px 12px;text-align:center}.teacher-notification-empty>span{background:#2b9c6721;border-radius:16px;color:var(--success-ink);display:grid;font-size:1.5rem;height:48px;place-items:center;width:48px}.teacher-notification-empty h2,.teacher-notification-empty p{margin:0}.student-notification-permission{align-items:center;background:#f7fbfe;border:1px solid #cfe2f1;border-radius:12px;color:#10243f;color:var(--ink);display:flex;gap:12px;justify-content:space-between;padding:9px 12px}.student-notification-permission>div{grid-gap:2px;display:grid;gap:2px}.student-notification-permission small{color:#526579;color:var(--ink-soft);font-size:.72rem}.student-notification-permission button{background:#dff2ff;background:var(--sky);border:1px solid #a9cde7;border-radius:999px;color:#0870d1;color:var(--blue-deep);font:inherit;font-size:.72rem;font-weight:800;min-height:36px;padding:6px 10px}.student-notification-permission>p{color:#8a5b16;font-size:.7rem;margin:0}.app-shell--phone .teacher-notification-list>button{grid-template-columns:auto minmax(0,1fr)}.app-shell--phone .teacher-notification-list time{grid-column:2}.performance-inbox-item.is-notification-focus{border-color:#168df4;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,#168df4 20%,#0000),0 10px 30px #14487617;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 20%,#0000),var(--shadow-soft);scroll-margin-top:72px}.performance-rating{border:0;margin:1rem 0;padding:0}.performance-rating legend{font-weight:700;margin-bottom:.5rem}.performance-rating>div{display:flex;flex-wrap:wrap;gap:.35rem}.performance-rating button{background:var(--surface);border:1px solid var(--border-soft);border-radius:.7rem;color:#10243f;color:var(--ink);cursor:pointer;font:inherit;font-weight:700;height:2.35rem;width:2.35rem}.performance-rating button.is-selected{background:#0870d1;background:var(--blue-deep);border-color:#0870d1;border-color:var(--blue-deep);color:#fff}.student-teacher-rating{color:#0870d1;color:var(--blue-deep);font-weight:800}.teacher-homework-container.teacher--navy.teacher-score-archive{align-items:stretch;background:#0000;color:#10243f;color:var(--ink);gap:16px;max-width:1120px;min-height:min(100vh,700px);padding:24px 0 40px;width:min(calc(100% - 32px),1120px)}.teacher-score-archive__header h1{font-family:Manrope,sans-serif;font-size:clamp(1.65rem,3vw,2.2rem);margin:3px 0 5px}.teacher-score-archive__header p{color:#526579;color:var(--ink-soft);margin:0}.teacher-score-archive__actions,.teacher-score-archive__collection{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #14487617;box-shadow:var(--shadow-soft);box-sizing:border-box;padding:20px;width:100%}.teacher-score-archive__actions{align-items:center;display:flex;gap:18px;justify-content:space-between}.teacher-score-archive__actions strong{color:#10243f;color:var(--ink);font-family:Manrope,sans-serif;font-size:1.08rem}.teacher-score-archive__actions p{color:#526579;color:var(--ink-soft);font-size:.87rem;margin:5px 0 0}.teacher-score-archive__action-buttons{display:flex;flex-wrap:wrap;gap:8px}.teacher-homework-container.teacher--navy .teacher-score-archive__action-primary,.teacher-score-archive__action-buttons button,.teacher-score-archive__item-actions button{align-items:center;border:1px solid #0870d1;border:1px solid var(--blue-deep);border-radius:12px;cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:800;justify-content:center;min-height:44px;padding:9px 14px;text-decoration:none;white-space:nowrap}.teacher-homework-container.teacher--navy .teacher-score-archive__action-primary{-webkit-text-fill-color:#fff;-webkit-text-fill-color:var(--white);background:#0870d1;background:var(--blue-deep);color:#fff;color:var(--white)}.teacher-score-archive__action-buttons button,.teacher-score-archive__item-actions button{background:#dff2ff;background:var(--sky);color:#0870d1;color:var(--blue-deep)}.teacher-score-archive__action-buttons button:disabled{cursor:wait;opacity:.55}.teacher-score-archive__file-input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.teacher-score-archive__notice{background:#dff2ff;background:var(--sky);border-radius:12px;color:#0870d1;color:var(--blue-deep);margin:0;padding:10px 14px}.teacher-score-archive__notice.is-error{background:#fff1f1;color:#9a2f2f}.teacher-score-archive__collection-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.teacher-score-archive__collection-heading h2{font-family:Manrope,sans-serif;font-size:1.08rem;margin:0}.teacher-score-archive__collection-heading span{color:#0870d1;color:var(--blue-deep);font-size:.85rem;font-weight:800}.teacher-score-archive__empty{grid-gap:5px;border:1px dashed #dbe8f2;border:1px dashed var(--line);border-radius:16px;display:grid;gap:5px;justify-items:center;padding:35px 15px;text-align:center}.teacher-score-archive__empty>span{background:#dff2ff;background:var(--sky);border-radius:16px;color:#0870d1;color:var(--blue-deep);display:grid;font-size:1.8rem;height:54px;margin-bottom:6px;place-items:center;width:54px}.teacher-score-archive__empty p{color:#526579;color:var(--ink-soft);margin:0;max-width:38ch}.teacher-score-archive__list{grid-gap:9px;display:grid;gap:9px}.teacher-score-archive__list article{align-items:center;background:#f7fbff;background:var(--paper);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:14px;display:flex;gap:1rem;justify-content:space-between;padding:13px 15px}.teacher-score-archive__list article>div:first-child{grid-gap:.2rem;display:grid;gap:.2rem;min-width:0}.teacher-score-archive__list strong{color:#10243f;color:var(--ink);overflow-wrap:anywhere}.teacher-score-archive__list small{color:#526579;color:var(--ink-soft)}.teacher-score-archive__item-actions{display:flex;flex-wrap:wrap;gap:7px}.teacher-score-preview-backdrop{background:#0c243c9e;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:4000}.teacher-score-preview{background:#fff;background:var(--white);border-radius:18px;box-shadow:0 20px 60px #00000040;color:#10243f;color:var(--ink);display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(90vh,900px);overflow:hidden;width:min(1100px,100%)}.teacher-score-preview header{align-items:center;border-bottom:1px solid #dbe8f2;border-bottom:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;padding:12px 18px}.teacher-score-preview h2{font-size:1.08rem;margin:0}.teacher-score-preview header button{background:#dff2ff;background:var(--sky);border:0;border-radius:10px;color:#0870d1;color:var(--blue-deep);font:inherit;font-size:1.5rem;min-height:40px;min-width:40px}.teacher-score-preview__page{background:#fff;overflow:auto;padding:12px}@media (max-width:700px){.teacher-score-archive__actions,.teacher-score-archive__list article{align-items:stretch;flex-direction:column}}.phone-companion-notice p{color:#52677c;color:var(--text-secondary,#52677c);line-height:1.55;max-width:38ch}.student-active-work-gate{background:#fff;background:var(--surface-color,#fff);border:1px solid #c8d6e5;border:1px solid var(--border-color,#c8d6e5);border-radius:20px;box-shadow:0 14px 42px #1037541f;box-sizing:border-box;color:#18324a;color:var(--text-color,#18324a);margin:min(16vh,100px) auto 24px;padding:28px;width:min(540px,calc(100% - 32px))}.student-active-work-gate h1{font-size:1.4rem;margin:0 0 12px}.student-active-work-gate p{line-height:1.5}.student-active-work-gate button{background:#1687bd;background:var(--primary-color,#1687bd);border:0;border-radius:12px;color:#fff;cursor:pointer;font:inherit;font-weight:700;min-height:48px;padding:10px 18px}.student-active-work-gate__hint{font-size:.9rem;opacity:.8}.performance-inbox--embedded{background:#0000;border:0;margin:.4rem 0 .7rem;padding:0;width:100%}.performance-rating--compact{margin:.15rem 0}.midi-analysis-report__detail-intro{color:#526579;color:var(--ink-soft);font-size:.74rem;line-height:1.35}.midi-analysis-report.is-compact .midi-analysis-report__details-grid{gap:.35rem}.midi-analysis-report__detail-tabs{grid-gap:.35rem;display:grid;gap:.35rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.midi-analysis-report__detail-tabs button{background:#fff;background:var(--white);border:1px solid #dbe8f2;border:1px solid var(--line);border-radius:9px;color:#0870d1;color:var(--blue-deep);cursor:pointer;font:inherit;font-size:.76rem;font-weight:800;min-height:38px;min-width:0;padding:.35rem .6rem;text-align:left}.midi-analysis-report__detail-tabs button.is-active{background:#f1f8fd;border-color:#96c6e7}.midi-analysis-report__detail-panel{background:#fbfdff;border:1px solid #96c6e7;border-radius:9px;grid-column:1/-1;margin-top:.35rem;padding:.45rem .65rem;position:relative}.midi-analysis-report__detail-panel[hidden]{display:none}.midi-analysis-report__detail-panel:before{background:#fbfdff;border-left:1px solid #96c6e7;border-top:1px solid #96c6e7;content:"";height:12px;position:absolute;top:-7px;transform:rotate(45deg);width:12px}.midi-analysis-report__detail-panel.is-numeric:before{left:24%}.midi-analysis-report__detail-panel.is-score:before{left:74%}.midi-analysis-report.is-compact .midi-analysis-report__details[open]{background:#fbfdff;border-color:#b3d5ec}.midi-analysis-report.is-compact .midi-analysis-report__details summary{min-height:38px;padding:.3rem .6rem}.midi-analysis-report.is-compact .midi-analysis-report__details[open] summary{border-bottom:1px solid #d9e8f2}.midi-analysis-report.is-compact .midi-analysis-report__detail-intro{margin:.45rem .65rem 0}.midi-analysis-report.is-compact .midi-analysis-report__metrics{grid-gap:0 .8rem;display:grid;gap:0 .8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.midi-analysis-report.is-compact .midi-analysis-report__metrics div{grid-gap:.05rem .35rem;align-content:start;align-items:baseline;background:#0000;border-bottom:1px solid #e5edf4;border-radius:0;display:grid;gap:.05rem .35rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:.43rem 0}.midi-analysis-report.is-compact .midi-analysis-report__metrics dt{color:#10243f;color:var(--ink);font-size:.77rem;font-weight:720}.midi-analysis-report.is-compact .midi-analysis-report__metrics dd{color:#0870d1;color:var(--blue-deep);font-size:.78rem;font-weight:800;margin:0;text-align:right}.midi-analysis-report.is-compact .midi-analysis-report__metrics small{color:#526579;color:var(--ink-soft);font-size:.68rem;grid-column:1/-1;line-height:1.3}.midi-analysis-report .midi-analysis-report__metrics .midi-analysis-report__pedal-assessment{grid-gap:.2rem;display:grid;gap:.2rem;grid-column:1/-1;grid-template-columns:minmax(0,1fr)}.midi-analysis-report .midi-analysis-report__pedal-assessment dd{margin:0;min-width:0;overflow-wrap:anywhere;text-align:left}.midi-analysis-report__pedal-issues,.midi-analysis-report__pedal-note{grid-gap:.2rem;color:#526579;color:var(--ink-soft);display:grid;font-size:.73rem;font-weight:600;gap:.2rem;line-height:1.4;margin-top:.45rem}.midi-analysis-report__pedal-issues span{border-left:2px solid #9bc7df;display:block;padding-left:.55rem}.midi-analysis-report.is-compact .midi-analysis-report__measure-list{gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr))}.midi-analysis-report.is-compact .midi-analysis-report__measure{align-items:center;background:#0000;border:0;border-bottom:1px solid #e4edf3;border-radius:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:.4rem .55rem}.midi-analysis-report.is-compact .midi-analysis-report__measure div{margin-left:auto}.midi-analysis-report.is-compact .midi-analysis-report__issue-list li{background:#0000;border-bottom:1px solid #e4edf3;border-radius:0;gap:.4rem;grid-template-columns:auto auto minmax(0,1fr);padding:.38rem .45rem}@media (max-width:700px){.midi-analysis-report.is-compact .midi-analysis-report__measure-list,.midi-analysis-report.is-compact .midi-analysis-report__metrics{grid-template-columns:1fr}}.midi-score-feedback__note-hit{fill:#0000;stroke:#0000;stroke-width:2;cursor:pointer;pointer-events:all;touch-action:manipulation}.midi-score-feedback__note-hit:focus-visible,.midi-score-feedback__note-hit:hover{fill:#168df41a;stroke:#168df4;stroke:var(--blue);outline:none}.midi-score-feedback__note-hit.is-selected{fill:#168df421;stroke:#0870d1;stroke:var(--blue-deep);stroke-width:2.5}.app-page-heading,.teacher-homework-container.teacher--navy .app-page-heading{box-sizing:border-box;color:#10243f;color:var(--ink);margin:0 0 14px;min-height:52px;padding:2px 0 2px 102px;text-align:left;width:100%}.app-page-heading h1,.role-page-heading.app-page-heading h1,.teacher-fn-heading.app-page-heading h1,.teacher-homework-container.teacher--navy .app-page-heading h1,.teacher-notification-hero.app-page-heading h1,.teacher-overview__heading.app-page-heading h1,.teacher-score-archive__header.app-page-heading h1{color:#10243f;color:var(--ink);font:800 clamp(1.35rem,2.1vw,1.65rem)/1.18 Manrope,sans-serif;letter-spacing:-.025em;margin:0}.app-page-heading p,.performance-inbox .app-page-heading>p:last-child,.teacher-homework-container.teacher--navy .app-page-heading p{color:#526579;color:var(--ink-soft);font-size:.84rem;line-height:1.35;margin:4px 0 0;max-width:76ch}.workspace-page:has(>.app-page-heading){padding-top:24px}.performance-inbox:has(>.app-page-heading){padding-top:24px}.app-page-heading.teacher-fn-heading,.app-page-heading.teacher-notification-hero{align-items:center}.teacher-notification-hero.app-page-heading{max-width:none}.homework-form-container>.app-page-heading{flex:0 0 auto}.teacher-overview__heading.app-page-heading{align-items:flex-start}.workspace-identity--compact{align-items:baseline;background:#0000;border:0;border-radius:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:2px 16px;margin:7px 0 0;max-width:100%;padding:0;width:auto}.workspace-identity--compact>div{align-items:baseline;display:inline-flex;gap:5px;min-width:0}.workspace-identity--compact .workspace-eyebrow,.workspace-identity--compact>div>span{color:#526579;color:var(--ink-soft);font-size:.78rem;font-weight:600;letter-spacing:0;text-transform:none}.workspace-identity--compact>div>strong{color:#10243f;color:var(--ink);font-size:.82rem;font-weight:750;overflow-wrap:anywhere}@media (max-width:600px){.app-page-heading,.teacher-homework-container.teacher--navy .app-page-heading{padding-left:68px}}.midi-score-feedback__selection{border:1px solid #c9e4f7}.midi-score-feedback__selection strong{color:#0870d1;color:var(--blue-deep)}.midi-score-feedback__selection ul{margin-top:.15rem}.midi-score-feedback__unassigned{background:#fff0f0;border-radius:8px;color:#8b3434;font-size:.75rem;margin:0;padding:.4rem .55rem}.performance-inbox .performance-inbox-list{gap:1rem}.performance-inbox .performance-inbox-item{border:2px solid #7aabd3!important;box-shadow:0 3px 12px #16487017;gap:.6rem;padding:.8rem}.performance-audio-player.is-compact{grid-template-columns:minmax(0,1fr);width:72px}.performance-audio-player.is-compact .performance-audio-time,.performance-audio-player.is-compact .performance-audio-toggle{grid-column:1}.performance-recording-audio-layout{grid-template-columns:72px minmax(0,1fr)}.performance-recording-audio-layout .performance-metadata{min-width:0}.performance-midi-unavailable{color:#526579;color:var(--ink-soft);font-size:.78rem;margin:0}.performance-rating--compact .performance-rating__choices{background:linear-gradient(90deg,#c5e8fa var(--rating-progress),#f1f7fb 0);border:1px solid #c6e0f3;border-radius:999px;gap:.2rem;max-width:100%;overflow-x:auto;padding:.22rem;transition:background .24s ease;width:-webkit-fit-content;width:fit-content}.performance-rating--compact .performance-rating__choices button{background:#ffffffc7;border:0;border-radius:50%;box-shadow:0 1px 3px #14507a26;color:#0870d1;color:var(--blue-deep);font-weight:850;height:32px;transition:transform .17s ease,background .17s ease,box-shadow .17s ease;width:32px}.performance-rating--compact .performance-rating__choices button.is-reached{background:#fff;color:#075987}.performance-rating--compact .performance-rating__choices button.is-selected{background:#0870d1;background:var(--blue-deep);box-shadow:0 0 0 3px #fff,0 4px 12px #168df452;color:#fff;position:relative}.performance-rating--compact .performance-rating__choices button.is-selected:after{animation:performance-rating-spark .35s ease-out;color:#e0a637;content:"✦";font-size:.8rem;position:absolute;right:-6px;top:-10px}.performance-rating--compact .performance-rating__choices button:not(.is-selected):hover{box-shadow:0 4px 9px #14507a30;transform:translateY(-3px)}@keyframes performance-rating-spark{0%{opacity:0;transform:scale(.3) rotate(-35deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media (prefers-reduced-motion:reduce){.performance-rating--compact .performance-rating__choices button.is-selected:after{animation:none}}.assignment-bpm-editor{grid-gap:.45rem;align-items:center;color:#526579;color:var(--ink-soft);display:grid;font-size:.76rem;font-weight:750;gap:.45rem;grid-template-columns:auto 72px}.assignment-bpm-editor input{min-width:0}.player-control-button--metronome{align-items:center;display:inline-flex;gap:3px;min-width:54px}.player-control-button--metronome small{font-size:.65rem;font-weight:800}.games-hub-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.games-hub-card{grid-gap:.25rem .8rem;align-items:center;background:linear-gradient(145deg,#f8fcff,#e8f5fd);border:1px solid #b8d9ee;border-radius:24px;box-shadow:0 9px 25px #144f7914;color:#123454;display:grid;gap:.25rem .8rem;grid-template-columns:56px 1fr;min-height:132px;padding:1.1rem;text-decoration:none}.games-hub-card--voice{background:linear-gradient(145deg,#f9fcff,#edf1ff)}.games-hub-card__symbol{background:#168df4;border-radius:18px;color:#fff;display:grid;grid-row:1/3;height:56px;place-items:center;width:56px}.games-hub-card__symbol .game-mode-icon{height:36px;width:36px}.games-hub-card__symbol .game-mode-icon__accent{stroke:#d9efff}.games-hub-card strong{font-size:1.05rem}.games-hub-card span:last-child{color:#5e7185;font-size:.82rem}.voice-note-stage{grid-gap:.7rem;background:#fff;border:1px solid #c8e1f1;border-radius:26px;box-shadow:0 12px 34px #14496f1a;display:grid;gap:.7rem;justify-items:center;margin:1rem auto;max-width:620px;padding:1.4rem}.voice-note-measure{background:#fffefb;border:1px solid #d6e4ed;border-radius:14px;box-shadow:inset 0 0 0 5px #f8fbfd;height:190px;overflow:hidden;width:min(560px,74vw)}.voice-note-mic{background:#168df4;border:0;border-radius:50%;box-shadow:0 0 0 8px #e6f4fe;color:#fff;display:grid;height:72px;place-items:center;position:relative;width:72px}.voice-note-mic>span{border:3px solid;border-radius:12px;height:29px;position:relative;width:20px}.voice-note-mic>span:before{border:3px solid;border-radius:0 0 16px 16px;border-top:0;bottom:-10px;height:17px;width:29px}.voice-note-mic>span:after,.voice-note-mic>span:before{content:"";left:50%;position:absolute;transform:translateX(-50%)}.voice-note-mic>span:after{background:currentColor;border-radius:3px;bottom:-17px;box-shadow:0 -5px 0 -1px currentColor;height:3px;width:18px}.voice-note-mic:disabled{cursor:progress;opacity:.9}.voice-note-mic.is-listening{animation:voice-pulse .9s infinite alternate}.voice-note-mic.is-holding{background:#075caa;box-shadow:0 0 0 8px #cfeaff}.voice-note-status{margin:0;max-width:48ch;min-height:2.6em;text-align:center}.voice-note-heard{background:#edf6ff;border-radius:12px;color:#163e63;overflow-wrap:anywhere;padding:.35rem .8rem;text-align:center}.voice-note-confirm{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.voice-note-confirm button,.voice-note-consent button,.voice-note-finish{background:#eef7ff;border:1px solid #87b9df;border-radius:14px;color:#07558e;cursor:pointer;font:inherit;min-height:44px;padding:.45rem .9rem}.voice-note-consent{font-size:.85rem;max-width:48ch;text-align:center}.voice-note-stage>small{color:#587085;max-width:52ch;text-align:center}.voice-note-finish:disabled{cursor:default;opacity:.5}.voice-note-test-toggle{background:#f1f8fe;border:1px solid #b8d9ee;border-radius:12px;color:#07558e;cursor:pointer;font:inherit;font-size:.82rem;justify-self:end;min-height:40px;padding:.35rem .8rem}.voice-note-test-toggle:disabled{cursor:default;opacity:.5}.voice-note-test-toggle[aria-pressed=true]{background:#deeffc}.voice-note-diagnostic{background:#f7fbff;border:1px solid #c8e1f1;border-radius:14px;box-sizing:border-box;min-width:0;padding:.75rem;width:100%}.voice-note-diagnostic dl{grid-gap:.6rem 1rem;display:grid;gap:.6rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.voice-note-diagnostic dt{color:#587085;font-size:.75rem}.voice-note-diagnostic dd{color:#163e63;font-weight:650;margin:.15rem 0 0;overflow-wrap:anywhere}.voice-note-diagnostic p,.voice-note-diagnostic small{color:#587085;display:block;font-size:.76rem;margin:.6rem 0 0;overflow-wrap:anywhere}@media (max-width:480px){.voice-note-diagnostic dl{grid-template-columns:1fr}}.voice-note-mic{-webkit-touch-callout:none;flex-shrink:0;margin:.4rem 0;touch-action:none;-webkit-user-select:none;user-select:none}.voice-note-game__input{align-items:center;padding:.35rem 0}.findnote-game__keyboard>.voice-note-game__answer{align-items:center;display:flex;flex-direction:column;gap:.8rem;height:100%;justify-content:center;max-width:100%;overflow:visible;text-align:center;width:min(760px,100%)}.voice-note-game__answer>strong{font:800 .9rem/1.1 Manrope,sans-serif}.voice-note-game__answer .voice-note-status{font-size:.78rem;min-height:1.2em}.voice-note-game__answer .voice-note-mic{cursor:pointer;height:82px;margin:.25rem;width:82px}.voice-note-game__answer>small{color:#526579;color:var(--ink-soft);font-size:.65rem}.findnote-game__score{max-width:720px}.voice-note-game .findnote-game__rail .findnote-game__action:disabled{cursor:default;opacity:.5}.voice-note-game .voice-note-diagnostic{max-height:16vh;overflow-y:auto}@media (max-height:730px) and (orientation:landscape){.voice-note-game__answer .voice-note-mic{height:68px;width:68px}.voice-note-game__input>.voice-note-game__answer{min-height:132px}}@media (prefers-reduced-motion:reduce){.voice-note-mic.is-listening{animation:none}}@keyframes voice-pulse{to{box-shadow:0 0 0 14px #d4ecfd;transform:scale(1.08)}}.student-peer-ranking{background:#f8fcff;border:1px solid #c7e0f2;border-radius:20px;padding:1rem}.student-peer-ranking ol{grid-gap:.35rem;display:grid;gap:.35rem;list-style:none;margin:.7rem 0;padding:0}.student-peer-ranking li{background:#fff;border-radius:12px;display:grid;grid-template-columns:36px 1fr auto;padding:.55rem .7rem}.student-peer-ranking li.is-self{background:#dff3ff;box-shadow:inset 3px 0 #168df4;color:#075987}@media (max-width:700px){.games-hub-grid{grid-template-columns:1fr}}.coach-workspace{min-width:0}.coach-evaluation-summary{grid-gap:.3rem;display:grid;font-size:.85rem;gap:.3rem;line-height:1.4;min-width:0;overflow-wrap:anywhere}.assignment-game-settings{grid-gap:.3rem;display:grid;gap:.3rem;min-width:0;width:100%}.coach-games-setting{grid-gap:.2rem .5rem;align-items:center;display:grid;font-size:.8rem;gap:.2rem .5rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;width:100%}.coach-games-setting label{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.coach-games-setting select{max-width:100%;min-width:0}.coach-games-setting .role-secondary-button{background:#e8f5ff!important;border:1px solid #168fd3;border-radius:8px;color:#12466a!important;font-size:.75rem;min-height:44px;min-width:58px!important;padding:.25rem .5rem!important;white-space:nowrap;width:auto!important}.coach-games-setting .role-secondary-button:disabled{opacity:.65}.coach-games-setting input{accent-color:#168fd3;flex:0 0 auto;height:18px;width:18px}.coach-games-setting small{font-size:.72rem;grid-column:1/-1}.student-detail-assignments .student-homework-editor{grid-gap:.75rem;align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(220px,1fr) minmax(0,1.5fr)}.student-detail-assignments .student-homework-editor>.actions{justify-content:flex-start;max-width:100%;min-width:0;width:100%}.student-detail-assignments .student-homework-editor h3{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}@media (max-width:700px){.student-detail-assignments .student-homework-editor{grid-template-columns:minmax(0,1fr)}.app-shell--phone .student-detail-assignments .student-homework-editor .actions>.assignment-game-settings{grid-column:1/-1;width:100%}}.coach-game-break>header{background:#e8f5ff;border-radius:12px;color:#12466a;padding:.5rem 1rem}.coach-game-break>header p{font-size:.85rem;margin:.25rem 0}.coach-game-break .findnote-root{min-height:0}.coach-game-break{display:flex;flex-direction:column;gap:.5rem;height:calc(100dvh - 110px);min-height:480px}.coach-game-break>.findnote-root{flex:1 1;height:auto}.coach-game-break .findnote-piano{--piano-white-height:clamp(135px,23vh,190px)}.coach-game-break--fullscreen{background:#f7fbff;background:var(--paper,#f2f7fb);box-sizing:border-box;height:100dvh;inset:0;min-height:0;overflow:auto;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);position:fixed;width:100%;z-index:1500}.coach-game-break--fullscreen>header{flex-shrink:0}.coach-game-break--fullscreen .game-topbar{min-height:0}.coach-game-break--fullscreen .findnote-piano{--piano-white-height:clamp(184px,28vh,236px)}.coach-game-break--fullscreen .findnote-teaching{box-sizing:border-box;justify-content:safe center}.coach-progress{align-items:center;background:#eef7ff;border:1px solid #c9dceb;border-radius:.8rem;color:#173149;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 .75rem;padding:.75rem 1rem}.coach-progress>div:first-child{align-items:baseline;display:flex;flex-wrap:wrap;gap:.35rem .8rem}.coach-progress__actions{display:flex;gap:.5rem;margin-left:auto}.coach-preview-link,.coach-progress__actions button{background:#fff;border:1px solid #3779ae;border-radius:.5rem;color:#135489;cursor:pointer;font:inherit;padding:.45rem .7rem}.coach-progress__actions button:disabled{cursor:default;opacity:.45}.coach-progress small{color:#4c6173;width:100%}.coach-preview-link{margin-left:.6rem}.coach-tempo-status{grid-gap:.3rem;background:#eef7ff;border-left:3px solid #268bc9;border-radius:.5rem;display:grid;font-size:.85rem;gap:.3rem;min-width:0;padding:.65rem .8rem}.coach-tempo-status small{color:#4c6173;line-height:1.4}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:#991b1b;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
/*# sourceMappingURL=main.48c68ca6.css.map*/