@scope ([data-ace-learning]) {
#pilot-main{display:block;max-width:1200px;margin:auto;padding:24px}.pilot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.learner{padding:20px;background:white;border-radius:20px;border:1px solid #b8d4df}.learner img{width:48px;height:48px}.learner progress{width:100%}iframe{width:100%;height:calc(100vh - 180px);border:0}#status{padding:0 24px}.credentials{max-width:450px}.pilot-tabs{display:flex;gap:12px;margin:20px 0}.pilot-tabs [aria-selected=true]{background:#245e7a;color:white}button{font:inherit;padding:10px 16px;border-radius:12px;border:1px solid #95b9c8}header{gap:16px;flex-wrap:wrap}
.teacher-links{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0}.roji-tour{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden}.roji-tour::backdrop{background:rgba(18,42,57,.36)}.tour-card{position:absolute;right:24px;bottom:24px;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;box-sizing:border-box;background:#fffdf5;color:#234b61;border:2px solid #e5bb50;border-radius:28px;box-shadow:0 14px 60px #16384c55}.tour-mascot{text-align:center;height:130px}.tour-mascot canvas,.tour-mascot img{width:130px;height:130px;object-fit:contain}.tour-count,.tour-voice{font-size:12px;color:#506979}.tour-card h2{font-size:24px;margin:12px 0}.tour-card p{line-height:1.55}.tour-actions{display:flex;flex-wrap:wrap;gap:8px}.tour-actions [data-tour=next]{background:#245e7a;color:white;margin-left:auto}.tour-highlight{position:fixed;pointer-events:none;border:4px solid #ffcf52;border-radius:16px;box-sizing:border-box;box-shadow:0 0 0 4px #fff9}.roji-tour [hidden]{display:none!important}@media(max-width:600px){.tour-card{right:16px;bottom:16px;padding:16px}.tour-mascot{height:80px}.tour-mascot canvas,.tour-mascot img{width:80px;height:80px}.tour-card h2{font-size:21px}}

.credentials{width:100%;max-width:560px;margin:24px auto 60px;padding:clamp(22px,4vw,40px);background:#fff;border:1px solid #dce5f1;border-radius:26px;box-shadow:0 16px 45px #233d6418}.credentials h1{font-size:32px;text-align:center}.credentials input{width:100%;min-width:0}.credentials small,.credentials #password-help,.credentials #username-feedback{font-size:14px}.credentials #username-feedback{color:#a32e30}.credentials input[aria-invalid=true]{border-color:#a32e30}.credentials meter{width:100%;height:16px}#status{max-width:560px;margin:12px auto}nav{display:flex;flex-wrap:wrap;gap:8px}

.credentials .field-error{color:#a32e30;font-size:14px}.credentials .field-success{color:#246348;font-size:14px}

#password-strength{--strength-color:#c63737;appearance:none;border:0;border-radius:8px;background:#e8edf5;overflow:hidden}
#password-strength[data-strength=fair]{--strength-color:#d7a51b}
#password-strength[data-strength=strong]{--strength-color:#27834b}
#password-strength::-webkit-meter-bar{background:#e8edf5;border:0;border-radius:8px}
#password-strength::-webkit-meter-optimum-value,#password-strength::-webkit-meter-suboptimum-value,#password-strength::-webkit-meter-even-less-good-value{background:var(--strength-color);transition:width .2s}
#password-strength::-moz-meter-bar{background:var(--strength-color)}
@media(prefers-reduced-motion:reduce){#password-strength::-webkit-meter-optimum-value,#password-strength::-webkit-meter-suboptimum-value,#password-strength::-webkit-meter-even-less-good-value{transition:none}}

.account-mascot{height:120px;text-align:center;margin:-8px auto 8px}.account-mascot img,.account-mascot canvas{width:120px;height:120px;object-fit:contain}.account-mascot [hidden]{display:none!important}
#credentials > button{display:block;width:auto;max-width:100%;margin:24px auto 0}

.password-field{position:relative;display:block}
.password-field input{padding-right:52px}
.password-field .password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;margin:0;padding:8px;border:0;background:transparent;color:#315577;cursor:pointer}
.password-toggle:focus-visible{outline:3px solid #e6a128;outline-offset:1px}
.password-toggle .eye-slash{display:none}

.tour-mascot{position:relative}.tour-audio{position:absolute;right:12px;bottom:6px;min-width:44px;min-height:44px;background:white;color:#234b61;border:1px solid #95b9c8}.tour-audio:focus-visible{outline:3px solid #e6a128;outline-offset:3px}

.tour-audio{border-radius:16px;background:#fff9e9;border:2px solid #b8d4df;box-shadow:0 3px 0 #d6e4eb;padding:7px;min-width:50px;min-height:50px}
.tour-audio:hover{background:#fff1cb}
.roji-speaker{display:block}
.roji-speaker .speaker-off-mark{display:none}
.tour-audio.is-muted .speaker-off-mark{display:block}
.tour-audio.is-muted{background:#fff2ef}

.tour-voice:empty{display:none}
.tour-actions{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:8px;margin-top:20px}
.tour-actions button{width:auto;min-width:0;margin:0;padding:10px 8px;white-space:normal}
.tour-actions [data-tour=skip]{justify-self:start;background:transparent;border-color:transparent;color:#506979;font-size:14px;padding-left:0}
.tour-actions [data-tour=back]{justify-self:center}
.tour-actions [data-tour=next]{justify-self:end;margin-left:0}
.tour-actions button:disabled{width:auto;cursor:not-allowed}

.login-management{max-width:1100px;margin:24px auto;padding:24px;background:#fff;border:2px solid #efdfb4;border-radius:24px}.login-management>label{display:block;margin:16px 0;max-width:480px}.login-row{display:grid;grid-template-columns:2fr auto;gap:12px;padding:20px;margin:16px 0;border:1px solid #dfdfdf;border-radius:16px}.login-row[hidden]{display:none}.login-row h2,.login-row .row-result{grid-column:1/-1}.login-row label{min-width:0}.login-row input{width:100%;box-sizing:border-box}.roji-helper-button{display:flex;align-items:center;gap:12px}.roji-helper-button .account-mascot{width:100px;height:100px;margin:0}.roji-helper-button canvas,.roji-helper-button img{width:100px;height:100px}#roji-help{padding:18px;background:#fff8df;border-radius:16px}@media(max-width:600px){.login-row{grid-template-columns:1fr}.login-management{padding:14px}}

body.teacher-workspace{background:#f3f7f7;padding-left:240px;padding-right:320px;color:#153747}.teacher-workspace>header{background:transparent;border:0;justify-content:flex-end;padding:20px 28px}.teacher-sidebar{position:fixed;inset:0 auto 0 0;width:240px;box-sizing:border-box;background:#133747;color:#d8e9ed;padding:32px 22px;display:flex;flex-direction:column;z-index:10}.teacher-sidebar .brand{color:white;font-size:42px}.teacher-sidebar>p{font-size:12px;letter-spacing:2px;margin:28px 0}.teacher-sidebar nav{display:grid;gap:8px}.teacher-sidebar nav button{border:0;text-align:left;background:transparent;color:#c9dce3;font-weight:650}.teacher-sidebar nav button[aria-current]{background:#285365;color:white}.sidebar-account{margin-top:auto;display:grid;gap:18px;padding-top:24px;border-top:1px solid #ffffff30}#pilot-main{padding:24px 32px;max-width:1400px}#status{max-width:none}h1{font-size:36px;margin-top:12px}.dashboard-eyebrow{letter-spacing:2px;color:#13887f;font-size:12px;font-weight:bold}.dashboard-section{margin-top:24px}.dashboard-stats h2{font-size:36px;margin:0}.persistent-roji{position:fixed;right:16px;bottom:20px;width:288px;box-sizing:border-box;background:white;border:1px solid #d7e5e9;border-radius:22px;box-shadow:0 8px 30px #14384918;z-index:15;overflow:hidden}.roji-panel-toggle{width:100%;background:#fff3cc;border:0;border-radius:0;font-weight:bold;text-align:left}.roji-panel-content{padding:16px;max-height:calc(100dvh - 130px);overflow:auto}.persistent-mascot{text-align:center;height:110px}.persistent-mascot img,.persistent-mascot canvas{width:110px;height:110px;object-fit:contain}.helper-caption{font-size:12px;color:#607783}.roji-conversation{max-height:230px;overflow:auto;font-size:14px;line-height:1.5}.persistent-roji input{width:100%;box-sizing:border-box}.persistent-roji form{display:grid;gap:8px}.clear-conversation{font-size:12px;margin-top:12px}[hidden]{display:none!important}@media(max-width:1150px){body.teacher-workspace{padding-right:0}.persistent-roji{width:280px}#pilot-main{padding-bottom:360px}}@media(max-width:700px){body.teacher-workspace{padding-left:0}.teacher-sidebar{position:relative;width:100%;padding:16px}.teacher-sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-account{margin-top:16px}#pilot-main{padding:20px 16px 370px}.persistent-roji{right:12px;bottom:12px;width:min(288px,calc(100vw - 24px))}}

/* Compact assistant panel with an explicit high-contrast header. */
.persistent-roji{border-radius:12px}
.persistent-roji .roji-panel-toggle{background:#f2ead8;color:#153747;border-radius:0;text-align:center;font-weight:750}
.persistent-roji .roji-panel-toggle:hover,.persistent-roji .roji-panel-toggle:focus-visible{background:#e8ddc4;color:#153747}
.persistent-roji input,.persistent-roji form button,.persistent-roji .clear-conversation{border-radius:8px}

header nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-settings-gear{order:99;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:6px;background:#fff8e8;color:#704d25;border:1px solid #d6b66b;border-radius:10px;flex-shrink:0}.account-settings-gear:hover{background:#f8e9c3}.account-settings-gear:focus-visible{outline:3px solid #167f84;outline-offset:3px}.account-settings-gear svg{display:block}

/* Keep account settings at the viewport corner, outside workspace gutters. */
.account-settings-gear{position:fixed;top:18px;right:20px;z-index:30}
.teacher-workspace>header{min-height:48px;padding-right:76px}
@media(max-width:700px){.account-settings-gear{top:12px;right:12px}.teacher-sidebar>.brand{padding-right:56px}}

/* Persistent chat drawer: hide visually without unmounting its conversation. */
body.teacher-workspace{padding-right:0}#pilot-main{padding-bottom:32px}
.persistent-roji{right:0;bottom:auto;top:50%;width:min(340px,calc(100vw - 24px));transform:translateY(-50%);transition:transform 420ms ease,visibility 420ms;border-radius:12px 0 0 12px;max-height:calc(100dvh - 100px);visibility:visible}
.persistent-roji.drawer-closed{transform:translate(110%,-50%);visibility:hidden;pointer-events:none}
.roji-panel-toggle{display:flex;align-items:center;justify-content:space-between}.roji-panel-toggle span{font-size:28px;color:#704d25}
.roji-chat-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);width:76px;height:84px;padding:4px;background:#f2ead8;border:2px solid #d6b66b;border-right:0;border-radius:12px 0 0 12px;z-index:16;transition:transform 280ms ease;overflow:hidden}
.roji-chat-tab span{display:block;width:64px;height:64px;overflow:hidden;border-radius:50%}.roji-chat-tab img{width:90px;height:100px;max-width:none;object-fit:cover;object-position:top;transform:translate(-13px,-2px)}
.roji-chat-tab.tab-away{transform:translate(110%,-50%);pointer-events:none}.roji-chat-tab:focus-visible{outline:3px solid #167f84;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.persistent-roji,.roji-chat-tab{transition:none}}

/* Disabled controls must not stretch the edge launcher during its exit. */
button.roji-chat-tab,button.roji-chat-tab:disabled{width:76px;min-width:76px;max-width:76px;background:#f2ead8;transition:transform 280ms ease,opacity 280ms ease}
.roji-chat-tab.tab-away{opacity:0}.roji-chat-tab{opacity:1}.drawer-sound{font-size:12px;margin:12px 0 0 8px;border-radius:8px}.teacher-workspace{overflow-x:clip}
@media(max-width:700px){
 button.roji-chat-tab,button.roji-chat-tab:disabled{width:64px;min-width:64px;max-width:64px;height:74px}
 .roji-chat-tab span{width:54px;height:58px}.roji-chat-tab img{transform:translate(-18px,-2px)}
 .persistent-roji{width:min(360px,calc(100vw - 16px));max-height:calc(100dvh - 32px);top:50%;right:0}
 .roji-panel-content{max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain}
 .persistent-roji input{font-size:16px;min-height:44px}.persistent-roji button{min-height:44px}
 .persistent-mascot{height:80px}.persistent-mascot img,.persistent-mascot canvas{width:80px;height:80px}
 .roji-conversation{max-height:30dvh}.pilot-tabs{flex-wrap:wrap}.pilot-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){button.roji-chat-tab,button.roji-chat-tab:disabled{transition:none}}

.persistent-roji .roji-panel-toggle{padding-right:56px}.roji-minimize{position:absolute;right:8px;top:5px;min-width:36px;padding:4px 10px;background:#fff8e8;color:#153747;border-radius:8px;font-size:22px}.persistent-roji .roji-panel-toggle span{margin-right:4px}

/* Familiar message bubbles and compact, accessible icon controls. */
.roji-conversation{display:flex;flex-direction:column;gap:10px;padding:8px 2px;overflow-y:auto;max-height:36dvh;scroll-behavior:smooth}.chat-message{max-width:90%;padding:10px 12px;margin:0;border-radius:12px;background:#edf2f3;color:#153747;overflow-wrap:anywhere}.chat-message.chat-user{align-self:flex-end;background:#dcefe9}.chat-message.chat-roji{align-self:flex-start}.chat-message strong{font-size:12px;display:block}.persistent-roji form{display:flex;align-items:flex-end;gap:8px;margin-top:12px}.persistent-roji form label{flex:1;min-width:0;font-size:12px}.persistent-roji .roji-send,.persistent-roji .drawer-sound{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:5px;background:#fff5dd;color:#704d25;border:1px solid #d6b66b;border-radius:10px}.persistent-roji .drawer-sound{margin:12px 0 0}.roji-send:hover,.drawer-sound:hover{background:#f2e5c4}.roji-send:focus-visible,.drawer-sound:focus-visible{outline:3px solid #167f84;outline-offset:2px}@media(prefers-reduced-motion:reduce){.roji-conversation{scroll-behavior:auto}}

/* Conversation layout: fixed mascot header, scrolling messages, bottom composer. */
.persistent-roji{height:min(680px,calc(100dvh - 100px));display:flex;flex-direction:column}.roji-panel-content{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden;padding:14px}.persistent-mascot{position:relative;flex:0 0 170px;height:170px;padding-right:38px}.persistent-mascot img,.persistent-mascot canvas{width:170px;height:170px}.persistent-roji .persistent-mascot .drawer-sound{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0}.roji-conversation{flex:1;min-height:0;max-height:none;overflow-y:auto}.persistent-roji form{flex-shrink:0;margin-top:auto;padding-top:12px;border-top:1px solid #e2e9eb}.persistent-roji form label{font-size:0}.persistent-roji form input{font-size:16px}.roji-panel-content>.helper-caption{flex-shrink:0;font-size:12px;margin:6px 0}.roji-panel-content>.helper-caption:empty{display:none}.chat-message .chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.persistent-roji{height:min(680px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}.roji-panel-content{max-height:none}.persistent-mascot{height:140px;flex-basis:140px}.persistent-mascot img,.persistent-mascot canvas{width:140px;height:140px}.roji-conversation{max-height:none}}

.roji-typing{display:flex;align-self:flex-start;gap:5px;padding:14px;background:#edf2f3;border-radius:12px}.roji-typing span{width:7px;height:7px;border-radius:50%;background:#607b86;animation:roji-dot 1s ease-in-out infinite}.roji-typing span:nth-child(2){animation-delay:.15s}.roji-typing span:nth-child(3){animation-delay:.3s}@keyframes roji-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.persistent-roji .roji-send:disabled{width:44px;min-width:44px;max-width:44px}@media(prefers-reduced-motion:reduce){.roji-typing span{animation:none;opacity:.7}}

/* Two-sided message bubbles matching the teacher workspace palette. */
.chat-message.chat-user{background:#0A3C91;color:#fff;border-radius:16px 16px 4px 16px}
.chat-message.chat-roji{background:#62BBFF;color:#fff;border-radius:16px 16px 16px 4px}
.roji-typing{background:#62BBFF;border-radius:16px 16px 16px 4px}.roji-typing span{background:#fff}

.teacher-sidebar>.brand{align-self:center;text-align:center;justify-content:center}.persistent-roji .roji-chat-wordmark{font-size:34px;color:#153747;line-height:1.1}.persistent-roji .roji-panel-toggle{min-height:56px}

.persistent-roji form{grid-template-columns:minmax(0,1fr) 44px 44px;align-items:end}.persistent-roji form label{min-width:0}.roji-microphone{width:44px;height:44px;padding:5px;border:1px solid #d7c595;background:#fff8e8;border-radius:8px;display:grid;place-items:center}.roji-microphone[aria-pressed=true]{background:#f9d6ce;border-color:#ac433b;box-shadow:0 0 0 2px #ac433b35}.roji-microphone:focus-visible{outline:3px solid #2159ad;outline-offset:2px}

.persistent-roji textarea{width:100%;box-sizing:border-box;min-height:64px;max-height:140px;resize:vertical;border:1px solid #c8d8df;border-radius:8px;padding:10px 12px;font:inherit;line-height:1.4;background:white;color:#153747}

/* Keep the chat wordmark centered independently of the close controls. */
.persistent-roji .roji-panel-toggle{position:relative;justify-content:center;padding-left:56px;padding-right:56px}.persistent-roji .roji-panel-toggle>span{position:absolute;right:54px;top:50%;transform:translateY(-50%);margin:0}.persistent-roji .roji-chat-wordmark{text-align:center}

/* Keep typed and dictated composer text readable in every browser theme. */
.persistent-roji textarea[name="message"]{color:#000;-webkit-text-fill-color:#000;caret-color:#000;background-color:#f3f4f6;color-scheme:light;opacity:1}.persistent-roji textarea[name="message"]::placeholder{color:#9299a3;-webkit-text-fill-color:#9299a3;opacity:1}

.classroom-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.lesson-component{display:grid;gap:12px;margin:20px 0;padding:20px;border:1px solid #c8d8df;border-radius:10px}.lesson-component textarea,#class-config textarea{width:100%;min-height:90px;box-sizing:border-box;color:#153747;background:white;font:inherit}.classroom-error{padding:12px;background:#fff0cc;color:#513b16;border-radius:8px}.classroom-slide{background:white;border:1px solid #c8d8df;border-radius:12px;padding:28px;min-height:240px}.classroom-slide:fullscreen{overflow:auto;color:#153747;padding:5vw}.slide-text{white-space:pre-wrap;font-size:1.5rem;line-height:1.5;margin:24px 0}.challenge-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:24px 0}#attendance-records{overflow:auto}#attendance-records table{width:100%;border-collapse:collapse}#attendance-records td,#attendance-records th{padding:12px;border-bottom:1px solid #c8d8df;text-align:left}.teacher-sidebar{overflow-y:auto}.teacher-sidebar nav{gap:3px}

header nav [hidden]{display:none!important}

.teacher-sidebar>.sidebar-pilot-label{align-self:center;width:100%;max-width:164px;box-sizing:border-box;text-align:center;margin:24px auto;padding:12px 0;border-top:1px solid #d8e9ed40;border-bottom:1px solid #d8e9ed40;line-height:1.5}

.teacher-sidebar>.brand{padding:0;align-self:center}.teacher-sidebar>.brand .roji-brand-logo{width:112px}.persistent-roji .roji-chat-wordmark .roji-brand-logo{width:90px;margin:auto}.persistent-roji .roji-panel-toggle{min-height:76px}.persistent-roji .roji-chat-wordmark{display:flex;justify-content:center}

/* Sidebar matches the dark blue inside the approved graduation cap. */
.teacher-sidebar{background:#033071;color:#eef5ff}.teacher-sidebar nav button{color:#e0edff}.teacher-sidebar nav button[aria-current]{background:#ffffff24;color:#fff}.teacher-sidebar nav button:hover{background:#ffffff18;color:#fff}
/* Align drawer controls with the center of its 76px header. */
.persistent-roji .roji-minimize{top:38px;transform:translateY(-50%);height:36px;min-height:36px;line-height:1;padding:0 10px;display:grid;place-items:center}
.persistent-roji .roji-panel-toggle>span{right:54px;top:50%;transform:translateY(-50%);height:36px;line-height:1;display:grid;place-items:center}
.persistent-roji .roji-panel-toggle{height:76px;min-height:76px;flex:0 0 76px;box-sizing:border-box;padding-top:6px;padding-bottom:6px}

/* The composer label is visually hidden; input text must not inherit its zero font size. */
.persistent-roji textarea[name="message"]{font-size:14px;line-height:1.4}

/* Center composer controls alongside the input, including when resized. */
.persistent-roji form{align-items:center}
.persistent-roji form label{display:flex;align-items:center}
.persistent-roji form textarea{margin:0}

/* Keep composer buttons compact in both idle and loading states. */
.persistent-roji form .roji-microphone,.persistent-roji form .roji-send{flex:0 0 44px;width:44px;min-width:44px;max-width:44px;box-sizing:border-box}

/* Teacher navigation lives in the sidebar; remove the duplicate top toolbar. */
body> header{display:none}
body> #status:empty{display:none}
body> #pilot-main{margin-top:0;padding-top:24px}

.teacher-overview{max-width:1200px;margin:auto}.overview-heading,.overview-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.overview-heading>span{font-size:13px;color:#61758a}.overview-heading h1{margin-top:0}.overview-heading p{color:#61758a}.overview-atlas{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #bfd7f4;border-radius:12px;background:#eaf3ff;padding:22px 26px;margin:16px 0 24px}.overview-atlas h2{font-size:21px;margin:0 0 6px}.overview-atlas p{font-size:14px;max-width:650px;margin:0}.overview-atlas button{flex-shrink:0}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.overview-card{background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:24px}.overview-card h2{font-size:22px;margin:0 0 10px}.overview-card p{font-size:15px}.overview-lesson{border-top:4px solid #0a3c91}.overview-lesson h2{font-size:30px}.overview-kicker{font-size:11px!important;letter-spacing:1.7px;color:#46678e;font-weight:750}.overview-card small,.overview-note{display:block;color:#64788a;font-size:12px!important;line-height:1.6;margin-top:15px}.overview-card-heading button{background:transparent;color:#0a3c91;border:0;font-size:13px;padding:6px 0}.overview-list{padding:0;list-style:none;margin:0}.overview-list li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e8edf3}.overview-list p{font-size:13px;margin:5px 0;color:#64788a;overflow-wrap:anywhere}.overview-list button{font-size:12px;align-self:center;flex-shrink:0}.overview-empty{padding:20px 0;color:#536b7f}.overview-empty strong{font-size:16px;color:#29465d}.overview-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:18px 0}.overview-stats strong{display:block;font-size:32px;color:#0a3c91}.overview-stats span{font-size:13px;color:#61758a}.overview-lesson .teacher-links{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.overview-lesson .teacher-links button{background:#edf3fa;color:#0a3c91}@media(max-width:900px){.overview-grid{grid-template-columns:1fr}.overview-atlas{align-items:flex-start;flex-direction:column}}

.overview-week{background:white;border:1px solid #dce5ed;border-radius:12px;padding:22px;margin:0 0 24px}.overview-week h2{font-size:22px;margin:0}.overview-week .overview-card-heading>span{font-size:13px;color:#61758a}.week-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.week-day{padding:14px;background:#f5f8fc;border:1px solid #e1e8f1;border-radius:9px;display:flex;flex-direction:column;min-height:165px}.week-day>strong{font-size:14px}.week-day time{font-size:12px;color:#64788a;margin-top:4px}.week-day p{font-size:14px;overflow-wrap:anywhere}.week-day button{background:transparent;color:#0a3c91;font-size:12px;padding:5px 0;border:0;text-align:left;margin-top:auto}.week-today{border-color:#62bbff;background:#eaf4ff}.overview-week dialog{max-width:460px;width:calc(100% - 40px);border:1px solid #c7d8eb;border-radius:12px;padding:24px;color:#153747}.overview-week dialog::backdrop{background:#15374760}.overview-week dialog label{display:grid;gap:8px;margin:20px 0}.overview-week dialog input{width:100%;min-width:0}.overview-week dialog .teacher-links{display:flex;gap:12px}.overview-week dialog button:disabled{width:auto}@media(max-width:900px){.week-days{grid-template-columns:repeat(5,155px);overflow-x:auto;padding-bottom:8px}}

/* Center the week heading independently of the date range. */
.overview-week>.overview-card-heading{display:grid;grid-template-columns:1fr;text-align:center;justify-items:center;gap:6px}
.overview-week>.overview-card-heading h2{width:100%;text-align:center}

.overview-week>.overview-card-heading h2{text-decoration:underline;text-decoration-color:#62bbff;text-decoration-thickness:2px;text-underline-offset:7px}
.overview-week dialog select{width:100%;min-width:0;background:#fff}

.teacher-class-picker{padding:0 18px 16px;color:white}.teacher-class-picker label{display:grid;gap:6px}.teacher-class-picker select{width:100%;min-width:0;padding:8px;font-size:14px;color:#123;background:white}.teacher-class-picker button{margin-top:8px;font-size:13px;padding:8px}

.class-management{max-width:640px;padding:24px;background:white;border:1px solid #dce5ed;border-radius:10px}.class-management label{display:grid;gap:8px}.class-management select{width:100%;padding:12px;color:#123;background:white}.class-management button{margin:16px 10px 0 0}

.class-name-form{max-width:640px;margin-top:20px;padding:24px;background:white;border:1px solid #dce5ed;border-radius:10px}.class-name-form label{display:grid;gap:8px}.class-name-form input{padding:12px;font-size:16px;color:#123}.class-name-form button{margin-top:12px}

.class-editor-dialog{width:min(440px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #dce5ed;border-radius:16px;padding:32px;background:#fff;box-shadow:0 18px 60px #0a3c9126;color:#123}.class-editor-dialog::backdrop{background:#0b203a66}.class-editor-dialog h2{text-align:center;margin:0 0 24px;font-size:26px}.class-editor-dialog input{display:block;box-sizing:border-box;width:100%;text-align:center;border:1px solid #cfd9e4;border-radius:9px;background:#f7f9fb;color:#172b40;padding:14px;font-size:16px}.class-editor-dialog input::placeholder{color:#8a94a1;opacity:1}.class-editor-actions{display:flex;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}.class-editor-actions button{min-width:120px;border:0;border-radius:8px;padding:12px 18px;color:white;font-size:15px;font-weight:650}.class-editor-actions button[type=submit]{background:#237a45}.class-editor-actions button[type=button]{background:#b9363e}.class-editor-actions button:hover{filter:brightness(.92)}.class-editor-actions button:disabled{opacity:.6}.class-editor-dialog [role=alert]:empty{display:none}.class-editor-dialog [role=alert]{color:#a52029;text-align:center}
.class-editor-dialog{border:0;padding-top:18px}.class-editor-dialog h2{margin-top:0;margin-bottom:18px}

.classes-page-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}.classes-page-heading h1{margin:0}.classes-page-heading button{display:inline-flex;align-items:center;gap:8px;margin:0}.classes-page-heading button span{font-size:23px;line-height:1}

.class-card-title{display:flex;align-items:center;gap:10px}.class-card-title h2{margin:0}.class-edit-pencil{padding:6px!important;background:#fff5d6!important;border:1px solid #f2cb69!important;border-radius:8px!important;width:36px;height:36px}.class-edit-pencil svg{width:24px;height:24px}.class-editor-dialog .delete-class{display:block;margin:20px auto 0;background:transparent;color:#a52029;border:0;text-decoration:underline}

.student-setup-card{box-sizing:border-box;width:min(560px,100%);margin:12px auto 32px;padding:28px 32px;background:#fff;border:1px solid #e3e9f0;border-radius:16px;box-shadow:0 8px 30px #0a3c9109}.student-setup-heading{text-align:center;margin-bottom:24px}.student-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff3cc;color:#0a3c91;border-radius:12px;font-size:28px}.student-setup-heading h1{font-size:28px;margin:12px 0 6px}.student-setup-heading p{margin:0;color:#243e59;font-weight:600}.student-setup-heading p span{color:#697887;font-weight:400}.student-names-label{display:grid;gap:9px;font-size:14px;font-weight:650}.student-names-label textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:150px;max-height:350px;background:#f5f7fa;border:1px solid #d8e1eb;border-radius:10px;padding:15px;font:16px/1.65 system-ui;color:#172b40}.student-names-label textarea::placeholder{color:#929daa}.student-names-label textarea:focus{outline:2px solid #62bbff;outline-offset:2px}.student-entry-help,.student-login-note{font-size:13px;line-height:1.5;color:#677789;margin:10px 0}.student-login-note{padding:12px 14px;background:#edf6ff;border-radius:8px;color:#244867}.student-setup-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}.student-setup-actions button{min-width:130px;padding:12px 18px;border:0;border-radius:8px;color:white;font-size:15px;font-weight:650}.student-setup-actions button[type=submit]{background:#237a45}.student-setup-actions button[type=button]{background:#b9363e}.student-setup-actions button:disabled{opacity:.55}.student-setup-card #student-results .learner{margin-top:20px}.student-setup-card #new-student-status:empty{display:none}@media(max-width:600px){.student-setup-card{padding:22px 18px;margin-top:0}.student-setup-heading h1{font-size:25px}}
.class-editor-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.class-card-title h2{overflow-wrap:anywhere;min-width:0}.class-edit-pencil{min-width:44px!important;min-height:44px!important;flex-shrink:0}.student-setup-card input,.student-setup-card textarea{max-width:100%}.student-setup-actions button,.class-editor-actions button{min-height:44px}@media(max-width:480px){.student-setup-actions button,.class-editor-actions button{flex:1;min-width:100px}.classes-page-heading{gap:12px}.classes-page-heading h1{font-size:28px}.class-editor-dialog{padding:18px}.student-setup-card{padding:20px 16px}.student-setup-heading p{overflow-wrap:anywhere}}

.chat-action-card{padding:12px;background:#f2f7fc;border:1px solid #d8e4f0;border-radius:10px;color:#17344d}.chat-action-card button{margin:6px;padding:8px 12px;min-height:44px}.chat-action-card input{width:100%;box-sizing:border-box;color:#172b40;font-size:16px}.chat-action-card p{overflow-wrap:anywhere}

.class-card-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.class-card-actions button{margin:0;min-height:44px}@media(max-width:480px){.class-card-actions button{flex:1 1 120px}}

.unregistered-students{margin-top:28px;padding:24px;border:1px solid #dce5ed;border-radius:12px;background:white}.unregistered-students form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-top:1px solid #e5ebf0}.unregistered-students small{display:block;color:#667788}.unregistered-students select{min-height:44px;max-width:100%;padding:10px}.unregistered-students button{min-height:44px}.unregistered-students form>div{flex:1;min-width:130px}

.class-selection-prompt{padding:14px 18px;margin:0 0 24px;background:#edf6ff;color:#244867;border-radius:10px}

.student-directory-toolbar{display:flex;align-items:center;gap:18px;margin:20px 0}.student-class-filter{position:relative}.student-class-filter summary{cursor:pointer;padding:12px 16px;background:white;border:1px solid #d4dfe9;border-radius:8px}.student-class-filter>div{position:absolute;top:100%;left:0;z-index:10;min-width:240px;background:white;padding:14px;border:1px solid #d4dfe9;border-radius:8px;box-shadow:0 8px 20px #1232}.student-class-filter label{display:flex;align-items:center;gap:10px;padding:8px}.student-class-filter input{width:auto}.student-table-scroll{overflow-x:auto;background:white;border-radius:12px;border:1px solid #dce5ed}.student-directory-table{border-collapse:collapse;width:100%;min-width:700px}.student-directory-table th,.student-directory-table td{text-align:left;padding:14px;border-bottom:1px solid #e6ecf2}.student-directory-table th{background:#f1f6fa;color:#456}.student-directory-table img{width:42px;height:42px;object-fit:contain}.student-directory-table form{display:flex;gap:8px;flex-wrap:wrap;max-width:260px}.student-directory-table input{width:140px;padding:10px;font-size:16px;color:#123}.student-directory-table button{padding:10px;min-height:44px}.student-directory-table small{flex-basis:100%;color:#617386}
.student-directory-table{font-size:14px}.student-directory-table th,.student-directory-table td{padding:10px 12px}.student-directory-table form{min-width:235px;max-width:260px}.student-directory-table small{font-size:11px;line-height:1.3}.student-directory-table input{font-size:14px;width:132px}.student-directory-table button{font-size:13px}.student-directory-table td{height:auto}

.student-directory-table tbody tr:nth-child(odd){background:white}.student-directory-table tbody tr:nth-child(even){background:#fcf8f0}.student-directory-table img{border-radius:50%;background:#edf4fb;border:1px solid #dce5ef;padding:5px;box-sizing:border-box;width:46px;height:46px}.student-directory-table input[type=checkbox]{width:20px;height:20px;accent-color:#0a3c91}.student-bulk-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.student-bulk-actions select{padding:10px;max-width:100%;min-height:44px}.student-row-editor label{display:grid;gap:6px;margin-bottom:12px}.student-row-editor input{text-align:left}
.student-bulk-actions button,.student-bulk-actions button:disabled{width:auto;flex:0 0 auto;min-height:44px;padding:10px 14px}.student-bulk-actions p:empty{display:none}

.atlas-lesson-path{margin:1.5rem 0;padding:1.25rem;background:#fff;border-radius:14px}
.atlas-lesson-path>details{margin:.8rem 0;padding:.8rem;border:1px solid #d8e4ee;border-radius:12px}
.atlas-lesson-path summary{cursor:pointer;font-weight:700}
.atlas-lesson-path ol{list-style:none;padding:0;max-width:640px;margin:1rem auto;counter-reset:topic}
.atlas-lesson-path li{position:relative;margin:0 0 0 24px;padding:0 0 24px 34px;border-left:3px solid #62bbff;counter-increment:topic}
.atlas-lesson-path li:before{content:counter(topic);position:absolute;left:-21px;top:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#0a3c91;color:#fff;font-weight:700}
.atlas-lesson-path li>details{padding:12px;background:#f4f8fc;border-radius:12px}
.atlas-lesson-path li:last-child{border-color:transparent}
@media(max-width:600px){.atlas-lesson-path{padding:.75rem}.atlas-lesson-path li{padding-left:26px}}
.learning-journey{max-width:1060px;margin:auto;padding:8px 12px 36px;color:#102d48}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.journey-heading h1{margin:4px 0;font-size:36px}.journey-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#0a3c91}.journey-preview{font-size:12px;color:#526779;background:#eef4fa;padding:10px 14px;border-radius:8px;margin:16px 0}.journey-unit{display:flex;align-items:center;gap:20px;padding:24px;background:#0a3c91;color:#fff;border-radius:16px}.journey-unit h2{margin:4px 0;font-size:23px;color:#fff}.journey-unit p{margin:5px 0;color:#deecff}.journey-unit small{letter-spacing:.15em;color:#b8e0ff}.journey-unit-icon{font-size:42px;color:#ffc84c}.journey-unit button{margin-left:auto;background:#fff;color:#0a3c91;flex-shrink:0}.journey-trail{position:relative;max-width:620px;margin:36px auto 0;display:flex;flex-direction:column;align-items:center;gap:28px;background:radial-gradient(circle,#dae6f3 2px,transparent 3px) center/8px 14px repeat-y}.journey-stop{text-align:center;width:240px;position:relative;background:#f7f9fc;padding:8px 0}.journey-stop:nth-child(4n+2){transform:translateX(95px)}.journey-stop:nth-child(4n){transform:translateX(-95px)}.journey-stop h3{margin:14px 0 3px;font-size:17px}.journey-node-caption{font-size:12px;color:#66788b}.journey-node{width:78px!important;height:72px!important;min-width:78px;border-radius:50%!important;background:#62bbff!important;color:#0a3c91!important;border:5px solid #c4e8ff!important;box-shadow:0 7px 0 #2589d1,0 11px 0 #e0edf8;font-size:28px!important;display:inline-grid!important;place-items:center;padding:0!important;transition:transform .15s}.journey-node:hover{transform:translateY(-3px)}.journey-node:focus-visible{outline:3px solid #0a3c91;outline-offset:7px}.journey-node.checkpoint{background:#ffce56!important;border-color:#ffe8a5!important;box-shadow:0 7px 0 #dba22b,0 11px 0 #f7edcf;color:#72500c!important}.journey-footer{text-align:center;color:#6a7d90;margin-top:32px;font-size:14px}.journey-dialog{width:min(520px,calc(100vw - 32px));box-sizing:border-box;border:0;border-radius:16px;padding:28px;color:#102d48}.journey-dialog::backdrop{background:#092c5066}.journey-close{float:right;background:transparent!important;color:#0a3c91!important;font-size:24px!important}.journey-phases{padding:0;list-style:none;display:grid;gap:12px}.journey-phases li{padding:14px;background:#f0f6fc;border-radius:10px}.journey-phases b,.journey-phases span{display:block}.journey-phases span{font-size:14px;margin-top:5px}.journey-done{width:100%}@media(max-width:650px){.journey-heading,.journey-unit{flex-wrap:wrap}.journey-unit{padding:18px;gap:12px}.journey-unit button{margin-left:0}.journey-stop:nth-child(4n+2){transform:translateX(35px)}.journey-stop:nth-child(4n){transform:translateX(-35px)}.journey-stop{width:200px}.journey-heading h1{font-size:30px}}@media(prefers-reduced-motion:reduce){.journey-node{transition:none}}
.journey-unit-group{margin-top:22px}.journey-unit-group>.journey-unit{background:var(--unit-color);cursor:pointer;list-style:none}.journey-unit-group>.journey-unit::-webkit-details-marker{display:none}.journey-chevron{margin-left:auto;font-size:28px}.journey-unit-group[open] .journey-chevron{transform:rotate(180deg)}.journey-unit-group .journey-node{color:var(--unit-color)!important}.journey-node.journey-locked{background:#e1e7ef!important;border-color:#f1f4f8!important;box-shadow:0 7px 0 #a6b5c5,0 11px 0 #e0edf8;font-size:23px!important}.journey-unit-group .journey-trail{margin-bottom:36px}
.teacher-sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left}.teacher-sidebar .roji-menu-icon{width:25px;height:27px;min-width:25px;flex-shrink:0;color:#ffd16a;filter:drop-shadow(0 1px 0 #06265c)}.teacher-sidebar nav button[aria-current="page"] .roji-menu-icon{color:#ffe6a1}.teacher-sidebar nav button:hover .roji-menu-icon{color:#62bbff}@media(max-width:700px){.teacher-sidebar nav button{gap:8px}.teacher-sidebar .roji-menu-icon{width:22px;height:24px;min-width:22px}}
.teacher-mobile-bar,.teacher-menu-backdrop{display:none}
@media(max-width:700px){
 body.teacher-workspace{padding-top:60px;padding-left:0}
 .teacher-mobile-bar{display:flex;position:fixed;inset:0 0 auto;min-height:60px;box-sizing:border-box;padding:8px 16px;background:#14336c;color:white;align-items:center;justify-content:space-between;gap:12px;z-index:42}
 .teacher-mobile-bar>span{font-size:14px;font-weight:700}.teacher-mobile-bar button{display:flex;gap:8px;align-items:center;min-height:44px;background:#264b87;color:white;border:1px solid #ffffff45;border-radius:8px;padding:8px 12px}
 .teacher-sidebar{position:fixed!important;inset:60px auto 0 0!important;width:min(300px,85vw)!important;height:calc(100dvh - 60px);overflow-y:auto;padding:20px!important;z-index:41;transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s}
 .teacher-menu-open .teacher-sidebar{transform:translateX(0);visibility:visible}.teacher-sidebar nav{grid-template-columns:1fr!important}.teacher-sidebar nav button{min-height:46px;width:100%}.teacher-sidebar .brand{align-self:center}.teacher-sidebar>p{margin:18px 0}
 .teacher-menu-backdrop:not([hidden]){display:block;position:fixed;inset:60px 0 0;width:100%;height:calc(100dvh - 60px);background:#071c4590;border:0;border-radius:0;z-index:40}
 body.teacher-menu-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.teacher-sidebar{transition:none!important}}
@media(max-width:700px){.teacher-mobile-brand{display:flex;align-items:center;justify-content:center;line-height:0}.teacher-mobile-brand img{display:block;width:82px;height:40px;object-fit:contain}.teacher-mobile-bar button{width:44px;min-width:44px;padding:9px;justify-content:center}.teacher-mobile-bar button svg{flex-shrink:0}}
/* Keep the compact header logo centered on phones, independent of its menu control. */
@media(max-width:480px){.teacher-mobile-bar{position:fixed;justify-content:flex-end}.teacher-mobile-brand{position:absolute;left:50%;transform:translateX(-50%)}.teacher-mobile-bar button{margin-left:auto}}
@media(min-width:481px) and (max-width:700px){.teacher-mobile-brand{position:static;transform:none;margin-right:auto}.teacher-mobile-bar{justify-content:space-between}}
.week-arrow{display:none}
@media(max-width:480px){
 .teacher-workspace{font-size:14px}h1,.journey-heading h1{font-size:25px}h2,.overview-week h2{font-size:19px}h3{font-size:16px}button,.button{font-size:13px}p{font-size:14px}.teacher-sidebar nav button{font-size:14px}input,textarea,select{font-size:16px}
 .week-carousel{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px;align-items:center;margin-top:16px}.week-carousel .week-days{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0;padding:4px 0 10px;scrollbar-width:none;min-width:0}.week-days::-webkit-scrollbar{display:none}.week-carousel .week-day{flex:0 0 100%;box-sizing:border-box;scroll-snap-align:start;text-align:center;min-height:190px;padding:12px}.week-day>strong{display:block;background:#0a3c91;color:white;border-radius:7px;padding:8px 4px;text-align:center;font-size:14px}.week-day time{text-align:center}.week-day button{text-align:center;min-height:44px}.week-carousel .week-arrow{display:grid;place-items:center;width:36px;min-width:36px;height:44px;padding:0;background:#eaf3ff;color:#0a3c91;border:0;border-radius:8px;font-size:27px}.week-arrow:disabled{opacity:.35;cursor:default}.overview-week{padding:14px 10px}.week-day p{font-size:13px}
}

.account-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}.account-actions button{min-width:100px;color:white;border:0}.account-actions button[type=submit]{background:#287346}.account-actions #back{background:#b63838}.account-actions button:disabled{opacity:.5;cursor:not-allowed}
#credentials .account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;width:100%;margin-top:24px}
#credentials .account-actions>button,#credentials .account-actions>button:disabled{display:block;grid-column:auto;grid-row:1;width:100%;min-width:0;max-width:none;margin:0;min-height:44px;box-sizing:border-box}
#credentials .account-actions{grid-template-columns:repeat(2,minmax(0,112px));justify-content:center;gap:12px}
#credentials .account-actions>button,#credentials .account-actions>button:disabled{padding:9px 16px}
body.student-workspace{background:#f3f7fc;color:#152f50}.student-workspace>header{display:none}.student-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 5%;background:white;border-bottom:1px solid #dce7f3}.student-topbar nav{display:flex;gap:12px;margin:0}.student-topbar button{display:grid;place-items:center;width:46px;height:46px;padding:10px;border:0;background:#e7f2ff;color:#0a3c91;border-radius:12px}.student-topbar .student-home{width:115px;height:58px;padding:0;background:none}.student-home img{width:110px;height:55px;object-fit:contain}.student-home-content{padding:12px 0 30px}.student-home-content h1{font-size:28px;margin:6px 0}.student-eyebrow{font-size:13px;color:#526779}.student-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,330px));gap:22px;margin-top:26px}.student-class-card{padding:0;text-align:left;overflow:hidden;border:1px solid #dce7f3;border-radius:16px;background:white;color:#152f50}.student-class-banner{display:flex;flex-direction:column;gap:14px;padding:22px;background:#0a3c91;color:white}.student-class-banner>strong{font-size:23px}.student-lesson-title{font-size:14px}.student-class-:scope{display:flex;flex-direction:column;gap:24px;padding:22px}.student-class-open{color:#0a3c91}.student-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.student-stage{display:flex;flex-direction:column;gap:6px;text-align:center;font-size:11px}.student-stage small{font-size:10px}.student-stage-track{height:7px;background:#ffffff40;border-radius:5px;overflow:hidden}.student-stage-track>span{display:block;height:100%;background:#ffd36b}.student-empty,.student-assignment{padding:24px;background:white;border-radius:16px;margin:18px 0}.student-signout{display:block;margin:20px auto 0}.student-workspace .credentials{margin-top:18px}@media(max-width:480px){.student-topbar{padding:14px 16px;gap:10px;flex-wrap:wrap}.student-topbar .student-home{margin:auto}.student-topbar nav{width:100%;justify-content:center}.student-class-grid{grid-template-columns:minmax(0,1fr)}.student-workspace #pilot-main{padding:18px}.student-home-content h1{font-size:24px}}

.student-topbar{background:#033071;color:#fff;border-bottom:0}.student-topbar nav button{background:transparent;color:#ffd16a}.student-topbar nav button svg{filter:drop-shadow(0 1px 0 #06265c)}.student-topbar nav button:hover,.student-topbar nav button:focus-visible{background:#ffffff18;color:#62bbff}
/* Shared student page surface: matches the Messages container. */
.student-workspace #pilot-main{background:#fff;border-radius:16px;margin:24px auto;padding:24px;width:calc(100% - 48px);box-sizing:border-box}
.student-workspace #pilot-main>.student-empty{padding:0;margin:0;background:transparent;border-radius:0}
.student-workspace #pilot-main>.student-home-content{padding:0}
.student-workspace #pilot-main>.credentials{margin:0 auto;box-shadow:none;border:0;background:transparent;padding:0;max-width:560px}
@media(max-width:480px){.student-workspace #pilot-main{width:calc(100% - 28px);margin:18px auto;padding:18px}}

.student-class-heading{display:flex;align-items:center;gap:12px}.student-class-heading strong{font-size:23px;min-width:0;overflow-wrap:anywhere}.student-math-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;background:#ffffff18;color:#ffd16a;border:1px solid #ffd16a66}.student-math-icon svg{width:30px;height:30px}

.teacher-profile-settings{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #dce5f1}.teacher-profile-settings h2{font-size:22px}.teacher-profile-settings form{display:grid;gap:14px}.teacher-profile-settings label{display:grid;gap:7px}.teacher-profile-settings select{font:inherit;padding:12px;border:1px solid #b8c8d6;border-radius:8px;background:white;color:#152f50}.profile-preview{font-size:14px;color:#526779}.profile-actions{display:flex;justify-content:center;gap:12px}.profile-actions button{width:120px!important;min-width:0;background:#287346;color:white;border:0}.profile-actions button[type=button]{background:#b63838}

.teacher-profile-settings .profile-preview{text-align:center;margin:8px 0 12px}

.account-save-confirmation{text-align:center;background:#e6f5eb;color:#1e633c;border-radius:10px;padding:14px;margin:16px 0 0;font-weight:650}

.learning-journey .curriculum-reset-link{display:block;margin:8px 0 16px auto;padding:4px 8px;width:auto;font-size:12px;background:transparent;color:#64748b;border:0;text-decoration:underline;box-shadow:none}.curriculum-reset-dialog{max-width:440px;width:calc(100% - 40px);border:0;border-radius:12px;padding:24px}.curriculum-reset-dialog::backdrop{background:#102a4655}.curriculum-reset-dialog>div{display:flex;justify-content:center;gap:12px}.curriculum-reset-dialog [data-confirm]{background:#b42318;color:white}.curriculum-reset-dialog [role=status]{color:#b42318}

.overview-week .week-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;width:100%;max-width:540px}.week-navigation>div{display:grid;gap:10px}.week-navigation span{font-size:13px;color:#61758a}.overview-week .week-navigation button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:#eaf3ff;color:#0a3c91;font-size:28px}.week-navigation button:hover{background:#d5e9ff}@media(max-width:480px){.overview-week .week-navigation{gap:6px}.overview-week .week-navigation h2{font-size:18px}}

/* Keep today's planner card distinct on desktop and the mobile carousel. */
.overview-week .week-day.week-today{border:2px solid #f5b82e;background:#fff8e5}
.overview-week .week-day.week-today>strong{background:#ffd16a;color:#0a3c91;border-radius:7px;padding:8px 4px;text-align:center}
.overview-week .week-day.week-today time{color:#72500b;font-weight:700}

/* Uniform weekday headings, with gold reserved for today. */
.overview-week .week-day>strong{display:block;box-sizing:border-box;width:100%;padding:8px 4px;border:1px solid #d3e2f3;border-radius:7px;background:#eaf3ff;color:#0a3c91;text-align:center;line-height:1.4}
.overview-week .week-day.week-today>strong{border-color:#f5b82e;background:#ffd16a;color:#0a3c91}

.demo-record{margin:12px 0;padding:14px;border:1px solid #dce5ed;border-radius:10px}.demo-record summary{cursor:pointer;font-weight:600}.demo-record>details{margin:12px 0}.demo-record dd{margin:4px 0 12px 16px;overflow-wrap:anywhere}

/* Classes: compact heading controls and consistent cards. */
.classes-page-heading{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:14px;margin:0 0 18px}
.classes-page-heading h1{margin:0}
.classes-page-heading #add-class{display:inline-flex;flex:0 0 auto;width:auto;min-width:0;max-width:100%;min-height:42px;padding:9px 15px;margin:0;font-size:14px;align-items:center;gap:7px}
.classes-page-heading~.pilot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;align-items:stretch}
.classes-page-heading~.pilot-grid>.learner{display:flex;flex-direction:column;margin:0;padding:20px;border:1px solid #dce5ed;border-radius:12px;background:#fff;box-shadow:0 2px 7px #0a3c9108;min-width:0}
.classes-page-heading~.pilot-grid .class-card-title{min-height:52px;justify-content:space-between}
.classes-page-heading~.pilot-grid .class-card-title h2{font-size:20px;line-height:1.3}
.classes-page-heading~.pilot-grid .class-card-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.classes-page-heading~.pilot-grid .class-card-actions button{flex:0 1 auto;width:auto;min-width:110px;min-height:44px;padding:10px 13px;margin:0;font-size:14px;border-radius:8px}

@font-face{font-family:RojiPlayful;src:url('/tools/teacher/practice/fonts/luckiest-guy-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
.journey-node .journey-number{font-family:RojiPlayful,'Arial Rounded MT Bold',sans-serif;font-size:38px;font-weight:400;line-height:1;transform:translateY(3px);text-shadow:0 2px 0 #ffffff80;-webkit-text-stroke:.4px currentColor}

.journey-node .journey-lock-icon{display:grid;place-items:center;line-height:1}.journey-node .roji-lesson-lock{display:block;width:35px;height:39px;filter:drop-shadow(0 2px 0 #ffffff80)}

/* Compact path labels reveal beside the node on hover or keyboard focus. */
.journey-node .journey-number{font-size:30px}
.journey-unit-icon svg{display:block}
.journey-stop{isolation:isolate}
.journey-stop .journey-node{position:relative;z-index:2}
.journey-stop h3{position:absolute;z-index:1;left:calc(50% + 30px);top:16px;box-sizing:border-box;width:190px;max-width:calc(50vw - 45px);margin:0;padding:12px 14px 12px 22px;border-radius:0 12px 12px 0;background:white;border:1px solid #dce5ed;color:#0a3c91;text-align:left;font-size:14px;line-height:1.35;box-shadow:0 3px 10px #0a3c9110;opacity:0;visibility:hidden;transform:translateX(-22px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.journey-stop:hover,.journey-stop:focus-within{z-index:3}
.journey-stop:hover h3,.journey-stop:focus-within h3{opacity:1;visibility:visible;transform:translateX(0)}
.journey-stop .journey-node-caption{display:none}
@media(max-width:650px){.journey-stop h3{left:50%;top:82px;transform:translate(-50%,-10px);max-width:220px;width:220px;border-radius:10px;padding:10px;text-align:center}.journey-stop:hover h3,.journey-stop:focus-within h3{transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.journey-stop h3{transition:none}}

.journey-node[aria-disabled="true"]{cursor:not-allowed}.journey-node[aria-disabled="true"]:hover{transform:none}

.journey-trail{background:none;isolation:isolate;gap:40px}.journey-trail>.journey-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.journey-connection{fill:none;stroke:#a5bdd8;stroke-width:5;stroke-linecap:round;stroke-dasharray:1 11}.journey-connection.is-complete{stroke:var(--unit-color,#0a3c91);stroke-dasharray:none}.journey-trail>.journey-stop{background:transparent;z-index:1}.journey-trail>.journey-stop:hover,.journey-trail>.journey-stop:focus-within{z-index:3}

/* Keep attention on the active modal while preserving page context. */
bodydialog::backdrop,
body.student-workspace dialog::backdrop{background:rgba(10,35,65,.28);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}

.student-home-content h1.student-welcome{font-size:30px;line-height:1.25;margin:8px 0 20px;color:#0a3c91}@media(max-width:480px){.student-home-content h1.student-welcome{font-size:25px}}

.student-workspace .journey-heading{justify-content:flex-start;flex-wrap:nowrap;gap:14px}.student-workspace .student-class-back{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;background:#ffd16a;border:2px solid #e5ad37;border-radius:12px}.journey-node.journey-assigned{background:#ffd16a!important;border-color:#fff0ba!important;box-shadow:0 7px 0 #dba22b,0 11px 0 #f7edcf}.student-workspace .journey-heading h1{font-size:28px}
.student-directory-table tr[data-open-student]{cursor:pointer}.student-directory-table tr[data-open-student]:focus-visible{outline:3px solid #62bbff;outline-offset:-3px}.student-record-dialog{width:min(760px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:0;border-radius:24px;padding:28px;color:#17334d;background:white;box-shadow:0 20px 80px #0a3c9140}.student-record-dialog::backdrop{background:#102b494d;backdrop-filter:blur(5px)}.student-record-close{display:block;margin-left:auto;width:42px!important;min-width:42px;min-height:42px;padding:0!important;background:#fff0c2;color:#0a3c91;border:0;border-radius:50%;font-size:28px}.student-record-heading{display:flex;align-items:center;gap:16px}.student-record-heading img{width:64px;height:64px;border-radius:50%;background:#f5f0e7}.student-record-heading h2{margin:0}.student-record-note{color:#566574;font-size:.85rem}.student-record-dialog details{margin:14px 0;padding:14px;background:#f7f9fc;border-radius:14px}.student-record-dialog summary{cursor:pointer;font-weight:700}.student-record-dialog dd{margin:6px 0 14px 12px;overflow-wrap:anywhere}@media(max-width:600px){.student-record-dialog{padding:16px}.student-record-heading img{width:48px;height:48px}.student-record-heading h2{font-size:1.25rem}}
/* Student records use a compact profile header, not the site-wide header layout. */
.student-record-dialog{position:fixed;width:min(680px,calc(100vw - 32px));padding:26px;font-size:15px;line-height:1.55}
.student-record-dialog .student-record-close{position:absolute;top:16px;right:16px;margin:0;z-index:1;line-height:1}
.student-record-dialog .student-record-heading{display:flex;justify-content:flex-start;align-items:center;flex-wrap:nowrap;gap:14px;max-width:none;margin:0 0 20px;padding:4px 48px 18px 0;border-bottom:1px solid #e5ebf2}
.student-record-dialog .student-record-heading img{width:60px;height:60px;flex:0 0 60px;object-fit:contain;border:2px solid #f1d487}
.student-record-dialog .student-record-heading>div{min-width:0}
.student-record-dialog .student-record-heading h2{margin:0;font-size:24px;line-height:1.2;overflow-wrap:anywhere}
.student-record-dialog .student-record-heading p{margin:6px 0 0;color:#607184;font-size:14px;overflow-wrap:anywhere}
.student-record-dialog .student-record-note{margin:0 0 14px}
.student-record-dialog details{margin:10px 0;padding:13px 16px;border:1px solid #e3eaf3;background:#f8faff}
.student-record-dialog summary{padding:2px 0;color:#0a3c91}
.student-record-dialog dl{margin:12px 0 0}.student-record-dialog dd{margin:3px 0 12px 0}.student-record-dialog dd:last-child{margin-bottom:0}.student-record-dialog ul{padding-left:20px;margin:8px 0}.student-record-dialog li{margin:5px 0}.student-record-dialog p{margin-top:8px;margin-bottom:10px}
.student-record-dialog[open]{animation:student-record-enter 350ms ease-out both}
.student-record-dialog[open]::backdrop{animation:student-record-backdrop 350ms ease-out both}
@keyframes student-record-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes student-record-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.student-record-dialog{padding:20px 16px;width:calc(100vw - 24px)}.student-record-dialog .student-record-close{top:12px;right:12px}.student-record-dialog .student-record-heading{gap:10px;padding-right:42px}.student-record-dialog .student-record-heading img{width:48px;height:48px;flex-basis:48px}.student-record-dialog .student-record-heading h2{font-size:21px}.student-record-dialog details{padding:12px}}
@media(prefers-reduced-motion:reduce){.student-record-dialog[open],.student-record-dialog[open]::backdrop{animation:none}}
.student-bulk-actions button:disabled{background:#e7ebef!important;color:#7a8592!important;border-color:#d9dfe5!important;cursor:not-allowed;opacity:1;width:auto;box-shadow:none}.student-move-dialog{width:min(520px,calc(100vw - 32px))}.student-move-current{margin:16px 0;padding:14px;background:#f5f7fa;border-radius:12px;text-align:left}.student-move-current h3{font-size:15px;margin:0 0 8px}.student-move-current ul{list-style:none;padding:0;margin:0;max-height:180px;overflow:auto}.student-move-current li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;flex-wrap:wrap}.student-move-current li span{color:#63758a}.student-move-dialog label{display:grid;gap:8px;text-align:left}.student-move-dialog select{width:100%;padding:12px;border:1px solid #d2dce7;border-radius:10px;font:inherit;background:#f5f7fa}.student-move-dialog button:disabled{background:#e7ebef!important;color:#7a8592!important;width:auto;cursor:not-allowed}
.topic-assignment-title{text-align:center;text-decoration:underline;text-underline-offset:7px;margin:8px 36px 24px!important}.topic-class-options{border:0;padding:0;margin:16px 0}.topic-class-options legend{text-align:center;font-weight:700;margin-bottom:14px}.topic-class-options label,.topic-additional label{display:flex;gap:10px;align-items:center;padding:10px 12px;text-align:left;background:#f5f8fc;border-radius:10px;margin:6px 0}.topic-class-options input,.topic-additional input{width:auto;min-width:18px;height:18px}.topic-additional>div{max-height:240px;overflow:auto}.topic-additional fieldset{border:0;padding:8px}.topic-additional summary{cursor:pointer}.journey-dialog{max-height:85dvh;overflow:auto}.journey-dialog button:disabled{width:auto;background:#e7ebef;color:#7a8592}
.topic-class-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid #e5ebf2}.topic-class-row>details{position:relative;margin:6px 0}.topic-class-row>details>summary{cursor:pointer;padding:10px;color:#0a3c91;font-size:14px;white-space:nowrap}.topic-class-row>details>div{max-height:230px;overflow:auto;min-width:200px;background:white;border:1px solid #dce5ef;border-radius:12px;padding:8px}.topic-class-row label{margin:0}.topic-class-row>details label{margin:4px 0;font-size:14px}@media(max-width:480px){.topic-class-row{grid-template-columns:1fr}.topic-class-row>details>div{min-width:0}}
.topic-recipient-field>span{display:block;font-weight:700;margin:14px 0 8px;text-align:left}.topic-recipient-dropdown{border:1px solid #ccd9e7;border-radius:12px;background:#f7f9fc}.topic-recipient-dropdown>summary{cursor:pointer;list-style:none;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#0a3c91;font-weight:600}.topic-recipient-dropdown>summary::-webkit-details-marker{display:none}.topic-recipient-dropdown>summary:after{content:'⌄';margin-left:16px}.topic-recipient-dropdown[open]>summary:after{content:'⌃'}.topic-recipient-dropdown .topic-class-options{max-height:320px;overflow-y:auto;margin:0;padding:8px 12px;border-top:1px solid #dce5ef;background:white;border-radius:0 0 12px 12px}.topic-recipient-dropdown .topic-class-options>.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:-1px}.topic-recipient-dropdown summary:focus-visible{outline:3px solid #62bbff;outline-offset:2px;border-radius:10px}
.journey-dialog:has(.topic-assignment-title){position:fixed;padding:38px 26px 26px}.journey-dialog .journey-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:28px!important;min-width:28px;height:28px;min-height:28px;margin:0;padding:0!important;border:0;border-radius:50%;background:#c73843;color:#fff;font:700 20px/1 system-ui;box-shadow:none}.journey-dialog .journey-close:hover{background:#a82430}.journey-dialog .topic-assignment-title{color:var(--topic-color,#0a3c91)}.topic-additional-field>span{display:block;font-weight:700;margin:18px 0 8px;text-align:left;color:var(--topic-color,#0a3c91)}.topic-recipient-field>span,.topic-recipient-dropdown>summary{color:var(--topic-color,#0a3c91)}.topic-additional{border:1px solid #ccd9e7;border-radius:12px;background:#f7f9fc}.topic-additional>summary{display:flex;justify-content:space-between;list-style:none;padding:12px 16px;font-weight:600;color:var(--topic-color,#0a3c91)}.topic-additional>summary::-webkit-details-marker{display:none}.topic-additional>summary:after{content:'⌄'}.topic-additional[open]>summary:after{content:'⌃'}.topic-additional>div{padding:8px;border-top:1px solid #dce5ef;background:#fff;border-radius:0 0 12px 12px}
.topic-additional label:has(input:checked:disabled){background:#e9edf1;color:#85909d;cursor:not-allowed;opacity:.8}.topic-additional input:checked:disabled{cursor:not-allowed;accent-color:#9aa5b1}
[data-student-nav=Notifications]{position:relative}.student-notification-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;border-radius:12px;padding:0 4px;background:#c73843;color:white;font:700 11px/19px system-ui;text-align:center}.student-notification-badge[hidden]{display:none}.student-notification-dialog{width:min(540px,calc(100vw - 24px));max-height:80dvh;overflow:auto;border:0;border-radius:22px;padding:26px;background:white;color:#17334d}.student-notification-dialog::backdrop{background:#102b494d;backdrop-filter:blur(5px)}.student-notification-item{display:block;width:100%;text-align:left;padding:15px;margin:8px 0;background:#f4f7fb;color:#17334d;border:1px solid #e0e7ef;border-radius:12px}.student-notification-item.is-unread{border-left:4px solid #ffc541;background:#edf6ff}.student-notification-item small{display:block;margin-top:5px;color:#607184}.student-topbar nav{flex-wrap:wrap}

/* Student lesson guide: stays with the lesson, including fullscreen. */
.lesson-roji{width:160px;height:160px;margin:0 auto 16px;}
.lesson-roji canvas,.lesson-roji img{width:100%;height:100%;object-fit:contain;}
.lesson-roji [hidden]{display:none;}
@media(max-width:600px){.lesson-roji{width:120px;height:120px;margin-bottom:12px;}}

/* Reserve space for the guide so it never covers lesson text or answers. */
.classroom-slide:has(.lesson-roji){position:relative;padding-bottom:180px;}
.classroom-slide .lesson-roji{position:absolute;right:18px;bottom:14px;width:112px;height:144px;margin:0;display:flex;flex-direction:column;align-items:center;}
.classroom-slide .lesson-roji canvas,.classroom-slide .lesson-roji img{width:108px;height:108px;flex:none;}
#pilot-main .lesson-roji .lesson-read{width:auto;min-height:32px;padding:6px 10px;font-size:.75rem;white-space:nowrap;margin:4px 0 0;}
#pilot-main .lesson-navigation{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:16px;}
#pilot-main .lesson-navigation button{width:auto;flex:0 0 auto;min-width:90px;min-height:42px;padding:9px 18px;font-size:.9rem;margin:0;}
@media(max-width:600px){.classroom-slide:has(.lesson-roji){padding-bottom:170px;}.classroom-slide .lesson-roji{right:12px;bottom:10px;}}

.lesson-whiteboard{border:1px solid #dae4ef;border-radius:16px;padding:24px;background-color:#fcfefd;background-image:radial-gradient(#dce6ea .8px,transparent .8px);background-size:20px 20px;margin:20px 0;color:#173c61;}
.board-heading{font-size:.85rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#315a7b;}
.board-expression{display:flex;justify-content:center;align-items:center;gap:12px;font-size:clamp(3rem,7vw,5rem);font-weight:800;line-height:1.4;padding:20px 0 8px;white-space:pre-wrap;}
.board-variable{color:#0a3c91;background:#ffe7a0;border-radius:14px;padding:0 15px;border-bottom:5px solid #eeb537;transform:rotate(-3deg);}
.board-key{text-align:center;font-size:1rem;margin:8px 0 24px;}.board-key>span{font-size:1.2rem;font-weight:800;color:#0a3c91;}
.board-notes{display:grid;gap:12px;}.board-step{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:#ffffffd9;border:2px solid transparent;transition:background .3s,border-color .3s;}.board-step p{margin:0;font-size:1.15rem;line-height:1.55;}.board-step-number{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#e5effa;color:#0a3c91;font-weight:800;}.board-step-active{border-color:#62bbff;background:#eff8ff;}.board-step-covered{border-color:#dcebdd;}
@media(max-width:600px){.lesson-whiteboard{padding:16px 12px;}.board-step{padding:10px;gap:8px;}.board-step p{font-size:1rem;}.board-expression{gap:7px;}}
@media(prefers-reduced-motion:reduce){.board-step{transition:none;}}

.word-wall-dialog{width:min(640px,90vw);max-height:85vh;overflow:auto;border:0;border-radius:22px;padding:28px;color:#173c61;background:#fff;}.word-wall-dialog::backdrop{background:#10294c66;backdrop-filter:blur(5px);}.word-wall-dialog h2{text-align:center;color:#0a3c91}.word-wall-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0;}.word-wall-grid article{background:#fff8e7;border:1px solid #edbd52;border-radius:12px;padding:16px;}.word-wall-grid h3{margin:0 0 8px;color:#0a3c91}.word-wall-dialog form{display:grid;gap:18px}.word-wall-dialog label{display:grid;gap:8px;font-weight:700}.word-wall-dialog select{width:100%;padding:10px;color:#173c61;background:#f3f7fb;border:1px solid #bfd4e9;border-radius:10px;font:inherit}.word-wall-dialog [role=status]{color:#b52f39}.word-wall-dialog button{width:auto;margin:8px;padding:10px 18px;}

/* Whiteboard and presenter share the stage without overlapping readable content. */
.classroom-slide:has(.lesson-roji){display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,27%);column-gap:22px;padding:24px;align-items:start;}
.classroom-slide:has(.lesson-roji)>:not(.lesson-roji){grid-column:1;}
.classroom-slide .lesson-roji{position:sticky;top:16px;grid-column:2;grid-row:1 / span 8;align-self:center;width:100%;height:auto;right:auto;bottom:auto;}
.classroom-slide .lesson-roji canvas,.classroom-slide .lesson-roji img{width:100%;height:clamp(200px,30vw,390px);}
.board-variable,.board-constant{border:0;background:transparent;color:inherit;transform:none;padding:0 10px;border-radius:12px;transition:background .35s,color .35s;}
.vocab-term{font-weight:850;padding:1px 4px;border-radius:5px;}
.introduced-variable .board-variable,.introduced-variable .vocab-variable{background:#ffe28a;color:#563e08;animation:board-introduce .45s ease-out;}
.introduced-constant .board-constant,.introduced-constant .vocab-constant{background:#bcebdc;color:#14513f;animation:board-introduce .45s ease-out;}
@keyframes board-introduce{0%{outline:4px solid transparent;transform:scale(.96)}50%{outline:4px solid #edbd5266;transform:scale(1.05)}100%{outline:0 solid transparent;transform:scale(1)}}
@media(max-width:600px){.classroom-slide:has(.lesson-roji){padding:14px;grid-template-columns:minmax(0,1fr) 80px;gap:8px;}.classroom-slide .lesson-roji canvas,.classroom-slide .lesson-roji img{height:145px;}.classroom-slide .lesson-roji{top:8px;}.lesson-whiteboard{padding:12px 8px;}.board-expression{font-size:2.5rem;gap:2px;}#pilot-main .lesson-roji .lesson-read{white-space:normal;font-size:.7rem;padding:7px 5px;}}
@media(prefers-reduced-motion:reduce){.introduced-variable .board-variable,.introduced-variable .vocab-variable,.introduced-constant .board-constant,.introduced-constant .vocab-constant{animation:none;transition:none;}}
.classroom-slide>h2:empty{display:none;}.classroom-slide:has(.lesson-roji){grid-auto-rows:min-content;}.classroom-slide:has(.lesson-roji)>p{margin:0 0 10px;}

.lesson-playback{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;}#pilot-main .lesson-playback button{width:auto;min-height:40px;margin:0;padding:8px 12px;font-size:.85rem;white-space:nowrap;}#pilot-main .lesson-playback button:disabled{opacity:.45;cursor:default;}

.lesson-progress{width:100%;margin:0 0 22px;}.lesson-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#0a3c91;font-size:.85rem;font-weight:750;}.lesson-progress progress{display:block;width:100%;height:12px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e4edf6;}.lesson-progress progress::-webkit-progress-bar{background:#e4edf6;border-radius:999px;}.lesson-progress progress::-webkit-progress-value{background:#edbd52;border-radius:999px;transition:width .35s;}.lesson-progress progress::-moz-progress-bar{background:#edbd52;border-radius:999px;}

.word-wall-dialog{position:relative;}.word-review-reminder{display:block;padding:12px;margin:10px 0;background:#fff6dc;border-radius:10px;color:#173c61;animation:word-reminder-in .25s ease-out;}.word-wall-dialog select[aria-invalid=true]{border:2px solid #bd6a24;}.word-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;}.word-confetti i{position:absolute;left:var(--x);top:-15px;width:9px;height:14px;border-radius:2px;animation:word-confetti-fall 1.8s var(--delay) ease-in forwards;}@keyframes word-confetti-fall{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--drift),400px) rotate(650deg);opacity:0}}@keyframes word-reminder-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.lesson-milestones{display:flex;justify-content:space-between;gap:4px;margin-top:-17px;position:relative;pointer-events:none;}.lesson-milestone{display:grid;place-items:center;box-sizing:border-box;width:23px;height:23px;flex:0 0 23px;border:2px solid #c8d8e8;background:#fff;border-radius:50%;font-size:.65rem;font-weight:800;color:#466079;}.lesson-milestone.is-complete{background:#edbd52;border-color:#d6a631;color:#173c61;}
@media(prefers-reduced-motion:reduce){.word-confetti{display:none;}.word-review-reminder{animation:none;}}

/* Roji playback controls share the rounded gold icon language. */
#pilot-main .lesson-playback button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;min-height:44px;padding:10px 16px;border:2px solid #0a3c91;border-radius:16px;background:#fff7dc;color:#0a3c91;font-weight:800;box-shadow:0 3px 0 #0a3c91;transition:transform .15s,box-shadow .15s,background .15s;}
#pilot-main .lesson-playback button::before{content:'';display:block;width:22px;height:22px;flex:0 0 22px;background-position:center;background-repeat:no-repeat;background-size:contain;}
#pilot-main .lesson-playback .lesson-read::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M8 5 Q6 4 6 7 V21 Q6 24 9 22 L23 15 Q25 14 23 12 Z' fill='%23edbd52' stroke='%23704d25' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");}
#pilot-main .lesson-playback .lesson-pause::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Crect x='5' y='4' width='6' height='20' rx='2' fill='%23edbd52' stroke='%23704d25' stroke-width='2'/%3E%3Crect x='17' y='4' width='6' height='20' rx='2' fill='%23edbd52' stroke='%23704d25' stroke-width='2'/%3E%3C/svg%3E");}
#pilot-main .lesson-playback button:not(:disabled):hover{background:#ffe9a6;transform:translateY(-1px);box-shadow:0 4px 0 #0a3c91;}#pilot-main .lesson-playback button:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #0a3c91;}#pilot-main .lesson-playback button:focus-visible{outline:3px solid #62bbff;outline-offset:5px;}#pilot-main .lesson-playback button:disabled{opacity:.45;box-shadow:none;}
@media(max-width:600px){#pilot-main .lesson-playback button{min-width:76px;padding:8px 6px;gap:4px;font-size:.75rem;}#pilot-main .lesson-playback button::before{width:18px;height:18px;flex-basis:18px;}}
@media(prefers-reduced-motion:reduce){#pilot-main .lesson-playback button{transition:none;}}

#pilot-main .lesson-playback .lesson-read.is-playing::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Crect x='5' y='4' width='6' height='20' rx='2' fill='%23edbd52' stroke='%23704d25' stroke-width='2'/%3E%3Crect x='17' y='4' width='6' height='20' rx='2' fill='%23edbd52' stroke='%23704d25' stroke-width='2'/%3E%3C/svg%3E");}

.board-step[role=button]{cursor:pointer;}.board-step[role=button]:hover{border-color:#edbd52;}.board-step[role=button]:focus-visible{outline:3px solid #0a3c91;outline-offset:3px;}

#pilot-main .lesson-playback .lesson-ask::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M4 4h20v15H13l-7 5v-5H4Z' fill='%23edbd52' stroke='%23704d25' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");}.lesson-chat{width:100%;margin-top:14px;padding:12px;box-sizing:border-box;border-radius:18px;background:#eaf4ff;border:1px solid #cbdff1;}.lesson-chat[hidden]{display:none;}.lesson-chat label{display:grid;gap:8px;font-size:.85rem;font-weight:700;}.lesson-chat textarea{box-sizing:border-box;width:100%;resize:vertical;padding:10px;border:1px solid #c0d2e3;border-radius:14px;color:#173c61;background:white;font:inherit;font-size:.9rem;}.lesson-chat p{font-size:.8rem;line-height:1.4;}.lesson-chat button{min-height:40px;}
@media(max-width:600px){.classroom-slide:has(.lesson-chat:not([hidden])){grid-template-columns:minmax(0,1fr);}.classroom-slide:has(.lesson-chat:not([hidden])) .lesson-roji{grid-column:1;grid-row:auto;position:static;width:100%;}}

.lesson-chat-log{max-height:260px;overflow:auto;}.lesson-chat .lesson-chat-bubble{font-size:.9rem;line-height:1.5;padding:10px 12px;border-radius:16px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;}.lesson-chat-bubble.student{background:#0a3c91;color:white;border-bottom-right-radius:4px;}.lesson-chat-bubble.roji{background:#d9efff;color:#143c61;border-bottom-left-radius:4px;}

.lesson-chat-bubble.student{background:#0a3c91;color:#fff;}.lesson-chat-bubble.roji{background:#62bbff;color:#14334e;}.lesson-chat-bubble .katex{font-size:1.15em;}.lesson-chat-bubble{overflow-x:auto;}.lesson-chat-bubble>button{display:block;margin-top:8px;font-size:.75rem;padding:5px 10px;}

.lesson-chat-bubble.roji,.lesson-chat-bubble.roji .katex{color:#fff;}

.classroom-slide .lesson-roji canvas,.classroom-slide .lesson-roji img{transition:height .3s ease;}.classroom-slide .lesson-roji:has(.lesson-chat:not([hidden])) canvas,.classroom-slide .lesson-roji:has(.lesson-chat:not([hidden])) img{height:clamp(140px,17vw,210px);}.lesson-chat-log{max-height:340px;}@media(max-width:600px){.classroom-slide .lesson-roji:has(.lesson-chat:not([hidden])) canvas,.classroom-slide .lesson-roji:has(.lesson-chat:not([hidden])) img{height:110px;}}@media(prefers-reduced-motion:reduce){.classroom-slide .lesson-roji canvas,.classroom-slide .lesson-roji img{transition:none;}}

.student-assignment-card{display:flex;flex-direction:column;min-width:0;}.student-assignment-card .student-class-banner{min-height:115px;justify-content:center;}.student-assignment-card h2{margin:0;font-size:1.3rem;line-height:1.3;color:white;overflow-wrap:anywhere;}.student-assignment-card .student-class-:scope{flex:1;justify-content:space-between;}.student-assignment-card .student-math-icon{color:#edbd52;flex-shrink:0;}#pilot-main .student-assignment-card button{width:auto;align-self:flex-start;border-radius:12px;padding:10px 16px;min-height:44px;font-size:.9rem;}.student-assignment-grid{align-items:stretch;}

.assignment-step-count{display:block;margin-top:7px;color:#61758a;font-size:.8rem;}

.assignment-card-progress{display:block;width:100%;height:10px;margin-top:12px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e3edf7;}.assignment-card-progress::-webkit-progress-bar{background:#e3edf7;border-radius:999px;}.assignment-card-progress::-webkit-progress-value{background:#edbd52;border-radius:999px;}.assignment-card-progress::-moz-progress-bar{background:#edbd52;border-radius:999px;}

.assignment-card-percent{float:right;margin-left:12px;color:#0a3c91;font-weight:800;}

.word-wall-success{text-align:center;display:flex;flex-direction:column;align-items:center;padding:12px 0;}.word-wall-success h2,.word-wall-success p{width:100%;text-align:center;}.word-wall-success button{align-self:center;min-width:130px;}

.word-confetti[popover]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;pointer-events:none;}.word-confetti[popover]::backdrop{background:transparent;pointer-events:none;}@keyframes word-confetti-fall{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--drift),105vh) rotate(650deg);opacity:0}}

/* Shared lesson reward badge beneath the lesson heading. */
#pilot-main .lesson-points{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;max-width:100%;margin:10px auto 18px;padding:9px 18px;border:1px solid #f5d274;border-radius:999px;background:#fff7df;color:#0a3c91;font-size:16px;font-weight:750;box-shadow:0 3px 0 #f5d27440}
#pilot-main .lesson-points-star{color:#e7a600;font-size:25px;line-height:1;text-shadow:0 1px 0 #b87c00}
#pilot-main .lesson-points #activity-score{margin:0;color:inherit;font:inherit}
@media(max-width:600px){#pilot-main .lesson-points{font-size:14px;padding:7px 14px;margin-bottom:14px}}

#pilot-main .lesson-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 18px}
#pilot-main .lesson-title-row h1{margin:0}
#pilot-main .lesson-title-row .lesson-points{margin:0;flex-shrink:0}

/* Keep the notification title and close control in one compact header. */
dialog.student-notification-dialog:has(>.roji-modal-close){padding:20px 24px 24px}
.student-notification-dialog>h2{margin:0 32px 16px;text-align:center;line-height:1.3}
.student-notification-dialog>.roji-modal-close{top:16px;right:14px;width:30px!important;min-width:30px;height:30px;min-height:30px;font-size:23px}

.teacher-sidebar nav .teacher-submenu-item{padding-left:28px;font-size:.9em}.teacher-sidebar nav .teacher-submenu-item .roji-menu-icon{width:20px;height:22px}

.teacher-students-submenu[hidden]{display:none}.teacher-students-submenu{display:grid;gap:3px}.teacher-sidebar .student-menu-chevron{margin-left:auto;transition:transform .2s}.teacher-sidebar [aria-expanded=true]>.student-menu-chevron{transform:rotate(180deg)}

.board-expression.board-expression-long{display:flex;flex-direction:column;gap:6px;font-size:clamp(1.15rem,2.6vw,2rem);overflow-wrap:anywhere;white-space:normal;text-align:center;letter-spacing:normal}.board-expression-long>span{max-width:100%}.factoring-vocab{background:#fff0bb;border-radius:4px;padding:0 3px;color:#123e88}

.factoring-animation{margin:16px 0;padding:18px;border:2px solid #bcd7ec;border-radius:18px;background:#fff}.factor-step-count{font-size:.85rem;color:#315b7e;margin:0}.factoring-animation h3{margin:8px 0;color:#123e88}.factor-before{font-size:1rem;color:#455e75;min-height:24px}.factor-equation{display:flex;align-items:center;justify-content:center;gap:14px;padding:24px 8px;min-height:120px;flex-wrap:wrap}.factor-outside{font-size:2rem;color:#153d78;background:#ffdb73;padding:12px;border-radius:14px}.factor-terms{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.factor-terms.has-factor{border-left:3px solid #315b7e;border-right:3px solid #315b7e;border-radius:20px;padding:12px}.factor-term{background:#fff6da;border:1px solid #dfc773;border-radius:12px;padding:12px;font-size:clamp(1rem,2.1vw,1.65rem);font-weight:700;color:#123e88}.factor-note{padding:12px;border-radius:10px;background:#eaf4fc;font-size:1rem!important}.factor-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.factor-controls button{width:auto!important;min-height:44px;font-size:.9rem;padding:8px 12px}.factor-motion{display:flex!important;align-items:center;gap:8px;margin-top:12px;font-size:.9rem}.factor-motion input{width:auto!important}@media(max-width:600px){.factoring-animation{padding:10px}.factor-equation{padding:12px 0;gap:8px}.factor-term{padding:8px}.factor-outside{font-size:1.4rem}.factor-controls button{font-size:.8rem}}

.factor-equations{flex-direction:column}.factor-equations .factor-term{font-size:clamp(1rem,1.8vw,1.5rem)}

.factor-placement{grid-column:1/-1;padding:20px;border-radius:18px;background:#f2f7ff;border:2px solid #bcd7ec}.placement-before{font-weight:700;font-size:1.3rem;text-align:center}.placement-equation,.placement-bank{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:18px 0}.placement-equation>span{font-size:1.4rem;font-weight:700}.factor-placement button{width:auto!important;min-height:48px;border-radius:14px}.placement-slot{border:2px dashed #40699d!important;background:white!important;color:#123e88!important;padding:14px;min-width:100px}.placement-slot.is-filled{border-style:solid!important;background:#fff1bf!important}.placement-tile{background:#ffdc76!important;color:#123e88!important;font-size:1.15rem;font-weight:700;cursor:grab;touch-action:manipulation}.placement-tile[aria-pressed=true]{outline:3px solid #123e88;outline-offset:3px}.placement-tile:disabled{opacity:.35}.placement-hint{font-size:.9rem}.factor-placement button:focus-visible{outline:3px solid #123e88;outline-offset:3px}@media(max-width:600px){.factor-placement{padding:12px}.placement-slot{min-width:80px;padding:10px}.placement-before{font-size:1.05rem}}

.factor-style{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;font-size:.85rem}.factor-style select{width:auto!important;max-width:180px}.handwritten-math{height:auto;max-width:100%;overflow:visible;fill:none;stroke:#123e88;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.handwritten-math text{fill:#123e88;stroke:none;font-family:'Comic Sans MS','Chalkboard SE',cursive;font-size:36px}.is-handwriting .factor-term{background:transparent;border:0;padding:6px}.is-handwriting .factor-equation{background:repeating-linear-gradient(white,white 39px,#e7eef7 40px);border-radius:12px}.is-handwriting .factor-outside{background:#fff1bf}.is-handwriting .factor-terms.has-factor{border-color:#123e88}

/* Compact, accessible student question controls. */
.lesson-chat .lesson-composer-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;position:relative;margin-top:8px}
.lesson-chat .lesson-composer-controls>button{width:44px;min-width:44px;height:44px;padding:10px;flex:0 0 44px;border:2px solid #235580;border-radius:15px;background:#edf5fb;color:#b78013;box-shadow:0 3px 0 #c2d5e4}
.lesson-chat .lesson-composer-controls svg{width:22px;height:22px;display:block}
.lesson-chat .lesson-composer-controls>button[aria-pressed=true]{background:#ffe4b1;color:#a33232}
.lesson-chat .lesson-composer-controls button:disabled{opacity:.45;cursor:not-allowed}
.lesson-chat .lesson-composer-controls button:focus-visible{outline:3px solid #eab83f;outline-offset:3px}
.lesson-chat .composer-symbols:not([hidden]){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;position:absolute;bottom:56px;right:0;width:min(310px,100%);padding:10px;box-sizing:border-box;background:white;border:2px solid #235580;border-radius:16px;box-shadow:0 5px 20px #17324d30;z-index:5}
.lesson-chat .composer-symbols button{min-width:0;width:100%;min-height:40px;margin:0;padding:4px;border-radius:9px;background:#f6f0df;color:#234f75;font-size:20px}

.factor-term.math-cancelled{position:relative}.math-cancelled::after,.math-cancel-stroke{content:"";position:absolute;left:0;right:0;top:50%;height:3px;background:currentColor;transform:rotate(-12deg);pointer-events:none}.math-cancelled:has(.math-cancel-stroke)::after{display:none}.math-cancel-stroke{transform-origin:left center}

.factor-terms.inverse-operation-grid{display:grid;grid-template-columns:max-content max-content max-content max-content;grid-template-rows:auto auto;gap:6px 10px;align-items:center;justify-content:center;max-width:100%}
.inverse-operation-grid .factor-term{font-size:clamp(1rem,2vw,1.6rem);white-space:nowrap;background:transparent;border:0;padding:5px;text-align:center;min-width:0}
.inverse-operation-grid .handwritten-math{height:46px;width:auto;max-width:100%}
.inverse-operation-grid.inverse-division .factor-term:nth-child(5),.inverse-operation-grid.inverse-division .factor-term:nth-child(6){border-top:2px solid #123e88;border-radius:0;align-self:stretch}
@media(max-width:600px){.factor-terms.inverse-operation-grid{gap:4px}.inverse-operation-grid .handwritten-math{height:32px}.inverse-operation-grid .factor-term{padding:3px}}

.lesson-stage-track{display:flex;gap:10px;margin-top:12px;align-items:stretch}.lesson-stage{flex-basis:0;min-width:0;border-top:3px solid var(--stage-color);padding:8px 5px;border-radius:8px}.lesson-stage.is-current{background:#f1f5fa;outline:1px solid #d6e1ed}.lesson-stage-checkpoint{color:var(--stage-color);font-size:.85rem;font-weight:800;text-align:center}.lesson-stage-checkpoint small{display:block;font-size:.7rem;font-weight:600;color:#39516b}.lesson-stage-nodes{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:9px}.lesson-stage .lesson-milestone{border-color:var(--stage-color);color:var(--stage-color)}.lesson-stage .lesson-milestone.is-complete{background:var(--stage-color);color:white}.lesson-stage .lesson-milestone.is-current{outline:3px solid #efbf4c;outline-offset:2px}@media(max-width:520px){.lesson-stage-track{gap:5px}.lesson-stage-checkpoint{font-size:.72rem}.lesson-stage{padding:7px 2px}.lesson-stage-nodes{gap:6px}}

.factor-terms.substitution-equation{flex-direction:row;gap:3px}.substitution-equation .factor-term{padding:3px}.substitution-equation .handwritten-math{height:38px;width:auto}.factor-term.substitution-variable{background:#dfeeff!important;border:2px solid #235da4!important;border-radius:8px}.factor-term.substitution-value{background:#ffe5a0!important;border:2px solid #9b690d!important;border-radius:8px}

#activity-feedback.guided-correct{display:block;padding:16px 20px;margin:18px 0;border:2px solid #25804a;border-radius:16px;background:#e9f8ee;color:#165b32;font-size:1.15rem;font-weight:750;box-shadow:0 3px 0 #cbe8d5} @media(prefers-reduced-motion:no-preference){#activity-feedback.guided-correct{animation:guided-confirm .35s ease-out}}@keyframes guided-confirm{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Equations stay intact; only intentional working rows stack. */
.lesson-whiteboard,.factoring-animation,.factor-placement{min-width:0;max-width:100%;box-sizing:border-box}
.board-expression,.board-expression.board-expression-long,.factor-equation,.placement-equation{flex-wrap:nowrap;white-space:nowrap;overflow-wrap:normal;overflow-x:auto;max-width:100%;justify-content:safe center}
.board-expression.board-expression-long{flex-direction:row}
.board-expression>span,.factor-equation>*,.placement-equation>*{flex-shrink:0}
.board-expression-long>span{max-width:none}
.factor-terms:not(.inverse-operation-grid){flex-wrap:nowrap;flex-direction:row;white-space:nowrap;max-width:none}
.factor-term,.placement-before,.placement-equation>span,.placement-slot,.lesson-chat-bubble .katex{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.placement-before{overflow-x:auto;max-width:100%}

/* Center the written response below the lesson board. */
.classroom-slide #student-answer:not(.factor-placement){grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(100%,560px);margin:20px auto 8px;box-sizing:border-box}
.classroom-slide #student-answer:not(.factor-placement)>label{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;text-align:center;font-weight:750;color:#123e88}
.classroom-slide #student-answer:not(.factor-placement) textarea,.classroom-slide #student-answer:not(.factor-placement) input,.classroom-slide #student-answer:not(.factor-placement) select{width:100%;box-sizing:border-box;border:2px solid #bcd7ec;border-radius:15px;background:#fff;padding:14px;font:inherit;text-align:left;min-width:0}
.classroom-slide #student-answer:not(.factor-placement)>button{width:auto;min-width:150px;max-width:100%;align-self:center;border-radius:14px;padding:11px 22px}
.classroom-slide #student-answer:not(.factor-placement)+#activity-feedback{grid-column:1/-1;width:fit-content;max-width:100%;box-sizing:border-box;margin:10px auto;text-align:center}

.lesson-results{max-width:800px;margin:0 auto;padding:24px;background:white;border-radius:22px}.lesson-results>h1,.lesson-results>h2{text-align:center}.lesson-results section{padding:18px;margin:16px 0;border-radius:16px;background:#f1f6fc}.lesson-results article{padding:14px;border-bottom:1px solid #c9d9e9}.lesson-results button{width:auto;margin:8px;padding:12px 20px}

#lesson-reflection{display:flex;flex-direction:column;align-items:center;gap:12px;margin:20px auto;max-width:560px}#lesson-reflection textarea{width:100%;box-sizing:border-box;border:2px solid #bcd7ec;border-radius:14px;padding:14px;font:inherit}#lesson-reflection label{font-weight:750;color:#123e88}#lesson-reflection [role=status]{text-align:center}

.assignment-tabs{display:flex;justify-content:center;gap:8px;margin:18px 0 24px}.assignment-tabs button{width:auto;min-width:120px;padding:12px 20px;border:2px solid #bcd7ec;border-radius:14px;background:white;color:#123e88;font-weight:750}.assignment-tabs button[aria-selected="true"]{background:#123e88;color:white;border-color:#123e88;box-shadow:0 3px 0 #e5b442}.assignment-tabs button:focus-visible{outline:3px solid #e5b442;outline-offset:3px}

.assignment-stars{display:flex;justify-content:center;gap:10px;font-size:2.4rem;color:#a1afbe;line-height:1.2;margin:8px 0}.assignment-stars .earned{color:#bd8314;text-shadow:0 1px 0 #ffe5a0}.assignment-star-caption,.assignment-stars-pending{text-align:center;font-size:.85rem;color:#39516b;margin:8px 0 14px}

.completed-sort{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 20px;color:#123e88;font-weight:650}.completed-sort select{width:auto;max-width:100%;border:2px solid #bcd7ec;border-radius:12px;padding:10px;background:white;color:#123e88}@media(max-width:520px){.completed-sort{justify-content:center}}

}
