@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');


*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0!important;
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:var(--ca-font)!important;
}
button,input,textarea,select{font:inherit}
::selection{background:#d8efea;color:#123c42}
.app-shell{grid-template-columns:var(--ca-sidebar-width) minmax(0,1fr)!important;background:var(--bg)!important}
.sidebar{
  width:var(--ca-sidebar-width)!important;
  padding:22px 14px 15px!important;
  background:#fff!important;
  border-right:1px solid var(--border)!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.brand{gap:10px!important;padding:0 9px 20px!important}
.brand-mark{
  width:34px!important;height:34px!important;border:0!important;border-radius:10px!important;
  background:var(--accent)!important;color:#fff!important;box-shadow:none!important;font-size:17px!important
}
.brand strong{font-size:18px!important;letter-spacing:-.6px;color:var(--text)!important}
.brand span{font-size:9px!important;color:#89959c!important;letter-spacing:.04em!important}
.nav-list{gap:4px!important}
.nav-list>.nav-item,.nav-list>.ca-side-nav,.nav-list>.genchem-nav{display:none!important}
.ca-learning-nav-label{
  display:block;padding:0 11px 8px;color:#89959c;font-size:9px;font-weight:750;letter-spacing:1.1px;text-transform:uppercase
}
.ca-tutor-nav{
  position:relative;display:flex;width:100%;min-height:41px;align-items:center;gap:11px;
  padding:0 11px;border:0;border-radius:7px;background:transparent;color:#657684;
  font-size:13px;font-weight:650;text-align:left;cursor:pointer;transition:.16s ease
}
.ca-tutor-nav:hover{transform:translateX(2px);color:var(--accent);background:#f5f8f5}
.ca-tutor-nav.active{color:var(--accent);background:#eaf4f1}
.ca-tutor-nav.active::before{
  content:"";position:absolute;top:9px;bottom:9px;left:-14px;width:3px;border-radius:0 4px 4px 0;background:var(--accent)
}
.ca-tutor-nav .icon{width:20px;text-align:center;font-size:15px}
.ca-practice-dot{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.ca-course-switcher{
  display:flex;align-items:center;gap:9px;min-height:59px;margin:0 1px 24px;padding:9px 10px;
  border:1px solid #e9ece8;border-radius:9px;background:#fcfdfa
}
.ca-course-switcher-icon{
  display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:var(--accent);background:#e7f4f1;font-size:15px
}
.ca-course-switcher-copy{display:grid;gap:3px;min-width:0}
.ca-course-switcher-copy small{font-size:8px;color:#89959c;font-weight:750;letter-spacing:1px}
.ca-course-switcher-copy strong{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-course-switcher button{margin-left:auto;border:0;background:transparent;color:#85939b;cursor:pointer}
.sidebar-foot{display:none!important}
.ca-sidebar-tutor{
  margin-top:auto;display:flex;align-items:center;gap:9px;padding:12px 10px;border:1px solid #e5ece8;border-radius:9px;
  color:var(--text);background:#f8fbf8;cursor:pointer;text-align:left
}
.ca-sidebar-tutor:hover{border-color:#b7d3ca;background:#f0f7f3}
.ca-sidebar-tutor .spark{
  display:grid;width:29px;height:29px;place-items:center;border-radius:8px;color:var(--accent);background:#e5f1ec
}
.ca-sidebar-tutor strong{display:block;font-size:11px}.ca-sidebar-tutor small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.ca-sidebar-secondary{
  display:flex;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #edf0ed
}
.ca-sidebar-secondary button{
  flex:1;border:0;background:transparent;color:#7b898f;padding:7px 5px;border-radius:6px;font-size:9px;cursor:pointer
}
.ca-sidebar-secondary button:hover{background:#f4f7f4;color:var(--accent)}

.main{max-width:none!important;padding:0 32px 48px!important;background:var(--bg)!important}
.topbar{
  position:sticky!important;top:0;z-index:15;min-height:64px!important;height:64px!important;margin:0 -32px 26px!important;
  padding:0 32px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid var(--border)!important;backdrop-filter:blur(14px)!important
}
.topbar>div:first-of-type .eyebrow{display:none!important}
.topbar h1{font-size:12px!important;font-weight:700!important;color:#4f6574!important;margin:0!important}
.top-actions{gap:10px!important}
.streak{color:var(--gold)!important}
.ca-sync-status{
  background:#fff!important;border:1px solid #e4e9e5!important;color:var(--text)!important;border-radius:8px!important;box-shadow:none!important
}
.ca-top-search{position:relative;margin-left:auto;margin-right:14px;width:min(360px,38vw)}
.ca-top-search label{
  display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid #e2e7e3;border-radius:8px;background:#fff;color:#8a989d
}
.ca-top-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}
.ca-top-search kbd{font-size:8px;color:#8b989d;border:1px solid #e4e8e5;border-radius:4px;padding:2px 5px;background:#fafbf9}
.ca-search-results{
  position:absolute;top:43px;left:0;right:0;z-index:100;padding:6px;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 16px 40px rgba(32,57,59,.14)
}
.ca-search-result{
  display:flex;width:100%;gap:9px;padding:9px 10px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer;color:inherit
}
.ca-search-result:hover{background:#f4f8f5}
.ca-search-result strong{display:block;font-size:10px;color:var(--text)}.ca-search-result small{display:block;font-size:8px;color:var(--muted);margin-top:2px}

.eyebrow{color:var(--accent)!important;font-size:9px!important;letter-spacing:.12em!important;font-weight:800!important}
.primary-button{
  border:0!important;border-radius:7px!important;background:var(--accent)!important;color:#fff!important;font-weight:750!important;padding:10px 14px!important;box-shadow:none!important
}
.secondary-button{
  border:1px solid #dce5e0!important;border-radius:7px!important;background:#fff!important;color:#355163!important;font-weight:700!important;padding:10px 14px!important
}
.text-button{color:var(--accent)!important}
.panel,.hero-card,.progress-card,.course-card,.year-column{
  background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important;color:var(--text)!important
}
.muted{color:var(--muted)!important}

/* Home */
#homeView{max-width:1230px;margin:0 auto}
#homeView>.hero-grid,#homeView>.section-heading.spaced,#homeView>.pathway-strip,#homeView>.dashboard-grid,#caV2Atlas{display:none!important}
.ca-home{color:var(--text)}
.ca-home-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:7px 0 20px}
.ca-home-welcome h2{font-size:25px;letter-spacing:-.8px;margin:0;color:var(--text)}
.ca-home-welcome p{margin:5px 0 0;color:var(--muted);font-size:11px}
.ca-home-course-label{color:#8a989d;font-size:9px;font-weight:750;letter-spacing:.1em}
.ca-continue{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);min-height:280px;overflow:hidden;
  border:1px solid #dde7e2;border-radius:12px;background:#fff
}
.ca-continue-copy{padding:30px 32px}
.ca-continue-kicker{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.12em}
.ca-continue-kicker i{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.ca-continue h3{margin:12px 0 10px;font-size:29px;line-height:1.12;letter-spacing:-1px;color:var(--text)}
.ca-continue-summary{max-width:650px;color:#5f717d;font-size:12px;line-height:1.6}
.ca-lesson-meta{display:flex;gap:9px;align-items:center;color:#87949a;font-size:9px;margin-top:17px}
.ca-lesson-meta i{width:3px;height:3px;border-radius:50%;background:#c4cdca}
.ca-continue-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:22px}
.ca-track{height:5px;border-radius:99px;background:#edf0ec;overflow:hidden}.ca-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.ca-percent{font-size:9px;color:#6d7d84}
.ca-continue-visual{
  display:grid;place-items:center;min-height:280px;border-left:1px solid #edf0ec;
  background:linear-gradient(145deg,#f5faf7,#fbfcfa)
}
.ca-water-svg{width:min(330px,90%);height:auto}
.ca-home-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:20px;margin-top:22px}
.ca-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ca-section-head h3{font-size:14px;margin:0;color:var(--text)}.ca-section-head button{border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:700;cursor:pointer}
.ca-recommendations{display:grid;gap:7px}
.ca-rec{
  display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;
  padding:10px;border:1px solid #e4e9e5;border-radius:8px;background:#fff;text-align:left;cursor:pointer
}
.ca-rec:hover,.ca-rec.selected{border-color:#bed8cf;background:#f4f9f6}
.ca-rec-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:#eaf4f1;color:var(--accent);font-size:12px}
.ca-rec strong{display:block;font-size:10px;color:#355163}.ca-rec small{display:block;margin-top:2px;color:#89969a;font-size:9px}
.ca-rec-status{font-size:8px;color:#9b773d;background:#fbf3e5;padding:4px 7px;border-radius:99px;white-space:nowrap}
.ca-rec-action{margin-top:8px;padding:10px 12px;border-left:2px solid #d4e5df;background:#fafcf9;color:#697b80;font-size:9px}
.ca-rec-action button{border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:750;cursor:pointer;padding:0;margin-left:6px}
.ca-home-side{display:grid;gap:16px}
.ca-mastery,.ca-recent,.ca-ask-strip{padding:16px;border:1px solid var(--border);border-radius:10px;background:#fff}
.ca-mastery-top{display:flex;align-items:baseline;justify-content:space-between}.ca-mastery-top h3,.ca-recent h3{margin:0;font-size:13px}.ca-mastery-top strong{font-size:20px;color:var(--accent)}
.ca-mastery>p{font-size:9px;color:#8b989d;margin:4px 0 12px}
.ca-module-progress{display:grid;grid-template-columns:120px minmax(0,1fr) 28px;gap:8px;align-items:center;margin:8px 0}
.ca-module-progress span{font-size:9px;color:#5f747c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-module-progress .bar{height:4px;background:#edf0ec;border-radius:99px;overflow:hidden}.ca-module-progress .bar i{display:block;height:100%;background:#72a895}
.ca-module-progress b{font-size:8px;color:#7f8f93;text-align:right}
.ca-recent-list{display:grid;gap:8px;margin-top:10px}
.ca-recent-item{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}.ca-recent-item i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#edf6f1;color:#397c62;font-style:normal;font-size:8px}.ca-recent-item strong{display:block;font-size:9px;color:#435d69}.ca-recent-item small{display:block;color:#94a09f;font-size:8px;margin-top:2px}
.ca-ask-strip{display:flex;align-items:center;gap:12px;background:#f3f8f5}.ca-ask-strip .spark{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#e3f1eb;color:var(--accent)}.ca-ask-strip div{min-width:0}.ca-ask-strip strong{display:block;font-size:10px}.ca-ask-strip small{display:block;color:#81918f;font-size:8px;margin-top:2px}.ca-ask-strip button{margin-left:auto;border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:750;cursor:pointer}

/* General Chemistry / Learn */
#genchemView{max-width:1250px;margin:0 auto}
.gc-hero{
  grid-template-columns:minmax(0,1.25fr) 270px!important;gap:16px!important;margin-bottom:16px!important
}
.gc-hero-copy,.gc-progress-card{
  background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important
}
.gc-hero-copy{padding:22px 24px!important}
.gc-hero-copy h2{font-size:26px!important;letter-spacing:-.8px!important;color:var(--text)!important;margin:6px 0 8px!important}
.gc-hero-copy>p:not(.eyebrow){color:#71828a!important;font-size:11px!important;line-height:1.55!important}
.gc-route span{background:#f3f7f4!important;border-color:#e2e9e4!important;color:#526e75!important;border-radius:4px!important;font-size:8px!important}
.gc-route i{color:#b0bbb7!important}
.gc-progress-card{padding:16px!important}.gc-progress-card span,.gc-progress-card small{color:#7c8d93!important}.gc-progress-card strong{color:var(--text)!important}
.gc-mini-track{background:#edf0ec!important}.gc-mini-track span{background:var(--accent)!important}
.gc-semester-tabs{gap:8px!important;margin:12px 0 16px!important}
.gc-semester-tab{
  min-height:65px!important;border:1px solid var(--border)!important;border-radius:8px!important;background:#fff!important;color:#667a83!important
}
.gc-semester-tab.active{border-color:#b8d8cf!important;background:#edf6f2!important;color:var(--accent)!important}
.gc-workspace{grid-template-columns:300px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
.gc-syllabus{
  position:sticky!important;top:82px!important;max-height:calc(100vh - 100px)!important;padding:0!important;overflow:hidden!important;
  background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important
}
.gc-syllabus-head{padding:13px 14px 11px!important;border-bottom:1px solid #edf0ed!important}.gc-syllabus-head h3{font-size:12px!important;color:var(--text)!important}.gc-count{background:#f2f6f3!important;color:#7a898d!important}
.gc-search{margin:10px 10px 5px!important;background:#f8faf8!important;border-color:#e7ebe8!important}.gc-search input{color:var(--text)!important}
.gc-module-nav{padding:3px 7px 8px!important}
.gc-module-link{
  min-height:45px!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;color:#5f737c!important
}
.gc-module-link:hover{background:#f7faf8!important}.gc-module-link.active{border-color:#cbe0d8!important;background:#edf6f2!important}.gc-module-link.complete .gc-module-number{background:#edf6ef!important;color:#347c62!important}
.gc-module-link strong{color:#355163!important;font-size:10px!important}.gc-module-link small{color:#8d999c!important;font-size:8px!important}
.gc-module-number{background:#fff!important;border:1px solid #e3e9e4!important;color:#89969a!important}
.gc-reader{gap:0!important}
.gc-module-header{
  padding:24px 26px!important;margin:0!important;background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important
}
.gc-module-header h2{font-size:30px!important;line-height:1.15!important;letter-spacing:-.9px!important;color:var(--text)!important;margin:8px 0 9px!important}
.gc-module-header>p{font-size:12px!important;line-height:1.55!important;color:#6f8088!important}
.gc-status{background:#f6f8f6!important;border-color:#e3e7e4!important;color:#879397!important}.gc-status.complete{background:#ebf5ee!important;border-color:#d5e7dc!important;color:#397c62!important}
.gc-prereq{background:#fbf7ee!important;border-left-color:var(--gold)!important;color:#6e756f!important}
.gc-objectives{border-top-color:#e6ebe7!important}.gc-objectives li{color:#637880!important;font-size:10px!important}
.ca-learning-sequence{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0 12px
}
.ca-sequence-step{
  display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#536a75;cursor:pointer;text-align:left
}
.ca-sequence-step:hover{border-color:#bdd8cf;background:#f4f9f6}.ca-sequence-step span{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;background:#eaf4f1;color:var(--accent);font-size:10px}.ca-sequence-step strong{display:block;font-size:9px}.ca-sequence-step small{display:block;color:#909c9e;font-size:8px;margin-top:2px}
.gc-reading{
  display:block!important;padding:24px 26px!important;margin:10px 0 0!important;background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important
}
.gc-section-label{display:none!important}.gc-reading h3{font-size:19px!important;color:var(--text)!important;margin:0 0 10px!important}.gc-reading p{font-size:12px!important;line-height:1.7!important;color:#5d717b!important;max-width:80ch!important}
.gc-equations,.gc-example,.gc-check,.gc-connection,.gc-vocab,.gc-scope{
  background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important;margin:10px 0 0!important;color:var(--text)!important
}
.gc-equation-grid>div{background:#f8faf8!important;border-color:#e7ebe8!important}.gc-equation-grid strong{color:#315b63!important}
.gc-example-title{background:#fbf7ee!important;border-bottom-color:#eee5d5!important}.gc-example-title>span{color:#a6762c!important}.gc-example ol li span{background:#edf6f2!important;color:var(--accent)!important}.gc-example p,.gc-example-answer span{color:#718289!important}
.gc-check{background:#fbfdfb!important}.gc-check-choice{background:#fff!important;border-color:#e2e8e4!important;color:#526c76!important;border-radius:7px!important}.gc-check-choice:hover,.gc-check-choice.selected{border-color:#b6d6cb!important;background:#f0f7f3!important;color:var(--text)!important}.gc-check-choice.correct{border-color:#96c9ac!important;background:#edf7f0!important}.gc-check-choice.wrong{border-color:#e2b5b5!important;background:#fff4f4!important}
.gc-feedback{color:#6d7f85!important}
.gc-connection{background:#fbfcfa!important}.gc-connection-icon{background:#eaf4f1!important;color:var(--accent)!important}
.gc-tool-launch{background:#f0f7f3!important;border-color:#bfd9cf!important;color:#285f61!important;border-radius:8px!important}
.gc-vocab>div span{background:#f5f7f5!important;border-color:#e3e8e4!important;color:#6c7c82!important}
.gc-reader-nav button{background:#fff!important;border-color:var(--border)!important;color:#5c727c!important;border-radius:8px!important}
.gc-scope summary{color:#6d7f86!important}.gc-scope>p{color:#73848a!important}.gc-scope a{color:var(--accent)!important;border-color:#d1e4dc!important;background:#f7faf8!important}
.ca-inline-tutor{
  display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:750;cursor:pointer
}

/* Model Lab keeps a scientific dark workspace inside the light shell */
#labView{max-width:1280px;margin:0 auto}
#labView .lesson-header{padding:4px 2px 0}
#labView .lesson-header h2{color:var(--text)!important;font-size:27px!important}
#labView .lesson-header p:not(.eyebrow){color:#71828a!important}
.lab-layout{grid-template-columns:minmax(0,1.55fr) 330px!important;gap:16px!important}
.molecule-panel,.model-info .panel{
  background:#091721!important;border:1px solid #1d3443!important;color:#edf6fb!important;border-radius:10px!important;box-shadow:none!important
}
.model-toolbar{background:#0d1d29!important;border-bottom-color:#203a4a!important}.model-toolbar label{color:#86a0af!important}.model-toolbar select{background:#07141e!important;color:#fff!important;border-color:#284556!important}
.segmented{background:#07141e!important;border-color:#284556!important}.seg{color:#8ca4b2!important}.seg.active{background:#153346!important;color:#fff!important}
.viewer{
  height:540px!important;background:radial-gradient(circle at center,#17364b 0,#07131e 70%)!important
}
.model-info .panel p,.model-info .panel span{color:#8fa8b8}.model-info .panel strong,.model-info .panel h3{color:#edf6fb}.why-card{background:linear-gradient(145deg,rgba(98,230,207,.06),#0c1924)!important}

/* Organic */
#organicView{max-width:1280px;margin:0 auto}
.organic-hero,.organic-bridge{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important}
.organic-hero p:not(.eyebrow),.organic-bridge p{color:#71828a!important}
.organic-tabs{gap:7px!important}.organic-tab{background:#fff!important;border-color:var(--border)!important;color:#74858c!important;border-radius:8px!important}.organic-tab strong{color:#355163!important}.organic-tab.active{border-color:#bdd8cf!important;background:#edf6f2!important}.organic-tab.active strong{color:var(--accent)!important}
.organic-visual,.organic-info .panel{border-radius:9px!important;box-shadow:none!important}
.organic-info .panel{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important}.organic-info p{color:#71828a!important}
.organic-toolbar{background:#0d1d29!important;border-bottom-color:#203a4a!important;color:#edf6fb!important}.organic-stage{background:radial-gradient(circle at 50% 40%,#17364b 0,#07131e 72%)!important}
.organic-button{border-radius:7px!important}.organic-answer{border-radius:7px!important}

/* Practice */
.gc-practice-overlay{background:rgba(23,50,74,.28)!important;backdrop-filter:blur(3px)!important}
.gc-practice-shell{
  background:#fff!important;border:1px solid #dce4df!important;border-radius:12px!important;color:var(--text)!important;box-shadow:0 24px 80px rgba(29,58,63,.18)!important
}
.gc-practice-top{background:#fff!important;border-bottom-color:#e8ece9!important}.gc-practice-top h2,.gc-practice-top strong{color:var(--text)!important}
.gc-practice-close{background:#f5f7f5!important;border-color:#e3e8e4!important;color:#65777d!important}
.gc-tool-tab{background:#fff!important;border-color:#e3e8e4!important;color:#718187!important;border-radius:7px!important}.gc-tool-tab.active{border-color:#bdd8cf!important;background:#edf6f2!important;color:var(--accent)!important}
.gc-tool-stage,.gc-practice-body{background:#fbfcfa!important;color:var(--text)!important}
.gc-tool-card,.gc-question-card,.gc-result-card{background:#fff!important;border-color:#e3e8e4!important;color:var(--text)!important;box-shadow:none!important}

/* Tutor */
#caTutorView{max-width:1280px;margin:0 auto}
#caTutorV2.ca-tutor-v2{grid-template-columns:230px minmax(0,1fr) 280px!important;gap:14px!important}
#caTutorV2 .ca-thread-rail,#caTutorV2 .panel,#caTutorV2 .ca-chat-v2{
  background:#fff!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:10px!important;box-shadow:none!important
}
#caTutorV2 .ca-thread-item{color:#5e737c!important}.ca-thread-item:hover{background:#f6f9f7!important}#caTutorV2 .ca-thread-item.active{background:#edf6f2!important;border-color:#c8dfd7!important}
#caTutorV2 .ca-thread-item>span{background:#e7f4f1!important;color:var(--accent)!important}
#caTutorV2 .ca-thread-item small,#caTutorV2 .ca-thread-empty,#caTutorV2 .ca-memory-note{color:var(--muted)!important}
#caTutorV2 .ca-new-chat{background:#edf6f2!important;border-color:#c8dfd7!important;color:var(--accent)!important;border-radius:7px!important}
#caTutorV2 .ca-message>span{background:#edf3f0!important;border-color:#e1e8e4!important;color:#5b747b!important}
#caTutorV2 .ca-message.assistant>span{background:#e7f4f1!important;border-color:#cde3db!important;color:var(--accent)!important}
#caTutorV2 .ca-message-copy{color:#425d69!important}
#caTutorV2 .ca-message.user .ca-message-copy{background:#f5f8f6!important;border-color:#e5eae7!important;border-radius:8px!important}
#caTutorV2 .ca-meta-pill{background:#f6f8f6!important;border-color:#e3e8e4!important;color:#7f8d92!important}
#caTutorV2 .ca-meta-pill.course{background:#edf6f2!important;border-color:#d4e7df!important;color:var(--accent)!important}
#caTutorV2 .ca-meta-pill.web{background:#eef7f0!important;border-color:#d9e9df!important;color:#397c62!important}
#caTutorV2 .ca-context-list button,#caTutorV2 .ca-context-list a{background:#fbfcfa!important;border-color:#e5eae7!important;color:var(--text)!important;border-radius:7px!important}
#caTutorV2 .ca-context-list span{color:var(--accent)!important}#caTutorV2 .ca-context-list small{color:var(--muted)!important}
#caTutorV2 .ca-tutor-form-v2,.ca-tutor-form{background:#fff!important;border-color:#dde5e0!important;border-radius:9px!important}
#caTutorV2 .ca-tutor-form-v2 textarea,.ca-tutor-form textarea{background:#fbfcfa!important;color:var(--text)!important;border-color:#e4e9e6!important}
#caTutorV2 .ca-memory-grid>div{background:#f8faf8!important;border-color:#e5eae7!important}
.ca-copilot-actions{border-top-color:#e5eae7!important}.ca-copilot-action{background:#f4f8f6!important;border-color:#d5e6df!important;color:#356166!important;border-radius:7px!important;box-shadow:none!important}.ca-copilot-action>span{color:var(--accent)!important}
.ca-copilot-action:hover{background:#edf6f2!important;border-color:#bdd8cf!important;box-shadow:none!important}

/* Progress */
#caProgressView{max-width:1180px;margin:0 auto}
.ca-page-head h2{font-size:26px!important;color:var(--text)!important}.ca-page-head p{color:#71828a!important}
.ca-stat-grid article,.ca-progress-grid .panel,.ca-history,.ca-next-card{
  background:#fff!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:10px!important;box-shadow:none!important
}
.ca-stat-grid strong{color:var(--text)!important}.ca-stat-grid small,.ca-history small{color:var(--muted)!important}
.ca-progress-track,.ca-mini-track{background:#edf0ec!important}.ca-progress-track span,.ca-mini-track span{background:var(--accent)!important}

/* Other pages */
#coursesView,#curriculumView{max-width:1180px;margin:0 auto}
.intro-copy h2{color:var(--text)!important}.intro-copy p:not(.eyebrow){color:#71828a!important}
.course-card{background:#fff!important}.course-card>p{color:#71828a!important}.module-list span{border-color:#e3e8e4!important;color:#728187!important}
.year-column{background:#fff!important}.semester>strong{color:#7a8c93!important}.degree-course{background:#f8faf8!important;border-left-color:#95b4ad!important}.degree-course.chemistry{border-left-color:var(--accent)!important}
.standards-note p{color:#71828a!important}

/* Landing */
.ca-landing{background:var(--bg)!important;color:var(--text)!important}
.ca-landing-nav{background:#fff!important;border-bottom:1px solid var(--border)!important}.ca-wordmark{color:var(--text)!important}.ca-wordmark span{background:var(--accent)!important;color:#fff!important;border:0!important}
.ca-landing-nav button{color:#5f747d!important}.ca-nav-cta{background:var(--accent)!important;color:#fff!important}
.ca-hero-wrap{max-width:1180px!important;grid-template-columns:minmax(0,1.1fr) minmax(360px,.75fr)!important;gap:44px!important;min-height:560px!important}
.ca-hero-copy h1{color:var(--text)!important;font-size:52px!important;line-height:1.02!important;letter-spacing:-1.8px!important}
.ca-hero-copy>p:not(.eyebrow){color:#60737c!important;font-size:14px!important}
.ca-hero-proof span{color:#819096!important;border-left-color:#dde5e0!important}.ca-hero-proof b{color:var(--text)!important}
.ca-orbit-scene,.ca-v2-network{background:#fff!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:none!important}
.ca-capabilities article,.ca-learning-path,.ca-landing-bottom{background:#fff!important;border-color:var(--border)!important;color:var(--text)!important}
.ca-capabilities article p,.ca-learning-path p,.ca-landing-bottom p{color:#71828a!important}

/* Hide old v2-only additions if cached */
.gc-v2-context{display:none!important}

/* Responsive */
@media(max-width:1100px){
  .ca-home-grid{grid-template-columns:1fr}.gc-workspace{grid-template-columns:250px minmax(0,1fr)!important}
  #caTutorV2.ca-tutor-v2{grid-template-columns:210px minmax(0,1fr)!important}
  #caTutorV2 .ca-tutor-side-v2{grid-column:1/-1!important;position:static!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:820px){
  .app-shell{display:block!important}.sidebar{position:fixed!important;left:-250px!important;width:var(--ca-sidebar-width)!important;transition:left .22s!important;z-index:50!important}.sidebar.open{left:0!important}
  .main{padding:0 18px 36px!important}.topbar{margin:0 -18px 22px!important;padding:0 18px!important}.ca-top-search{display:none}
  .ca-continue{grid-template-columns:1fr}.ca-continue-visual{border-left:0;border-top:1px solid #edf0ec;min-height:220px}.ca-home-grid{grid-template-columns:1fr}
  .gc-workspace{grid-template-columns:1fr!important}.gc-syllabus{position:static!important;max-height:none!important}.ca-learning-sequence{grid-template-columns:repeat(2,1fr)}
  .lab-layout{grid-template-columns:1fr!important}.viewer{height:430px!important}
  #caTutorV2.ca-tutor-v2{display:block!important}.ca-home-welcome{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .ca-continue-copy{padding:22px}.ca-continue h3{font-size:24px}.ca-continue-footer{grid-template-columns:1fr auto}.ca-continue-footer .primary-button{grid-column:1/-1}
  .ca-home-course-label{display:none}.ca-learning-sequence{grid-template-columns:1fr}.gc-hero{grid-template-columns:1fr!important}.gc-module-header{padding:20px!important}.gc-module-header h2{font-size:25px!important}
  .viewer{height:350px!important}.ca-rec{grid-template-columns:30px minmax(0,1fr)}.ca-rec-status{grid-column:2}
}


/* Landing mode must fully exit the tutoring app grid. */
body.ca-landing-mode .app-shell{
  display:block!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  min-height:100vh!important;
}
body.ca-landing-mode .main{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.ca-landing-mode .ca-landing{
  width:100%!important;
  max-width:none!important;
}
body.ca-landing-mode .ca-landing-nav{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 8px!important;
}
body.ca-landing-mode .ca-hero-wrap{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:72px 8px 64px!important;
}
body.ca-landing-mode .ca-capabilities{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ca-landing-mode .ca-learning-path,
body.ca-landing-mode .ca-landing-bottom{
  width:min(1120px,calc(100% - 40px))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:820px){
  body.ca-landing-mode .ca-landing-nav,
  body.ca-landing-mode .ca-hero-wrap,
  body.ca-landing-mode .ca-capabilities,
  body.ca-landing-mode .ca-learning-path,
  body.ca-landing-mode .ca-landing-bottom{
    width:calc(100% - 28px)!important;
  }
  body.ca-landing-mode .ca-hero-wrap{
    grid-template-columns:1fr!important;
    padding-top:46px!important;
  }
}


/* Landing palette coherence: light academic shell, teal science accent, restrained amber. */
body.ca-landing-mode{
  background:#f7f8f4!important;
}
body.ca-landing-mode .ca-landing{
  background:
    radial-gradient(circle at 76% 24%,rgba(11,123,121,.045),transparent 26%),
    radial-gradient(circle at 22% 76%,rgba(215,156,62,.025),transparent 24%),
    #f7f8f4!important;
}
body.ca-landing-mode .ca-landing-nav{
  background:#ffffff!important;
  border-bottom:1px solid #e6ebe7!important;
}
body.ca-landing-mode .ca-wordmark{
  color:#17324a!important;
}
body.ca-landing-mode .ca-wordmark span{
  background:#0b7b79!important;
  color:#fff!important;
}
body.ca-landing-mode .ca-landing-nav>div button{
  color:#526b76!important;
}
body.ca-landing-mode .ca-landing-nav>div button:hover{
  color:#0b7b79!important;
  background:#f3f8f5!important;
}
body.ca-landing-mode .ca-landing-nav .ca-nav-cta{
  background:#0b7b79!important;
  border:1px solid #0b7b79!important;
  color:#fff!important;
}
body.ca-landing-mode .ca-landing-nav .ca-nav-cta:hover{
  background:#075f61!important;
  color:#fff!important;
}
body.ca-landing-mode .ca-hero-copy .eyebrow{
  color:#0b7b79!important;
}
body.ca-landing-mode .ca-hero-copy h1{
  color:#17324a!important;
}
body.ca-landing-mode .ca-hero-copy>p:not(.eyebrow){
  color:#647982!important;
}
body.ca-landing-mode .ca-hero-proof span{
  color:#7f8f92!important;
  border-left-color:#dfe6e2!important;
}
body.ca-landing-mode .ca-hero-proof b{
  color:#17324a!important;
}

/* Replace the leftover dark/blue "science dashboard" art with a softer tutoring illustration. */
body.ca-landing-mode .ca-orbit-scene{
  background:
    radial-gradient(circle at 50% 50%,rgba(11,123,121,.055),transparent 38%),
    linear-gradient(145deg,#fbfdfb,#f3f8f5)!important;
  border:1px solid #dfe8e3!important;
  box-shadow:0 14px 34px rgba(38,72,68,.055)!important;
}
body.ca-landing-mode .ca-orbit-core{
  background:radial-gradient(circle at 35% 30%,#6db8aa 0,#16847c 42%,#0b6664 76%)!important;
  color:#fff!important;
  box-shadow:0 8px 28px rgba(11,123,121,.18)!important;
}
body.ca-landing-mode .ca-orbit-scene>i{
  border-color:rgba(11,123,121,.19)!important;
}
body.ca-landing-mode .ca-dot{
  background:#0b7b79!important;
  box-shadow:0 0 0 5px rgba(11,123,121,.055),0 4px 12px rgba(11,123,121,.16)!important;
}
body.ca-landing-mode .ca-orbit-note{
  background:rgba(255,255,255,.96)!important;
  border:1px solid #dbe7e1!important;
  box-shadow:0 8px 22px rgba(44,73,69,.065)!important;
  backdrop-filter:none!important;
}
body.ca-landing-mode .ca-orbit-note small{
  color:#7e908f!important;
}
body.ca-landing-mode .ca-orbit-note strong{
  color:#254b59!important;
}
body.ca-landing-mode .ca-orbit-note.n1{
  border-left:3px solid #0b7b79!important;
}
body.ca-landing-mode .ca-orbit-note.n2{
  border-left:3px solid #4f918b!important;
}
body.ca-landing-mode .ca-orbit-note.n3{
  border-left:3px solid #d79c3e!important;
}

/* Keep the supporting cards in the same family instead of introducing extra dark colors. */
body.ca-landing-mode .ca-capabilities article{
  background:#fff!important;
  border:1px solid #e1e8e4!important;
  box-shadow:0 6px 20px rgba(38,72,68,.035)!important;
}
body.ca-landing-mode .ca-capabilities article span{
  color:#0b7b79!important;
}
body.ca-landing-mode .ca-capabilities article:nth-child(3) span{
  color:#b37a25!important;
}
body.ca-landing-mode .ca-capabilities article h3{
  color:#17324a!important;
}
body.ca-landing-mode .ca-capabilities article p{
  color:#6d7f85!important;
}
body.ca-landing-mode .ca-learning-path{
  background:#fff!important;
  border-color:#e1e8e4!important;
}
body.ca-landing-mode .ca-learning-path button{
  background:#f8faf8!important;
  border-color:#e1e8e4!important;
  color:#17324a!important;
}
body.ca-landing-mode .ca-learning-path button:hover:not(:disabled){
  background:#f0f7f3!important;
  border-color:#bed8cf!important;
}
body.ca-landing-mode .ca-learning-path button span{
  color:#0b7b79!important;
}
body.ca-landing-mode .ca-learning-path button small{
  color:#78888d!important;
}
body.ca-landing-mode .ca-landing-bottom{
  border-color:#dfe6e2!important;
}


/* ========================================================================
   CHEMATLAS TUTORING DESIGN RECONCILIATION
   Exact design language taken from the approved Replit prototype.
   This block intentionally wins over every legacy ChemAtlas theme layer.
   ======================================================================== */

:root{
  --bg:#f7f8f5!important;
  --panel:#fff!important;
  --panel2:#fbfcfa!important;
  --border:#e6e9e5!important;
  --text:#17324a!important;
  --muted:#7b8a94!important;
  --accent:#0b7b79!important;
  --accent2:#4f7e83!important;
  --gold:#d79c3e!important;
  --danger:#c85c5c!important;
  --sidebar:#fff!important;
  --shadow:0 3px 12px rgba(29,57,68,.025)!important;
}
html,body{
  background:#f7f8f5!important;
  color:#17324a!important;
  font-family:"DM Sans",Inter,ui-sans-serif,system-ui,sans-serif!important;
}
h1,h2,h3,.brand strong,.ca-home-welcome h2,.ca-continue h3,.gc-hero-copy h2,.gc-module-header h2,
.ca-page-head h2,#caTutorV2 .ca-tutor-head-v2 h2,.organic-hero h2,.intro-copy h2,.course-card h3,
.ca-marketing-copy h1,.ca-marketing-demo h2,.ca-flow-heading h2,.ca-marketing-path h2,.ca-marketing-bottom h2{
  font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important;
}
code,pre,.result-value,.bench-meta{
  font-family:"DM Mono","SFMono-Regular",Consolas,monospace!important;
}
body,button,input,textarea,select{font-synthesis:none;text-rendering:optimizeLegibility}

/* Product shell: exact Replit family */
.app-shell{grid-template-columns:var(--ca-sidebar-width) minmax(0,1fr)!important;background:#f7f8f5!important}
.sidebar{
  width:var(--ca-sidebar-width)!important;height:100vh!important;min-height:700px!important;padding:22px 14px 15px!important;
  background:#fff!important;border-right:1px solid #e6e9e5!important;box-shadow:none!important
}
.brand{padding:0 9px 25px!important}
.brand-mark{width:34px!important;height:34px!important;border-radius:10px!important;background:#0b7b79!important;color:#fff!important}
.brand strong{font-size:19px!important;font-weight:800!important;letter-spacing:-.7px!important}
.brand span{display:none!important}
.ca-course-switcher{margin:0 1px 24px!important;min-height:59px!important;padding:9px 10px!important;border:1px solid #e9ece8!important;border-radius:9px!important;background:#fcfdfa!important}
.ca-course-switcher-icon{color:#0b7b79!important;background:#e7f4f1!important}
.ca-course-switcher-copy small{color:#89959c!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.1px!important}
.ca-course-switcher-copy strong{color:#17324a!important;font-size:11px!important;font-weight:700!important}
.ca-learning-nav-label{padding:0 11px 8px!important;color:#89959c!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.1px!important}
.ca-tutor-nav{min-height:41px!important;padding:0 11px!important;border-radius:7px!important;color:#657684!important;font-size:13px!important;font-weight:600!important}
.ca-tutor-nav:hover{color:#075f61!important;background:#f5f8f5!important}
.ca-tutor-nav.active{color:#075f61!important;background:#eaf4f1!important}
.ca-tutor-nav.active::before{left:-14px!important;background:#0b7b79!important}
.ca-practice-dot{background:#d79c3e!important}
.ca-sidebar-tutor{margin:0 1px 13px!important;padding:12px 10px!important;border:1px solid #e5ece8!important;border-radius:9px!important;color:#17324a!important;background:#f8fbf8!important}
.ca-sidebar-tutor:hover{border-color:#b7d3ca!important;background:#f0f7f3!important}
.ca-sidebar-tutor .spark{color:#0b7b79!important;background:#e5f1ec!important}
.ca-sidebar-tutor strong{font-size:11px!important}.ca-sidebar-tutor small{font-size:9px!important;color:#7b8a94!important}
.ca-student-row{
  width:100%!important;margin-top:0!important;padding:12px 7px 2px!important;border:0!important;border-top:1px solid #edf0ed!important;
  border-radius:0!important;background:transparent!important;color:#17324a!important;
  grid-template-columns:32px minmax(0,1fr)!important;column-gap:9px!important
}
.ca-student-row>span{
  width:32px!important;height:32px!important;grid-row:1/3!important;border-radius:50%!important;background:#759c8b!important;
  box-shadow:none!important;position:relative
}
.ca-student-row>span::after{content:"";position:absolute;inset:8px;border-radius:50%;background:rgba(255,255,255,.45)}
.ca-student-row b{font-size:11px!important;color:#243c50!important}.ca-student-row small{font-size:10px!important;color:#7b8a94!important}

/* Topbar */
.main{padding:0 32px 48px!important;background:#f7f8f5!important}
.topbar{
  height:64px!important;min-height:64px!important;margin:0 -32px 0!important;padding:0 32px!important;
  border-bottom:1px solid #e6e9e5!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px)!important
}
.topbar>div:first-of-type{display:flex!important;align-items:center!important;gap:9px!important;color:#84919a!important}
.ca-breadcrumb-course{color:#84919a!important;font-size:11px!important;font-weight:400!important}
.ca-breadcrumb-course::after{content:" /";padding-left:9px;color:#c0c8c6}
.topbar h1{color:#3f5668!important;font-size:11px!important;font-weight:700!important}
.top-actions{gap:15px!important}
.ca-top-search{width:218px!important;margin-left:auto!important;margin-right:0!important}
.ca-top-search label{height:34px!important;padding:0 8px!important;border:1px solid #e5e9e5!important;border-radius:7px!important;background:#fbfcfa!important;color:#95a0a2!important}
.ca-top-search input{font-size:10px!important;color:#17324a!important}.ca-top-search kbd{border-color:#e6e9e6!important;background:#fff!important;color:#8d999b!important}
.ca-search-results{width:320px!important;left:auto!important;right:0!important;border-color:#e3e9e5!important;box-shadow:0 14px 34px rgba(25,52,65,.14)!important}
.ca-help-button{
  display:grid!important;width:27px!important;height:27px!important;place-items:center!important;border:1px solid #e4e9e5!important;
  border-radius:50%!important;background:#fff!important;color:#73848d!important;font-size:12px!important;font-weight:700!important
}
.ca-help-button:hover{border-color:#bbd4cb!important;color:#075f61!important;background:#fff!important}
.streak{gap:5px!important;color:#7b8588!important;font-size:10px!important}.streak>span{color:#d79c3e!important}.streak strong{color:#bd7a20!important;font-size:11px!important}.streak small{font-size:10px!important;color:#7b8588!important}
.top-actions>.ca-sync-status{display:none!important}

/* Shared primitives */
.eyebrow{color:#0b7b79!important;font-size:9px!important;font-weight:800!important;letter-spacing:1.25px!important;text-transform:uppercase!important}
.primary-button{min-height:37px!important;padding:0 15px!important;border:1px solid #0b7b79!important;border-radius:7px!important;background:#0b7b79!important;color:#fff!important;font-size:11px!important;font-weight:700!important}
.primary-button:hover{transform:translateY(-1px)!important;border-color:#075f61!important;background:#075f61!important}
.secondary-button{min-height:36px!important;padding:0 13px!important;border:1px solid #dfe6e3!important;border-radius:7px!important;background:#fff!important;color:#38566a!important;font-size:10px!important;font-weight:700!important}
.secondary-button:hover{border-color:#b8d4cb!important;background:#f7fbf8!important}
.text-button{color:#075f61!important;font-size:10px!important;font-weight:700!important}
.panel,.hero-card,.progress-card,.course-card,.year-column{
  border:1px solid #e7ebe7!important;border-radius:9px!important;background:#fff!important;box-shadow:0 3px 12px rgba(29,57,68,.025)!important
}
input,textarea,select{border-color:#e5eae6!important}
:focus-visible{outline:3px solid rgba(215,156,62,.55);outline-offset:2px}

/* Marketing landing rebuilt to match the tutoring product */
body.ca-landing-mode{background:#f7f8f5!important}
body.ca-landing-mode .main{background:#f7f8f5!important}
.ca-marketing-nav{
  display:flex;width:min(1180px,calc(100% - 40px));height:70px;align-items:center;justify-content:space-between;
  margin:0 auto;border-bottom:1px solid #e6e9e5;background:transparent
}
.ca-marketing-brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#17324a;cursor:pointer}
.ca-marketing-brand span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#0b7b79;color:#fff}
.ca-marketing-brand strong{font-family:"Plus Jakarta Sans","DM Sans",sans-serif;font-size:19px;font-weight:800;letter-spacing:-.7px}
.ca-marketing-nav nav{display:flex;align-items:center;gap:6px}.ca-marketing-nav nav button{min-height:34px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:#657684;font-size:11px;font-weight:600;cursor:pointer}
.ca-marketing-nav nav button:hover{background:#f1f6f3;color:#075f61}.ca-marketing-nav .ca-marketing-profile{border:1px solid #0b7b79;background:#0b7b79;color:#fff;font-weight:700}.ca-marketing-nav .ca-marketing-profile:hover{background:#075f61;color:#fff}
.ca-marketing-hero{
  display:grid;width:min(1180px,calc(100% - 40px));min-height:560px;grid-template-columns:minmax(0,1.02fr) minmax(390px,.78fr);
  align-items:center;gap:58px;margin:0 auto;padding:64px 0 58px
}
.ca-marketing-kicker{margin:0;color:#0b7b79;font-size:9px;font-weight:800;letter-spacing:1.25px}
.ca-marketing-copy h1{max-width:650px;margin:13px 0 17px;color:#17324a;font-size:50px;font-weight:750;letter-spacing:-2px;line-height:1.04}.ca-marketing-copy h1 em{color:#0b7b79;font-style:normal}
.ca-marketing-lede{max-width:620px;margin:0;color:#647b81;font-size:14px;line-height:1.65}
.ca-marketing-actions{display:flex;gap:9px;margin-top:25px}
.ca-marketing-proof{display:flex;gap:0;margin-top:31px}.ca-marketing-proof span{display:grid;gap:2px;min-width:115px;padding:0 16px;border-left:1px solid #dfe6e2}.ca-marketing-proof span:first-child{padding-left:0;border-left:0}.ca-marketing-proof strong{color:#17324a;font-size:16px}.ca-marketing-proof small{color:#7f8f92;font-size:9px}
.ca-marketing-demo{overflow:hidden;border:1px solid #dce9e4;border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(29,57,68,.045)}
.ca-demo-top{display:flex;min-height:43px;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #edf0ed;background:#fbfcfa}.ca-demo-top span{color:#89959c;font-size:8px;font-weight:800;letter-spacing:.9px}.ca-demo-top strong{color:#38566a;font-size:10px}
.ca-demo-card{display:grid;grid-template-columns:minmax(0,1fr) 165px;min-height:230px;padding:20px 18px 16px;background:#eef5f1}.ca-demo-card>div:first-child{padding:5px 0}.ca-demo-card small{color:#37766d;font-size:8px;font-weight:800;letter-spacing:.8px}.ca-demo-card h2{max-width:310px;margin:10px 0 7px;color:#1b384f;font-size:20px;font-weight:750;letter-spacing:-.6px;line-height:1.2}.ca-demo-card p{margin:0;color:#647b81;font-size:10px;line-height:1.55}.ca-demo-meta{display:flex;align-items:center;gap:8px;margin-top:13px;color:#68807e;font-size:8px}.ca-demo-meta i{width:3px;height:3px;border-radius:50%;background:#9bada6}
.ca-demo-molecule{display:grid;place-items:center;overflow:hidden}.ca-demo-molecule .ca-water-svg{width:210px;max-width:none}
.ca-demo-next,.ca-demo-tutor{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 13px;border-top:1px solid #edf0ed}.ca-demo-next{background:#fff}.ca-demo-tutor{background:#f8fbf8}.ca-demo-icon,.ca-demo-tutor>span{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;background:#e8f3ee;color:#267b76}.ca-demo-next span:nth-child(2),.ca-demo-tutor div{display:grid;gap:2px}.ca-demo-next small,.ca-demo-tutor small{color:#89969a;font-size:7px;font-weight:800;letter-spacing:.7px}.ca-demo-next strong,.ca-demo-tutor strong{color:#2a4355;font-size:9px}.ca-demo-next b{margin-left:auto;color:#78938b;font-weight:500}
.ca-marketing-flow{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0 68px;border-top:1px solid #e6e9e5}.ca-flow-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:16px}.ca-flow-heading p,.ca-marketing-path>div:first-child p,.ca-marketing-bottom p{margin:0;color:#0b7b79;font-size:9px;font-weight:800;letter-spacing:1.1px}.ca-flow-heading h2,.ca-marketing-path h2,.ca-marketing-bottom h2{max-width:590px;margin:4px 0 0;color:#1d3b50;font-size:22px;font-weight:750;letter-spacing:-.7px}
.ca-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ca-flow-grid article{min-height:180px;padding:17px;border:1px solid #e5ebe6;border-radius:9px;background:#fff}.ca-flow-grid article>span{color:#0b7b79;font-size:8px;font-weight:800}.ca-flow-icon{display:grid;width:30px;height:30px;place-items:center;margin-top:28px;border-radius:8px;background:#e8f3ee;color:#267b76}.ca-flow-icon.amber{background:#fbf1e2;color:#a56d25}.ca-flow-grid h3{margin:11px 0 5px;color:#203b50;font-size:14px;font-weight:750}.ca-flow-grid p{margin:0;color:#7b8a94;font-size:10px;line-height:1.5}
.ca-marketing-path{display:grid;width:min(1120px,calc(100% - 40px));grid-template-columns:300px minmax(0,1fr);gap:46px;margin:0 auto 58px;padding:29px 0;border-top:1px solid #e6e9e5;border-bottom:1px solid #e6e9e5}.ca-path-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.ca-path-steps>i{color:#a7b4b0;font-style:normal}.ca-path-steps button{min-height:100px;padding:13px;border:1px solid #e4e9e4;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.ca-path-steps button:hover:not(:disabled){border-color:#bdd8ce;background:#fbfdfb}.ca-path-steps button:disabled{opacity:.55}.ca-path-steps span{color:#0b7b79;font-size:8px;font-weight:800}.ca-path-steps strong{display:block;margin:18px 0 3px;color:#294557;font-size:11px}.ca-path-steps small{color:#7f8f92;font-size:8px;line-height:1.3}
.ca-marketing-bottom{display:flex;width:min(1120px,calc(100% - 40px));align-items:center;justify-content:space-between;gap:30px;margin:0 auto 60px;padding:26px 0}.ca-marketing-bottom span{display:block;margin-top:5px;color:#778790;font-size:11px}

/* Home exact visual family */
#homeView{max-width:1200px!important}
.ca-home-welcome{margin-bottom:21px!important}.ca-home-welcome h2{color:#19364d!important;font-size:27px!important;font-weight:750!important;letter-spacing:-1.1px!important}.ca-home-welcome p{color:#71838c!important;font-size:12px!important}
.ca-continue{min-height:235px!important;grid-template-columns:minmax(0,1.12fr) minmax(270px,.88fr)!important;border-color:#dce9e4!important;background:#eef5f1!important}
.ca-continue-copy{padding:21px 25px 20px!important}.ca-continue-kicker{color:#37766d!important;font-size:9px!important}.ca-continue-kicker i{background:#dc9c3d!important}.ca-continue h3{max-width:490px!important;margin:11px 0 5px!important;color:#1b384f!important;font-size:22px!important;font-weight:750!important;letter-spacing:-.7px!important;line-height:1.22!important}.ca-continue-summary{max-width:425px!important;color:#647b81!important;font-size:11px!important}.ca-lesson-meta{margin-top:14px!important;color:#59706f!important;font-size:10px!important}.ca-continue-footer{display:flex!important;width:min(100%,385px)!important;gap:13px!important;margin-top:auto!important;padding-top:15px!important}.ca-track{flex:1!important;background:#d6e4dd!important}.ca-track span{background:#16817a!important}.ca-percent{color:#47736e!important;font-size:10px!important;font-weight:750!important}.ca-continue-visual{min-height:235px!important;border-left:0!important;background:radial-gradient(ellipse at 50% 52%,rgba(215,234,225,.95),rgba(238,245,241,0) 70%)!important}
.ca-home-grid{grid-template-columns:minmax(0,1.13fr) minmax(310px,.87fr)!important;gap:18px!important;margin-top:18px!important}.ca-section-head{min-height:31px!important;margin-bottom:8px!important}.ca-section-head h3{color:#203b50!important;font-size:13px!important;font-weight:750!important}.ca-recommendations{gap:6px!important}.ca-rec{grid-template-columns:28px minmax(0,1fr) auto!important;gap:10px!important;padding:9px 11px!important;border-color:#e4e9e4!important}.ca-rec:hover{transform:translateX(2px);border-color:#bdd8ce!important;background:#fbfdfb!important}.ca-rec.selected{border-color:#9dc9bd!important;background:#f3faf6!important;box-shadow:inset 3px 0 #14817a!important}.ca-rec-icon{width:27px!important;height:27px!important;background:#e8f3ee!important;color:#267b76!important}.ca-rec:nth-child(2) .ca-rec-icon{background:#fbf1e2!important;color:#a56d25!important}.ca-rec strong{color:#2a4355!important;font-size:10px!important}.ca-rec small{color:#809096!important;font-size:9px!important}.ca-rec-status{padding:0!important;background:transparent!important;color:#68847b!important}.ca-rec:nth-child(2) .ca-rec-status{color:#a97833!important}.ca-rec-action{margin-top:8px!important;padding:8px 10px!important;border:0!important;border-radius:7px!important;background:#f3f6f2!important;color:#74847f!important}
.ca-mastery{padding:12px 14px 13px!important;border-color:#e5eae5!important}.ca-mastery-top h3,.ca-recent h3{color:#213c51!important;font-size:12px!important}.ca-mastery-top strong{color:#16736e!important;font-size:11px!important}.ca-mastery>p{color:#89969a!important}.ca-module-progress{grid-template-columns:112px minmax(35px,1fr) 28px!important}.ca-module-progress span{color:#64777e!important}.ca-module-progress .bar{background:#e9eeea!important}.ca-module-progress .bar i{background:#6fa395!important}.ca-recent-item{min-height:28px!important;border-bottom:1px solid #e9ede8!important;padding-bottom:4px}.ca-recent-item i{background:#e9f2ec!important;color:#438272!important}.ca-ask-strip{padding:9px 11px!important;border-color:#dfe8e3!important;background:#f6f9f6!important}.ca-ask-strip:hover{border-color:#b7d3c8!important;background:#eff6f1!important}

/* Learn / lessons */
.gc-hero-copy,.gc-progress-card,.gc-syllabus,.gc-module-header,.gc-reading,.gc-equations,.gc-example,.gc-check,.gc-connection,.gc-vocab,.gc-scope{box-shadow:0 3px 12px rgba(29,57,68,.025)!important}
.gc-hero-copy h2,.gc-module-header h2{font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important}
.gc-module-header h2{color:#1b344a!important}.gc-reading h3{color:#203b50!important;font-weight:750!important}
.gc-reading p{color:#647b81!important}.gc-objectives li{color:#657a82!important}
.ca-sequence-step{border-color:#e4e9e4!important;color:#536a75!important}.ca-sequence-step span{background:#e8f3ee!important;color:#267b76!important}.ca-sequence-step:hover{border-color:#bdd8ce!important;background:#fbfdfb!important}
.gc-example-title{background:#fbf3e5!important}.gc-check{background:#fff!important}

/* Practice consistency */
.gc-practice-shell{border-color:#e4e9e5!important;background:#fff!important;color:#17324a!important}
.gc-practice-top{background:#fff!important}.gc-practice-body,.gc-tool-stage{background:#f7f8f5!important}
.gc-tool-tab{border-radius:7px!important}.gc-tool-tab.active{border-color:#d6e6df!important;background:#edf6f1!important;color:#155f5e!important}
.gc-tool-card,.gc-question-card,.gc-result-card{border-color:#e5ebe6!important;border-radius:8px!important;background:#fff!important}
.gc-practice-shell .primary-button{background:#0b7b79!important;color:#fff!important}

/* Lab: exact intentional dark workspace, not a leftover dark theme */
#labView .lesson-header h2{font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important;color:#1b344a!important;font-size:25px!important}
#labView .lesson-header p:not(.eyebrow){color:#778790!important;font-size:11px!important}
.lab-layout{gap:13px!important}
.molecule-panel,.model-info .panel{
  border:1px solid #263f4b!important;border-radius:8px!important;background:#152c38!important;color:#e8f0ed!important;
  box-shadow:0 8px 24px rgba(26,52,64,.09)!important
}
.model-toolbar{min-height:38px!important;background:#1b3541!important;border-bottom-color:rgba(218,237,230,.1)!important}
.model-toolbar label{color:#cad8d4!important}.model-toolbar select{border-color:rgba(218,237,230,.11)!important;background:rgba(9,25,34,.4)!important}
.segmented{border-color:rgba(218,237,230,.11)!important;background:rgba(9,25,34,.4)!important}.seg{color:#91a9a7!important}.seg.active{background:rgba(57,124,119,.22)!important;color:#8fe0d1!important}
.viewer{background:radial-gradient(circle at center,#1b3541 0,#152c38 72%)!important}
.viewer-help{color:#789397!important}
.model-info .panel{border-color:rgba(213,230,225,.11)!important;background:#1b3541!important}.model-info .panel p,.model-info .panel span{color:#91a9a7!important}.model-info .panel strong,.model-info .panel h3{color:#d8e5df!important}
.polarity-badge{border-color:rgba(213,230,225,.13)!important;color:#b8cbc6!important}.polarity-badge.polar{border-color:rgba(117,208,193,.35)!important;color:#8fe0d1!important}
.property-list div{border-bottom-color:rgba(213,230,225,.09)!important}

/* Organic Studio = light tutoring shell + dark manipulation canvas */
.organic-hero,.organic-bridge,.organic-info .panel{box-shadow:0 3px 12px rgba(29,57,68,.025)!important}
.organic-tab{border-color:#e4e9e4!important;color:#657684!important}.organic-tab.active{border-color:#9dc9bd!important;background:#f3faf6!important;color:#075f61!important}
.organic-visual{border:1px solid #263f4b!important;background:#152c38!important}.organic-toolbar{background:#1b3541!important;border-bottom-color:rgba(218,237,230,.1)!important}.organic-stage{background:radial-gradient(circle at 50% 40%,#1b3541 0,#152c38 72%)!important}
.organic-info .panel{border-color:#e7ebe7!important;background:#fff!important;color:#17324a!important}.organic-info .panel p{color:#647b81!important}

/* Tutor exact light family */
#caTutorV2 .ca-thread-rail,#caTutorV2 .panel,#caTutorV2 .ca-chat-v2{border-color:#e4e9e5!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 12px rgba(29,57,68,.025)!important}
#caTutorV2 .ca-message.user .ca-message-copy{border-color:#e2efeb!important;border-radius:10px 2px 10px 10px!important;background:#eff7f3!important;color:#31594f!important}
#caTutorV2 .ca-message.assistant .ca-message-copy{color:#475e6c!important}
#caTutorV2 .ca-message.assistant>span{border-color:#d9e8e2!important;border-radius:8px!important;background:#eef6f3!important;color:#0d7774!important}
#caTutorV2 .ca-new-chat{border-color:#dce9e4!important;background:#fbfdfb!important;color:#075e5d!important}
#caTutorV2 .ca-tutor-form-v2{border-color:#e4e9e5!important;background:#fff!important}.ca-copilot-action{border-color:#dfe8e3!important;background:#f6f9f6!important;color:#31594f!important}
.ca-copilot-action:hover{border-color:#b7d3c8!important;background:#eff6f1!important}

/* Progress, course library, curriculum */
.ca-stat-grid article,.ca-progress-grid .panel,.ca-history,.ca-next-card,.course-card,.year-column,.standards-note{
  border-color:#e5eae5!important;background:#fff!important;box-shadow:0 3px 12px rgba(29,57,68,.025)!important
}
.ca-progress-track,.ca-mini-track,.progress-track{background:#edf1ed!important}.ca-progress-track span,.ca-mini-track span,.progress-track span{background:#14817c!important}
.course-card.featured{border-color:#b7d8cd!important}.module-list span{border-color:#e4e9e4!important;background:#fbfcfa!important}
.degree-course{background:#fbfcfa!important}.degree-course.chemistry{border-left-color:#0b7b79!important}.degree-course.biochemistry{border-left-color:#d79c3e!important}.degree-course.biology{border-left-color:#6fa395!important}

/* Account/onboarding overlays must not resurrect the old dark UI */
.ca-overlay{background:rgba(23,50,74,.24)!important;backdrop-filter:blur(4px)!important}
.ca-modal{
  border:1px solid #dfe6e3!important;border-radius:12px!important;background:#fff!important;color:#17324a!important;
  box-shadow:0 24px 70px rgba(29,57,68,.18)!important
}
.ca-modal h2{color:#1b344a!important;font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important}.ca-modal>p:not(.eyebrow){color:#778790!important}
.ca-modal-x{color:#82918f!important}.ca-modal input{border:1px solid #e4e9e5!important;border-radius:7px!important;background:#fbfcfa!important;color:#17324a!important}
.ca-modal form label{color:#657684!important}.ca-goal-grid button{border:1px solid #e4e9e4!important;border-radius:8px!important;background:#fff!important;color:#17324a!important}
.ca-goal-grid button:hover{border-color:#bdd8ce!important;background:#fbfdfb!important}.ca-goal-grid span{color:#0b7b79!important}.ca-goal-grid small{color:#7b8a94!important}
.ca-setup-note{border-color:#eee1c8!important;background:#fbf3e5!important}.ca-setup-note strong{color:#9b6d2b!important}

/* Mobile system */
@media(max-width:820px){
  .main{padding:0 18px 36px!important}.topbar{margin:0 -18px 22px!important;padding:0 18px!important}
  .ca-marketing-nav,.ca-marketing-hero,.ca-marketing-flow,.ca-marketing-path,.ca-marketing-bottom{width:calc(100% - 28px)!important}
  .ca-marketing-nav nav button:not(.ca-marketing-profile){display:none}
  .ca-marketing-hero{grid-template-columns:1fr!important;gap:28px!important;padding-top:42px!important}
  .ca-marketing-copy h1{font-size:39px!important;letter-spacing:-1.4px!important}
  .ca-marketing-proof{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.ca-marketing-proof span{padding:0!important;border:0!important}
  .ca-flow-grid{grid-template-columns:1fr 1fr!important}.ca-marketing-path{grid-template-columns:1fr!important}.ca-path-steps{grid-template-columns:1fr!important}.ca-path-steps>i{transform:rotate(90deg);text-align:center}
  .ca-marketing-bottom{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:520px){
  .ca-flow-grid{grid-template-columns:1fr!important}.ca-demo-card{grid-template-columns:1fr!important}.ca-demo-molecule{min-height:145px}.ca-marketing-copy h1{font-size:34px!important}
}


/* ========================================================================
   LEARN FOCUS MODE — accessible, progressive, learner-first
   ======================================================================== */

#genchemView{
  max-width:1120px!important;
  margin:0 auto!important;
}
#genchemView .gc-hero{
  display:none!important;
}
.ca-learn-summary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin:8px 0 14px;
  padding:0 2px 18px;
  border-bottom:1px solid #e4e9e5;
}
.ca-learn-summary>div:first-child{
  max-width:650px;
}
.ca-learn-overline{
  margin:0 0 5px;
  color:#0b7b79;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.15px;
}
.ca-learn-summary h2{
  margin:0;
  color:#19364d;
  font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important;
  font-size:25px;
  font-weight:750;
  letter-spacing:-.8px;
}
.ca-learn-summary p{
  margin:5px 0 0;
  color:#6e8088;
  font-size:13px;
  line-height:1.55;
}
.ca-learn-progress{
  width:210px;
  flex:0 0 210px;
}
.ca-learn-progress>span{
  display:block;
  margin-bottom:7px;
  color:#718188;
  font-size:11px;
  text-align:right;
}
.ca-learn-progress>span b{
  color:#0b7b79;
  font-size:14px;
}
.ca-learn-progress>div{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e8eeea;
}
.ca-learn-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#0b7b79;
}

/* Semester is a quiet course switch, not a hero element. */
#genchemView .gc-semester-tabs{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  gap:3px!important;
  margin:0 0 14px!important;
  padding:3px!important;
  border:1px solid #e4e9e5!important;
  border-radius:8px!important;
  background:#fff!important;
}
#genchemView .gc-semester-tab{
  min-height:36px!important;
  width:auto!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#75858b!important;
}
#genchemView .gc-semester-tab span{
  display:none!important;
}
#genchemView .gc-semester-tab strong{
  display:block!important;
  color:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
}
#genchemView .gc-semester-tab small{
  display:none!important;
}
#genchemView .gc-semester-tab.active{
  background:#eaf4f1!important;
  color:#075f61!important;
  box-shadow:none!important;
}

/* Course contents stays useful, but visually quiet. */
#genchemView .gc-workspace{
  grid-template-columns:236px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}
#genchemView .gc-syllabus{
  top:80px!important;
  max-height:calc(100vh - 100px)!important;
  border-color:#e5eae6!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
#genchemView .gc-syllabus-head{
  padding:13px 13px 10px!important;
}
#genchemView .gc-syllabus-head .eyebrow{
  display:none!important;
}
#genchemView .gc-syllabus-head h3{
  margin:0!important;
  color:#385265!important;
  font-size:12px!important;
  font-weight:750!important;
}
#genchemView .gc-count{
  padding:3px 6px!important;
  background:#f4f7f4!important;
  color:#89969a!important;
  font-size:8px!important;
}
#genchemView .gc-search{
  margin:8px 8px 4px!important;
  min-height:38px!important;
}
#genchemView .gc-search input{
  font-size:11px!important;
}
#genchemView .gc-module-nav{
  padding:4px 6px 8px!important;
}
#genchemView .gc-module-link{
  min-height:44px!important;
  padding:7px 8px!important;
  gap:8px!important;
  border-radius:6px!important;
}
#genchemView .gc-module-link strong{
  font-size:11px!important;
  line-height:1.25!important;
}
#genchemView .gc-module-link small{
  display:none!important;
}
#genchemView .gc-module-number{
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  border-radius:6px!important;
  font-size:9px!important;
}

/* Module header only answers: what am I learning and why? */
#genchemView .gc-reader{
  min-width:0!important;
}
#genchemView .gc-module-header{
  padding:24px 26px 20px!important;
  border:1px solid #e4e9e5!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#genchemView .gc-module-kicker{
  margin-bottom:7px!important;
}
#genchemView .gc-module-kicker>span:first-child{
  color:#0b7b79!important;
  font-size:9px!important;
}
#genchemView .gc-status{
  border:0!important;
  background:#f2f5f2!important;
  color:#73827f!important;
  font-size:9px!important;
}
#genchemView .gc-status.complete{
  background:#eaf4ed!important;
  color:#347c62!important;
}
#genchemView .gc-module-header h2{
  max-width:650px!important;
  margin:6px 0 7px!important;
  color:#19364d!important;
  font-size:30px!important;
  line-height:1.12!important;
  letter-spacing:-1px!important;
}
#genchemView .gc-module-header>p{
  max-width:660px!important;
  margin:0!important;
  color:#657a83!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.ca-inline-tutor{
  min-height:40px!important;
  margin-top:13px!important;
  padding:0!important;
  color:#075f61!important;
  font-size:11px!important;
}
.ca-lesson-goals{
  margin-top:14px;
  border-top:1px solid #edf0ed;
}
.ca-lesson-goals>summary{
  min-height:42px;
  display:flex;
  align-items:center;
  color:#5f747d;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.ca-lesson-goals>summary::-webkit-details-marker{
  display:none;
}
.ca-lesson-goals>summary::before{
  content:"+";
  width:20px;
  color:#0b7b79;
  font-size:15px;
}
.ca-lesson-goals[open]>summary::before{
  content:"−";
}
.ca-lesson-goals-body{
  display:grid;
  gap:8px;
  padding:0 0 8px 20px;
}
.ca-lesson-goals .gc-prereq{
  margin:0!important;
  padding:9px 11px!important;
  border-left:2px solid #d79c3e!important;
  background:#fcf8ef!important;
  color:#68756f!important;
  font-size:11px!important;
}
.ca-lesson-goals .gc-objectives{
  margin:0!important;
  padding:10px 0 0!important;
  border-top:0!important;
}
.ca-lesson-goals .gc-objectives .eyebrow{
  display:none!important;
}
.ca-lesson-goals .gc-objectives ul{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  margin:0!important;
  padding-left:18px!important;
}
.ca-lesson-goals .gc-objectives li{
  color:#687c84!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* The core accessibility change: one learning step is visible at a time. */
.ca-focus-shell{
  margin-top:14px;
  padding:15px 18px 11px;
  border:1px solid #e3e9e5;
  border-bottom:0;
  border-radius:10px 10px 0 0;
  background:#fbfcfa;
}
.ca-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.ca-focus-count{
  display:block;
  color:#869498;
  font-size:9px;
  font-weight:750;
  letter-spacing:.9px;
}
.ca-focus-count b{
  color:#0b7b79;
}
.ca-focus-kind{
  display:inline-block;
  margin-top:7px;
  color:#0b7b79;
  font-size:9px;
  font-weight:800;
  letter-spacing:1px;
}
.ca-focus-title{
  margin:3px 0 0;
  color:#294557;
  font-family:"Plus Jakarta Sans","DM Sans",sans-serif!important;
  font-size:15px;
  font-weight:750;
}
.ca-focus-meter{
  width:145px;
  height:4px;
  margin-top:5px;
  overflow:hidden;
  border-radius:99px;
  background:#e7ece8;
}
.ca-focus-meter span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#0b7b79;
  transition:width .18s ease;
}
.ca-focus-dots{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.ca-focus-dots button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:7px 10px;
  border:1px solid #dfe6e2;
  border-radius:7px;
  background:#fff;
  color:#38566a;
  font-size:14px;
  cursor:pointer;
}
.ca-focus-dots button span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#eef3f0;
  transition:.15s ease;
}
.ca-focus-dots button:hover span{
  background:#7fa99e;
}
.ca-focus-dots button.active span{
  color:#fff;
  background:#0b7b79;
  box-shadow:0 0 0 4px #e5f2ed;
}
.ca-focus-dots button.active{border-color:#0b7b79;background:#f0f8f5}
#genchemView button:focus-visible,
#genchemView summary:focus-visible{outline:3px solid #0b7b79;outline-offset:3px}
.ca-focus-panel[hidden]{
  display:none!important;
}
#genchemView .ca-focus-panel{
  margin:0!important;
  padding:28px 30px 30px!important;
  border:1px solid #e3e9e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
#genchemView .ca-focus-panel.gc-reading h3{
  margin:0 0 14px!important;
  color:#1e3a4f!important;
  font-size:23px!important;
  line-height:1.2!important;
}
#genchemView .ca-focus-panel.gc-reading p{
  max-width:68ch!important;
  color:#445f6c!important;
  font-size:16px!important;
  line-height:1.72!important;
}
#genchemView .ca-focus-panel.gc-reading p+p{
  margin-top:15px!important;
}
#genchemView .ca-focus-panel.gc-equations{
  padding-top:25px!important;
}
#genchemView .gc-equations>div:first-child h3{
  color:#1e3a4f!important;
  font-size:21px!important;
}
#genchemView .gc-equation-grid{
  gap:8px!important;
}
#genchemView .gc-equation-grid>div{
  min-height:70px!important;
  padding:13px 15px!important;
  background:#f7faf8!important;
}
#genchemView .gc-equation-grid span{
  color:#76878d!important;
  font-size:10px!important;
}
#genchemView .gc-equation-grid strong{
  color:#244f58!important;
  font-size:17px!important;
}
#genchemView .ca-focus-panel.gc-example{
  padding:0!important;
}
#genchemView .gc-example-title{
  padding:19px 22px!important;
}
#genchemView .gc-example-title>span{
  font-size:9px!important;
}
#genchemView .gc-example-title h3{
  margin-top:5px!important;
  color:#284457!important;
  font-size:18px!important;
}
#genchemView .gc-example ol{
  padding:19px 24px!important;
}
#genchemView .gc-example ol li{
  margin-bottom:12px!important;
}
#genchemView .gc-example ol li span{
  width:28px!important;
  height:28px!important;
}
#genchemView .gc-example ol li p{
  color:#4c6570!important;
  font-size:14px!important;
  line-height:1.55!important;
}
#genchemView .gc-example-answer{
  padding:14px 22px!important;
  background:#f4f8f5!important;
}
#genchemView .gc-example-answer strong{
  color:#214f53!important;
  font-size:15px!important;
}
#genchemView .ca-focus-panel.gc-check{
  padding:24px 26px 27px!important;
}
#genchemView .gc-check-head h3{
  max-width:680px!important;
  color:#1e3a4f!important;
  font-size:20px!important;
  line-height:1.35!important;
}
#genchemView .gc-check-options{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
#genchemView .gc-check-choice{
  min-height:48px!important;
  padding:11px 13px!important;
  color:#435e69!important;
  font-size:13px!important;
  text-align:left!important;
}
#genchemView .gc-check-choice span{
  width:26px!important;
  min-width:26px!important;
}
#genchemView .gc-check-actions{
  margin-top:13px!important;
  align-items:center!important;
}
#genchemView #gcCheckAnswer{
  min-height:42px!important;
}
#genchemView .gc-feedback{
  max-width:590px!important;
  font-size:12px!important;
  line-height:1.5!important;
}

.ca-focus-footer{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  min-height:58px;
  padding:9px 13px;
  border:1px solid #e3e9e5;
  border-top:0;
  border-radius:0 0 10px 10px;
  background:#fbfcfa;
}
.ca-focus-footer button{
  min-height:40px;
  padding:0 12px;
  border:1px solid #dfe6e2;
  border-radius:7px;
  background:#fff;
  color:#38566a;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.ca-focus-footer .ca-focus-next{
  border-color:#0b7b79;
  background:#0b7b79;
  color:#fff;
}
.ca-focus-footer button:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:#b8d4cb;
}
.ca-focus-footer .ca-focus-next:hover:not(:disabled){
  border-color:#075f61;
  background:#075f61;
}
.ca-focus-footer button:disabled{
  opacity:.38;
  cursor:not-allowed;
}
.ca-focus-helper{
  color:#88969a;
  font-size:10px;
  text-align:center;
}

.ca-lesson-more{
  margin-top:12px;
  border:1px solid #e5eae6;
  border-radius:9px;
  background:#fff;
}
.ca-lesson-more>summary{
  min-height:46px;
  display:flex;
  align-items:center;
  padding:0 14px;
  color:#5c737d;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.ca-lesson-more>summary::-webkit-details-marker{
  display:none;
}
.ca-lesson-more>summary::before{
  content:"+";
  width:20px;
  color:#0b7b79;
  font-size:15px;
}
.ca-lesson-more[open]>summary::before{
  content:"−";
}
.ca-lesson-more-body{
  display:grid;
  gap:9px;
  padding:0 10px 10px;
}
.ca-lesson-more-body .gc-connections{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.ca-lesson-more-body .gc-connection,
.ca-lesson-more-body .gc-vocab,
.ca-lesson-more-body .gc-scope{
  margin:0!important;
  box-shadow:none!important;
}
.ca-lesson-more-body .gc-tool-launch{
  margin:0!important;
}
#genchemView .ca-module-navigation{
  margin-top:12px!important;
}
#genchemView .ca-module-navigation button{
  min-height:44px!important;
  color:#667b84!important;
  font-size:10px!important;
}

/* Accessible typography and interaction targets. */
#genchemView button,
#genchemView summary,
#genchemView input{
  touch-action:manipulation;
}
@media (prefers-reduced-motion: reduce){
  #genchemView *,
  #genchemView *::before,
  #genchemView *::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}

/* Tablet/mobile: course contents becomes normal flow, lesson remains one step at a time. */
@media(max-width:900px){
  .ca-learn-summary{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .ca-learn-progress{
    width:100%;
    max-width:260px;
    flex-basis:auto;
  }
  .ca-learn-progress>span{
    text-align:left;
  }
  #genchemView .gc-workspace{
    grid-template-columns:1fr!important;
  }
  #genchemView .gc-syllabus{
    position:static!important;
    max-height:300px!important;
  }
}
@media(max-width:600px){
  .ca-learn-summary h2{
    font-size:22px;
  }
  #genchemView .gc-module-header{
    padding:20px!important;
  }
  #genchemView .gc-module-header h2{
    font-size:25px!important;
  }
  .ca-focus-head{
    display:block;
  }
  .ca-focus-meter{
    width:100%;
    margin-top:12px;
  }
  #genchemView .ca-focus-panel{
    padding:22px 20px 24px!important;
  }
  #genchemView .ca-focus-panel.gc-reading p{
    font-size:15px!important;
  }
  .ca-focus-footer{
    grid-template-columns:1fr 1fr;
  }
  .ca-focus-helper{
    grid-column:1/-1;
    grid-row:1;
  }
  .ca-focus-back{
    grid-column:1;
  }
  .ca-focus-next{
    grid-column:2;
  }
}

/* Keep lesson controls and feedback readable at every breakpoint. */
#genchemView .ca-focus-count,
#genchemView .ca-focus-kind { font-size:12px; }
#genchemView .ca-focus-footer button,
#genchemView .ca-focus-helper,
#genchemView .ca-lesson-more > summary,
#genchemView .ca-lesson-goals > summary,
#genchemView .ca-inline-tutor,
#genchemView .gc-check-choice,
#genchemView .gc-feedback,
#genchemView .ca-module-navigation button { font-size:14px!important; }
#genchemView .ca-focus-panel.gc-reading p,
#genchemView .gc-example ol li p { font-size:16px!important;line-height:1.65!important; }
#genchemView .ca-focus-footer [hidden] { display:none!important; }

.ca-admin-entry{display:block;margin:12px 16px;padding:12px;border:1px solid #c7dfd8;border-radius:8px;color:#076b68;text-align:center;font-size:14px;text-decoration:none;font-weight:700}

/* Published dashboard configuration preserves each existing learning widget. */
.ca-configured-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ca-configured-dashboard>[data-width="full"]{grid-column:1/-1}.ca-configured-dashboard[data-columns="1"]{grid-template-columns:minmax(0,1fr)}.ca-configured-dashboard>[hidden]{display:none!important}.ca-custom-block{padding:24px;background:white;border:1px solid #dce6e1;border-radius:16px;overflow-wrap:anywhere}.ca-custom-block p{line-height:1.7}.ca-configured-dashboard .ca-continue{margin:0}@media(max-width:760px){.ca-configured-dashboard{grid-template-columns:minmax(0,1fr)}}

/* Quick-check choices: clear neutral, hover, selected, and graded states. */
#genchemView .gc-check-choice{
  width:100%;min-width:0;min-height:56px!important;
  padding:12px 16px!important;gap:12px;line-height:1.5;
  border:2px solid #dce6e1!important;border-radius:10px!important;
  background:#fff!important;color:#294853!important;overflow-wrap:anywhere;
}
#genchemView .gc-check-choice>span{
  width:30px!important;min-width:30px!important;height:30px;
  background:#edf3f0!important;color:#365b57!important;
  border:1px solid #d4e2db;border-radius:8px;font-size:12px;font-weight:750;
}
#genchemView .gc-check-choice:hover:not(.selected):not(.correct):not(.wrong){
  background:#f7faf8!important;border-color:#9dbeb2!important;
}
#genchemView .gc-check-choice.selected{
  background:#eaf6f2!important;border-color:#087b76!important;color:#174c49!important;
}
#genchemView .gc-check-choice.selected>span{
  background:#087b76!important;border-color:#087b76;color:#fff!important;
}
#genchemView .gc-check-choice:focus-visible{
  outline:3px solid #087b76;outline-offset:3px;
}
#genchemView .gc-check-choice.correct{background:#eaf6ed!important;border-color:#287747!important;}
#genchemView .gc-check-choice.correct>span{background:#287747!important;border-color:#287747;color:white!important;}
#genchemView .gc-check-choice.wrong{background:#fff2f0!important;border-color:#b3443d!important;}
#genchemView .gc-check-choice.wrong>span{background:#b3443d!important;border-color:#b3443d;color:white!important;}
#genchemView .gc-check-choice.correct::after{content:'✓';margin-left:auto;font-weight:800;color:#287747;}
#genchemView .gc-check-choice.wrong::after{content:'×';margin-left:auto;font-weight:800;color:#b3443d;}
#genchemView #gcCheckAnswer:not(:disabled){background:#087b76!important;color:#fff!important;opacity:1;}
#genchemView #gcCheckAnswer:disabled{background:#e4ece8!important;color:#5b706a!important;opacity:1!important;}
@media(max-width:600px){#genchemView .gc-check-actions{align-items:stretch!important;flex-direction:column;}#genchemView .gc-check-choice{padding:12px!important;}}
