@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap";
:root{--text:#0f172a;--muted:#667085;--bg:#f3f4f6;--card:#fff;--border:#e5e7eb;--accent:#22c55e;--navbar-height:64px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:#f3f4f6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navbar{z-index:30;-webkit-backdrop-filter:none;backdrop-filter:none;min-height:var(--navbar-height);background:#edf2ea;border-bottom:1px solid #dfe7dc;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex;position:sticky;top:0}.navbar-brand{flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.site-logo{object-fit:cover;object-position:left center;border-radius:8px;width:30px;height:30px;display:block}.logo-word{letter-spacing:-.015em;color:#26a553;text-shadow:none;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.55rem;font-weight:800;line-height:1.05}.navbar-nav{flex-wrap:nowrap;align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.navbar-nav>li{flex-shrink:0;align-items:center;display:flex}.navbar-main{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:0 0;border:0;border-radius:0;flex:auto;min-width:0;margin:0;padding:0 .15rem;overflow:auto hidden}.navbar-main::-webkit-scrollbar{display:none}.navbar-auth{flex-shrink:0;gap:.35rem;margin-left:auto}.navbar--authed .logo-word{font-size:1.35rem}.navbar--authed .navbar-main a{padding:.3rem .48rem;font-size:.78rem}.navbar--authed .nav-user-chip{max-width:140px;padding:.22rem .42rem .22rem .26rem}.navbar--authed .nav-xp-chip{gap:.35rem;padding:.26rem .48rem}.navbar--authed .nav-xp-level,.navbar--authed .nav-xp-total{font-size:.72rem}.navbar--authed .theme-toggle-btn,.navbar--authed .logout-btn{padding:.42rem .62rem;font-size:.76rem}.nav-xp-chip{background:#ecfdf3;border:1px solid #86efac;border-radius:999px;align-items:center;gap:.45rem;padding:.32rem .58rem;display:inline-flex}.nav-xp-level{color:#14532d;font-size:.75rem;font-weight:800}.nav-xp-total{color:#166534;white-space:nowrap;font-size:.76rem;font-weight:700}.nav-user-chip{cursor:pointer;background:#fff;border:1px solid #e4e7ec;border-radius:999px;align-items:center;gap:.5rem;max-width:220px;padding:.28rem .5rem .28rem .3rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:inline-flex}a.nav-user-chip:hover{border-color:#c8d0dc;box-shadow:0 2px 8px #0f172a14}a.nav-user-chip:focus-visible{outline-offset:2px;outline:2px solid #4c5df5}.nav-user-avatar{object-fit:cover;background:#f8fafc;border:1px solid #d0d5dd;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;display:inline-flex}.nav-user-avatar.fallback{color:#667085}.nav-user-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;overflow:hidden}.navbar-main a,.login-link{color:#4d6050;white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:.35rem .6rem;font-size:.83rem;font-weight:500;text-decoration:none;transition:all .18s;display:inline-block}.navbar-main a:hover,.login-link:hover{color:#2c7f43;background:#4caf5014;border-color:#0000}.navbar-main a.active{color:#14532d;background:#dcfce7;border-color:#86efac;box-shadow:0 1px 2px #15803d2e}.navbar-main a:focus-visible{outline-offset:1px;outline:2px solid #22c55e59}.nav-route-dropdown-wrap{align-items:center;display:inline-flex;position:relative}.nav-route-dropdown{color:#4d6050;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.2rem;max-width:none;margin:0;padding:.35rem .6rem;font-family:inherit;font-size:.83rem;font-weight:500;line-height:1.2;transition:all .18s;display:inline-flex}.nav-route-dropdown-label{text-overflow:ellipsis;max-width:9.5rem;overflow:hidden}.nav-route-dropdown-chevron{opacity:.72;flex-shrink:0;font-size:.62rem;line-height:1;transform:translateY(1px)}.nav-route-dropdown:hover{color:#2c7f43;background:#4caf5014;border-color:#0000}.nav-route-dropdown--active{color:#14532d;background:#dcfce7;border-color:#86efac;box-shadow:0 1px 2px #15803d2e}.nav-route-dropdown:focus-visible{outline-offset:1px;outline:2px solid #22c55e59}.nav-route-dropdown-menu{background:#fff;border:1px solid #e4e7ec;border-radius:10px;min-width:11.5rem;margin:0;padding:.3rem;list-style:none;box-shadow:0 8px 24px #0f172a1f}.nav-route-dropdown-item{text-align:left;color:#344054;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;margin:0;padding:.45rem .55rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:block}.nav-route-dropdown-item:hover{color:#14532d;background:#4caf501a}.nav-route-dropdown-item--active{color:#14532d;background:#dcfce7}.navbar--authed .nav-route-dropdown{padding:.3rem .48rem;font-size:.78rem}.navbar--authed .nav-route-dropdown-label{max-width:8.5rem}.navbar-cta{background:#49be56;border:1px solid #49be56;border-radius:8px;padding:.45rem .95rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .18s;color:#fff!important}.navbar-cta:hover{background:#3ea94b;border-color:#3ea94b;transform:translateY(-1px)}.logout-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:.5rem .85rem;font-size:.84rem;font-weight:700;transition:all .18s}.logout-btn:hover{background:#f8fafc;border-color:#bfc5ce;transform:translateY(-1px)}.theme-toggle-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:.5rem .72rem;font-size:.8rem;font-weight:700;transition:all .18s}.theme-toggle-btn:hover{background:#f8fafc;border-color:#bfc5ce}.theme-toggle-btn--icon{justify-content:center;align-items:center;width:2.1rem;height:2.1rem;padding:.42rem;line-height:0;display:inline-flex}.theme-toggle-btn--icon .theme-toggle-icon{transition:transform .18s,opacity .18s;display:block}.theme-toggle-btn--icon:hover .theme-toggle-icon{transform:rotate(-8deg)scale(1.08)}.theme-toggle-btn--icon:focus-visible{outline-offset:2px;outline:2px solid #16a34a}.navbar--authed .theme-toggle-btn--icon{width:2.1rem;height:2.1rem;padding:.42rem}.container{z-index:1;max-width:1080px;margin:0 auto;padding:2.4rem 1.5rem;position:relative}main.container.container--fullbleed{width:100%;max-width:none;min-height:calc(100dvh - var(--navbar-height));height:calc(100dvh - var(--navbar-height));margin:0;padding:0}main.container.container--immersive{background:#1e1e1e;height:100dvh;min-height:100dvh}main.container.container--wide{max-width:min(1520px,96vw);padding:1.35rem clamp(1rem,2.5vw,2.25rem) 2rem}.landing-hero{grid-template-columns:1fr minmax(320px,460px);align-items:start;gap:2.2rem;min-height:360px;margin:0 auto 3.4rem;display:grid}.landing-hero-portal{flex-direction:column;gap:.75rem;min-width:0;display:flex}.landing-hero-portal .card{font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.portal-progress-card{background:#fff;border:1px solid #e2e8ef;border-top:3px solid #10b981;border-radius:20px;padding:1.2rem 1.25rem 1.15rem;box-shadow:0 4px 6px #0f172a0a,0 12px 32px #0f172a12}.portal-streak-band.card{background:linear-gradient(135deg,#fafbff 0%,#f0f3ff 100%);border:1px solid #e4e8f5;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1rem;padding:1rem 1.25rem;display:grid;box-shadow:0 2px 8px #6366f10f}.portal-streak-band--guest{opacity:.72}.portal-streak-band--guest .portal-streak-flame,.portal-streak-band--guest .portal-weekly-ring-inner-arc{opacity:.35}.portal-streak-cta{grid-area:1/1;min-width:0}.portal-streak-kicker{text-transform:uppercase;letter-spacing:.08em;color:#7c83c3;margin:0 0 .5rem;font-size:.68rem;font-weight:700}.portal-streak-weekdays{flex-wrap:wrap;align-items:center;gap:.32rem;margin-bottom:.45rem;display:flex}.portal-streak-weekday{flex-shrink:0}.portal-streak-weekday-dot{box-sizing:border-box;background:#f5f7ff;border:2px solid #d4daf0;border-radius:50%;justify-content:center;align-items:center;width:1.72rem;height:1.72rem;display:inline-flex}.portal-streak-weekday-letter{color:#9aa3b8;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.62rem;font-weight:700;line-height:1}.portal-streak-weekday-dot--active{background:linear-gradient(145deg,#8b93c7 0%,#6366f1 100%);border-color:#5b61c9;box-shadow:0 2px 8px #6366f140}.portal-streak-weekday-dot--active .portal-streak-weekday-letter{color:#fff}.portal-streak-weekday-dot--today:not(.portal-streak-weekday-dot--active){background:#eef2ff;border-color:#a5b4fc}.portal-streak-weekday-dot--today:not(.portal-streak-weekday-dot--active) .portal-streak-weekday-letter{color:#6366f1}.portal-streak-cta-sub{color:#475467;margin:0;font-size:.78rem;font-weight:500;line-height:1.5}.portal-streak-mid{border-left:1px solid #dfe3f0;grid-area:1/2;align-items:center;gap:.5rem;min-width:5.5rem;padding-left:.85rem;display:flex}.portal-streak-mid>div{min-width:0}.portal-streak-flame{color:#7c83c3;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.portal-streak-flame-svg{width:2.1rem;height:2.1rem;display:block}.portal-streak-days{letter-spacing:-.02em;color:#1e293b;font-size:1.2rem;font-weight:700;line-height:1.15}.portal-streak-days-unit{color:#94a3b8;font-size:.88rem;font-weight:500}.portal-streak-days-label{color:#94a3b8;white-space:nowrap;margin-top:.15rem;font-size:.72rem;font-weight:500}.portal-streak-weekly{border-top:1px solid #dfe3f0;grid-area:2/1/auto/-1;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:.75rem 1rem;min-width:0;padding-top:.75rem;display:grid}.portal-streak-weekly-meta{min-width:0}.portal-streak-weekly-top{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.portal-streak-info-btn{color:#7c83c3;cursor:pointer;background:#f5f7ff;border:1px solid #d4daf0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;padding:0;line-height:1;display:inline-flex}.portal-streak-info-i{font-family:Georgia,Times New Roman,serif;font-size:.72rem;font-style:italic;font-weight:600;transform:translateY(-.5px)}.portal-streak-info-btn:hover{color:#475467;background:#f8fafc;border-color:#98a2b3}.portal-goal-text strong{color:#101828;letter-spacing:-.02em;font-weight:700}.portal-goal-label{color:#667085;font-weight:500}.streak-info-overlay{z-index:50;background:#0f172a6b;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.streak-info-overlay--portal{z-index:200}.streak-info-modal{background:#fff;border-radius:16px;width:min(100%,420px);max-height:min(90vh,520px);padding:1.15rem 1.2rem 0;font-family:Plus Jakarta Sans,Inter,sans-serif;overflow:auto;box-shadow:0 20px 48px #0f172a2e}.streak-info-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.streak-info-header h2{letter-spacing:-.02em;color:#101828;margin:0;font-size:1.12rem;font-weight:700}.streak-info-close{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.1rem .25rem;font-size:1.35rem;line-height:1}.streak-info-close:hover{color:#101828;background:#f2f4f7}.streak-info-lead{color:#475467;margin:0 0 1rem;font-size:.88rem;font-weight:500;line-height:1.5}.streak-info-goals{gap:.95rem;margin:0;padding:0;list-style:none;display:grid}.streak-info-goals li{align-items:flex-start;gap:.65rem;display:flex}.streak-info-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.35rem}.streak-info-dot--amber{background:#f59e0b}.streak-info-dot--green{background:#22c55e}.streak-info-goal-title{color:#101828;margin:0 0 .2rem;font-size:.88rem;font-weight:600}.streak-info-goal-desc{color:#667085;margin:0;font-size:.82rem;font-weight:500;line-height:1.45}.streak-info-foot{background:#f9fafb;border-top:1px solid #eef0f3;border-radius:0 0 16px 16px;margin:1.05rem -1.2rem 0;padding:.9rem 1.2rem 1.1rem}.streak-info-foot-title{color:#101828;margin:0 0 .25rem;font-size:.88rem;font-weight:600}.streak-info-foot-desc{color:#667085;margin:0;font-size:.82rem;font-weight:500;line-height:1.45}.portal-weekly-ring{flex-shrink:0;width:58px;height:58px}.portal-weekly-ring svg{width:100%;height:100%;display:block}.portal-weekly-ring-outer-track{fill:none;stroke:#e0e7ff;stroke-width:5px}.portal-weekly-ring-inner-track{fill:none;stroke:#eef2ff;stroke-width:4px}.portal-weekly-ring-inner-arc{transition:stroke-dashoffset .6s cubic-bezier(.33,1,.68,1)}.portal-weekly-goals{flex:1;min-width:0;margin:0;padding:0;font-size:.78rem;line-height:1.4;list-style:none}.portal-weekly-goals li{white-space:nowrap;align-items:center;gap:.4rem;margin-bottom:.18rem;display:flex}.portal-weekly-goals li:last-child{margin-bottom:0}.portal-goal-text{white-space:nowrap}.portal-goal-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.portal-streak-band .portal-goal-dot--amber{background:#94a3b8}.portal-streak-band .portal-goal-dot--green{background:#6366f1}.portal-week-range{color:#98a2b3;white-space:nowrap;margin-top:.35rem;font-size:.68rem;font-weight:600;line-height:1.2}.portal-head-link{color:#059669;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;flex-shrink:0;padding:.3rem .6rem;font-size:.72rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s}.portal-head-link:hover{background:#dcfce7;border-color:#86efac}.meta-block--course{margin-bottom:.15rem}.meta-value--course{font-size:clamp(1rem,1.35vw,1.28rem);line-height:1.2}.meta-stat-tile{background:#f8fafc;border:1px solid #e8edf2;border-radius:12px;flex-direction:column;justify-content:center;min-height:60px;padding:.6rem .75rem;transition:border-color .15s;display:flex}.meta-stat-tile:hover{border-color:#c7d2da}.landing-hero-left h1{letter-spacing:-.03em;color:#101828;margin:0 0 .85rem;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(2.05rem,4vw,3rem);font-weight:800;line-height:1.02}.accent-green{color:var(--accent)}.landing-hero-left p{color:#667085;max-width:500px;margin:0;font-size:1.02rem;line-height:1.55}.landing-hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.btn{border:1px solid #d7dce3;border-radius:11px;justify-content:space-between;align-items:center;min-width:148px;padding:.72rem 1rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{color:#1f2937;background:#d7f7df;border-color:#c5ebcf}.btn-primary:hover{background:#c7efd2;transform:translateY(-1px)}.btn-secondary{color:#1f2937;background:#fff}.btn-secondary:hover{background:#f8fafc;transform:translateY(-1px)}.btn-start,.btn-progress{color:#2e4f39;letter-spacing:-.005em;white-space:nowrap;background:#cbe8c8;border:1px solid #bdddbb;border-radius:18px;justify-content:space-between;align-items:center;gap:.6rem;min-width:210px;height:58px;padding:0 1.25rem;font-size:1.02rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff80}.btn-start:hover,.btn-progress:hover{background:#c1e0be;border-color:#accfa9;transform:translateY(-1px)}.btn-start .btn-icon,.btn-progress .btn-icon{color:#3a5b44;justify-content:center;align-items:center;display:inline-flex}.btn-start .btn-icon{font-size:1.85rem}.btn-progress .btn-icon svg{stroke-width:2px;width:19px;height:19px}.card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:1.15rem 1.2rem;box-shadow:0 4px 16px #0f172a0f}.portal-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.portal-head-left{flex-direction:column;gap:.1rem;min-width:0;display:flex}.portal-app-icon{display:none}.portal-title{letter-spacing:-.01em;color:#0f172a;grid-column:1;font-size:.92rem;font-weight:800;line-height:1.1}.portal-status{color:#6b7280;grid-column:1;align-items:center;gap:.2rem;margin-top:.05rem;font-size:.74rem;font-weight:500;display:flex}.dot{background:#22c55e;border-radius:50%;width:6px;height:6px;margin-right:.2rem;display:inline-block}.portal-menu{color:#6b7280;cursor:default;background:0 0;border:0;padding:.15rem .25rem;font-size:1.05rem;line-height:1}.portal-body{grid-template-columns:minmax(140px,152px) 1fr;align-items:center;gap:.85rem;display:grid}.home-course-donut{width:152px;height:152px;margin:0 auto;position:relative}.home-course-donut-svg{filter:drop-shadow(0 10px 26px #10b98133);width:100%;height:100%;display:block}.home-course-donut-track{fill:none;stroke:#e8edf4;stroke-width:12px}.home-course-donut-arc{transition:stroke-dashoffset .75s cubic-bezier(.33,1,.68,1)}.home-course-donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.home-course-donut-value{letter-spacing:-.03em;color:#0f172a;font-size:2rem;font-weight:800;line-height:1}.home-course-donut-label{color:#64748b;letter-spacing:.14em;text-transform:uppercase;margin-top:.35rem;font-size:.68rem;font-weight:700}.mini-track--course span{background:linear-gradient(90deg,#5eead4 0%,#10b981 52%,#059669 100%);box-shadow:0 0 14px #10b98152}.ring{--pct:0;background:conic-gradient(#cfd4dc 0deg 295deg,#1f74dc 295deg 332deg,#ef4444 332deg 346deg,#34d399 346deg 360deg);border-radius:50%;justify-content:center;align-items:center;width:136px;height:136px;display:flex}.ring-inner{background:#fff;border:1px solid #e5e7eb;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.ring-value{letter-spacing:-.02em;color:#0f172a;font-size:2.25rem;font-weight:800;line-height:.95}.ring-label{color:#8b95a7;letter-spacing:.1em;margin-top:.1rem;font-size:.7rem;font-weight:700}.meta-label{color:#8b95a7;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.22rem;font-size:.62rem;font-weight:700}.meta-value{letter-spacing:-.02em;color:#0f172a;font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:800;line-height:1.15}.meta-sub{color:#667085;margin-top:.2rem;font-size:.8rem}.mini-track{background:#e8edf2;border-radius:999px;width:100%;height:6px;margin:.3rem 0 .2rem;overflow:hidden}.mini-track span{background:linear-gradient(90deg,#34d399 0%,#10b981 60%,#059669 100%);width:0;height:100%;transition:width .6s;display:block}.meta-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.65rem;display:grid}.portal-ready{color:#111827;letter-spacing:.01em;background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.2rem .1rem;font-size:.86rem;font-weight:800;display:inline-flex}.portal-ready span{background:linear-gradient(145deg,#3dd9a6 0%,#1bc786 100%);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;display:inline-flex}.section-header{margin-bottom:1.8rem}.section-header h2{letter-spacing:-.02em;color:#111827;margin:0 0 .45rem;font-size:2.6rem}.section-header p{color:#838c9c;margin:0;font-size:1.02rem}.home-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-bottom:3rem;display:grid}.home-module-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;min-height:224px;padding:1.1rem;transition:all .25s}.home-module-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0f172a1a}.home-module-num{color:#e7ebf0;margin-bottom:.35rem;font-size:2.65rem;font-weight:800}.home-module-card h3{letter-spacing:-.015em;margin:0 0 .4rem;font-size:2rem;font-weight:700}.module-desc{color:#667085;min-height:72px;margin:0;font-size:.96rem;line-height:1.48}.start-link{color:#2b6ea6;margin-top:.85rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block}.home-cta{text-align:center;color:#f8fafc;background:linear-gradient(115deg,#0b0f1a 0%,#052433 55%,#0b0f1a 100%);border-radius:18px;margin:3rem 0 2rem;padding:3rem 2rem}.home-cta h2{margin:0 0 .5rem;font-size:2.6rem}.home-cta p{color:#f8fafcd1;max-width:650px;margin:0 auto 1.2rem}.home-cta .btn{color:#111;background:#fff;border-color:#fff;justify-content:center;min-width:230px}.home-footer{background:#f4f6f8;border-top:1px solid #e4e7ec;grid-template-columns:1fr;gap:1.5rem;margin-top:2.2rem;padding:2rem 1.7rem 1.1rem;display:grid}.home-footer-fullbleed{border-radius:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(2rem,50vw - 540px + 1.5rem);padding-right:max(2rem,50vw - 540px + 1.5rem)}.foot-links-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(128px,auto));justify-self:end;gap:2rem 3.25rem;display:grid}.foot-col h4{color:#98a2b3;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .85rem;font-size:.7rem;font-weight:600}.home-footer .foot-col ul{max-width:16rem;margin:0;padding:0;list-style:none}.home-footer .foot-col li{color:#475467;margin-bottom:.4rem;font-size:.88rem;font-weight:400;line-height:1.55}.home-footer .foot-col li:last-child{margin-bottom:0}.foot-bottom{color:#98a2b3;border-top:1px solid #e4e7ec;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;font-size:.82rem;display:flex}.foot-brand{color:#4bb367;letter-spacing:.04em;font-size:.88rem;font-weight:800}.foot-copy{color:#98a2b3;margin:0}.spinner-overlay{display:none}.assignment-generating-panel{background:linear-gradient(125deg,#f0fdf4 0%,#ecfdf5 50%,#f7fee7 100%);border:1px solid #c7e9d3;border-radius:14px;align-items:center;gap:1rem;margin:.5rem 0 1.25rem;padding:1.1rem 1.25rem;display:flex;box-shadow:0 8px 22px #10b98114}.assignment-generating-spinner{will-change:transform;flex:none;width:32px;height:32px;animation:1.4s linear infinite assignment-generating-orbit;display:inline-block;position:relative}.assignment-generating-spinner:before,.assignment-generating-spinner:after{content:"";box-sizing:border-box;border-radius:50%;position:absolute;inset:0}.assignment-generating-spinner:before{will-change:transform;border:3px solid #10b981;border-color:#10b981 #059669 #10b98133 #10b98133;animation:.9s cubic-bezier(.55,.12,.45,.88) infinite assignment-generating-spin}.assignment-generating-spinner:after{will-change:transform;border:2.5px solid #10b98124;border-color:#10b98124 #10b98124 #34d399 #6ee7b7;animation:1.15s linear infinite reverse assignment-generating-spin;inset:5px}.assignment-generating-text{min-width:0}.assignment-generating-title{color:#064e3b;margin:0 0 .2rem;font-size:1.02rem;font-weight:700}.assignment-generating-sub{color:#1f6f4a;margin:0;font-size:.88rem;line-height:1.45}@keyframes assignment-generating-spin{to{transform:rotate(360deg)}}@keyframes assignment-generating-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.assignment-generating-spinner{animation:none}.assignment-generating-spinner:before,.assignment-generating-spinner:after{animation:1.4s ease-in-out infinite assignment-generating-pulse}}@keyframes assignment-generating-pulse{0%,to{opacity:.45}50%{opacity:1}}:root.theme-dark .assignment-generating-panel{background:linear-gradient(125deg,#06241a 0%,#0a2e22 50%,#07271c 100%);border-color:#1f6d4a;box-shadow:0 10px 24px #00000073}:root.theme-dark .assignment-generating-title{color:#ecfdf5}:root.theme-dark .assignment-generating-sub{color:#b8d7c6}:root.theme-dark .assignment-generating-spinner:before{border-color:#6ee7b7 #34d399 #6ee7b733 #6ee7b733}:root.theme-dark .assignment-generating-spinner:after{border-color:#6ee7b71f #6ee7b71f #a7f3d0 #6ee7b7}.fade-in{animation:.5s forwards fadeInUp}.fade-in-delay-1{opacity:0;animation-delay:.1s}.fade-in-delay-2{opacity:0;animation-delay:.2s}.fade-in-delay-3{opacity:0;animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-header{text-align:center;margin-bottom:2rem}.section-header h2{margin-bottom:.5rem;font-size:2.9rem;font-weight:700}.section-header p{color:#838c9c;font-size:1rem}.auth-login-shell{min-height:calc(100dvh - var(--navbar-height));justify-content:center;align-items:center;padding:.5rem 0;display:flex;overflow:hidden}.auth-login-shell .auth-card{margin:0}.auth-card{background:#fff;border:1px solid #e6e8e9;border-radius:14px;max-width:456px;margin:2.6rem auto;padding:2.05rem 1.8rem 1.5rem;box-shadow:0 2px 10px #0f172a0d}.auth-card h1{letter-spacing:-.03em;color:#0f172a;text-align:center;margin:0 0 .22rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.55rem;font-weight:800}.auth-card .subtitle{color:#6b7280;text-align:center;margin-bottom:1.3rem;font-size:.9rem}.auth-card label{letter-spacing:.08em;text-transform:uppercase;color:#475467;margin-bottom:.38rem;font-size:.68rem;font-weight:700;display:block}.auth-card input,.form-control,select.form-control,textarea.form-control{color:#1f2937;background:#eef4ea;border:1px solid #c7d5c6;border-radius:8px;width:100%;margin-bottom:.95rem;padding:.76rem .82rem;font-family:inherit;font-size:.9rem}.auth-card input:focus,.form-control:focus{border-color:#83c794;outline:none;box-shadow:0 0 0 3px #83c79438}.btn-submit{color:#fff;cursor:pointer;background:#4ec35d;border:1px solid #4ec35d;border-radius:8px;width:100%;padding:.72rem 1rem;font-size:.92rem;font-weight:700}.btn-submit:hover{background:#42ad50;border-color:#42ad50}.btn-submit:disabled,.btn-submit[aria-disabled=true]{color:#f3faf4;cursor:not-allowed;box-shadow:none;background:#b6d8bc;border-color:#b6d8bc}.btn-submit:disabled:hover,.btn-submit[aria-disabled=true]:hover{background:#b6d8bc;border-color:#b6d8bc}.form-inline-error{color:#b91c1c;align-items:center;gap:.35rem;margin:-.55rem 0 .95rem;font-size:.78rem;font-weight:600;line-height:1.45;display:flex}.form-inline-error:before{content:"!";color:#fff;background:#b91c1c;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.oauth-divider{color:#98a2b3;text-transform:uppercase;letter-spacing:.14em;background:0 0;align-items:center;gap:.9rem;margin:1.25rem 0 1rem;font-size:.72rem;font-weight:700;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:linear-gradient(90deg,#0000 0%,#0f172a1f 50%,#0000 100%);flex:1;height:1px}.oauth-divider:after{background:linear-gradient(270deg,#0000 0%,#0f172a1f 50%,#0000 100%)}.oauth-google-btn{color:#1f2937;cursor:pointer;background:#eef4ea;border:1px solid #c7d5c6;border-radius:8px;width:100%;padding:.72rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.oauth-google-btn:hover{background:#e7efe2;border-color:#b6c9b5}.footer-link{text-align:center;color:#6b7280;margin-top:1rem;font-size:.9rem}.footer-link a{color:#1f7a3b;font-weight:700;text-decoration:none}.footer-link a:hover{text-decoration:underline}.login-prefill-hint{color:#6b7280;margin:-.55rem 0 .95rem;font-size:.78rem;line-height:1.45}.login-prefill-hint strong{color:#1f7a3b;font-weight:700}.login-prefill-switch{color:#1f7a3b;font-weight:700;font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-family:inherit;text-decoration:underline}.login-prefill-switch:hover{color:#166a31}.login-prefill-switch:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #83c7948c}.alert-error,.alert-success{border-radius:10px;margin-bottom:1rem;padding:.75rem .9rem;font-size:.9rem}.alert-error{color:#b91c1c;background:#dc262614;border:1px solid #dc262633}.alert-success{color:#166534;background:#16a34a14;border:1px solid #16a34a33}.dashboard-header{margin-bottom:1.8rem}.dashboard-header h1{letter-spacing:-.03em;margin:0 0 .35rem;font-family:Outfit,Plus Jakarta Sans,Inter,sans-serif;font-size:3.1rem;font-weight:800;line-height:.95}.dashboard-header p{color:#667085;margin:0;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.02rem}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.dashboard-panel{border:1px solid var(--border);background:#fff;border-radius:14px;padding:1.2rem}.dashboard-panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .45rem;font-size:.69rem}.dashboard-panel .value{font-size:1.2rem;font-weight:700}.dashboard-student-section{grid-column:1/-1}.dashboard-actions{flex-wrap:wrap;gap:.7rem;margin-top:.8rem;display:flex}.dashboard-grid-clean{gap:1rem}.dashboard-panel-clean{background:#fff;border:1px solid #e4e7ec;border-radius:16px;min-height:110px;padding:1.25rem;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a0d}.dashboard-panel-clean:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff73 45%,#0000 60%);transition:transform .45s;position:absolute;inset:0;transform:translate(-120%)}.dashboard-panel-clean:hover{border-color:#d0d5dd;transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.dashboard-panel-clean:hover:after{transform:translate(120%)}.dashboard-panel-clean:active{transform:translateY(-1px)scale(.998)}.dashboard-panel-clean .value{transition:color .22s}.dashboard-panel-clean:hover .value{color:#0f172a}.dashboard-panel-clean h3{transition:color .22s}.dashboard-panel-clean:hover h3{color:#667085}.dashboard-profile-panel:hover{transform:none;box-shadow:0 6px 18px #0f172a0f}.dashboard-profile-panel:hover:after{transform:none}.dashboard-profile-panel:after{display:none}.dashboard-header h1{background:linear-gradient(#111827 0%,#0f172a 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.dashboard-panel-clean h3{text-transform:uppercase;letter-spacing:.14em;color:#8b95a7;margin:0 0 .55rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.68rem;font-weight:700}.dashboard-panel-clean .value{letter-spacing:-.02em;color:#111827;font-family:Outfit,Plus Jakarta Sans,Inter,sans-serif;font-size:2rem;font-weight:800}.dashboard-action-btn{color:#111827;background:#fff;border:1px solid #d0d5dd;border-radius:12px;justify-content:center;align-items:center;min-width:160px;padding:.86rem 1.35rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s;display:inline-flex}.dashboard-action-btn.primary{color:#fff;background:#111827;border-color:#111827}.dashboard-action-btn:hover{border-color:#bfc5ce;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.dashboard-action-btn:active{transform:translateY(0)}.dashboard-action-btn:focus-visible,.profile-edit-btn:focus-visible,.profile-save-btn:focus-visible,.profile-cancel-btn:focus-visible,.profile-upload-btn:focus-visible,.profile-input:focus-visible{outline-offset:2px;outline:2px solid #3b82f659}.dashboard-action-btn.primary:hover{background:#0f172a;border-color:#0f172a}.dashboard-profile-panel{grid-column:1/-1;min-height:auto}.profile-topbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.profile-edit-actions{gap:.5rem;display:inline-flex}.profile-edit-btn,.profile-save-btn,.profile-cancel-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:.45rem .72rem;font-size:.85rem;font-weight:700;transition:all .18s}.profile-save-btn{color:#fff;background:#111827;border-color:#111827}.profile-edit-btn:hover,.profile-cancel-btn:hover{background:#f8fafc;border-color:#cfd4dc}.profile-save-btn:hover{background:#0f172a;border-color:#0f172a;transform:translateY(-1px)}.profile-row{grid-template-columns:180px 1fr;align-items:start;gap:1rem;display:grid}.profile-avatar-wrap{justify-items:center;gap:.6rem;display:grid}.profile-avatar{object-fit:cover;background:#f8fafc;border:2px solid #e4e7ec;border-radius:999px;width:108px;height:108px;transition:transform .2s,box-shadow .2s}.profile-avatar:hover{transform:scale(1.02);box-shadow:0 8px 18px #0f172a1f}.profile-avatar.placeholder{color:#667085;justify-content:center;align-items:center;font-size:2.1rem;display:inline-flex}.profile-upload-btn{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;justify-content:center;align-items:center;padding:.45rem .75rem;font-size:.85rem;font-weight:700;transition:all .18s;display:inline-flex}.profile-upload-btn:hover{background:#f8fafc;border-color:#cfd4dc;transform:translateY(-1px)}.profile-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.profile-label{color:#667085;letter-spacing:.03em;gap:.35rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.82rem;font-weight:700;display:grid}.profile-input{color:#111827;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:100%;padding:.65rem .72rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.92rem;transition:border-color .18s,box-shadow .18s}.profile-input:focus{border-color:#b7c0cc;outline:none;box-shadow:0 0 0 3px #94a3b82e}.profile-readonly{color:#111827;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;min-height:40px;padding:.65rem .72rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.92rem;transition:background-color .18s,border-color .18s}.dashboard-profile-panel:hover .profile-readonly{background:#f3f6fa;border-color:#dde3ea}.dashboard-shell{gap:1rem;display:grid}.dashboard-header-premium p{font-size:1.04rem}.dashboard-hero-card{background:linear-gradient(130deg,#f7fffb 0%,#effcf5 50%,#f8fdf9 100%);border:1px solid #cdeed8;border-radius:18px;grid-template-columns:1.5fr 1fr;gap:1rem;padding:1.2rem 1.25rem;display:grid;box-shadow:0 10px 30px #22c55e14}.dashboard-hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:#16a34a;margin:0 0 .35rem;font-size:.72rem;font-weight:800}.dashboard-hero-main h2{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:1.9rem}.dashboard-hero-main p{color:#4b5563;margin:.45rem 0 .75rem}.dashboard-level-track{background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;height:10px;overflow:hidden}.dashboard-level-track span{background:linear-gradient(90deg,#22c55e 0%,#16a34a 100%);height:100%;display:block}.dashboard-level-meta{color:#6b7280;justify-content:space-between;gap:.6rem;margin-top:.4rem;display:flex}.dashboard-level-meta small{font-size:.77rem}.dashboard-hero-side{gap:.6rem;display:grid}.dashboard-hero-pill{background:#fff;border:1px solid #d7f4e1;border-radius:14px;padding:.75rem .85rem}.dashboard-hero-pill span{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:.72rem;font-weight:700;display:block}.dashboard-hero-pill strong{color:#0f172a;margin-top:.18rem;font-size:1.2rem;display:block}.dashboard-assignment-resume-card{background:linear-gradient(125deg,#f7fffb 0%,#f0fdf4 45%,#f8fdf9 100%);border-color:#b9e6cb;grid-column:1/-1;margin-bottom:.25rem;box-shadow:0 8px 26px #22c55e12}.dashboard-assignment-resume-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.25rem;display:flex}.dashboard-assignment-resume-kicker{letter-spacing:.1em;text-transform:uppercase;color:#15803d;margin:0 0 .3rem;font-size:.72rem;font-weight:800}.dashboard-assignment-resume-title{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:1.25rem}.dashboard-assignment-resume-meta{color:#475467;max-width:42rem;margin:.4rem 0 0;font-size:.92rem}.dashboard-assignment-resume-code{background:#0f172a0f;border-radius:6px;padding:.1em .35em;font-size:.85em}.dashboard-assignment-resume-side{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.dashboard-assignment-resume-timer{background:#fff;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;align-items:flex-end;min-width:7.5rem;padding:.5rem .75rem;display:flex}.dashboard-assignment-resume-timer--warn{background:#fffbeb;border-color:#fcd34d}.dashboard-assignment-resume-timer--expired{background:#fef2f2;border-color:#fecaca}.dashboard-assignment-resume-timer--done{background:#ecfdf5;border-color:#bbf7d0;align-items:flex-start}.dashboard-assignment-resume-timer-label{letter-spacing:.06em;text-transform:uppercase;color:#6b7280;font-size:.68rem;font-weight:700}.dashboard-assignment-resume-timer-value{font-variant-numeric:tabular-nums;color:#166534;font-size:1.35rem;font-weight:800;line-height:1.2}.dashboard-assignment-resume-timer--warn .dashboard-assignment-resume-timer-value{color:#b45309}.dashboard-assignment-resume-timer--expired .dashboard-assignment-resume-timer-value{color:#b91c1c}.dashboard-assignment-resume-timer--done .dashboard-assignment-resume-timer-value{color:#15803d}.dashboard-assignment-resume-sub{color:#64748b;text-align:right;max-width:12rem;margin-top:.2rem;font-size:.72rem}.dashboard-assignment-resume-timer--done .dashboard-assignment-resume-sub{text-align:left}.dashboard-assignment-resume-btn{white-space:nowrap}.dashboard-quiz-resume-card{background:linear-gradient(125deg,#f8fbff 0%,#eff6ff 45%,#f8fafc 100%);border-color:#bfdbfe;grid-column:1/-1;margin-bottom:.25rem;box-shadow:0 8px 26px #3b82f614}.dashboard-quiz-resume-kicker{letter-spacing:.1em;text-transform:uppercase;color:#1d4ed8;margin:0 0 .3rem;font-size:.72rem;font-weight:800}.dashboard-continue-card{background:linear-gradient(125deg,#f0fdf4 0%,#ecfdf5 45%,#f7fee7 100%);border-color:#bbf7d0;grid-column:1/-1;margin-bottom:.25rem;box-shadow:0 10px 28px #10b9811a}.dashboard-continue-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-continue-text{flex:18rem;min-width:0}.dashboard-continue-kicker{letter-spacing:.1em;text-transform:uppercase;color:#047857;margin:0 0 .3rem;font-size:.72rem;font-weight:800}.dashboard-continue-title{color:#064e3b;margin:0 0 .25rem;font-size:1.25rem;line-height:1.25}.dashboard-continue-meta{color:#1f6f4a;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.92rem;display:flex}.dashboard-continue-step{color:#064e3b;font-weight:700}.dashboard-continue-track-pill{color:#047857;letter-spacing:.04em;text-transform:uppercase;background:#0478571f;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.dashboard-continue-side{flex:none}.dashboard-continue-btn{min-width:11rem}:root.theme-dark .dashboard-continue-card{background:linear-gradient(125deg,#06241a 0%,#0a2e22 50%,#07271c 100%);border-color:#1f6d4a;box-shadow:0 10px 28px #00000073}:root.theme-dark .dashboard-continue-kicker{color:#6ee7b7}:root.theme-dark .dashboard-continue-title{color:#ecfdf5}:root.theme-dark .dashboard-continue-meta{color:#b8d7c6}:root.theme-dark .dashboard-continue-step{color:#ecfdf5}:root.theme-dark .dashboard-continue-track-pill{color:#d1fae5;background:#6ee7b72e}.home-continue-card{background:linear-gradient(125deg,#f0fdf4 0%,#ecfdf5 45%,#f7fee7 100%);border:1px solid #bbf7d0;border-radius:16px;margin:0 0 2rem;padding:1.25rem 1.4rem;box-shadow:0 10px 28px #10b9811a}.home-continue-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.home-continue-text{flex:18rem;min-width:0}.home-continue-kicker{letter-spacing:.1em;text-transform:uppercase;color:#047857;margin:0 0 .3rem;font-size:.72rem;font-weight:800}.home-continue-title{color:#064e3b;margin:0 0 .3rem;font-size:1.35rem;font-weight:700;line-height:1.25}.home-continue-meta{color:#1f6f4a;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.95rem;display:flex}.home-continue-step{color:#064e3b;font-weight:700}.home-continue-track-pill{color:#047857;letter-spacing:.04em;text-transform:uppercase;background:#0478571f;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.home-continue-side{flex:none}.home-continue-btn{color:#ecfdf5;background:linear-gradient(120deg,#10b981 0%,#059669 100%);border-color:#047857;min-width:12rem}.home-continue-btn:hover{background:linear-gradient(120deg,#059669 0%,#047857 100%)}:root.theme-dark .home-continue-card{background:linear-gradient(125deg,#06241a 0%,#0a2e22 50%,#07271c 100%);border-color:#1f6d4a;box-shadow:0 10px 28px #00000073}:root.theme-dark .home-continue-kicker{color:#6ee7b7}:root.theme-dark .home-continue-title{color:#ecfdf5}:root.theme-dark .home-continue-meta{color:#b8d7c6}:root.theme-dark .home-continue-step{color:#ecfdf5}:root.theme-dark .home-continue-track-pill{color:#d1fae5;background:#6ee7b72e}.dashboard-latest-activity-card{background:linear-gradient(125deg,#fafafa 0%,#f4f4f5 50%,#fafafa 100%);border-color:#d4d4d8;grid-column:1/-1;margin-bottom:.25rem;box-shadow:0 8px 22px #0000000a}.dashboard-latest-complete-icon{color:#171717;align-items:center;display:inline-flex}:root.theme-dark .dashboard-latest-activity-card{border-color:var(--border);background:linear-gradient(125deg,#18181b 0%,#1c1c1f 50%,#18181b 100%);box-shadow:0 8px 22px #00000059}:root.theme-dark .dashboard-latest-complete-icon{color:#fafafa}.dashboard-stat-card-span{grid-column:1/-1;min-height:auto}.dashboard-guided-weekly-detail{color:#475467;max-width:40rem;margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.dashboard-value-complete{font-weight:800;color:#15803d!important}.dashboard-grid-premium{grid-template-columns:1.2fr 1fr;align-items:start}.dashboard-profile-panel-top{grid-column:1/-1}.dashboard-stats-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.dashboard-stat-card{cursor:default;min-height:96px;padding:.95rem 1.05rem;transition:none;box-shadow:0 2px 10px #0f172a0a}.dashboard-stat-card:after{display:none}.dashboard-stat-card:hover,.dashboard-stat-card:active{border-color:#e4e7ec;transform:none;box-shadow:0 2px 10px #0f172a0a}.dashboard-stat-card:hover:after{transform:none}.dashboard-stat-card h3{letter-spacing:.1em;color:#98a2b3;margin-bottom:.38rem;font-size:.64rem;font-weight:600;transition:none}.dashboard-stat-card:hover h3{color:#98a2b3}.dashboard-stat-card .value{letter-spacing:-.01em;color:#334155;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.35;transition:none;display:block}.dashboard-stat-card:hover .value{color:#334155}.dashboard-stat-card .value.live{color:#059669;font-weight:600}.dashboard-profile-panel-top{padding:1rem 1.05rem}.dashboard-profile-panel-top .profile-topbar{margin-bottom:.65rem}.dashboard-profile-panel-top .profile-row{grid-template-columns:130px 1fr;gap:.85rem}.dashboard-profile-panel-top .profile-avatar{width:92px;height:92px}.dashboard-profile-panel-top .profile-readonly,.dashboard-profile-panel-top .profile-input{min-height:38px}.dashboard-actions-panel{grid-column:1/-1}.dashboard-actions-subtitle{color:#64748b;margin:.25rem 0 .9rem}.dashboard-actions-premium{grid-template-columns:repeat(3,minmax(180px,1fr));gap:.7rem;display:grid}.btn-hero-primary,.btn-hero-secondary{border-radius:10px;padding:.7rem 1.1rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-hero-primary{color:#fff;background:#111}.btn-hero-secondary{color:#111;background:#fff;border:1px solid #d1d5db}.learning-page .learning-header{margin-bottom:1.15rem}.learning-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.15rem;display:flex}.learning-details-toggle{color:#344054;letter-spacing:.02em;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s}.learning-details-toggle:hover{background:#f8fafc;border-color:#98a2b3}.learning-details-toggle[aria-pressed=true]{color:#047857;background:#ecfdf5;border-color:#86efac}.content-details-toggle{color:#344054;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0d7de;border-radius:999px;padding:.42rem .85rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a0a}.content-details-toggle:hover{background:#f8fafc;border-color:#98a2b3;box-shadow:0 2px 6px #0f172a0f}.content-details-toggle[aria-pressed=true]{color:#047857;background:#f0fdf4;border-color:#6ee7b7}.content-page--compact .stepflow-top .learning-header-row{align-items:flex-start}.content-page--compact .stepflow-title{margin-top:.1rem}.stepflow-progress-card--compact{padding:.9rem 1rem}.stepflow-progress-card--compact .progress-bar-track{margin-top:.35rem;margin-bottom:.65rem}.progress-head--compact{margin-bottom:.35rem}.progress-head--compact span{letter-spacing:.06em;color:#667085;text-transform:none;font-size:.8rem}.progress-head--compact strong{color:#101828;font-size:1.35rem;font-weight:700}.stepflow-progress-compact{gap:.5rem;display:grid}.stepflow-progress-compact-steps{color:#667085;margin:0;font-size:.78rem;font-weight:600;line-height:1.3}.stepflow-progress-compact-location{color:#344054;margin:0;font-size:.88rem;font-weight:600;line-height:1.35}.stepflow-progress-compact-meta{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:flex}.stepflow-progress-compact-step{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;padding:.28rem .55rem;font-size:.78rem;font-weight:650;line-height:1.2;display:inline-flex}.stepflow-progress-compact-pace{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.22rem .5rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.stepflow-progress-compact-pace--ahead{color:#047857;background:#ecfdf5;border:1px solid #86efac}.stepflow-progress-compact-pace--due_today{color:#b45309;background:#fffbeb;border:1px solid #fcd34d}.stepflow-progress-compact-pace--overdue{color:#b42318;background:#fef3f2;border:1px solid #fda29b}.stepflow-progress-compact-pace--upcoming{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec}.content-page--compact .stepflow-context-block--now .stepflow-context-step-name{margin-bottom:0}.content-page--compact .stepflow-current-module{gap:.85rem}.stepflow-subtitle--compact{color:#667085;font-size:.92rem}.learning-micro-note--compact{margin-top:.35rem;font-size:.75rem}.learning-weak-intro--compact{margin-bottom:.65rem;font-size:.82rem}.learning-page--compact .learning-overall.stepflow-progress-card{padding:1rem 1.05rem}.learning-page--compact .learning-overall-title{font-size:1rem;font-weight:600}.learning-page--compact .learning-progress-accent.progress-head strong{font-size:1.15rem;font-weight:700}.learning-page--compact .learning-progress-accent.progress-head span{font-size:.82rem;font-weight:600}.learning-page--compact .learning-hero-stat-value{font-weight:600}.learning-page--compact .learning-day-card{padding:.9rem 1rem;transition:none}.learning-page--compact .learning-day-card:hover{transform:none;box-shadow:0 4px 14px #0f172a0d}.learning-page--compact .learning-day-title,.learning-page--compact .learning-day-score-num{font-weight:600}.learning-page-nav{flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem;margin-bottom:1rem;display:flex}.learning-nav-link{color:#667085;letter-spacing:.01em;font-size:.88rem;font-weight:700;text-decoration:none}.learning-nav-link:hover{color:#111827;text-decoration:underline}.learning-nav-link--primary{color:#0f5c2f}.learning-nav-link--primary:hover{color:#0a4524}.learning-overall{margin-bottom:1.25rem}.learning-overall.stepflow-progress-card{padding:1.15rem 1.2rem}.learning-overall-title{color:#101828;margin:0 0 .55rem;font-size:1.07rem;font-weight:700}.learning-progress-accent.progress-head{margin-bottom:0}.learning-overall .progress-bar-track{margin-top:.45rem}.learning-dual-progress{gap:1.25rem;margin-bottom:.25rem;display:grid}@media (min-width:768px){.learning-dual-progress{grid-template-columns:1fr 1fr;gap:1.35rem}}.learning-progress-block .progress-head{margin-bottom:.35rem}.learning-micro-note{color:#667085;margin:.5rem 0 0;font-size:.8rem;line-height:1.45}.learning-day-card-list{gap:1rem;display:grid}.learning-day-card{color:inherit;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:1rem 1.15rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;box-shadow:0 4px 14px #0f172a0d}.learning-day-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.learning-day-card--current{border-color:#86efac;box-shadow:0 4px 18px #22c55e2e}.learning-day-card-top{align-items:flex-start;gap:.85rem;margin-bottom:.75rem;display:flex}.learning-day-icon{color:#fff;background:linear-gradient(135deg,#20b15a 0%,#169d4f 48%,#128644 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.82rem;font-weight:800;display:flex;box-shadow:0 4px 12px #12864447}.learning-day-heading{flex:1;min-width:0}.learning-day-title-row{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.learning-day-title{color:#101828;font-size:1.05rem;font-weight:800}.learning-day-badge{text-transform:uppercase;letter-spacing:.06em;color:#067647;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:999px;padding:.18rem .5rem;font-size:.68rem;font-weight:800}.learning-day-topic{color:#667085;margin-top:.25rem;font-size:.88rem;line-height:1.35}.learning-day-avg-row{border-top:1px solid #f2f4f7;border-bottom:1px solid #f2f4f7;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;padding:.55rem 0;display:flex}.learning-day-avg-label{color:#98a2b3;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.learning-day-avg-value{color:#101828;font-size:1.15rem;font-weight:800}.learning-day-avg-muted{color:#98a2b3;font-weight:700}.learning-day-avg-hint{text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600}.learning-day-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}@media (max-width:520px){.learning-day-score-grid{grid-template-columns:1fr}}.learning-day-score-cell{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:.5rem .6rem}.learning-day-score-label{color:#667085;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.learning-day-score-num{color:#101828;font-size:1rem;font-weight:800}.learning-day-quiz-pool{color:#475467;border-top:1px dashed #e4e7ec;margin-top:.75rem;padding-top:.65rem;font-size:.82rem}.learning-day-quiz-pool--muted{color:#667085;font-style:italic}.learning-day-quiz-label{color:#98a2b3;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.learning-day-quiz-meta{color:#344054;font-weight:600}.learning-section-title--sub{margin-top:1.5rem}.learning-modules{gap:.9rem;display:grid}.learning-module-card{color:inherit;background:#fff;border:1px solid #e4e7ec;border-radius:16px;grid-template-columns:50px 1fr 140px;align-items:center;gap:.85rem;padding:1rem 1.05rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 4px 14px #0f172a0d}.learning-module-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0f172a14}.module-icon{color:#fff;background:#111;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.learning-module-icon{background:linear-gradient(135deg,#20b15a 0%,#169d4f 48%,#128644 100%);border:1px solid #fff3;box-shadow:0 4px 12px #12864447}.module-name{color:#101828;margin-bottom:.2rem;font-weight:700}.module-meta{color:#667085;font-size:.86rem}.learning-page .mini-progress{background:#eef2f7;border-radius:999px;height:6px;overflow:hidden}.learning-page .mini-progress-fill{background:linear-gradient(90deg,#22c55e 0%,#16a34a 100%);height:100%;transition:width .4s}.mini-progress-label{color:#667085;margin-top:.2rem;font-size:.8rem;font-weight:600}.module-last-attempt{font-weight:500}.learning-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-top:1rem;display:grid}@media (min-width:720px){.learning-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.learning-hero-stat-label{letter-spacing:.12em;color:#98a2b3;margin-bottom:.2rem;font-size:.74rem;font-weight:700;display:block}.learning-hero-stat-value{letter-spacing:-.02em;color:#101828;font-size:1.15rem;font-weight:800;line-height:1.2}.learning-footnote{color:#475467;margin:.85rem 0 0;font-size:.84rem;line-height:1.5}.learning-layout{align-items:start;gap:1.25rem;display:grid}@media (min-width:960px){.learning-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}}.learning-section-title{color:#101828;margin:0 0 .75rem;font-size:1.07rem;font-weight:700}.learning-main-col{min-width:0}.learning-weak-aside,.learning-focus-panel{background:#f8fafc;border:1px solid #e4e7ec;border-radius:16px;padding:1.05rem 1.15rem;box-shadow:0 2px 10px #0f172a0a}.learning-weak-aside h3{color:#101828;margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.learning-weak-intro{color:#667085;margin:0 0 .85rem;font-size:.88rem;line-height:1.45}.learning-analysis-link{color:#0f5c2f;font-weight:700;text-decoration:none}.learning-analysis-link:hover{color:#0a4524;text-decoration:underline}.learning-weak-empty{color:#667085;margin:0;font-size:.86rem;line-height:1.5}.learning-weak-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.learning-weak-row{background:#fff;border:1px solid #e4e7ec;border-radius:12px;gap:.45rem;margin:0;padding:.65rem .75rem;display:grid}.learning-weak-row-main{min-width:0}.learning-level-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:6px;margin-bottom:.35rem;padding:.12rem .45rem;font-size:.68rem;font-weight:800;display:inline-block}.learning-level-weak{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.learning-level-ni{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.learning-weak-topic-title{margin-bottom:.15rem;font-size:.95rem;font-weight:700}.learning-weak-module{color:var(--muted);margin-bottom:.15rem;font-size:.82rem}.learning-weak-accuracy{color:var(--muted);font-size:.8rem}.learning-weak-quiz-link{color:#0f5c2f;font-size:.88rem;font-weight:700;text-decoration:none}.learning-weak-quiz-link:hover{color:#0a4524;text-decoration:underline}.learning-page-loading,.cm-skeleton-page{min-height:40vh}.cm-skeleton-group{width:100%}.cm-skeleton,.learning-skeleton{background:linear-gradient(90deg,#e2e8f0 0%,#f1f5f9 50%,#e2e8f0 100%) 0 0/200% 100%;border-radius:10px;animation:1.2s ease-in-out infinite cmSkeletonShimmer}@keyframes cmSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cm-skeleton--circle{border-radius:50%;flex-shrink:0}.cm-skeleton--text{border-radius:6px;height:.85rem}.learning-skeleton-title,.cm-skel-title{width:40%;height:1.75rem;margin-bottom:.6rem}.learning-skeleton-line,.cm-skel-subtitle{width:70%;height:.85rem;margin-bottom:1.1rem}.cm-skel-subtitle--short{width:48%}.learning-skeleton-card,.cm-skel-content-card{border-radius:14px;width:100%;height:120px;margin-bottom:.75rem}.learning-skeleton-card.short,.cm-skel-content-card--short{height:72px}.cm-skel-eyebrow{border-radius:6px;width:28%;height:.7rem;margin-bottom:.55rem}.cm-skel-schedule{border-radius:12px;width:100%;height:3.25rem;margin:.75rem 0 1rem}.cm-skel-stepflow-top{margin-bottom:.5rem}.cm-skel-stepflow-progress-row{grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem;display:grid}@media (max-width:900px){.cm-skel-stepflow-progress-row{grid-template-columns:1fr}}.cm-skel-progress-card,.cm-skel-deadline-banner{border-radius:14px;height:5.5rem}.cm-skel-stepflow-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1rem;display:grid}@media (max-width:900px){.cm-skel-stepflow-layout{grid-template-columns:1fr}}.cm-skel-index-card{border-radius:14px;min-height:280px}.cm-skel-tabs{border-radius:10px;height:2.75rem;margin-bottom:.85rem}.cm-skel-dashboard-header{border-radius:14px;height:4.5rem;margin-bottom:1rem}.cm-skel-dashboard-profile{border-radius:14px;height:9rem;margin-bottom:1rem}.cm-skel-dashboard-hero{border-radius:16px;height:10.5rem;margin-bottom:1rem}.cm-skel-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}@media (max-width:900px){.cm-skel-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.cm-skel-stat-card{border-radius:12px;height:5.25rem}.cm-skel-dashboard-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (max-width:900px){.cm-skel-dashboard-grid{grid-template-columns:1fr}}.cm-skel-panel{border-radius:14px;min-height:12rem}.cm-skel-title--quiz{width:55%}.cm-skel-timer-chip{border-radius:999px;width:7rem;height:2rem;margin-top:.65rem}.cm-skel-question-card{border-radius:14px;height:9.5rem;margin-bottom:.85rem}.cm-skel-quiz-submit{border-radius:10px;width:10rem;height:2.75rem}.cm-skel-analysis-hero{border-radius:14px;height:5rem;margin-bottom:1rem}.cm-skel-analysis-coach{border-radius:14px;height:5.5rem;margin-bottom:1.25rem}.cm-skel-analysis-module{margin-bottom:1.25rem}.cm-skel-analysis-module-title{width:32%;height:1.25rem;margin-bottom:.65rem}.cm-skel-analysis-card{border-radius:12px;height:4.25rem;margin-bottom:.55rem}.cm-skel-cert-hero{border-radius:12px;height:5rem;margin-bottom:1rem}.cm-skel-cert-document{border-radius:16px;min-height:22rem}.cm-skel-lb-header{border-radius:12px;height:5.5rem;margin-bottom:1rem}.cm-skel-lb-podium{border-radius:14px;height:10rem;margin-bottom:1rem}.cm-skel-lb-row{border-radius:10px;height:3.25rem;margin-bottom:.45rem}.lb-table-body--loading{opacity:.55;pointer-events:none}.cm-skel-dialogue{margin-top:1rem}.cm-skel-dialogue-btn{border-radius:10px;width:14rem;height:2.75rem;margin-bottom:.65rem}.cm-skel-dialogue-panel{border-radius:12px;width:100%;height:5.5rem}.cm-img-skeleton-wrap{border-radius:inherit;display:inline-block;position:relative;overflow:hidden}.cm-img-skeleton-wrap .cm-skeleton--img-placeholder{border-radius:inherit;position:absolute;inset:0}.cm-img-skeleton-wrap img{max-width:100%;height:auto;display:block}.cm-img-skeleton-wrap img[data-loaded=false]{opacity:0}.cm-img-skeleton-wrap img[data-loaded=true]{opacity:1;transition:opacity .2s}.cm-img-skeleton-wrap.profile-avatar{border-radius:999px;width:108px;height:108px}.cm-img-skeleton-wrap.profile-avatar img{object-fit:cover;border-radius:999px;width:100%;height:100%}.dashboard-profile-panel-top .cm-img-skeleton-wrap.profile-avatar{width:92px;height:92px}.question-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:1.2rem}.question-number-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.question-number{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.quiz-questions-stack{flex-direction:column;gap:.35rem;width:100%;display:flex}.quiz-section-heading{color:#0f172a;background:#f1f5f9;border-left:4px solid #64748b;border-radius:0 8px 8px 0;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin:1.25rem 0 .65rem;padding:.55rem .75rem;font-size:.95rem;font-weight:800;display:flex}.quiz-section-heading--weak{color:#92400e;background:#fef3c78c;border-left-color:#d97706}.quiz-section-heading-count{color:#64748b;font-size:.78rem;font-weight:600}.quiz-section-heading--weak .quiz-section-heading-count{color:#b45309}.question-card--weak-review{border-color:#d9770659;box-shadow:0 1px #d9770614}.quiz-test-page{max-width:640px;margin:0 auto;padding:1.5rem 1rem 3rem}.quiz-test-header{margin-bottom:1.5rem}.quiz-test-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.quiz-test-header h1{margin:0 0 .5rem;font-size:1.65rem}.quiz-test-lead{color:#475569;margin:0 0 .75rem;font-size:.95rem;line-height:1.5}.quiz-test-link{color:#166534;font-weight:600}.quiz-test-panel{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.quiz-test-field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.quiz-test-label{color:#334155;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.quiz-test-input{border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .65rem;font-size:.9rem}.quiz-test-checkbox{color:#475569;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.quiz-test-weak-fields{gap:.75rem;display:grid}.quiz-test-weak-fields--disabled{opacity:.55}.quiz-test-topic-preview{color:#64748b;margin:0;font-size:.88rem}.quiz-test-success{color:#166534;margin:0;font-size:.88rem}.question-text{margin-bottom:.85rem;font-size:1.08rem;font-weight:600;line-height:1.45}.question-topic{color:#334155;letter-spacing:.01em;background:#eef2ff;border-radius:999px;margin:.15rem 0 .95rem;padding:.28rem .78rem;font-size:.78rem;font-weight:600;display:inline-block}.question-topic--green,.question-topic--computational{color:#166534;letter-spacing:.02em;word-spacing:.08em;background:#eaf8ef;border:1px solid #cdebd7}.options-list{gap:.65rem;display:grid}.option-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:center;gap:.7rem;width:100%;padding:.85rem .95rem;display:flex}.option-btn.selected{background:#f8fafc;border-color:#111}.option-label{background:#e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:700;display:flex}.option-btn.selected .option-label{color:#fff;background:#111}.results-container{text-align:center}.results-container .result-card{margin-top:1rem}.results-container .result-card:first-of-type{margin-top:.75rem}.quiz-container{width:100%;max-width:100%;margin:0 auto}.quiz-results-panel{text-align:center;width:100%;max-width:100%;margin:0 auto}.quiz-results-hero{padding:.5rem 0 1rem}.quiz-results-hero .score-circle{background:#fff;border-width:5px;width:132px;height:132px;margin:.5rem auto .85rem;box-shadow:0 8px 24px #0f172a0f}.quiz-results-pct{letter-spacing:-.02em;color:#101828;margin:0;font-size:1.35rem;font-weight:800}.quiz-results-passed{color:#047857;margin:.35rem 0 0;font-size:.92rem;font-weight:600}.quiz-results-pass-hint{color:#991b1b;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;max-width:36rem;margin:0 auto 1rem;padding:.7rem .95rem;font-size:.88rem;line-height:1.45}.quiz-results-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin-bottom:1.35rem;display:flex}.quiz-results-btn{cursor:pointer;border-radius:10px;padding:.55rem 1rem;font-size:.88rem;font-weight:650;transition:background .15s,border-color .15s,transform .1s}.quiz-results-btn:active{transform:scale(.98)}.quiz-results-btn--primary{color:#fff;background:linear-gradient(#4cae73 0%,#3f9c66 100%);border:1px solid #2f8556;box-shadow:0 2px 8px #2f855633}.quiz-results-btn--primary:hover{background:linear-gradient(#459f6a 0%,#358656 100%)}.quiz-results-btn--secondary{color:#047857;background:#ecfdf5;border:1px solid #86efac}.quiz-results-btn--secondary:hover{background:#d1fae5}.quiz-results-btn--ghost{color:#344054;background:#fff;border:1px solid #d0d5dd}.quiz-results-btn--ghost:hover{background:#f8fafc;border-color:#98a2b3}.quiz-results-breakdown{text-align:left;gap:1rem;width:100%;display:grid}.quiz-results-breakdown .result-card{border-radius:14px;flex-direction:column;gap:.55rem;margin-top:0;padding:1.15rem 1.25rem 1.2rem;display:flex;box-shadow:0 2px 10px #0f172a0a}.quiz-results-breakdown .question-number{margin-bottom:.1rem}.quiz-results-breakdown .question-text{color:#0f172a;margin-bottom:0;font-size:1.02rem;font-weight:600;line-height:1.6}.xp-gain-pop{color:#166534;letter-spacing:.01em;background:#ecfdf3;border:1px solid #86efac;border-radius:999px;margin:.6rem auto .2rem;padding:.42rem .75rem;font-size:.84rem;font-weight:800;animation:.38s ease-out xpPopIn;display:inline-block}.score-circle{border:4px solid #111;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;margin:1.2rem auto;display:flex}.score-circle.great{border-color:#16a34a}.score-circle.okay{border-color:#d97706}.score-circle.poor{border-color:#dc2626}.score-number{font-size:2.2rem;font-weight:800;line-height:1}.score-label{color:var(--muted);font-size:.9rem}.result-card{text-align:left;border-left-width:6px}.result-card.is-correct{background:#f8fdf9;border-left-color:#16a34a}.result-card.is-wrong{background:#fef8f8;border-left-color:#dc2626}.result-status{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;margin-top:.1rem;padding:.22rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.result-status.correct{color:#166534;background:#dcfce7}.result-status.wrong{color:#991b1b;background:#fee2e2}.result-answer-block{background:#0f172a0a;border:1px solid #0f172a12;border-radius:10px;margin-top:.15rem;padding:.7rem .8rem}.result-card.is-correct .result-answer-block{background:#16a34a14;border-color:#16a34a24}.result-card.is-wrong .result-answer-block--yours{background:#dc26260f;border-color:#dc26261f}.result-card.is-wrong .result-answer-block--correct{background:#16a34a14;border-color:#16a34a24}.result-answer-value{color:#1e293b;margin:0;font-size:.94rem;font-weight:600;line-height:1.6}.result-answer-line{color:#334155;margin-top:.4rem;line-height:1.55}.answer-label{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.quiz-inline-code{color:#0f172a;white-space:pre-wrap;word-break:break-word;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.14em .42em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em;font-weight:600}.result-card.is-correct .quiz-inline-code{color:#14532d;background:#ecfdf5;border-color:#bbf7d0}.result-card.is-wrong .result-answer-block--yours .quiz-inline-code{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.result-card.is-wrong .result-answer-block--correct .quiz-inline-code{color:#14532d;background:#ecfdf5;border-color:#bbf7d0}.option-btn .quiz-inline-code{font-size:.85em}.analysis-page{max-width:920px;min-height:72vh;margin:0 auto;padding:0 1rem 3rem}.analysis-loading{text-align:center;color:#667085;padding:2rem 0}.analysis-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin:1.25rem 0 1.5rem;display:flex}.analysis-header-main h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,3.5vw,2.25rem);line-height:1.15}.analysis-header-main p{color:#64748b;max-width:36rem;margin:.45rem 0 0;font-size:.95rem}.analysis-header-tools{flex-shrink:0}.analysis-test-hint{color:#64748b;margin:-.5rem 0 1rem;font-size:.82rem}.analysis-test-hint-link{color:#166534;font-weight:600}.analysis-section-title{color:var(--text);margin:0 0 .85rem;font-size:1.05rem;font-weight:700}.analysis-coach-card{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);border:1px solid #e2e8f0;border-radius:14px;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.analysis-coach-label{text-transform:uppercase;letter-spacing:.06em;color:#6366f1;margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:block}.analysis-coach-text{color:#0f172a;margin:0;font-size:1.02rem;line-height:1.55}.coach-widget-root{z-index:1200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.85rem;display:flex;position:fixed;bottom:1.35rem;right:1.35rem}.coach-widget-root>*{pointer-events:auto}.coach-fab{color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:radial-gradient(circle at 30% 25%,#ffffff38,#0000 55%),linear-gradient(145deg,#7c83ff 0%,#6366f1 42%,#4338ca 100%);border:1px solid #ffffff47;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:3.75rem;height:3.75rem;font-size:.62rem;font-weight:800;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;position:relative;box-shadow:0 4px 14px #4338ca47,0 10px 28px #4f46e552,inset 0 1px #ffffff59}.coach-fab:before{content:"";border-radius:inherit;opacity:0;border:1px solid #6366f159;transition:opacity .18s;position:absolute;inset:-4px}.coach-fab:hover{filter:brightness(1.04);transform:translateY(-3px)scale(1.03);box-shadow:0 6px 18px #4338ca52,0 14px 34px #4f46e561,inset 0 1px #fff6}.coach-fab:hover:before{opacity:1}.coach-fab:active{transform:translateY(-1px)scale(1.01)}.coach-fab--open{background:radial-gradient(circle at 30% 25%,#fff3,#0000 55%),linear-gradient(145deg,#20b15a 0%,#169d4f 48%,#128644 100%);border-color:#ffffff52;box-shadow:0 4px 14px #1286443d,0 10px 24px #12864447,inset 0 1px #ffffff47}.coach-fab--open:before{border-color:#20b15a73}.coach-fab--open:hover{box-shadow:0 6px 18px #1286444d,0 14px 30px #12864457,inset 0 1px #ffffff52}.coach-fab-icon{flex-shrink:0;width:1.35rem;height:1.35rem}.coach-fab-icon--close{width:1.5rem;height:1.5rem;font-size:1.5rem;font-weight:400;line-height:1}.coach-fab-label{opacity:.95;line-height:1}.coach-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;width:min(360px,100vw - 2rem);height:min(480px,100vh - 6rem);display:flex;overflow:hidden;box-shadow:0 16px 48px #0f172a2e}.theme-dark .coach-panel{background:#0f172a;border-color:#334155}.coach-panel-header{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.theme-dark .coach-panel-header{background:linear-gradient(135deg,#1e293b 0%,#312e81 100%);border-bottom-color:#334155}.coach-panel-label{text-transform:uppercase;letter-spacing:.06em;color:#6366f1;font-size:.72rem;font-weight:700;display:block}.coach-panel-sub{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.coach-panel-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1}.coach-panel-messages{flex-direction:column;flex:1;gap:.55rem;padding:.85rem .75rem;display:flex;overflow-y:auto}.coach-msg{display:flex}.coach-msg--user{justify-content:flex-end}.coach-msg--assistant{justify-content:flex-start}.coach-msg-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:88%;padding:.55rem .75rem;font-size:.92rem;line-height:1.45}.coach-msg--user .coach-msg-bubble{color:#fff;background:#4f46e5;border-bottom-right-radius:4px}.coach-msg--assistant .coach-msg-bubble{color:#0f172a;background:#f1f5f9;border-bottom-left-radius:4px}.theme-dark .coach-msg--assistant .coach-msg-bubble{color:#e2e8f0;background:#1e293b}.coach-msg-bubble--typing{opacity:.75;font-style:italic;animation:1.2s ease-in-out infinite coach-typing-pulse}@keyframes coach-typing-pulse{0%,to{opacity:.55}50%{opacity:.95}}.coach-msg--system{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.35rem}.coach-panel-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;max-width:100%;margin:0;padding:.55rem .75rem;font-size:.82rem;line-height:1.4}.coach-retry-btn{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;align-self:flex-start;margin-left:.15rem;padding:.35rem .7rem;font-size:.78rem;font-weight:700}.coach-retry-btn:hover:not(:disabled){background:#fef2f2}.coach-retry-btn:disabled{opacity:.55;cursor:not-allowed}.theme-dark .coach-panel-error{color:#fecaca;background:#450a0a;border-color:#7f1d1d}.theme-dark .coach-retry-btn{color:#fecaca;background:#1e293b;border-color:#7f1d1d}.coach-starter-row{flex-wrap:wrap;gap:.4rem;padding:0 .75rem .55rem;display:flex}.coach-starter-chip{color:#3730a3;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:600}.coach-starter-chip:hover{background:#e0e7ff}.theme-dark .coach-starter-chip{color:#e0e7ff;background:#312e81;border-color:#4338ca}.coach-panel-form{border-top:1px solid #e2e8f0;gap:.5rem;padding:.65rem .75rem .75rem;display:flex}.theme-dark .coach-panel-form{border-top-color:#334155}.coach-panel-input{resize:none;font:inherit;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex:1;padding:.5rem .65rem;font-size:.88rem}.theme-dark .coach-panel-input{color:#e2e8f0;background:#1e293b;border-color:#475569}.coach-panel-send{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;align-self:flex-end;padding:.55rem .85rem;font-size:.85rem;font-weight:700}.coach-panel-send:disabled{opacity:.55;cursor:not-allowed}.analysis-coach-skeleton{flex-direction:column;gap:.45rem;display:flex}.analysis-coach-skeleton span{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:6px;height:.75rem;animation:1.2s ease-in-out infinite cm-shimmer;display:block}.analysis-coach-skeleton span:first-child{width:95%}.analysis-coach-skeleton span:nth-child(2){width:88%}.analysis-coach-skeleton--short{width:55%!important}.analysis-source-toggle--compact{margin-top:0}.analysis-source-toggle--compact .analysis-source-btn{padding:.35rem .65rem;font-size:.78rem}.analysis-hero{text-align:center;margin:1rem 0 4.5rem}.analysis-hero h1{letter-spacing:-.03em;align-items:center;gap:.65rem;margin:0;font-size:clamp(2rem,4.6vw,3.5rem);line-height:1;display:inline-flex}.analysis-hero-icon{align-items:center;gap:4px;width:36px;height:30px;display:inline-flex}.analysis-hero-icon i{background:#667085;border-radius:3px;width:8px;display:block}.analysis-hero-icon i:first-child{opacity:.8;height:18px}.analysis-hero-icon i:nth-child(2){height:24px}.analysis-hero-icon i:nth-child(3){opacity:.95;height:29px}.analysis-hero p{color:#667085;max-width:700px;margin:1rem auto 0;font-size:1.03rem}.analysis-empty{text-align:center;flex-direction:column;align-items:center;margin-top:4rem;display:flex}.analysis-empty-mark{background:#111827;border-radius:999px;width:52px;height:5px;margin-bottom:1.65rem}.analysis-empty h3{letter-spacing:-.02em;margin:0 0 .45rem;font-size:2rem}.analysis-empty p{color:#667085;margin:0 0 1.35rem;font-size:.98rem}.analysis-empty-cta{color:#fff;background:#111827;border-radius:12px;justify-content:center;align-items:center;min-width:160px;padding:.8rem 1.5rem;font-weight:700;display:inline-flex;text-decoration:none!important}.analysis-empty-cta:hover{background:#0b1223}.analysis-source-toggle{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1rem;display:inline-flex}.analysis-source-label{color:#64748b;font-size:.82rem;font-weight:600}.analysis-source-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600}.analysis-source-btn:hover{background:#f8fafc;border-color:#cbd5e1}.analysis-source-btn--active{color:#166534;background:#16a34a1a;border-color:#166534}.analysis-source-banner{color:#92400e;background:#d977061a;border:1px solid #d9770640;border-radius:10px;max-width:52ch;margin:.75rem 0 0;padding:.55rem .85rem;font-size:.88rem}.analysis-loading-hint{text-align:center;color:#64748b;margin:.5rem 0 1rem;font-size:.9rem}.analysis-empty-cta--secondary{color:#334155;background:0 0;border:1px solid #e2e8f0;margin-bottom:.5rem;margin-right:.65rem;display:inline-block}.analysis-empty-cta--secondary:hover{background:#f8fafc}.learning-weak-seed-note{color:#92400e;font-size:.82rem;font-style:italic}.analysis-focus-panel,.analysis-heatmap-panel,.analysis-all-topics{margin-bottom:1.75rem}.analysis-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.analysis-topic-card{background:#fff;border:1px solid #e8edf2;border-left-width:3px;border-radius:14px;padding:1rem 1.1rem;transition:box-shadow .15s,border-color .15s;box-shadow:0 1px 3px #0f172a0a}.analysis-topic-card:hover{box-shadow:0 4px 14px #0f172a12}.analysis-topic-card--needs-work{background:linear-gradient(135deg,#fff 0%,#fffbfb 100%);border-left-color:#f87171}.analysis-topic-card--practising{background:linear-gradient(135deg,#fff 0%,#fffdf7 100%);border-left-color:#fbbf24}.analysis-topic-card--solid{background:linear-gradient(135deg,#fff 0%,#f8fdf9 100%);border-left-color:#34d399}.analysis-topic-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.analysis-topic-card-main{flex:1;min-width:0}.analysis-topic-module{color:#64748b;text-transform:uppercase;letter-spacing:.06em;background:#f1f5f9;border-radius:6px;margin-bottom:.45rem;padding:.2rem .45rem;font-size:.64rem;font-weight:700;display:inline-block}.analysis-topic-name{color:#0f172a;letter-spacing:-.01em;margin:0 0 .35rem;font-size:.98rem;font-weight:700;line-height:1.3}.analysis-status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.analysis-status-trend{font-size:.85rem;line-height:1}.analysis-status-pill--needs-work{color:#991b1b;background:#fef2f2;border-color:#fecaca}.analysis-status-pill--practising{color:#92400e;background:#fffbeb;border-color:#fde68a}.analysis-status-pill--solid{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.analysis-topic-context{color:#64748b;margin:0;font-size:.8rem;line-height:1.45}.analysis-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.analysis-heatmap-legend{color:#64748b;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.85rem;font-size:.78rem;display:flex}.analysis-heatmap-legend-item{align-items:center;gap:.35rem;display:inline-flex}.analysis-heatmap-swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.analysis-heatmap-swatch--low{background:#dc2626}.analysis-heatmap-swatch--mid{background:#d97706}.analysis-heatmap-swatch--high{background:#16a34a}.analysis-heatmap-swatch--empty{background:#e2e8f0;border:1px solid #cbd5e1}.analysis-heatmap-empty-label{opacity:.9;margin-top:.15rem;font-size:.62rem;line-height:1.2}.analysis-heatmap-grid{gap:.65rem;display:grid}.analysis-heatmap-row{grid-template-columns:90px 1fr;align-items:stretch;gap:.5rem;display:grid}.analysis-heatmap-week{color:#334155;align-items:center;font-size:.82rem;font-weight:700;display:flex}.analysis-heatmap-cells{grid-template-columns:repeat(5,minmax(120px,1fr));gap:.45rem;display:grid}.analysis-heatmap-cell{color:#fff;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:.2rem;min-height:76px;padding:.55rem .6rem;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 1px 3px #0f172a14}.analysis-heatmap-cell:not(.analysis-heatmap-cell--empty):hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1f}.analysis-heatmap-cell--empty{color:#64748b;box-shadow:none;border:1px dashed #cbd5e1;background:#f8fafc!important}.analysis-heatmap-day{opacity:.92;font-size:.68rem;font-weight:700}.analysis-heatmap-topic{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.analysis-heatmap-val{margin-top:auto;font-size:.78rem;font-weight:700}.analysis-module-block{display:contents}.feedback-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:1rem;padding:1rem}.feedback-score{margin-bottom:.35rem;font-size:1.8rem;font-weight:800}.feedback-text{color:var(--muted);line-height:1.6}.subjective-workspace{flex-direction:column;gap:1.25rem;max-width:44rem;margin:0 auto;padding:1.5rem 1.65rem 1.65rem;display:flex}.subjective-prior-score{background:linear-gradient(125deg,#f8fafc 0%,#f0fdf4 100%);border:1px solid #c7e9d3;border-radius:12px;margin:0;padding:.75rem 1rem}.subjective-prior-score__label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.subjective-prior-score__value{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.subjective-prior-score__pct{color:#475569;font-weight:600}.subjective-alert{margin:0}.subjective-module-field{flex-direction:column;gap:.4rem;display:flex}.subjective-module-field label{letter-spacing:.08em;text-transform:uppercase;color:#475569;font-size:.72rem;font-weight:700}.subjective-module-select{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;max-width:28rem;padding:.55rem .7rem;font-size:.92rem}.subjective-start,.subjective-loading-panel{margin:.15rem 0 0}.subjective-start-lead{color:#475569;max-width:42ch;margin:0;font-size:.95rem;line-height:1.55}.subjective-loading-panel .assignment-generating-sub a{color:#047857;text-underline-offset:2px;font-weight:600;text-decoration:underline}.subjective-question-panel{background:0 0;border:none;flex-direction:column;gap:1.25rem;margin:0;padding:0;display:flex}.subjective-question-panel__head{margin:0}.subjective-question-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin:0;font-size:.72rem;font-weight:700}.subjective-question-body{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #10b981;border-radius:14px;padding:1.15rem 1.2rem 1.2rem;box-shadow:0 4px 14px #0f172a0d}.subjective-question-p{color:#1e293b;letter-spacing:-.01em;margin:0;font-size:1.06rem;font-weight:400;line-height:1.65}.subjective-question-p+.subjective-question-p{margin-top:.85rem}.subjective-answer-block{flex-direction:column;gap:.45rem;display:flex}.subjective-answer-block label{letter-spacing:.08em;text-transform:uppercase;color:#475569;font-size:.72rem;font-weight:700}.subjective-answer-input{resize:vertical;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;min-height:9.5rem;margin:0;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.55}.subjective-answer-input::placeholder{color:#94a3b8;opacity:1}.subjective-answer-input:focus{border-color:#86efac;outline:none;box-shadow:0 0 0 3px #22c55e2e}.subjective-answer-readonly{color:#344054;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:6rem;padding:.85rem 1rem;font-size:.95rem;line-height:1.55}.subjective-answer-readonly p{margin:0}.subjective-answer-readonly--empty{color:#94a3b8;font-style:italic}.subjective-review-banner{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:8px;margin:0 0 1rem;padding:.55rem .75rem;font-size:.88rem}.subjective-review-missing{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin:0;padding:.85rem 1rem;font-size:.9rem}.subjective-actions{flex-wrap:wrap;align-items:center;gap:.65rem;padding-top:.15rem;display:flex}.subjective-actions .quiz-results-btn--primary{min-width:11rem}.subjective-actions .quiz-results-btn--primary[aria-busy=true]{align-items:center;gap:.55rem;display:inline-flex}.subjective-eval-spinner{flex:none;width:18px;height:18px}.subjective-eval-spinner:before{border-width:2.5px}.subjective-eval-spinner:after{border-width:2px;inset:3px}.subjective-feedback{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:0;padding:1rem 1.1rem}.subjective-feedback--pass{background:#f0fdf4;border-color:#bbf7d0}.subjective-feedback__score-row{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;padding-bottom:.65rem;display:flex}.subjective-feedback--pass .subjective-feedback__score-row{border-bottom-color:#bbf7d0}.subjective-feedback__score-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700}.subjective-feedback__score-value{letter-spacing:-.03em;color:#0f172a;font-size:1.5rem;font-weight:800;line-height:1}.subjective-feedback__score-max{color:#64748b;font-size:1rem;font-weight:700}.subjective-feedback__text{color:#334155;margin:0;font-size:.95rem;line-height:1.6}.subjective-results-actions{justify-content:flex-start;margin-top:0}.btn-group{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.quiz-questions-stack .btn-group{gap:.8rem;margin-top:1.2rem}.quiz-questions-stack .btn-group .btn{border-radius:12px;justify-content:center;gap:.45rem;min-height:46px;padding:.72rem 1.1rem;transition:background-color .18s,border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 1px 1px #0f172a0a}.quiz-questions-stack .btn-group .btn-primary{color:#14532d;background:linear-gradient(#dcfce7 0%,#c9f2d8 100%);border-color:#b6e8c8}.quiz-questions-stack .btn-group .btn-primary:hover:not(:disabled){background:linear-gradient(#cff7dd 0%,#bceecd 100%);border-color:#9fdcb5;transform:translateY(-1px);box-shadow:0 4px 14px #1665341f}.quiz-questions-stack .btn-group .btn-secondary{color:#1f2937;background:#fff;border-color:#d8e1e8}.quiz-questions-stack .btn-group .btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#c7d2dd;transform:translateY(-1px)}.quiz-questions-stack .btn-group .btn-discard-progress{color:#9f1239;background:#fffafb;border-color:#f1d5d8}.quiz-questions-stack .btn-group .btn-discard-progress:hover:not(:disabled){background:#fff1f3;border-color:#eab4bc}.quiz-questions-stack .btn-group .btn:disabled{box-shadow:none;transform:none}.btn-success{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #16a34a;border-radius:10px;padding:.68rem 1rem;font-weight:700}.btn-success:hover{background:#15803d}.btn:disabled,.btn-success:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:2.5rem 1rem}.empty-icon{margin-bottom:.7rem;font-size:2.4rem}.stepflow-page{width:100%;max-width:none;margin:0;padding-bottom:1rem}.stepflow-top{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1.25rem 1.5rem;margin-bottom:1.25rem;display:grid}.stepflow-eyebrow{letter-spacing:.14em;color:#98a2b3;margin-bottom:.35rem;font-size:.78rem;font-weight:700}.stepflow-title{letter-spacing:-.03em;margin:0;font-size:clamp(2.1rem,4.6vw,4rem);line-height:.96}.stepflow-subtitle{color:#667085;max-width:72ch;margin:.55rem 0 0;font-size:1.06rem}.stepflow-resume-chip{color:#1d4ed8;text-align:left;cursor:pointer;background:#eef4ff;border:1px solid #c7d7f8;border-radius:10px;width:100%;max-width:760px;margin-top:.85rem;padding:.55rem .75rem;font-size:.84rem;font-weight:700}.stepflow-resume-chip:hover{background:#e6efff;border-color:#b8ccf8}.stepflow-resume-chip--timer{color:#067647;background:#ecfdf3;border-color:#b9e6cb}.stepflow-resume-chip--timer:hover{background:#ddf8e9;border-color:#99d9b5}.stepflow-schedule-row{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;max-width:min(640px,100%);margin-top:.85rem;padding:.75rem .85rem}.stepflow-schedule-label{color:#475467;margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:block}.stepflow-schedule-input{color:#101828;background:#fff;border:1px solid #e4e7ec;border-radius:10px;width:100%;max-width:220px;padding:.45rem .55rem;font-size:.92rem;display:block}.stepflow-schedule-hint{color:#667085;max-width:52ch;margin:.55rem 0 0;font-size:.8rem;line-height:1.45}.stepflow-deadline-reset-panel{border-top:1px dashed #cbd5e1;margin-top:.85rem;padding-top:.75rem}.stepflow-deadline-reset-text{color:#b45309;margin:0 0 .65rem;font-size:.82rem;font-weight:600;line-height:1.45}.stepflow-deadline-reset-actions{flex-wrap:wrap;gap:.5rem .65rem;display:flex}.stepflow-deadline-reset-btn{color:#f6fff8;cursor:pointer;background:linear-gradient(135deg,#20b15a 0%,#169d4f 48%,#128644 100%);border:1px solid #0f7f3a;border-radius:10px;padding:.5rem 1rem;font-size:.86rem;font-weight:800;box-shadow:0 4px 12px #12864433}.stepflow-deadline-reset-btn:hover{filter:brightness(1.04)}.stepflow-deadline-reset-btn.ghost{color:#0f5c2f;box-shadow:none;background:#fff;border:1px solid #b9ebca;font-weight:700}.stepflow-deadline-reset-btn.ghost:hover{background:#ecfdf3}.stepflow-deadline-banner{background:#f8fafc;border:1px solid #e4e7ec;border-radius:10px;margin-top:.85rem;padding:.65rem .75rem}.stepflow-deadline-banner--due_today{background:#fffbeb;border-color:#f59e0b}.stepflow-deadline-banner--overdue{background:#fef2f2;border-color:#fca5a5}.stepflow-deadline-banner--complete{background:#ecfdf3;border-color:#86efac}.stepflow-deadline-banner--ahead{background:#ecfdf5;border-color:#6ee7b7}.stepflow-pace-ahead{color:#047857;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:12px;align-items:center;gap:.5rem;max-width:min(720px,100%);margin:.65rem 0 0;padding:.56rem .85rem;font-size:.86rem;font-weight:700;line-height:1.4;display:inline-flex;box-shadow:0 1px 2px #0478571f,inset 0 0 0 1px #6ee7b729}.stepflow-pace-ahead__icon{flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.stepflow-pace-ahead__icon svg{width:18px;height:18px;display:block}.stepflow-pace-ahead__text{min-width:0}.stepflow-deadline-label{letter-spacing:.1em;color:#64748b;margin-bottom:.25rem;font-size:.68rem;font-weight:800;display:block}.stepflow-deadline-text{color:#344054;margin:0;font-size:.86rem;font-weight:600;line-height:1.35}.stepflow-deadline-chip{text-transform:uppercase;letter-spacing:.06em;color:#101828;background:#fff;border:1px solid #e4e7ec;border-radius:6px;margin-top:.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:800;display:inline-block}.stepflow-deadline-banner--overdue .stepflow-deadline-chip{color:#991b1b;border-color:#fecaca}.stepflow-deadline-banner--due_today .stepflow-deadline-chip{color:#92400e;border-color:#fde68a}.stepflow-deadline-banner--ahead .stepflow-deadline-chip{color:#047857;border-color:#a7f3d0}.stepflow-context-deadline{color:#b45309;margin:.45rem 0 0;font-size:.84rem;font-weight:700}.stepflow-dev-panel{background:#fffaeb;border:1px dashed #f79009;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;max-width:min(720px,100%);margin-top:1rem;padding:.65rem .75rem;display:flex}.stepflow-dev-label{letter-spacing:.08em;color:#b54708;text-transform:uppercase;font-size:.72rem;font-weight:800}.stepflow-dev-btn{color:#93370d;cursor:pointer;background:#fff;border:1px solid #dc6803;border-radius:8px;padding:.35rem .65rem;font-size:.78rem;font-weight:600}.stepflow-dev-btn:hover{background:#fffcf5}.stepflow-pass-hint{color:#475467;margin:0 0 .75rem;font-size:.92rem}.stepflow-bypass-note{color:#b54708;margin:0 0 .75rem;font-size:.88rem;font-weight:600}.stepflow-fail-badge{color:#b42318;margin-top:.35rem;font-weight:600;display:block}.stepflow-pass-badge{color:#047857;margin-top:.35rem;font-weight:600;display:block}.stepflow-attempt-card{text-align:left;background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;margin:0 0 1rem;padding:.85rem 1rem}.stepflow-attempt-card-title{color:#101828;margin-bottom:.35rem;font-size:.92rem;font-weight:700}.stepflow-attempt-card-score{color:#475467;font-size:.9rem;line-height:1.45}.stepflow-phase-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.stepflow-phase-actions .quiz-results-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.stepflow-progress-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:1rem 1.1rem;box-shadow:0 4px 14px #0f172a0d}.progress-head{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.progress-head span{letter-spacing:.12em;color:#98a2b3;font-size:.74rem;font-weight:700}.progress-head strong{letter-spacing:-.03em;font-size:2rem}.stepflow-progress-card p{color:#475467;margin:0}.progress-milestone{margin-top:.3rem!important}.stepflow-layout{grid-template-columns:minmax(240px,17.5rem) minmax(0,1fr);align-items:start;gap:1.15rem 1.35rem;display:grid}.stepflow-index-card,.stepflow-tabs-card,.stepflow-content-card{background:#f8fafc;border:1px solid #e4e7ec;border-radius:16px}.stepflow-index-card{height:fit-content;top:calc(var(--navbar-height,64px) + .85rem);max-height:calc(100dvh - var(--navbar-height,64px) - 1.75rem);overscroll-behavior:contain;padding:1rem 1.05rem;position:sticky;overflow-y:auto}.stepflow-index-card h3{letter-spacing:-.02em;color:#101828;margin:0 0 .75rem;font-size:1rem;font-weight:800}.stepflow-week-picker{border-bottom:1px solid #e4e7ec;margin:0 0 .9rem;padding-bottom:.85rem}.stepflow-week-picker label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:.4rem;font-size:.72rem;font-weight:700;display:block}.stepflow-week-select{appearance:none;color:#101828;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4.5 L6 7.5 L9 4.5'/></svg>");background-position:right .65rem center;background-repeat:no-repeat;background-size:.85rem .85rem;border:1px solid #d0d5dd;border-radius:10px;width:100%;padding:.55rem 2rem .55rem .75rem;font-size:.86rem;font-weight:500;line-height:1.3;transition:border-color .15s,box-shadow .15s;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.stepflow-week-select:hover{border-color:#94a3b8}.stepflow-week-select:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e2e}.stepflow-week-select option{color:#101828;background:#fff;padding:.4rem .5rem}.stepflow-week-select option:disabled{color:#94a3b8}.cm-select-wrap{width:100%;position:relative}.cm-select-button{color:#101828;cursor:pointer;text-align:left;background:#fff;border:1px solid #d0d5dd;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.86rem;font-weight:500;line-height:1.3;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 1px 2px #0f172a0a}.cm-select-button:hover{border-color:#94a3b8}.cm-select-button:focus-visible,.cm-select-button--open{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e2e}.cm-select-current{flex:1;align-items:baseline;gap:.4rem;min-width:0;display:flex}.cm-select-current-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cm-select-current-meta{color:#64748b;flex-shrink:0;font-size:.74rem;font-weight:600}.cm-select-chevron{color:#64748b;justify-content:center;align-items:center;transition:transform .18s,color .18s;display:inline-flex}.cm-select-button--open .cm-select-chevron{color:#16a34a;transform:rotate(180deg)}.cm-select-menu{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:max-content;max-height:360px;margin:0;padding:.35rem;list-style:none;animation:.14s ease-out both cm-select-menu-in;overflow-y:auto;box-shadow:0 18px 48px #0f172a24,0 2px 8px #0f172a0f}@keyframes cm-select-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cm-select-item{color:#1f2937;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.86rem;transition:background .12s,color .12s;display:flex}.cm-select-item:hover:not(:disabled){color:#15803d;background:#22c55e14}.cm-select-item--selected{color:#14532d;background:linear-gradient(135deg,#22c55e29 0%,#14b8a61f 100%);font-weight:600}.cm-select-item--selected:hover:not(:disabled){color:#14532d;background:linear-gradient(135deg,#22c55e38 0%,#14b8a62e 100%)}.cm-select-item--disabled,.cm-select-item--disabled:hover{color:#94a3b8;cursor:not-allowed;background:0 0}.cm-select-item-label{white-space:nowrap;flex:1;min-width:0}.cm-select-item-meta{color:#64748b;flex-shrink:0;align-items:center;gap:.45rem;font-size:.74rem;font-weight:600;display:inline-flex}.cm-select-item-lock{color:#64748b;letter-spacing:.04em;text-transform:uppercase;background:#94a3b829;border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.cm-select-item-check{color:#16a34a}:root.theme-dark .cm-select-button{color:#f3fff8;background:#051710;border-color:#1f4d3a}:root.theme-dark .cm-select-button:hover{border-color:#2d6b50}:root.theme-dark .cm-select-button:focus-visible,:root.theme-dark .cm-select-button--open{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e38}:root.theme-dark .cm-select-current-meta,:root.theme-dark .cm-select-chevron{color:#94d3aa}:root.theme-dark .cm-select-button--open .cm-select-chevron{color:#34d399}:root.theme-dark .cm-select-menu{background:#061f15;border-color:#1f4d3a;box-shadow:0 18px 48px #00000080,0 2px 8px #00000059}:root.theme-dark .cm-select-item{color:#d7ffe6}:root.theme-dark .cm-select-item:hover:not(:disabled){color:#f3fff8;background:#22c55e29}:root.theme-dark .cm-select-item--selected{color:#f0fdf4;background:linear-gradient(135deg,#22c55e47 0%,#14b8a633 100%)}:root.theme-dark .cm-select-item--disabled,:root.theme-dark .cm-select-item--disabled:hover{color:#475569}:root.theme-dark .cm-select-item-meta{color:#94d3aa}:root.theme-dark .cm-select-item-lock{color:#94a3b8;background:#94a3b82e}:root.theme-dark .cm-select-item-check{color:#34d399}.reading-body .content-text{margin-top:.65rem}.reading-body .content-text:first-child{margin-top:0}.index-list{flex-direction:column;gap:.4rem;display:flex}.index-item{color:#667085;cursor:pointer;border:1px solid #0000;border-radius:12px;grid-template-columns:1.75rem minmax(0,1fr) 1.35rem;align-items:start;gap:.45rem .5rem;padding:.7rem .72rem;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.index-item:not(:disabled):hover{background:#fff;border-color:#e4e7ec}.index-item.active{color:#111827;background:#fff;border-color:#c7d7f8;box-shadow:0 2px 10px #0f172a12}.index-item:disabled{opacity:.72;cursor:not-allowed}.idx-num{color:#94a3b8;font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.78rem;font-weight:800}.index-item.active .idx-num{color:#1d4ed8}.idx-label{color:inherit;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.idx-label-stack{flex-direction:column;gap:.2rem;min-width:0;display:flex}.idx-deadline{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:.12rem;font-size:.66rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.idx-deadline--due_today{color:#b45309}.idx-deadline--overdue{color:#b42318}.idx-deadline--complete{color:#067647}.idx-deadline--ahead{color:#047857;font-weight:700}.idx-deadline--upcoming{color:#475467}.idx-lock{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.idx-lock.locked{color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0}.idx-lock.unlocked{color:#94a3b8;background:#fff;border:1px solid #e2e8f0}.idx-lock.active{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:1px solid #15803d;box-shadow:0 0 0 3px #22c55e2e}.index-item:hover:not(:disabled) .idx-lock.unlocked{color:#16a34a;border-color:#86efac}.idx-lock-icon{width:14px;height:14px;display:block}:root.theme-dark .idx-lock.locked,:root.theme-dark .idx-lock.unlocked{color:#94d3aa;background:#0a2419;border-color:#1f4d3a}:root.theme-dark .idx-lock.active{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-color:#15803d}:root.theme-dark .index-item:hover:not(:disabled) .idx-lock.unlocked{color:#34d399;border-color:#2d6b50}.stepflow-main{gap:1rem;min-width:0;display:grid}.stepflow-content-card{min-width:0;padding:1.15rem 1.25rem 1.35rem}.stepflow-tabs-card{background:#e8edf3;border:1px solid #d8dee8;border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:.35rem;padding:.4rem;display:flex;box-shadow:inset 0 1px #ffffffb3}.flow-tab{color:#5c6578;letter-spacing:.01em;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:10px;flex:8.5rem;padding:.52rem .72rem;font-size:.8rem;font-weight:650;line-height:1.25;transition:background .16s,color .16s,box-shadow .16s,transform .12s;position:relative}.flow-tab-inner{justify-content:center;align-items:center;gap:.38rem;max-width:100%;display:inline-flex}.flow-tab-text{min-width:0}.flow-tab-index{font-variant-numeric:tabular-nums}.flow-tab-status{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.flow-tab-check{color:#16a34a;width:1rem;height:1rem;display:block}.flow-tab-lock{color:#94a3b8;width:.92rem;height:.92rem;display:block}.flow-tab.active .flow-tab-check{color:#15803d}.flow-tab.viewing:not(.active) .flow-tab-check{color:#0f766e}.flow-tab.flow-tab-locked .flow-tab-lock{color:#94a3b8}.flow-tab.flow-tab-locked:not(:disabled) .flow-tab-lock{color:#b45309}.flow-tab:disabled .flow-tab-lock{color:#a8b0bd}.flow-tab:not(:disabled):hover{color:#1e293b;background:#ffffff8c}.flow-tab:not(:disabled):active{transform:scale(.98)}.flow-tab:disabled{opacity:.48;cursor:not-allowed}.flow-tab.active{color:#0f5132;background:#fff;padding-bottom:.62rem;box-shadow:0 2px 8px #0f172a12,0 0 0 1px #16a34a38}.flow-tab.active:after{content:"";opacity:.9;background:#22c55e;border-radius:999px;width:24px;height:3px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}@media (max-width:520px){.flow-tab.active:after{display:none}.flow-tab.active{padding-bottom:.52rem}}.flow-tab.viewing:not(.active){color:#0f172a;background:#ffffffbf;box-shadow:0 0 0 2px #94a3b8}.flow-tab.viewing.active{box-shadow:0 2px 8px #0f172a12,0 0 0 2px #15803d}.flow-tab.viewing.active:after{background:#15803d}.flow-tab.flow-tab-locked{opacity:.72;cursor:not-allowed}.flow-tab.flow-tab-locked:not(:disabled):hover{color:#7f1d1d;background:#fee2e28c}.stepflow-lock-notice{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0;padding:.65rem .85rem;font-size:.88rem;font-weight:600;line-height:1.4}.stepflow-locked-panel{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;margin-bottom:.9rem;padding:1rem 1.1rem}.stepflow-locked-title{letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:.45rem;font-size:.72rem;font-weight:800;display:inline-block}.stepflow-locked-text{color:#475569;margin:0;font-size:.95rem;line-height:1.5}.stepflow-current-module{background:#fff;border:1px solid #d8dee8;border-radius:14px;grid-template-columns:1fr 1fr;gap:0;margin-bottom:0;display:grid;overflow:hidden;box-shadow:0 4px 18px #0f172a0f}@media (max-width:720px){.stepflow-current-module{grid-template-columns:1fr}}.stepflow-context-block{background:#f8fafc;border-right:1px solid #e8edf3;padding:1rem 1.1rem}@media (max-width:720px){.stepflow-context-block{border-bottom:1px solid #e8edf3;border-right:none}}.stepflow-context-block--now{background:#f0fdf4;border-right:none;position:relative}.stepflow-context-block--now:before{content:"";background:#22c55e;border-radius:999px;width:3px;position:absolute;top:12%;bottom:12%;left:0}.stepflow-context-label{letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;margin-bottom:.45rem;font-size:.68rem;font-weight:750;display:block}.stepflow-context-block--now .stepflow-context-label{color:#15803d}.stepflow-context-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:700;line-height:1.35}.stepflow-context-topic{color:#475569;margin-top:.35rem;font-size:.88rem;font-weight:600;line-height:1.4;display:block}.stepflow-context-step-name{letter-spacing:-.02em;color:#14532d;margin:0 0 .4rem;font-size:1.05rem;font-weight:800;line-height:1.2}.stepflow-context-hint{color:#4d6b5c;max-width:36ch;margin:0;font-size:.84rem;line-height:1.45}.content-tag{color:#667085;letter-spacing:.1em;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:inline-flex}.content-tag:before{content:"";background:#86efac;border-radius:999px;width:30px;height:2px}.stepflow-content-card h2{letter-spacing:-.03em;margin:.7rem 0 .85rem;font-size:clamp(2.1rem,4.5vw,4.3rem);line-height:.97}.core-definition{background:#f4f7fb;border:1px solid #e4e7ec;border-left:3px solid #86efac;border-radius:12px;margin-bottom:.9rem;padding:.75rem .9rem}.core-definition h4{margin:0 0 .35rem;font-size:1rem}.core-definition p{color:#667085;margin:0;font-style:italic;line-height:1.5}.content-text{color:#475467;margin:0 0 .8rem;font-size:1rem;line-height:1.65}.lesson-markdown{color:#1f2937;font-size:1rem;line-height:1.7}.lesson-markdown>:first-child{margin-top:0}.lesson-markdown>:last-child{margin-bottom:0}.lesson-markdown h1,.lesson-markdown h2,.lesson-markdown h3,.lesson-markdown h4,.lesson-markdown h5,.lesson-markdown h6{color:#0f172a;scroll-margin-top:5rem;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}.lesson-markdown h1{letter-spacing:-.02em;margin:2rem 0 .9rem;font-size:1.85rem;font-weight:800;line-height:1.25}.lesson-markdown h2{color:#14532d;border-left:4px solid #4ec35d;margin:1.9rem 0 .85rem;padding-left:.75rem;font-size:1.5rem;font-weight:700;line-height:1.3}.lesson-markdown h3{color:#1f2937;margin:1.5rem 0 .6rem;font-size:1.18rem;font-weight:700;line-height:1.35}.lesson-markdown h4{color:#334155;text-transform:none;letter-spacing:0;margin:1.2rem 0 .5rem;font-size:1.02rem;font-weight:700;line-height:1.4}.lesson-markdown h5,.lesson-markdown h6{color:#475569;margin:1rem 0 .45rem;font-size:.95rem;font-weight:700}.lesson-markdown p{color:#334155;margin:0 0 .95rem;line-height:1.72}.lesson-markdown strong{color:#0f172a;font-weight:700}.lesson-markdown em{color:#1f2937}.lesson-markdown a{color:#1f7a3b;text-underline-offset:2px;font-weight:600;-webkit-text-decoration:underline #1f7a3b73;text-decoration:underline #1f7a3b73}.lesson-markdown a:hover{text-decoration-color:#1f7a3b}.lesson-markdown ul,.lesson-markdown ol{margin:.4rem 0 1.1rem;padding-left:1.6rem}.lesson-markdown ul{list-style:outside}.lesson-markdown ol{list-style:decimal}.lesson-markdown li{color:#334155;margin:.3rem 0;padding-left:.15rem;line-height:1.65}.lesson-markdown li::marker{color:#4ec35d;font-weight:700}.lesson-markdown ol li::marker{color:#2c7f43}.lesson-markdown blockquote{color:#14532d;background:#ecfdf5;border-left:4px solid #4ec35d;border-radius:0 10px 10px 0;margin:1.1rem 0;padding:.85rem 1rem .85rem 1.05rem;font-style:normal}.lesson-markdown blockquote p{color:inherit;margin:0}.lesson-markdown .lesson-md-inline-code,.lesson-markdown code:not(pre code){color:#b91c4d;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:5px;padding:.12rem .42rem;font-family:JetBrains Mono,Fira Code,ui-monospace,Menlo,Consolas,monospace;font-size:.88em}.lesson-markdown pre,.lesson-markdown .lesson-md-pre{color:#e5e7eb;background:#0b1220;border-radius:12px;margin:1rem 0;padding:1rem 1.1rem;font-family:JetBrains Mono,Fira Code,ui-monospace,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55;overflow-x:auto;box-shadow:0 8px 24px #0f172a1f}.lesson-markdown pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.lesson-markdown hr{background:linear-gradient(90deg,#0000,#cbd5e1 50%,#0000);border:0;height:1px;margin:1.8rem 0}:root.theme-dark .lesson-markdown{color:#e6f2ec}:root.theme-dark .lesson-markdown h1,:root.theme-dark .lesson-markdown h2,:root.theme-dark .lesson-markdown h3,:root.theme-dark .lesson-markdown h4,:root.theme-dark .lesson-markdown h5,:root.theme-dark .lesson-markdown h6{color:#f3fff8}:root.theme-dark .lesson-markdown h2{color:#c8f7d8;border-left-color:#37d67a}:root.theme-dark .lesson-markdown h3{color:#e6f2ec}:root.theme-dark .lesson-markdown h4{color:#b8d7c6}:root.theme-dark .lesson-markdown h5,:root.theme-dark .lesson-markdown h6{color:#9cb8a8}:root.theme-dark .lesson-markdown p,:root.theme-dark .lesson-markdown li{color:#cdebdc}:root.theme-dark .lesson-markdown strong{color:#fff}:root.theme-dark .lesson-markdown a{color:#4ec35d;text-decoration-color:#4ec35d80}:root.theme-dark .lesson-markdown a:hover{text-decoration-color:#4ec35d}:root.theme-dark .lesson-markdown li::marker{color:#4ec35d}:root.theme-dark .lesson-markdown ol li::marker{color:#6ddc83}:root.theme-dark .lesson-markdown blockquote{color:#d7ffe6;background:#0a2219;border-left-color:#37d67a}:root.theme-dark .lesson-markdown .lesson-md-inline-code,:root.theme-dark .lesson-markdown code:not(pre code){color:#ffb4d4;background:#0a2219;border-color:#123226}:root.theme-dark .lesson-markdown pre,:root.theme-dark .lesson-markdown .lesson-md-pre{color:#d7ffe6;background:#02100b;box-shadow:0 8px 24px #020e0a8c}:root.theme-dark .lesson-markdown hr{background:linear-gradient(90deg,#0000,#1d4434 50%,#0000)}.content-mini-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.mini-info-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e4e7ec;border-radius:14px;padding:1rem 1rem .95rem;box-shadow:0 1px 2px #0f172a0a}.mini-info-card--focus{border-color:#b2ddff}.mini-info-card--keywords{border-color:#d6bbfb}.mini-icon-svg{width:32px;height:32px;margin-bottom:.35rem;display:block}.mini-info-card--focus .mini-icon-svg{color:#175cd3}.mini-info-card--keywords .mini-icon-svg{color:#6938ef}.mini-icon{color:#98a2b3;margin-bottom:.5rem;font-weight:700}.mini-info-card h5{color:#101828;letter-spacing:-.02em;margin:0 0 .5rem;font-size:.95rem;font-weight:700}.mini-info-card p{color:#667085;margin:0;line-height:1.45}.mini-objective-list{color:#667085;margin:0;padding-left:1.2rem;font-size:.92rem;line-height:1.5}.mini-objective-list li{margin-bottom:.4rem}.mini-objective-list li:last-child{margin-bottom:0}.mini-keyword-chips{flex-wrap:wrap;gap:.4rem;display:flex}.mini-keyword-chip{color:#344054;background:#f9fafb;border:1px solid #eaecf0;border-radius:999px;padding:.28rem .65rem;font-size:.75rem;font-weight:600;line-height:1.2}.mini-info-empty{color:#98a2b3;margin:0;font-size:.9rem;font-style:italic}.stepflow-cta{color:#f6fff8;text-align:center;cursor:pointer;background:linear-gradient(135deg,#20b15a 0%,#169d4f 48%,#128644 100%);border:1px solid #0f7f3a;border-radius:12px;min-width:210px;margin:0 auto;padding:.85rem 1.5rem;font-size:1.06rem;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,filter .16s;display:block;box-shadow:0 10px 22px #12864438}.stepflow-cta:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 26px #12864447}.stepflow-cta:active:not(:disabled){transform:translateY(0);box-shadow:0 8px 16px #12864433}.stepflow-cta:disabled{opacity:.56;cursor:not-allowed;box-shadow:none;transform:none}.stepflow-cta.ghost{color:#0f5c2f;box-shadow:none;background:#edf9f1;border:1px solid #b9ebca}.stepflow-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.stepflow-actions .stepflow-cta{flex:auto;justify-content:center;align-items:center;width:auto;min-width:min(100%,210px);margin:0;display:inline-flex}.reading-action-group{border-top:1px solid #e4e7ec;flex-direction:column;gap:1rem;margin-top:1.35rem;padding-top:1.35rem;display:flex}:root.theme-dark .reading-action-group{border-top-color:#334155}.reading-action-group .stepflow-actions{justify-content:flex-start;align-items:center}.reading-action-group .stepflow-actions .stepflow-cta:last-child{margin-left:auto}@media (min-width:640px){.reading-action-group .stepflow-actions{flex-direction:row}.reading-action-group .stepflow-actions .stepflow-cta{flex:0 auto}}.stepflow-phase-card h3{margin:0 0 .4rem;font-size:1.35rem}.stepflow-phase-card p{color:#667085;margin:0 0 .9rem}.stepflow-step-panel,.daily-assignment-panel{background:linear-gradient(165deg,#fff 0%,#f8fafc 48%,#f0fdf4 100%);border:1px solid #d8e3ef;border-radius:16px;padding:1.15rem 1.2rem 1.05rem;box-shadow:0 10px 28px #0f172a0f}.stepflow-step-panel__head,.daily-assignment-panel__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.stepflow-step-panel__eyebrow,.daily-assignment-panel__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.stepflow-step-panel__head h3,.daily-assignment-panel__head h3{letter-spacing:-.02em;color:#0f172a;margin:0 0 .35rem;font-size:1.45rem}.stepflow-step-panel__lead,.daily-assignment-panel__lead{color:#475467;max-width:52ch;margin:0;font-size:.92rem;line-height:1.5}.stepflow-step-panel__lead strong,.daily-assignment-panel__lead strong{color:#101828}.stepflow-step-panel__status,.daily-assignment-panel__status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.28rem .65rem;font-size:.72rem;font-weight:700}.stepflow-step-panel__status--ready,.daily-assignment-panel__status--ready{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.stepflow-step-panel__status--passed,.daily-assignment-panel__status--passed{color:#047857;background:#ecfdf3;border:1px solid #a7f3d0}.stepflow-step-panel__status--retry,.daily-assignment-panel__status--retry{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.stepflow-step-panel__status--locked,.daily-assignment-panel__status--locked{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec}.stepflow-step-panel__facts,.daily-assignment-panel__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.stepflow-step-panel__facts li,.daily-assignment-panel__facts li{background:#ffffffd9;border:1px solid #e4e7ec;border-radius:12px;align-items:flex-start;gap:.55rem;padding:.65rem .7rem;display:flex}.stepflow-step-panel__fact-icon,.daily-assignment-panel__fact-icon{background:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.95rem;line-height:1;display:inline-flex}.stepflow-step-panel__fact-title,.daily-assignment-panel__fact-title{color:#101828;margin:0 0 .12rem;font-size:.82rem;font-weight:700;line-height:1.3}.stepflow-step-panel__fact-desc,.daily-assignment-panel__fact-desc{color:#667085;margin:0;font-size:.78rem;line-height:1.4}.stepflow-step-panel__notice,.daily-assignment-panel__notice{border-radius:10px;margin:0 0 .85rem;padding:.55rem .7rem;font-size:.84rem;font-weight:500;line-height:1.45}.stepflow-step-panel__notice--ok,.daily-assignment-panel__notice--ok{color:#047857;background:#ecfdf3;border:1px solid #a7f3d0}.stepflow-step-panel__notice--warn,.daily-assignment-panel__notice--warn{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.stepflow-attempt-score{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1.25rem;margin:0 0 1rem;padding:1rem 1.15rem;display:flex}.stepflow-attempt-score--pass{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 55%,#fff 100%);border-color:#86efac;box-shadow:0 4px 14px #16a34a14}.stepflow-attempt-score--fail{background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 55%,#fff 100%);border-color:#fdba74;box-shadow:0 4px 14px #ea580c14}.stepflow-attempt-score__main{flex-direction:column;gap:.35rem;min-width:min(100%,12rem);display:flex}.stepflow-attempt-score__label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700}.stepflow-attempt-score__values{flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;display:flex}.stepflow-attempt-score__fraction{letter-spacing:-.03em;color:#0f172a;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:800;line-height:1}.stepflow-attempt-score__pct{letter-spacing:-.02em;color:#047857;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:800;line-height:1}.stepflow-attempt-score--fail .stepflow-attempt-score__pct{color:#c2410c}.stepflow-attempt-score__meta{color:#047857;flex:12rem;margin:0;font-size:.92rem;font-weight:600;line-height:1.45}.stepflow-attempt-score--fail .stepflow-attempt-score__meta{color:#9a3412}.stepflow-step-panel__error,.daily-assignment-panel__error{margin:0 0 .75rem}.stepflow-step-panel__actions,.daily-assignment-panel__actions{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.stepflow-step-panel__cta,.daily-assignment-panel__cta{text-align:center;justify-content:center;width:100%;padding:.72rem 1.1rem;font-size:.95rem}.stepflow-step-panel__actions .stepflow-cta.ghost{text-align:center;justify-content:center;width:100%;padding:.62rem 1rem;font-size:.9rem}.stepflow-step-panel__actions .stepflow-cta,.daily-assignment-panel__actions .stepflow-cta{transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;box-shadow:0 3px 10px #1286441f}.stepflow-step-panel__actions .stepflow-cta:hover:not(:disabled),.daily-assignment-panel__actions .stepflow-cta:hover:not(:disabled){filter:none;transform:none;box-shadow:0 4px 12px #12864426}.stepflow-step-panel__actions .stepflow-cta.ghost:hover:not(:disabled),.daily-assignment-panel__actions .stepflow-cta.ghost:hover:not(:disabled){background:#e4f5ea;border-color:#9fd9b3}.stepflow-step-panel__actions .stepflow-cta:active:not(:disabled),.daily-assignment-panel__actions .stepflow-cta:active:not(:disabled){transform:none;box-shadow:0 2px 8px #1286441a}.stepflow-subjective-review{background:#f6fcf8;border:1px solid #c8ebd4;border-radius:12px;margin:0 0 .85rem;padding:.85rem 1rem}.stepflow-subjective-review__block+.stepflow-subjective-review__block{margin-top:.75rem}.stepflow-subjective-review__label{letter-spacing:.04em;text-transform:uppercase;color:#3d6b4f;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.stepflow-subjective-review__text{color:#344054;white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.55}.stepflow-subjective-review__text--answer{background:#fff;border:1px solid #dcefe3;border-radius:8px;padding:.55rem .65rem}.stepflow-subjective-review__text--feedback{color:#475467;font-size:.86rem}.stepflow-subjective-review__score{color:#128644;margin:.75rem 0 0;font-size:.88rem;font-weight:700}.stepflow-subjective-review__missing{color:#667085;margin:0;font-size:.86rem;line-height:1.5}.stepflow-step-panel__secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.stepflow-step-panel__secondary-actions .stepflow-cta.ghost{width:100%}.stepflow-step-panel__cta-hint,.daily-assignment-panel__cta-hint{text-align:center;color:#667085;margin:0;font-size:.78rem;font-weight:500}@media (max-width:720px){.stepflow-step-panel__facts,.daily-assignment-panel__facts{grid-template-columns:1fr}.stepflow-step-panel__head,.daily-assignment-panel__head{flex-direction:column;align-items:flex-start}.stepflow-step-panel__secondary-actions{grid-template-columns:1fr}}:root.theme-dark .stepflow-step-panel,.daily-assignment-panel{background:linear-gradient(165deg,#0f172a 0%,#111827 55%,#052e1a 100%);border-color:#334155;box-shadow:0 12px 32px #00000059}:root.theme-dark .stepflow-step-panel__head h3,:root.theme-dark .daily-assignment-panel__head h3,:root.theme-dark .stepflow-step-panel__fact-title,:root.theme-dark .daily-assignment-panel__fact-title,:root.theme-dark .stepflow-step-panel__lead strong,:root.theme-dark .daily-assignment-panel__lead strong{color:#f8fafc}:root.theme-dark .stepflow-step-panel__lead,:root.theme-dark .daily-assignment-panel__lead,:root.theme-dark .stepflow-step-panel__fact-desc,:root.theme-dark .daily-assignment-panel__fact-desc,:root.theme-dark .stepflow-step-panel__cta-hint,:root.theme-dark .daily-assignment-panel__cta-hint{color:#94a3b8}:root.theme-dark .stepflow-step-panel__facts li,:root.theme-dark .daily-assignment-panel__facts li{background:#0f172aa6;border-color:#334155}:root.theme-dark .stepflow-step-panel__fact-icon,:root.theme-dark .daily-assignment-panel__fact-icon{color:#6ee7b7;background:#14532d}:root.theme-dark .stepflow-attempt-score{box-shadow:none;background:#0f172abf;border-color:#334155}:root.theme-dark .stepflow-attempt-score--pass{background:linear-gradient(135deg,#16a34a38 0%,#0f172ad9 100%);border-color:#4ade8059}:root.theme-dark .stepflow-attempt-score--fail{background:linear-gradient(135deg,#ea580c2e 0%,#0f172ad9 100%);border-color:#fb923c59}:root.theme-dark .stepflow-attempt-score__fraction{color:#f8fafc}:root.theme-dark .stepflow-attempt-score__pct{color:#86efac}:root.theme-dark .stepflow-attempt-score--fail .stepflow-attempt-score__pct{color:#fdba74}:root.theme-dark .stepflow-attempt-score__meta{color:#86efac}:root.theme-dark .stepflow-attempt-score--fail .stepflow-attempt-score__meta{color:#fdba74}.stepflow-step-panel__fact-icon svg,.daily-assignment-panel__fact-icon svg{color:#047857;display:block}.stepflow-step-panel__fact-emoji,.daily-assignment-panel__fact-emoji{font-size:1rem;line-height:1}.flow-context-banner{color:#334155;text-align:center;background:#f8fbff;border:1px solid #dbe3ef;border-radius:12px;max-width:880px;margin:0 auto 1rem;padding:.7rem .9rem}.flow-context-banner strong{color:#111827}.quiz-module-header{text-align:left;background:#fff;border:1px solid #d8dee8;border-radius:14px;width:100%;max-width:100%;margin:0 auto 1.4rem;padding:1.15rem 1.35rem 1.15rem 1.45rem;position:relative;box-shadow:0 4px 18px #0f172a0f}.quiz-module-header:before{content:"";background:#22c55e;border-radius:999px;width:3px;position:absolute;top:14%;bottom:14%;left:0}.quiz-module-eyebrow{letter-spacing:.16em;color:#15803d;text-transform:uppercase;margin-bottom:.4rem;font-size:.68rem;font-weight:750}.quiz-module-header h2{letter-spacing:-.02em;color:#0f172a;margin:0 0 .45rem;font-size:clamp(1.35rem,2.5vw,1.95rem);line-height:1.18}.quiz-module-header p{color:#475569;max-width:62ch;margin:0;font-size:.9rem;line-height:1.5}.quiz-timer-row{border-top:1px solid #e8ecf2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.85rem;padding-top:.75rem;display:flex}.quiz-timer-chip{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .65rem;font-size:.95rem;font-weight:700}.quiz-timer-chip--warn{color:#b45309;background:#fffbeb;border-color:#fcd34d}.quiz-timer-chip--expired{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.quiz-timer-hint{color:#64748b;max-width:42ch;margin:0;font-size:.82rem;line-height:1.4}.progress-bar-track{background:#eef2f7;border-radius:999px;height:8px;margin:.35rem 0 .55rem;overflow:hidden}.progress-bar-fill{background:#22c55e;height:100%;transition:width .4s}.index-item{cursor:pointer;background:0 0}.index-item:hover{background:#fff;border-color:#e4e7ec}.index-item:disabled{opacity:.55;cursor:not-allowed;background:#f3f4f6}.ide-page{max-width:980px;margin:0 auto}.ide-header{text-align:center;margin-bottom:1rem}.ide-header h1{letter-spacing:-.03em;align-items:center;gap:.45rem;margin:0;font-size:clamp(2.1rem,4.5vw,3.2rem);display:inline-flex}.python-mark{justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.python-mark svg{width:100%;height:100%;display:block}.python-mark.mini{width:16px;height:16px;margin-right:.35rem}.ide-header p{color:#667085;margin:.45rem 0 0;font-size:1.02rem}.ide-shell{background:#f8fafc;border:1px solid #e4e7ec;border-radius:16px;overflow:hidden}.ide-toolbar{background:#f5f7fa;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;padding:.62rem .85rem;display:flex}.ide-file-tab{color:#667085;background:#fff;border:1px solid #e4e7ec;border-radius:8px;align-items:center;padding:.35rem .65rem;font-size:.95rem;font-weight:700;display:inline-flex}.ide-actions{gap:.55rem;display:flex}.ide-run-btn,.ide-ghost-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.42rem .8rem;font-weight:700}.ide-run-btn{color:#fff;background:#2fb557}.ide-run-btn:hover{background:#269a49}.ide-ghost-btn{color:#111827;background:#fff;border-color:#e4e7ec}.ide-editor{background:#fff;grid-template-columns:44px 1fr;min-height:340px;display:grid}.ide-lines{color:#98a2b3;text-align:right;background:#f3f4f6;border-right:1px solid #e4e7ec;padding:.8rem .5rem .8rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:2}.ide-lines span{display:block}.ide-code-area{resize:none;color:#111827;background:#fff;border:0;outline:none;width:100%;padding:.8rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:1rem;line-height:2}.ide-output-shell{border:1px solid #e4e7ec;border-radius:14px;margin-top:1rem;overflow:hidden}.ide-output-head{background:#fff;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;padding:.72rem .85rem;display:flex}.ide-output-head span{color:#111827;font-weight:700}.output-title{align-items:center;gap:.35rem;display:inline-flex}.output-title svg{width:16px;height:16px}.ide-output-head strong{color:#111827;letter-spacing:.12em;font-size:.82rem}.ide-output-body{color:#44d07a;white-space:pre-wrap;background:#040826;min-height:110px;padding:1rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:1rem}.how-it-works-page,.leaderboard-page{max-width:920px;margin:0 auto;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.home-how-it-works,.home-features{margin-top:2.75rem;scroll-margin-top:5.5rem}.hiw-hero h2.home-hiw-title{letter-spacing:-.03em;color:#101828;margin:0 0 .85rem;font-size:clamp(2rem,4.5vw,2.85rem);font-weight:800;line-height:1.08}.hiw-accent,.lb-accent{color:var(--accent)}.hiw-hero,.lb-hero{text-align:center;padding:clamp(1.5rem,4vw,2.75rem) 0 2rem}.hiw-badge,.lb-hero-badge{border:1px solid var(--border);color:#15803d;letter-spacing:.06em;text-transform:uppercase;background:#fff;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.35rem .85rem;font-size:.68rem;font-weight:700;display:inline-flex}.hiw-badge-dot,.lb-hero-badge-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #22c55e33}.lb-hero-badge-dot{animation:2s ease-in-out infinite lbPulse}@keyframes lbPulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes xpPopIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hiw-hero h1,.lb-hero h1{letter-spacing:-.03em;color:#101828;margin:0 0 .85rem;font-size:clamp(2rem,4.5vw,2.85rem);font-weight:800;line-height:1.08}.hiw-hero p,.lb-hero p{max-width:34rem;color:var(--muted);margin:0 auto;font-size:1.02rem;line-height:1.55}.hiw-steps{padding:.25rem 0 3rem}.hiw-kicker{color:#15803d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;font-weight:700}.hiw-steps>h2{color:#101828;letter-spacing:-.02em;margin:0 0 .4rem;font-size:clamp(1.45rem,2.8vw,1.75rem);font-weight:800}.hiw-sub{color:#98a2b3;max-width:40ch;margin:0 0 2.25rem;font-size:.95rem}.hiw-step-list{flex-direction:column;display:flex}.hiw-step{grid-template-columns:52px 1fr;gap:0 1.25rem;padding-bottom:2.75rem;display:grid;position:relative}.hiw-step:last-child{padding-bottom:0}.hiw-rail{flex-direction:column;align-items:center;display:flex;position:relative}.hiw-rail:before{content:"";background:linear-gradient(#bbf7d0,#bbf7d033);border-radius:2px;width:2px;position:absolute;top:52px;bottom:-2.75rem;left:50%;transform:translate(-50%)}.hiw-step:last-child .hiw-rail:before{display:none}.hiw-step-num{z-index:1;color:#15803d;background:#fff;border:1px solid #86efac;border-radius:50%;place-items:center;width:48px;height:48px;font-size:.82rem;font-weight:800;display:grid;position:relative;box-shadow:0 0 0 4px #22c55e1f}.hiw-step-body{padding-top:.35rem}.hiw-step-tag{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.62rem;font-weight:700}.hiw-step-title{color:#101828;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.25rem;font-weight:800}.hiw-step-desc{color:var(--muted);max-width:52ch;margin:0 0 1rem;font-size:.95rem;line-height:1.55}.hiw-step-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 4px 14px #0f172a0d}.hiw-stat-row{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.hiw-mini{text-align:center;flex:1;min-width:100px;padding:.2rem .9rem}.hiw-mini:first-child{padding-left:0}.hiw-mini:last-child{padding-right:0}.hiw-v{background:var(--border);align-self:stretch;width:1px;min-height:48px}.hiw-mini-val{color:var(--accent);font-family:Outfit,Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:800;line-height:1.15}.hiw-mini-lbl{color:#98a2b3;margin-top:.2rem;font-size:.68rem;font-weight:600}.hiw-tags{flex-wrap:wrap;gap:.45rem;display:flex}.hiw-tag{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.4rem .65rem;font-size:.78rem;font-weight:600}.hiw-quiz-meta{color:#98a2b3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.45rem;font-size:.75rem;display:flex}.hiw-quiz-meta em{color:#15803d;font-style:normal;font-weight:700}.hiw-bar{border:1px solid var(--border);background:#e2e8f0;border-radius:99px;height:8px;overflow:hidden}.hiw-bar>i{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:99px;width:72%;height:100%;display:block}.hiw-quiz-foot{color:#98a2b3;justify-content:space-between;margin-top:.55rem;font-size:.75rem;display:flex}.hiw-quiz-foot strong{color:#15803d;font-weight:800}.hiw-cta-wrap{margin:0 auto 2.5rem;padding:0}.hiw-cta{text-align:center;background:linear-gradient(115deg,#0b0f1a 0%,#052433 55%,#0b0f1a 100%);border-radius:18px;padding:2.5rem 1.5rem;box-shadow:0 16px 40px #0f172a2e}.hiw-cta-star{color:#4ade80;margin:0 0 .75rem;font-size:1.35rem;line-height:1}.hiw-cta h2{color:#f8fafc;letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:800}.hiw-cta p{color:#f8fafcd9;max-width:30rem;margin:0 auto 1.35rem;font-size:.95rem;line-height:1.55}.hiw-cta-btn{color:#f8fafc;background:0 0;border:2px solid #ffffffd9;border-radius:10px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex}.hiw-cta-btn:hover{color:#bbf7d0;background:#ffffff14;border-color:#4ade80}.lb-filters{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:0 0 1.75rem;display:flex}.lb-filter-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:#fff;border-radius:999px;padding:.45rem 1.1rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .18s}.lb-filter-btn:hover{color:#101828;border-color:#86efac}.lb-filter-btn.active{border-color:var(--accent);color:#166534;background:#22c55e1f}.lb-wrap{max-width:860px;margin:0 auto;padding:0 0 2.5rem}.lb-empty{text-align:center;color:#64748b;padding:1rem;font-size:.92rem}.lb-podium{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:.85rem;margin-bottom:2rem;display:grid}.lb-pod{border:1px solid var(--border);text-align:center;background:#fff;border-radius:16px;padding:1.1rem .85rem 1rem;transition:border-color .2s,box-shadow .2s;position:relative;box-shadow:0 4px 14px #0f172a0d}.lb-pod.lb-first{border-color:var(--accent);padding-top:1.5rem;box-shadow:0 0 0 1px #22c55e33}.lb-pod.lb-second{border-color:#22c55e73}.lb-pod.lb-third{border-color:#22c55e38}.lb-pod-crown{margin-bottom:.45rem;font-size:1.25rem;line-height:1}.lb-pod-avatar{color:#15803d;letter-spacing:.03em;background:#f0fdf4;border:2px solid #86efac;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto .5rem;font-size:.95rem;font-weight:800;display:flex}.lb-pod.lb-first .lb-pod-avatar{border-color:var(--accent);width:58px;height:58px;font-size:1.05rem;box-shadow:0 0 0 4px #22c55e1f}.lb-pod-name{color:#101828;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.82rem;font-weight:800;overflow:hidden}.lb-pod-xp{color:var(--accent);font-family:Outfit,Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.1}.lb-pod.lb-second .lb-pod-xp,.lb-pod.lb-third .lb-pod-xp{color:#16a34a;font-size:1.05rem}.lb-pod-xp-lbl{color:#98a2b3;letter-spacing:.06em;text-transform:uppercase;margin-top:.2rem;font-size:.62rem;font-weight:700}.lb-pod-rank{color:#98a2b3;letter-spacing:.06em;font-size:.62rem;font-weight:800;position:absolute;top:.5rem;right:.75rem}.lb-pod.lb-first .lb-pod-rank{color:#15803d}.lb-table-card{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #0f172a0d}.lb-table-head{border-bottom:1px solid var(--border);color:#98a2b3;letter-spacing:.08em;text-transform:uppercase;background:#f8fafc;grid-template-columns:48px 1fr 100px 72px 68px;padding:.65rem 1.1rem;font-size:.62rem;font-weight:700;display:grid}.lb-th-right{text-align:right}.lb-row{border-bottom:1px solid #eef2f6;grid-template-columns:48px 1fr 100px 72px 68px;align-items:center;padding:.85rem 1.1rem;transition:background .14s;display:grid}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:#22c55e0a}.lb-row.lb-row-me{border-left:3px solid var(--accent);background:#22c55e14}.lb-you-separator{background:#f8fafc;border-top:1px dashed #dbe3ef;border-bottom:1px dashed #dbe3ef;align-items:center;gap:.6rem;padding:.6rem 1.1rem;display:flex}.lb-you-separator span{background:#dbe3ef;flex:1;height:1px}.lb-you-separator em{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.7rem;font-style:normal;font-weight:800}.lb-rank-num{color:#98a2b3;font-size:.82rem;font-weight:800}.lb-rank-num.lb-rank-top{color:#15803d}.lb-user-cell{align-items:center;gap:.55rem;min-width:0;display:flex}.lb-avatar{color:#15803d;background:#f0fdf4;border:1px solid #86efac;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.68rem;font-weight:800;display:flex}.lb-username{color:#101828;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.lb-you-tag{color:#98a2b3;margin-left:.2rem;font-size:.72rem;font-weight:500}.lb-badge-tag{color:#166534;letter-spacing:.03em;white-space:nowrap;background:#22c55e1a;border:1px solid #22c55e40;border-radius:6px;flex-shrink:0;margin-left:.35rem;padding:.2rem .45rem;font-size:.62rem;font-weight:700}.lb-xp-val{color:var(--accent);text-align:right;font-family:Outfit,Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:800}.lb-streak-cell{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.lb-streak-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.lb-streak-num{color:var(--muted);font-size:.82rem;font-weight:700}.lb-acc-cell{color:var(--muted);text-align:right;font-size:.82rem}@media (max-width:560px){.hiw-stat-row{flex-direction:column;gap:1rem}.hiw-v{display:none}.hiw-mini{text-align:left;padding:0}}@media (max-width:600px){.lb-podium{gap:.45rem}.lb-pod{padding:.85rem .4rem .75rem}.lb-pod-avatar{width:38px;height:38px;font-size:.72rem}.lb-pod.lb-first .lb-pod-avatar{width:46px;height:46px}.lb-pod-xp{font-size:1rem}.lb-pod.lb-second .lb-pod-xp,.lb-pod.lb-third .lb-pod-xp{font-size:.88rem}.lb-table-head,.lb-row{grid-template-columns:32px 1fr 80px 0 0}.lb-table-head>:nth-child(4),.lb-table-head>:nth-child(5),.lb-row>:nth-child(4),.lb-row>:nth-child(5),.lb-badge-tag{display:none}}@media (max-width:900px){.navbar{flex-wrap:wrap;align-items:center;gap:.45rem;padding:.65rem .75rem}.navbar-brand{flex:auto;min-width:0}.navbar-auth{flex-wrap:nowrap;margin-left:0}.navbar-main{flex:100%;order:3;justify-content:flex-start;width:100%;max-width:100%;padding-bottom:.15rem}.nav-user-name{max-width:72px}.navbar--authed .nav-xp-total{display:none}.landing-hero{grid-template-columns:1fr}.card{padding:1.25rem 1.1rem}.portal-head-left{grid-template-columns:40px auto;column-gap:.65rem}.portal-app-icon{border-radius:11px;width:40px;height:40px}.portal-app-icon svg{width:20px;height:20px}.portal-title{font-size:1rem}.portal-menu{font-size:1.2rem}.portal-body{grid-template-columns:1fr;justify-items:center;gap:1rem}.portal-streak-band{text-align:left;grid-template-rows:auto;grid-template-columns:1fr;gap:.85rem}.portal-streak-cta,.portal-streak-mid,.portal-streak-weekly{grid-area:auto/1}.portal-streak-mid{border-top:1px solid #e8ecef;border-left:0;justify-content:flex-start;padding-top:.65rem;padding-left:0}.portal-streak-weekly{grid-template-columns:52px minmax(0,1fr);padding-top:.75rem}.ring{width:140px;height:140px}.ring-inner{width:104px;height:104px}.ring-value{font-size:2.1rem}.meta-value{font-size:1.4rem}.meta-grid>div{min-height:74px}.home-module-grid{grid-template-columns:1fr}.home-footer-fullbleed{padding-left:1rem;padding-right:1rem}.foot-links-grid{grid-template-columns:1fr;justify-self:stretch;gap:1.75rem}.foot-bottom{flex-direction:column;align-items:flex-start;gap:.4rem}.dashboard-grid,.dashboard-hero-card,.dashboard-grid-premium,.dashboard-stats-grid,.dashboard-actions-premium,.dashboard-profile-panel-top .profile-row,.profile-row,.profile-fields{grid-template-columns:1fr}.analysis-hero{margin-bottom:3rem}.analysis-empty{margin-top:3rem}.analysis-empty h3{font-size:1.6rem}.analysis-focus-grid,.analysis-heatmap-row{grid-template-columns:1fr}.analysis-heatmap-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-card{flex-direction:column;align-items:flex-start}.analysis-topic{min-width:0}.learning-module-card{grid-template-columns:44px 1fr}.module-progress-wrap{grid-column:1/-1;align-items:center;gap:.65rem;margin-top:.35rem;display:flex}.module-progress-wrap .mini-progress{flex:1}.module-progress-wrap .mini-progress-label{white-space:nowrap;margin-top:0}.learning-hero-stats,.stepflow-top,.stepflow-layout{grid-template-columns:1fr}.stepflow-index-card{max-height:none;position:static;overflow:visible}.content-mini-cards{grid-template-columns:1fr}.ide-toolbar{flex-wrap:wrap;gap:.6rem}.ide-actions{justify-content:flex-start;width:100%}}:root.theme-dark{--text:#f3fff8;--muted:#b8d7c6;--bg:#03110d;--card:#071a14;--border:#123226;--accent:#37d67a}:root.theme-dark body{color:var(--text);background:radial-gradient(circle at top,#072018 0%,#03110d 55%,#020c09 100%)}:root.theme-dark .navbar{background:#03110deb;border-bottom-color:#123226}:root.theme-dark .navbar-main{scrollbar-color:#1f5a40 transparent;background:0 0;border-color:#0000}:root.theme-dark .navbar-main::-webkit-scrollbar-thumb{background:#1f5a40}:root.theme-dark .navbar-main a,:root.theme-dark .login-link{color:#cdebdc}:root.theme-dark .navbar-main a:hover,:root.theme-dark .login-link:hover{color:#d7ffe6;background:#0a2219;border-color:#1f5a40}:root.theme-dark .navbar-main a.active{color:#d9ffea;background:#123826;border-color:#37d67a;box-shadow:0 0 0 1px #37d67a40,0 2px 10px #020e0a73}:root.theme-dark .nav-route-dropdown{color:#cdebdc}:root.theme-dark .nav-route-dropdown:hover{color:#d7ffe6;background:#0a2219;border-color:#1f5a40}:root.theme-dark .nav-route-dropdown--active{color:#d9ffea;background:#123826;border-color:#37d67a;box-shadow:0 0 0 1px #37d67a40,0 2px 10px #020e0a73}:root.theme-dark .nav-route-dropdown-menu{background:#071a14;border-color:#123226;box-shadow:0 10px 28px #00000073}:root.theme-dark .nav-route-dropdown-item{color:#cdebdc}:root.theme-dark .nav-route-dropdown-item:hover{color:#d7ffe6;background:#0a2219}:root.theme-dark .nav-route-dropdown-item--active{color:#d9ffea;background:#123826}:root.theme-dark .logo-word,:root.theme-dark .nav-user-name,:root.theme-dark .logout-btn,:root.theme-dark .theme-toggle-btn{color:#f1fff8}:root.theme-dark .logo-word{background:linear-gradient(#4be276 0%,#28cf64 100%);-webkit-text-fill-color:transparent;color:#0000;text-shadow:0 0 16px #4be27642;-webkit-background-clip:text;background-clip:text}:root.theme-dark .logout-btn,:root.theme-dark .theme-toggle-btn,:root.theme-dark .nav-user-chip,:root.theme-dark .nav-xp-chip{background:#071a14;border-color:#123226}:root.theme-dark a.nav-user-chip:hover{border-color:#1f4a38;box-shadow:0 2px 10px #00000059}:root.theme-dark .nav-xp-level,:root.theme-dark .nav-xp-total{color:#d7ffea}:root.theme-dark .card,:root.theme-dark .dashboard-panel,:root.theme-dark .dashboard-panel-clean,:root.theme-dark .learning-overall,:root.theme-dark .learning-weak-aside,:root.theme-dark .learning-module-card,:root.theme-dark .question-card,:root.theme-dark .feedback-card,:root.theme-dark .subjective-question-body,:root.theme-dark .subjective-answer-input,:root.theme-dark .subjective-feedback,:root.theme-dark .subjective-prior-score,:root.theme-dark .subjective-module-select,:root.theme-dark .auth-card,:root.theme-dark .lb-table-card,:root.theme-dark .lb-pod,:root.theme-dark .stepflow-index-card,:root.theme-dark .stepflow-tabs-card,:root.theme-dark .stepflow-content-card,:root.theme-dark .stepflow-progress-card,:root.theme-dark .core-definition,:root.theme-dark .mini-info-card,:root.theme-dark .ide-shell,:root.theme-dark .ide-output-shell,:root.theme-dark .analysis-focus-panel,:root.theme-dark .analysis-heatmap-panel,:root.theme-dark .analysis-focus-card,:root.theme-dark .analysis-card{color:#f3fff8;background:#071a14;border-color:#123226}:root.theme-dark .analysis-card-meta,:root.theme-dark .analysis-low-data-hint{color:#9cb8a8}:root.theme-dark .analysis-stat-pill{background:#051710;border-color:#123226}:root.theme-dark .analysis-focus-card p,:root.theme-dark .analysis-focus-top,:root.theme-dark .analysis-heatmap-week{color:#9cb8a8}:root.theme-dark .analysis-stat-pill strong{color:#e8fff3}:root.theme-dark .analysis-bar-container{background:#123226}:root.theme-dark .lb-table-head,:root.theme-dark .lb-row,:root.theme-dark .progress-bar-track,:root.theme-dark .learning-weak-row,:root.theme-dark .mini-progress,:root.theme-dark .learning-progress-bar,:root.theme-dark .hiw-bar{background:#051710;border-color:#123226}:root.theme-dark .learning-skeleton,:root.theme-dark .cm-skeleton{background:linear-gradient(90deg,#051710 0%,#0c221a 50%,#051710 100%)}:root.theme-dark .learning-nav-link{color:#b8d7c6}:root.theme-dark .learning-nav-link:hover{color:#f3fff8}:root.theme-dark .learning-nav-link--primary{color:#7ae8a8}:root.theme-dark .learning-nav-link--primary:hover{color:#d7ffea}:root.theme-dark .learning-overall-title,:root.theme-dark .learning-section-title,:root.theme-dark .learning-hero-stat-value{color:#f3fff8}:root.theme-dark .learning-hero-stat-label{color:#8fb9a4}:root.theme-dark .learning-footnote{color:#c1decf}:root.theme-dark .home-footer,:root.theme-dark .home-footer-fullbleed{background:#071a14;border-top-color:#123226}:root.theme-dark .foot-col h4{color:#8fb9a4}:root.theme-dark .home-footer .foot-col li{color:#c1decf}:root.theme-dark .foot-bottom{color:#8fb9a4;border-top-color:#123226}:root.theme-dark .foot-brand,:root.theme-dark .learning-analysis-link,:root.theme-dark .learning-weak-quiz-link{color:#7ae8a8}:root.theme-dark .learning-analysis-link:hover,:root.theme-dark .learning-weak-quiz-link:hover{color:#d7ffea}:root.theme-dark .learning-module-card:hover{background:#0b241b}:root.theme-dark .learning-day-card{background:#071a14;border-color:#123226}:root.theme-dark .learning-day-card:hover{background:#0b241b}:root.theme-dark .learning-day-card--current{border-color:#1f5a40;box-shadow:0 4px 18px #37d67a1f}:root.theme-dark .learning-day-title,:root.theme-dark .learning-day-score-num,:root.theme-dark .learning-day-avg-value{color:#f3fff8}:root.theme-dark .learning-day-score-cell{background:#051810;border-color:#123226}:root.theme-dark .learning-day-quiz-meta{color:#c1decf}:root.theme-dark .learning-micro-note{color:#b8d7c6}:root.theme-dark .module-name{color:#f3fff8}:root.theme-dark .module-meta{color:#b8d7c6}:root.theme-dark .learning-weak-topic-title{color:#f3fff8}:root.theme-dark .learning-weak-module,:root.theme-dark .learning-weak-accuracy,:root.theme-dark .mini-progress-label{color:#b8d7c6}:root.theme-dark .lb-row:hover,:root.theme-dark .dashboard-panel-clean:hover:not(.dashboard-stat-card){background:#0b241b}:root.theme-dark .dashboard-stat-card .value,:root.theme-dark .dashboard-stat-card:hover .value{color:#e2e8f0}:root.theme-dark .dashboard-stat-card h3,:root.theme-dark .dashboard-stat-card:hover h3{color:#94a3b8}:root.theme-dark .dashboard-stat-card .value.live{color:#34d399}:root.theme-dark .content-text,:root.theme-dark .module-desc,:root.theme-dark .stepflow-subtitle,:root.theme-dark .feedback-text,:root.theme-dark .subjective-question-p,:root.theme-dark .subjective-feedback__text,:root.theme-dark .subjective-start-lead,:root.theme-dark .analysis-hero p,:root.theme-dark .section-header p,:root.theme-dark .quiz-module-header p,:root.theme-dark .profile-readonly,:root.theme-dark .progress-milestone,:root.theme-dark .stepflow-context-hint{color:#c1decf}:root.theme-dark .auth-card input,:root.theme-dark .form-control,:root.theme-dark .profile-input{color:#f3fff8;background-color:#051710;border-color:#1f4d3a}:root.theme-dark .stepflow-week-select{color:#f3fff8;background-color:#051710;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2386efac' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4.5 L6 7.5 L9 4.5'/></svg>");border-color:#1f4d3a}:root.theme-dark .stepflow-week-select:hover{border-color:#2d6b50}:root.theme-dark .stepflow-week-select:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e38}:root.theme-dark .stepflow-week-select option{color:#f3fff8;background:#051710}:root.theme-dark .oauth-divider{color:#6f9a86}:root.theme-dark .oauth-divider:before{background:linear-gradient(90deg,#0000 0%,#4ec35d59 50%,#0000 100%)}:root.theme-dark .oauth-divider:after{background:linear-gradient(270deg,#0000 0%,#4ec35d59 50%,#0000 100%)}:root.theme-dark .stepflow-schedule-row{background:#071a14;border-color:#123226}:root.theme-dark .stepflow-schedule-label,:root.theme-dark .stepflow-schedule-hint{color:#b8d7c6}:root.theme-dark .stepflow-schedule-input{color:#f3fff8;background:#051710;border-color:#123226}:root.theme-dark .stepflow-deadline-banner{background:#051710;border-color:#123226}:root.theme-dark .stepflow-deadline-text{color:#e7fff2}:root.theme-dark .stepflow-deadline-label{color:#8fb9a4}:root.theme-dark .stepflow-context-deadline{color:#fbbf24}:root.theme-dark .idx-deadline--upcoming{color:#b8d7c6}:root.theme-dark .idx-deadline--due_today{color:#fde68a}:root.theme-dark .idx-deadline--overdue{color:#fca5a5}:root.theme-dark .idx-deadline--complete{color:#86efac}:root.theme-dark .idx-deadline--ahead{color:#6ee7b7}:root.theme-dark .content-details-toggle{color:#d7ffea;box-shadow:none;background:#0c221a;border-color:#1f4d3a}:root.theme-dark .content-details-toggle:hover{background:#123226;border-color:#2d6b4f}:root.theme-dark .content-details-toggle[aria-pressed=true]{color:#7ae8a8;background:#0a2419;border-color:#2d6b4f}:root.theme-dark .progress-head--compact span{color:#9cb8a8}:root.theme-dark .progress-head--compact strong{color:#e8fff3}:root.theme-dark .stepflow-progress-compact-location{color:#d7ffea}:root.theme-dark .stepflow-progress-compact-step{color:#7ae8a8;background:#0a2419;border-color:#1f4d3a}:root.theme-dark .stepflow-progress-compact-pace--ahead{color:#6ee7b7;background:#0a2419;border-color:#1f4d3a}:root.theme-dark .flow-tab-check{color:#4ade80}:root.theme-dark .stepflow-current-module{background:#071a14;border-color:#1f4d3a;box-shadow:0 6px 20px #0000004d}:root.theme-dark .stepflow-context-block{background:#0a2419;border-right-color:#1f4d3a}:root.theme-dark .stepflow-context-block--now{background:#0d2c1f}:root.theme-dark .stepflow-context-block--now:before{background:#34d399}:root.theme-dark .stepflow-context-label{color:#8fb9a4}:root.theme-dark .stepflow-context-block--now .stepflow-context-label{color:#6ee7b7}:root.theme-dark .stepflow-context-title{color:#f3fff8}:root.theme-dark .stepflow-context-topic{color:#c1decf}:root.theme-dark .stepflow-context-step-name{color:#86efac}:root.theme-dark .index-item{color:#b8d7c6}:root.theme-dark .index-item:not(:disabled):hover{background:#0a2419;border-color:#1f4d3a}:root.theme-dark .index-item.active{color:#f3fff8;background:#102f21;border-color:#2d6b50;box-shadow:0 2px 10px #00000047}:root.theme-dark .idx-num{color:#8fb9a4}:root.theme-dark .index-item.active .idx-num{color:#6ee7b7}:root.theme-dark .flow-tab{color:#9cb8a8}:root.theme-dark .flow-tab:not(:disabled):hover{color:#e8fff3;background:#0c221af2}:root.theme-dark .flow-tab.active{color:#d7ffea;background:#0f2b20;box-shadow:0 2px 10px #00000047,0 0 0 1px #34d39959}:root.theme-dark .flow-tab.active:after{background:#34d399}:root.theme-dark .flow-tab.viewing:not(.active){color:#e8fff3;background:#0c221a;box-shadow:0 0 0 2px #2d6b50}:root.theme-dark .flow-tab.active .flow-tab-check{color:#86efac}:root.theme-dark .flow-tab-lock{color:#6b8f7a}:root.theme-dark .flow-tab.flow-tab-locked:not(:disabled) .flow-tab-lock{color:#fbbf24}:root.theme-dark .flow-tab.flow-tab-locked:not(:disabled):hover{color:#fecaca;background:#7f1d1d47}:root.theme-dark .stepflow-deadline-banner--ahead{background:#0a2419;border-color:#1f4d3a}:root.theme-dark .stepflow-pace-ahead{color:#6ee7b7;background:#0a2419;border-color:#1f4d3a;box-shadow:0 1px 2px #00000047,inset 0 0 0 1px #1f4d3a80}:root.theme-dark .stepflow-deadline-reset-panel{border-top-color:#1f4d3a}:root.theme-dark .stepflow-deadline-reset-text{color:#fde68a}:root.theme-dark .stepflow-deadline-reset-btn.ghost{color:#7ae8a8;background:#071a14;border-color:#1f5a40}:root.theme-dark .stepflow-deadline-reset-btn.ghost:hover{background:#0b241b}:root.theme-dark .btn-secondary,:root.theme-dark .ide-ghost-btn,:root.theme-dark .title-btn{color:#f2fff8;background:#071a14;border-color:#123226}:root.theme-dark .quiz-questions-stack .btn-group .btn-primary{color:#042012;background:linear-gradient(#34d37a 0%,#25bb67 100%);border-color:#2ec06e}:root.theme-dark .quiz-questions-stack .btn-group .btn-primary:hover:not(:disabled){background:linear-gradient(#3bdd83 0%,#2ac26e 100%);border-color:#3bdd83}:root.theme-dark .quiz-questions-stack .btn-group .btn-secondary{color:#e9fff2;background:#0a2118;border-color:#1a4b36}:root.theme-dark .quiz-questions-stack .btn-group .btn-secondary:hover:not(:disabled){background:#0f2b20;border-color:#256846}:root.theme-dark .quiz-questions-stack .btn-group .btn-discard-progress{color:#fecdd3;background:#241016;border-color:#5b2633}:root.theme-dark .quiz-questions-stack .btn-group .btn-discard-progress:hover:not(:disabled){background:#2f131c;border-color:#7a3344}:root.theme-dark .btn-primary,:root.theme-dark .btn-submit,:root.theme-dark .stepflow-cta,:root.theme-dark .dashboard-action-btn.primary{color:#032114;background:#37d67a;border-color:#37d67a}:root.theme-dark .stepflow-cta.ghost{color:#dffbea;background:#0a281c;border-color:#1f6d4a}:root.theme-dark .home-cta,:root.theme-dark .hiw-cta{background:linear-gradient(115deg,#03110d 0%,#072018 55%,#03110d 100%)}:root.theme-dark .lb-hero h1,:root.theme-dark .lb-hero p,:root.theme-dark .lb-hero-badge,:root.theme-dark .lb-table-head,:root.theme-dark .lb-username,:root.theme-dark .lb-streak-num,:root.theme-dark .lb-acc-cell{color:#ebfff5}:root.theme-dark .lb-hero-badge,:root.theme-dark .lb-filter-btn{background:#081d16;border-color:#1b4d38}:root.theme-dark .lb-filter-btn{color:#d0eddd}:root.theme-dark .lb-filter-btn.active{color:#d7ffea;background:#37d67a2e;border-color:#37d67a}:root.theme-dark .lb-pod{background:#081d16;border-color:#1b4d38}:root.theme-dark .lb-pod.lb-first{border-color:#37d67a;box-shadow:0 0 0 1px #37d67a38,0 8px 24px #020e0a73}:root.theme-dark .lb-table-card{background:#071a14;border-color:#1b4d38;box-shadow:0 10px 30px #020e0a6b}:root.theme-dark .lb-row{border-bottom-color:#113427}:root.theme-dark .lb-row.lb-row-me{background:#37d67a1f;border-left-color:#37d67a}:root.theme-dark h1,:root.theme-dark h2,:root.theme-dark h3,:root.theme-dark h4,:root.theme-dark h5,:root.theme-dark h6,:root.theme-dark .value,:root.theme-dark .question-text,:root.theme-dark .stepflow-context-step-name,:root.theme-dark .analysis-module-title{color:#f3fff8!important}:root.theme-dark .dashboard-panel-clean h3,:root.theme-dark .meta-label,:root.theme-dark .section-header p,:root.theme-dark .question-number,:root.theme-dark .profile-label,:root.theme-dark .lb-th-right,:root.theme-dark .lb-rank-num{color:#b8d7c6!important}:root.theme-dark .quiz-inline-code{color:#d7ffea;background:#0f2a20;border-color:#1f5a40}:root.theme-dark .result-card.is-correct .quiz-inline-code,:root.theme-dark .result-card.is-wrong .result-answer-block--correct .quiz-inline-code{color:#d9ffea;background:#123826;border-color:#37d67a}:root.theme-dark .result-card.is-wrong .result-answer-block--yours .quiz-inline-code{color:#fecaca;background:#2a1215;border-color:#7f1d1d}:root.theme-dark .result-answer-block{background:#ffffff0a;border-color:#ffffff14}:root.theme-dark .result-card.is-correct .result-answer-block,:root.theme-dark .result-card.is-wrong .result-answer-block--correct{background:#37d67a1a;border-color:#37d67a38}:root.theme-dark .result-card.is-wrong .result-answer-block--yours{background:#f871711a;border-color:#f8717138}:root.theme-dark .result-answer-value{color:#e8fff2}:root.theme-dark .answer-label{color:#9bc4b0}:root.theme-dark .result-status.correct{color:#86efac;background:#37d67a2e}:root.theme-dark .result-status.wrong{color:#fecaca;background:#f871712e}:root.theme-dark .alert-error{color:#fecaca;background:#dc26262e;border-color:#f8717159}:root.theme-dark .alert-success{color:#d9ffe9;background:#22c55e2e;border-color:#4ade8059}:root.theme-dark .dashboard-hero-card{background:linear-gradient(130deg,#082018 0%,#071a14 55%,#082018 100%);border-color:#1b4d38}:root.theme-dark .dashboard-hero-main h2,:root.theme-dark .dashboard-hero-pill strong{color:#f3fff8}:root.theme-dark .dashboard-hero-main p,:root.theme-dark .dashboard-actions-subtitle,:root.theme-dark .dashboard-level-meta,:root.theme-dark .dashboard-hero-pill span{color:#b8d7c6}:root.theme-dark .landing-hero-left p{color:#d7eadf}:root.theme-dark .portal-title{color:#ecfff5}:root.theme-dark .portal-status{color:#b8d7c6}:root.theme-dark .meta-value{color:#f3fff8}:root.theme-dark .portal-week-range,:root.theme-dark .portal-goal-label{color:#9cb8a8}:root.theme-dark .hiw-step-num{color:#86efac;background:#0a2419;border-color:#2d6b50;box-shadow:0 0 0 4px #2d6b5040}:root.theme-dark .hiw-step-tag{color:#6ee7b7}:root.theme-dark .hiw-step-title{color:#ecfff5}:root.theme-dark .hiw-step-desc{color:#c1decf}:root.theme-dark .hiw-step-card{background:#0a2118;border-color:#1f4d3a;box-shadow:0 6px 20px #00000052}:root.theme-dark .hiw-v{background:#1f4d3a}:root.theme-dark .hiw-mini-lbl{color:#9cb8a8}:root.theme-dark .hiw-tags{gap:.5rem}:root.theme-dark .hiw-tag{color:#b8ebcf;background:#0f2b20;border-color:#2d6b50}:root.theme-dark .dashboard-level-track{background:#0b241b;border-color:#1b4d38}:root.theme-dark .dashboard-hero-pill{background:#071a14;border-color:#1b4d38}:root.theme-dark .dashboard-assignment-resume-card{background:linear-gradient(125deg,#071a14 0%,#082218 50%,#071a14 100%);border-color:#1b4d38}:root.theme-dark .dashboard-assignment-resume-kicker{color:#86efac}:root.theme-dark .dashboard-assignment-resume-title{color:#f3fff8}:root.theme-dark .dashboard-assignment-resume-meta,:root.theme-dark .dashboard-assignment-resume-sub{color:#b8d7c6}:root.theme-dark .dashboard-assignment-resume-code{color:#e2e8f0;background:#ffffff14}:root.theme-dark .dashboard-assignment-resume-timer{background:#071a14;border-color:#1b4d38}:root.theme-dark .dashboard-assignment-resume-timer-label{color:#94a3b8}:root.theme-dark .dashboard-assignment-resume-timer-value{color:#86efac}:root.theme-dark .dashboard-assignment-resume-timer--warn .dashboard-assignment-resume-timer-value{color:#fcd34d}:root.theme-dark .dashboard-assignment-resume-timer--expired .dashboard-assignment-resume-timer-value{color:#fca5a5}:root.theme-dark .dashboard-assignment-resume-timer--done{background:#071a14;border-color:#166534}:root.theme-dark .dashboard-assignment-resume-timer--done .dashboard-assignment-resume-timer-value{color:#86efac}:root.theme-dark .dashboard-quiz-resume-card{background:linear-gradient(125deg,#0a1628 0%,#0f172a 50%,#0a1628 100%);border-color:#1e3a5f;box-shadow:0 8px 26px #0f172a80}:root.theme-dark .dashboard-quiz-resume-kicker{color:#93c5fd}:root.theme-dark .dashboard-guided-weekly-detail{color:#b8d7c6}:root.theme-dark .dashboard-value-complete{color:#86efac!important}.difficulty-badge-wrap{vertical-align:middle;align-items:center;gap:.38rem;display:inline-flex}.difficulty-info-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.difficulty-badge-wrap--compact .difficulty-info-btn{width:1.42rem;height:1.42rem}.difficulty-info-i{font-family:Georgia,Times New Roman,serif;font-size:.74rem;font-style:italic;font-weight:600;transform:translateY(-.5px)}.difficulty-info-btn:hover{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd}.difficulty-badge{letter-spacing:.02em;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:.45rem;padding:.38rem .9rem;font-size:.88rem;font-weight:700;line-height:1.15;display:inline-flex;box-shadow:0 1px 3px #0f172a14}.difficulty-badge__icon{justify-content:center;align-items:center;width:1em;font-size:.95em;line-height:1;display:inline-flex}.difficulty-badge__value{font-weight:700}.difficulty-badge--compact{border-width:1.5px;padding:.34rem .82rem;font-size:.86rem;box-shadow:0 1px 2px #0f172a0f}.difficulty-badge--compact .difficulty-badge__icon{font-size:1em}.difficulty-badge--easy{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.difficulty-badge--medium{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.difficulty-badge--hard{color:#b91c1c;background:#fef2f2;border-color:#fecaca}:root.theme-dark .difficulty-badge--easy{color:#6ee7b7;background:#10b98126;border-color:#10b98159}:root.theme-dark .difficulty-badge--medium{color:#93c5fd;background:#3b82f626;border-color:#3b82f659}:root.theme-dark .difficulty-badge--hard{color:#fca5a5;background:#ef444426;border-color:#ef444459}:root.theme-dark .difficulty-info-btn{color:#93c5fd;background:#3b82f62e;border-color:#3b82f666}:root.theme-dark .difficulty-info-btn:hover{color:#dbeafe;background:#3b82f647;border-color:#93c5fd8c}.difficulty-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.difficulty-card--easy{background:linear-gradient(#ecfdf5 0%,#fff 80%);border-color:#a7f3d0}.difficulty-card--medium{background:linear-gradient(#eff6ff 0%,#fff 80%);border-color:#bfdbfe}.difficulty-card--hard{background:linear-gradient(#fef2f2 0%,#fff 80%);border-color:#fecaca}.difficulty-card__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.difficulty-card__title{letter-spacing:.06em;text-transform:uppercase;color:#475569;font-size:.75rem;font-weight:700}.difficulty-card__body{color:#334155;margin:0;font-size:.85rem;line-height:1.4}:root.theme-dark .difficulty-card{background:#0f172a;border-color:#1f2937}:root.theme-dark .difficulty-card--easy{background:linear-gradient(#10b9811f 0%,#0f172a 80%);border-color:#10b98159}:root.theme-dark .difficulty-card--medium{background:linear-gradient(#3b82f61f 0%,#0f172a 80%);border-color:#3b82f659}:root.theme-dark .difficulty-card--hard{background:linear-gradient(#ef44441f 0%,#0f172a 80%);border-color:#ef444459}:root.theme-dark .difficulty-card__title{color:#94a3b8}:root.theme-dark .difficulty-card__body{color:#cbd5e1}.dashboard-difficulty-row{max-width:1200px;margin:0 auto 1.5rem;padding:0 1.5rem}@media (max-width:720px){.dashboard-difficulty-row{padding:0 1rem}}
