:root{--color-forest: #1b4d2e;--color-frog: #6ba336;--color-accent-red: #c41e3a;--color-cream: #fdf9f3;--color-ink: #1a1a1b;--color-brown: #5c3d2e;--shadow: 0 24px 60px rgba(27, 77, 46, .2);--progress-not-started-fg: #4a6358;--progress-not-started-bg: rgba(143, 168, 138, .22);--progress-not-started-border: rgba(143, 168, 138, .48);--progress-not-started-chart: #8fa88a;--progress-in-progress-fg: #1e4a72;--progress-in-progress-bg: rgba(91, 143, 212, .2);--progress-in-progress-border: rgba(91, 143, 212, .48);--progress-in-progress-chart: #5b8fd4;--progress-needs-help-fg: #9a3412;--progress-needs-help-bg: rgba(240, 160, 48, .22);--progress-needs-help-border: rgba(240, 160, 48, .52);--progress-needs-help-chart: #f0a030;--progress-complete-fg: #14532d;--progress-complete-bg: rgba(34, 168, 90, .22);--progress-complete-border: rgba(34, 168, 90, .52);--progress-complete-chart: #22a85a;--app-sidebar-collapsed-width: 4.25rem;--app-sidebar-toggle-width: 2.65rem;--app-sidebar-toggle-offset: calc( (var(--app-sidebar-collapsed-width) - var(--app-sidebar-toggle-width)) / 2 );font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.5;color:var(--color-ink);background:radial-gradient(120% 100% at 50% 0%,#f4efe6 0%,var(--color-cream) 45%,#e8f0e4 100%);min-height:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}.page{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem 3rem}.card{width:min(36rem,100%);background:var(--color-cream);border:4px solid var(--color-forest);border-radius:1.75rem;padding:2rem 2rem 2.25rem;text-align:center;box-shadow:var(--shadow)}.logo{width:min(280px,72vw);height:auto;border-radius:999px;border:6px solid var(--color-forest);box-shadow:0 12px 30px #1a1a1b2e}.eyebrow{margin:1.25rem 0 .35rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brown);font-weight:600}h1{margin:0;font-size:clamp(1.85rem,4vw,2.35rem);color:var(--color-forest);letter-spacing:-.02em}.lede{margin:1rem 0 .75rem;font-size:1.05rem;color:var(--color-ink)}.domain{color:var(--color-frog);font-weight:700}.fineprint{margin:0;font-size:.95rem;color:#1a1a1bc7;border-top:1px solid rgba(27,77,46,.18);padding-top:1rem}.fineprint:before{content:"";display:block;width:3rem;height:3px;margin:0 auto 1rem;background:linear-gradient(90deg,var(--color-forest),var(--color-frog),var(--color-accent-red));border-radius:999px}.site-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(27,77,46,.18)}.site-footer-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;font-size:.85rem}.site-footer-links a{color:var(--color-forest);font-weight:600;text-decoration:none}.site-footer-links a:hover{text-decoration:underline}.site-footer-links span{color:#1a1a1b66}.support-contact-hint{margin:0 0 .65rem;font-size:.88rem;text-align:center;color:#1a1a1bb8}.support-contact-hint a{color:var(--color-forest);font-weight:600;text-decoration:none}.support-contact-hint a:hover{text-decoration:underline}.legal-page{place-items:start center}.legal-card{width:min(52rem,100%);text-align:left}.legal-title{margin:.5rem 0 .35rem;text-align:left}.legal-effective{margin:0 0 1rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--color-brown)}.legal-lede{margin:0 0 1.5rem;font-size:1.02rem;line-height:1.6;color:#1a1a1bd9}.legal-body{display:flex;flex-direction:column;gap:1.5rem}.legal-section h2{margin:0 0 .5rem;font-size:1.2rem;color:var(--color-forest);letter-spacing:-.01em}.legal-section h3{margin:1rem 0 .35rem;font-size:1rem;color:var(--color-brown)}.legal-section p{margin:0 0 .65rem;line-height:1.6;color:#1a1a1be0}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:0 0 .65rem;padding-left:1.35rem;line-height:1.6}.legal-section li{margin-bottom:.4rem;color:#1a1a1be0}.legal-section a{color:var(--color-forest);font-weight:600;text-decoration:underline;text-underline-offset:.12em}.legal-section code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em;padding:.05rem .35rem;border-radius:.35rem;background:#1b4d2e14}.legal-footer{margin-top:1.75rem;padding-top:1.1rem;border-top:1px solid rgba(27,77,46,.18)}.legal-footer-links{display:flex;flex-wrap:wrap;gap:1.1rem;font-size:.9rem;margin-bottom:.5rem}.legal-footer-links a{color:var(--color-forest);font-weight:700;text-decoration:none}.legal-footer-links a:hover{text-decoration:underline}.legal-footer-operator{margin:0 0 .45rem;font-size:.82rem;color:#1a1a1bad}.legal-footer-note{margin:0;font-size:.82rem;color:#1a1a1b99}.page-align-start{place-items:start center}.card-wide{width:min(44rem,100%);text-align:left}.row-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.row-header h1{margin:0}.teacher-main-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:.4rem;background:#6ba3361f;border-radius:12px;border:2px solid rgba(27,77,46,.2)}.teacher-main-nav-link{flex:1 1 auto;text-align:center;padding:.65rem 1rem;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;color:var(--color-forest);background:#fdf9f3a6;border:2px solid transparent;transition:background .15s ease,border-color .15s ease}.teacher-main-nav-link:hover{background:var(--color-cream);border-color:#1b4d2e40}.teacher-main-nav-link.is-active{background:var(--color-cream);border-color:var(--color-forest);box-shadow:0 2px 8px #1b4d2e1f}.actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1.25rem}.actions.inline{margin-top:0;justify-content:flex-end}.home-actions{flex-direction:column;align-items:stretch}.home-actions-teacher{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:22rem;margin-left:auto;margin-right:auto}@media(min-width:480px){.home-actions-teacher{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:none}.home-actions-teacher .btn{flex:1 1 auto;min-width:11rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1.15rem;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;border:3px solid var(--color-forest);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--color-frog),#8bc34a);color:var(--color-ink);box-shadow:0 10px 22px #6ba33659}.btn.primary:not(:disabled):hover{transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--color-forest)}.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em;padding:.05rem .35rem;border-radius:.35rem;background:#1b4d2e14}.inline-code.wrap{word-break:break-all}.warn-banner{text-align:left;background:#c41e3a14;border:2px solid rgba(196,30,58,.35);border-radius:1rem;padding:.85rem 1rem;font-size:.95rem}.stack-form{display:flex;flex-direction:column;gap:.85rem}.stack-form.tight{gap:.65rem}.field{display:flex;flex-direction:column;gap:.35rem;text-align:left}.field-label{font-size:.88rem;font-weight:700;color:var(--color-brown)}.input{width:100%;padding:.55rem .75rem;border-radius:.75rem;border:2px solid rgba(27,77,46,.28);font-size:1rem;font-family:inherit;background:#fffefc}.input:focus{outline:3px solid rgba(107,163,54,.35);border-color:var(--color-frog)}textarea.input{resize:vertical;min-height:4rem}textarea.input.auto-resize-textarea{resize:none;min-height:0;overflow-y:hidden;field-sizing:content}textarea.auto-resize-textarea.teacher-code-area,textarea.auto-resize-textarea.teacher-code-area-sm{min-height:0}input.input:not([type=checkbox]):not([type=radio]),select.input{min-height:2.75rem;line-height:1.25;box-sizing:border-box}select.input{cursor:pointer}.class-list{list-style:none;margin:0;padding:0}.class-list-item{padding:.85rem 0;border-bottom:1px solid rgba(27,77,46,.12)}.class-list-item:last-child{border-bottom:none}.class-list-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem}.class-list-head .badge{margin-left:0}.badge-muted{background:#1a1a1b1f;color:#1a1a1bb8}.mono.wrap{word-break:break-all}.btn.secondary.danger{border-color:#c41e3a8c;color:var(--color-accent-red)}.muted{color:#1a1a1bb8}.muted.small{font-size:.92rem}.panel{margin-top:1.25rem;padding:1rem 1.15rem;border-radius:1rem;border:2px solid rgba(27,77,46,.15);background:#fdf9f3a6}.panel-title{margin:0 0 .5rem;font-size:1rem;color:var(--color-forest)}.badge{display:inline-block;margin-left:.35rem;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.badge-teacher{background:#1b4d2e26;color:var(--color-forest)}.badge-student{background:#6ba33638;color:var(--color-brown)}.signed-in-hint{margin:0 0 .35rem;font-size:.98rem}.role-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin-top:1.25rem}.role-tile{text-align:left;padding:1.1rem 1.15rem;border-radius:1.2rem;border:3px solid rgba(27,77,46,.35);background:var(--color-cream);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.role-tile:hover{border-color:var(--color-frog);box-shadow:0 12px 28px #1b4d2e1f}.role-title{display:block;font-weight:800;font-size:1.15rem;color:var(--color-forest);margin-bottom:.35rem}.role-desc{font-size:.92rem;color:#1a1a1bc7}.ide-page{--ide-editor-bg: #fffcf7;--ide-editor-fg: #1a1a1b;--ide-console-bg: linear-gradient(180deg, #10141d 0%, #0a0d14 100%);--ide-console-fg: #e8eef9;--ide-console-muted: rgba(210, 222, 244, .74);--ide-console-border: rgba(133, 167, 255, .18);min-height:100vh;padding:.85rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem;max-width:1200px;margin:0 auto}.ide-page--full{max-width:none}.ide-page--themed{position:relative;isolation:isolate;background:var(--ide-immersive-bg, transparent);max-width:none}.ide-page--themed:not(.ide-page--full)>.ide-header,.ide-page--themed:not(.ide-page--full)>.ide-account,.ide-page--themed:not(.ide-page--full)>.ide-banner,.ide-page--themed:not(.ide-page--full)>.ide-assignment-progress,.ide-page--themed:not(.ide-page--full)>.ide-panels{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.ide-immersive-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;pointer-events:none}.ide-immersive-watermark{margin-left:-14%;font-size:min(62vmin,560px);line-height:1;color:var(--ide-immersive-watermark, #ffffff);opacity:.12;transform:rotate(-8deg);filter:drop-shadow(0 10px 28px rgba(0,0,0,.2))}.ide-page--themed>.ide-header,.ide-page--themed>.ide-account,.ide-page--themed>.ide-banner,.ide-page--themed>.ide-assignment-progress,.ide-page--themed>.ide-panels{position:relative;z-index:1}.ide-page--themed .ide-eyebrow,.ide-page--themed .ide-title,.ide-page--themed .ide-back,.ide-page--themed .ide-status{color:var(--ide-immersive-fg)}.ide-page--themed .ide-save-status--saved{color:var(--ide-immersive-fg);background:var(--ide-immersive-btn-bg);border-color:color-mix(in srgb,var(--ide-immersive-fg) 28%,transparent)}.ide-page--themed .ide-save-status--unsaved,.ide-page--themed .ide-save-status--error{color:var(--ide-immersive-fg);background:color-mix(in srgb,var(--color-accent-red) 16%,var(--ide-immersive-btn-bg));border-color:color-mix(in srgb,var(--color-accent-red) 40%,transparent)}.ide-page--themed .ide-save-status--saving{color:var(--ide-immersive-fg);background:var(--ide-immersive-btn-bg);border-color:color-mix(in srgb,var(--ide-immersive-fg) 22%,transparent)}.ide-page--themed .ide-account,.ide-page--themed .ide-account.muted{color:var(--ide-immersive-muted)}.ide-page--themed .ide-back:hover{color:var(--ide-immersive-fg);text-decoration:underline}.ide-page--themed .ide-header-actions .btn.secondary{border-color:var(--ide-immersive-fg);color:var(--ide-immersive-fg);background:var(--ide-immersive-btn-bg)}.ide-page--themed .ide-header-actions .btn.secondary:not(:disabled):hover{background:var(--ide-immersive-btn-bg-hover)}.ide-page--intro{animation:ideIntroSettle .7s ease both}.ide-page--intro .ide-immersive-bg{animation:ideImmersiveWash .62s ease-out both}.ide-page--intro .ide-header,.ide-page--intro .ide-account,.ide-page--intro .ide-banner,.ide-page--intro .ide-panels{animation:idePanelRise .56s cubic-bezier(.2,.7,.2,1) both}.ide-page--intro .ide-panels{animation-delay:.12s}@keyframes ideIntroSettle{0%{filter:saturate(1.18) brightness(1.04)}to{filter:saturate(1) brightness(1)}}@keyframes ideImmersiveWash{0%{clip-path:circle(0% at 50% 42%);opacity:0}to{clip-path:circle(150% at 50% 42%);opacity:1}}@keyframes idePanelRise{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ide-page--intro,.ide-page--intro .ide-immersive-bg,.ide-page--intro .ide-header,.ide-page--intro .ide-account,.ide-page--intro .ide-banner,.ide-page--intro .ide-panels{animation:none}}.ide-page--arrive .ide-header,.ide-page--arrive .ide-account,.ide-page--arrive .ide-banner,.ide-page--arrive .ide-assignment-progress,.ide-page--arrive .ide-panels{animation:idePanelRise .52s cubic-bezier(.2,.7,.2,1) both}.ide-page--arrive .ide-panels{animation-delay:90ms}@media(prefers-reduced-motion:reduce){.ide-page--arrive .ide-header,.ide-page--arrive .ide-account,.ide-page--arrive .ide-banner,.ide-page--arrive .ide-assignment-progress,.ide-page--arrive .ide-panels{animation:none}}.ide-immersive-splash{align-items:center;justify-content:center}.ide-immersive-splash-label{position:relative;z-index:1;margin:0;font-size:1.05rem;font-weight:600;color:var(--ide-immersive-fg)}.lesson-launch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;pointer-events:none}.lesson-launch-overlay[data-phase=in]{animation:launchOverlayIn .34s ease both}.lesson-launch-overlay[data-phase=out]{animation:launchOverlayOut .46s ease both}.lesson-launch-overlay-icon{margin-left:-12%;font-size:min(48vmin,400px);line-height:1;opacity:.22;filter:drop-shadow(0 12px 30px rgba(0,0,0,.25))}.lesson-launch-overlay[data-phase=in] .lesson-launch-overlay-icon{animation:launchIconIn .34s cubic-bezier(.2,.7,.2,1) both}.lesson-launch-overlay[data-phase=out] .lesson-launch-overlay-icon{animation:launchIconOut .46s ease both}@keyframes launchOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes launchOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes launchIconIn{0%{transform:translate(-6%) scale(.55) rotate(-8deg);opacity:0}to{transform:translate(-12%) scale(1) rotate(-8deg);opacity:.22}}@keyframes launchIconOut{0%{transform:translate(-12%) scale(1) rotate(-8deg);opacity:.22}to{transform:translate(-18%) scale(1.45) rotate(-8deg);opacity:.14}}@media(prefers-reduced-motion:reduce){.lesson-launch-overlay,.lesson-launch-overlay-icon{animation:none}}.ide-assignment-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(27,77,46,.14);background:#fffcf7f2}.ide-assignment-progress--complete{border-color:var(--progress-complete-border);background:var(--progress-complete-bg)}.ide-assignment-progress--needs_help{border-color:var(--progress-needs-help-border);background:var(--progress-needs-help-bg)}.ide-assignment-progress--in_progress{border-color:var(--progress-in-progress-border);background:var(--progress-in-progress-bg)}.ide-assignment-progress--not_started{border-color:var(--progress-not-started-border);background:var(--progress-not-started-bg)}.ide-page--themed .ide-assignment-progress{background:var(--color-cream, #fffcf7)}.ide-page--themed .ide-assignment-progress--complete{background:linear-gradient(var(--progress-complete-bg),var(--progress-complete-bg)),var(--color-cream, #fffcf7)}.ide-page--themed .ide-assignment-progress--needs_help{background:linear-gradient(var(--progress-needs-help-bg),var(--progress-needs-help-bg)),var(--color-cream, #fffcf7)}.ide-page--themed .ide-assignment-progress--in_progress{background:linear-gradient(var(--progress-in-progress-bg),var(--progress-in-progress-bg)),var(--color-cream, #fffcf7)}.ide-page--themed .ide-assignment-progress--not_started{background:linear-gradient(var(--progress-not-started-bg),var(--progress-not-started-bg)),var(--color-cream, #fffcf7)}.ide-assignment-progress-chip{flex-shrink:0}.ide-assignment-progress-hint{margin:0;flex:1 1 14rem;font-size:.88rem;color:var(--color-brown);line-height:1.45}.progress-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .62rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.3;border:1px solid transparent}.progress-chip-emoji{font-size:.95rem;line-height:1;text-transform:none;letter-spacing:0}.progress-chip-label{line-height:1.2}.progress-chip--not_started{color:var(--progress-not-started-fg);background:var(--progress-not-started-bg);border-color:var(--progress-not-started-border)}.progress-chip--in_progress{color:var(--progress-in-progress-fg);background:var(--progress-in-progress-bg);border-color:var(--progress-in-progress-border)}.progress-chip--needs_help{color:var(--progress-needs-help-fg);background:var(--progress-needs-help-bg);border-color:var(--progress-needs-help-border)}.progress-chip--complete{color:var(--progress-complete-fg);background:var(--progress-complete-bg);border-color:var(--progress-complete-border)}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none}.ide-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem}.ide-header-left{display:flex;flex-direction:column;gap:.35rem}.ide-back{font-size:.95rem;font-weight:600;color:var(--color-forest);text-decoration:none}.ide-back:hover{text-decoration:underline}.ide-title-block{margin:0}.ide-eyebrow{margin:0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brown);font-weight:700}.ide-title{margin:0;font-size:1.4rem;color:var(--color-forest);letter-spacing:-.02em}.ide-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ide-save-status-wrap{display:inline-flex;align-items:center;gap:.35rem;margin-right:.25rem}.ide-save-status{display:inline-flex;align-items:center;justify-content:center;width:10.5rem;padding:.28rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1.5px solid transparent;box-sizing:border-box;white-space:nowrap}.ide-save-status--saved{color:#4a5d3af2;background:#1b4d2e14;border-color:#1b4d2e29}.ide-save-status--unsaved{color:var(--color-accent-red);background:#c41e3a14;border-color:#c41e3a2e}.ide-save-status--saving{color:var(--color-brown);background:#1b4d2e0f;border-color:#1b4d2e1f}.ide-save-status--error{color:var(--color-accent-red);background:#c41e3a14;border-color:#c41e3a38}.ide-save-retry{padding:.35rem .65rem;font-size:.8rem}.ide-btn{padding:.55rem 1rem;font-size:.95rem}.ide-btn.tight{padding:.55rem .85rem}.ide-status{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-right:.35rem;color:var(--color-brown)}.ide-status--loading{color:var(--color-accent-red)}.ide-status--running,.ide-status--awaiting_input{color:var(--color-frog)}.ide-status--ready{color:var(--color-forest)}.ide-account,.ide-banner{margin:0}.ide-panels{flex:1;display:grid;grid-template-columns:1fr;gap:.75rem;min-height:min(68vh,720px)}@media(min-width:900px){.ide-panels{grid-template-columns:1fr 1fr}}.ide-editor-panel,.ide-console-panel{display:flex;flex-direction:column;min-height:280px;border-radius:1rem;border:3px solid rgba(27,77,46,.22);background:var(--color-cream);overflow:hidden;box-shadow:0 12px 28px #1b4d2e14}.ide-panel-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-brown);padding:.45rem .65rem;border-bottom:1px solid rgba(27,77,46,.12);background:#1b4d2e0a}.ide-console-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--ide-console-border);background:#ffffff08}.ide-output-tabs{display:inline-flex;align-items:stretch;gap:.35rem;padding:.35rem .45rem}.ide-output-tab{border:none;border-radius:.45rem;padding:.35rem .65rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:transparent;color:var(--ide-console-muted)}.ide-output-tab--active{background:#8cffaa24;color:#e0ebfff2}.ide-output-panel-body{flex:1;display:flex;flex-direction:column;min-height:0}.ide-output-panel-body[hidden]{display:none}.ide-turtle-panel{overflow:auto;padding:.65rem;background:#ffffff0a}.ide-turtle-stage{width:fit-content;max-width:100%;margin:0 auto}.ide-turtle-stage svg{display:block;max-width:100%;height:auto;border-radius:.5rem;background:#fff;box-shadow:0 8px 24px #00000059}.ide-turtle-empty{margin:0;padding:1rem .5rem;text-align:center}.ide-console-head .ide-panel-label{border-bottom:none;background:transparent;padding-right:0;color:#e0ebffe0}.ide-console-option{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;font-size:.76rem;font-weight:700;color:var(--ide-console-muted)}.ide-console-option input{margin:0;accent-color:#8cffaa}.ide-editor-mount{flex:1;min-height:220px}.ide-console-panel{background:var(--ide-console-bg);color:var(--ide-console-fg);border-color:#7897ff33;box-shadow:0 16px 34px #05080e66}.ide-console-output{flex:1;margin:0;padding:.65rem .75rem;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--ide-console-fg);text-shadow:0 0 10px rgba(117,199,255,.06)}.ide-console-line--stderr{color:#ff8f8f}.ide-console-line--info{color:#8ddcff;font-style:italic}.ide-console-input-row{padding:.65rem .75rem .85rem;border-top:1px solid var(--ide-console-border);background:#ffffff0a}.ide-input-label{display:block;font-size:.88rem;font-weight:600;color:#e0ebffe6;margin-bottom:.35rem}.ide-input-inline{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.ide-input-field.input-rounded{flex:1;min-width:min(100%,12rem);padding:.55rem .75rem;border-radius:.75rem;border:2px solid rgba(140,175,255,.26);font-size:1rem;background:#0b111ceb;color:var(--ide-console-fg)}.ide-input-field:focus{outline:3px solid rgba(111,189,255,.24);border-color:#7fd8ff}.ide-input-hint{margin:.4rem 0 0;color:var(--ide-console-muted)}.ide-panels .ide-tour-panel{grid-column:1 / -1}.quick-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem}.quick-mode-switch{display:inline-flex;gap:.2rem;padding:.2rem;background:#1b4d2e14;border-radius:.7rem}.quick-mode-btn{border:none;background:transparent;cursor:pointer;padding:.4rem .95rem;border-radius:.55rem;font-size:.85rem;font-weight:700;color:var(--color-brown)}.quick-mode-btn.is-active{background:var(--color-cream);color:var(--color-forest);box-shadow:0 1px 3px #1b4d2e2e}.quick-mode-hint{flex:1;min-width:8rem}.quick-save-btn{margin-left:auto}.quick-mobile-tabs{display:none;gap:.4rem}.quick-mobile-tab{flex:1;border:2px solid rgba(27,77,46,.18);background:var(--color-cream);color:var(--color-brown);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .5rem;border-radius:.7rem;cursor:pointer}.quick-mobile-tab.is-active{background:var(--color-forest);color:var(--color-cream);border-color:var(--color-forest)}@media(min-width:900px){.ide-panels.quick-panels.quick-panels--simple{grid-template-columns:1.5fr 1fr}.ide-panels.quick-panels.quick-panels--advanced{grid-template-columns:minmax(180px,230px) 1.5fr 1fr}}@media(max-width:899px){.quick-mobile-tabs{display:flex}.ide-panels.quick-panels{min-height:0}.ide-panels.quick-panels>section{display:none;min-height:min(64vh,560px)}.ide-panels.quick-panels[data-mobile-tab=code] .quick-editor-panel,.ide-panels.quick-panels[data-mobile-tab=files] .playground-files-panel,.ide-panels.quick-panels[data-mobile-tab=console] .ide-console-panel{display:flex}}.quick-script-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.quick-script-cta-text{flex:1;min-width:14rem;margin:0}@media(min-width:900px){.ide-panels.playground-panels{grid-template-columns:minmax(200px,260px) 1.6fr 1fr}.ide-panels.playground-panels--files-collapsed{grid-template-columns:2.5rem 1.6fr 1fr}.ide-panels.playground-panels.playground-panels--resizable{gap:0}.playground-panel-splitter{position:relative;z-index:2;width:6px;margin:0;padding:0;border:none;border-radius:.35rem;background:transparent;cursor:col-resize;touch-action:none;align-self:stretch;min-height:0}.playground-panel-splitter:after{content:"";position:absolute;top:.65rem;right:2px;bottom:.65rem;left:2px;border-radius:999px;background:#1b4d2e1f;transition:background .12s ease}.playground-panel-splitter:hover:after,.playground-panel-splitter.is-active:after,.playground-panel-splitter:focus-visible:after{background:#1b4d2e57}.playground-panel-splitter:focus-visible{outline:2px solid rgba(27,77,46,.45);outline-offset:1px}.playground-panels--resizable .ide-editor-panel,.playground-panels--resizable .ide-console-panel,.playground-panels--resizable .playground-files-panel{min-width:0}}.playground-files-panel{min-height:220px}.playground-files-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.playground-files-actions{display:inline-flex;align-items:center;gap:.35rem}.playground-files-action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border:none;border-radius:.45rem;background:none;cursor:pointer;color:var(--color-brown);font-size:.82rem}.playground-files-action:hover{background:#1b4d2e1f;color:var(--color-forest)}.playground-files-panel--collapsed{min-height:0;align-items:stretch}.playground-files-expand{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.6rem .2rem;border:none;background:#1b4d2e0a;cursor:pointer;color:var(--color-brown)}.playground-files-expand:hover{background:#1b4d2e1a;color:var(--color-forest)}.playground-files-expand-label{writing-mode:vertical-rl;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.playground-file-list{flex:1;list-style:none;margin:0;padding:.35rem;overflow-y:auto}.playground-file-list.is-root-drop-target{box-shadow:inset 0 0 0 2px #6ba33680;border-radius:.6rem}.playground-file-row{display:flex;align-items:center;gap:.25rem;border-radius:.55rem;position:relative}.playground-file-row.is-active{background:#6ba33629}.playground-file-row.is-drop-target{background:#6ba33638;box-shadow:inset 0 0 0 1.5px #6ba33699}.playground-file-row[draggable=true]{cursor:grab}.playground-file-row--root{margin-bottom:.1rem}.playground-file-open{flex:1;min-width:0;display:inline-flex;align-items:center;gap:.3rem;text-align:left;background:none;border:none;cursor:pointer;padding:.32rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;color:var(--color-forest);overflow:hidden}.playground-file-chevron{flex-shrink:0;font-size:.62rem;color:var(--color-brown);opacity:.7;width:.7rem}.playground-file-chevron-spacer{flex-shrink:0;width:.7rem}.playground-file-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.playground-file-icon{flex-shrink:0;font-size:.78rem;color:var(--color-brown);opacity:.85}.playground-file-icon--folder{color:var(--color-forest);opacity:.9}.playground-file-row.is-active .playground-file-icon{color:var(--color-forest)}.playground-file-row.is-target-folder{background:#1b4d2e14}.playground-file-row.is-target-folder .playground-file-open--folder{font-weight:600}.playground-file-row.is-active .playground-file-open{font-weight:700}.playground-file-actions{display:inline-flex;gap:.25rem;padding-right:.25rem;opacity:0;transition:opacity .12s ease}.playground-file-row:hover .playground-file-actions,.playground-file-row:focus-within .playground-file-actions{opacity:1}.playground-file-action{background:none;border:none;cursor:pointer;padding:.2rem .3rem;font-size:.72rem;color:var(--color-brown);border-radius:.4rem}.playground-file-action:hover{background:#1b4d2e1a;color:var(--color-forest)}.playground-file-action--danger:hover{background:#b03a2e1f;color:#b03a2e}.playground-file-new-row{padding-top:.1rem;padding-bottom:.1rem}.playground-file-new-input{flex:1;min-width:0;margin-left:.3rem;padding:.25rem .4rem;border:1px solid rgba(107,163,54,.7);border-radius:.4rem;background:var(--color-cream);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;color:var(--color-forest)}.playground-file-new-input:focus{outline:none;box-shadow:0 0 0 2px #6ba33640}.playground-upload-label{position:relative;cursor:pointer}.playground-upload-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.ide-tour-panel{min-height:0;display:flex;flex-direction:column}.ide-tour-panel .ide-tour-body{flex:1;min-height:0}.ide-tour-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;padding:.45rem .65rem;border-bottom:1px solid rgba(27,77,46,.12);background:#1b4d2e0a}.ide-tour-toolbar-label{margin:0}.ide-tour-toolbar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.ide-tour-step-pill{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-brown)}.ide-tour-body{padding:.65rem .75rem .35rem;max-height:min(42vh,22rem);overflow-y:auto}.ide-tour-step-title{margin:0 0 .45rem;font-size:1.05rem;color:var(--color-forest)}.ide-tour-paragraph{margin:0 0 .55rem;font-size:.92rem;line-height:1.45;color:#1a1a1be0}.ide-markdown{display:flex;flex-direction:column;gap:.55rem}.ide-markdown>*{margin:0}.ide-markdown p,.ide-markdown li,.ide-markdown td,.ide-markdown th{font-size:.92rem;line-height:1.45;color:#1a1a1be0}.ide-markdown strong{color:var(--color-forest)}.ide-markdown a{color:var(--color-forest);font-weight:700;text-decoration:underline;text-underline-offset:.12em}.ide-markdown ul,.ide-markdown ol{margin:0;padding-left:1.35rem}.ide-markdown li+li{margin-top:.2rem}.ide-markdown li>p{margin:0}.ide-markdown blockquote{margin:0;padding:.1rem 0 .1rem .75rem;border-left:3px solid rgba(27,77,46,.22);color:#1a1a1bc7}.ide-markdown h1,.ide-markdown h2,.ide-markdown h3,.ide-markdown h4,.ide-markdown h5,.ide-markdown h6{margin:0;line-height:1.25;color:var(--color-forest)}.ide-markdown h1{font-size:1.02rem}.ide-markdown h2{font-size:.98rem}.ide-markdown h3,.ide-markdown h4,.ide-markdown h5,.ide-markdown h6{font-size:.94rem}.ide-markdown pre{margin:0;padding:.6rem .7rem;overflow:auto;border-radius:.75rem;background:#1b4d2e12;border:1px solid rgba(27,77,46,.12)}.ide-markdown pre code,.ide-markdown :not(pre)>code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.ide-markdown :not(pre)>code{padding:.12rem .35rem;border-radius:999px;background:#1b4d2e1a;color:var(--color-forest);font-size:.84em}.ide-markdown table{width:100%;border-collapse:collapse;border-radius:.75rem;overflow:hidden;background:#fffcf7d9;border:1px solid rgba(27,77,46,.12)}.ide-markdown th,.ide-markdown td{padding:.42rem .5rem;text-align:left;border:1px solid rgba(27,77,46,.1)}.ide-reference-block{margin-top:.65rem;position:relative;border-radius:.65rem;border:2px dashed rgba(27,77,46,.22);background:#fffcf7f5;overflow:hidden}.ide-reference-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem;padding:.35rem .5rem;background:#1b4d2e0f;border-bottom:1px solid rgba(27,77,46,.1)}.ide-reference-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--color-brown)}.ide-reference-pre{margin:0;padding:.55rem .65rem;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.ide-copy-toast{position:absolute;right:.65rem;bottom:.65rem;max-width:calc(100% - 1.3rem);padding:.45rem .7rem;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.02em;color:#fffaf2;box-shadow:0 10px 24px #1a1a1b2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.ide-copy-toast--success{background:linear-gradient(135deg,#1b4d2ef5,#397d4aeb)}.ide-copy-toast--error{background:linear-gradient(135deg,#8a3718f5,#b05631eb)}.app-toast-root{position:fixed;left:50%;bottom:1.35rem;z-index:200;transform:translate(-50%);pointer-events:none;max-width:min(92vw,30rem)}.app-toast-root:has(.app-toast-action){pointer-events:auto}.app-toast{padding:.55rem 1rem;border-radius:999px;font-size:.84rem;font-weight:700;letter-spacing:.01em;color:#fffaf2;box-shadow:0 12px 28px #1a1a1b33;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.app-toast--with-action{display:flex;align-items:center;gap:.75rem;white-space:normal;border-radius:12px;padding:.7rem .85rem}.app-toast-message{flex:1;min-width:0;line-height:1.35;font-weight:600}.app-toast-action{flex-shrink:0;margin:0;padding:.4rem .7rem;border:1px solid rgba(255,250,242,.45);border-radius:999px;background:#fffaf229;color:inherit;font:inherit;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}.app-toast-action:hover{background:#fffaf247}.app-toast--success{background:linear-gradient(135deg,#1b4d2ef5,#397d4aeb)}.app-toast--error{background:linear-gradient(135deg,#8a3718f5,#b05631eb)}.ide-tour-nav{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;padding:.55rem .65rem .65rem;border-top:1px solid rgba(27,77,46,.1);background:#fdf9f3a6}.ide-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem}.ide-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;border-radius:0;background:#1a1a1b6b;cursor:pointer}.ide-modal-card{position:relative;z-index:1;width:100%;max-width:26rem;padding:1.1rem 1.15rem 1rem}.ide-modal-title{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-forest)}.ide-modal-body{margin:0 0 .75rem;line-height:1.45}.ide-modal-outcome{margin:0 0 .65rem;line-height:1.45;font-weight:600}.ide-modal-outcome--passed{color:var(--color-forest)}.ide-modal-outcome--failed{color:var(--color-accent-red)}.ide-modal-checks{margin:0 0 .65rem;padding-left:0;list-style:none}.ide-modal-checks li{display:flex;gap:.4rem;align-items:flex-start;margin-bottom:.35rem;font-size:.92rem}.ide-check-pass{color:var(--color-forest)}.ide-check-fail{color:var(--color-accent-red)}.ide-check-mark{flex-shrink:0;font-weight:800}.ide-modal-engine{margin:0 0 .85rem;word-break:break-word}.ide-modal-actions{display:flex;justify-content:flex-end;gap:.45rem}.teacher-app{display:flex;min-height:100vh;width:100%;max-width:100%;margin:0;background:var(--color-cream)}.teacher-sidebar{width:15.5rem;flex-shrink:0;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1rem 1rem;background:linear-gradient(180deg,#1b4d2e1f,#fdf9f3f5);border-right:3px solid rgba(27,77,46,.22);position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow-y:auto;box-sizing:border-box}.teacher-sidebar-hint{margin:0;font-size:.82rem;line-height:1.45}.teacher-sidebar-brand{font-weight:800;font-size:1.05rem;color:var(--color-forest);letter-spacing:-.02em}.teacher-sidebar-role{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-brown);font-weight:600}.teacher-sidebar-email{font-size:.82rem;color:#1a1a1bbf;word-break:break-word}.teacher-sidebar-support{margin:0;font-size:.82rem;line-height:1.45;color:#1a1a1bb8}.teacher-sidebar-support a{color:var(--color-forest);font-weight:600;text-decoration:none}.teacher-sidebar-support a:hover{text-decoration:underline}.teacher-sidebar-nav{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.teacher-nav-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:8px;font-weight:600;font-size:.92rem;color:var(--color-forest);text-decoration:none;border:2px solid transparent;transition:background .12s ease,border-color .12s ease}.teacher-nav-item:hover{background:#fdf9f3d9;border-color:#1b4d2e2e}.teacher-nav-item.is-active{background:var(--color-cream);border-color:var(--color-forest);box-shadow:0 2px 8px #1b4d2e1a}.teacher-nav-item--subtle{font-weight:500;font-size:.85rem;opacity:.9}.teacher-sidebar-footer{margin-top:auto;padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.teacher-sidebar-signout{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:.45rem}.app-sidebar-head{display:flex;width:100%;min-height:2.2rem;margin-bottom:.35rem;align-items:center;justify-content:flex-start;padding-left:var(--app-sidebar-toggle-offset);box-sizing:border-box}.teacher-sidebar.is-collapsed .app-sidebar-head,.student-sidebar.is-collapsed .app-sidebar-head{justify-content:center;padding-left:0}.app-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--app-sidebar-toggle-width);height:2.2rem;padding:0;border:2px solid rgba(27,77,46,.22);box-sizing:border-box;border-radius:8px;background:#fdf9f3eb;color:var(--color-forest);font-weight:600;font-size:.82rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.app-sidebar-toggle:hover{background:var(--color-cream);border-color:#1b4d2e59}.app-sidebar-brand{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.45rem;text-decoration:none;color:var(--color-forest)}.app-sidebar-brand-logo{flex-shrink:0;border-radius:50%;border:2px solid var(--color-forest);background:var(--color-cream)}.app-sidebar-brand-name{font-weight:800;font-size:1.05rem;letter-spacing:-.02em;line-height:1.2}.app-sidebar-workspace{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-brown);font-weight:600}.app-sidebar-email{font-size:.82rem;color:#1a1a1bbf;word-break:break-word}.app-sidebar-support{margin:0;font-size:.82rem;line-height:1.45;color:#1a1a1bb8}.app-sidebar-support a{color:var(--color-forest);font-weight:600;text-decoration:none}.app-sidebar-support a:hover{text-decoration:underline}.app-sidebar-footer{margin-top:auto;padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.teacher-sidebar.is-collapsed,.student-sidebar.is-collapsed{width:var(--app-sidebar-collapsed-width);padding:1.25rem .45rem 1rem;align-items:center}.teacher-sidebar.is-collapsed .app-sidebar-label,.student-sidebar.is-collapsed .app-sidebar-label{display:none}.teacher-sidebar.is-collapsed .app-sidebar-brand,.student-sidebar.is-collapsed .app-sidebar-brand{justify-content:center;margin-bottom:.35rem}.teacher-sidebar.is-collapsed .app-sidebar-brand-name,.student-sidebar.is-collapsed .app-sidebar-brand-name,.teacher-sidebar.is-collapsed .app-sidebar-workspace,.student-sidebar.is-collapsed .app-sidebar-workspace,.teacher-sidebar.is-collapsed .app-sidebar-email,.student-sidebar.is-collapsed .app-sidebar-email,.teacher-sidebar.is-collapsed .teacher-sidebar-hint,.teacher-sidebar.is-collapsed .app-sidebar-support,.student-sidebar.is-collapsed .app-sidebar-support{display:none}.teacher-sidebar.is-collapsed .teacher-nav-item,.teacher-sidebar.is-collapsed .teacher-sidebar-signout{justify-content:center;width:var(--app-sidebar-toggle-width);padding-left:0;padding-right:0}.teacher-sidebar.is-collapsed .teacher-nav-icon{margin-right:0}.teacher-sidebar.is-collapsed .teacher-sidebar-footer,.student-sidebar.is-collapsed .app-sidebar-footer{align-items:center;width:100%}.student-sidebar.is-collapsed .student-sidebar-link,.student-sidebar.is-collapsed .student-sidebar-signout{justify-content:center;width:var(--app-sidebar-toggle-width);padding-left:0;padding-right:0}.teacher-billing-paid,.teacher-billing-upgrade{display:flex;flex-direction:column;gap:1.35rem;max-width:72rem}.teacher-billing-page .submissions-dashboard{max-width:72rem}.teacher-billing-dashboard{display:flex;flex-direction:column;gap:1.35rem}.teacher-billing-plan-hero{display:flex;flex-direction:column;gap:1.1rem;padding:1.5rem 1.65rem;background:linear-gradient(135deg,#fdf9f3,#e8f0e48c);border:2px solid rgba(27,77,46,.22);border-radius:14px;box-shadow:0 10px 28px #1b4d2e0f}.teacher-billing-plan-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.teacher-billing-plan-hero-name{margin:0 0 .2rem;font-size:1rem;font-weight:600;color:var(--color-forest)}.teacher-billing-plan-hero-price{margin:0;font-size:1.65rem;font-weight:800;color:var(--color-ink);line-height:1}.teacher-billing-active-badge{display:inline-flex;align-items:center;gap:.4em;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2d7a3a;background:#6ba33621;border:1.5px solid rgba(107,163,54,.35);border-radius:20px;padding:.25em .75em;white-space:nowrap;flex-shrink:0}.teacher-billing-active-badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#4caf50}.teacher-billing-renews{display:flex;flex-direction:column;gap:.2rem}.teacher-billing-renews-label{margin:0;font-size:.9rem;font-weight:500;color:var(--color-ink)}.teacher-billing-renews-label--cancel{color:var(--color-accent-red)}.teacher-billing-renews-period{margin:0;font-size:.82rem}.teacher-billing-usage-panel{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.4rem;background:#fdf9f3b3;border:2px solid rgba(27,77,46,.14);border-radius:12px}.teacher-billing-usage-title{margin:0;font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-forest)}.teacher-billing-usage-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.teacher-billing-usage-count{font-size:1.5rem;font-weight:800;color:var(--color-ink);line-height:1}.teacher-billing-usage-suffix{font-size:.85rem}.teacher-billing-usage-bar{height:8px;border-radius:4px;background:#1b4d2e1a;overflow:hidden}.teacher-billing-usage-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--color-frog),#8bc34a);transition:width .4s ease}.teacher-billing-usage-unlimited{margin:0;font-size:.85rem}.teacher-billing-plan-limits{margin:.45rem 0 0;font-size:.92rem;max-width:40rem;line-height:1.45}.teacher-billing-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.teacher-billing-kpi-card{display:flex;flex-direction:column;gap:.75rem;min-height:13.5rem;padding:1.2rem 1.25rem 1.15rem;background:#fdf9f3eb;border:2px solid rgba(27,77,46,.14);border-radius:14px;box-shadow:0 8px 22px #1b4d2e0d;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.teacher-billing-kpi-card:hover{border-color:#1b4d2e47;box-shadow:0 12px 28px #1b4d2e14;transform:translateY(-1px)}.teacher-billing-kpi-card--at-limit{border-color:#c41e3a47;background:linear-gradient(180deg,#fdf9f3,#fff4f6a6)}.teacher-billing-kpi-card-head{display:flex;align-items:flex-start;gap:.85rem}.teacher-billing-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:12px;font-size:1.35rem;flex-shrink:0;box-shadow:inset 0 1px #ffffff2e,0 6px 14px #0000001f}.teacher-billing-kpi-head-copy{min-width:0;flex:1}.teacher-billing-kpi-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-forest)}.teacher-billing-kpi-value{margin:.2rem 0 0;line-height:1.1}.teacher-billing-kpi-value-used{font-size:1.85rem;font-weight:800;color:var(--color-ink)}.teacher-billing-kpi-value-limit,.teacher-billing-kpi-value-unlimited{font-size:1rem;font-weight:600;color:#1b4d2e9e}.teacher-billing-kpi-description{margin:0;font-size:.9rem;line-height:1.45;color:#1b4d2ed1;flex:1}.teacher-billing-kpi-perk{margin:0;font-size:.84rem;font-weight:600;line-height:1.4;color:#2d7a3a}.teacher-billing-kpi-card--at-limit .teacher-billing-kpi-perk{color:#a83232}.teacher-billing-kpi-bar{height:8px;border-radius:999px;background:#1b4d2e1a;overflow:hidden;margin-top:auto}.teacher-billing-kpi-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-frog),#8bc34a);transition:width .4s ease}.teacher-billing-kpi-bar--unlimited{opacity:.55}.teacher-billing-kpi-bar-fill--unlimited{width:100%;background:linear-gradient(90deg,#6ba33673,#8bc34a59)}@media(max-width:980px){.teacher-billing-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.teacher-billing-kpi-grid{grid-template-columns:1fr}.teacher-billing-kpi-card{min-height:0}}.teacher-billing-trial-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.teacher-billing-usage-panel--compact{padding:1rem 1.1rem;gap:.55rem}.teacher-billing-usage-panel--compact .teacher-billing-usage-title{font-size:.78rem}.teacher-billing-usage-panel--compact .teacher-billing-usage-count{font-size:1.05rem}@media(max-width:640px){.teacher-billing-trial-usage-grid{grid-template-columns:1fr}}.teacher-billing-status-card{padding:1rem 1.25rem;border-radius:10px;border:2px solid transparent}.teacher-billing-status-card--active{background:#6ba33614;border-color:#6ba3364d}.teacher-billing-status-card--trial{background:#1b4d2e0d;border-color:#1b4d2e2e}.teacher-billing-status-card--expired{background:#c41e3a0d;border-color:#c41e3a33}.teacher-billing-status-label{margin:0 0 .3rem;font-weight:600;font-size:.95rem;color:var(--color-forest)}.teacher-billing-status-card--expired .teacher-billing-status-label{color:var(--color-accent-red)}.teacher-billing-status-detail{margin:0;font-size:.88rem;color:var(--color-brown)}.teacher-billing-portal-row{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem}.teacher-billing-portal-hint{margin:0;font-size:.85rem}.teacher-billing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.teacher-billing-plan-card{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem 1.25rem;border:2px solid rgba(27,77,46,.18);border-radius:10px;background:#fdf9f3e6;position:relative}.teacher-billing-plan-card--featured{border-color:#1b4d2e66;background:#fdf9f3}.teacher-billing-plan-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-forest);background:#6ba33626;border-radius:4px;padding:.15em .55em;align-self:flex-start}.teacher-billing-plan-name{margin:0;font-size:1rem;color:var(--color-forest)}.teacher-billing-plan-price{margin:0;font-size:1.5rem;font-weight:800;color:var(--color-ink);line-height:1}.teacher-billing-plan-period{font-size:.9rem;font-weight:400;color:var(--color-brown)}.teacher-billing-plan-detail{margin:0;font-size:.88rem;flex:1}.teacher-billing-reassurance{margin:0;font-size:.85rem}.teacher-main{flex:1;min-width:0;overflow:auto;padding:0}.teacher-page{max-width:min(120rem,100%);margin:0 auto;padding:1.25rem 1.5rem 2.5rem}.teacher-page-header{margin-bottom:1.25rem}.teacher-page-title{margin:0 0 .35rem;font-size:clamp(1.35rem,2.5vw,1.85rem);color:var(--color-forest)}.teacher-page-lede{margin:0;max-width:52rem}.teacher-breadcrumb{font-size:.88rem;margin-bottom:.65rem}.teacher-breadcrumb a{color:var(--color-forest);font-weight:600}.teacher-panel{background:#fdf9f3eb;border:2px solid rgba(27,77,46,.15);border-radius:12px;padding:1rem 1.15rem 1.15rem;margin-bottom:1.25rem}.teacher-callout-muted{margin-bottom:1.25rem;padding:.85rem 1.1rem;border-radius:12px;background:#1b4d2e0f;border:2px dashed rgba(27,77,46,.2);font-size:.94rem;color:var(--color-brown)}.teacher-callout-muted p{margin:0}.teacher-panel--flush{padding:0;overflow:hidden;--teacher-panel-inset-x: 1.15rem;--teacher-panel-inset-y: 1rem}.teacher-panel--flush.teacher-panel--overflow-visible{overflow:visible}.teacher-panel-title{margin:0 0 .85rem;font-size:1rem;color:var(--color-forest)}.teacher-panel--flush .teacher-panel-title{padding:1rem 1.15rem 0}.teacher-toolbar-form{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end}.teacher-input-grow{flex:1 1 12rem;min-width:10rem}.teacher-pad{padding:var(--teacher-panel-inset-y, 1rem) var(--teacher-panel-inset-x, 1.15rem)}.teacher-table-wrap{overflow-x:auto}.teacher-table{width:100%;border-collapse:collapse;font-size:.92rem}.teacher-table th,.teacher-table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid rgba(27,77,46,.12);vertical-align:top}.teacher-table th{background:#1b4d2e0f;font-weight:700;color:var(--color-brown)}.teacher-table-actions{white-space:nowrap;text-align:right}.teacher-table-actions>:not(:first-child){margin-left:.65rem}.btn.tight{padding:.45rem .85rem;font-size:.88rem}.teacher-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem}.teacher-tile{display:block;padding:1.15rem;border-radius:12px;border:3px solid rgba(27,77,46,.2);background:#fdf9f3f2;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.teacher-tile:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1b4d2e1f}.teacher-tile-title{margin:0 0 .35rem;font-size:1.05rem;color:var(--color-forest)}.teacher-tile-stat{margin:0;font-weight:700;font-size:1.25rem;color:var(--color-ink)}.teacher-tile-hint{margin:.5rem 0 0}.teacher-split{display:grid;grid-template-columns:minmax(16rem,22rem) 1fr;gap:1.25rem;align-items:start}@media(max-width:768px){.teacher-app{flex-direction:column}.teacher-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:none;border-bottom:3px solid rgba(27,77,46,.22);position:sticky;top:0;z-index:30;height:auto;max-height:none;overflow:visible}.teacher-sidebar .app-sidebar-head{order:2;width:auto;margin-bottom:0;margin-left:auto;padding-left:0}.teacher-sidebar.is-collapsed{width:100%;flex-wrap:nowrap;padding:.55rem .75rem;gap:.5rem}.teacher-sidebar.is-collapsed .app-sidebar-brand{display:inline-flex;flex:1 1 auto;min-width:0;order:1;justify-content:flex-start}.teacher-sidebar.is-collapsed .app-sidebar-brand-name{display:inline}.teacher-sidebar.is-collapsed .app-sidebar-workspace,.teacher-sidebar.is-collapsed .app-sidebar-email,.teacher-sidebar.is-collapsed .teacher-sidebar-nav,.teacher-sidebar.is-collapsed .teacher-sidebar-footer,.teacher-sidebar .app-sidebar-workspace,.teacher-sidebar .app-sidebar-email{display:none}.app-sidebar-brand{flex:1 1 auto;min-width:0;order:1}.app-sidebar-workspace,.app-sidebar-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-head{order:2;width:auto;margin-left:auto;padding-left:0}.teacher-sidebar-nav{flex-direction:row;flex-wrap:wrap;width:100%;order:3}.teacher-sidebar-footer{flex-direction:row;width:100%;margin-top:0;order:4}.teacher-sidebar-signout{width:auto}.teacher-split{grid-template-columns:1fr}}.teacher-join-display{margin:0 0 .75rem;font-size:1.1rem}.teacher-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem}.teacher-inline-form{display:flex;flex-direction:column;gap:.5rem}.teacher-master-detail{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:1.25rem;align-items:start;min-height:50vh}.teacher-master{min-width:0}.teacher-detail-body{min-width:0;background:#fdf9f3d9;border:2px solid rgba(27,77,46,.12);border-radius:12px;min-height:48vh}.teacher-detail-empty{padding:2rem 1.5rem}.teacher-lesson-rail{list-style:none;margin:0;padding:0}.teacher-lesson-rail li{margin-bottom:.35rem}.teacher-page--template-sequence{max-width:52rem}.teacher-template-sequence-panel{padding:1.15rem 1.25rem 1.35rem}.teacher-template-sequence-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.teacher-template-sequence-sub{margin:.25rem 0 0}.teacher-template-add-bar{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.15rem;padding-bottom:1.15rem;border-bottom:2px dashed rgba(27,77,46,.14)}.teacher-template-add-create,.teacher-template-add-library{display:flex;gap:.5rem;align-items:stretch}.teacher-template-add-create .input,.teacher-template-add-library .input{flex:1;min-width:0}.teacher-template-cohorts-panel{margin-top:1.25rem}.teacher-sequence-board-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.85rem}.teacher-sequence-drag-hint{margin:0;font-size:.88rem}.teacher-sequence-save-pill{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.01em;border:1.5px solid transparent;animation:teacher-sequence-pill-in .22s ease}.teacher-sequence-save-pill.is-saving{color:var(--color-brown, #5c4a3a);background:#1b4d2e0f;border-color:#1b4d2e1f}.teacher-sequence-save-pill.is-saved{color:var(--color-forest);background:#1b4d2e1a;border-color:#1b4d2e38}.teacher-sequence-save-pill.is-error{color:var(--color-accent-red);background:#c41e3a14;border-color:#c41e3a38}@keyframes teacher-sequence-pill-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.teacher-sequence-empty{margin:0;padding:1rem 0}.teacher-sequence-empty--hero{padding:2.5rem 1.5rem;text-align:center;border:2px dashed rgba(27,77,46,.18);border-radius:14px;background:#fdf9f3a6}.teacher-sequence-empty-title{margin:0 0 .45rem;font-size:1.15rem;font-weight:700;color:var(--color-forest)}.teacher-sequence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.teacher-sequence-list.is-dragging .teacher-sequence-card:not(.is-source){transition:transform .15s ease,opacity .15s ease}.teacher-sequence-drop-gap,.teacher-sequence-insert-gap{list-style:none;height:.55rem;margin:0;border-radius:8px;transition:height .14s ease,background .14s ease,margin .14s ease;display:flex;align-items:center;justify-content:center}.teacher-sequence-list.is-dragging .teacher-sequence-insert-gap.is-drag-context,.teacher-sequence-list.is-dragging .teacher-sequence-drop-gap{height:1.25rem}.teacher-sequence-drop-gap.is-active,.teacher-sequence-insert-gap.is-active{height:2.4rem;margin:.15rem 0;background:linear-gradient(90deg,#1b4d2e0a,#1b4d2e29,#1b4d2e0a);outline:2px dashed rgba(27,77,46,.45);outline-offset:2px}.teacher-sequence-insert-slot{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:relative}.teacher-sequence-insert-btn{position:relative;opacity:0;pointer-events:none;width:1.55rem;height:1.55rem;border-radius:999px;border:2px solid var(--color-forest);background:var(--color-cream);color:var(--color-forest);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .12s ease;z-index:1;padding:0;font:inherit}.teacher-sequence-insert-gap:hover .teacher-sequence-insert-btn,.teacher-sequence-insert-gap:focus-within .teacher-sequence-insert-btn{opacity:1;pointer-events:auto}.teacher-sequence-insert-gap.is-active .teacher-sequence-insert-btn{opacity:0;pointer-events:none}.teacher-sequence-insert-btn:disabled{opacity:.35;cursor:not-allowed}.teacher-sequence-drop-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-forest);pointer-events:none}.teacher-sequence-card{display:grid;grid-template-columns:auto auto auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem .9rem;border:2px solid rgba(27,77,46,.14);border-radius:14px;background:#fdf9f3f2;box-shadow:0 4px 14px #1b2e1b0f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.teacher-sequence-card--plan{grid-template-columns:auto auto 1fr auto auto}.teacher-sequence-card--plan .teacher-sequence-card-actions{justify-content:flex-end}.teacher-sequence-card-grip-spacer,.teacher-sequence-card-remove-spacer{width:1.85rem}.teacher-sequence-card:hover{border-color:#1b4d2e47;box-shadow:0 8px 22px #1b2e1b1a}.teacher-sequence-card.is-source{opacity:.45;transform:scale(.98);border-style:dashed}.teacher-sequence-card.is-idle-during-drag{transform:translateY(0)}.teacher-sequence-card-grip{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:2.5rem;border:2px solid rgba(27,77,46,.12);border-radius:8px;background:#1b4d2e0a;color:#1b4d2e8c;cursor:grab;touch-action:none;transition:color .12s ease,background .12s ease,border-color .12s ease}.teacher-sequence-card-grip:hover{color:var(--color-forest);background:#1b4d2e1a;border-color:#1b4d2e47}.teacher-sequence-card-grip:active{cursor:grabbing}.teacher-sequence-card-step{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;font-size:.82rem;font-weight:800;color:var(--color-forest);background:#1b4d2e1a;border:2px solid rgba(27,77,46,.18);flex-shrink:0}.teacher-sequence-card-icon{flex-shrink:0}.teacher-sequence-card-body{min-width:0;display:flex;flex-direction:column;gap:.2rem}.teacher-sequence-card-title{font-weight:700;font-size:1rem;line-height:1.3}.teacher-sequence-card-desc{font-size:.84rem;line-height:1.4;color:var(--color-brown, #5c4a3a);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-sequence-card-desc.is-placeholder{font-style:italic;opacity:.65}.teacher-sequence-card-remove{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:2px solid rgba(27,77,46,.14);border-radius:8px;background:transparent;color:#1b4d2e8c;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.teacher-sequence-card-remove:hover:not(:disabled){color:var(--color-accent-red);background:#c41e3a14;border-color:#c41e3a47}.teacher-sequence-card-remove:disabled{opacity:.45;cursor:not-allowed}.teacher-template-ai-preview{min-width:0}.teacher-template-ai-preview-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.teacher-template-ai-add-row{display:flex;gap:.4rem;align-items:stretch;min-width:min(100%,16rem)}.teacher-template-ai-add-row .input{flex:1;min-width:0}.teacher-template-ai-sequence{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.teacher-template-ai-sequence-card{grid-template-columns:auto auto 1fr auto}.teacher-template-ai-sequence-actions{display:flex;gap:.4rem}.teacher-ai-studio--template .teacher-ai-studio-layout{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}@media(max-width:960px){.teacher-ai-studio--template .teacher-ai-studio-layout{grid-template-columns:1fr}}.teacher-lesson-rail--reorder{padding:.15rem 0}.teacher-sequence-drop-gap{list-style:none;height:.5rem;margin:0;border-radius:4px;transition:height .12s ease,background .12s ease}.teacher-lesson-rail--reorder.is-dragging .teacher-sequence-drop-gap{height:1.1rem}.teacher-sequence-drop-gap.is-active{height:1.35rem;background:#1b4d2e24;outline:2px solid rgba(27,77,46,.45);outline-offset:1px}.teacher-lesson-sequence-row{display:flex;align-items:center;gap:.35rem}.teacher-sequence-drag-handle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:2.25rem;padding:0;border:2px solid rgba(27,77,46,.15);border-radius:6px;background:#1b4d2e0a;color:var(--color-forest);font-size:1rem;line-height:1;cursor:grab}.teacher-sequence-drag-handle:active{cursor:grabbing}.teacher-sequence-drag-handle:disabled{opacity:.5;cursor:not-allowed}.teacher-lesson-sequence-row .teacher-lesson-rail-link{flex:1;min-width:0}.teacher-sequence-order-bar{margin-bottom:.75rem;padding:.65rem .75rem;border-radius:8px;background:#1b4d2e0f;border:1px solid rgba(27,77,46,.12)}.teacher-sequence-order-hint{margin:0 0 .5rem}.teacher-sequence-order-actions{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-sequence-drag-hint{margin:0 0 .5rem}.teacher-lesson-rail-link{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.5rem .6rem;border-radius:8px;text-decoration:none;color:var(--color-ink);border:2px solid transparent}.teacher-lesson-rail-link:hover{background:#1b4d2e0f}.teacher-lesson-rail-link.is-active{background:var(--color-cream);border-color:var(--color-forest);font-weight:600}.teacher-lesson-rail-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.lesson-ws{display:flex;flex-direction:column;min-height:calc(100dvh - 3.5rem)}.lesson-ws-loading{display:flex;align-items:center;gap:.5rem;padding:2rem 1.25rem;color:var(--color-brown, #5c4a3a)}.lesson-ws-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid rgba(27,77,46,.12);background:#fdf9f3f5;position:sticky;top:0;z-index:5}.lesson-ws-topbar-left{display:flex;align-items:center;gap:.6rem;flex:1 1 18rem;min-width:0}.lesson-ws-topbar-right{display:flex;align-items:center;gap:.5rem}.lesson-ws-back{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;border:1px solid rgba(27,77,46,.18);background:#fff;color:var(--color-forest, #1b4d2e);cursor:pointer;flex:0 0 auto}.lesson-ws-back:hover{background:#1b4d2e12}.lesson-ws-title-input{flex:1 1 12rem;min-width:0;font-size:1.05rem;font-weight:700;color:var(--color-forest, #1b4d2e);border:1px solid transparent;border-radius:8px;background:transparent;padding:.3rem .5rem}.lesson-ws-title-input:hover{border-color:#1b4d2e2e}.lesson-ws-title-input:focus{outline:none;border-color:var(--color-forest, #1b4d2e);background:#fff}.lesson-ws-mode-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;flex:0 0 auto}.lesson-ws-mode-pill--simple{background:#1b4d2e1a;color:var(--color-forest, #1b4d2e)}.lesson-ws-mode-pill--advanced{background:#6b4f2e24;color:var(--color-brown, #6b4f2e)}.lesson-ws-status{font-size:.78rem;display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}.lesson-ws-status--saved{color:var(--color-forest, #1b4d2e)}.lesson-ws-status--unsaved{color:#9a6a14}.lesson-ws-status--saving{color:var(--color-brown, #5c4a3a)}.lesson-ws-menu{position:relative}.lesson-ws-banner{margin:.75rem 1rem 0}.lesson-ws-empty{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1.25rem}.lesson-ws-empty .lesson-ws-ai-panel{max-width:40rem;width:100%}.lesson-ws-split{flex:1;display:grid;grid-template-columns:1fr;min-height:0}.lesson-ws-split.is-split{align-items:stretch}.lesson-ws-split.is-dragging{cursor:col-resize}.lesson-ws-author{display:flex;flex-direction:column;min-width:0;border-right:1px solid rgba(27,77,46,.08)}.lesson-ws-author-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.6rem 1rem;border-bottom:1px solid rgba(27,77,46,.1);position:sticky;top:0;background:var(--color-cream, #faf8f4);z-index:2}.lesson-ws-tabs{display:flex;gap:.25rem;flex-wrap:wrap}.lesson-ws-tab{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:transparent;border-radius:8px;padding:.35rem .7rem;font-size:.88rem;font-weight:600;color:var(--color-brown, #5c4a3a);cursor:pointer}.lesson-ws-tab:hover{background:#1b4d2e0f}.lesson-ws-tab.is-active{background:#1b4d2e1a;color:var(--color-forest, #1b4d2e)}.lesson-ws-tab-badge{font-size:.72rem;font-weight:700;min-width:1.2rem;text-align:center;padding:.05rem .35rem;border-radius:999px;background:#1b4d2e24;color:var(--color-forest, #1b4d2e)}.lesson-ws-author-body{flex:1;overflow-y:auto;padding:1rem 1.1rem 2rem}.lesson-ws-section{display:flex;flex-direction:column;gap:1rem;max-width:46rem}.lesson-ws-section-lede{margin:0}.lesson-linked-standards{padding:.75rem .85rem;border-radius:.6rem;border:1px solid rgba(27,77,46,.14);background:#1b4d2e0a}.lesson-linked-standards-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.lesson-linked-standards-set+.lesson-linked-standards-set{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(27,77,46,.1)}.lesson-linked-standards-set-name{margin:0 0 .35rem;font-weight:600}.lesson-linked-standards-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.lesson-linked-standards-item{display:flex;flex-direction:column;gap:.1rem;font-size:.92rem}.lesson-linked-standards-item strong{color:var(--forest, #1b4d2e)}.lesson-standard-desc{color:#1b4d2eb8;font-size:.85rem;line-height:1.35}.lesson-standards-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lesson-standards-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;max-width:42rem}.lesson-standards-filter{flex:1 1 14rem;min-width:0;margin:0}.lesson-standard-toggle{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .75rem;border:1px solid rgba(27,77,46,.16);border-radius:.6rem;cursor:pointer;background:#fff}.lesson-standard-toggle.is-active{border-color:#1b4d2e80;background:#1b4d2e0f}.lesson-standard-toggle input{margin-top:.2rem}.lesson-standard-desc{display:block;color:#14261cbf;font-size:.9rem;margin-top:.15rem}.teacher-lesson-card-standards{margin:.25rem 0 0;font-size:.75rem;opacity:.85}.teacher-standards-assoc-actions{display:flex;gap:.5rem;margin-top:.75rem}.teacher-standards-coverage-select{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1rem;max-width:22rem}.teacher-standards-set-header{margin-bottom:.85rem}.teacher-standards-set-title{margin:0 0 .55rem;font-size:1.15rem;color:var(--color-forest, #1b4d2e)}.teacher-standards-set-actions{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-standards-coverage .teacher-tab-strip{margin-bottom:.85rem}.teacher-standards-checklist-lede{margin:0 0 .65rem}.teacher-standards-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.teacher-standards-progress-bar{height:.6rem;border-radius:999px;background:#1b4d2e1f;overflow:hidden}.teacher-standards-progress-fill{height:100%;border-radius:999px;background:var(--color-forest, #1b4d2e);transition:width .3s ease}.teacher-standards-gap{margin-top:1.25rem}.teacher-standards-gap-title{margin:0 0 .2rem;font-size:1rem}.teacher-standards-gap-tier{margin-top:1rem}.teacher-standards-gap-tier-title{margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.teacher-standards-gap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.teacher-standards-gap-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .65rem;border:1px solid rgba(27,77,46,.12);border-radius:.5rem}.teacher-standards-gap-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.teacher-standards-empty-cta-action{margin-top:.75rem}.teacher-standards-checklist-wrap{margin-top:1.25rem}.teacher-standards-checklist-title{margin:0 0 .2rem;font-size:1rem}.teacher-standards-checklist{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.teacher-standards-checklist-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.5rem .65rem;border:1px solid rgba(27,77,46,.12);border-radius:8px;background:#fffaf28c}.teacher-standards-checklist-item.is-covered{border-color:#1b4d2e38;background:#1b4d2e0a}.teacher-standards-checklist-main{display:flex;align-items:flex-start;gap:.55rem;flex:1;min-width:0;cursor:default}.teacher-standards-checklist-main input[type=checkbox]{margin-top:.2rem;flex-shrink:0}.teacher-standards-checklist-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.teacher-standards-checklist-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.teacher-standards-lesson-count{position:relative;display:inline-flex}.teacher-standards-lesson-count-value{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--color-forest, #1b4d2e);background:#1b4d2e1a;cursor:default}.teacher-standards-lesson-count-value:focus-visible{outline:2px solid var(--color-forest, #1b4d2e);outline-offset:2px}.teacher-standards-lesson-tooltip{position:absolute;right:0;bottom:calc(100% + .35rem);z-index:20;min-width:12rem;max-width:18rem;padding:.55rem .65rem;border-radius:8px;background:#1a1a1b;color:#fffaf2;font-size:.8rem;line-height:1.35;box-shadow:0 8px 24px #1a1a1b33;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}.teacher-standards-lesson-tooltip-title{display:block;font-weight:700;margin-bottom:.25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.teacher-standards-lesson-tooltip ul{margin:0;padding-left:1rem}.teacher-standards-lesson-tooltip li{margin:.15rem 0}.teacher-standards-lesson-count:hover .teacher-standards-lesson-tooltip,.teacher-standards-lesson-count:focus-within .teacher-standards-lesson-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.teacher-standards-lesson-count-empty{white-space:nowrap}.teacher-standards-lesson-count--on-card .teacher-standards-lesson-count-value{background:#fff3;color:inherit;font-size:.68rem;padding:.1rem .45rem}.teacher-lesson-card-wrap[data-tone=light] .teacher-standards-lesson-count--on-card .teacher-standards-lesson-count-value{background:#1b4d2e24;color:var(--color-forest, #1b4d2e)}.teacher-standards-lesson-count--on-card .teacher-standards-lesson-tooltip{left:0;right:auto;z-index:30}.teacher-standards-empty-cta{display:flex;flex-direction:column;gap:.75rem}.teacher-standards-empty-cta-action{display:flex;justify-content:flex-end}.mention-input-wrap{position:relative;width:100%}.mention-input-set .input{max-width:22rem}.mention-input{display:block;width:100%;min-height:4.5rem;padding:.55rem .65rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.mention-input:empty:before{content:attr(data-placeholder);color:#1b4d2e73;pointer-events:none}.mention-input.is-disabled{opacity:.65;pointer-events:none}.mention-pill{display:inline-flex;align-items:center;gap:.2rem;margin:0 .1rem;padding:.1rem .35rem;border-radius:999px;background:#1b4d2e1f;border:1px solid rgba(27,77,46,.25);font-size:.85em;font-weight:600;color:var(--color-forest, #1b4d2e);vertical-align:baseline}.mention-pill-remove{border:none;background:transparent;color:inherit;cursor:pointer;padding:0 .15rem;font-size:1rem;line-height:1;opacity:.7}.mention-pill-remove:hover{opacity:1}.mention-picker-query{margin-top:.25rem;font-family:monospace}.mention-picker{position:absolute;z-index:40;width:min(28rem,100%);max-height:16rem;display:flex;flex-direction:column;background:var(--color-cream, #faf6ef);border:1px solid rgba(27,77,46,.2);border-radius:.5rem;box-shadow:0 8px 24px #1b4d2e1f;overflow:hidden}.mention-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.mention-picker-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.45rem .65rem;border:none;background:transparent;text-align:left;cursor:pointer}.mention-picker-option.is-active,.mention-picker-option:hover{background:#1b4d2e14}.mention-picker-option-head{display:flex;align-items:center;gap:.4rem}.mention-picker-kind{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.mention-picker-option-desc{font-size:.75rem;opacity:.8;line-height:1.3}.mention-picker-preview{border-top:1px solid rgba(27,77,46,.12);padding:.5rem .65rem;font-size:.8rem;max-height:6rem;overflow-y:auto}.mention-picker-preview p{margin:.25rem 0 0;opacity:.85}.lesson-ws-creation-prompt{margin:0;padding-top:.5rem;border-top:1px solid rgba(27,77,46,.1)}.lesson-ws-subhead{margin-top:.5rem}.lesson-ws-subhead-title{margin:0 0 .2rem;font-size:1rem;color:var(--color-forest, #1b4d2e)}.lesson-ws-helper-files{display:flex;flex-direction:column;gap:.85rem}.lesson-code-editor{width:100%;overflow:hidden}.lesson-code-editor .cm-editor{border-radius:.5rem}.lesson-ws-ai-panel{border:1px solid rgba(27,77,46,.16);border-radius:12px;background:#fff;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.lesson-ws-ai-panel--inline{margin:.85rem 1.1rem 0;background:#6ba3360f}.lesson-ws-ai-head{display:flex;gap:.7rem;align-items:flex-start}.lesson-ws-ai-icon{color:var(--color-leaf, #6ba336);font-size:1.1rem;margin-top:.15rem}.lesson-ws-ai-title{margin:0;font-size:1.05rem;color:var(--color-forest, #1b4d2e)}.lesson-ws-ai-lede{margin:.15rem 0 0}.lesson-ws-ai-actions{margin-top:.2rem}.lesson-ws-ai-progress{margin-top:.5rem}.lesson-ws-preview{display:flex;flex-direction:column;min-width:0;background:var(--color-cream, #faf8f4)}.lesson-ws-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid rgba(27,77,46,.1);background:#fdf9f3f2}.lesson-ws-preview-label{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brown, #5c4a3a)}.lesson-ws-preview-body{flex:1;min-height:0;overflow-y:auto}.lesson-ws-preview-body .ide-page{width:100%;max-width:none;margin:0;padding:.65rem .75rem .85rem}.teacher-actions-menu-item--danger{color:#b23b2e}@media(max-width:1023px){.lesson-ws-author{border-right:none}.lesson-ws-preview-body{min-height:26rem}}.teacher-ai-studio-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.2fr);gap:1rem;align-items:start}.teacher-ai-studio-author{display:flex;flex-direction:column;gap:1rem}.teacher-ai-studio-preview{min-height:32rem;border:2px solid rgba(27,77,46,.12);border-radius:12px;overflow:hidden;background:var(--color-cream, #faf8f4);display:flex;flex-direction:column}.teacher-ai-studio-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid rgba(27,77,46,.1);background:#fdf9f3f2}.teacher-ai-studio-preview-label{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brown, #5c4a3a)}.teacher-ai-studio-preview .ide-page{flex:1;width:100%;max-width:none;margin:0;min-height:32rem;padding:.65rem .75rem .85rem}.teacher-ai-studio-layout--preview-expanded{grid-template-columns:1fr}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-author{display:none}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview{grid-column:1 / -1;width:100%;min-height:calc(100vh - 7rem);max-height:calc(100dvh - 5.5rem);overflow-x:hidden;overflow-y:auto}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview .ide-page{min-height:0}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview .ide-panels{min-height:min(52vh,480px)}@media(min-width:900px){.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview .ide-panels:not(.playground-panels){grid-template-columns:1fr 1fr minmax(260px,.9fr);grid-template-rows:minmax(280px,1fr);min-height:calc(100vh - 13rem)}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview .ide-panels:not(.playground-panels) .ide-tour-panel{grid-column:auto;min-height:0}.teacher-ai-studio-layout--preview-expanded .teacher-ai-studio-preview .ide-panels:not(.playground-panels) .ide-tour-body{max-height:none;flex:1;overflow-y:auto}}.teacher-ai-studio-layout--busy{opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;filter:saturate(.92)}.teacher-ai-progress{margin-bottom:1.25rem;padding:1.25rem 1.35rem;border:2px solid rgba(27,77,46,.28);border-radius:12px;background:linear-gradient(135deg,#fdf9f3,#e8f0e4a6);box-shadow:0 8px 24px #1b4d2e14}.teacher-ai-progress-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.teacher-ai-progress-eyebrow{margin:0 0 .25rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-forest)}.teacher-ai-progress-title{margin:0 0 .35rem;font-size:1.25rem;color:var(--color-forest)}.teacher-ai-progress-lede{margin:0;max-width:42rem;font-size:.92rem}.teacher-ai-progress-spinner{width:2.25rem;height:2.25rem;flex-shrink:0;border:3px solid rgba(27,77,46,.15);border-top-color:var(--color-frog);border-radius:50%;animation:teacher-ai-spin .9s linear infinite}@keyframes teacher-ai-spin{to{transform:rotate(360deg)}}.auth-callback-loading{display:flex;align-items:center;gap:.75rem}.auth-callback-loading-text{margin:0}.auth-callback-spinner{width:1.75rem;height:1.75rem;flex-shrink:0;border:3px solid rgba(27,77,46,.15);border-top-color:var(--color-frog);border-radius:50%;animation:teacher-ai-spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.auth-callback-spinner{animation-duration:2.4s}}.teacher-ai-progress-bar{height:6px;border-radius:3px;background:#1b4d2e1a;overflow:hidden;margin-bottom:1rem}.teacher-ai-progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-frog),#8bc34a);transition:width .65s ease}.teacher-ai-progress-active{margin:0 0 1rem;display:flex;flex-direction:column;gap:.25rem}.teacher-ai-progress-active-label{font-weight:600;font-size:1rem;color:var(--color-ink)}.teacher-ai-progress-active-detail{font-size:.9rem;line-height:1.45}.teacher-ai-progress-steps{list-style:none;margin:0 0 .85rem;padding:0;display:grid;gap:.45rem}.teacher-ai-progress-step{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--color-brown)}.teacher-ai-progress-step-marker{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0;background:#1b4d2e14;color:var(--color-forest)}.teacher-ai-progress-step--active .teacher-ai-progress-step-marker{background:#6ba33633;color:var(--color-forest);animation:teacher-ai-pulse 1.2s ease-in-out infinite}.teacher-ai-progress-step--active .teacher-ai-progress-step-text{font-weight:600;color:var(--color-ink)}.teacher-ai-progress-step--done .teacher-ai-progress-step-marker{background:#6ba33640;color:#2d7a3a}.teacher-ai-progress-step--done .teacher-ai-progress-step-text{color:var(--color-forest)}.teacher-ai-progress-step--pending .teacher-ai-progress-step-marker{opacity:.45}.teacher-ai-progress-step--pending .teacher-ai-progress-step-text{opacity:.65}@keyframes teacher-ai-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.teacher-ai-progress-foot{margin:0;font-size:.82rem}@media(max-width:1100px){.teacher-ai-studio-layout{grid-template-columns:1fr}.teacher-ai-studio-preview{min-height:24rem}}@media(max-width:960px){.teacher-template-add-bar{grid-template-columns:1fr}.teacher-template-add-create,.teacher-template-add-library{flex-direction:column}.teacher-sequence-card{grid-template-columns:auto auto 1fr auto;grid-template-rows:auto auto}.teacher-sequence-card-icon{grid-column:2;grid-row:1 / span 2}.teacher-sequence-card-body{grid-column:3;grid-row:1 / span 2}.teacher-sequence-card-remove{grid-column:4;grid-row:1}.teacher-sequence-card-grip{grid-column:1;grid-row:1 / span 2}.teacher-sequence-card-step{display:none}.teacher-master-detail{grid-template-columns:1fr}}.teacher-code-area{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;line-height:1.45;-moz-tab-size:4;tab-size:4}.teacher-code-area-sm{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.45;-moz-tab-size:4;tab-size:4}.teacher-step-fieldset{margin:0 0 1rem;padding:.75rem;border:1px solid rgba(27,77,46,.15);border-radius:8px}.teacher-stack{display:flex;flex-direction:column;gap:.65rem}.teacher-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em;padding:.1rem .35rem;border-radius:6px;background:#1b4d2e14;color:var(--color-forest)}.teacher-submission-code{margin:0 1rem 1rem;border-radius:.5rem;border:1px solid rgba(27,77,46,.15);overflow:hidden;background:#fffcf7}.teacher-submission-code .cm-editor{outline:none}.teacher-submission-code .cm-scroller{max-height:inherit;overflow:auto!important}.teacher-submission-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:0 1rem 1rem}.student-lessons-table-wrap{border-radius:.75rem;overflow:hidden;border:1px solid rgba(27,77,46,.12)}.student-lessons-table td{vertical-align:middle}.student-status-badge{font-size:.72rem}.student-status-badge--planned{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.3;color:#1b4d2e8c;background:#1b4d2e0d;border:1px dashed rgba(27,77,46,.22)}.student-status-badge--closed{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.3;color:#28282da6;background:#28282d0f;border:1px solid rgba(40,40,45,.14)}.student-due-cell{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem}.student-due-date{color:var(--color-brown)}.student-due-countdown{font-weight:600;color:var(--color-forest)}.student-due-countdown--past{color:#9a3412}.student-lesson-hint{font-style:italic}.teacher-api-key-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.teacher-api-key-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(27,77,46,.14);background:#ffffffa6}.teacher-api-key-label{font-weight:600;color:var(--color-forest)}.teacher-modal{border:none;padding:0;margin:0;max-width:none;width:100%;height:100%;background:transparent}.teacher-modal:modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:1.5rem;box-sizing:border-box;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;border:none;background:transparent}.teacher-modal::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#151f1a8c}.teacher-modal-card{max-width:32rem;margin:12vh auto;padding:1.25rem 1.35rem;border-radius:14px;background:var(--color-cream);border:2px solid rgba(27,77,46,.18);box-shadow:0 22px 55px #151f1a38}.teacher-modal-title{margin:0 0 .65rem;font-size:1.15rem;color:var(--color-forest)}.teacher-api-key-secret{margin:.85rem 0;padding:.65rem .75rem;border-radius:8px;background:#1b4d2e12;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;overflow-x:auto;word-break:break-all;white-space:pre-wrap}.teacher-modal-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.teacher-modal-actions--split{justify-content:space-between;align-items:center}.teacher-modal-actions-primary{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center}.ccs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-start;justify-content:center;background:#151f1a80;padding:1.5rem;overflow-y:auto}.ccs-modal-overlay .teacher-modal-card{margin:10vh auto;width:100%}.teacher-tab-strip{display:inline-flex;gap:.25rem;padding:.25rem;margin:0 0 1.25rem;border-radius:12px;background:#1b4d2e14}.teacher-tab-strip-btn{border:0;background:transparent;color:var(--color-forest);font-weight:600;padding:.5rem 1.1rem;border-radius:9px;cursor:pointer}.teacher-tab-strip-btn.is-active{background:var(--color-cream);box-shadow:0 2px 8px #151f1a1f}.teacher-tab-strip-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.2;background:#1b4d2e1f;color:var(--color-forest)}.teacher-tab-strip-btn.is-active .teacher-tab-strip-count{background:#1b4d2e29}.teacher-embedded-actions{margin-bottom:1rem}.teacher-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.1rem .5rem;border-radius:999px;border:1px solid transparent;line-height:1.5}.teacher-pill--published-badge{background:#fffffff5;color:var(--color-forest);box-shadow:0 2px 10px #0a120d47;font-size:.74rem;padding:.2rem .55rem}.teacher-pill--published-badge svg{color:var(--color-forest)}.teacher-pill--draft-badge{background:#fffffff5;color:#5c3d8f;box-shadow:0 2px 10px #0a120d47;font-size:.74rem;padding:.2rem .55rem}.teacher-pill--draft-badge svg{color:#5c3d8f}.teacher-row-menu--card{display:inline-flex}.teacher-row-menu--card .teacher-actions-menu{right:0;top:calc(100% + .35rem)}.teacher-pill--pending{background:#d69e2e29;color:#8a5a00}.teacher-pill--private{background:#151f1a14;color:#151f1a99}.teacher-pill--inspired{background:#4263eb1f;color:#2942c4}.teacher-pill--update{background:#d65c2e24;color:#b04015;cursor:pointer}.teacher-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}@media(max-width:1024px){.teacher-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.teacher-course-grid{grid-template-columns:minmax(0,1fr)}}.teacher-course-card{position:relative;border-radius:14px;overflow:hidden;background:#fdf9f3;color:#1a1a1b;cursor:default;border:1px solid rgba(27,77,46,.14);text-align:left;padding:0;display:flex;flex-direction:column;width:100%;min-height:18.5rem;box-shadow:0 4px 16px #0a120d14}.teacher-course-card[data-has-image]{background:#fdf9f3}.teacher-course-card-media{position:relative;flex-shrink:0;aspect-ratio:16 / 9;background:var(--course-card-bg, linear-gradient(135deg, #1b4d2e, #2e7d52));color:#fdf9f3;overflow:hidden}.teacher-course-card[data-has-image] .teacher-course-card-media{background:#0a120d}.teacher-course-card-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;margin:0;padding:0;border:0;background:transparent;cursor:pointer}.teacher-course-card-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.teacher-course-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom right,var(--course-card-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--course-card-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--course-card-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.teacher-course-card-media-title{position:absolute;inset:auto 0 0 0;z-index:2;margin:0;padding:1rem 1rem .9rem;font-size:1.15rem;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.55)}.teacher-course-card-body{flex:1;display:flex;flex-direction:column;gap:.45rem;min-height:0;padding:.95rem 1rem 1rem}.teacher-course-card-title{margin:0;font-size:1.05rem;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-forest, #1b4d2e)}.teacher-course-card-stats{flex-shrink:0;font-size:.78rem;color:#1b4d2eb8;margin:0}.teacher-course-card-desc{flex:1 1 auto;min-height:0;margin:0;font-size:.88rem;line-height:1.45;color:#1a1a1bd1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.teacher-course-card-actions{flex-shrink:0;margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.45rem}.teacher-course-card-badges{position:absolute;top:.6rem;right:.6rem;left:auto;display:flex;gap:.35rem;z-index:5}.teacher-page-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.teacher-accent-swatch-input{width:2.75rem;height:2.75rem;padding:.15rem;border:1px solid rgba(27,77,46,.25);border-radius:8px;background:#fff;cursor:pointer}.teacher-library-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.teacher-course-details{min-height:100%;background:var(--course-details-bg, #0a120d);color:var(--course-details-fg, #fdf9f3)}.teacher-course-details-hero{position:relative;min-height:min(52vh,28rem);display:flex;align-items:flex-start;overflow:visible}.teacher-course-details-hero:not(.teacher-course-details-hero--image){background:var(--course-details-bg, #0a120d)}.teacher-course-details-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.teacher-course-details-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.teacher-course-details-hero:not(.teacher-course-details-hero--image) .teacher-course-details-hero-scrim{display:none}.teacher-course-details-hero--image .teacher-course-details-hero-scrim{background:linear-gradient(to bottom right,var(--course-details-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--course-details-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--course-details-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.teacher-course-details-hero--image:after{content:"";position:absolute;left:0;right:0;top:100%;height:2.5rem;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(18,18,22,.52) 0%,rgba(18,18,22,.2) 42%,transparent 100%)}.teacher-course-details-hero-inner{position:relative;z-index:2;width:100%;max-width:56rem;margin:0 auto;padding:1.5rem 1.25rem 1.75rem}.teacher-course-details-hero--image .teacher-course-details-hero-inner{--course-details-fg: #fdf9f3;--course-details-muted: rgba(253, 249, 243, .9);color:var(--course-details-fg)}.teacher-course-details-hero--image .teacher-course-details-breadcrumb,.teacher-course-details-hero--image .teacher-course-details-title,.teacher-course-details-hero--image .teacher-course-details-lede,.teacher-course-details-hero--image .teacher-course-details-stats,.teacher-course-details-hero--image .teacher-course-details-stats dt,.teacher-course-details-hero--image .teacher-course-details-stats dd{color:var(--course-details-fg);text-shadow:0 1px 3px rgba(0,0,0,.45)}.teacher-course-details-hero--image .teacher-course-details-title{text-shadow:0 2px 14px rgba(0,0,0,.65),0 1px 2px rgba(0,0,0,.5)}.teacher-course-details-hero--image .teacher-course-details-lede,.teacher-course-details-hero--image .teacher-course-details-stats dt{color:var(--course-details-muted)}.teacher-course-details-hero--image .teacher-course-details-actions .btn.secondary{background:#fdf9f3f5;border-color:var(--color-forest);color:var(--color-forest);text-shadow:none;box-shadow:0 4px 14px #0003}.teacher-course-details-hero--image .teacher-course-details-actions .btn.secondary:not(:disabled):hover{background:#fff;transform:translateY(-1px)}.teacher-course-details-breadcrumb{font-size:.82rem;margin-bottom:.75rem;opacity:.9}.teacher-course-details-breadcrumb a{color:inherit;text-decoration:underline}.teacher-course-details-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.teacher-course-details-title{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:0 0 .65rem}.teacher-course-details-lede{max-width:42rem;margin:0 0 1rem;color:var(--course-details-muted, rgba(253, 249, 243, .88))}.teacher-course-details-stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:0 0 1.1rem}.teacher-course-details-stats dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.teacher-course-details-stats dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:800}.teacher-course-details-actions{display:flex;flex-wrap:wrap;gap:.6rem}.teacher-course-details-pad{max-width:56rem;margin:0 auto;padding:1.25rem 1.25rem 2rem}.teacher-course-details-section-title{font-size:1.15rem;margin:0 0 .85rem}.teacher-course-details-muted{color:var(--course-details-muted, rgba(253, 249, 243, .82))}.teacher-course-details-link{color:inherit;font-weight:700}.teacher-course-details-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.teacher-course-details-lesson{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:center;padding:.65rem .75rem;border-radius:12px;background:#ffffff14}.teacher-course-details[data-tone=light] .teacher-course-details-lesson{background:#0000000f}.teacher-course-details-lesson-num{font-size:1.25rem;font-weight:800;opacity:.65;min-width:1.5rem;text-align:center}.teacher-course-details-lesson-copy h3{margin:0 0 .2rem;font-size:1rem}.teacher-course-details-lesson-copy p{margin:0;font-size:.88rem;color:var(--course-details-muted, rgba(253, 249, 243, .82))}.teacher-course-details-cohort-list{display:grid;gap:.55rem}.teacher-course-details-cohort-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem .9rem;border-radius:10px;background:#ffffff14;color:inherit;text-decoration:none}.teacher-course-details[data-tone=light] .teacher-course-details-cohort-card{background:#0000000f}.teacher-course-details-cohort-card:hover{background:#ffffff24}.student-cohort-details{min-height:100%;background:var(--course-details-bg, #0a120d);color:var(--course-details-fg, #fdf9f3)}.student-cohort-details h1,.student-cohort-details h2,.student-cohort-details h3,.student-cohort-details strong{color:var(--course-details-fg, #fdf9f3)}.student-cohort-details-hero{position:relative;min-height:min(52vh,28rem);display:flex;align-items:flex-start;overflow:visible}.student-cohort-details-hero:not(.student-cohort-details-hero--image){background:var(--course-details-bg, #0a120d)}.student-cohort-details-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.student-cohort-details-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.student-cohort-details-hero:not(.student-cohort-details-hero--image) .student-cohort-details-hero-scrim{display:none}.student-cohort-details-hero--image .student-cohort-details-hero-scrim{background:linear-gradient(to bottom right,var(--course-details-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--course-details-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--course-details-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.student-cohort-details-hero--image:after{content:"";position:absolute;left:0;right:0;top:100%;height:2.5rem;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(18,18,22,.52) 0%,rgba(18,18,22,.2) 42%,transparent 100%)}.student-cohort-details-hero-inner{position:relative;z-index:2;width:100%;max-width:56rem;margin:0 auto;padding:1.5rem 1.25rem 1.75rem}.student-cohort-details-hero--image .student-cohort-details-hero-inner{--course-details-fg: #fdf9f3;--course-details-muted: rgba(253, 249, 243, .9);color:var(--course-details-fg)}.student-cohort-details-hero--image .student-cohort-details-eyebrow,.student-cohort-details-hero--image .student-cohort-details-title,.student-cohort-details-hero--image .student-cohort-details-lede,.student-cohort-details-hero--image .student-cohort-details-stats,.student-cohort-details-hero--image .student-cohort-details-stats dt,.student-cohort-details-hero--image .student-cohort-details-stats dd{color:var(--course-details-fg);text-shadow:0 1px 3px rgba(0,0,0,.45)}.student-cohort-details-hero--image .student-cohort-details-title{text-shadow:0 2px 14px rgba(0,0,0,.65),0 1px 2px rgba(0,0,0,.5)}.student-cohort-details-hero--image .student-cohort-details-lede,.student-cohort-details-hero--image .student-cohort-details-stats dt{color:var(--course-details-muted)}.student-cohort-details-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 .5rem;opacity:.88}.student-cohort-details-title{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:0 0 .65rem}.student-cohort-details-lede{max-width:42rem;margin:0 0 1rem;color:var(--course-details-muted, rgba(253, 249, 243, .88))}.student-cohort-details-stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:0 0 1.1rem}.student-cohort-details-stats dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.student-cohort-details-stats dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:800}.student-cohort-details-pad{max-width:56rem;margin:0 auto;padding:1.25rem 1.25rem 2rem}.student-cohort-details-section-title{font-size:1.15rem;margin:0 0 .85rem}.student-cohort-details-muted{color:var(--course-details-muted, rgba(253, 249, 243, .82))}.student-cohort-details-link{color:var(--course-details-fg, #fdf9f3);font-weight:700;text-decoration:underline;text-underline-offset:.12em}.student-cohort-details-up-next{padding:1rem 1.15rem;border-radius:12px;background:#ffffff14}.student-cohort-details-up-next .student-cohort-details-section-title{margin-top:0}.student-cohort-details[data-tone=light] .student-cohort-details-up-next{background:#0000000f}.student-cohort-details-up-next-row{display:grid;grid-template-columns:auto minmax(11rem,1fr) minmax(14rem,1.35fr);gap:.85rem 1.1rem;align-items:start}.student-cohort-details-up-next-copy{flex:1;min-width:0}.student-cohort-details-up-next-lesson-desc{margin:0;font-size:.88rem;line-height:1.45;color:var(--course-details-muted, rgba(253, 249, 243, .82))}@media(max-width:720px){.student-cohort-details-up-next-row{grid-template-columns:auto 1fr}.student-cohort-details-up-next-lesson-desc{grid-column:1 / -1}}.student-cohort-details-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.student-cohort-details-lesson{list-style:none;margin:0;padding:0;min-width:0}.student-cohort-details-lesson-card{margin:0;min-width:0;width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:.7rem .75rem .65rem}.student-cohort-details-lesson-card--lesson{background:#ffffff14}.student-cohort-details-lesson-card--quiz{background:linear-gradient(145deg,#343841,#252830 42%,#181a20);border-color:#ffffff38;box-shadow:inset 0 1px #ffffff0f}.student-cohort-details-lesson-card--advanced{--student-cohort-row-fill: rgba(255, 255, 255, .08);border:2px solid transparent;background:linear-gradient(var(--student-cohort-row-fill),var(--student-cohort-row-fill)) padding-box,var(--lesson-epic-border, linear-gradient(135deg, #e8c547, #6ba336, #1b4d2e)) border-box;box-shadow:0 0 16px var(--lesson-epic-glow, rgba(107, 163, 54, .22)),inset 0 0 0 1px #ffffff0f}.student-cohort-details[data-tone=light] .student-cohort-details-lesson-card--lesson{background:#0000000f;border-color:#1b4d2e38}.student-cohort-details[data-tone=light] .student-cohort-details-lesson-card--quiz{background:linear-gradient(145deg,#4a4e58,#35383f 45%,#25272e);border-color:#1b4d2e47}.student-cohort-details[data-tone=light] .student-cohort-details-lesson-card--advanced{--student-cohort-row-fill: rgba(0, 0, 0, .06)}.student-cohort-details-lesson-num-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:2.85rem;flex-shrink:0}.student-cohort-details-kind-label{display:block;width:100%;height:.7rem;margin:0;line-height:.7rem;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap;color:#fdf9f3c7}.student-cohort-details[data-tone=light] .student-cohort-details-kind-label{color:#1b4d2ed1}.student-cohort-details-lesson-card--quiz .student-cohort-details-kind-label{color:#fdf9f3e0}.student-cohort-details-lesson-body{display:grid;grid-template-columns:auto auto 1fr auto;gap:.75rem;align-items:center;min-width:0}.student-cohort-details-lesson-num{display:block;width:100%;font-size:1.25rem;font-weight:800;opacity:.65;text-align:center;line-height:1.25rem}.student-cohort-details-lesson-title{margin:0 0 .25rem;font-size:1rem}.student-cohort-details-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.82rem;color:var(--course-details-muted, rgba(253, 249, 243, .82))}.student-cohort-details-lesson-muted{color:var(--course-details-muted, rgba(253, 249, 243, .82))}.student-cohort-details-lesson-due--past{color:#ffb4a8;font-weight:600}.student-cohort-details-lesson-action{flex-shrink:0}.student-cohort-details .student-lesson-availability,.student-cohort-details .student-display-status{border:1px solid rgba(255,255,255,.22);box-shadow:0 1px 3px #0000002e}.student-cohort-details .student-lesson-availability--open{background:#22a85aeb;color:#0a2a14;border-color:#ffffff59}.student-cohort-details .student-lesson-availability--closed{background:#ffffffe6;color:#1a1a1bd1;border-color:#ffffff80}.student-cohort-details .student-lesson-availability--planned{background:#ffffffe0;color:#2f5f9e;border-color:#ffffff73}.student-cohort-details .student-display-status--open.student-display-status--not_started{background:#ffffffe6;color:#3d5248}.student-cohort-details .student-display-status--open.student-display-status--in_progress{background:#5b8fd4f2;color:#0f2a4a;border-color:#ffffff59}.student-cohort-details .student-display-status--open.student-display-status--complete,.student-cohort-details .student-display-status--closed.student-display-status--complete{background:#22a85aeb;color:#0a2a14;border-color:#ffffff59}.student-cohort-details .student-display-status--closed.student-display-status--missed{background:#ffffffe6;color:#9a3b32}.student-cohort-details .student-display-status--closed.student-display-status--incomplete{background:#f0a030f2;color:#5c3208;border-color:#ffffff59}.student-cohort-details .student-cohort-details-lesson-action .btn.secondary{background:#fdf9f3f5;border-color:var(--color-forest);color:var(--color-forest);box-shadow:0 2px 8px #0003}.student-cohort-details .student-cohort-details-lesson-action .btn.secondary:not(:disabled):hover{background:#fff}.student-cohort-details .student-cohort-details-lesson-action .btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.student-cohort-details .student-cohort-details-lesson-muted{color:var(--course-details-muted, rgba(253, 249, 243, .82))}.student-cohort-details--loading{--course-details-bg: #12141a;--course-details-fg: #e8eaef;--course-details-muted: rgba(232, 234, 239, .72);background:linear-gradient(180deg,#1a1d26,#12141a 48%,#0f1116);color:var(--course-details-fg)}.student-cohort-details-hero--loading{background:linear-gradient(155deg,#252830,#1c1f27 52%,#12141a)}@media(max-width:720px){.student-cohort-details-lesson-body{grid-template-columns:auto auto 1fr;grid-template-rows:auto auto}.student-cohort-details-lesson-action{grid-column:2 / -1;justify-self:start;padding-left:4.5rem}}.teacher-course-details--loading{--course-details-bg: #12141a;--course-details-fg: #e8eaef;--course-details-muted: rgba(232, 234, 239, .72);background:linear-gradient(180deg,#1a1d26,#12141a 48%,#0f1116);color:var(--course-details-fg)}.teacher-course-details--loading .skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1f,#ffffff0d 75%);background-size:200% 100%}.teacher-course-details-hero--loading{background:linear-gradient(155deg,#252830,#1c1f27 52%,#12141a)}.teacher-course-details-hero--loading:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent,#12141a)}.course-details-skeleton-breadcrumb{margin-bottom:.85rem}.course-details-skeleton-breadcrumb .skeleton{width:7.5rem}.course-details-skeleton-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.course-details-skeleton-pill{width:4.75rem;height:1.35rem;border-radius:999px}.course-details-skeleton-title{width:min(22rem,88%);height:clamp(2rem,5vw,2.65rem);border-radius:10px;margin-bottom:.75rem}.course-details-skeleton-lede{max-width:34rem;margin-bottom:.45rem}.course-details-skeleton-lede-2{max-width:26rem;margin-bottom:1rem}.course-details-skeleton-stats{display:flex;flex-wrap:wrap;gap:1.25rem 1.75rem;margin-bottom:1.15rem}.course-details-skeleton-stat{display:flex;flex-direction:column;gap:.35rem;min-width:4.5rem}.course-details-skeleton-stat .skeleton--line-sm{width:3.75rem}.course-details-skeleton-stat-value{width:2.25rem;height:1.35rem;border-radius:6px}.course-details-skeleton-actions{display:flex;flex-wrap:wrap;gap:.6rem}.course-details-skeleton-button-secondary{width:7.25rem}.course-details-skeleton-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.course-details-skeleton-lesson{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:center;padding:.7rem .8rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.course-details-skeleton-lesson-num{width:1.5rem;height:1.5rem;border-radius:6px}.course-details-skeleton-lesson-copy{display:flex;flex-direction:column;gap:.4rem}.course-details-skeleton-cohorts{display:grid;gap:.6rem}.course-details-skeleton-cohort{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.8rem .9rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.course-details-skeleton-cohort .skeleton--line-lg{width:min(12rem,55%)}.course-details-skeleton-cohort .skeleton--line-sm{width:6.5rem}.cohort-table-wrap{overflow-x:auto}.cohort-table{border-collapse:separate;border-spacing:0 .65rem}.cohort-table-group .cohort-table-main-row td{vertical-align:middle;background:#ffffff8c;border-top:1px solid rgba(27,77,46,.1);border-bottom:1px solid rgba(27,77,46,.1)}.cohort-table-group .cohort-table-main-row td:first-child{border-left:1px solid rgba(27,77,46,.1);border-radius:12px 0 0 12px;width:9.5rem;padding:.55rem .65rem}.cohort-table-group .cohort-table-main-row td:last-child{border-right:1px solid rgba(27,77,46,.1);border-radius:0 12px 12px 0}.cohort-table-progress-row td{padding:0 .65rem .35rem;border:none;background:transparent}.cohort-table-students{font-variant-numeric:tabular-nums;font-weight:700}.cohort-table-actions{flex-wrap:wrap;justify-content:flex-end}.cohort-course-thumb{position:relative;display:block;width:8.25rem;height:5.15625rem;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;background:var(--cohort-thumb-bg, linear-gradient(135deg, #1b4d2e, #2e7d52));color:#fdf9f3;flex-shrink:0}.cohort-course-thumb--accent:not(.cohort-course-thumb--image){box-shadow:0 2px 8px #0a120d24}.cohort-course-thumb--image{box-shadow:0 2px 8px #0a120d2e;background:#0a120d}.cohort-course-thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.cohort-course-thumb-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom right,var(--cohort-thumb-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.cohort-course-thumb-title{position:absolute;left:.45rem;right:.45rem;top:.4rem;z-index:2;font-size:.68rem;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.55)}.cohort-course-thumb:not(.cohort-course-thumb--image) .cohort-course-thumb-title{top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;padding:.45rem;-webkit-line-clamp:unset;-webkit-box-orient:unset}.cohort-progress-track{display:flex;width:100%;height:.55rem;border-radius:999px;overflow:hidden;background:#1b4d2e1f}.cohort-progress-seg{display:block;height:100%;min-width:2px}.cohort-progress-seg--completed{background:#3d9a4a}.cohort-progress-seg--assigned{background:#4a7fd4}.cohort-progress-seg--planned{background:#5a626873}.cohort-progress-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.4rem 0 0;padding:0;list-style:none;font-size:.78rem;color:var(--color-brown)}.cohort-progress-legend li{display:inline-flex;align-items:center;gap:.35rem}.cohort-progress-dot{width:.55rem;height:.55rem;border-radius:999px;flex-shrink:0}.cohort-progress-dot--completed{background:#3d9a4a}.cohort-progress-dot--assigned{background:#4a7fd4}.cohort-progress-dot--planned{background:#5a62688c}.cohort-progress-empty{margin:0;padding-left:.15rem}.cohort-event-log-section{margin-top:1.25rem}.cohort-event-log-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .85rem;padding:0 var(--teacher-panel-inset-x, 1.15rem) .85rem}.cohort-event-log-filter{min-width:10.5rem;margin:0;flex:1 1 10.5rem;max-width:16rem}.cohort-event-log-clear{align-self:flex-end;margin-bottom:.15rem}.cohort-event-log-summary{margin:0;padding:0 var(--teacher-panel-inset-x, 1.15rem) .65rem}.cohort-event-log-live{display:inline-flex;align-items:center;justify-content:center;min-height:calc(2.044rem + 6px);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;white-space:nowrap}.cohort-event-log-live--live{color:#1b4d2e;background:#3d9a4a2e}.cohort-event-log-live--connecting{color:var(--color-brown);background:#1b4d2e14}.cohort-event-log-live--unavailable{color:var(--color-brown);background:#5a62681f;text-transform:none;font-weight:600;letter-spacing:0}.cohort-event-log-error{margin:0 var(--teacher-panel-inset-x, 1.15rem) .75rem}.cohort-event-log-list{list-style:none;margin:0;padding:0 .5rem .75rem}.cohort-event-log-item{display:grid;grid-template-columns:2.5rem 1fr;gap:.75rem 1rem;padding:.7rem .5rem;border-top:1px solid rgba(27,77,46,.1);align-items:start}.cohort-event-log-icon{width:2.5rem;height:2.5rem;display:block;flex-shrink:0}.cohort-event-log-item:first-child{border-top:none}.cohort-event-log-body{min-width:0}.cohort-event-log-message{margin:0;line-height:1.45}.cohort-event-log-meta{margin:.2rem 0 0}.cohort-event-log-more{display:flex;justify-content:center;padding:.25rem var(--teacher-panel-inset-x, 1.15rem) 1rem}.teacher-course-lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.9rem}.teacher-course-lesson-card{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;border-radius:12px;border:1px solid rgba(27,77,46,.16);background:#ffffffa6;text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.teacher-course-lesson-card:hover,.teacher-course-lesson-card:focus-visible{border-color:#1b4d2e59;box-shadow:0 6px 18px #151f1a14}.teacher-course-lesson-card-step{align-self:flex-start;font-size:.72rem;font-weight:800;color:#1b4d2e8c;letter-spacing:.04em}.teacher-course-lesson-card-icon{align-self:flex-start}.teacher-course-lesson-card-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.teacher-course-lesson-card-title{margin:0;font-size:.95rem;color:var(--color-forest)}.teacher-course-lesson-card-desc{margin:0;font-size:.82rem;color:#151f1ab8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.teacher-course-lesson-card-stats{margin:.15rem 0 0}.teacher-hero-uploader{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.teacher-lesson-card-overlay{position:absolute;top:.5rem;left:.5rem;z-index:3;display:flex;flex-wrap:wrap;gap:.3rem;max-width:calc(100% - 1rem)}.teacher-changelog-list{margin:.5rem 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}.teacher-row-menu{position:relative;display:inline-block}.link-button{border:0;background:none;padding:0;color:var(--color-forest);font:inherit;text-decoration:underline;cursor:pointer}.teacher-hero-preview{width:14rem;aspect-ratio:16 / 10;border-radius:12px;object-fit:cover;background:#1b4d2e14;border:1px solid rgba(27,77,46,.16)}.submissions-dashboard{max-width:72rem}.submissions-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.25rem;padding:1.35rem 1.5rem;border-radius:14px;background:linear-gradient(135deg,#1b4d2e1f,#6ba33614 45%,#fdf9f3f2);border:2px solid rgba(27,77,46,.14);box-shadow:0 12px 40px #1b4d2e14}.submissions-hero-text .eyebrow,.submissions-hero-text .teacher-page-title{margin:0 0 .35rem}.submissions-hero-text .teacher-page-lede{margin:0;max-width:36rem}.submissions-hero-filter{display:flex;flex-direction:column;gap:.5rem;min-width:min(100%,16rem)}.submissions-filter-field{margin:0}.submissions-filter-select{font-weight:600;background:#ffffffd9}.submissions-archived-toggle{display:flex;align-items:center;gap:.4rem}.submissions-banner{margin-bottom:1rem}.submissions-loading,.submissions-scope{margin:0 0 1rem}.submissions-empty{padding:1.5rem;text-align:center}.submissions-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.85rem;margin-bottom:1.25rem}.submissions-kpi{position:relative;overflow:hidden;padding:1rem 1.1rem;border-radius:12px;border:2px solid rgba(27,77,46,.1);background:var(--color-cream);box-shadow:0 4px 18px #1b4d2e0f}.submissions-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:12px 0 0 12px;background:var(--color-forest)}.submissions-kpi--green:before{background:#6ba336}.submissions-kpi--amber:before{background:#e6a83c}.submissions-kpi--slate:before{background:#28282d59}.submissions-kpi-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1b4d2ea6}.submissions-kpi-value{margin:.25rem 0 0;font-size:2rem;font-weight:800;line-height:1.1;color:var(--color-forest);font-variant-numeric:tabular-nums}.submissions-kpi-hint{margin:.35rem 0 0;font-size:.78rem;color:#1b4d2e8c;line-height:1.35}.submissions-charts-grid{display:grid;grid-template-columns:minmax(16rem,22rem) 1fr;gap:1rem;margin-bottom:1.25rem}@media(max-width:900px){.submissions-charts-grid{grid-template-columns:1fr}}.submissions-chart-panel{padding:1.15rem 1.25rem;border-radius:12px;border:2px solid rgba(27,77,46,.1);background:#fdf9f3eb}.submissions-chart-title{margin:0;font-size:1.05rem;color:var(--color-forest)}.submissions-chart-sub{margin:.25rem 0 1rem}.submissions-donut-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;justify-content:center}.submissions-donut{width:9.5rem;height:9.5rem;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 28px #1b4d2e1f;animation:submissions-donut-in .6s ease-out}@keyframes submissions-donut-in{0%{transform:scale(.92);opacity:.6}to{transform:scale(1);opacity:1}}.submissions-donut-hole{width:5.5rem;height:5.5rem;border-radius:50%;background:var(--color-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #1b4d2e14}.submissions-donut-pct{font-size:1.65rem;font-weight:800;color:var(--color-forest);line-height:1}.submissions-donut-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#1b4d2e8c;margin-top:.15rem}.submissions-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.88rem}.submissions-legend li{display:flex;align-items:center;gap:.5rem}.submissions-legend-swatch{width:.75rem;height:.75rem;border-radius:3px;flex-shrink:0}.submissions-legend-swatch--complete{background:var(--progress-complete-chart)}.submissions-legend-swatch--in-progress{background:var(--progress-in-progress-chart)}.submissions-legend-swatch--needs-help{background:var(--progress-needs-help-chart)}.submissions-legend-swatch--not-started{background:var(--progress-not-started-chart)}.submissions-roster-summary{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.submissions-roster-summary .submissions-donut-wrap{justify-content:flex-start;flex:0 0 auto}.submissions-roster-legend{flex:1 1 14rem;min-width:12rem;margin:0;line-height:1.9}.submissions-students-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem}.submissions-students-head .teacher-panel-title{margin-bottom:0}.submissions-state-filter{flex:0 0 auto;min-width:11rem}.submissions-state-filter .input{padding-top:.4rem;padding-bottom:.4rem;font-size:.88rem}.submissions-students-hint{margin:.35rem 0 .85rem}.submissions-students-table tbody tr.submissions-student-row{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.submissions-students-table tbody tr.submissions-student-row:hover{background:#1b4d2e0f}.submissions-students-table tbody tr.submissions-student-row:focus-visible{outline:none;background:#1b4d2e14;box-shadow:inset 0 0 0 2px #1b4d2e59}.submissions-students-table tbody tr.teacher-row-selected{background:#22a85a1f;box-shadow:inset 3px 0 0 var(--progress-complete-chart)}.submissions-students-table tbody tr.teacher-row-selected:hover{background:#22a85a29}.submissions-student-state{font-size:1.25rem;line-height:1;text-align:center;width:1px;white-space:nowrap}.submissions-student-when{white-space:nowrap}.submissions-student-chevron{width:1px;text-align:right;font-size:1.3rem;font-weight:700;color:#1b4d2e66;vertical-align:middle}.submissions-students-table tbody tr.submissions-student-row:hover .submissions-student-chevron,.submissions-students-table tbody tr.teacher-row-selected .submissions-student-chevron{color:var(--color-forest)}@media(min-width:769px){.submissions-split{grid-template-columns:minmax(23rem,27rem) minmax(0,52rem)}}.submissions-students-table th,.submissions-students-table td{padding:.55rem .5rem}.submissions-student-name{white-space:nowrap}.submission-review-empty{margin:0}.submission-review-body{display:flex;flex-direction:column;gap:1rem}.submission-review-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem;padding-bottom:.85rem;border-bottom:1px solid rgba(27,77,46,.12)}.submission-review-who{display:flex;align-items:center;gap:.6rem;min-width:0}.submission-review-emoji{font-size:1.6rem;line-height:1}.submission-review-email{margin:0;font-weight:700;color:var(--color-ink);word-break:break-all}.submission-review-who p{margin:0}.submission-review-attempt{flex:0 0 auto;min-width:13rem}.submission-result-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.6rem .85rem;border-radius:10px;border:1px solid transparent}.submission-result-banner--pass{background:#22a85a1f;border-color:#22a85a59}.submission-result-banner--fail{background:#f0a03024;border-color:#f0a03066}.submission-result-status{font-weight:700}.submission-result-banner--pass .submission-result-status{color:var(--progress-complete-chart)}.submission-result-banner--fail .submission-result-status{color:#b5710a}.submission-result-count{font-weight:600;font-size:.85rem;color:var(--color-brown)}.submission-result-when{margin-left:auto;white-space:nowrap}.submission-section{display:flex;flex-direction:column;gap:.5rem}.submission-subhead{margin:0;font-size:.95rem;color:var(--color-forest)}.submission-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.submission-check{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;border-radius:8px;border:1px solid rgba(27,77,46,.12);background:#fdf9f399}.submission-check--pass{border-color:#22a85a4d}.submission-check--fail{border-color:#d9544059;background:#d954400f}.submission-check-icon{flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800;color:#fff;margin-top:.05rem}.submission-check--pass .submission-check-icon{background:var(--progress-complete-chart)}.submission-check--fail .submission-check-icon{background:#d95440}.submission-check-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.submission-check-name{font-weight:600;color:var(--color-ink);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.submission-check-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .4rem;border-radius:999px;background:#1b4d2e1a;color:var(--color-brown)}.submission-check-msg{font-size:.82rem;color:var(--color-brown);line-height:1.45}.submission-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .85rem}.submissions-bars{display:flex;flex-direction:column;gap:.65rem;--submissions-bar-label-width: 12.5rem;--submissions-bar-pct-width: 2.75rem}.submissions-cohort-bar-row{display:grid;grid-template-columns:var(--submissions-bar-label-width) minmax(0,1fr) var(--submissions-bar-pct-width);gap:.65rem;align-items:center}.submissions-cohort-bar-label{text-align:left;background:none;border:none;padding:.25rem 0;cursor:pointer;font:inherit;color:inherit;min-width:0;overflow:hidden}.submissions-cohort-bar-label:hover .submissions-cohort-bar-name{text-decoration:underline;color:var(--color-forest)}.submissions-cohort-bar-name{display:block;font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submissions-cohort-bar-track{height:.65rem;border-radius:999px;background:#1b4d2e14;overflow:hidden}.submissions-cohort-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6ba336,#8bc34a);transition:width .5s ease-out;min-width:2px}.submissions-cohort-bar-pct{font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums;width:var(--submissions-bar-pct-width);text-align:right;flex-shrink:0}.submissions-stack-row{display:grid;grid-template-columns:var(--submissions-bar-label-width) minmax(0,1fr) var(--submissions-bar-pct-width);gap:.65rem;align-items:center}.submissions-stack-label{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.submissions-stack-track{display:flex;height:.55rem;border-radius:999px;overflow:hidden;background:#1b4d2e0f}.submissions-stack-track--empty{align-items:center;justify-content:center;height:auto;min-height:1.5rem;padding:.25rem}.submissions-stack-seg{display:block;height:100%;transition:width .45s ease-out;min-width:0}.submissions-stack-seg--complete{background:var(--progress-complete-chart)}.submissions-stack-seg--in-progress{background:var(--progress-in-progress-chart)}.submissions-stack-seg--needs-help{background:var(--progress-needs-help-chart)}.submissions-stack-seg--not-started{background:var(--progress-not-started-chart)}.submissions-stack-pct{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-forest);width:var(--submissions-bar-pct-width);text-align:right;flex-shrink:0}.submissions-attention{margin-bottom:1.25rem;padding:1rem 1.15rem;border-radius:12px;border:2px dashed rgba(230,168,60,.45);background:#e6a83c0f}.submissions-attention-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.65rem;margin-top:.75rem}.submissions-attention-card{display:flex;flex-direction:column;gap:.15rem;padding:.85rem;border-radius:10px;text-decoration:none;color:inherit;background:#ffffffb3;border:1px solid rgba(230,168,60,.35);transition:transform .15s ease,box-shadow .15s ease}.submissions-attention-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #e6a83c33}.submissions-attention-count{font-size:1.75rem;font-weight:800;color:#9a3412;line-height:1}.submissions-attention-lesson{font-weight:600;font-size:.88rem;line-height:1.25}.submissions-table-panel{margin-bottom:1rem}.submissions-scope-table{border-collapse:separate;border-spacing:0 .5rem}.submissions-cohort-table-group .submissions-cohort-table-head td{padding:.85rem var(--teacher-panel-inset-x, 1rem) .2rem;border:none;background:transparent}.submissions-cohort-table-group .submissions-cohort-table-row td{vertical-align:middle;background:#ffffff8c;border-top:1px solid rgba(27,77,46,.1);border-bottom:1px solid rgba(27,77,46,.1)}.submissions-cohort-table-group .submissions-cohort-table-row td:first-child{border-left:1px solid rgba(27,77,46,.1);border-radius:12px 0 0 12px}.submissions-cohort-table-group .submissions-cohort-table-row td:last-child{border-right:1px solid rgba(27,77,46,.1);border-radius:0 12px 12px 0}.submissions-table-pill{display:inline-block;min-width:1.75rem;padding:.1rem .45rem;border-radius:999px;font-size:.82rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.submissions-table-pill--complete{background:var(--progress-complete-bg);color:var(--progress-complete-fg)}.submissions-table-pill--in-progress{background:var(--progress-in-progress-bg);color:var(--progress-in-progress-fg)}.submissions-table-pill--needs-help{background:var(--progress-needs-help-bg);color:var(--progress-needs-help-fg)}.submissions-table-pill--not-started{background:var(--progress-not-started-bg);color:var(--progress-not-started-fg)}.cohort-student-progress-section{margin-bottom:1.25rem}.cohort-progress-view-tabs{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;background:#1b4d2e12}.cohort-progress-view-tab{border:none;background:transparent;color:var(--color-ink-muted, #5c5c62);font-size:.82rem;font-weight:700;padding:.35rem .85rem;border-radius:999px;cursor:pointer}.cohort-progress-view-tab.is-active{background:#fffaf2;color:var(--color-forest, #1b4d2e);box-shadow:0 2px 8px #1a1a1b14}.cohort-progress-view-tab:focus-visible{outline:2px solid var(--color-forest, #1b4d2e);outline-offset:2px}.teacher-panel-head-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1.25rem;padding-bottom:.35rem}.teacher-panel-head-row.teacher-pad{padding-bottom:.65rem}.teacher-panel-head-row .teacher-panel-title,.teacher-panel-head-row .submissions-chart-title{padding:0;margin-bottom:0}.teacher-panel-head-copy{min-width:0;flex:1 1 16rem}.teacher-panel-head-copy .teacher-panel-title{margin-bottom:.35rem}.teacher-panel-head-copy .teacher-panel-lede,.teacher-panel-head-copy .cohort-event-log-lede{margin:0;max-width:42rem}.teacher-panel-toolbar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .65rem;align-self:flex-start}.cohort-progress-matrix{padding:0 var(--teacher-panel-inset-x, 1.15rem) 1rem}.cohort-progress-matrix-toolbar{display:flex;flex-wrap:wrap;gap:.65rem .85rem;align-items:flex-end;margin-bottom:.75rem}.cohort-progress-matrix-filter{min-width:10rem;flex:1 1 10rem;margin-bottom:0}.cohort-progress-matrix-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;color:var(--color-ink-muted, #5c5c62);padding-bottom:.45rem;-webkit-user-select:none;user-select:none}.cohort-progress-matrix-hint{margin:0 0 .65rem}.cohort-progress-matrix-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.cohort-progress-matrix-legend-item{font-size:.74rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.cohort-progress-matrix-scroll{overflow:auto;max-height:min(70vh,42rem);border:1px solid rgba(27,77,46,.12);border-radius:.65rem;background:linear-gradient(180deg,#fdf9f3eb,#fffaf2fa);box-shadow:inset 0 1px #ffffffa6}.cohort-progress-matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.cohort-progress-matrix-table th,.cohort-progress-matrix-table td{border-bottom:1px solid rgba(27,77,46,.08);border-right:1px solid rgba(27,77,46,.06);vertical-align:middle}.cohort-progress-matrix-table thead th{position:sticky;top:0;z-index:3;background:#f6f1e8;padding:.55rem .5rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.cohort-progress-matrix-corner{left:0;z-index:4!important;min-width:11rem}.cohort-progress-matrix-sticky-col{position:sticky;left:0;z-index:2;background:#fffaf2;text-align:left;padding:.55rem .75rem;min-width:11rem;max-width:14rem;box-shadow:4px 0 10px #1a1a1b0a}.cohort-progress-matrix-student-name{display:block;font-weight:800}.cohort-progress-matrix-student-email{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cohort-progress-matrix-lesson-head{min-width:7.5rem;max-width:9rem;text-align:center}.cohort-progress-matrix-lesson-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;text-transform:none;letter-spacing:normal;font-weight:800}.cohort-progress-matrix-lesson-closed{display:inline-block;margin-top:.2rem;font-size:.68rem;font-weight:800;color:var(--color-ink-muted, #5c5c62);text-transform:uppercase;letter-spacing:.05em}.cohort-progress-matrix-td{padding:.3rem;min-width:6.75rem}.cohort-progress-matrix-td--filtered{background:#1b4d2e08}.cohort-progress-matrix-cell-empty{display:flex;align-items:center;justify-content:center;min-height:3.1rem;font-size:.9rem;opacity:.35}.cohort-progress-matrix-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;width:100%;min-height:3.1rem;padding:.35rem .3rem;border-radius:.45rem;border:1px solid transparent;font-size:.72rem;font-weight:800;line-height:1.15;text-align:center}.cohort-progress-matrix-cell--clickable{cursor:pointer;border:none;font:inherit;transition:transform .12s ease,box-shadow .12s ease}.cohort-progress-matrix-cell--clickable:hover{transform:translateY(-1px);box-shadow:0 6px 14px #1a1a1b1a}.cohort-progress-matrix-cell--clickable:focus-visible{outline:2px solid var(--color-forest, #1b4d2e);outline-offset:2px}.cohort-progress-matrix-cell-emoji{font-size:1rem;line-height:1}.cohort-progress-matrix-export{padding-bottom:.45rem}.cohort-progress-matrix-cell-label{font-size:.62rem;letter-spacing:.01em;line-height:1.2;max-width:6.5rem}.cohort-progress-matrix-cell--not-started{background:var(--progress-not-started-bg);color:var(--progress-not-started-fg)}.cohort-progress-matrix-cell--in-progress{background:var(--progress-in-progress-bg);color:var(--progress-in-progress-fg)}.cohort-progress-matrix-cell--needs-help{background:var(--progress-needs-help-bg);color:var(--progress-needs-help-fg)}.cohort-progress-matrix-cell--complete{background:var(--progress-complete-bg);color:var(--progress-complete-fg)}.cohort-progress-matrix-empty{padding:1.25rem!important;text-align:center}@media(max-width:640px){.submissions-bars{--submissions-bar-label-width: 7.5rem;--submissions-bar-pct-width: 2.5rem}}.overview-dashboard{max-width:72rem}.overview-hero{align-items:center}.overview-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.overview-trial-banner{margin-bottom:1rem;padding:.65rem 1rem;border-radius:10px;border:2px solid rgba(91,143,212,.35);background:#5b8fd41a;font-size:.92rem}.overview-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.overview-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.overview-section-link{font-size:.85rem;font-weight:700;color:var(--color-forest);text-decoration:none;white-space:nowrap}.overview-section-link:hover{text-decoration:underline}.overview-all-clear{margin-bottom:1.25rem;padding:.85rem 1.1rem;border-radius:12px;border:2px dashed var(--progress-complete-border);background:var(--progress-complete-bg);color:var(--progress-complete-fg);font-weight:600;font-size:.95rem}.overview-main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr);gap:1rem;margin-bottom:1.25rem;align-items:start}@media(max-width:960px){.overview-main-grid{grid-template-columns:1fr}}.overview-side-col{display:flex;flex-direction:column;gap:1rem}.overview-donut{width:8rem;height:8rem}.overview-donut-panel .submissions-donut-hole{width:4.75rem;height:4.75rem}.overview-donut-panel .submissions-donut-pct{font-size:1.35rem}.overview-pulse-list{display:flex;flex-direction:column;gap:.5rem}.overview-pulse-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head pct" "meta pct" "track pct";column-gap:.85rem;row-gap:.3rem;align-items:center;padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(27,77,46,.12);background:#fff9;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.overview-pulse-row:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1b4d2e1f}.overview-pulse-head{grid-area:head;display:flex;align-items:baseline;gap:.5rem;min-width:0;flex-wrap:wrap}.overview-pulse-name{font-weight:700;color:var(--color-forest)}.overview-pulse-meta{grid-area:meta}.overview-pulse-track{grid-area:track;height:.65rem}.overview-pulse-pct{grid-area:pct;font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-forest)}.overview-deadline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.overview-deadline-row{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .7rem;border-radius:8px;border:1px solid rgba(27,77,46,.1);background:#ffffff8c;text-decoration:none;color:inherit}.overview-deadline-row:hover{border-color:#1b4d2e4d}.overview-deadline-lesson{font-weight:600;font-size:.9rem;line-height:1.25}.overview-deadline-chip{align-self:flex-start;padding:.08rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.overview-deadline-chip--overdue{background:var(--progress-needs-help-bg);color:var(--progress-needs-help-fg);border:1px solid var(--progress-needs-help-border)}.overview-deadline-chip--soon{background:var(--progress-in-progress-bg);color:var(--progress-in-progress-fg);border:1px solid var(--progress-in-progress-border)}.overview-deadline-chip--later{background:var(--progress-not-started-bg);color:var(--progress-not-started-fg);border:1px solid var(--progress-not-started-border)}.overview-deadlines-empty{margin:0}.overview-onboarding{margin-bottom:1.25rem;padding:1.25rem 1.4rem;border-radius:14px;border:2px solid rgba(27,77,46,.14);background:#fdf9f3eb}.overview-onboarding-steps{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.overview-onboarding-step{display:flex;gap:.85rem;align-items:flex-start}.overview-onboarding-step p{margin:.25rem 0 .6rem}.overview-step-num{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fdf9f3;background:var(--color-forest)}.overview-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem}.overview-shortcut{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.75rem .9rem;border-radius:10px;border:2px solid rgba(27,77,46,.14);background:#fdf9f3eb;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.overview-shortcut:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1b4d2e1f}.overview-shortcut-icon{color:var(--color-forest)}.overview-shortcut-label{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-shortcut-stat{font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-forest)}.overview-skeleton{margin-bottom:1.25rem}.overview-skeleton-kpi{position:relative;overflow:hidden;padding:1rem 1.1rem;border-radius:12px;border:2px solid rgba(27,77,46,.1);background:var(--color-cream)}.overview-skeleton-kpi-value{width:3.5rem;height:1.75rem;margin:.45rem 0}.overview-skeleton-pulse-list{display:flex;flex-direction:column;gap:.85rem}.overview-skeleton-pulse-row{display:grid;gap:.35rem}.overview-skeleton-track{height:.65rem;border-radius:999px;margin-top:.25rem}.overview-skeleton-donut{width:8.5rem;height:8.5rem;border-radius:50%;margin:0 auto}.overview-skeleton-deadline-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.overview-skeleton-chip{width:5.5rem;height:1.35rem;border-radius:999px}.lesson-visual-epic-frame{position:relative;display:inline-flex;flex:none;border-radius:26%;padding:3px;background:var(--lesson-epic-border, linear-gradient(135deg, #e8c547, #6ba336, #1b4d2e));box-shadow:0 0 0 1px #ffffff47,0 0 22px var(--lesson-epic-glow, rgba(107, 163, 54, .45)),0 8px 24px #0a120e57;isolation:isolate}.lesson-visual-epic-frame:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from 0deg,var(--lesson-epic-shimmer, rgba(255, 255, 255, .5)),transparent 25%,var(--lesson-epic-shimmer, rgba(255, 255, 255, .35)) 50%,transparent 75%,var(--lesson-epic-shimmer, rgba(255, 255, 255, .5)) 100%);opacity:.55;filter:blur(6px);z-index:-1;animation:lesson-epic-shimmer-spin 5s linear infinite}@keyframes lesson-epic-shimmer-spin{to{transform:rotate(360deg)}}.lesson-icon-tile{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:22%;box-shadow:inset 0 0 0 1px #00000014}.lesson-icon-tile--advanced{border-radius:20%;box-shadow:inset 0 1px #ffffff61,inset 0 -10px 22px #0000003d,0 0 0 1px #ffffff1f;filter:saturate(1.14) contrast(1.04)}.lesson-icon-epic-mark{position:absolute;right:-.08rem;bottom:-.08rem;display:inline-flex;align-items:center;justify-content:center;width:.95em;height:.95em;border-radius:999px;font-size:.42em;color:#fffef8;background:linear-gradient(145deg,#fffffff2,#ffffff8c);box-shadow:0 0 0 1.5px #0c141059,0 2px 8px #00000047;z-index:2}.lesson-icon-epic-mark svg{color:#1a2e1f;filter:drop-shadow(0 0 2px rgba(255,255,255,.4))}.lesson-icon-initial{font-weight:800;letter-spacing:.02em}.teacher-library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.teacher-library-actions{flex:none;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.teacher-actions-dropdown{position:relative;display:inline-flex}.teacher-actions-menu{position:absolute;right:0;left:auto;top:calc(100% + .35rem);min-width:14rem;background:#fffdf9;border:2px solid rgba(27,77,46,.18);border-radius:10px;box-shadow:0 8px 24px #1b2e1b29;padding:.35rem;display:flex;flex-direction:column;z-index:40}.teacher-actions-menu--floating{position:fixed;top:auto;right:auto;bottom:auto;z-index:10000}#ccs-floating-overlays{position:relative;z-index:10000}.teacher-actions-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;border:0;border-radius:7px;background:transparent;color:var(--color-ink, #1a1a1b);font:inherit;font-size:.92rem;text-align:left;text-decoration:none;cursor:pointer}.teacher-actions-menu-item:hover{background:#6ba3361f}.teacher-actions-menu-icon{width:1.1rem;color:var(--color-forest, #1b4d2e)}.teacher-actions-menu-divider{height:1px;margin:.3rem .5rem;background:#1b4d2e24}.teacher-library-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem;flex-wrap:wrap}.teacher-library-search{position:relative;flex:1 1 18rem;min-width:14rem}.teacher-library-sort{flex:0 1 auto;min-width:11rem}.teacher-library-sort .input{width:100%}.teacher-library-search-wrap{position:relative;display:block}.teacher-library-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#1b4d2e80;pointer-events:none}.teacher-library-search-input{width:100%;padding-left:2.4rem}.teacher-view-toggle{display:inline-flex;border:2px solid rgba(27,77,46,.22);border-radius:8px;overflow:hidden;flex:none}.teacher-view-toggle-btn{border:0;background:transparent;padding:.5rem .8rem;font-size:.95rem;color:#1b4d2e8c;cursor:pointer}.teacher-view-toggle-btn+.teacher-view-toggle-btn{border-left:1px solid rgba(27,77,46,.18)}.teacher-view-toggle-btn.is-active{background:#6ba33629;color:var(--color-forest, #1b4d2e)}.teacher-lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.55rem;align-items:stretch;padding:.15rem 0 .35rem}.teacher-lesson-card-wrap{position:relative;height:16.5rem;border-radius:16px;transition:transform .26s cubic-bezier(.22,1,.36,1),z-index 0s linear .26s}.teacher-lesson-card-wrap--advanced{padding:3px;border-radius:18px;background:var(--lesson-epic-border);box-shadow:0 0 0 1px #ffffff38,0 0 28px var(--lesson-epic-glow),0 10px 28px #0a120e52}.teacher-lesson-card-wrap--advanced:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;background:conic-gradient(from 45deg,var(--lesson-epic-shimmer),transparent 30%,var(--lesson-epic-shimmer) 55%,transparent 80%);opacity:.45;filter:blur(10px);z-index:0;pointer-events:none;animation:lesson-epic-shimmer-spin 6s linear infinite}.teacher-lesson-card-wrap--advanced .teacher-lesson-card{height:100%;box-shadow:inset 0 1px #fff3,inset 0 -18px 36px #0000002e}.teacher-lesson-card-wrap:hover,.teacher-lesson-card-wrap:focus-within{z-index:4;transform:scale(1.045);transition:transform .26s cubic-bezier(.22,1,.36,1),z-index 0s}.teacher-lesson-card{position:relative;height:100%;border-radius:16px;background:var(--lesson-card-bg, #1b4d2e);overflow:hidden;box-shadow:0 6px 18px #151f1a24,inset 0 0 0 1px #ffffff14;transition:box-shadow .26s ease}.teacher-lesson-card-wrap:hover .teacher-lesson-card,.teacher-lesson-card-wrap:focus-within .teacher-lesson-card{box-shadow:0 18px 38px #151f1a47,inset 0 0 0 1px #ffffff1f}.teacher-lesson-card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.05rem 1.1rem;text-decoration:none;color:inherit;z-index:1;transition:transform .14s cubic-bezier(.34,1.25,.64,1)}.teacher-lesson-card-play:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,#0000000a,#0000 38%,#00000057)}.teacher-lesson-card-wrap[data-tone=light] .teacher-lesson-card-play:before{background:linear-gradient(180deg,#ffffff14,#fff0 38%,#0000002e)}.teacher-lesson-card-play:active{transform:scale(.975)}.teacher-lesson-card-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(5.5rem,42%,8.5rem);opacity:.22;transform:translateY(-8%);pointer-events:none;z-index:0;filter:saturate(1.05)}.teacher-lesson-card-watermark svg{width:1em;height:1em}.teacher-lesson-card-body{position:relative;z-index:2;display:flex;flex-direction:column;gap:.35rem;min-height:0}.teacher-lesson-card-title{margin:0;font-size:1.02rem;font-weight:800;line-height:1.25;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 12px rgba(0,0,0,.22)}.teacher-lesson-card-wrap[data-tone=light] .teacher-lesson-card-title{text-shadow:0 1px 10px rgba(255,255,255,.35)}.teacher-lesson-card-blurb{margin:0;font-size:.78rem;line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 10px rgba(0,0,0,.18)}.teacher-lesson-card-wrap[data-tone=light] .teacher-lesson-card-blurb{text-shadow:0 1px 8px rgba(255,255,255,.28)}.teacher-lesson-card-play-badge{position:absolute;top:50%;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:#fdf9f3f0;color:var(--color-forest, #1b4d2e);font-size:.95rem;box-shadow:0 10px 28px #151f1a47;transform:translate(-50%,-50%) scale(.82);opacity:0;transition:opacity .2s ease,transform .26s cubic-bezier(.22,1,.36,1);pointer-events:none}.teacher-lesson-card-play-badge svg{margin-left:.12rem}.teacher-lesson-card-wrap:hover .teacher-lesson-card-play-badge,.teacher-lesson-card-wrap:focus-within .teacher-lesson-card-play-badge{opacity:1;transform:translate(-50%,-50%) scale(1)}.teacher-lesson-card-toolbar{position:absolute;top:.65rem;right:.65rem;z-index:3;display:flex;gap:.35rem;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1);pointer-events:none}.teacher-lesson-card-wrap:hover .teacher-lesson-card-toolbar,.teacher-lesson-card-wrap:focus-within .teacher-lesson-card-toolbar{opacity:1;transform:translateY(0);pointer-events:auto}.teacher-lesson-card-tool{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border:none;border-radius:999px;background:#fdf9f3f0;color:var(--color-forest, #1b4d2e);font-size:.88rem;cursor:pointer;text-decoration:none;box-shadow:0 6px 16px #151f1a33;transition:transform .14s ease,background .14s ease,color .14s ease}.teacher-lesson-card-tool:hover{transform:scale(1.08);background:#fff}.teacher-lesson-card-tool:active{transform:scale(.94)}.teacher-lesson-card-tool--danger{color:var(--color-accent-red, #c41e3a)}.teacher-lesson-card-tool--danger:hover{background:#c41e3a1a}.teacher-lesson-card-tool:disabled{opacity:.55;cursor:not-allowed;transform:none}@media(prefers-reduced-motion:reduce){.teacher-lesson-card-wrap,.teacher-lesson-card,.teacher-lesson-card-play,.teacher-lesson-card-play-badge,.teacher-lesson-card-toolbar,.teacher-lesson-card-tool{transition:none}.teacher-lesson-card-wrap:hover,.teacher-lesson-card-wrap:focus-within{transform:none}.lesson-visual-epic-frame:before,.teacher-lesson-card-wrap--advanced:before{animation:none}}.teacher-lesson-row-title{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.teacher-lesson-row-title:hover strong{text-decoration:underline}.teacher-lesson-row-actions>:not(:first-child){margin-left:.5rem}.teacher-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;text-decoration:none}.teacher-lesson-detail-hero{display:flex;align-items:flex-start;gap:1.1rem;padding:1.1rem 1.2rem;margin-bottom:1rem;border:2px solid rgba(27,77,46,.14);border-radius:12px;background:linear-gradient(135deg,#fdf9f3,#e8f0e48c);flex-wrap:wrap}.teacher-lesson-detail-hero-text{flex:1 1 18rem;min-width:14rem}.teacher-lesson-detail-title{margin:0 0 .3rem;font-size:1.25rem;color:var(--color-forest, #1b4d2e)}.teacher-lesson-detail-blurb{margin:0 0 .4rem;font-size:.95rem}.teacher-lesson-detail-prompt{margin:0}.teacher-lesson-detail-hero-actions{display:flex;flex-direction:column;gap:.5rem;flex:none}.teacher-lesson-detail-hero-actions .btn{white-space:nowrap}.teacher-lesson-appearance{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.teacher-lesson-appearance-icon{flex:1 1 10rem;min-width:9rem;margin-bottom:0}.teacher-lesson-appearance-color{flex:none;margin-bottom:0}.teacher-color-input{width:3.4rem;height:2.4rem;padding:.15rem;cursor:pointer}.teacher-lesson-appearance-preview{margin-bottom:.1rem}.lesson-icon-picker-trigger{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.lesson-icon-picker-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-icon-picker-modal-card{max-width:42rem;width:min(42rem,calc(100vw - 2rem))}.lesson-icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.45rem;max-height:20rem;overflow-y:auto;margin-top:.35rem;padding:.15rem}.lesson-icon-picker-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem .3rem;border-radius:10px;border:2px solid rgba(27,77,46,.12);background:#ffffffb8;cursor:pointer;font:inherit;font-size:.68rem;line-height:1.2;text-align:center;color:var(--color-forest)}.lesson-icon-picker-option:hover{border-color:#1b4d2e59;background:#fff}.lesson-icon-picker-option.is-selected{border-color:var(--color-forest);background:#fff;box-shadow:0 0 0 1px #1b4d2e1f}.lesson-icon-picker-swatch{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:22%;font-size:1.15rem;box-shadow:inset 0 0 0 1px #00000014}.lesson-icon-picker-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;width:100%}.lesson-icon-picker-empty{margin:.5rem 0 0}.teacher-nav-icon{margin-right:.55rem;opacity:.85}.student-app{display:flex;min-height:100vh;width:100%;max-width:100%;margin:0;background:var(--color-cream)}.student-sidebar{width:14.5rem;flex-shrink:0;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1rem 1rem;background:linear-gradient(180deg,#1b4d2e1a,#fdf9f3f5);border-right:3px solid rgba(27,77,46,.18);position:sticky;top:0;align-self:flex-start;height:100dvh;max-height:100dvh;overflow-y:auto;box-sizing:border-box}.student-sidebar-brand{display:flex;flex-direction:column;gap:.2rem}.student-sidebar-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-brown);font-weight:700}.student-sidebar-email{font-size:.82rem;color:#1a1a1bbf;word-break:break-word}.student-sidebar-nav{display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}.student-sidebar-link{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:8px;font-weight:600;font-size:.92rem;color:var(--color-forest);text-decoration:none;border:2px solid transparent}.student-sidebar-link:hover{background:#fdf9f3d9;border-color:#1b4d2e2e}.student-sidebar-link--active{background:var(--color-cream);border-color:var(--color-forest);box-shadow:0 2px 8px #1b4d2e1a}.student-sidebar-signout{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:.45rem}.student-sidebar-section-label{display:block;margin:.65rem 0 .35rem;padding:0 .15rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-brown)}.student-sidebar-cohorts{display:flex;flex-direction:column;gap:.45rem;margin-top:.25rem}.student-sidebar-cohort-list{display:flex;flex-direction:column;gap:.55rem}.student-sidebar-cohort-link{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit;border-radius:10px;padding:.15rem;border:2px solid transparent;transition:border-color .12s ease,box-shadow .12s ease}.student-sidebar-cohort-link:hover{border-color:#1b4d2e38}.student-sidebar-cohort-link--active{border-color:var(--color-forest);box-shadow:0 2px 8px #1b4d2e1f}.student-sidebar-cohort-card{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;background:var(--cohort-thumb-bg, linear-gradient(135deg, #1b4d2e, #2e7d52));color:#fdf9f3}.student-sidebar-cohort-card--image{background:#0a120d}.student-sidebar-cohort-card-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.student-sidebar-cohort-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom right,var(--cohort-thumb-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.student-sidebar-cohort-card-title{position:absolute;top:.45rem;left:.5rem;right:.5rem;z-index:2;font-size:.78rem;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.45)}.student-sidebar-cohort-card--image .student-sidebar-cohort-card-title{color:#fdf9f3}.student-sidebar-cohort-label{font-size:.78rem;font-weight:600;color:var(--color-forest);line-height:1.25;padding:0 .2rem}.student-sidebar-cohort-swatch{display:block;width:2.65rem;height:2.65rem;margin:0 auto;border-radius:8px;overflow:hidden;position:relative;background:var(--cohort-swatch-bg, linear-gradient(135deg, #1b4d2e, #2e7d52));border:2px solid transparent;box-shadow:0 2px 6px #0a120d24;transition:border-color .12s ease,transform .12s ease}.student-sidebar-cohort-swatch:hover{transform:translateY(-1px)}.student-sidebar-cohort-swatch--active{border-color:var(--color-forest);box-shadow:0 0 0 2px var(--color-cream),0 2px 8px #1b4d2e33}.student-sidebar-cohort-swatch-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.student-sidebar-cohort-swatch-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom right,var(--cohort-thumb-scrim, #0f2a1a) 0%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 88%,transparent) 20%,color-mix(in srgb,var(--cohort-thumb-scrim, #0f2a1a) 42%,transparent) 40%,transparent 66%)}.student-sidebar.is-collapsed .student-sidebar-cohort-list{align-items:center;gap:.45rem}.student-sidebar.is-collapsed .student-sidebar-cohorts{margin-top:.15rem}.student-main{flex:1;min-width:0}.student-page-inner .card{border:none;box-shadow:none;background:transparent;padding:1.25rem 1.5rem 2rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#1b4d2e12 25%,#1b4d2e21,#1b4d2e12 75%);background-size:200% 100%;animation:skeleton-shimmer 1.25s ease-in-out infinite;border-radius:8px}.skeleton--eyebrow{width:4.5rem;height:.75rem;border-radius:999px}.skeleton--title{width:min(16rem,72%);height:2rem;margin-top:.45rem}.skeleton--lede{width:min(24rem,92%);height:1rem;margin-top:.55rem}.skeleton--panel-title{width:6.5rem;height:1.1rem;margin-bottom:.85rem}.skeleton--panel-title-wide{width:11rem}.skeleton--line{height:.85rem}.skeleton--line-lg{width:72%}.skeleton--line-md{width:48%;margin-top:.45rem}.skeleton--line-sm{width:34%;margin-top:.35rem}.skeleton--lesson-icon{width:3.25rem;height:3.25rem;border-radius:12px;flex-shrink:0}.skeleton--lesson-icon-sm{width:2.5rem;height:2.5rem}.skeleton--button{width:7.5rem;height:2.35rem;margin-top:.75rem;border-radius:999px}.skeleton--input{width:min(20rem,100%);height:2.65rem}.skeleton--nav-icon{width:1rem;height:1rem;border-radius:4px;flex-shrink:0}.skeleton--nav-label{height:.85rem;flex:1;max-width:7rem}.student-home-skeleton-header{width:100%}.student-home-skeleton-callout{min-height:7.5rem}.student-home-skeleton-up-next{flex:1;min-width:0}.student-home-skeleton-lessons{display:flex;flex-direction:column;gap:.75rem}.student-home-skeleton-lesson-row{display:flex;align-items:center;gap:.85rem}.student-home-skeleton-lesson-copy{flex:1;min-width:0}.student-sidebar-link--skeleton{pointer-events:none;border-color:transparent;background:transparent}.student-sidebar.is-collapsed .skeleton--nav-label{display:none}.student-progress-callout{background:linear-gradient(135deg,#1b4d2e14,#fdf9f3f2);border:2px solid rgba(27,77,46,.14)}.student-up-next-row{display:flex;align-items:flex-start;gap:1rem}.student-cohort-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.student-cohort-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(27,77,46,.14);background:#ffffffa6}.student-lesson-availability{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700}.student-lesson-availability--open{background:#22a85a24;color:#156b38}.student-lesson-availability--closed{background:#5a5a5f1f;color:#1a1a1bb8}.student-lesson-availability--planned{background:#5b8fd424;color:#2f5f9e}.student-display-status{display:inline-flex;padding:.22rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700}.student-display-status--open.student-display-status--not_started{background:#8fa88a33;color:#4a5f48}.student-display-status--open.student-display-status--in_progress{background:#5b8fd429;color:#2f5f9e}.student-display-status--open.student-display-status--complete,.student-display-status--closed.student-display-status--complete{background:#22a85a29;color:#156b38}.student-display-status--closed.student-display-status--missed{background:#c8504624;color:#9a3b32}.student-display-status--closed.student-display-status--incomplete{background:#f0a03029;color:#9a5d12}.teacher-join-hero{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin:0 0 1.25rem;padding:1.1rem 1.25rem;border-radius:14px;border:2px solid rgba(27,77,46,.2);background:linear-gradient(135deg,#1b4d2e1f,#fdf9f3fa 55%,#f0a03014)}.teacher-join-hero-title{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-forest)}.teacher-join-hero-code{margin:0;flex:1 1 auto}.teacher-join-hero-code code{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:800;letter-spacing:.12em;color:var(--color-forest);background:#ffffffb8;padding:.35rem .75rem;border-radius:10px}.lesson-preview-tile{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:10px;overflow:hidden;text-decoration:none;background:var(--lesson-preview-bg, #1b4d2e);border:none;transition:transform .15s ease;vertical-align:middle}.lesson-preview-tile--sm{width:3.25rem;height:3.25rem}.lesson-preview-tile--md{width:3.75rem;height:3.75rem}.lesson-preview-tile-epic-wrap{width:calc(3.25rem + 6px);height:calc(3.25rem + 6px);border-radius:12px;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center}.lesson-preview-tile-epic-wrap .lesson-preview-tile{width:100%;height:100%;border:none;box-shadow:inset 0 1px #ffffff52,inset 0 -8px 16px #0003}.lesson-preview-tile--advanced{filter:saturate(1.12)}.lesson-preview-tile-advanced-mark{position:absolute;right:2px;bottom:2px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;border-radius:999px;font-size:.48rem;color:#1a2e1f;background:#ffffffeb;box-shadow:0 0 0 1px #0c141040;pointer-events:none}.lesson-preview-tile-watermark{font-size:1.15rem;transition:opacity .15s ease}.lesson-preview-tile-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#151f1a6b;color:#fdf9f3;opacity:0;transition:opacity .15s ease}.lesson-preview-tile:hover .lesson-preview-tile-play,.lesson-preview-tile:focus-visible .lesson-preview-tile-play{opacity:1}.assignment-due-visual{margin:.85rem 0 1rem;padding:1.35rem 1.1rem;border-radius:12px;text-align:center;color:#fdf9f3}.assignment-due-visual--morning{background:linear-gradient(145deg,#f6a623,#ffd56b 45%,#7ec8e8);color:#1a2e1f}.assignment-due-visual--afternoon{background:linear-gradient(145deg,#5eb3ff,#87cefa,#fdf9f3);color:#1a2e1f}.assignment-due-visual--evening{background:linear-gradient(145deg,#e87830,#c45c8a 45%,#3d2a5c)}.assignment-due-visual--night{background:linear-gradient(145deg,#0f1a2e,#1b2d4d 40%,#2a1f4e)}.assignment-due-visual-headline{margin:0;font-size:1.45rem;font-weight:800}.assignment-due-visual-detail{margin:.35rem 0 0;font-size:.88rem;opacity:.92}.assignment-due-assign-hint{margin:0 0 .75rem}.assignment-due-assigned-lede{margin:.75rem 0 1rem;line-height:1.45}.assignment-due-link-preview{margin-bottom:1rem;padding:.75rem .85rem;border-radius:.5rem;background:var(--color-surface-muted, #f4f4f5);border:1px solid var(--color-border, #e4e4e7);overflow-x:auto}.assignment-due-link-preview-code{font-size:.82rem;word-break:break-all;white-space:pre-wrap}.student-assignment-gate h1{margin-bottom:.5rem}.cohort-lesson-insert-row td{padding:0!important;border:none!important;background:transparent!important;height:.55rem;vertical-align:middle}.cohort-lesson-insert-slot{display:flex;justify-content:center;align-items:center;height:100%;position:relative}.cohort-lesson-insert-btn{position:relative;opacity:0;pointer-events:none;width:1.55rem;height:1.55rem;border-radius:999px;border:2px solid var(--color-forest);background:var(--color-cream);color:var(--color-forest);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .12s ease;z-index:1}.cohort-lesson-insert-row:hover .cohort-lesson-insert-btn,.cohort-lesson-insert-row:focus-within .cohort-lesson-insert-btn{opacity:1;pointer-events:auto}.cohort-lesson-insert-btn:disabled{opacity:.35;cursor:not-allowed}.teacher-cohort-plan-board{--cohort-plan-grid-columns: 1.85rem 1.85rem 1.65rem 3.75rem minmax(0, 1fr) 5.75rem 6.25rem 7.25rem 2rem;--cohort-plan-grid-columns-readonly: 1.65rem 3.75rem minmax(0, 1fr) 5.75rem 6.25rem 7.25rem;padding:0 1rem 1rem;overflow:visible}.teacher-cohort-plan-toolbar{padding:0 .9rem}.teacher-cohort-plan-header-grip{width:1.85rem}.teacher-cohort-plan-header{display:grid;grid-template-columns:var(--cohort-plan-grid-columns);align-items:end;gap:.75rem;padding:.5rem .9rem .65rem;font-size:.82rem;font-weight:700;color:var(--color-brown);border-bottom:1px solid rgba(27,77,46,.1)}.teacher-cohort-plan-header--readonly{grid-template-columns:var(--cohort-plan-grid-columns-readonly)}.teacher-cohort-plan-header-check{display:inline-flex;align-items:center;justify-content:center;width:1.85rem}.teacher-cohort-plan-header-step{width:1.65rem}.teacher-cohort-plan-header-icon{width:3.75rem}.teacher-cohort-plan-header-label--lesson{grid-column:5}.teacher-cohort-plan-header-label--lifecycle{grid-column:6}.teacher-cohort-plan-header-label--due{grid-column:7}.teacher-cohort-plan-header-label--actions{grid-column:8}.teacher-cohort-plan-header--readonly .teacher-cohort-plan-header-label--lesson{grid-column:3}.teacher-cohort-plan-header--readonly .teacher-cohort-plan-header-label--lifecycle{grid-column:4}.teacher-cohort-plan-header--readonly .teacher-cohort-plan-header-label--due{grid-column:5}.teacher-cohort-plan-header--readonly .teacher-cohort-plan-header-label--actions{grid-column:6}.teacher-cohort-plan-header-remove{grid-column:9}.teacher-cohort-plan-card{display:grid;grid-template-columns:var(--cohort-plan-grid-columns);align-items:center;gap:.75rem;padding:.85rem .9rem;border:2px solid rgba(27,77,46,.14);border-radius:14px;background:#fdf9f3f2;box-shadow:0 4px 14px #1b2e1b0f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease;overflow:visible}.teacher-cohort-plan-card.is-source{opacity:.45;transform:scale(.98);border-style:dashed}.teacher-cohort-plan-card.is-idle-during-drag{transform:translateY(0)}.teacher-cohort-plan-card--readonly{grid-template-columns:var(--cohort-plan-grid-columns-readonly)}.teacher-cohort-plan-card:hover{border-color:#1b4d2e47;box-shadow:0 8px 22px #1b2e1b1a}.teacher-cohort-plan-card-check{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;min-height:1.65rem}.teacher-cohort-plan-card-title{font-weight:700;font-size:1rem;line-height:1.3;min-width:0}.teacher-cohort-plan-card-icon{width:3.75rem;display:flex;align-items:center;justify-content:center}.teacher-cohort-plan-card-lifecycle{display:flex;align-items:center;justify-content:flex-start;width:100%}.teacher-cohort-plan-card-due{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0}.teacher-cohort-plan-due-compact{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.2;text-align:left}.teacher-cohort-plan-due-compact-line1{font-size:.84rem;font-weight:600}.teacher-cohort-plan-due-compact-line2{font-size:.82rem;opacity:.88}.teacher-cohort-plan-due-empty{font-size:.95rem;line-height:1}.teacher-cohort-plan-due-btn{height:auto;min-height:2.35rem;padding:.35rem .65rem;white-space:normal}.teacher-cohort-plan-due-btn--empty{font-size:.84rem}.teacher-cohort-plan-card-closed-date{font-size:.84rem;color:var(--color-brown, #5c4a3a);line-height:1.35}.teacher-cohort-plan-card-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;width:100%}.cohort-assignment-actions-menu{min-width:10rem}.add-lesson-modal-card{max-width:36rem;width:min(36rem,calc(100vw - 2rem))}.add-lesson-library-list{max-height:14rem;overflow-y:auto;margin-top:.35rem}.add-lesson-library-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.add-lesson-library-item{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(27,77,46,.14);background:#ffffffb8;cursor:pointer;font:inherit}.add-lesson-library-item-title{flex:1;min-width:0}.add-lesson-library-match-badge{flex-shrink:0;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--forest, #1b4d2e);background:#1b4d2e1a;border:1px solid rgba(27,77,46,.2);border-radius:999px;padding:.15rem .45rem}.add-lesson-draft-section{margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(27,77,46,.12)}.add-lesson-draft-section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin:0 0 .45rem}.add-lesson-draft-section-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brown, #5c4a3a)}.add-lesson-draft-section-note{line-height:1.35}.add-lesson-library-draft-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#4a3d8f;background:#6a5acd1f;border:1px solid rgba(106,90,205,.24);border-radius:999px;padding:.15rem .45rem}.add-lesson-library-item--draft{background:#6a5acd0a}.add-lesson-focus-hint{margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#1b4d2e0f;border:1px solid rgba(27,77,46,.12)}.add-lesson-library-item:hover:not(:disabled){border-color:#1b4d2e59;background:#fff}.add-lesson-create-row,.add-lesson-ai-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-bottom:.85rem}.add-lesson-ready-row{display:flex;gap:.85rem;align-items:center}.add-lesson-ready-row--new{padding:.55rem .65rem;border-radius:10px;border:1px solid rgba(27,77,46,.22);background:#ffffffeb}.add-lesson-ready-title{flex:1;min-width:0}.add-lesson-ready-stack{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.25rem}.add-lesson-neighbor-card{display:flex;align-items:center;gap:.65rem;padding:.4rem .55rem;border-radius:8px;border:1px dashed rgba(27,77,46,.18);background:#ffffff6b;opacity:.72}.add-lesson-neighbor-card-title{flex:1;min-width:0;font-size:.92rem;color:#151f1ac7}.add-lesson-saving{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 .85rem}.add-lesson-modal-lede{min-height:1.25rem}.student-app .student-main{max-width:none;flex:1;min-width:0}.student-app .page{min-height:auto;display:block;width:100%;max-width:none;padding:0;margin:0}.student-app .student-page-inner{width:100%;max-width:68rem;margin:0 auto;box-sizing:border-box}.student-app .student-page-inner .card,.student-app .student-page-inner.card-wide{width:100%;max-width:none;text-align:left}.student-app .student-page-inner .card{border:none;box-shadow:none;background:transparent;padding:1.1rem 1.25rem 2rem;border-radius:0}.student-app .student-page-inner .panel{padding:.85rem .95rem}.student-app .student-page-inner h1{font-size:clamp(1.45rem,3.5vw,2rem)}.student-app .student-page-inner .lede{font-size:1rem}.student-lesson-cards{display:none;flex-direction:column;gap:.75rem}.student-lesson-card{display:flex;flex-direction:column;gap:.65rem;padding:.9rem 1rem;border-radius:12px;border:2px solid rgba(27,77,46,.16);background:#ffffffc7;box-shadow:0 2px 8px #151f1a0f}.student-lesson-card--advanced{border:2px solid transparent;background:linear-gradient(#ffffffd1,#ffffffd1) padding-box,var(--lesson-epic-border, linear-gradient(135deg, #e8c547, #6ba336, #1b4d2e)) border-box;box-shadow:0 0 18px var(--lesson-epic-glow, rgba(107, 163, 54, .18)),0 8px 20px #151f1a1a}.student-lesson-card-head{display:flex;align-items:flex-start;gap:.75rem}.student-lesson-card-title-block{flex:1;min-width:0}.student-lesson-card-title{margin:0;font-size:1.05rem;line-height:1.3;color:var(--color-forest);word-break:break-word}.student-lesson-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.student-lesson-card-due{margin:0;font-size:.88rem}.student-lesson-card-due--past{color:#9a3b32;font-weight:600}.student-lesson-card-action{margin-top:.15rem}.student-lesson-card-action .btn.tight{align-self:flex-start;width:auto;min-height:auto}.student-lesson-card-btn{display:flex;width:100%;justify-content:center;min-height:2.75rem;text-decoration:none;font-size:1rem}.student-lessons-table-wrap--wide{display:block}@media(max-width:1100px){.student-app{flex-direction:column}.student-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;padding:.65rem .85rem;border-right:none;border-bottom:3px solid rgba(27,77,46,.18);position:sticky;top:0;z-index:30;height:auto;max-height:none;overflow:visible}.student-sidebar .app-sidebar-head{order:2;width:auto;margin-bottom:0;margin-left:auto;padding-left:0}.student-sidebar.is-collapsed{width:100%;flex-wrap:nowrap;padding:.55rem .75rem;gap:.5rem}.student-sidebar.is-collapsed .app-sidebar-brand{display:inline-flex;flex:1 1 auto;min-width:0;order:1;justify-content:flex-start}.student-sidebar.is-collapsed .app-sidebar-brand-name{display:inline}.student-sidebar.is-collapsed .app-sidebar-workspace,.student-sidebar.is-collapsed .app-sidebar-email,.student-sidebar.is-collapsed .student-sidebar-nav,.student-sidebar.is-collapsed .app-sidebar-footer,.student-sidebar .app-sidebar-workspace,.student-sidebar .app-sidebar-email{display:none}.app-sidebar-brand{flex:1 1 auto;min-width:0;order:1}.app-sidebar-workspace,.app-sidebar-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-head{order:2;width:auto;margin-left:auto;padding-left:0}.student-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:.35rem;margin-top:0;width:100%;order:3}.student-sidebar-link{flex:1 1 calc(50% - .35rem);min-height:2.65rem;justify-content:center;font-size:.88rem;padding:.45rem .55rem}.student-sidebar-signout{margin-top:0;width:auto;flex:1 1 calc(50% - .35rem);min-height:2.65rem}.student-sidebar .app-sidebar-footer{flex-direction:row;flex-wrap:wrap;width:100%;margin-top:0;order:4;gap:.35rem}.student-sidebar .app-sidebar-support{flex:1 1 100%;margin:0}.student-app .student-page-inner .card{padding:.85rem .75rem 1.5rem}.student-lesson-cards{display:flex}.student-lessons-table-wrap--wide{display:none}.student-up-next-row{flex-direction:column;align-items:stretch}.student-up-next-row .btn,.student-up-next-row .student-lesson-card-btn{width:100%}.student-cohort-list-item{flex-direction:column;align-items:stretch;gap:.65rem}.student-cohort-list-item .btn{width:100%;justify-content:center;min-height:2.65rem}.student-app .actions.inline{flex-direction:column;align-items:stretch}.student-app .actions.inline .input{width:100%}.student-app .actions.inline .btn{width:100%;min-height:2.65rem}.student-app .stack-form .actions{flex-direction:column;align-items:stretch}.student-app .stack-form .actions .btn{width:100%;min-height:2.65rem;justify-content:center}.student-app .student-progress-callout .actions{flex-direction:column;align-items:stretch}.student-app .student-progress-callout .actions .btn{width:100%;min-height:2.65rem;justify-content:center}.student-app .student-responsive-table thead{display:none}.student-app .student-responsive-table tbody tr{display:block;margin-bottom:.75rem;padding:.85rem .95rem;border-radius:12px;border:2px solid rgba(27,77,46,.14);background:#ffffffc7}.student-app .student-responsive-table tbody td{display:block;padding:.3rem 0;border:none}.student-app .student-responsive-table tbody td:before{content:attr(data-label);display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#1a1a1b8c;margin-bottom:.15rem}.student-app .student-responsive-table tbody td:not([data-label]):before,.student-app .student-responsive-table tbody td.teacher-table-actions:before{display:none}.student-app .student-responsive-table tbody td.teacher-table-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.45rem}.student-app .student-responsive-table tbody td.teacher-table-actions .btn{min-height:2.35rem;justify-content:center}.student-app .student-responsive-table tbody td.teacher-table-actions .btn.primary{flex:1 1 auto;width:100%}.student-app .student-responsive-table tbody td.teacher-table-actions .btn.secondary{flex:0 1 auto;width:auto}}@media(max-width:640px){.student-sidebar-link .student-nav-text,.student-sidebar-signout .student-nav-text{font-size:.82rem}.student-sidebar-email{display:none}.student-app .student-page-inner .panel{padding:.75rem .65rem}.student-app .row-header{flex-direction:column;gap:.5rem}}@media(min-width:1101px){.student-lessons-table-wrap--wide{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-app .student-lessons-table{width:100%;min-width:0}}.landing{min-height:100vh;width:100%}.landing-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;padding:.7rem clamp(1rem,4vw,2.5rem);background:#fdf9f3e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(27,77,46,.12)}.landing-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--color-forest)}.landing-brand-logo{border-radius:50%;border:2px solid var(--color-forest);background:var(--color-cream)}.landing-brand-name{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}.landing-nav-links{display:flex;gap:1.3rem;margin-left:auto}.landing-nav-links a,.landing-nav-link{color:var(--color-brown);text-decoration:none;font-weight:600;font-size:.95rem}.landing-nav-links a:hover,.landing-nav-link:hover{color:var(--color-forest)}.landing-nav-link--active{color:var(--color-forest);border-bottom:2px solid var(--color-frog);padding-bottom:.1rem}.landing-nav-actions{display:flex;align-items:center;gap:.6rem;margin-left:.5rem}.landing-nav-actions .btn{padding:.5rem 1rem;font-size:.95rem}.landing-hero{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,2.5rem);background:radial-gradient(120% 120% at 80% 0%,#eef6e9 0%,transparent 60%)}.landing-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.landing-hero-title{font-size:clamp(2.1rem,4.5vw,3.4rem);line-height:1.05;color:var(--color-forest);margin:.4rem 0 .9rem;letter-spacing:-.02em}.landing-hero-lede{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55;color:var(--color-ink);max-width:38ch}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 .75rem}.landing-cta{padding:.8rem 1.5rem;font-size:1.05rem}.landing-hero-visual{min-width:0}.landing-section{padding:clamp(2.5rem,5vw,4.5rem) clamp(1rem,4vw,2.5rem)}.landing-section--tint{background:linear-gradient(180deg,#6ba3360f,#1b4d2e0a)}.landing-section-inner{max-width:1180px;margin:0 auto}.landing-section-head{max-width:60ch;margin:0 auto 2rem;text-align:center}.landing-section-title{font-size:clamp(1.7rem,3vw,2.5rem);color:var(--color-forest);margin:.3rem 0 .6rem;letter-spacing:-.015em}.landing-section-lede{font-size:1.08rem;line-height:1.55;color:var(--color-ink);margin:0}.landing-aside{max-width:60ch;margin:0 auto;text-align:center}.landing-checklist{list-style:none;margin:0 auto;padding:0;display:grid;gap:.6rem;max-width:46ch;text-align:left}.landing-checklist li{display:flex;gap:.6rem;align-items:baseline;color:var(--color-ink)}.landing-checklist li svg{color:var(--color-frog);flex:0 0 auto}.landing-note{margin-top:1.2rem}.landing-ai-demo{display:grid;grid-template-rows:auto 1fr;gap:1rem;min-height:40rem;background:var(--color-cream);border:3px solid var(--color-forest);border-radius:1.4rem;padding:1.1rem;box-shadow:var(--shadow)}.landing-ai-prompt{display:grid;gap:.6rem}.landing-ai-prompt-label{margin:0;font-weight:700;color:var(--color-forest);display:flex;align-items:center;gap:.45rem}.landing-ai-prompt-box{min-height:5.6rem;background:#fff;border:2px solid rgba(27,77,46,.2);border-radius:.8rem;padding:.7rem .85rem;font-size:1rem;line-height:1.45;color:var(--color-ink)}.landing-ai-caret{display:inline-block;width:2px;height:1.1em;margin-left:1px;background:var(--color-frog);vertical-align:text-bottom;animation:landing-blink 1s steps(2,start) infinite}@keyframes landing-blink{to{visibility:hidden}}.landing-ai-fake-btn{justify-self:start;pointer-events:none;padding:.5rem 1rem;font-size:.95rem}.landing-ai-stage{min-height:0;display:grid;grid-template-rows:1fr;align-items:stretch;overflow:hidden}.landing-ai-stage>.landing-ai-layer{grid-area:1 / 1;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;transition:opacity .4s ease}.landing-ai-stage>.landing-ai-layer>*{flex:1 1 auto;width:100%;min-height:0;height:100%}.landing-ai-layer[data-visible=false]{opacity:0;visibility:hidden;pointer-events:none}.landing-ai-layer[data-visible=true]{opacity:1}.landing-ai-stage-panel{min-height:100%;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.landing-ai-stage .teacher-ai-progress.landing-ai-stage-panel,.landing-ai-stage .landing-ai-stage-panel.teacher-ai-progress{min-height:100%;height:100%}.landing-ai-stage .teacher-ai-progress{margin:0;height:100%;max-height:100%;overflow:hidden;box-sizing:border-box;box-shadow:none;padding:.85rem 1rem;display:flex;flex-direction:column}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-header{margin-bottom:.6rem;flex:0 0 auto}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-title{font-size:1.1rem}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-lede{font-size:.85rem;line-height:1.4}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-bar,.landing-ai-demo .landing-ai-stage .teacher-ai-progress-active{margin-bottom:.6rem;flex:0 0 auto}.landing-ai-stage .teacher-ai-progress-active-detail{display:block;min-height:2.2em}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-steps{margin-bottom:0;gap:.3rem;flex:1 1 auto;min-height:0;overflow:hidden}.landing-ai-demo .landing-ai-stage .teacher-ai-progress-step{font-size:.82rem}.landing-ai-demo .teacher-ai-progress-foot{display:none}.landing-ai-draft{background:#fff;border:2px solid rgba(27,77,46,.18);border-radius:1rem;padding:1rem;display:grid;gap:.8rem;animation:landing-fade-in .5s ease}@keyframes landing-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.landing-ai-draft-head{display:flex;gap:.8rem;align-items:flex-start}.landing-ai-draft-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;background:var(--progress-complete-bg);color:var(--progress-complete-fg);border:1px solid var(--progress-complete-border);border-radius:999px;padding:.25rem .7rem;font-weight:700;font-size:.85rem}.landing-ai-draft-title{margin:0;color:var(--color-forest);font-size:1.2rem}.landing-ai-draft-desc{margin:.15rem 0 0;font-size:.95rem}.landing-ai-draft-meta{display:flex;flex-wrap:wrap;gap:1rem;color:var(--color-brown);font-weight:600;font-size:.9rem}.landing-ai-draft-meta svg{color:var(--color-frog);margin-right:.3rem}.landing-ai-draft-code,.landing-ide-code{border:1px solid rgba(27,77,46,.18);border-radius:.7rem;overflow:auto}.landing-ai-plan{background:#fff;border:2px solid rgba(27,77,46,.18);border-radius:1rem;padding:1rem;display:grid;gap:.8rem;animation:landing-fade-in .5s ease}.landing-ai-plan-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;counter-reset:none}.landing-ai-plan-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .6rem;border-radius:.7rem;background:#1b4d2e0d;border:1px solid transparent}.landing-ai-plan-row-title{font-weight:600;color:var(--color-ink);font-size:.95rem}.landing-ai-plan-row--new{background:var(--progress-complete-bg);border-color:var(--progress-complete-border);animation:landing-plan-pop .55s ease both}@keyframes landing-plan-pop{0%{opacity:0;transform:translateY(-8px) scale(.98)}60%{transform:translateY(0) scale(1.01)}to{opacity:1;transform:none}}.landing-ai-plan-new-badge{margin-left:auto;background:var(--color-frog);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.15rem .55rem}.landing-ai-plan-insert{display:flex;align-items:center;gap:.4rem;padding:.05rem .6rem;font-size:.78rem;font-weight:700;color:var(--color-frog);text-transform:uppercase;letter-spacing:.04em}.landing-check-running{animation:landing-fade-in .4s ease;justify-content:flex-start}.landing-ai-checks{background:var(--color-cream);border:2px solid var(--color-forest);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.8rem;animation:landing-fade-in .5s ease}.landing-ai-checks-badge{background:var(--progress-in-progress-bg, rgba(243, 178, 64, .18));color:var(--progress-in-progress-fg, var(--color-brown));border-color:var(--progress-in-progress-border, rgba(243, 178, 64, .5))}.landing-ai-checks-badge--pass{background:var(--progress-complete-bg);color:var(--progress-complete-fg);border-color:var(--progress-complete-border)}.landing-student-code{display:flex;flex-direction:column;justify-content:flex-start;gap:.65rem;animation:landing-fade-in .4s ease}.landing-student-code-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex:0 0 auto}.landing-student-code-head{display:grid;gap:.15rem;min-width:0}.landing-student-code-editor{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.landing-student-code-editor .cm-editor{flex:1 1 auto;min-height:0;height:100%}.landing-student-code-editor .cm-scroller{min-height:0;max-height:none;height:100%}.landing-student-submit{flex:0 0 auto;align-self:flex-start;margin-top:.1rem}.landing-student-submit--pressed{transform:scale(.97);filter:brightness(.95)}.landing-ai-checks .landing-ai-draft-head{flex:0 0 auto}.landing-ai-checks .landing-ai-draft-desc{min-height:2.8em}.landing-ai-check-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;flex:0 0 auto;align-self:stretch}.landing-ai-check{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:.75rem;border:1px solid rgba(27,77,46,.12);background:var(--color-paper, #fffdf8)}.landing-ai-check--pass{border-color:var(--progress-complete-border);background:var(--progress-complete-bg)}.landing-ai-check-marker{flex:0 0 auto;width:1.4rem;height:1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.landing-ai-check--pass .landing-ai-check-marker{background:var(--color-frog);color:#fff}.landing-ai-check--todo .landing-ai-check-marker{border:2px dashed var(--color-brown);background:transparent}.landing-ai-check-name{flex:1 1 auto;min-width:0;font-weight:700;line-height:1.4;color:var(--color-forest);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-ai-check--todo .landing-ai-check-name{color:var(--color-brown)}.landing-ai-check-status{flex:0 0 auto;min-width:3.25rem;text-align:right;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.landing-ai-check--pass .landing-ai-check-status{color:var(--color-frog)}.landing-ai-check--todo .landing-ai-check-status{color:var(--color-brown)}.landing-ide-toggle{display:inline-flex;gap:.3rem;margin:0 auto 1.5rem;padding:.3rem;background:#1b4d2e12;border-radius:999px;justify-self:center}.landing-ide{display:grid;justify-items:center}.landing-ide-toggle-btn{border:none;background:transparent;border-radius:999px;padding:.5rem 1.1rem;font-weight:700;color:var(--color-brown);cursor:pointer;font-size:.95rem}.landing-ide-toggle-btn--active{background:var(--color-cream);color:var(--color-forest);box-shadow:0 4px 12px #1b4d2e26}.landing-ide-grid{--ide-editor-bg: #fffcf7;--ide-editor-fg: #1a1a1b;--ide-console-bg: linear-gradient(180deg, #10141d 0%, #0a0d14 100%);--ide-console-fg: #e8eef9;--ide-console-muted: rgba(210, 222, 244, .74);--ide-console-border: rgba(133, 167, 255, .18);width:100%;display:grid;gap:.9rem;background:#16321f;border:3px solid var(--color-forest);border-radius:1.2rem;padding:.9rem;box-shadow:var(--shadow)}.landing-ide-grid--simple{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}.landing-ide-grid--advanced{grid-template-columns:minmax(140px,.5fr) minmax(0,1.4fr) minmax(0,1fr)}.landing-ide-grid .ide-editor-panel,.landing-ide-grid .ide-console-panel,.landing-ide-grid .ide-tour-panel{min-width:0;border-radius:.8rem;overflow:hidden}.landing-ide-editor-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.landing-ide-run{pointer-events:none;padding:.3rem .7rem;font-size:.85rem}.landing-ide-files{background:#0f261699;border-radius:.8rem;padding:.7rem;color:var(--color-cream)}.landing-ide-files .ide-panel-label{color:#fdf9f3cc}.landing-ide-files ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.25rem}.landing-ide-file{width:100%;text-align:left;border:none;background:transparent;color:#fdf9f3d1;padding:.4rem .55rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.landing-ide-file--active,.landing-ide-file:hover{background:#6ba3364d;color:#fff}.landing-library-grid{margin-top:0;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.landing-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.landing-library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.landing-library-grid .teacher-lesson-card-wrap{height:11.25rem;border-radius:12px;overflow:visible}.landing-library-grid .teacher-lesson-card-wrap:has(.teacher-standards-lesson-count:hover),.landing-library-grid .teacher-lesson-card-wrap:has(.teacher-standards-lesson-count:focus-within){z-index:6}.landing-library-grid .teacher-lesson-card-wrap--advanced{border-radius:14px}.landing-library-grid .teacher-lesson-card-wrap:hover,.landing-library-grid .teacher-lesson-card-wrap:focus-within{transform:none;z-index:auto}.landing-library-grid .teacher-lesson-card{border-radius:12px;overflow:visible}.landing-library-grid .teacher-lesson-card-play{overflow:hidden;border-radius:inherit;padding:.55rem .65rem .7rem}.landing-library-grid .teacher-lesson-card-standards{display:none}.landing-library-grid .teacher-lesson-card-watermark{font-size:clamp(3.25rem,38%,4.5rem);transform:translateY(-6%)}.landing-library-grid .teacher-lesson-card-body{gap:.2rem}.landing-library-grid .teacher-lesson-card-title{font-size:.82rem;-webkit-line-clamp:2}.landing-library-grid .teacher-lesson-card-blurb{font-size:.68rem;line-height:1.35;-webkit-line-clamp:2}.landing-library-grid .teacher-lesson-card-overlay{top:.35rem;left:.35rem;flex-wrap:nowrap;align-items:center}.landing-library-grid .teacher-lesson-card-overlay .teacher-standards-lesson-count--on-card{font-size:.62rem}.landing-library-grid .teacher-pill--published-badge,.landing-library-grid .teacher-pill--draft-badge{font-size:.62rem;padding:.12rem .4rem}.landing-cohort{background:var(--color-cream);border:3px solid var(--color-forest);border-radius:1.4rem;padding:1.2rem;box-shadow:var(--shadow)}.landing-cohort-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.landing-cohort-name{margin:0;font-weight:800;font-size:1.15rem;color:var(--color-forest)}.landing-cohort-pill{background:var(--progress-complete-bg);color:var(--progress-complete-fg);border:1px solid var(--progress-complete-border);border-radius:999px;padding:.35rem .9rem;font-weight:700}.landing-cohort-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:1rem}.landing-domain-model{margin:0 0 1.5rem;padding:.85rem;border-radius:1rem;border:2px solid rgba(27,77,46,.14);background:var(--color-cream);box-shadow:0 10px 28px #151f1a14}.landing-domain-model img{display:block;width:100%;height:auto;border-radius:.55rem}.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem}.landing-feature-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:720px){.landing-feature-grid--four{grid-template-columns:1fr}}.landing-feature{background:var(--color-cream);border:2px solid rgba(27,77,46,.14);border-radius:1rem;padding:1.3rem}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border-radius:.8rem;background:linear-gradient(135deg,var(--color-forest),var(--color-frog));color:var(--color-cream);font-size:1.2rem;margin-bottom:.8rem}.landing-feature-title{margin:0 0 .4rem;color:var(--color-forest);font-size:1.15rem}.landing-feature-body{margin:0;line-height:1.5}.landing-audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}.landing-audience{background:var(--color-cream);border:2px solid rgba(27,77,46,.14);border-radius:1rem;padding:1.3rem}.landing-audience-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:50%;background:#6ba3362e;color:var(--color-forest);font-size:1.1rem;margin-bottom:.7rem}.landing-audience-title{margin:0 0 .7rem;color:var(--color-forest);font-size:1.2rem}.landing-audience-points{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.landing-audience-points li{display:flex;gap:.5rem;align-items:flex-start;line-height:1.45}.landing-audience-points li>span{flex:1;min-width:0}.landing-audience-points svg{color:var(--color-frog);flex:0 0 auto}.landing-free-banner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center;text-align:center;background:var(--color-cream);border:2px solid var(--color-frog);border-radius:1rem;padding:1rem 1.3rem;margin-bottom:1.6rem}.landing-free-banner p{margin:0;max-width:48ch}.landing-free-badge{display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,var(--color-forest),var(--color-frog));color:var(--color-cream);border-radius:999px;padding:.45rem 1rem;font-weight:800;white-space:nowrap}.landing-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;align-items:stretch}.landing-plan{background:var(--color-cream);border:2px solid rgba(27,77,46,.16);border-radius:1.1rem;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;position:relative}.landing-plan .btn{margin-top:auto}.landing-plan--featured{border-color:var(--color-frog);box-shadow:0 16px 40px #6ba33638}.landing-plan-badge{position:absolute;top:-.8rem;right:1.2rem;background:var(--color-accent-red);color:#fff;border-radius:999px;padding:.25rem .8rem;font-size:.78rem;font-weight:700}.landing-plan-name{margin:0;color:var(--color-forest);font-size:1.25rem}.landing-plan-price{margin:0;font-size:2.4rem;font-weight:800;color:var(--color-ink);line-height:1}.landing-plan-price--free{color:var(--color-frog)}.landing-plan-period{font-size:1rem;font-weight:600;color:var(--color-brown)}.landing-plan-detail{margin:0;line-height:1.45}.landing-pricing-note{text-align:center;margin-top:1.3rem}.landing-final-cta{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,2.5rem);background:linear-gradient(135deg,var(--color-forest),#14401f);color:var(--color-cream);text-align:center}.landing-final-cta-inner{max-width:60ch;margin:0 auto}.landing-final-cta-title{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:0 0 .6rem}.landing-final-cta-lede{font-size:1.1rem;line-height:1.5;margin:0 0 1.6rem;color:#fdf9f3e6}.landing-footer-wrap{max-width:1180px;margin:0 auto;padding:1.5rem clamp(1rem,4vw,2.5rem) 2.5rem}@media(max-width:960px){.landing-hero-inner{grid-template-columns:1fr}.landing-hero-visual{order:-1}.landing-ide-grid--simple,.landing-ide-grid--advanced,.landing-cohort-grid{grid-template-columns:1fr}}@media(max-width:720px){.landing-nav-links{display:none}}@media(prefers-reduced-motion:reduce){.landing-ai-caret,.landing-ai-draft{animation:none}.landing-ai-stage>.landing-ai-layer{transition:none}.about-carousel-track{scroll-behavior:auto}.about-media-lightbox-inner{animation:none}}.about-hero-inner{grid-template-columns:1fr;text-align:center}.about-hero-lede{max-width:52ch;margin-inline:auto}.about-hero-badge{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;margin:1.5rem auto 0;padding:.55rem 1.1rem;border-radius:999px;background:#6ba33624;color:var(--color-forest);font-weight:700;font-size:.95rem}.about-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,2.5rem);align-items:start}.about-story-copy{text-align:left}.about-story-copy p{font-size:1.05rem;line-height:1.65;color:var(--color-ink)}.about-story-shot{min-height:18rem}.about-screenshot-note{max-width:62ch;margin:-.75rem auto 1.75rem;text-align:center;line-height:1.5}.about-media-frame{display:block;width:100%;padding:0;border:3px dashed rgba(27,77,46,.22);border-radius:1.1rem;background:var(--color-cream);box-shadow:inset 0 0 0 1px #1b4d2e0f;cursor:pointer;position:relative;overflow:hidden;text-align:center;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.about-media-frame:hover,.about-media-frame:focus-visible{border-color:var(--color-frog);box-shadow:0 12px 32px #1b4d2e24;transform:translateY(-1px);outline:none}.about-media-frame--ready:hover .about-media-frame-expand,.about-media-frame--ready:focus-visible .about-media-frame-expand{opacity:1}.about-media-frame-image{display:block;width:100%;height:auto;min-height:14rem;max-height:22rem;object-fit:cover;object-position:top center}.about-media-frame-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:14rem;padding:1.5rem}.about-media-frame-placeholder-label{max-width:24ch;font-weight:600;color:var(--color-brown);line-height:1.45}.about-media-frame-expand{position:absolute;inset:auto 0 0 0;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem;background:linear-gradient(180deg,transparent,rgba(21,31,26,.72));color:var(--color-cream);font-weight:700;font-size:.9rem;opacity:0;transition:opacity .15s ease}.about-media-lightbox{border:none;padding:0;margin:0;max-width:none;width:100%;height:100%;background:#0c1610eb}.about-media-lightbox:modal{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(1rem,3vw,2rem);box-sizing:border-box}.about-media-lightbox::backdrop{background:#0c1610e0}.about-media-lightbox-inner{position:relative;width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:about-lightbox-in .28s ease}@keyframes about-lightbox-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.about-media-lightbox-close{position:absolute;top:0;right:0;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:2px solid rgba(253,249,243,.35);border-radius:50%;background:#fdf9f31f;color:var(--color-cream);cursor:pointer;transition:background .15s ease,border-color .15s ease}.about-media-lightbox-close:hover{background:#fdf9f338;border-color:var(--color-cream)}.about-media-lightbox-stage{width:100%;display:flex;align-items:center;justify-content:center;min-height:min(68vh,720px);padding-top:2.5rem}.about-media-lightbox-image,.about-media-lightbox-video{display:block;max-width:100%;max-height:min(68vh,720px);width:auto;height:auto;border-radius:.85rem;box-shadow:0 24px 60px #00000073;background:#0d1611}.about-media-lightbox-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:16rem;width:100%;padding:2rem;border:2px dashed rgba(253,249,243,.28);border-radius:.85rem;color:#fdf9f3bf}.about-media-lightbox-caption{margin:0;max-width:58ch;text-align:center;color:#fdf9f3eb;font-size:1.05rem;line-height:1.55}.about-media-carousel-lightbox-inner{width:min(1200px,100%)}.about-media-carousel-lightbox-toolbar{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding-right:3rem}.about-media-carousel-lightbox-counter{margin:0;min-width:4.5rem;text-align:center;color:#fdf9f3cc;font-weight:700;font-size:.95rem}.about-media-carousel-lightbox-arrow{background:#fdf9f31a;border-color:#fdf9f347;color:var(--color-cream)}.about-media-carousel-lightbox-arrow:hover:not(:disabled){background:#fdf9f32e;border-color:var(--color-cream)}.about-media-carousel-lightbox-track{display:flex;gap:0;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.about-media-carousel-lightbox-track::-webkit-scrollbar{display:none}.about-media-carousel-lightbox-slide{flex:0 0 100%;scroll-snap-align:center}.about-media-carousel-lightbox-dots{margin-top:.25rem}.about-media-carousel-lightbox-dot{background:#fdf9f347}.about-media-carousel-lightbox-dot[aria-selected=true]{background:var(--color-frog)}.about-video-shell{max-width:900px;margin:0 auto}.about-video-player{display:block;width:100%;aspect-ratio:16 / 9;border-radius:1.2rem;border:3px solid rgba(27,77,46,.22);background:#0d2818;box-shadow:var(--shadow)}.about-video-placeholder{aspect-ratio:16 / 9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2rem;text-align:center;background:linear-gradient(145deg,#1b4d2e14,#6ba3361f);border:3px dashed rgba(27,77,46,.28);border-radius:1.2rem;box-shadow:var(--shadow)}.about-video-play{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--color-forest);color:var(--color-cream);font-size:1.5rem;box-shadow:0 10px 28px #1b4d2e47}.about-video-placeholder-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--color-forest)}.about-video-placeholder-note{margin:0;max-width:42ch}.about-spotlights{display:grid;gap:clamp(2rem,5vw,3.5rem)}.about-spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2rem);align-items:center}.about-spotlight--reverse .about-spotlight-copy{order:2}.about-spotlight--reverse .about-spotlight-shot{order:1}.about-spotlight-title{margin:.35rem 0 .65rem;font-size:clamp(1.35rem,2.4vw,1.85rem);color:var(--color-forest);letter-spacing:-.01em}.about-spotlight-body{margin:0;font-size:1.05rem;line-height:1.6;color:var(--color-ink)}.about-spotlight-shot{min-height:16rem}.about-screenshot-placeholder-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#6ba33629;color:var(--color-forest);font-size:1.2rem}.about-screenshot-placeholder-label{margin:0;max-width:24ch;font-weight:600;color:var(--color-brown);line-height:1.45}.about-carousel{position:relative}.about-carousel-controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.85rem}.about-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:2px solid rgba(27,77,46,.2);border-radius:50%;background:var(--color-cream);color:var(--color-forest);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.about-carousel-arrow:hover:not(:disabled){background:#6ba3361f;border-color:var(--color-frog)}.about-carousel-arrow:disabled{opacity:.35;cursor:not-allowed}.about-carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.about-carousel-track::-webkit-scrollbar{display:none}.about-carousel-slide{flex:0 0 100%;scroll-snap-align:center;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1rem,3vw,1.75rem);align-items:center;background:var(--color-cream);border:2px solid rgba(27,77,46,.14);border-radius:1.2rem;padding:clamp(1.1rem,3vw,1.6rem);box-shadow:var(--shadow)}.about-carousel-slide-title{margin:.3rem 0 .55rem;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--color-forest)}.about-carousel-slide-body{margin:0;line-height:1.55;color:var(--color-ink)}.about-carousel-slide-shot{min-height:13rem}.about-carousel-dots{display:flex;justify-content:center;gap:.45rem;margin-top:1rem}.about-carousel-dot{width:.55rem;height:.55rem;padding:0;border:none;border-radius:50%;background:#1b4d2e33;cursor:pointer;transition:transform .15s ease,background .15s ease}.about-carousel-dot[aria-selected=true]{background:var(--color-frog);transform:scale(1.25)}.about-signoff-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:.75rem;border-radius:50%;background:#fdf9f324;font-size:1.35rem}.about-signoff-lede{max-width:52ch;margin-inline:auto}.about-signoff-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.about-signoff-actions .btn.about-signoff-app-btn{background:var(--color-cream);color:var(--color-forest);border:3px solid var(--color-cream);box-shadow:0 8px 22px #00000047}.about-signoff-actions .btn.about-signoff-app-btn:not(:disabled):hover{background:#fff;border-color:#fff;color:var(--color-forest);transform:translateY(-1px)}.about-signoff-features{margin:0;color:#b8e08a}.about-signoff-features svg{color:#c8eb9e}@media(max-width:960px){.about-story,.about-spotlight,.about-carousel-slide{grid-template-columns:1fr}.about-spotlight--reverse .about-spotlight-copy,.about-spotlight--reverse .about-spotlight-shot{order:unset}}@media(max-width:720px){.about-carousel-controls{justify-content:center}}.admin-console-header{margin-bottom:1rem}.admin-console-tabs{margin-top:.75rem}.admin-console-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.admin-console-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.admin-console-card:hover{box-shadow:0 8px 24px #1a1a1b14;transform:translateY(-1px)}.admin-console-card h2{margin:0;font-size:1.1rem}.admin-console-card-icon{color:var(--color-forest, #1b4d2e);font-size:1.25rem}.admin-console-card-cta{margin-top:auto;font-size:.88rem;font-weight:700;color:var(--color-forest, #1b4d2e)}.teacher-sequence-kind,.student-item-kind{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted, #5c5c5e);margin-right:.35rem}.quiz-icon-tile{box-shadow:inset 0 0 0 1px #ffffff1f}.add-content-choices{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.add-content-choice{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem;border:1px solid var(--teacher-border, #e4e0d8);border-radius:.75rem;background:var(--teacher-surface, #fff);cursor:pointer;text-align:left}.add-content-choice-title{font-weight:700}.add-content-choice-lede{font-size:.88rem;color:var(--color-muted, #5c5c5e)}.student-quiz-page,.teacher-quiz-editor,.teacher-quiz-preview{max-width:56rem;margin:0 auto}.teacher-field{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;width:100%;margin:0 0 1rem;text-align:left}.teacher-field-label{font-size:.88rem;font-weight:700;color:var(--color-brown, #3d2914);line-height:1.3}.teacher-field-hint{margin:0;font-size:.8rem;color:var(--color-muted, #5c5c5e);line-height:1.4}.teacher-input,textarea.teacher-input,input.teacher-input{display:block;width:100%;box-sizing:border-box;padding:.65rem .8rem;border-radius:.65rem;border:2px solid rgba(27,77,46,.22);font-size:.95rem;font-family:inherit;line-height:1.45;background:#fffefc;color:inherit}.teacher-input:focus{outline:3px solid rgba(107,163,54,.35);border-color:var(--color-frog, #6ba336)}textarea.teacher-input.auto-resize-textarea{resize:none;min-height:0;overflow-y:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quiz-rich-text{min-width:0}.quiz-rich-text pre{margin:.5rem 0;white-space:pre;overflow-x:auto}.quiz-rich-text pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.5;white-space:pre;display:block}.quiz-rich-text .quiz-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em;padding:.1rem .35rem;border-radius:.35rem;background:#1b4d2e1a;color:var(--color-forest, #1b4d2e)}.teacher-quiz-editor-section{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.student-quiz-head,.teacher-quiz-editor-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.student-quiz-question{border:1px solid var(--teacher-border, #e4e0d8);border-radius:.75rem;padding:1rem 1.1rem;margin-bottom:.85rem}.student-quiz-question-prompt{display:flex;gap:.35rem;align-items:flex-start;margin-bottom:.85rem;font-weight:600}.student-quiz-question-num{flex-shrink:0;font-weight:700}.student-quiz-option{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:flex-start;margin:.45rem 0;padding:.55rem .65rem;border-radius:.55rem;border:1px solid rgba(27,77,46,.14);cursor:pointer}.student-quiz-option:hover{background:#1b4d2e0a}.student-quiz-option input[type=radio]{margin-top:.35rem}.student-quiz-option .quiz-rich-text{font-weight:400}.student-quiz-review-prompt{font-weight:600;margin-bottom:.35rem}fieldset.student-quiz-question{min-width:0}.student-quiz-review--wrong{border-left:3px solid #b42318;padding-left:.75rem;margin-bottom:.75rem}.student-quiz-retake-panel{margin-top:1.25rem;padding:1rem;border-radius:.75rem;background:#1b4d2e14}.student-quiz-retake-actions{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.75rem}.student-quiz-score-pill{font-size:.82rem;font-weight:600}.teacher-quiz-results-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.teacher-quiz-results-card{border:1px solid var(--teacher-border, #e4e0d8);border-radius:.75rem;padding:1rem;margin-bottom:.75rem}.teacher-quiz-editor-head-copy{min-width:0;flex:1}.teacher-quiz-icon-btn{position:relative;padding:0;border:none;background:transparent;cursor:pointer;border-radius:.65rem}.teacher-quiz-icon-btn-badge{position:absolute;right:-.15rem;bottom:-.15rem;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--teacher-panel-bg, #fff);border:1px solid var(--teacher-border, #e4e0d8);font-size:.65rem;color:var(--color-muted, #5c5c5e)}.teacher-field--narrow{max-width:14rem}.teacher-quiz-questions{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.teacher-quiz-question-card{border:1px solid var(--teacher-border, #e4e0d8);border-radius:.85rem;padding:1.25rem 1.35rem;background:var(--teacher-panel-bg, #fff);box-shadow:0 1px #1b4d2e0a}.teacher-quiz-question-heading{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--color-brown, #3d2914)}.teacher-quiz-options{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:.65rem}.teacher-quiz-options-legend{font-size:.88rem;font-weight:700;color:var(--color-brown, #3d2914);margin-bottom:.35rem;padding:0}.teacher-quiz-option-edit{display:flex;flex-direction:column;gap:.45rem;padding:.75rem .85rem;border-radius:.65rem;border:2px solid rgba(27,77,46,.12);background:#fffcf799}.teacher-quiz-option-edit.is-correct{border-color:#1b4d2e59;background:#1b4d2e0f}.teacher-quiz-option-edit-head{display:flex;align-items:center;gap:.5rem}.teacher-quiz-option-edit-head input[type=radio]{flex-shrink:0;margin:0}.teacher-quiz-option-edit-head .teacher-field-label{margin:0;display:flex;align-items:center;gap:.45rem}.teacher-quiz-correct-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .4rem;border-radius:999px;background:#1b4d2e24;color:var(--color-forest, #1b4d2e)}.teacher-quiz-live-preview{margin-top:.35rem;padding:.65rem .75rem;border-radius:.55rem;border:1px dashed rgba(27,77,46,.2);background:#1b4d2e08}.teacher-quiz-live-preview-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted, #5c5c5e);margin-bottom:.35rem}.teacher-quiz-review-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--teacher-border, #e4e0d8)}.teacher-quiz-review-fields{margin-top:.65rem;display:flex;flex-direction:column;gap:.65rem}.teacher-quiz-editor-actions,.teacher-quiz-preview-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.teacher-quiz-ai-section{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--teacher-border, #e4e0d8)}.teacher-quiz-ai-hint{margin:.35rem 0 0}.teacher-quiz-injection-panel{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--teacher-border, #e4e0d8)}.teacher-quiz-injection-lede{margin:.35rem 0 .65rem}.teacher-quiz-injection-hint{margin:.5rem 0 0}.teacher-quiz-injection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.teacher-quiz-injection-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;cursor:pointer}.teacher-quiz-injection-row--master{margin-bottom:.35rem;font-weight:600}.teacher-quiz-preview-badge{display:inline-block;margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-forest, #1b4d2e)}.teacher-quiz-preview-prompt{margin:0 0 .85rem}.teacher-quiz-preview-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.teacher-quiz-preview-option{display:grid;grid-template-columns:1.25rem 1fr;gap:.55rem;align-items:flex-start;padding:.55rem .7rem;border-radius:.55rem;border:1px solid var(--teacher-border, #e4e0d8)}.teacher-quiz-preview-option.is-correct{border-color:#1b4d2e59;background:#1b4d2e14;font-weight:600}.teacher-quiz-preview-check{color:#1b4d2e;margin-top:.15rem}.teacher-quiz-preview-check-placeholder{display:block;width:1rem}.teacher-quiz-preview-rationale,.teacher-quiz-preview-explanations{margin:.75rem 0 0;font-size:.9rem;color:var(--color-muted, #5c5c5e)}.teacher-quiz-preview-explanations{padding-left:1.1rem}.teacher-sequence-card-edit{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:2px solid rgba(27,77,46,.14);border-radius:8px;background:transparent;color:#1b4d2ebf;text-decoration:none;transition:color .12s ease,background .12s ease,border-color .12s ease}.teacher-sequence-card-edit:hover{color:#1b4d2e;background:#1b4d2e0f;border-color:#1b4d2e47}.teacher-sequence-card-actions{display:flex;gap:.35rem;align-items:center}.teacher-modal-lede{margin:0 0 1rem;color:var(--color-muted, #5c5c5e);font-size:.92rem;line-height:1.5}.teacher-panel-error{margin:0 0 1rem;padding:.65rem .85rem;border-radius:.6rem;border:1px solid rgba(180,35,24,.28);background:#b423180f;color:#8a1c14;font-size:.9rem}.teacher-quiz-loading{padding:1.25rem 0}.teacher-quiz-save-status{align-self:center;font-size:.85rem;font-weight:600;color:var(--color-frog, #6ba336)}.teacher-quiz-save-status.is-dirty{color:var(--color-muted, #5c5c5e)}.teacher-quiz-preview-card{background:#1b4d2e05}.student-panel-error{margin:0 0 1rem;padding:.65rem .85rem;border-radius:.6rem;border:1px solid rgba(180,35,24,.28);background:#b423180f;color:#8a1c14;font-size:.9rem}.student-panel-muted{margin:0 0 1rem;color:var(--color-muted, #5c5c5e)}.student-quiz-title{margin:0;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--color-forest, #1b4d2e)}.student-quiz-lede{margin:.3rem 0 0;color:var(--color-muted, #5c5c5e)}.student-quiz-form{display:flex;flex-direction:column;gap:.25rem}.student-quiz-results{margin-top:1.5rem}.student-quiz-score-summary{margin:.25rem 0 1rem;color:var(--color-muted, #5c5c5e);font-weight:600}.student-quiz-review{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.student-quiz-review--ok{border-left:3px solid var(--color-frog, #6ba336);padding-left:.75rem}.student-quiz-review-flag{margin-top:.35rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b42318}.student-quiz-back{margin-top:1.5rem}
