/* Daily learning is a route; the library is a separate destination. */
:root{--journey:#087f72;--journey-dark:#075d54;--journey-soft:#eaf7f3;--journey-line:#c5e3d9}
.app-header{background:#fcfdfd;color:#172f36;box-shadow:0 1px 0 #dce5e6,0 8px 28px #1a454409}
.header-inner{min-height:72px;gap:20px;padding-top:10px;padding-bottom:10px}
.brand{min-width:220px}.brand-mark{background:#154c49;color:#fff4c7;box-shadow:inset 0 -3px 0 #0002}.brand p{color:#73858a}.brand h1{font-size:1rem}
.header-inner .desktop-nav{display:flex;gap:8px}.header-inner .nav-btn{color:#63777d;font-size:.82rem;padding:9px 17px}.header-inner .nav-btn:hover{background:#eef4f3;color:#173e3a}.header-inner .nav-btn.active{background:var(--journey-soft);color:var(--journey-dark)}
.header-inner .today-chip{border:0;background:#f1f4f4;color:#718386;font-size:.7rem}.student-user{color:#6f7f84;background:#f3f5f6;border-color:#e3e8e9}.student-logout{border:1px solid #dce3e5;color:#687780;background:#fff}.student-user strong{color:#243d43}
.journey-shell{border-top:1px solid #edf2f1;background:var(--journey-soft)}
.journey-inner{max-width:1240px;margin:auto;padding:12px 24px;display:flex;align-items:center;gap:22px}
.journey-caption{flex:0 0 114px}.journey-caption strong{display:block;color:var(--journey-dark);font-size:.8rem}.journey-caption small{color:#5a8479;font-size:.65rem}
.journey-track{display:flex;list-style:none;gap:6px;flex:1;padding:0;margin:0;min-width:0}.journey-track li{flex:1;min-width:0;position:relative}.journey-step{position:relative;width:100%;display:flex;align-items:center;gap:9px;min-height:49px;border:1px solid transparent;padding:7px 9px;border-radius:12px;background:transparent;color:#647e78;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}.journey-step:disabled{cursor:default;opacity:1;color:#879b95}.journey-step:focus-visible{outline:3px solid #65b9a4;outline-offset:2px}.journey-step:hover:not(:disabled){background:#dcefe8}.journey-number{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid #c9ded7;border-radius:50%;font-size:.69rem;background:#f5fbf8}.journey-step strong{display:block;font-size:.75rem;white-space:nowrap}.journey-step small{display:block;font-size:.6rem;margin-top:2px;white-space:nowrap}.journey-step.done .journey-number{background:#cae9dd;border-color:#cae9dd;color:#227861}.journey-step.next{background:var(--journey);color:white;box-shadow:0 4px 12px #087f7220}.journey-step.next .journey-number{background:#fff2;border-color:#ffffff65}.journey-step.next:hover{background:var(--journey-dark)}.journey-step.viewing:not(.next){border-color:#69a99b;background:#f4fbf7;color:var(--journey-dark)}
.typing-routine{flex:none;border:0;border-left:1px solid #cce0d9;background:transparent;padding:6px 0 6px 20px;text-align:left;cursor:pointer;color:#846021}.typing-routine small{display:block;font-size:.58rem;letter-spacing:.06em}.typing-routine strong{display:block;font-size:.76rem}.typing-routine.done strong{color:var(--journey)}
.journey-context{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 17px;border:1px solid #dbe7e2;border-radius:13px;background:#f7fbf9;margin-bottom:20px;color:#3e665b;font-size:.75rem}.journey-context strong{font-weight:850}.journey-context small{display:block;color:#788d87;margin-top:3px}.journey-context button{border:0;border-radius:8px;padding:9px 12px;color:#fff;background:var(--journey);font:inherit;font-weight:750;white-space:nowrap;cursor:pointer}
body[data-learning-mode="extra"] .journey-context{border-color:#dedfe9;background:#f4f4f8;color:#60617b}body[data-learning-mode="extra"] .journey-shell{background:#f4f7f6}body[data-learning-mode="extra"] .journey-step.next{box-shadow:none;background:#e5eeeb;color:#2d6b5c}body[data-learning-mode="extra"] .journey-step.next .journey-number{background:#fff;border-color:#c8ddd5}
#view-dashboard .hero{background:linear-gradient(118deg,#123e3c,#17665a);box-shadow:0 15px 30px #123e3c12}#view-dashboard .hero h2{font-size:1.85rem}#view-dashboard .hero .btn-white{color:#134d43}#view-dashboard .hero .metric-pill{background:#ffffff0c}#start-course-btn{display:none}#view-dashboard .daily-route{border-color:#cfe1d9}#view-dashboard .route-badge{background:var(--journey-soft);color:var(--journey-dark)}#view-dashboard .route-step.current{border-color:#47a58c;background:#e9f7f0}#view-dashboard .route-step.current .route-number,#view-dashboard .route-mini-fill{background:var(--journey)}#view-dashboard .route-next{background:#f0f7f3}#daily-next-btn,#review-course-start{background:var(--journey);box-shadow:0 7px 16px #087f7219}#view-dashboard .consolidation-card{background:#fff;border-color:#dae5e0}#view-dashboard .consolidation-card .eyebrow{color:#547c70}#view-dashboard .consolidation-card.locked{background:#f9fbfa}#view-dashboard .consolidation-card.locked .consolidation-loop{opacity:.7}
.extras-dialog{max-width:min(720px,calc(100vw - 32px));width:720px;border:1px solid #e2e5eb;border-radius:24px;padding:30px;background:#fcfcfe;color:#293342;box-shadow:0 30px 100px #16253635}.extras-dialog::backdrop{background:#15273670;backdrop-filter:blur(5px)}.extras-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.extras-head h2{margin:6px 0;font-size:1.55rem}.extras-head p{font-size:.84rem;color:#7b8491;margin:0}.extras-head .eyebrow{color:#83809b}.extras-close{border:0;border-radius:50%;width:36px;height:36px;background:#eef0f5;font:inherit;font-size:23px;color:#77808f;cursor:pointer}.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.extra-link{display:flex;align-items:center;gap:15px;padding:19px 16px;border:1px solid #e2e5ed;background:white;border-radius:15px;text-align:left;cursor:pointer;color:#354258;font:inherit}.extra-link:hover{background:#f2f2fa;border-color:#b6b8d1}.extra-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0eff8;color:#737092;font-size:18px;flex:none}.extra-link strong{display:block;font-size:.87rem}.extra-link small{display:block;font-size:.7rem;color:#9295a5;margin-top:4px}.extras-footer{border-top:1px solid #e8eaf0;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.extras-footer p{color:#8a91a0;font-size:.7rem;margin:0}.extras-footer button{background:var(--journey);color:#fff;box-shadow:none}
.mobile-nav{gap:7px}.mobile-nav .nav-btn{font-size:.75rem;padding:9px 6px}.mobile-nav .daily-mobile{flex:2;background:var(--journey);color:white;border-radius:12px}.mobile-nav .daily-mobile.active{background:var(--journey-dark);color:white}.mobile-nav .nav-btn span{display:inline;font-size:1rem;margin-right:5px}
@media(max-width:1100px){.header-inner{gap:14px}.header-inner .today-chip{display:none}.journey-inner{gap:12px}.journey-caption{flex-basis:94px}.journey-step{gap:6px;padding:6px}.journey-number{width:23px;height:23px}.typing-routine{padding-left:12px}.journey-step strong{font-size:.7rem}}
@media(max-width:760px){.header-inner{padding:10px 16px;min-height:66px;flex-wrap:nowrap}.brand{min-width:0;flex:1}.brand h1{font-size:.92rem}.brand p{font-size:.58rem}.brand-mark{width:35px;height:35px;border-radius:11px}.header-inner .desktop-nav{display:none}.student-user{font-size:.65rem;padding-left:8px}.student-user strong{max-width:62px}.student-logout{font-size:.58rem}.journey-inner{padding:8px 12px 10px;display:block}.journey-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.journey-caption strong{font-size:.7rem}.journey-caption small{font-size:.62rem}.journey-track{gap:3px}.journey-step{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;border-radius:9px;text-align:center}.journey-step strong{font-size:.66rem}.journey-step small{display:none}.journey-number{height:20px;width:20px;font-size:.6rem}.typing-routine{display:none}.journey-context{padding:10px 12px;margin-bottom:15px;font-size:.7rem}.journey-context button{font-size:.68rem}.extras-dialog{padding:23px 18px}.extras-grid{gap:8px}.extra-link{padding:15px 10px;gap:10px}.extra-symbol{width:32px;height:34px;font-size:15px}.extra-link strong{font-size:.8rem}.extra-link small{font-size:.65rem}.extras-footer{align-items:start;flex-direction:column}.extras-footer button{width:100%}#view-dashboard .hero h2{font-size:1.5rem}.app-header{box-shadow:0 1px 0 #cbded5}}
#view-dashboard #daily-progress-bar{background:var(--journey)}#view-dashboard #daily-complete{color:var(--journey)}#view-dashboard .route-step:disabled{cursor:default}#view-dashboard .route-step:disabled:hover{transform:none}
@media(prefers-reduced-motion:reduce){.journey-step{transition:none}}
