/* Bright learning palette. All text stays black through the readability scope. */
#app_root:not(:has(#order_page_root,#embed_checkout_widget)){background:#fffaf3!important}
.ld-app{background:#fffaf3}.ld-sidebar,.ld-topbar{background:#fff;border-color:#eee7da}
.ld-sidebar nav button.is-active{background:#eee7ff!important;border-color:#d9ccef!important}
.ld-access{background:#fff7df;border-color:#f0e3bd}.ld-profile>span{background:#f0e7ff}
.ld-welcome{background:#fff1bd!important;border-color:#efdda1!important}.ld-next-card{background:#fffdf5;border-color:#fff;box-shadow:0 7px 18px #a8801510}.ld-next-progress{background:#f1e7c6}.ld-next-progress>span{background:#b8a1e9}
.ld-stats>div{background:#fff;border-color:#eee4cf;border-top:3px solid #f4cf69;box-shadow:0 4px 13px #a8852404}.ld-stats>div:nth-child(2){border-top-color:#b8a1ed}.ld-stats>div:nth-child(3){border-top-color:#90cfb1}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-button.ld-primary{background:#ffdc76!important;border-color:#e9c660!important;box-shadow:0 4px 10px #ae85110b}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-button.ld-primary:hover{background:#ffd253!important}
.ld-course.is-sd{background:#def6e9;border-color:#c5e8d5}.ld-course.is-smp{background:#ffe8d8;border-color:#f2d6bf}.ld-practice-link{background:#fff;border-color:#e6ddf5}.ld-panel{border-color:#e9e2d4;background:#fff}.ld-history{background:#fff}.ld-empty{background:#fff}
.ld-plan-banner{background:#e6f3ff;border-color:#cfdfef}.ld-plan-access{background:#fff9dd;border-color:#e4d99b}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-subjects button.is-active{background:#ffedb0!important;border-color:#e4cd85!important}
.ld-roadmap-stage{background:#f0ecff;border-color:#dfd5f4}.ld-roadmap-stage:nth-child(2){background:#e9f8ef;border-color:#cce8d7}.ld-roadmap-stage:nth-child(3){background:#fff2df;border-color:#eedcc0}.ld-roadmap-stage:nth-child(4){background:#eaf4ff;border-color:#cfdfee}.ld-roadmap-stage:nth-child(5){background:#fff0f2;border-color:#efd4db}
.ld-stage-number{background:#fff;border-color:#d7c8ed}.ld-stage-progress{background:#fff;border-color:#ded5ea}.ld-roadmap-stage:not(:last-child):after{border-color:#cdbfda}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day{background:#fff!important;border-color:#d9cfe9!important;box-shadow:0 3px 7px #624c8105}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day:hover{background:#fff7cf!important;border-color:#dabd5e!important}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day.is-locked{background:#f4f4f7!important;border-color:#bfc3ce!important;border-style:dashed;box-shadow:none}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day.is-complete{background:#dff3e7!important;border-color:#9fceb2!important}
.ld-practice-option.is-active{background:#f0eaff;border-color:#c8b5e9}.ld-practice-option>.ld-course-icon{background:#fff0bc}.ld-practice-option.is-active .ld-radio{background:#dfd2fa;border-color:#b6a0d7}
.ld-timer select,.ld-subjects button{background:#fff}.ld-record-icon{background:#e7f6ed}
.lq-question,.lq-navigation{border-color:#e6dfcf;box-shadow:0 5px 15px #806a2904}.lq-header,.lr-header{border-color:#e9e0cf}.lq-time-card{background:#fff0ba;border-color:#eed68c}.lq-time-progress{background:#f1df9f}.lq-time-progress>span{background:#c6a860}.lq-progress{background:#ece4f7}.lq-progress>span{background:#b09ada}.lq-hint,.lq-revisit{background:#fff7df;border-color:#efdfab}.lq-hint-button{background:#fff8df;border-color:#ebdeaf}
.lq-answers>button.is-selected{background:#eee6ff;border-color:#baa4df}.lq-answers>button.is-selected>b{background:#ddcef7;border-color:#bba5df}.lq-answers>button.is-selected>i{background:#e3d6fb;border-color:#bba5df}.lq-answers>button:hover{background:#fffcf1;border-color:#dec984}
.lq-next,.lr-back-bottom{background:#ffdc76!important;border-color:#e5c260!important}.lq-finish{background:#f0e8ff;border-color:#d8c9ef}.lq-question-grid button.is-current{background:#ede3ff;border-color:#baa4df}.lq-question-grid button.answered{background:#e2f6e9;border-color:#b7dbc4}.lq-question-grid button.skipped{background:#fff0c9;border-color:#e5d299}.learning-visual{background:#f7f5ff;border-color:#e1d9f1}
.lr-summary{background:#e7f6ed;border-color:#cce4d6}.lr-score{background:#fff;border-color:#fff;box-shadow:0 4px 12px #4e825d07}.lr-history,.lr-review{border-color:#e7dfce}.lr-bar-track{background:#f0ebfa}.lr-bar-track>i{background:#bda6e9}.lr-filters button.is-active{background:#fff0bb;border-color:#e6d087}.lr-review-list article.is-open{border-color:#c7b5e6}.lr-question-number{background:#f1eaff;border-color:#dfd1f2}.lr-explanation{background:#fdfcff}.lr-reasoning{background:#ecf5ff;border-color:#d5e4f3}
@media(max-width:760px){.ld-sidebar{background:#fffffff5;border-top-color:#e8dfce}.ld-sidebar nav button.is-active{background:#f0e8ff!important}.ld-welcome{background:#fff1bd!important}.ld-roadmap-stage{border-radius:12px}}
/* Large generated material icons, readable padlocks, and bright progress bars. */
.ld-material-art{display:block;width:31px;height:31px;object-fit:contain;flex-shrink:0}
.ld-subjects button{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;min-height:51px}
.ld-practice-art{display:block;width:51px;height:51px;object-fit:contain;flex-shrink:0}
.ld-stats>div{position:relative}.ld-stat-art{position:absolute;right:18px;top:17px;width:39px;height:39px}.ld-stats>div>span{padding-right:40px;min-height:18px}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,48%);grid-template-rows:18px minmax(0,1fr) 20px;aspect-ratio:1 / 1;width:100%;height:auto;min-height:0!important;min-width:0;align-items:center!important;justify-content:stretch!important;padding:12px!important;gap:0}
.ld-day-top{width:100%;justify-content:space-between;margin-bottom:4px}
.ld-day>strong{align-self:center;line-height:1.3;margin-top:2px}
.ld-day-lock{display:block;width:59px;height:59px;object-fit:contain;margin:3px auto 4px;filter:drop-shadow(0 4px 5px #9e762c18)}
.ld-day-ready{display:grid;place-items:center;width:55px;height:55px;margin:5px auto 6px;border-radius:15px;background:#fff3c0;border:1px solid #e9d389}
.ld-day.is-complete .ld-day-ready{background:#d3f0df;border-color:#a9cdb7}
.ld-day-status{text-align:center;font-size:13px;font-weight:500;margin-top:3px}
.ld-stage-progress-box{flex:0 0 132px!important;text-align:right;align-self:center}
.ld-stage-progress-box>span{font-size:12px;line-height:1.6;display:block;margin-bottom:6px}
.ld-stage-track{height:14px;border:1px solid #d0bde8;background:#ece0ff;border-radius:8px;overflow:hidden;width:100%;box-shadow:inset 0 1px 2px #4d2e7610}
.ld-stage-track>span{height:100%;display:block;background:linear-gradient(90deg,#bd9bff,#8dc6ff);border-radius:7px;transition:width .25s}
.ld-next-progress{height:15px!important;background:#fff4ce;border:1px solid #d8bd68;border-radius:9px;margin-top:18px;box-shadow:inset 0 1px 3px #8e6f1910}
.ld-next-progress>span{background:linear-gradient(90deg,#ffcc50,#8bd7ad)!important;border-radius:8px}
.lq-progress{height:13px;background:#eaddff;border:1px solid #c6b0e4;border-radius:8px;margin-top:10px}
.lq-progress>span{background:linear-gradient(90deg,#b596f6,#7ebce9);border-radius:7px}
.lq-time-progress{height:12px;background:#ffe69b;border:1px solid #d5af47;border-radius:7px}
.lq-time-progress>span{background:linear-gradient(90deg,#ffd04e,#ffb248);border-radius:6px}
.lq-time-card.is-urgent .lq-time-progress{background:#ffdfd3;border-color:#d69d88}.lq-time-card.is-urgent .lq-time-progress>span{background:#f89a74}
.lr-bar-track{height:130px;width:34px;background:#efe5ff;border:1px solid #e0d1f3;border-radius:7px}.lr-bar-track>i{background:linear-gradient(0deg,#b291e9,#9bc7f7);border-radius:6px}
@media(max-width:760px){
.ld-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
.ld-subjects button{min-height:57px;padding:10px;gap:8px;font-size:13px;white-space:normal;text-align:left;line-height:1.5}
.ld-subjects button:last-child:nth-child(odd){grid-column:1/-1}
.ld-material-art{width:29px;height:29px}.ld-practice-art{width:43px;height:43px}
.ld-stats>div{padding-top:49px}.ld-stats>div>span{padding-right:0;min-height:30px}.ld-stat-art{right:auto;left:10px;top:9px;width:32px;height:32px}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-day{min-height:0!important;padding:10px!important}
.ld-day-top{font-size:10px;margin-bottom:3px}.ld-day>strong{font-size:29px;margin-top:2px}.ld-day-lock{width:54px;height:54px;margin:4px auto}.ld-day-ready{width:49px;height:49px;margin:6px auto}.ld-day-status{font-size:12px;line-height:1.5;margin-top:4px}
.ld-stage-progress-box{flex:0 0 103px!important}.ld-stage-progress-box>span{font-size:11px;margin-bottom:6px}.ld-stage-track{height:13px}
.ld-next-progress{height:15px!important;margin-top:13px}.lq-progress{height:12px}.lq-time-progress{height:11px}
}

/* Square day tiles; two columns on phones keep the large lock readable. */
.ld-day-top{grid-column:1/-1;grid-row:1;align-self:start;margin:0}
.ld-day>strong{grid-column:1;grid-row:2;align-self:center;justify-self:start;font-size:32px;line-height:1.2;margin:0}
.ld-day-lock,.ld-day-ready{grid-column:2;grid-row:2;align-self:center;justify-self:center;margin:0;max-width:100%}
.ld-day-lock{width:59px;height:auto;aspect-ratio:1}
.ld-day-ready{width:55px;height:auto;aspect-ratio:1}
.ld-day-status{grid-column:1/-1;grid-row:3;align-self:end;justify-self:center;margin:0;line-height:1.5}
@media(max-width:1200px){#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-days{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.ld-day>strong{font-size:32px;margin:0}.ld-day-lock{width:59px;height:auto;margin:0}.ld-day-ready{width:55px;height:auto;margin:0}.ld-day-status{font-size:13px;margin:0}.ld-day-top{margin:0}}
/* Consistent logic plan, visible licence entry, and one clean learning footer. */
.ld-practice-roadmap{margin-top:24px}
.ld-topbar-actions{display:flex;align-items:center;gap:18px}
.ld-login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;min-height:43px;background:#fff4cf;border:1px solid #e4cf8c;border-radius:9px;font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap}
.ld-login-button:hover{background:#ffecad}
.ld-login-short{display:none}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-app footer.ld-footer{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:17px 26px;align-items:center;margin:4px 34px 0;padding:25px 0 26px!important;border-top:1px solid #e4ddcf!important;font-size:14px!important;background:transparent}
.ld-footer-brand strong{font-size:18px;font-weight:600;letter-spacing:-.4px}
.ld-footer-brand p{font-size:13px;line-height:1.7;margin-top:4px}
.ld-footer nav{display:flex;align-items:center;justify-content:flex-end;gap:6px 16px;flex-wrap:wrap}
.ld-footer nav button{padding:8px 0;min-height:42px;border:0;background:transparent;font-size:13px;line-height:1.7;text-align:left}
.ld-footer nav button:hover{text-decoration:underline;text-underline-offset:4px}
.ld-footer-copyright{grid-column:1/-1;font-size:12px;line-height:1.7}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer{max-width:1160px;margin:0 auto!important;padding:0 28px 28px!important;width:100%}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer footer{border:0;border-top:1px solid #e4ddcf;border-radius:0;background:transparent;box-shadow:none;color:#111!important;padding:22px 0!important;font-size:13px!important;gap:15px}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer :is(p,button,span){color:#111!important;font-size:13px;line-height:1.8}
#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer button{background:none;border:0;min-height:42px;padding:6px}
@media(max-width:1050px){.ld-topbar-actions{gap:10px}.ld-profile{display:none}.ld-login-button{font-size:13px;padding:10px 12px}.ld-topbar{gap:12px}#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-app footer.ld-footer{grid-template-columns:1fr}.ld-footer nav{justify-content:flex-start}}
@media(max-width:760px){.ld-topbar{gap:10px}.ld-topbar-actions{gap:0}.ld-breadcrumb>span{display:none}.ld-breadcrumb{min-width:0;flex:1}.ld-breadcrumb strong{font-size:13px;line-height:1.6}.ld-login-full{display:none}.ld-login-short{display:inline}.ld-login-button{font-size:12px;gap:6px;padding:9px 10px;min-height:41px}.ld-login-button svg{width:15px;height:15px}.ld-practice-roadmap{padding:20px 14px;margin-top:21px}#app_root:not(:has(#order_page_root,#embed_checkout_widget)) .ld-app footer.ld-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0 18px;padding:22px 0 24px!important;font-size:14px!important}.ld-footer-brand strong{font-size:18px}.ld-footer-brand p{font-size:13px}.ld-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;justify-content:stretch}.ld-footer nav button{font-size:13px;min-height:44px;padding:7px 0}.ld-footer-copyright{font-size:11px}#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer{padding:0 18px 24px!important}#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer footer{align-items:flex-start;text-align:left;gap:11px}#app_root:not(:has(#order_page_root,#embed_checkout_widget)) #learning_site_footer footer>div{justify-content:flex-start;gap:6px 10px}}
