/* BacLab visual system — shared across the learning space. */
body.theme-dashboard,body.theme-login,body.theme-privacy,body.theme-guide,body.theme-countdown{
  --brand-navy:#0b1b3a;--brand-ink:#10294f;--brand-blue:#1d62d7;--brand-mint:#aff0ca;
  --brand-bg:#f2f6fb;--brand-border:#dfe8f3;--brand-muted:#5c7393;
}
body.theme-dashboard{--blue:#1d62d7;--dark:#10294f;--line:#e0e8f2;--pist:#b5edc8;background:#f2f6fb;color:var(--brand-ink)}
.theme-dashboard .sidebar{width:250px;padding:31px 17px 20px;background:linear-gradient(175deg,#0b1b38 0%,#112d59 100%);border:0;box-shadow:8px 0 30px #1834560a}
.theme-dashboard .sidebar .brand{color:#fff;padding:0 8px;font-size:22px;letter-spacing:-.9px}
.theme-dashboard .sidebar .brand em{color:#aeeaca}
.theme-dashboard .sidebar .logo{background:#2d69dc;border:1px solid #ffffff25;box-shadow:0 8px 18px #06143238}
.theme-dashboard .tag{margin:40px 12px 14px;color:#97acce;font-size:9px;letter-spacing:.16em}
.theme-dashboard .nav{gap:5px}
.theme-dashboard .nav button,.theme-dashboard .nav a.nav-countdown{min-height:46px;padding:11px 13px;border-radius:11px;color:#c5d4eb;font-size:13px;transition:background .18s,color .18s}
.theme-dashboard .nav button span,.theme-dashboard .nav a.nav-countdown .navicon{width:30px;color:#91a9cd}
.theme-dashboard .nav button:hover,.theme-dashboard .nav a.nav-countdown:hover{background:#ffffff11;color:white}
.theme-dashboard .nav button.active{background:#b8ebcd;color:#0c382d;box-shadow:0 7px 20px #03132926}
.theme-dashboard .nav button.active span{color:#135943}
.theme-dashboard .nav a.nav-countdown .nav-new{background:#ffffff13;color:#c5f5d7;font-size:8px}
.theme-dashboard .sidebar-bottom{padding:15px 13px;background:#ffffff0c;border:1px solid #ffffff14;border-radius:14px;color:#bfd1e8;line-height:1.65}
.theme-dashboard .sidebar-bottom b{color:#c6f1d6}
.theme-dashboard .main{width:calc(100% - 250px);margin-left:250px;padding:29px clamp(30px,4.2vw,72px) 65px}
.theme-dashboard .topbar{margin-bottom:30px}
.theme-dashboard .crumb{color:#8192aa;font-size:11px;letter-spacing:.035em}
.theme-dashboard .crumb strong{color:#435d82}
.theme-dashboard .account-entry{color:#3b567d}
.theme-dashboard .avatar{width:40px;height:40px;border:1px solid #dae8fb;border-radius:13px;background:#e6f0ff;color:#1d62d7}
.theme-dashboard .mobile-head{color:#10294f}
.theme-dashboard .mobile-head em{color:#1d62d7}
.theme-dashboard .pill{background:#e7f0ff;color:#245ac1;font-size:10px;letter-spacing:.08em}
.theme-dashboard .hero{min-height:260px;padding:42px 46px;border-radius:22px;background:radial-gradient(circle at 83% 15%,#335aab90 0,transparent 34%),linear-gradient(112deg,#0a1934 0%,#15386e 75%,#15396a 100%);box-shadow:0 18px 40px #0b2d6120}
.theme-dashboard .hero:after{width:270px;height:270px;right:-50px;top:-150px;border:1px solid #a7d0ff28;box-shadow:0 0 0 45px #ffffff07,0 0 0 90px #ffffff05}
.theme-dashboard .hero-copy{max-width:620px}
.theme-dashboard .hero .pill{background:#ffffff16;border:1px solid #ffffff22;color:#c8e0ff;padding:8px 11px}
.theme-dashboard .hero h1{margin:20px 0 12px;color:#fff;font-size:clamp(30px,3.2vw,44px);line-height:1.14;letter-spacing:-.045em}
.theme-dashboard .hero h1 span{color:#b3edce}
.theme-dashboard .hero p{max-width:465px;margin-bottom:24px;color:#cad8ed;font-size:14px;line-height:1.7}
.theme-dashboard .hero .btn{background:#b8ebcd;color:#123c32;box-shadow:0 8px 22px #06132a30}
.theme-dashboard .hero .btn:hover{background:#d0f7df}
.theme-dashboard .hero-art{position:relative;width:265px;min-width:215px;align-self:stretch;display:grid;place-items:center}
.theme-dashboard .study-rings{position:absolute;width:205px;height:205px;border:1px solid #b9dbff33;border-radius:50%;box-shadow:0 0 0 25px #ffffff08,0 0 0 50px #ffffff04}
.theme-dashboard .study-sheet{position:relative;width:190px;padding:16px 16px 13px;border:1px solid #ffffffa0;border-radius:17px;background:#f8fbff;transform:rotate(5deg);box-shadow:0 23px 45px #05132e4d}
.theme-dashboard .study-sheet-top{display:flex;align-items:center;gap:6px;color:#6681a4;font-size:8px;letter-spacing:.1em;font-style:normal}
.theme-dashboard .study-sheet-top span{display:grid;place-items:center;width:22px;height:22px;background:#e4efff;border-radius:7px;color:#1d62d7;font-size:13px}
.theme-dashboard .study-sheet-top i{margin-left:auto;font-style:normal;color:#9aaec5}
.theme-dashboard .study-sheet-title{margin:14px 0 4px;color:#183a68;font:800 13px/1.4 Manrope,sans-serif}
.theme-dashboard .study-sheet svg{display:block;width:100%;height:62px}
.theme-dashboard .study-sheet-bottom{display:flex;justify-content:space-between;margin-top:6px;color:#8ba0bb;font-size:7px;font-weight:800;letter-spacing:.07em}
.theme-dashboard .study-spark{position:absolute;top:6%;right:3%;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#b8edce;color:#245d47;font-size:23px;transform:rotate(12deg);box-shadow:0 12px 20px #03142b22}
.theme-dashboard .study-badge{position:absolute;bottom:9%;left:-3%;padding:10px 12px;border:1px solid #ffffff31;border-radius:10px;background:#244b82e8;color:#c9ddf8;font-size:8px;font-weight:700;letter-spacing:.07em;box-shadow:0 10px 22px #06132922}
.theme-dashboard .study-badge b{display:block;margin-top:3px;color:#fff;font-size:10px}
.theme-dashboard .btn{border-radius:10px;background:#1d62d7;box-shadow:0 5px 12px #1b5bc319}
.theme-dashboard .btn:hover{background:#1552b8}
.theme-dashboard .btn.secondary{background:#e9f1ff;color:#1d5cbe;box-shadow:none}
.theme-dashboard .btn.ghost{background:#fff;color:#4b6689;border-color:#d9e4f2;box-shadow:none}
.theme-dashboard .national-teaser{margin-top:16px;background:#fff;border:1px solid #dfe9f5;box-shadow:0 7px 20px #17457b08;color:#10294f}
.theme-dashboard .national-teaser:hover{background:#f9fbff;border-color:#b7cdf0}
.theme-dashboard .national-teaser-icon{background:#eaf2ff;border:1px solid #dce8fa;color:#1d62d7}
.theme-dashboard .national-teaser-kicker{color:#4b80cf}
.theme-dashboard .national-teaser-copy strong{color:#18365f}
.theme-dashboard .national-teaser-copy small{color:#6b82a0}
.theme-dashboard .national-teaser-cta{color:#1d62d7}
.theme-dashboard .national-teaser-cta span{color:#2d8b64}
.theme-dashboard .stat,.theme-dashboard .card,.theme-dashboard .panel,.theme-dashboard .guide-directory,.theme-dashboard .lesson,.theme-dashboard .resource-group{background:#fff;border:1px solid #e1eaf4;border-radius:16px;box-shadow:0 6px 18px #163f6d08}
.theme-dashboard .stat{padding:18px}
.theme-dashboard .stat .ico{background:#eaf2ff;color:#1d62d7}
.theme-dashboard .stat strong{color:#112d55}
.theme-dashboard .stat small,.theme-dashboard .card-foot{color:#6f85a3}
.theme-dashboard .section-title{margin-top:36px}
.theme-dashboard .section-title h2{color:#112d55;font-size:20px}
.theme-dashboard .section-title p{color:#6d83a0}
.theme-dashboard .card{padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s}
.theme-dashboard .card:hover{border-color:#b9cff0;box-shadow:0 14px 28px #163f6d10;transform:translateY(-3px)}
.theme-dashboard .card h3{color:#183761}
.theme-dashboard .card p{color:#6c819e;line-height:1.6}
.theme-dashboard .progress-line{height:6px;background:#edf3f8}
.theme-dashboard .progress-line span{background:linear-gradient(90deg,#69c893,#a7e4ba)}
.theme-dashboard .text-link{color:#1d62d7}
.theme-dashboard .guide-directory{padding:23px 25px}
.theme-dashboard .guide-links a{border-color:#dce8f6;background:#f7faff;color:#255ba9}
.theme-dashboard .guide-links a:hover{background:#edf5ff}
.theme-dashboard .banner{background:linear-gradient(110deg,#173665,#22549a)}
.theme-dashboard .banner .btn{background:#b8ebcd;color:#143a2b}
.theme-dashboard .page-head h1{color:#112d55;letter-spacing:-.04em}
.theme-dashboard .page-head p,.theme-dashboard .note{color:#637b9a}
.theme-dashboard .tab{border-color:#dce6f2;color:#526c8e}
.theme-dashboard .tab.active{background:#153a70;border-color:#153a70;color:#fff}
.theme-dashboard .guide-promo{background:#edf5ff;border-color:#d6e7fb}
.theme-dashboard .field select,.theme-dashboard .field input,.theme-dashboard .field textarea{border-color:#d7e4f3;background:#fff;color:#25466d}
.theme-dashboard .timer{background:#eff5ff}
.theme-dashboard .site-footer{color:#738aa8}
.theme-dashboard .site-footer a{color:#506d95}

/* The account, guides, countdown and privacy screens use the same palette. */
body.theme-login{--blue:#1d62d7;--ink:#10294f;--line:#dfe8f3;background:#f2f6fb}
.theme-login .page-shell{max-width:1380px}
.theme-login .brand-icon,.theme-privacy .brand-mark,.theme-guide .brand span,.theme-countdown .brand-mark{background:#1d62d7}
.theme-login .brand-accent,.theme-privacy .brand strong,.theme-guide .brand strong,.theme-countdown .brand-blue{color:#1d62d7}
.theme-login .intro{overflow:hidden;isolation:isolate;padding:42px;border:1px solid #17345f;border-radius:25px;background:radial-gradient(circle at 85% 8%,#3865b57a,transparent 38%),linear-gradient(145deg,#0b1b3a,#173b70);box-shadow:0 20px 45px #173b6d16}
.theme-login .intro:before{content:"";position:absolute;z-index:-1;width:220px;height:220px;right:-100px;top:-100px;border:1px solid #d7eaff33;border-radius:50%;box-shadow:0 0 0 40px #ffffff08,0 0 0 80px #ffffff05}
.theme-login .eyebrow{color:#c8e0ff}
.theme-login .eyebrow span{background:#ffffff1c;color:#b8edce}
.theme-login .intro h1{color:#fff}
.theme-login .intro h1 span{color:#b9edcf}
.theme-login .intro>p{color:#d0dff2}
.theme-login .intro-card{background:#ffffff12;border-color:#ffffff1f;color:#ccddf1}
.theme-login .intro-card strong{color:#d6f9df}
.theme-login .intro-card-icon{background:#b8ebcd;color:#20533d}
.theme-login .decoration{display:none}
.theme-login .card{border-color:#dfe8f3;box-shadow:0 18px 50px #173e700b}
.theme-login .primary-button{background:#1d62d7}
.theme-login .primary-button:hover{background:#1552b8}
.theme-login .tabs{background:#edf3fb}
.theme-login .tabs button[aria-selected=true]{color:#1d62d7}
body.theme-privacy{background:#f2f6fb;color:#10294f}
.theme-privacy header{padding-bottom:23px;border-bottom:1px solid #dfe8f3}
.theme-privacy main{margin-top:55px}
.theme-privacy .eyebrow{background:#e3efff;color:#215dc3}
.theme-privacy h1{color:#10294f}
.theme-privacy .policy{border-color:#dfe8f3;box-shadow:0 18px 45px #173e7009}
.theme-privacy .notice{background:#eaf8ef;border-color:#d6ecde;color:#28543c}
body.theme-guide{--ink:#10294f;--blue:#1d62d7;--line:#dfe8f3;--bg:#f2f6fb;background:#f2f6fb}
.theme-guide .site-header{border-color:#dce6f3;background:#fff}
.theme-guide .hero{background:linear-gradient(115deg,#e5efff,#f8fbff 65%,#eaf8ef);border-color:#dce9f7}
.theme-guide .pill{color:#1d62d7}
.theme-guide .subject-nav a[aria-current=page]{background:#153a70;border-color:#153a70;color:#fff}
.theme-guide .lesson,.theme-guide .sources{box-shadow:0 8px 25px #173e7009;border-color:#dfe8f3}
.theme-guide .practice{background:#eef9f2;border-color:#d9efdf}
.theme-guide .closing{background:#e8f1ff}
body.theme-countdown{--ink:#10294f;--blue:#1d62d7;--line:#dfe8f3;--surface:#f2f6fb;background:#f2f6fb}
.theme-countdown .hero{box-shadow:0 22px 48px #0b2d6120}
.theme-countdown .action-card{border-color:#dfe8f3}
.theme-countdown .action-card:hover{border-color:#acc8ef}

@media(max-width:900px) and (min-width:681px){
 .theme-dashboard .sidebar{width:220px}
 .theme-dashboard .main{width:calc(100% - 220px);margin-left:220px;padding-left:28px;padding-right:28px}
 .theme-dashboard .hero-art{width:210px;min-width:180px}
 .theme-dashboard .study-sheet{width:170px}
}
@media(max-width:680px){
 .theme-dashboard .main{width:100%;margin:0;padding:20px 16px 104px}
 .theme-dashboard .topbar{margin-bottom:23px}
 .theme-dashboard .mobile-head{font-size:20px}
 .theme-dashboard .hero{min-height:0;padding:28px 23px;border-radius:19px}
 .theme-dashboard .hero:after{width:180px;height:180px;right:-95px;top:-105px}
 .theme-dashboard .hero h1{font-size:clamp(28px,7vw,37px);margin:17px 0 11px}
 .theme-dashboard .hero p{font-size:13px}
 .theme-dashboard .hero-art{display:none}
 .theme-dashboard .national-teaser{padding:15px}
 .theme-dashboard .stat{padding:12px 9px}
 .theme-dashboard .card{padding:16px}
 .theme-dashboard .card:hover{transform:none}
 .theme-dashboard .guide-directory{padding:18px}
 .theme-dashboard .section-title{margin-top:29px}
 .theme-dashboard .bottom-nav{background:#fff;border-color:#dfe8f3;box-shadow:0 -8px 30px #193c6d0a}
 .theme-dashboard .bottom-nav button{color:#788ea9}
 .theme-dashboard .bottom-nav button.active{color:#1d62d7}
 .theme-privacy main{margin-top:40px}
}
@media(max-width:820px){
 .theme-login .login-layout{gap:16px;padding-top:28px}
 .theme-login .intro{padding:27px 25px;border-radius:20px}
 .theme-login .intro h1{font-size:clamp(30px,7vw,40px);margin:14px 0 10px}
 .theme-login .intro>p{margin-bottom:0;font-size:14px}
}
@media(max-width:380px){.theme-dashboard .hero{padding:25px 19px}.theme-dashboard .main{padding-left:13px;padding-right:13px}.theme-login .intro{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){.theme-dashboard .card,.theme-dashboard .nav button,.theme-dashboard .nav a.nav-countdown{transition:none}}

/* Readable copy and a clear hierarchy for every BacLab screen. */
body.theme-dashboard,body.theme-login,body.theme-privacy,body.theme-guide,body.theme-countdown{
  font-family:"Inter","Segoe UI",Arial,sans-serif;
  font-feature-settings:"kern";
}
.theme-dashboard h1,.theme-dashboard h2,.theme-dashboard h3,
.theme-login h1,.theme-login h2,.theme-login h3,
.theme-privacy h1,.theme-privacy h2,.theme-privacy h3,
.theme-guide h1,.theme-guide h2,.theme-guide h3,
.theme-countdown h1,.theme-countdown h2,.theme-countdown h3{
  font-family:"Manrope","Inter","Segoe UI",Arial,sans-serif;
  font-weight:800;
}
.theme-dashboard strong,.theme-dashboard b,.theme-login strong,.theme-privacy strong,.theme-guide strong,.theme-countdown strong{font-weight:700}
.theme-dashboard{font-size:15px;line-height:1.55}
.theme-dashboard .nav button,.theme-dashboard .nav a.nav-countdown{font-size:14px;font-weight:700}
.theme-dashboard .sidebar-bottom{font-size:12px;line-height:1.7}
.theme-dashboard .hero h1{font-weight:800}
.theme-dashboard .hero p{font-size:15px;line-height:1.75}
.theme-dashboard .national-teaser-copy strong{font-weight:800}
.theme-dashboard .national-teaser-copy small{font-size:12px}
.theme-dashboard .stat strong{font-weight:800}
.theme-dashboard .stat small{font-size:12px;color:#637a99}
.theme-dashboard .section-title h2,.theme-dashboard .guide-directory h2{font-weight:800}
.theme-dashboard .section-title p,.theme-dashboard .page-head p{font-size:14px;line-height:1.7;color:#617895}
.theme-dashboard .card h3{font-size:15px;font-weight:800}
.theme-dashboard .card p{font-size:13px;line-height:1.65;color:#637994}
.theme-dashboard .card-foot{font-size:12px;color:#637a99}
.theme-dashboard .guide-directory p,.theme-dashboard .guide-promo p{font-size:13px;line-height:1.7;color:#5e7798}
.theme-dashboard .guide-links a,.theme-dashboard .guide-promo a,.theme-dashboard .lesson-guide-link{font-size:13px}
.theme-dashboard .resource-row a{font-size:14px;line-height:1.6}
.theme-dashboard .resource-group summary{font-weight:800}
.theme-dashboard .resource-meta,.theme-dashboard .source-footer,.theme-dashboard .note{font-size:12.5px;line-height:1.7;color:#5d7594}
.theme-dashboard .lesson-info h3{font-size:15px;font-weight:800}
.theme-dashboard .lesson-info p{font-size:13px;line-height:1.65;color:#607896}
.theme-dashboard .field label,.theme-dashboard .tab{font-size:13px}
.theme-dashboard .field select,.theme-dashboard .field input,.theme-dashboard .field textarea{font-size:15px;line-height:1.5}
.theme-dashboard .site-footer{font-size:12.5px;line-height:1.7}
.theme-login{font-size:15px;line-height:1.6}
.theme-login .intro>p{font-size:16px;line-height:1.8}
.theme-login .card-subtitle{font-size:14px;line-height:1.6;color:#657d9a}
.theme-login form label{font-size:13px;color:#375475}
.theme-login form input{font-size:15px}
.theme-login .tabs button,.theme-login .google-button,.theme-login .primary-button{font-size:13.5px}
.theme-login .password-hint,.theme-login .progress-note{font-size:12px;line-height:1.7;color:#647b99}
.theme-privacy .lead{font-size:17px;line-height:1.8}
.theme-privacy .policy h2{font-size:20px;font-weight:800}
.theme-privacy .policy p,.theme-privacy .policy li{font-size:16px;line-height:1.8;color:#405875}
.theme-guide{font-size:16px;line-height:1.75}
.theme-guide .hero p{line-height:1.8}
.theme-guide .lesson h2,.theme-guide .sources h2{font-weight:800}
.theme-guide .lesson h3{font-weight:800}
.theme-guide .lesson p,.theme-guide .lesson li{font-size:16px;line-height:1.8;color:#3c5473}
.theme-guide .toc a,.theme-guide .subject-nav a{font-weight:700}
.theme-guide .sources p,.theme-guide .sources li{font-size:14px;line-height:1.7;color:#5d7594}
.theme-countdown .hero-description{font-size:15px;line-height:1.8}
.theme-countdown .card-title{font-weight:800}
.theme-countdown .card-description{font-size:13px;line-height:1.7;color:#657d9b}
.theme-countdown .source-note p{font-size:12px;line-height:1.8;color:#5e7696}

@media(max-width:680px){
 .theme-dashboard .hero p{font-size:14px;line-height:1.7}
 .theme-dashboard .card h3{font-size:14px}
 .theme-dashboard .card p{font-size:12.5px}
 .theme-dashboard .stat small{font-size:11px}
 .theme-dashboard .bottom-nav button{font-size:10px}
 .theme-dashboard .national-teaser-copy small{font-size:11px}
 .theme-privacy .lead{font-size:15px}
 .theme-privacy .policy p,.theme-privacy .policy li{font-size:15px}
 .theme-guide .lesson p,.theme-guide .lesson li{font-size:15px}
}
/* Keep the countdown link readable on one line in the desktop sidebar. */
.theme-dashboard .nav a.nav-countdown{font-size:13px;white-space:nowrap}
.theme-dashboard .nav a.nav-countdown .navicon{flex:0 0 28px;width:28px}
.theme-dashboard .nav a.nav-countdown .nav-new{flex:none;white-space:nowrap}
@media(max-width:900px) and (min-width:681px){.theme-dashboard .nav a.nav-countdown .nav-new{display:none}}

/* Shared BacLab identity: the cap and book stay crisp at every screen size. */
.logo .brand-logo-img,.brand-icon .brand-logo-img,.brand-mark .brand-logo-img,
.theme-guide .brand span .brand-logo-img,.study-sheet-top .brand-logo-img{
  display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit
}
.theme-countdown .footer-brand .brand-logo-img{display:inline-block;width:21px;height:21px;margin-right:6px;vertical-align:-5px;border-radius:6px}
