/* Deliberate movement, quiet reading. Every feature remains visible without JS. */
body.student-library:not(.student-motion-on) *,body.student-reader:not(.student-motion-on) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.student-journey-ready .chapter-progress>span,.student-journey-ready .chapter-progress .mastery-track{display:none}
.student-motion-toggle{font:inherit;font-size:14px;font-weight:600;line-height:1.5;min-height:44px;padding:8px 13px;border:1px solid #b8ccc9;border-radius:22px;background:#fff;color:#285d62;white-space:normal;cursor:pointer;flex-shrink:0}
.student-motion-toggle:disabled{opacity:1;color:#536766;background:#f2f6f3;cursor:default}
.student-library .library-intro{display:grid;grid-template-areas:"copy art" "stats art";grid-template-columns:minmax(0,1fr) 220px;gap:18px 28px;position:relative;overflow:hidden;padding:30px;border:1px solid #c9dedf;border-radius:20px;background:linear-gradient(120deg,#f1f8f7,#f7f5e9 75%);margin-bottom:20px}
.student-library .library-intro>div:first-child{grid-area:copy;min-width:0;position:relative;z-index:1}.student-library .library-intro h1{font-size:clamp(28px,3vw,41px);line-height:1.35;max-width:750px;letter-spacing:-.5px}.student-library .library-intro>div>p:last-child{font-size:18px;line-height:1.8;margin:12px 0 0}.student-library .library-total{grid-area:stats;width:fit-content;max-width:100%;flex-wrap:wrap;padding:10px 15px;background:#ffffffa6;border-color:#dce7e3;position:relative;z-index:1}.student-library .library-total strong{font-size:25px}.student-library .library-total span{font-size:14px}
.discovery-art{grid-area:art;align-self:center;position:relative;width:200px;height:175px;margin:auto;isolation:isolate;pointer-events:none}.discovery-art:before{content:"";position:absolute;inset:6px;border:1px dashed #9cbcc0;border-radius:50%;transform:rotate(-15deg)}.discovery-orb{position:absolute;width:120px;height:120px;border-radius:50%;background:#d5e9e5;left:38px;top:26px;z-index:-1}.discovery-orb:after{content:"";position:absolute;width:25px;height:25px;border-radius:50%;background:#e6af66;left:115px;top:5px}.discovery-book{position:absolute;left:51px;top:33px;width:96px;height:119px;border:3px solid #27586a;border-radius:5px 15px 15px 5px;background:#fffaf0;box-shadow:7px 8px 0 #abcfc6;display:grid;place-items:center;transform:rotate(-9deg)}.discovery-book .icon{width:43px;height:43px;color:#27586a}.discovery-label{position:absolute;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #cbded9;border-radius:10px;font-size:13px;font-weight:700;background:#fff;color:#315c65;box-shadow:0 4px 12px #27586a0a}.discovery-label .icon{width:18px;height:18px;flex-basis:18px}.discovery-label.first{left:0;top:8px;transform:rotate(-5deg)}.discovery-label.second{right:-1px;bottom:6px;transform:rotate(4deg)}
.learning-launchpad{margin:0 0 28px}.launchpad-heading{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.launchpad-heading h2{font-size:22px;line-height:1.5;margin:0;color:#274a5b}.launchpad-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.launchpad-option{position:relative;display:flex;align-items:center;text-align:left;gap:14px;width:100%;min-width:0;min-height:98px;padding:17px 16px;border:1px solid #cddfe6;border-radius:13px;background:#fff;color:#275b77;box-shadow:0 3px 0 #e5edef;font:inherit;cursor:pointer}.launchpad-option>span{display:grid;gap:3px;min-width:0}.launchpad-option strong{font-size:19px;line-height:1.5}.launchpad-option small{font-size:14px;line-height:1.6;color:#5b7180}.launchpad-option>.icon{width:29px;height:29px;flex-basis:29px}.launchpad-option.practice{background:#fff7eb;color:#8b4e2d;border-color:#e9d5bd;box-shadow:0 3px 0 #f3e8d7}.launchpad-option.comics{background:#eff7f3;color:#296858;border-color:#c8ded3;box-shadow:0 3px 0 #dfede4}.launchpad-option.active{outline:2px solid currentColor;outline-offset:-2px}
.student-library .gate-brand{position:relative;isolation:isolate}.student-library .gate-brand:before{content:"";position:absolute;inset:10% 3% 0;border:1px dashed #afcace;border-radius:50%;z-index:-1}.student-library .gate-brand:after{content:"";position:absolute;right:2%;top:0;width:27px;height:27px;border-radius:50%;background:#e4ac66;z-index:-1}.gate-motion-tools{display:flex;justify-content:center;margin-top:15px}
.student-journey{padding:22px 24px;margin:0 0 26px;border:1px solid #c6ddd3;border-radius:16px;background:linear-gradient(110deg,#f0f7f1,#fffdf5);min-width:0}.journey-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.journey-ring{position:relative;width:64px;height:64px;flex-shrink:0;display:grid;place-items:center}.journey-ring svg{position:absolute;inset:0;width:64px;height:64px;transform:rotate(-90deg);fill:none;stroke-width:4}.journey-ring .ring-track{stroke:#d8e6dc}.journey-ring .ring-value{stroke:#2b7766;stroke-linecap:round;stroke-dasharray:132;stroke-dashoffset:132}.journey-ring strong{font-size:16px;color:#255d50;font-variant-numeric:tabular-nums}.journey-copy{flex:1;min-width:160px}.journey-copy h2{font-size:22px;line-height:1.5;margin:0 0 4px;color:#285345}.journey-copy p{font-size:16px;line-height:1.6;margin:0;color:#4a685c}.journey-stops{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:18px 0 8px}.journey-stops li{margin:0;padding:0}.journey-stop{display:grid;place-items:center;width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border:1px solid #c0d0c5;border-radius:50%;background:#fff;color:#4a6557;font-size:16px;font-family:inherit;font-weight:700;cursor:pointer}.journey-stop.is-done{background:#2d715d;border-color:#2d715d;color:#fff}.journey-stop.is-current{outline:3px solid #c78e47;outline-offset:3px}.journey-hint{font-size:14px;line-height:1.7;color:#536d61;margin:12px 0 0}.student-journey button:focus-visible,.learning-launchpad button:focus-visible,.student-motion-toggle:focus-visible{outline:3px solid #176a8a;outline-offset:4px}
.student-completion-notice{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;gap:12px;width:min(450px,calc(100vw - 32px));padding:18px 14px 18px 18px;background:#fffef7;border:1px solid #b8d6c5;border-radius:14px;box-shadow:0 12px 36px #183b3024;color:#2c5345;pointer-events:none}.student-completion-notice[hidden]{display:none}.student-completion-notice>div{min-width:0;flex:1}.student-completion-notice strong{font-size:18px;line-height:1.5}.student-completion-notice p{font-size:14px;line-height:1.7;margin:4px 0 0;color:#48695b}.completion-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#e6f0e6;color:#2b705b;font-size:25px;font-weight:700}.completion-dismiss{pointer-events:auto;border:0;background:transparent;color:#486b5c;width:44px;min-width:44px;height:44px;font:inherit;font-size:25px;cursor:pointer}.completion-dismiss:focus-visible{outline:3px solid #176a8a;outline-offset:1px}
.student-motion-on .book-card,.student-motion-on .unit-resource-card,.student-motion-on .launchpad-option,.student-motion-on .journey-stop,.student-motion-on .open-book,.student-motion-on .lesson-jumps a{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.student-motion-on .ring-value{transition:stroke-dashoffset .45s ease}.student-motion-on .mastery-track i{transition:width .4s ease}.student-motion-on .discovery-book{animation:discovery-float 7s ease-in-out infinite}.student-motion-on .discovery-label.first{animation:discovery-label 8s ease-in-out infinite}.student-motion-on .bookmark-button[aria-pressed=true] .icon{animation:favorite-pop .28s ease-out}.student-motion-on .check-correct{animation:understood-glow .35s ease-out}.student-motion-paused *{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.student-motion-on .book-card:hover,.student-motion-on .unit-resource-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #254c6214}.student-motion-on .launchpad-option:hover{transform:translateY(-3px)}.student-motion-on .journey-stop:hover{transform:translateY(-3px)}.student-motion-on .open-book:hover .icon{transform:translateX(3px)}}
.student-motion-on .launchpad-option:active,.student-motion-on .journey-stop:active{transform:scale(.97)}
@keyframes discovery-float{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-7px) rotate(-6deg)}}
@keyframes discovery-label{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(4px) rotate(-2deg)}}
@keyframes favorite-pop{50%{transform:scale(1.2)}}@keyframes understood-glow{50%{box-shadow:0 0 0 4px #77b9a538}}
@media(max-width:1000px){.student-library .library-intro{grid-template-columns:minmax(0,1fr) 170px;gap:18px;padding:24px}.discovery-art{width:170px;transform:scale(.88);transform-origin:center}.launchpad-option{gap:10px;padding:16px 13px}.launchpad-option strong{font-size:18px}.launchpad-option>.icon{width:24px;height:24px;flex-basis:24px}}
@media(max-width:650px){.student-library .library-intro{grid-template-areas:"copy" "stats";grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:16px}.student-library .library-intro h1{font-size:29px}.student-library .library-intro>div>p:last-child{font-size:17px}.discovery-art{display:none}.student-library .library-total{padding:9px 11px;gap:5px}.student-library .library-total strong{font-size:23px}.student-library .library-total span{font-size:12px}.student-library .library-total i{margin:0 3px}.launchpad-heading{align-items:flex-start}.launchpad-heading h2{font-size:20px}.launchpad-heading .student-motion-toggle{max-width:140px;font-size:13px}.launchpad-options{grid-template-columns:1fr;gap:10px}.launchpad-option{min-height:76px;padding:13px 16px;gap:14px}.launchpad-option strong{font-size:19px}.launchpad-option small{font-size:14px}.student-journey{padding:20px 17px}.journey-heading{gap:12px}.journey-copy h2{font-size:21px}.journey-copy p{font-size:15px}.journey-heading>.student-motion-toggle{margin-left:auto}.journey-stops{gap:10px}.student-completion-notice{right:16px;padding:14px 10px 14px 14px}.student-completion-notice strong{font-size:17px}.completion-mark{width:32px;height:32px;flex-basis:32px}.student-library .gate-brand:before{display:none}.student-library .gate-brand:after{width:17px;height:17px;right:0}}
@media(prefers-reduced-motion:reduce){.student-library *,.student-reader *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
