.protected-video{background:#0b1530;position:absolute;inset:0}.protected-video.is-full video{object-fit:contain}.video-watermark{z-index:2;color:#ffffff6b;max-width:70%;font-size:var(--fs-xs);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0000001f;border-radius:6px;padding:3px 8px;font-weight:600;transition:top 1.2s,left 1.2s;position:absolute;overflow:hidden}.protected-video.is-full .video-watermark{font-size:var(--fs-md)}.video-full-button{z-index:3;color:#fff;cursor:pointer;opacity:0;background:#0b15308c;border:0;border-radius:8px;place-items:center;width:34px;height:34px;transition:opacity .2s;display:grid;position:absolute;top:10px;right:10px}.protected-video:hover .video-full-button,.video-full-button:focus-visible,.protected-video.is-full .video-full-button{opacity:1}@media (hover:none){.video-full-button{opacity:.85}}.offline-bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px;padding:10px 14px;display:flex}.offline-bar:has(>.button:only-child){background:0 0;border:0;padding:0}.offline-bar>svg{color:var(--navy);flex:none}.offline-bar.saved{border-color:color-mix(in srgb, var(--success) 30%, #fff);background:var(--success-soft)}.offline-bar.saved>svg{color:var(--success)}.offline-bar.error{border-color:color-mix(in srgb, var(--danger) 30%, #fff);background:color-mix(in srgb, var(--danger) 6%, #fff)}.offline-bar.error>svg{color:var(--danger)}.offline-text,.offline-progress{flex-direction:column;flex:220px;gap:4px;min-width:0;display:flex}.offline-text strong{color:var(--text);font-weight:600}.offline-text small{color:var(--muted);font-size:var(--fs-xs)}.progress-track{background:var(--navy-soft);border-radius:99px;height:6px;display:block;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .25s;display:block}.storage-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:24px;padding:16px 18px;display:flex}.storage-card>svg{color:var(--navy);flex:none}.storage-card>div{flex-direction:column;flex:260px;gap:2px;display:flex}.storage-card small{color:var(--muted);font-size:var(--fs-sm)}.download-group+.download-group{margin-top:24px}.download-course{font-size:var(--fs-md);color:var(--text);align-items:center;gap:10px;margin:0 0 10px;display:flex}.subject-chip{width:30px;height:30px;color:var(--navy);background:var(--navy-soft);border-radius:8px;place-items:center;display:grid}.download-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.download-list li{align-items:center;gap:14px;padding:12px 16px;display:flex}.download-list li+li{border-top:1px solid var(--line)}.download-play{color:#fff;background:var(--primary);cursor:pointer;width:42px;height:42px;box-shadow:0 4px 12px var(--primary-glow);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.download-play:hover{background:var(--primary-hover)}.download-list li.expired .download-play{background:var(--muted);box-shadow:none}.download-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.download-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.download-main small{color:var(--muted);font-size:var(--fs-xs)}.download-main small.download-ok{color:var(--success);font-weight:600}.download-main small.download-warning{color:var(--warning);font-weight:600}.saved-viewer{flex-direction:column;gap:16px;display:flex}.saved-viewer .back-link{align-self:flex-start}.saved-viewer .lesson-notes h2{margin-top:6px}.offline-home{background:var(--bg);min-height:100vh}.offline-banner{border-radius:var(--radius);color:var(--warning);background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 25%, #fff);font-size:var(--fs-sm);align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.offline-banner>svg{flex:none;margin-top:1px}.button.on-dark{color:var(--navy);box-shadow:none;background:#fff}.button.on-dark:hover{background:var(--navy-soft)}.offline-settings{flex-direction:column;gap:18px;margin-bottom:18px;display:flex}.offline-settings .form-grid label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:6px;font-weight:600;display:flex}.switch.big{align-items:flex-start;gap:12px}.switch.big input{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.switch.big span{flex-direction:column;gap:2px;display:flex}.switch.big strong{color:var(--text);font-size:var(--fs-base)}.switch.big small{color:var(--muted);font-weight:400}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px}.data-table.downloads .data-row{grid-template-columns:minmax(150px,1.1fr) minmax(200px,1.6fr) minmax(140px,1fr) minmax(100px,.7fr) 90px}@media (max-width:760px){.data-table.downloads .data-row{grid-template-columns:1fr auto;gap:4px 12px}.data-table.downloads .data-row>.row-actions{grid-row:1/span 4}}@media (max-width:720px){.stat-grid.three,.offline-settings .form-grid{grid-template-columns:1fr}.download-list li:has(.row-actions a){flex-wrap:wrap}.download-list li:has(.row-actions a) .row-actions{justify-content:flex-end;width:100%}}
button.resource-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}button.resource-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pdf-viewer{z-index:100;background:#e6eaf0;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-toolbar{min-height:56px;padding:6px 12px;padding-top:max(6px, env(safe-area-inset-top));color:#fff;background:var(--navy);box-shadow:var(--shadow);align-items:center;gap:8px;display:flex}.pdf-title{flex-direction:column;flex:1;min-width:0;display:flex}.pdf-title strong,.pdf-title small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pdf-title strong{font-size:var(--fs-base)}.pdf-title small{font-size:var(--fs-xs);color:#ffffffbf}.pdf-zoom{align-items:center;gap:2px;display:flex}.pdf-tool{border-radius:var(--radius-sm);color:#fff;min-width:40px;height:40px;font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.pdf-tool:hover:not(:disabled){background:#ffffff1f}.pdf-tool:focus-visible{outline-offset:-2px;outline:2px solid #fff}.pdf-tool:disabled{opacity:.4;cursor:default}.pdf-percent{min-width:52px}.pdf-body{flex:1;min-height:0;position:relative;overflow:hidden}.pdf-stage{height:100%;padding:12px 12px max(24px, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;align-items:center;gap:12px;display:flex;overflow:auto}.pdf-stage:focus{outline:none}.pdf-stage:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 55%, transparent);outline-offset:-3px}.pdf-page{background:#fff;border-radius:2px;flex:none;position:relative;overflow:hidden;box-shadow:0 1px 3px #1018282e}.pdf-page canvas{width:100%;height:100%;display:block}.pdf-message{max-width:360px;color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:12px;margin:auto;padding:32px 16px;display:flex}.pdf-message .progress-track{width:200px}.pdf-spinner{border:3px solid var(--navy-line);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.pdf-page-mark{z-index:1;pointer-events:none;background-position:top;background-repeat:repeat;position:absolute;inset:0}@media (max-width:560px){.pdf-toolbar{gap:4px;padding-left:4px;padding-right:4px}.pdf-tool{min-width:36px;padding:0 6px}}@media print{.pdf-viewer{display:none}}.saved-documents{flex-direction:column;gap:8px;margin-top:20px;display:flex}.saved-documents h3{font-size:var(--fs-md);margin:0 0 4px}button.resource-row:disabled{cursor:default;opacity:.65;box-shadow:none}.pdf-viewer.is-inline{z-index:auto;border:1px solid var(--line);border-radius:var(--radius-lg);height:clamp(440px,100dvh - 210px,1100px);animation:none;position:relative;inset:auto;overflow:hidden}.pdf-viewer.is-inline .pdf-toolbar{box-shadow:none;padding-top:6px}.pdf-actions{border-left:1px solid #ffffff2e;align-items:center;gap:2px;padding-left:6px;display:flex}.pdf-actions .pdf-tool{gap:6px}@media (max-width:640px){.pdf-viewer.is-inline{border-inline:0;border-radius:0;height:calc(100dvh - 150px);margin-inline:-16px}.pdf-actions .pdf-tool span,.pdf-viewer.is-inline .pdf-percent{display:none}}
.login-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-story{isolation:isolate;color:#fff;background:linear-gradient(150deg, var(--navy) 0%, var(--navy-deep) 100%);flex-direction:column;justify-content:space-between;gap:32px;padding:44px 56px;display:flex;position:relative;overflow:hidden}.login-mesh{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-mesh:after{content:"";background:radial-gradient(circle at 1px 1px,#ffffff14 1px,#0000 0) 0 0/24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.login-mesh span{filter:blur(70px);opacity:.7;border-radius:50%;position:absolute}.login-mesh span:first-child{aspect-ratio:1;background:var(--primary);width:60%;animation:16s ease-in-out infinite drift-a;top:-18%;right:-12%}.login-mesh span:nth-child(2){aspect-ratio:1;background:color-mix(in srgb, var(--navy) 30%, #3d7bff);opacity:.55;width:50%;animation:20s ease-in-out infinite drift-b;bottom:-20%;left:-10%}.login-mesh span:nth-child(3){aspect-ratio:1;background:color-mix(in srgb, var(--primary) 50%, #ffb347);opacity:.35;width:34%;animation:24s ease-in-out infinite drift-c;top:40%;left:45%}.login-story>:not(.login-mesh),.login-form>*{animation:rise .7s var(--ease) both}.login-story>:nth-child(3),.login-form>:nth-child(2){animation-delay:80ms}.login-story>:nth-child(4),.login-form>:nth-child(3){animation-delay:.16s}.login-form>:nth-child(4){animation-delay:.22s}.login-form>:nth-child(5){animation-delay:.28s}.login-form>:nth-child(n+6){animation-delay:.34s}.login-story .brand{color:#fff}.login-story .eyebrow{color:var(--on-dark-accent)}.login-story h1{letter-spacing:-.035em;margin:14px 0 16px;font-size:54px;line-height:1.08}.login-story h1 em{color:var(--on-dark-accent);font-style:normal}.login-story p{color:#ffffffc7;font-size:var(--fs-md)}.login-story .science-art{margin-top:28px;position:relative}.login-foot{font-size:var(--fs-xs);color:#ffffffa6}.login-form-panel{background:var(--bg);justify-content:center;align-items:center;padding:40px 24px;display:flex;position:relative}.login-form{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:pop .6s var(--ease) both;flex-direction:column;gap:16px;padding:36px;display:flex}.login-form h2{letter-spacing:-.03em;color:var(--navy);font-size:30px}.login-field{flex-direction:column;gap:7px;display:flex}.login-field>label{font-size:var(--fs-sm);font-weight:600}.input-shell{align-items:center;display:flex;position:relative}.input-shell>svg{color:var(--muted);pointer-events:none;transition:color var(--dur-fast);position:absolute;left:14px}.input-shell:focus-within>svg{color:var(--navy)}.input-shell input{background:var(--surface-muted);border-radius:12px;height:50px;padding-left:44px}.input-shell input:focus{background:var(--surface)}.input-shell input[name=password]{padding-right:48px}.reveal{width:38px;height:38px;color:var(--muted);transition:background var(--dur-fast), color var(--dur-fast);border-radius:10px;place-items:center;display:grid;position:absolute;right:6px}.reveal:hover{background:var(--navy-soft);color:var(--navy)}.login-submit{min-height:50px;font-size:var(--fs-base);border-radius:12px}.login-submit .login-arrow{transition:transform var(--dur) var(--ease-spring)}.login-submit:hover .login-arrow{transform:translate(4px)}.login-submit{position:relative;overflow:hidden}.login-submit.is-busy{opacity:1}.login-submit.is-busy:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff47 50%,#0000 70%) 0 0/200% 100%;animation:1.1s linear infinite shimmer;position:absolute;inset:0}.login-form>p{color:var(--muted);font-size:var(--fs-sm);margin-top:-8px}.login-form>p.login-help{text-align:center;font-size:var(--fs-xs);margin-top:0}.demo-entry{border-top:1px solid var(--line);text-align:center;flex-direction:column;gap:10px;padding-top:16px;display:flex}.demo-entry>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.demo-entry small{color:var(--muted)}.no-school{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:24px;display:flex}.science-art{width:360px;height:250px}.orbit{border:1px solid #ffffff24;border-radius:50%;width:270px;height:270px;position:absolute;top:-10px;left:35px}.orbit-two{width:220px;height:220px;top:15px;left:60px}.book-art{filter:drop-shadow(6px 10px #0000002e);width:205px;height:136px;display:flex;position:absolute;top:67px;left:69px;transform:rotate(-13deg)}.book-left,.book-right{border-bottom:8px solid var(--primary-line);background:#fff;border-radius:3px 10px 8px 4px;width:50%;height:100%;padding:34px 19px 18px}.book-left{background:var(--navy-soft);border-bottom-color:var(--navy-line);border-radius:10px 3px 4px 8px;transform:skewY(-7deg)}.book-left span{background:color-mix(in srgb, var(--navy) 40%, #fff);border-radius:4px;height:3px;margin:10px 0;display:block}.book-right{color:var(--primary);place-items:center;padding:10px;display:grid;transform:skewY(7deg)}.art-star{color:var(--on-dark-accent);position:absolute}.star-one{font-size:40px;top:28px;left:39px;transform:rotate(10deg)}.star-two{font-size:50px;bottom:20px;right:31px}.floating-label{color:#fff;font-size:var(--fs-xs);z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff1a;border:1px solid #ffffff40;border-radius:6px;padding:6px 11px;position:absolute;transform:rotate(7deg)}.label-one{top:33px;right:27px}.label-two{bottom:24px;left:25px;transform:rotate(-6deg)}.art-dot{background:var(--primary);border-radius:50%;width:9px;height:9px;position:absolute;top:119px;right:24px}.login-page.is-school .login-story{justify-content:center;gap:28px}.login-page.is-school .login-story h1{margin-top:8px;font-size:46px}.login-school .school-logo,.login-school .school-initials{border-radius:18px;box-shadow:0 14px 40px #0000004d}.login-school{animation:pop .7s var(--ease-spring) both!important}.login-page.is-school .login-foot{align-items:center;gap:8px;display:inline-flex}.demo-entry>div:first-of-type{grid-template-columns:repeat(3,1fr)}.demo-entry .button{font-size:var(--fs-xs);border-radius:12px;padding:8px 6px}.demo-schools{text-align:left;flex-direction:column;gap:8px;margin-top:6px;display:flex}.demo-schools a{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--navy);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.demo-schools a:hover{border-color:var(--navy-line);background:var(--navy-soft)}.demo-schools a>span{flex-direction:column;display:flex}.demo-schools small{color:var(--muted)}
@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes pop-out{to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes fade-out{to{opacity:0}}@keyframes fill{0%{transform:scaleX(0)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes drift-a{50%{transform:translate(12%,18%)scale(1.15)}}@keyframes drift-b{50%{transform:translate(-16%,-10%)scale(.9)}}@keyframes drift-c{50%{transform:translate(10%,-16%)scale(1.1)}}@keyframes ring{0%{opacity:.55;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(260%)}}.rise,.page>*,.lesson>*{animation:rise var(--dur-slow) var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}.page>:nth-child(2),.lesson>:nth-child(2){--i:1}.page>:nth-child(3),.lesson>:nth-child(3){--i:2}.page>:nth-child(4),.lesson>:nth-child(4){--i:3}.page>:nth-child(n+5),.lesson>:nth-child(n+5){--i:4}.book-grid>*,.stat-grid>*,.session-list>*,.download-list>*{animation:pop var(--dur-slow) var(--ease) both}.book-grid>:first-child{animation-delay:80ms}.book-grid>:nth-child(2){animation-delay:.13s}.book-grid>:nth-child(3){animation-delay:.18s}.book-grid>:nth-child(4){animation-delay:.23s}.book-grid>:nth-child(5){animation-delay:.28s}.book-grid>:nth-child(6){animation-delay:.33s}.book-grid>:nth-child(n+7){animation-delay:.38s}.stat-grid>:nth-child(2),.session-list>:nth-child(2),.download-list>:nth-child(2){animation-delay:60ms}.stat-grid>:nth-child(3),.session-list>:nth-child(3),.download-list>:nth-child(3){animation-delay:.12s}.stat-grid>:nth-child(n+4),.session-list>:nth-child(n+4),.download-list>:nth-child(n+4){animation-delay:.18s}.lesson-panel{animation:rise var(--dur) var(--ease) both}.progress>span,.progress-track>span{transform-origin:0;animation:fill .9s var(--ease) both .25s}.button,.icon-button,.book-card,.grade-tabs>button,.lesson-tabs>button,.medium-switch button,.resource-row,.quiz-card,.pager-link,.text-button{-webkit-tap-highlight-color:transparent}.button:active:not(:disabled),.icon-button:active:not(:disabled),.grade-tabs>button:active,.lesson-tabs>button:active,.medium-switch button:active{transform:scale(.97)}.book-card:active .book{transform:translateY(-2px)scale(.985)}.has-indicator{isolation:isolate;position:relative}.has-indicator>.tab-indicator{z-index:-1;top:var(--ind-y,0);width:var(--ind-w,0);height:var(--ind-h,0);transform:translateX(var(--ind-x,0));border-radius:inherit;opacity:0;pointer-events:none;position:absolute;left:0}.has-indicator.is-measured>.tab-indicator{opacity:1;transition:transform .38s var(--ease-spring), width .38s var(--ease-spring), height .38s var(--ease), top .38s var(--ease)}.splash{z-index:100;background:radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 45%), radial-gradient(circle at 85% 85%, color-mix(in srgb, var(--navy) 12%, transparent), transparent 50%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;animation:.3s both fade;display:flex;position:fixed;inset:0;overflow:hidden}.splash-mark{color:#fff;background:linear-gradient(140deg, var(--primary), color-mix(in srgb, var(--primary) 55%, var(--navy)));width:84px;height:84px;box-shadow:var(--shadow-lg), var(--shadow-primary);animation:pop .6s var(--ease-spring) both, float 3.2s ease-in-out .6s infinite;border-radius:26px;place-items:center;display:grid;position:relative}.splash-mark:before,.splash-mark:after{content:"";border-radius:inherit;border:2px solid color-mix(in srgb, var(--primary) 55%, transparent);animation:ring 2.4s var(--ease) infinite;z-index:-1;position:absolute;inset:0}.splash-mark:after{animation-delay:1.2s}.splash .brand-mark{display:none}.splash .brand{animation:rise .6s var(--ease) both .15s;font-size:26px}.splash-label{color:var(--muted);font-size:var(--fs-sm);animation:rise .6s var(--ease) both .25s}.splash-bar{background:color-mix(in srgb, var(--navy) 12%, #fff);border-radius:999px;width:160px;height:4px;animation:.6s .35s both fade;position:relative;overflow:hidden}.splash-bar:after{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--navy));width:40%;animation:indeterminate 1.3s var(--ease) infinite;position:absolute;inset:0}.loading{animation:.3s .12s both fade}.loader{border:3px solid var(--navy-soft);border-top-color:var(--primary);border-right-color:color-mix(in srgb, var(--primary) 40%, transparent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--line) 0%, color-mix(in srgb, var(--line) 35%, #fff) 40%, var(--line) 80%);background-size:200% 100%;animation:1.4s linear infinite shimmer;display:block}.skeleton-page{animation:.3s .1s both fade}.skeleton-hero{border-radius:var(--radius);max-width:360px;height:64px}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:30px 24px;margin-top:28px;display:grid}.skeleton-card{flex-direction:column;gap:12px;display:flex}.skeleton-card>.skeleton:first-child{aspect-ratio:3/4;border-radius:4px 12px 12px 4px}.skeleton-card>.skeleton:not(:first-child),.skeleton-line{height:12px}.skeleton-title{width:55%;height:30px}.skeleton-video{aspect-ratio:16/9;border-radius:var(--radius-lg)}.skeleton-tabs{border-radius:var(--radius);height:52px}.skeleton-rows{flex-direction:column;gap:10px;display:flex}.skeleton-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);align-items:center;gap:14px;padding:16px 18px;display:flex}.skeleton-row>.skeleton:first-child{border-radius:12px;flex-shrink:0;width:40px;height:40px}.skeleton-row>span:last-child{flex-direction:column;flex:1;gap:8px;display:flex}.modal-shade{animation:fade var(--dur) ease both;-webkit-backdrop-filter:blur(3px)}.modal{animation:pop .34s var(--ease-spring) both}.modal-shade.is-closing{animation:.18s both fade-out}.modal-shade.is-closing .modal{animation:.18s both pop-out}.pdf-viewer{animation:pop .32s var(--ease) both}.pdf-viewer.is-closing{animation:.18s both pop-out}.toast{animation:pop .4s var(--ease-spring) both}.drawer-shade{animation:fade var(--dur) ease both}.form-error{animation:pop .3s var(--ease) both}
@media (max-width:1400px){.topnav-year{display:none}}@media (max-width:1180px){:root{--outline-w:280px}}@media (max-width:1320px){.topnav-inner{gap:16px}.topnav-links a{padding:0 10px}.brand-link-text small,.user-name small{display:none}}@media (max-width:1140px){.topnav-links a svg,.user-name{display:none}}@media (max-width:960px){.topnav-inner{gap:12px;padding:0 16px}.topnav-menu{display:inline-flex}.topnav-links,.topnav-school,.school-select,.user-name{display:none}.outline,.outline.drawer-only{z-index:70;width:min(340px,88vw);height:auto;transition:transform .36s var(--ease);box-shadow:var(--shadow-lg);border-radius:0 var(--radius-lg) var(--radius-lg) 0;display:block;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.outline.open{transform:translate(0)}.drawer-shade{z-index:65;-webkit-backdrop-filter:blur(3px);background:#00123873;display:block;position:fixed;inset:0}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.drawer-links{border-bottom:1px solid var(--line);flex-direction:column;padding:10px;display:flex}.drawer-links a{font-size:var(--fs-sm);color:var(--text-2);transition:background var(--dur-fast);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;display:flex}.drawer-links a:active{background:var(--surface-muted)}.outline.open .drawer-links a{animation:rise .4s var(--ease) both}.outline.open .drawer-links a:nth-child(2){animation-delay:40ms}.outline.open .drawer-links a:nth-child(3){animation-delay:80ms}.outline.open .drawer-links a:nth-child(4){animation-delay:.12s}.outline.open .drawer-links a:nth-child(5){animation-delay:.16s}.drawer-links a.active{background:var(--primary-soft);color:var(--primary-hover)}.drawer-user{align-items:center;gap:12px;padding:16px;display:flex}.drawer-user>span:last-child{flex-direction:column;display:flex}.drawer-user small{color:var(--muted)}.outline.drawer-only>.button{width:calc(100% - 32px);margin:0 16px}.login-page{grid-template-columns:1fr}.login-story{padding:36px 28px 64px}.login-story h1{font-size:40px}.login-page.is-school .login-story{gap:20px}.login-form-panel{background:0 0;align-items:flex-start;margin-top:-36px;padding-top:0}.login-page{background:var(--bg)}.login-story .science-art,.login-foot{display:none}}@media (max-width:640px){h1{font-size:24px}.page,.lesson{padding:20px 16px 36px}.library-head .search-box,.filter-bar .search-box,.filter-select,.filter-select select{width:100%}.filter-count{height:auto;margin-left:0}.lesson-title-row{flex-direction:column;gap:14px}.lesson-actions{align-self:stretch;padding-top:0}.medium-switch,.medium-switch button{flex:1}.lesson-title h1{font-size:24px}.lesson-tabs>button{min-width:64px;font-size:var(--fs-xs);flex-direction:column;gap:3px;padding:9px 4px 10px}.lesson-tabs .tab-count{display:none}.lesson-notes{padding:20px 18px}.lesson-notes p{font-size:var(--fs-base)}.quiz-card{flex-wrap:wrap}.quiz-card>.button,.quiz-actions{justify-content:center;width:100%}.lesson-pager{grid-template-columns:1fr}.pager-link.next{grid-column:1}.attempt-row .feedback-status{display:none}.form-grid,.simulation-controls{grid-template-columns:1fr}.modal-shade{align-items:stretch;padding:0}.modal,.modal.wide{border-radius:0;max-width:none;min-height:100%;padding:20px 18px}.modal-footer{border-radius:0;margin:20px -18px -20px;padding:14px 18px;bottom:-20px}.sim-reading strong{font-size:26px}.site-footer-inner{padding:18px 16px}.login-story h1{font-size:30px}.login-page.is-school .login-story h1{font-size:32px}.login-story{padding:28px 22px 60px}.login-school .school-logo,.login-school .school-initials{width:48px;height:48px}.login-form{border-radius:var(--radius-lg);padding:26px 20px}.login-form h2{font-size:26px}.grade-tabs{width:100%}.demo-entry>div,.demo-entry>div:first-of-type{grid-template-columns:1fr}.toolbar .compact-select,.toolbar .compact-input{flex:110px;width:auto}.toolbar .export-link{justify-content:center;width:100%;margin-left:0}}
.outline.admin-sidebar{background:var(--surface);width:248px;padding-bottom:24px}.admin-sidebar>.button{display:none}.topnav-title{font-size:var(--fs-sm);color:#ffffffb8;border-left:1px solid #ffffff2e;padding-left:16px;font-weight:600}.admin-nav{flex-direction:column;gap:18px;padding:20px 14px;display:flex}.admin-nav-group{flex-direction:column;gap:2px;display:flex}.admin-nav-title{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 6px;font-weight:700}.admin-nav a{border-radius:var(--radius-sm);min-height:40px;font-size:var(--fs-sm);color:var(--text-2);transition:background var(--dur-fast), color var(--dur-fast);align-items:center;gap:11px;padding:8px 12px;font-weight:600;display:flex;position:relative}.admin-nav a svg{color:var(--muted);transition:color var(--dur-fast)}.admin-nav a:hover{background:var(--surface-muted);color:var(--navy)}.admin-nav a:hover svg{color:var(--navy)}.admin-nav a.active{background:var(--navy-soft);color:var(--navy)}.admin-nav a.active svg{color:var(--navy)}.admin-nav a.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.admin-nav .nav-badge{margin-left:auto;position:static}.is-admin .page.manage{max-width:1240px}.sort-button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;align-items:center;gap:5px;display:inline-flex}.sort-button svg{opacity:.5}.sort-button:hover,.sort-button.on{color:var(--navy)}.sort-button.on svg{opacity:1}.data-table.people-table .data-row{grid-template-columns:28px minmax(200px,1.7fr) minmax(130px,1fr) minmax(120px,1.1fr) minmax(120px,1fr) 120px}.data-row.picked{background:color-mix(in srgb, var(--navy) 4%, var(--surface))}.pick-cell{align-items:center;display:flex}.pick-cell input,.check-list input[type=checkbox]{width:17px;height:17px;accent-color:var(--navy);cursor:pointer;margin:0;padding:0}.person-open{text-align:left;align-items:center;gap:12px;min-width:0;display:flex}.person-open>span:last-child{flex-direction:column;min-width:0;display:flex}.person-open strong{color:var(--text);transition:color var(--dur-fast)}.person-open:hover strong{color:var(--navy);text-underline-offset:3px;text-decoration:underline}.avatar.small,.avatar.large{color:var(--navy);background:var(--navy-soft);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.avatar.small{width:34px;height:34px;font-size:var(--fs-2xs)}.avatar.large{width:60px;height:60px;font-size:var(--fs-lg)}.avatar.small.admin,.avatar.large.admin{background:var(--primary-soft);color:var(--primary-text)}.avatar.small.teacher,.avatar.large.teacher{color:var(--success);background:#e8f3ee}.pager{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px;margin-top:14px;display:flex}.pager-size{align-items:center;gap:8px;display:inline-flex}.pager-size .compact-select{height:34px}.pager .icon-button{border:1px solid var(--line-strong);background:var(--surface)}.bulk-bar{z-index:30;border-radius:var(--radius);background:var(--navy-deep);color:#fff;box-shadow:var(--shadow-lg);animation:rise .25s var(--ease) both;align-items:center;gap:14px;margin-top:16px;padding:10px 10px 10px 20px;display:flex;position:sticky;bottom:16px}.bulk-bar>strong{font-size:var(--fs-sm);white-space:nowrap}.bulk-actions{flex-wrap:wrap;flex:1;gap:6px;display:flex}.bulk-button{border-radius:var(--radius-sm);min-height:36px;font-size:var(--fs-sm);color:#fff;transition:background var(--dur-fast);background:#ffffff1a;align-items:center;gap:7px;padding:6px 12px;font-weight:600;display:inline-flex}.bulk-button:hover:not(:disabled){background:#fff3}.bulk-button.danger{background:color-mix(in srgb, var(--danger) 70%, transparent)}.bulk-button.danger:hover:not(:disabled){background:var(--danger)}.icon-button.on-dark{color:#fffc}.icon-button.on-dark:hover{color:#fff;background:#ffffff24}.skipped-list{border:1px solid var(--line);border-radius:var(--radius);max-height:320px;margin:12px 0 0;padding:0;list-style:none;overflow-y:auto}.skipped-list li{font-size:var(--fs-sm);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.skipped-list li+li{border-top:1px solid var(--line)}.skipped-list span{color:var(--muted)}.modal-shade.side{justify-content:flex-end;align-items:stretch;padding:0}.modal.sheet{border-radius:var(--radius-xl) 0 0 var(--radius-xl);width:min(520px,100vw);max-width:none;height:100%;max-height:none;animation:sheet-in .32s var(--ease) both;overflow-y:auto}.modal-shade.side.is-closing .modal.sheet{animation:.17s ease-in both sheet-out}@keyframes sheet-in{0%{opacity:0;transform:translate(40px)}}@keyframes sheet-out{to{opacity:0;transform:translate(40px)}}.profile-head{align-items:center;gap:16px;margin-bottom:18px;display:flex}.profile-head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-head code{color:var(--muted)}.profile-head p{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.badge-row{flex-wrap:wrap;align-items:center;display:flex}.status-badge{font-size:var(--fs-2xs);border-radius:999px;align-items:center;gap:5px;margin:2px 6px 2px 0;padding:3px 9px;font-weight:700;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge.on{background:var(--success-soft);color:var(--success)}.status-badge.off{color:var(--danger);background:#fdecec}.profile-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:18px;display:flex}.stat-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 4px;display:grid}.stat-strip>div{border-radius:var(--radius-sm);background:var(--surface-muted);padding:10px 12px}.stat-strip dt,.fact-list dt{font-size:var(--fs-2xs);color:var(--muted);font-weight:600}.stat-strip dd{font-size:var(--fs-sm);margin:2px 0 0;font-weight:700}.profile-section{margin-top:22px}.profile-section h3{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:700}.fact-list{grid-template-columns:1fr 1fr;gap:12px 16px;margin:0;display:grid}.fact-list dd{font-size:var(--fs-sm);overflow-wrap:anywhere;margin:2px 0 0;font-weight:500}.fact-list dd.unset{color:var(--muted);font-style:italic;font-weight:400}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface);transition:border-color var(--dur-fast), color var(--dur-fast);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-weight:600;display:inline-flex}a.chip:hover{border-color:var(--navy-line);color:var(--navy)}.login-list{margin:0;padding:0;list-style:none}.login-list li{font-size:var(--fs-sm);flex-direction:column;gap:1px;padding:8px 0;display:flex}.login-list li+li{border-top:1px solid var(--line)}.login-list small{color:var(--muted)}.data-table.class-table .data-row{grid-template-columns:minmax(170px,1.4fr) minmax(140px,1.2fr) minmax(130px,1fr) 90px minmax(100px,.8fr) 168px}.class-name{flex-direction:column;min-width:0;display:flex}.class-name small{color:var(--muted)}.class-name button{text-align:left;color:var(--text);font-weight:700}.class-name button:hover{color:var(--navy);text-underline-offset:3px;text-decoration:underline}.data-row.highlight{background:var(--warning-soft)}.setup-table{flex-direction:column;gap:8px;margin-top:4px;display:flex}.setup-row{border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-sm);grid-template-columns:22px minmax(120px,1fr) minmax(160px,1.2fr);align-items:center;gap:12px;padding:8px 12px;display:grid}.setup-row.off{opacity:.55}.setup-row select{font-size:var(--fs-sm);padding:7px 10px}.check-list-tools{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px;display:flex}.delete-summary{border-radius:var(--radius-sm);color:#8d1c21;font-size:var(--fs-sm);background:#fdecec;margin:12px 0 0;padding:12px 16px 12px 34px}@media (max-width:960px){.outline.admin-sidebar{width:min(300px,86vw)}.admin-sidebar>.button{display:flex}.admin-nav a.active:before,.topnav-title{display:none}}@media (max-width:760px){.data-table.people-table .data-row{grid-template-columns:24px 1fr auto}.data-table.people-table .data-row>.pick-cell{grid-area:1/1/span 4;align-self:start;padding-top:9px}.data-table.people-table .data-row>.person-cell{grid-column:2}.data-table.people-table .data-row>:not(.pick-cell):not(.person-cell):not(.row-actions){grid-column:2;padding-left:46px}.data-table.people-table .data-row>.row-actions{flex-direction:column;grid-area:1/3/span 4}.data-table.class-table .data-row{grid-template-columns:1fr}.bulk-bar{flex-wrap:wrap;padding:12px;bottom:10px}.bulk-actions{flex-basis:100%;order:3}.bulk-bar>.icon-button{margin-left:auto}.pager{justify-content:space-between}.fact-list,.stat-strip{grid-template-columns:1fr 1fr}.modal.sheet{border-radius:0}.setup-row{grid-template-columns:22px 1fr}.setup-row select{grid-column:2}}.page>.panel-heading:first-child,.page.manage>.panel-heading{margin-bottom:22px}.page.manage>.panel-heading h2{letter-spacing:-.02em;font-size:26px}@media (max-width:640px){.panel-heading{flex-direction:column;align-items:stretch}.heading-actions{width:100%}.heading-actions>.button{flex:auto}.page.manage>.panel-heading h2{font-size:22px}}@media (min-width:641px){.heading-actions{flex-wrap:nowrap;flex-shrink:0}}.pill-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.pill-tabs::-webkit-scrollbar{display:none}.pill-tabs button{white-space:nowrap;flex:none}@media (max-width:760px){.data-table.class-table .data-row>.row-actions{flex-direction:row;grid-area:auto/1/auto/-1;justify-content:flex-start;margin-top:6px}}.stat-grid+.card,.stat-grid+section{margin-top:20px}
