:root{--bg:#07111c;--panel:#0d1b2a;--line:#203247;--text:#eef7ff;--muted:#87a0b8;--cyan:#50e3c2;--blue:#4da3ff;--violet:#b66cff;--orange:#ffb454;--red:#ff718b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 5%,#132e46 0,transparent 30%),var(--bg);color:var(--text);font-family:Inter,Segoe UI,sans-serif;min-height:100vh}.top{height:74px;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid var(--line);gap:5vw;position:sticky;top:0;background:#07111ce8;backdrop-filter:blur(14px);z-index:10}.brand{font-size:25px;font-weight:800;color:white;text-decoration:none}.brand span{color:var(--cyan)}nav{display:flex;gap:8px;flex:1}.nav{border:0;background:none;color:var(--muted);padding:11px 14px;border-radius:10px;cursor:pointer}.nav.active,.nav:hover{color:var(--text);background:#142538}.level{font-size:13px;color:var(--cyan);border:1px solid #2f675e;padding:9px 13px;border-radius:20px}main{max-width:1280px;margin:auto;padding:0 28px 70px}.hero{min-height:330px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow,.section-head span,.empty>span{font-size:12px;letter-spacing:2px;color:var(--cyan)}h1{font-size:clamp(42px,7vw,76px);line-height:.98;margin:16px 0}h1 em{color:var(--cyan);font-style:normal}.hero p,.empty p{color:var(--muted);font-size:18px}.atom{width:200px;height:200px;border:1px solid #31506a;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative;box-shadow:0 0 80px #2b9e9b22}.atom:before,.atom:after{content:"";position:absolute;inset:28px;border:1px solid #387b8c;border-radius:50%;transform:rotate(55deg)}.atom:after{transform:rotate(-55deg)}.atom i{position:absolute;top:28px;left:45px;color:var(--muted);font-style:normal}.atom b{font-size:70px;color:var(--cyan);z-index:1}.atom small{letter-spacing:2px;z-index:1}.page{display:none;padding-top:42px}.page.active{display:block}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-head h2,.empty h2{font-size:32px;margin:7px 0}.search input{width:min(340px,40vw);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:white}.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.legend button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 11px;border-radius:20px;cursor:pointer}.periodic{display:grid;grid-template-columns:repeat(18,minmax(48px,1fr));gap:6px;overflow-x:auto;padding-bottom:16px}.element{min-width:48px;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:white;text-align:left;padding:6px;cursor:pointer;grid-column:var(--group);grid-row:var(--period);transition:.18s}.element:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 8px 28px #0008}.element small{display:block;color:var(--muted);font-size:9px}.element strong{font-size:20px;display:block}.element[data-category=nonmetal]{border-top-color:var(--cyan)}.element[data-category=noble]{border-top-color:var(--violet)}.element[data-category=alkali]{border-top-color:var(--red)}.element[data-category=alkaline]{border-top-color:var(--orange)}.element[data-category=halogen]{border-top-color:var(--blue)}.loading{grid-column:1/-1;color:var(--muted)}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lesson-grid article{background:linear-gradient(145deg,#102337,#0a1724);border:1px solid var(--line);padding:24px;border-radius:16px}.lesson-grid article>b{color:var(--cyan);font-size:13px}.lesson-grid h3{font-size:22px}.lesson-grid p{color:var(--muted);min-height:48px}.lesson-grid button{background:none;border:0;color:var(--cyan);padding:0}.empty{min-height:400px;padding-top:80px}dialog{width:min(600px,90vw);background:#0c1b2b;color:white;border:1px solid #35506a;border-radius:18px;padding:30px}dialog::backdrop{background:#02070dc9;backdrop-filter:blur(4px)}.close{position:absolute;right:16px;top:12px;background:none;border:0;color:var(--muted);font-size:28px}.symbol-large{font-size:80px;color:var(--cyan);font-weight:800}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fact{background:#13263a;padding:13px;border-radius:10px}.fact small{display:block;color:var(--muted)}@media(max-width:760px){.top{padding:0 14px}.top nav{position:fixed;bottom:0;left:0;right:0;background:#091521;padding:8px;justify-content:space-around;border-top:1px solid var(--line)}.nav{font-size:11px;padding:9px 6px}.level{display:none}.hero{min-height:280px}.atom{display:none}.periodic{grid-template-columns:repeat(18,50px)}.lesson-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:12px}.search input{width:100%}}
 details{margin-top:18px;border-top:1px solid var(--line);padding-top:16px} details summary{color:var(--cyan);font-weight:700;cursor:pointer}.examples{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;list-style:none}.examples li{background:#102337;padding:12px;border-radius:9px;color:#c9d9e8}.lead{font-size:17px;line-height:1.55}.source{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.element-photo{height:260px;margin:-10px -10px 18px;border-radius:13px;overflow:hidden;background:#06101a}.element-photo img{width:100%;height:100%;object-fit:contain}.source a{color:var(--cyan)}
.hidden{display:none!important}.lesson-panel{padding:42px 0 80px}.lesson-top{display:flex;justify-content:space-between;align-items:start}.lesson-top span,.quiz>span{color:var(--cyan);font-size:12px;letter-spacing:2px}.lesson-top h2{font-size:40px;margin:8px 0}.lesson-top p{color:var(--muted)}.lesson-top button{background:none;border:1px solid var(--line);color:var(--text);padding:11px 15px;border-radius:10px}.lesson-progress{height:4px;background:var(--line);border-radius:4px;margin:22px 0 30px}.lesson-progress i{display:block;width:25%;height:100%;background:var(--cyan);transition:.3s}.atom-workbench{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;background:linear-gradient(145deg,#0d2133,#091522);border:1px solid var(--line);border-radius:20px;padding:28px}.atom-stage{min-height:430px;display:grid;place-items:center;background:radial-gradient(circle,#183d54 0,transparent 65%);border-radius:16px}.atom-model{width:390px;height:390px;position:relative}.nucleus{position:absolute;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff718b,#6b2135);display:grid;place-content:center;text-align:center;z-index:4;box-shadow:0 0 32px #ff718b77}.nucleus b{font-size:24px}.nucleus small{font-size:9px}.shell{position:absolute;left:50%;top:50%;border:1px solid #4d7695;border-radius:50%;transform:translate(-50%,-50%)}.electron-dot{position:absolute;width:15px;height:15px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);transform:translate(-50%,-50%)}.element-switcher{display:flex;gap:8px}.element-switcher button{width:48px;height:48px;border-radius:10px;border:1px solid var(--line);background:#0a1724;color:white;font-weight:700}.element-switcher button.active{border-color:var(--cyan);color:var(--cyan);background:#12342f}.atom-copy h3{font-size:34px;margin-bottom:12px}.particle-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.particle-facts div{background:#10263a;padding:13px;border-radius:10px}.particle-facts b{display:block;font-size:24px}.particle-facts small{color:var(--muted)}.concept{margin-top:22px;border-left:3px solid var(--cyan);padding:2px 16px}.concept p{color:#c3d6e7;line-height:1.55}.lesson-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.lesson-notes article{display:flex;gap:13px;background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:14px}.lesson-notes h3{margin:0}.lesson-notes p{color:var(--muted);font-size:14px;line-height:1.45}.particle{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-content:center;font-weight:800}.proton{background:#5d2333;color:#ff91a5}.neutron{background:#273747;color:#b8c6d3}.electron{background:#163d3b;color:var(--cyan)}.quiz{margin-top:36px;background:#0d1e2e;border:1px solid var(--line);border-radius:18px;padding:28px}.quiz-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-answers button{background:#12263a;color:white;border:1px solid var(--line);border-radius:11px;padding:15px;text-align:left}.quiz-answers button.correct{border-color:var(--cyan);background:#123a34}.quiz-answers button.wrong{border-color:var(--red);background:#3a1d29}.quiz-feedback{min-height:38px;padding-top:14px;color:var(--muted)}.primary{background:var(--cyan);color:#04201c;border:0;padding:13px 18px;border-radius:10px;font-weight:800}@media(max-width:820px){.atom-workbench{grid-template-columns:1fr}.atom-stage{min-height:340px}.atom-model{transform:scale(.78)}.lesson-notes{grid-template-columns:1fr}.quiz-answers{grid-template-columns:1fr}.lesson-top{flex-direction:column-reverse;gap:15px}}
.lesson-grid article.featured{border-color:#3ba792;background:linear-gradient(145deg,#123b36,#0a1724);box-shadow:0 10px 35px #35d8b31c}.course-dialog{width:min(960px,94vw);max-height:90vh;overflow:auto}.dialogClose,.trainerClose{position:sticky;float:right;top:0;z-index:3;background:#14283a;border:1px solid var(--line);color:white;width:40px;height:40px;border-radius:50%;font-size:24px}.course-tag,.course-check>span{color:var(--cyan);font-size:12px;letter-spacing:2px}.course-dialog h1{font-size:42px;margin:8px 0 25px}.theory-sections{display:grid;gap:14px}.theory-sections article{background:#102235;border:1px solid var(--line);border-radius:14px;padding:22px}.theory-sections article>b{color:var(--cyan)}.theory-sections h2{margin:7px 0}.theory-sections p{color:#bdd0df;line-height:1.6}.lesson-example{background:#091724;border-left:3px solid var(--orange);padding:13px}.lesson-example small{display:block;color:var(--orange);margin-bottom:6px}.course-check{margin-top:24px;padding:22px;background:#071521;border-radius:14px}.course-options,.memory-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.course-options button,.memory-options button{background:#14283b;border:1px solid var(--line);color:white;padding:14px;border-radius:10px}.course-options button.correct,.memory-options button.correct{border-color:var(--cyan);background:#123a34}.course-options button.wrong,.memory-options button.wrong{border-color:var(--red);background:#3a1d29}.course-result,.memory-feedback{color:var(--muted);min-height:28px}.trainer-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.trainer-head b{color:var(--red)}.trainer-head strong{color:var(--cyan)}.memory-symbol{font-size:74px;font-weight:800;color:var(--cyan);text-align:center;margin:35px 0 12px}.trainer-finish{text-align:center;padding:50px 10px}.trainer-finish>div{font-size:75px}.trainer-finish p{color:var(--muted)}@media(max-width:650px){.course-options,.memory-options{grid-template-columns:1fr}.course-dialog h1{font-size:32px}}
.reaction-score{color:var(--cyan);border:1px solid #2f675e;padding:10px 15px;border-radius:20px}.practice-path{display:grid;gap:18px}.practice-path>article{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;background:linear-gradient(145deg,#102337,#091522);border:1px solid var(--line);border-radius:18px;padding:24px}.path-icon{height:120px;border-radius:14px;background:radial-gradient(circle,#194758,#0a1826);display:grid;place-content:center;color:var(--cyan);font-size:35px;font-weight:800}.practice-path article>b{color:var(--cyan);font-size:12px;letter-spacing:1px}.practice-path h3{font-size:26px;margin:7px 0}.practice-path p{color:var(--muted)}.path-meta{display:flex;gap:8px;margin:15px 0}.path-meta span{background:#142a3e;padding:7px 10px;border-radius:8px;color:#b9cbd9;font-size:12px}.practice-head{display:flex;justify-content:space-between;color:var(--muted)}.practice-head strong{color:var(--cyan)}.reaction-big{font-size:32px;font-weight:800;text-align:center;margin:45px 0 30px}.practice-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-options button{background:#13283b;border:1px solid var(--line);border-radius:12px;padding:18px;color:white;font-size:20px}.practice-options button.correct{background:#123a34;border-color:var(--cyan)}.practice-options button.wrong{background:#3a1d29;border-color:var(--red)}.practice-feedback{min-height:82px;margin-top:18px;color:var(--muted)}.practice-feedback b{color:var(--cyan)}.practice-feedback .bad{color:var(--red)}.balance-equation{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:#071521;padding:35px 15px;border-radius:15px;margin:25px 0}.balance-equation label{display:flex;align-items:center;gap:7px;font-size:25px}.balance-equation input{width:55px;background:#142a3e;border:1px solid var(--line);color:var(--cyan);font-size:20px;padding:9px;border-radius:8px;text-align:center}.balance-equation .plus,.balance-equation .arrow{font-size:24px;color:var(--muted)}.balance-equation .arrow{color:var(--cyan);margin-left:10px}.balance-actions{display:flex;gap:10px}.balance-actions #showHint{background:transparent;border:1px solid var(--line);color:white;padding:12px;border-radius:10px}@media(max-width:650px){.practice-path>article{grid-template-columns:1fr}.path-icon{height:90px}.practice-options{grid-template-columns:1fr}.balance-equation{gap:5px}.balance-equation label{font-size:18px}.balance-equation input{width:44px}}
.lab-safety{color:var(--orange);border:1px solid #76572d;padding:10px 14px;border-radius:20px}.lab-layout{display:grid;grid-template-columns:320px 1fr 1fr;gap:18px}.lab-controls,.lab-report,.lab-scene{background:linear-gradient(145deg,#102337,#091522);border:1px solid var(--line);border-radius:18px;padding:22px}.lab-controls h3{margin:5px 0 15px}.lab-controls label{display:block;color:var(--muted);font-size:13px;margin:12px 0}.lab-controls label b{float:right;color:var(--cyan)}.lab-controls select{display:block;width:100%;margin-top:6px;background:#14283a;border:1px solid var(--line);border-radius:9px;color:white;padding:11px}.lab-controls input[type=range]{width:100%;accent-color:var(--cyan)}.lab-run,.lab-reset{width:100%;margin-top:12px}.lab-reset{background:transparent;border:1px solid var(--line);color:white;padding:12px;border-radius:10px}.lab-warning{font-size:11px;color:var(--orange);line-height:1.45}.lab-scene{min-height:480px;display:grid;place-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 70%,#17405a,#081522 65%)}.lab-status{position:absolute;top:18px;left:0;right:0;text-align:center;color:var(--cyan)}.beaker{width:230px;height:280px;border:5px solid #84b6ce;border-top:0;border-radius:0 0 36px 36px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #86dfff18,0 16px 30px #0007}.beaker:before,.beaker:after{content:"";position:absolute;top:0;width:35px;border-top:5px solid #84b6ce}.beaker:before{left:-5px}.beaker:after{right:-5px}.liquid{position:absolute;left:0;right:0;bottom:0;height:62%;background:#59bfff99;transition:background 1s}.liquid.mixing{animation:slosh .8s}.mark{position:absolute;right:8px;color:#d8f5ff99;font-size:11px}.m1{top:70px}.m2{top:160px}.lab-particles i{position:absolute;bottom:25px;width:12px;height:12px;border-radius:50%;z-index:3}.lab-particles i.bubbles{background:#e8fbff77;border:1px solid white;animation:rise 1.7s infinite}.lab-particles i.precipitate,.lab-particles i.deposit{background:#f7f2dc;animation:sink 1.5s forwards}.lab-particles i.deposit{background:#bc673b}.lab-effect.precipitate:after{content:"";position:absolute;bottom:0;left:0;right:0;height:38px;background:#eef2e4aa}.lab-effect.deposit:after{content:"";position:absolute;bottom:0;left:50px;width:100px;height:24px;background:#b85e34;border-radius:50%}.lab-effect.heat{position:absolute;inset:0;background:radial-gradient(circle at 50% 70%,#ff8b4333,transparent 50%);animation:pulse 1s infinite}.thermometer{position:absolute;right:25px;bottom:45px;width:15px;height:160px;border:2px solid #8da8b7;border-radius:10px}.thermometer i{position:absolute;bottom:0;left:2px;right:2px;background:var(--red);border-radius:8px;transition:.5s}.thermometer span{position:absolute;top:-27px;left:-9px;font-size:12px}.lab-report{min-height:480px}.report-empty{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted)}.report-tag{font-size:11px;letter-spacing:2px;color:var(--cyan)}.equation-card{background:#071521;padding:17px;border-radius:10px;color:var(--cyan);font-size:18px;font-weight:700;margin:16px 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-grid div{background:#13283a;padding:12px;border-radius:9px}.report-grid small{display:block;color:var(--muted)}.lab-report p,.lab-report li{color:#b9cad8;line-height:1.5}.safety-box{background:#213622;border-left:3px solid var(--cyan);padding:12px;margin-top:15px;font-size:12px}.safety-box.danger{background:#3a2520;border-color:var(--orange)}.experiment-library{margin-top:30px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preset-grid button{background:#102337;border:1px solid var(--line);color:white;padding:16px;text-align:left;border-radius:11px}.preset-grid small{display:block;color:var(--muted);margin-top:5px}@keyframes rise{to{transform:translateY(-220px);opacity:0}}@keyframes sink{from{transform:translateY(-170px)}to{transform:translateY(0)}}@keyframes slosh{50%{transform:rotate(2deg) scaleY(1.04)}}@keyframes pulse{50%{opacity:.35}}@media(max-width:1050px){.lab-layout{grid-template-columns:300px 1fr}.lab-report{grid-column:1/-1;min-height:auto}}@media(max-width:680px){.lab-layout{grid-template-columns:1fr}.lab-report{grid-column:auto}.preset-grid{grid-template-columns:1fr}.lab-scene{min-height:420px}}
.substance-catalog{margin-top:38px;background:#0a1826;border:1px solid var(--line);padding:24px;border-radius:18px}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.catalog-head span{color:var(--cyan);font-size:11px;letter-spacing:2px}.catalog-head h2{margin:6px 0}.catalog-head input{width:min(420px,100%);background:#13283a;border:1px solid var(--line);color:white;padding:13px 15px;border-radius:11px}.catalog-tabs{display:flex;gap:8px;margin:20px 0}.catalog-tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 13px;border-radius:20px}.catalog-tabs button.active{background:#123a34;color:var(--cyan);border-color:#317b6c}.substance-results{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;max-height:520px;overflow:auto}.substance-card{display:flex;flex-direction:column;gap:5px;min-height:145px;background:#102337;border:1px solid var(--line);color:white;text-align:left;padding:14px;border-radius:12px}.substance-card:hover{border-color:var(--cyan);transform:translateY(-2px)}.substance-formula{color:var(--cyan);font-size:24px;font-weight:800}.substance-card small{color:var(--muted)}.substance-card .hazard{margin-top:auto;font-size:9px;font-style:normal;color:#9fcdbf}.substance-card .hazard.lab_only,.substance-card .hazard.restricted{color:var(--orange)}.substance-hero{display:flex;align-items:center;gap:25px}.substance-formula.large{font-size:55px;background:#102d34;min-width:150px;min-height:130px;display:grid;place-content:center;border-radius:16px}.substance-hero h1{margin:0}.smiles{display:block;overflow-wrap:anywhere;background:#071521;color:#8fddcd;padding:14px;border-radius:9px}.hazard-panel{margin:18px 0;padding:14px;border-left:3px solid var(--cyan);background:#153029}.hazard-panel.lab_only,.hazard-panel.restricted{border-color:var(--orange);background:#36271f}.hazard-panel p{margin-bottom:0;color:var(--muted)}.add-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.add-actions>button:not(.primary){background:transparent;border:1px solid var(--line);color:white;padding:13px;border-radius:10px}.add-actions a{color:var(--cyan);margin-left:auto}.catalog-empty{color:var(--muted);grid-column:1/-1}@media(max-width:950px){.substance-results{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.catalog-head{align-items:start;flex-direction:column}.substance-results{grid-template-columns:repeat(2,1fr)}.substance-hero{align-items:start;flex-direction:column}.substance-formula.large{width:100%}.add-actions a{margin-left:0}}
.formula-tool{display:grid;grid-template-columns:1fr minmax(180px,320px) auto;gap:10px;align-items:center;background:#102337;padding:15px;border-radius:12px;margin-bottom:14px}.formula-tool small{display:block;color:var(--muted);margin-top:4px}.formula-tool input{background:#071521;border:1px solid var(--line);color:var(--cyan);font-size:18px;padding:12px;border-radius:9px}.formula-result-head{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.formula-result-head div{background:#12293d;padding:13px;border-radius:9px}.formula-result-head small{display:block;color:var(--muted)}.formula-result-head b{font-size:19px;color:var(--cyan)}.composition-bars{display:grid;gap:6px;margin-bottom:18px}.composition-bars>div{display:flex;justify-content:space-between;background:#0b1c2b;padding:10px 13px;border-left:3px solid var(--cyan)}.formula-error{color:#ff9bac;background:#3a1d29;padding:13px;border-radius:9px}@media(max-width:700px){.formula-tool{grid-template-columns:1fr}.formula-result-head{grid-template-columns:1fr}.composition-bars>div{align-items:start;flex-direction:column;gap:4px}}
.confidence{display:flex;justify-content:space-between;gap:12px;border-left:4px solid var(--muted);background:#13263a;padding:12px;margin-bottom:16px;font-size:12px}.confidence.verified{border-color:var(--cyan);color:var(--cyan)}.confidence.rule_based{border-color:var(--orange);color:var(--orange)}.confidence.insufficient_data{border-color:var(--red);color:#ff9bac}.confidence span{color:var(--muted)}.report-source{display:inline-block;color:var(--cyan);margin-top:13px}.experiment-history{margin-top:30px;background:#0a1826;border:1px solid var(--line);border-radius:18px;padding:22px}.experiment-history .catalog-head button{background:transparent;border:1px solid var(--line);color:white;padding:9px 13px;border-radius:9px}.history-list{display:grid;gap:7px;margin-top:15px}.history-list article{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#102337;padding:13px;border-radius:10px}.history-list small{display:block;color:var(--muted);margin-top:4px}.history-status{font-size:11px;color:var(--cyan);text-align:right}.history-status.insufficient_data{color:var(--muted)}@media(max-width:620px){.confidence,.history-list article{align-items:start;flex-direction:column}.history-status{text-align:left}}
.equation-calculator{margin-top:28px;background:linear-gradient(145deg,#0f2835,#091522);border:1px solid #2d665e;border-radius:18px;padding:24px}.equation-calculator>span{color:var(--cyan);font-size:11px;letter-spacing:2px}.equation-calculator>p{color:var(--muted)}.equation-calculator>div{display:grid;grid-template-columns:1fr auto;gap:10px}.equation-calculator input{background:#071521;border:1px solid var(--line);color:var(--cyan);font-size:18px;padding:13px;border-radius:10px}.balanced-answer{display:flex;flex-direction:column;gap:7px;background:#123a34;border-left:4px solid var(--cyan);padding:16px;margin-top:13px}.balanced-answer small,.balanced-answer span{color:#9ec8bd}.balanced-answer b{font-size:22px}.glassware-hint{display:flex;flex-direction:column;gap:3px;background:#13283a;padding:10px;border-radius:9px;font-size:11px;color:var(--muted)}.glassware-hint b{color:var(--cyan)}.beaker.flask{width:240px;border-radius:25px 25px 95px 95px;clip-path:polygon(25% 0,75% 0,100% 55%,88% 100%,12% 100%,0 55%)}.beaker.tube{width:90px;height:300px;border-radius:0 0 45px 45px}.beaker.cylinder{width:120px;height:300px;border-radius:0 0 14px 14px}.beaker.volumetric{width:210px;height:270px;border-radius:50% 50% 40% 40%;clip-path:polygon(40% 0,60% 0,60% 28%,92% 48%,100% 72%,80% 100%,20% 100%,0 72%,8% 48%,40% 28%)}@media(max-width:620px){.equation-calculator>div{grid-template-columns:1fr}}
.equipment-warnings{background:#3a281f;border-left:3px solid var(--orange);padding:8px 12px;margin:12px 0}.equipment-warnings p{color:#ffc57d;margin:5px 0}.calculation-note{font-size:11px;color:var(--muted);font-style:italic}
/* Stable glassware geometry: content and outline are drawn separately. */
.beaker.flask{width:240px;height:285px;margin-top:55px;border:0;border-radius:0;clip-path:none;overflow:visible;box-shadow:none;background:transparent}.beaker.flask:before{content:"";position:absolute;left:12px;right:12px;top:72px;bottom:0;border:5px solid #84b6ce;border-radius:16px 16px 70px 70px;transform:perspective(300px) rotateX(-4deg);background:#d7f6ff09;box-shadow:inset 0 0 30px #86dfff18,0 16px 30px #0007}.beaker.flask:after{content:"";position:absolute;width:55px;height:78px;left:50%;top:0;transform:translateX(-50%);border:5px solid #84b6ce;border-bottom:0;border-radius:8px 8px 0 0;background:#d7f6ff08}.beaker.flask .liquid{left:17px;right:17px;bottom:5px;height:58%;border-radius:0 0 62px 62px;clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}.beaker.flask .mark{right:26px}.beaker.volumetric{width:230px;height:300px;margin-top:45px;border:0;border-radius:0;clip-path:none;overflow:visible;box-shadow:none;background:transparent}.beaker.volumetric:before{content:"";position:absolute;width:218px;height:218px;left:6px;bottom:0;border:5px solid #84b6ce;border-radius:50%;background:#d7f6ff08;box-shadow:inset 0 0 30px #86dfff18,0 16px 30px #0007}.beaker.volumetric:after{content:"";position:absolute;width:43px;height:104px;left:50%;top:0;transform:translateX(-50%);border:5px solid #84b6ce;border-bottom:0;border-radius:7px 7px 0 0;background:#d7f6ff08}.beaker.volumetric .liquid{left:11px;right:11px;bottom:5px;height:47%;border-radius:0 0 105px 105px}.beaker.volumetric .mark{display:none}
.ionic-report{margin:15px 0;background:#0b1b29;border:1px solid #285063;border-radius:12px;padding:15px}.ionic-report>span{font-size:10px;letter-spacing:2px;color:var(--cyan)}.ionic-report>div{margin-top:10px}.ionic-report small{display:block;color:var(--muted)}.ionic-report b{display:block;color:#cdebf1;margin-top:3px;line-height:1.5}.ionic-report strong{color:var(--cyan)}
.ionic-quantity{display:flex;flex-direction:column;gap:5px;background:#112c32;padding:11px!important;border-left:3px solid var(--cyan)}.ionic-quantity small{color:#a9c6ca!important}.lab-particles .ion-particle{width:auto;height:auto;min-width:25px;padding:3px;border-radius:50%;font-size:8px;text-align:center;color:#07111c;background:#57e6c5;animation:floatIon 3s ease-in-out infinite}.lab-particles .ion-particle[data-kind=anion]{background:#78baff}.lab-particles .solid-particle{width:12px;height:8px;background:#e8e6d7;border-radius:50%;color:transparent}.solubility-summary{margin-top:20px}@keyframes floatIon{50%{transform:translate(7px,-12px)}}
.equipment-rack{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:15px}.equipment{display:flex;flex-direction:column;align-items:center;gap:4px;background:#0e2030;border:1px solid var(--line);color:white;padding:12px;border-radius:12px}.equipment i{font-style:normal;font-size:27px;color:var(--cyan)}.equipment small{color:var(--muted)}.equipment.active{border-color:var(--cyan);background:#12352f}.apparatus-layer{position:absolute;inset:55px 0 0;pointer-events:none;z-index:4}.tool-panel{position:absolute;left:12px;top:55px;width:190px;background:#091826ed;border:1px solid #31546b;border-radius:12px;padding:12px;z-index:6;font-size:12px}.tool-panel p{color:var(--muted)}.tool-actions{display:flex;gap:5px;flex-wrap:wrap}.tool-actions button,#zeroBurette{background:#153047;border:1px solid var(--line);color:white;padding:7px;border-radius:7px}.tool-error{color:var(--red)!important}.pipette-visual{position:absolute;left:52%;top:0;width:15px;height:165px;background:#bdeeff66;border:2px solid #bdeeff;border-radius:8px;transform:rotate(8deg)}.pipette-visual:after{content:"";position:absolute;bottom:-45px;left:5px;border-left:2px solid transparent;border-right:2px solid transparent;border-top:45px solid #bdeeff}.dispensing .pipette-visual span,.dripping .burette-visual em{position:absolute;width:8px;height:12px;border-radius:50%;background:#62cfff;bottom:-62px;left:3px;animation:drop .6s}.burette-visual{position:absolute;left:70%;top:-20px;width:22px;height:230px;border:3px solid #bdeeff;border-radius:4px}.burette-visual i{position:absolute;inset:7px 4px 35px;background:#73cfff88}.burette-visual .stopcock{position:absolute;bottom:15px;left:-12px;width:40px;height:7px;background:#cbefff}.burette-visual em{position:absolute;bottom:-22px;left:5px}.heater-visual{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);width:260px;height:32px;background:#263b48;border-radius:8px;display:flex;justify-content:center;gap:25px;padding:8px}.heater-visual i{width:40px;height:5px;background:#ff7b43;box-shadow:0 0 14px #ff7043}.stirrer-visual{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);font-size:50px;color:var(--cyan)}.spinning .stirrer-visual{animation:spin 1s linear infinite}.protocol{grid-column:1/-1;background:#0a1826;border:1px solid var(--line);border-radius:14px;padding:16px}.protocol>div{display:flex;justify-content:space-between}.protocol button{background:none;border:0;color:var(--muted)}.protocol ol{display:grid;gap:5px;max-height:150px;overflow:auto;padding-left:22px}.protocol li{color:#bdd0dd;padding:5px}.protocol li span{color:var(--muted);margin-right:10px}.protocol li small{color:var(--cyan);margin-left:8px}@keyframes drop{to{transform:translateY(55px);opacity:0}}@keyframes spin{to{transform:translateX(-50%) rotate(360deg)}}@media(max-width:760px){.equipment-rack{grid-template-columns:repeat(3,1fr)}.equipment small{display:none}.tool-panel{width:160px}}

/* Guided learning route */
.learning-hero{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:30px;padding:34px;background:linear-gradient(135deg,#102d3d,#0b1928 58%,#13233e);border:1px solid #28526a;border-radius:22px}.course-kicker,.section-mini span,.today-card span,.student-panel>span,.path-step span{color:var(--cyan);font-size:11px;letter-spacing:1.7px}.learning-hero h2{font-size:42px;margin:9px 0}.learning-hero p{color:#b1c6d6;max-width:720px;line-height:1.6}.learning-actions{display:flex;gap:10px;margin-top:20px}.learning-actions>button:not(.primary),.diagnostic-result>button:not(.primary){background:transparent;border:1px solid var(--line);color:white;padding:12px 16px;border-radius:10px}.progress-orbit{width:160px;height:160px;border-radius:50%;display:grid;place-content:center;text-align:center;border:10px solid #16394b;outline:2px solid var(--cyan);box-shadow:0 0 38px #50e3c21f}.progress-orbit strong{font-size:38px;color:var(--cyan)}.progress-orbit small{color:var(--muted)}.today-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#112839;border-left:4px solid var(--orange);padding:20px 24px;margin:18px 0 30px;border-radius:12px}.today-card h3{margin:6px 0}.today-card p{margin:0;color:var(--muted)}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.section-mini h2{margin:6px 0 18px}.learning-path{display:grid;gap:10px}.path-step{display:grid;grid-template-columns:54px 1fr auto;gap:17px;align-items:center;background:#0d1d2c;border:1px solid var(--line);border-radius:15px;padding:18px}.path-step.current{border-color:#358d7c;background:linear-gradient(90deg,#12362f,#0d1d2c)}.path-step.complete{border-color:#294c49}.path-step.locked{opacity:.55}.step-number{width:46px;height:46px;border-radius:50%;display:grid;place-content:center;background:#172c40;color:var(--cyan);font-weight:800}.path-step.complete .step-number{background:var(--cyan);color:#05201c}.path-step h3{margin:4px 0;font-size:19px}.path-step p{margin:0 0 6px;color:var(--muted)}.path-step small{color:#8ea8bc}.path-step>button{background:#153047;border:1px solid #31516a;color:white;padding:10px 13px;border-radius:9px}.path-step.current>button{background:var(--cyan);color:#05201c;border-color:var(--cyan);font-weight:700}.path-step>button:disabled{cursor:not-allowed}.student-panel{align-self:start;position:sticky;top:94px;background:#0d1d2c;border:1px solid var(--line);border-radius:16px;padding:21px}.student-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 24px}.student-stats div{background:#13283a;border-radius:9px;padding:11px 7px;text-align:center}.student-stats b{display:block;color:var(--cyan);font-size:22px}.student-stats small{color:var(--muted);font-size:10px}.student-panel li{color:#b8cbd9;margin:10px 0}.safety-rule{border-left:3px solid var(--orange);background:#30261e;padding:12px;margin-top:20px}.safety-rule p{font-size:12px;color:#d9b98f;margin-bottom:0}.diag-progress{height:5px;background:var(--line);margin:14px 0 30px}.diag-progress i{display:block;height:100%;background:var(--cyan)}.diagnostic-options{display:grid;gap:10px;margin:24px 0}.diagnostic-options button{background:#13283a;border:1px solid var(--line);color:white;padding:15px;text-align:left;border-radius:11px}.diagnostic-options button.correct{border-color:var(--cyan);background:#123a34}.diagnostic-options button.wrong{border-color:var(--red);background:#3a1d29}.diagnostic-feedback{min-height:25px;color:#b7cad8}.diagnostic-result{text-align:center;padding:30px 10px}.diagnostic-result>div{font-size:64px}.diagnostic-result p,.guided-copy{color:#b8cbd9;line-height:1.65}.diagnostic-result button{margin:7px}.diagnosticClose,.guidedClose{position:sticky;float:right;top:0;background:#14283a;border:1px solid var(--line);color:white;width:40px;height:40px;border-radius:50%;font-size:24px}.lesson-example b{display:block;margin-top:7px}@media(max-width:850px){.learning-layout{grid-template-columns:1fr}.student-panel{position:static}.learning-hero{grid-template-columns:1fr}.progress-orbit{width:120px;height:120px}.path-step{grid-template-columns:46px 1fr}.path-step>button{grid-column:2}.today-card{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.learning-hero{padding:22px}.learning-hero h2{font-size:31px}.learning-actions{flex-direction:column}.path-step{grid-template-columns:38px 1fr;padding:14px}.step-number{width:36px;height:36px}.student-stats{grid-template-columns:repeat(3,1fr)}}
/* Glassware geometry v2 — reset inherited pseudo-element dimensions. */
.beaker.flask{width:240px;height:300px;margin-top:20px;border:0;border-radius:0;overflow:hidden;clip-path:polygon(38% 0,62% 0,62% 24%,94% 80%,92% 88%,84% 95%,72% 99%,28% 99%,16% 95%,8% 88%,6% 80%,38% 24%);background:#84b6ce;box-shadow:0 16px 30px #0007}
.beaker.flask:before{content:"";position:absolute;inset:5px;width:auto;height:auto;left:5px;right:5px;top:5px;bottom:5px;border:0;border-radius:0;transform:none;clip-path:polygon(38% 0,62% 0,62% 24%,94% 80%,92% 88%,84% 95%,72% 99%,28% 99%,16% 95%,8% 88%,6% 80%,38% 24%);background:#0d2939;box-shadow:inset 0 0 30px #86dfff18;z-index:0}
.beaker.flask:after{display:none}
.beaker.flask .liquid{left:5px;right:5px;bottom:5px;height:61%;border-radius:0;clip-path:none;z-index:1}
.beaker.flask .lab-particles,.beaker.flask .lab-effect,.beaker.flask .mark{z-index:2}
.beaker.volumetric{width:230px;height:320px;margin-top:15px;border:0;border-radius:0;clip-path:none;overflow:visible;box-shadow:none;background:transparent}
.beaker.volumetric:before{content:"";position:absolute;width:218px;height:218px;box-sizing:border-box;left:6px;right:auto;top:auto;bottom:0;border:5px solid #84b6ce;border-radius:50%;transform:none;background:#d7f6ff08;box-shadow:inset 0 0 30px #86dfff18,0 16px 30px #0007;z-index:2}
.beaker.volumetric:after{content:"";display:block;position:absolute;box-sizing:border-box;width:48px;height:108px;left:91px;right:auto;top:0;bottom:auto;transform:none;border:5px solid #84b6ce;border-bottom:0;border-radius:7px 7px 0 0;background:#d7f6ff08;z-index:2}
.beaker.volumetric .liquid{width:208px;height:148px;left:11px;right:auto;bottom:5px;border-radius:0;clip-path:circle(104px at 104px 39px);z-index:1}
.beaker.volumetric .lab-particles,.beaker.volumetric .lab-effect{z-index:3}
.beaker.tube,.beaker.cylinder{margin-top:15px;clip-path:none;background:transparent}
.beaker.tube:before,.beaker.cylinder:before{left:-5px;right:auto;width:35px;height:0;bottom:auto;border:0;border-top:5px solid #84b6ce;transform:none;background:none}
.beaker.tube:after,.beaker.cylinder:after{left:auto;right:-5px;width:35px;height:0;bottom:auto;border:0;border-top:5px solid #84b6ce;transform:none;background:none}
/* Multi-component laboratory workspace */
.free-lab{margin-top:36px;background:linear-gradient(145deg,#0d2030,#081522);border:1px solid #2b5268;border-radius:20px;padding:25px}.free-lab-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.free-lab-head span,.mixture-vessel-head span,.transfer-station>span{color:var(--cyan);font-size:11px;letter-spacing:1.7px}.free-lab-head h2{font-size:30px;margin:7px 0}.free-lab-head p{color:var(--muted);max-width:760px}.free-active{border:1px solid #2d665e;border-radius:20px;padding:10px 14px;color:var(--muted);white-space:nowrap}.free-active b{color:var(--cyan)}.free-addbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:10px;align-items:end;background:#10283a;padding:15px;border-radius:13px;margin:18px 0}.free-addbar label{color:var(--muted);font-size:11px}.free-addbar select,.free-addbar input,.transfer-station input{display:block;width:100%;margin-top:5px;background:#071521;border:1px solid var(--line);color:white;border-radius:8px;padding:10px}.vessel-workspace{display:grid;grid-template-columns:1fr 150px 1fr;gap:14px;align-items:stretch}.mixture-vessel{background:#0b1927;border:1px solid var(--line);border-radius:16px;padding:17px;transition:.2s}.mixture-vessel.active{border-color:var(--cyan);box-shadow:0 0 30px #50e3c215}.mixture-vessel-head{display:flex;justify-content:space-between;gap:10px}.mixture-vessel-head h3{margin:5px 0}.select-vessel,.vessel-actions button,.transfer-station button,.free-controls>button:not(.primary),.mixture-log button{background:#142b3e;border:1px solid var(--line);color:white;padding:8px 10px;border-radius:8px}.mini-vessel{height:145px;width:150px;margin:8px auto 15px;border:4px solid #84b6ce;border-top:0;border-radius:0 0 35px 35px;position:relative;overflow:hidden;display:flex;align-items:end;justify-content:center}.mini-vessel:before,.mini-vessel:after{content:"";position:absolute;top:0;width:30px;border-top:4px solid #84b6ce}.mini-vessel:before{left:0}.mini-vessel:after{right:0}.mini-vessel>div{position:absolute;bottom:0;left:0;right:0;min-height:0;max-height:90%;background:linear-gradient(#5bc9dcaa,#398ec9cc);transition:.25s}.mini-vessel>b{z-index:2;margin-bottom:8px;font-size:11px;text-shadow:0 1px 3px #000}.component-list{display:grid;gap:6px;min-height:60px}.component-list>div{display:grid;grid-template-columns:1fr auto;background:#12283a;border-left:3px solid var(--cyan);padding:9px;border-radius:7px}.component-list span,.component-list small{display:block}.component-list small{color:var(--muted);margin-top:3px}.component-list button{grid-column:2;grid-row:1/3;background:none;border:0;color:var(--red);font-size:20px}.component-list>p{color:var(--muted);text-align:center}.vessel-actions{margin-top:12px;text-align:right}.transfer-station{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;text-align:center}.transfer-station small{color:var(--muted);font-size:10px;line-height:1.4}.free-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#0b1927;padding:14px;margin-top:14px;border-radius:12px}.free-controls label{display:flex;align-items:center;gap:9px;color:var(--muted);margin-right:auto}.free-controls input{accent-color:var(--cyan)}.free-controls b{color:var(--cyan)}.mixture-report{margin-top:14px;background:#0b1927;border:1px solid var(--line);border-radius:14px;padding:18px}.mixture-report>p{color:var(--muted)}.mixture-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mixture-summary div{background:#132b3e;padding:12px;border-radius:8px}.mixture-summary small{display:block;color:var(--muted)}.mixture-summary b{color:var(--cyan);font-size:19px}.interaction-list{display:grid;gap:8px}.interaction-list article{display:flex;flex-direction:column;gap:5px;background:#102b32;border-left:3px solid var(--cyan);padding:12px}.interaction-list span{font-size:9px;letter-spacing:1px;color:var(--cyan)}.interaction-list code{color:#d6e8ed}.interaction-list small{color:var(--muted)}.mixture-warning{background:#35271d;border-left:3px solid var(--orange);padding:10px;margin:7px 0;color:#f4c88d}.model-limit{margin-top:16px;background:#182230;padding:12px;border-left:3px solid var(--muted)}.model-limit p{font-size:12px;color:var(--muted);margin-bottom:0}.mixture-log{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.mixture-log>div{display:flex;justify-content:space-between}.mixture-log ol{max-height:140px;overflow:auto;color:#b9cbd8}.mixture-log li{padding:4px}.mixture-log li span{color:var(--cyan);margin-right:8px}@media(max-width:950px){.free-addbar{grid-template-columns:1fr 1fr}.vessel-workspace{grid-template-columns:1fr}.transfer-station{display:grid;grid-template-columns:1fr 1fr}.transfer-station span,.transfer-station small,.transfer-station label{grid-column:1/-1}.mixture-summary{grid-template-columns:1fr 1fr}}@media(max-width:620px){.free-lab{padding:15px}.free-lab-head{flex-direction:column}.free-addbar{grid-template-columns:1fr}.free-controls{align-items:stretch;flex-direction:column}.free-controls label{width:100%;margin:0}.mixture-summary{grid-template-columns:1fr}.mixture-log>div{align-items:start;gap:10px;flex-direction:column}}
/* Solids, scales and separation tools */
.free-addbar{grid-template-columns:minmax(220px,1fr) 150px repeat(3,minmax(115px,150px)) auto}.free-addbar select{display:block;width:100%;margin-top:5px;background:#071521;border:1px solid var(--line);color:white;border-radius:8px;padding:10px}.component-list .component.solid{border-left-color:var(--orange);background:#2b261f}.component-list em{font-style:normal;font-size:8px;color:var(--cyan);border:1px solid #31695e;padding:2px 4px;border-radius:4px;margin-left:7px}.component-list .solid em{color:var(--orange);border-color:#76572d}.bench-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.bench-tools button{display:flex;flex-direction:column;align-items:center;gap:4px;background:#102638;border:1px solid var(--line);color:white;padding:12px;border-radius:11px}.bench-tools button:hover{border-color:var(--cyan)}.bench-tools i{font-style:normal;font-size:23px;color:var(--cyan)}.bench-tools small{color:var(--muted)}.scale-readout{text-align:center;background:#0c2428;border:1px solid #326e68;padding:20px;border-radius:12px}.scale-readout>span,.filtration-result>span,.ph-strip>span{display:block;color:var(--cyan);font-size:10px;letter-spacing:1.5px}.scale-readout strong{display:block;font-family:Consolas,monospace;color:#83ffd9;font-size:42px;margin:10px}.scale-readout small{color:var(--muted)}.filtration-result{border-left:4px solid var(--cyan);background:#102e2d;padding:15px}.ph-strip{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;padding:12px;margin-bottom:14px;border-left:8px solid #909090;background:#172532}.ph-strip>b{font-size:22px}.ph-strip>small{grid-column:1/-1;color:var(--muted)}.ph-strip.acid{border-color:#ff718b}.ph-strip.neutral{border-color:#68d98f}.ph-strip.base{border-color:#6f8dff}@media(max-width:1100px){.free-addbar{grid-template-columns:1fr 1fr 1fr}.free-addbar>button{grid-column:span 2}.bench-tools{grid-template-columns:1fr 1fr}}@media(max-width:620px){.free-addbar{grid-template-columns:1fr}.free-addbar>button{grid-column:auto}.bench-tools{grid-template-columns:1fr 1fr}.bench-tools small{display:none}}.reaction-products{display:flex;flex-direction:column;gap:7px;margin:14px 0;background:#2a2920;border-left:4px solid var(--orange);padding:14px}.reaction-products>span{font-size:10px;letter-spacing:1.5px;color:var(--orange)}.reaction-products>b{font-size:19px}.reaction-products>button{align-self:flex-start;margin-top:5px}.reaction-products>small{color:var(--muted)}
.component-list .component.solute{border-left-color:#7ba8ff;background:#17263b}.component-list .solute em{color:#9dbbff;border-color:#526b9a}
.component-list .component.gas{border-left-color:#9eeaff;background:#142936}.component-list .gas em{color:#9eeaff;border-color:#3e7482}.bench-tools{grid-template-columns:repeat(5,1fr)}.free-controls select{background:#071521;border:1px solid var(--line);color:white;border-radius:8px;padding:8px}.gas-collector{display:flex;align-items:center;justify-content:center;gap:18px;background:#0a1c29;border:1px dashed #31546b;border-radius:13px;padding:13px;margin-top:10px}.collector-bottle{width:55px;height:75px;border:3px solid #84b6ce;border-radius:8px 8px 20px 20px;position:relative;overflow:hidden}.collector-bottle i{position:absolute;bottom:0;left:0;right:0;height:0;background:#bdefff55;transition:.4s}.gas-collector.filled{border-color:var(--cyan)}.gas-collector.filled .collector-bottle i{height:75%}.gas-collector span{display:block;color:var(--cyan);font-size:9px;letter-spacing:1.5px}.gas-collector b,.gas-collector small{display:block}.gas-collector small{color:var(--muted);margin-top:4px}@media(max-width:850px){.bench-tools{grid-template-columns:repeat(3,1fr)}}
/* Course roadmap, access gates and rewarded XP */
.roadmap-toolbar{display:flex;justify-content:space-between;align-items:center;background:#102e2d;border:1px solid #2e6e63;border-radius:14px;padding:15px 18px;margin-bottom:16px}.roadmap-toolbar b{display:block;color:var(--cyan);font-size:25px}.roadmap-toolbar small{color:var(--muted)}.roadmap-chapter{background:#0c1c2a;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden}.roadmap-chapter.chapter-locked{opacity:.72}.chapter-head{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:17px;padding:20px;background:linear-gradient(90deg,#102a3d,#0c1c2a)}.chapter-number{width:58px;height:58px;border-radius:17px;display:grid;place-content:center;background:#17364a;color:var(--cyan);font-size:22px;font-weight:800}.chapter-head span{color:var(--cyan);font-size:10px;letter-spacing:1.5px}.chapter-head h2{margin:5px 0;font-size:25px}.chapter-head p{margin:0 0 6px;color:var(--muted)}.chapter-head small{color:#9bb3c5}.chapter-head>button{background:#172c3d;border:1px solid #3c5365;color:white;padding:11px 14px;border-radius:9px}.chapter-line{display:flex;align-items:stretch;gap:0;padding:18px;overflow-x:auto}.roadmap-node{position:relative;display:flex;align-items:center;gap:9px;flex:1;min-width:175px;background:none;border:0;color:white;text-align:left;padding:7px}.roadmap-node:not(:last-child):after{content:"";position:absolute;height:2px;width:20px;right:-10px;top:28px;background:#2b4457}.roadmap-node i{flex:0 0 42px;height:42px;border-radius:50%;display:grid;place-content:center;background:#172c3d;border:2px solid #365268;font-style:normal;font-weight:800}.roadmap-node span,.roadmap-node small{display:block}.roadmap-node small{color:var(--muted);font-size:10px;margin-top:3px}.roadmap-node.done i{background:var(--cyan);border-color:var(--cyan);color:#05201c}.roadmap-node.available i{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 18px #50e3c226}.roadmap-node.locked{opacity:.42}.chapter-test{display:block;margin:0 18px 18px auto;background:#241e35;border:1px solid #684d96;color:#d5b7ff;padding:11px 14px;border-radius:9px}.unlock-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.unlock-options article{background:#10263a;border:1px solid var(--line);padding:20px;border-radius:14px}.unlock-options b{font-size:27px;color:var(--cyan)}.unlock-options p{color:var(--muted);min-height:48px}.unlock-options button{padding:11px 14px;border-radius:9px;background:#182e42;border:1px solid var(--line);color:white}.unlock-options button:disabled{opacity:.4}.ad-demo{text-align:center}.ad-demo>span{color:var(--orange);font-size:10px;letter-spacing:1.6px}.ad-screen{min-height:230px;display:grid;place-content:center;background:linear-gradient(135deg,#183349,#2b2446);border-radius:15px;color:#d9c6ff;font-size:20px;margin:20px 0}.ad-demo p{color:var(--cyan)}@media(max-width:760px){.chapter-head{grid-template-columns:48px 1fr}.chapter-head>button{grid-column:2;justify-self:start}.chapter-number{width:46px;height:46px}.chapter-line{flex-direction:column}.roadmap-node:not(:last-child):after{height:14px;width:2px;left:34px;right:auto;top:51px}.unlock-options{grid-template-columns:1fr}.roadmap-toolbar{align-items:start;flex-direction:column;gap:12px}}
/* Reaction explorer and stoichiometry */
.reaction-tools{display:grid;gap:22px;margin-top:26px}.stoich-tool,.reaction-library{background:linear-gradient(145deg,#102337,#091522);border:1px solid var(--line);border-radius:18px;padding:24px}.stoich-tool>span,.reaction-library-head span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.stoich-tool>p{color:var(--muted)}.stoich-tool>label{display:block;color:var(--muted);font-size:12px}.stoich-tool>label input{display:block;width:100%;background:#071521;border:1px solid var(--line);color:var(--cyan);font-size:18px;padding:13px;border-radius:9px;margin-top:6px}.stoich-inputs{display:grid;grid-template-columns:1fr 180px 150px auto;gap:9px;align-items:end;margin-top:12px}.stoich-inputs label{font-size:11px;color:var(--muted)}.stoich-inputs input,.stoich-inputs select,.reaction-library-head select{display:block;width:100%;margin-top:5px;background:#13283a;border:1px solid var(--line);color:white;padding:11px;border-radius:8px}.stoich-balanced{display:flex;flex-direction:column;gap:5px;background:#123a34;border-left:4px solid var(--cyan);padding:15px;margin-top:16px}.stoich-balanced small{color:var(--cyan)}.stoich-balanced b{font-size:21px}.stoich-balanced span{color:#9dc9bd}.stoich-table{display:grid;margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.stoich-row{display:grid;grid-template-columns:1.1fr .7fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:11px;border-bottom:1px solid var(--line)}.stoich-row:last-child{border-bottom:0}.stoich-row.head{background:#071521;color:var(--muted);font-size:10px}.stoich-row.product{background:#102c31}.stoich-row.basis{box-shadow:inset 4px 0 var(--orange)}.stoich-row small{display:block;color:var(--muted);font-size:8px}.reaction-library-head{display:flex;justify-content:space-between;align-items:end;gap:15px}.reaction-library-head h2{margin:5px 0}.reaction-library-head select{min-width:240px}.reaction-cards{display:grid;gap:9px;margin-top:18px}.reaction-cards>article{border:1px solid var(--line);border-radius:12px;overflow:hidden}.reaction-summary{width:100%;display:grid;grid-template-columns:1fr auto 30px;gap:15px;align-items:center;background:#10263a;border:0;color:white;padding:15px;text-align:left}.reaction-summary span small,.reaction-summary span b{display:block}.reaction-summary small{color:var(--cyan);font-size:8px;letter-spacing:1px}.reaction-summary b{font-size:17px;margin-top:4px}.reaction-summary em{font-style:normal;color:var(--muted);font-size:12px}.reaction-summary strong{font-size:20px;color:var(--cyan)}.reaction-detail{padding:18px;background:#0a1826}.particle-equation{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;min-height:120px;background:radial-gradient(circle,#15374b,#071521);padding:18px;border-radius:12px}.particle-equation>div{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap}.particle-equation i{width:58px;height:58px;border-radius:50%;display:grid;place-content:center;background:var(--tone);color:#06141d;font-style:normal;font-weight:800;box-shadow:0 0 16px color-mix(in srgb,var(--tone),transparent 55%)}.particle-equation .product-dot{width:auto;min-width:100px;border-radius:24px;padding:8px;background:#b0e6da}.particle-equation em{font-style:normal}.reaction-detail p,.reaction-detail li{color:#b5c8d7;line-height:1.5}.reaction-safety{background:#33271f;border-left:3px solid var(--orange);padding:11px;color:#efc48d}.reaction-actions{display:flex;gap:9px;margin-top:13px}.reaction-actions button{background:#142c40;border:1px solid var(--line);color:white;padding:10px 13px;border-radius:8px}.reaction-actions button.primary{background:var(--cyan);color:#05201c}@media(max-width:760px){.stoich-inputs{grid-template-columns:1fr 1fr}.stoich-inputs button{grid-column:1/-1}.stoich-row{grid-template-columns:1fr 1fr}.stoich-row.head{display:none}.reaction-library-head{align-items:start;flex-direction:column}.reaction-library-head select{min-width:0}.reaction-summary{grid-template-columns:1fr 25px}.reaction-summary em{display:none}.particle-equation{grid-template-columns:1fr}.reaction-actions{flex-direction:column}}
/* Structured theory chapters */
#theory>.section-head p{color:var(--muted);margin-bottom:0}.theory-total{display:flex;flex-direction:column;text-align:right;border:1px solid #2d665e;padding:10px 14px;border-radius:12px}.theory-total b{color:var(--cyan);font-size:21px}.theory-total small{color:var(--muted)}.theory-chapter-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px;position:sticky;top:83px;z-index:5;background:#07111ce8;backdrop-filter:blur(10px);padding:9px 0}.theory-chapter-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;background:#102337;border:1px solid var(--line);color:white;padding:10px 7px;border-radius:10px}.theory-chapter-nav i{font-style:normal;color:var(--cyan);font-size:18px}.theory-chapter-nav span{font-size:10px}.theory-chapter-nav small{color:var(--muted)}#theory .lesson-grid{display:grid;grid-template-columns:1fr;gap:18px}.theory-chapter{background:#0a1826;border:1px solid var(--line);border-radius:19px;padding:22px;scroll-margin-top:155px}.theory-chapter>header{display:grid;grid-template-columns:64px 1fr auto;gap:17px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:17px}.theory-chapter-icon{width:60px;height:60px;border-radius:16px;background:radial-gradient(circle,#1a4851,#102538);display:grid;place-content:center;color:var(--cyan);font-size:22px;font-weight:800}.theory-chapter header span{color:var(--cyan);font-size:10px;letter-spacing:1.5px}.theory-chapter header h2{margin:5px 0}.theory-chapter header p{color:var(--muted);margin:0}.theory-chapter-progress{text-align:center;background:#10283a;padding:9px 13px;border-radius:10px}.theory-chapter-progress b,.theory-chapter-progress small{display:block}.theory-chapter-progress b{color:var(--cyan);font-size:20px}.theory-chapter-progress small{color:var(--muted);font-size:9px}.theory-lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theory-lessons>article{position:relative;padding-top:38px}.theory-lessons>article.lesson-complete{border-color:#2f7065;background:linear-gradient(145deg,#12352f,#0a1724)}.lesson-state{position:absolute;top:14px;right:14px;color:var(--cyan)!important;font-size:9px!important;letter-spacing:1px}.theory-locked .theory-lessons{filter:grayscale(.45);opacity:.55}.theory-locked article button{cursor:not-allowed}.theory-lock-note{display:block;margin:15px auto 0;background:#251f35;border:1px solid #5f4a7c;color:#d5bded;padding:11px 15px;border-radius:9px}@media(max-width:950px){.theory-chapter-nav{grid-template-columns:repeat(3,1fr)}.theory-lessons{grid-template-columns:1fr 1fr}}@media(max-width:620px){.theory-chapter-nav{position:static;grid-template-columns:1fr 1fr}.theory-chapter-nav span{display:none}.theory-chapter>header{grid-template-columns:48px 1fr}.theory-chapter-icon{width:46px;height:46px}.theory-chapter-progress{grid-column:2;justify-self:start}.theory-lessons{grid-template-columns:1fr}}
/* Laboratory process feedback and instrument alignment */
.lab-scene{padding-top:70px;padding-bottom:105px}.process-panel{position:absolute;left:16px;right:16px;bottom:14px;background:#071521df;border:1px solid #29475c;border-radius:12px;padding:10px 13px;z-index:8}.process-progress{height:4px;background:#1b3447;border-radius:5px;overflow:hidden}.process-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .45s}.process-steps{display:flex;justify-content:space-between;margin-top:7px}.process-steps span{font-size:8px;color:#70899e}.process-steps span.active{color:var(--cyan);font-weight:800}.process-panel p{margin:7px 0 0;color:#b8ccda;font-size:11px;line-height:1.35;min-height:15px}.apparatus-layer{inset:0;overflow:hidden}.burette-visual{left:50%;top:auto;bottom:calc(50% + 95px);height:205px;transform:translateX(-50%)}.pipette-visual{left:50%;top:auto;bottom:calc(50% + 92px);height:155px;transform:translateX(-50%) rotate(8deg)}.heater-visual{bottom:104px}.stirrer-visual{bottom:132px}.liquid:before{content:"";position:absolute;left:-20%;right:-20%;top:-8px;height:18px;border-radius:50%;background:#bdefff42;transform:translateX(-12%);opacity:0}.liquid.process-mixing:before,.liquid.mixing:before{opacity:1;animation:liquidWave .55s ease-in-out infinite alternate}.liquid.process-mixing{animation:liquidPulse .7s ease-in-out infinite alternate!important}.lab-scene.reaction-active .beaker{filter:drop-shadow(0 0 12px #50e3c244)}.lab-scene.reaction-active .lab-status{animation:statusPulse .8s infinite alternate}.lab-scene.process-finished .lab-status{color:#7cf2b0}.lab-scene.process-finished .process-panel{border-color:#3a7969}.tool-in-motion .burette-visual,.tool-in-motion .pipette-visual{animation:instrumentDose .65s ease-in-out}.dripping .burette-visual em{animation:dropToVessel .7s linear}.spinning .stirrer-visual{animation:spinCentered 1s linear infinite}@keyframes liquidWave{to{transform:translateX(12%) scaleY(.75)}}@keyframes liquidPulse{from{transform:scaleY(.98)}to{transform:scaleY(1.025)}}@keyframes statusPulse{to{opacity:.55}}@keyframes instrumentDose{50%{transform:translateX(-50%) translateY(7px)}}@keyframes dropToVessel{from{transform:translateY(0);opacity:1}to{transform:translateY(95px);opacity:0}}@keyframes spinCentered{to{transform:translateX(-50%) rotate(360deg)}}@media(max-width:680px){.lab-scene{padding-bottom:125px}.process-steps span{font-size:7px}.burette-visual{bottom:calc(50% + 80px);height:180px}.tool-panel{top:45px}}
/* Account, profile and economy */
.account-badge{color:var(--cyan);border:1px solid #2d665e;padding:9px 13px;border-radius:20px}.guest-profile{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#102f3a,#111a31);border:1px solid #31556a;border-radius:20px;padding:30px}.guest-profile span,.settings-card>span,.economy-card>span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.guest-profile p{color:var(--muted);max-width:720px}.guest-profile>div:last-child{display:flex;gap:9px}.guest-profile button:not(.primary),#logoutButton{background:transparent;border:1px solid var(--line);color:white;padding:12px 15px;border-radius:9px}.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.profile-card,.settings-card,.economy-card{background:#0d1d2c;border:1px solid var(--line);border-radius:17px;padding:22px}.profile-card{text-align:center;align-self:start}.profile-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-content:center;margin:auto;background:linear-gradient(145deg,var(--cyan),var(--blue));color:#062027;font-size:38px;font-weight:800}.profile-card h2{margin-bottom:5px}.profile-card>p{color:var(--muted)}.profile-plan{display:flex;justify-content:space-between;background:#13283a;padding:12px;margin:18px 0;border-radius:9px}.profile-plan span{color:var(--muted)}.profile-plan b{color:var(--cyan)}#logoutButton{width:100%}.profile-main{display:grid;gap:14px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profile-stats article{background:#10283a;border:1px solid var(--line);padding:17px;border-radius:13px}.profile-stats small,.profile-stats b{display:block}.profile-stats small{color:var(--muted)}.profile-stats b{font-size:23px;color:var(--cyan);margin-top:6px}.settings-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-card>span,.settings-card>h2,.settings-card>button,.settings-card>p{grid-column:1/-1}.settings-card label{color:var(--muted);font-size:11px}.settings-card input:not([type=checkbox]),.settings-card select{display:block;width:100%;margin-top:5px;background:#071521;border:1px solid var(--line);color:white;padding:11px;border-radius:8px}.setting-toggle{display:flex;align-items:center;justify-content:space-between;background:#13283a;padding:12px;border-radius:8px}.setting-toggle input{accent-color:var(--cyan);width:20px;height:20px}.settings-card>p{color:var(--cyan);min-height:18px}.economy-card>p,.economy-history>p{color:var(--muted)}.economy-history{display:grid;gap:6px}.economy-history article{display:grid;grid-template-columns:1fr auto 80px;align-items:center;gap:12px;background:#13283a;padding:11px;border-radius:8px}.economy-history small{display:block;color:var(--muted);margin-top:3px}.economy-history strong.plus{color:var(--cyan)}.economy-history strong.minus{color:var(--orange)}.economy-history em{font-style:normal;color:var(--muted);text-align:right}.auth-form{display:grid;gap:13px}.auth-form label{color:var(--muted);font-size:12px}.auth-form input{display:block;width:100%;margin-top:6px;background:#071521;border:1px solid var(--line);color:white;padding:13px;border-radius:9px}.auth-form p{color:var(--red);min-height:20px}.auth-switch{background:none;border:0;color:var(--cyan);margin-top:12px}.authClose{position:sticky;float:right;top:0;background:#14283a;border:1px solid var(--line);color:white;width:40px;height:40px;border-radius:50%;font-size:24px}html[data-theme=light]{--bg:#eaf1f5;--panel:#fff;--line:#bdd0dc;--text:#102434;--muted:#5e7483}html[data-theme=light] body{background:#edf4f7;color:var(--text)}html[data-theme=light] .top{background:#f5fafbe8}html[data-theme=light] .brand{color:#102434}@media(max-width:820px){.profile-layout{grid-template-columns:1fr}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:8px;text-align:left}.profile-avatar{grid-row:1/4;margin:0}.profile-plan,#logoutButton{grid-column:1/-1}.guest-profile{align-items:start;flex-direction:column}.settings-card{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr}.economy-history article{grid-template-columns:1fr auto}.economy-history em{display:none}}
/* Lifetime levels and Android-style bottom navigation */
.level{display:flex;align-items:center;gap:7px;min-width:155px}.level>span{white-space:nowrap}.level>i{display:block;width:54px;height:4px;background:#19364a;border-radius:5px;overflow:hidden}.level>i>b{display:block;height:100%;background:var(--cyan)}.level>small{white-space:nowrap;color:var(--cyan)}.profile-stats{grid-template-columns:repeat(4,1fr)}.level-progress-card{background:linear-gradient(135deg,#12372f,#10263a);border:1px solid #347667;padding:17px;border-radius:14px}.level-progress-card>div:first-child{display:flex;justify-content:space-between}.level-progress-card span{color:var(--cyan);font-weight:800}.level-progress-card>small{display:block;color:var(--muted);margin-top:8px}.level-progress-track{height:9px;background:#071521;border-radius:7px;margin-top:12px;overflow:hidden}.level-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:7px;transition:.4s}@media(max-width:760px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.top{height:58px;padding:0 14px;gap:10px;justify-content:space-between}.top .brand{font-size:21px}.top nav{height:calc(68px + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(6,1fr);gap:1px;align-items:stretch;box-shadow:0 -8px 30px #0008;z-index:50}.nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:4px 1px!important;border-radius:9px;font-size:9px;line-height:1.05}.nav:before{display:block;font-size:20px;line-height:22px;color:#7591a8}.nav.active:before{color:var(--cyan)}.nav[data-section=learn]:before{content:"⌂"}.nav[data-section=table]:before{content:"▦"}.nav[data-section=theory]:before{content:"▤"}.nav[data-section=reactions]:before{content:"⇄"}.nav[data-section=lab]:before{content:"⚗"}.nav[data-section=profile]:before{content:"●"}.nav.active{background:#12352f;color:var(--cyan)}.level{display:flex!important;min-width:0;border:0;padding:0;font-size:10px}.level>i{width:42px}.level>small{font-size:9px}main{padding-left:13px;padding-right:13px;padding-bottom:25px}.hero{min-height:220px}.hero h1{font-size:39px}.hero p{font-size:15px}.profile-stats{grid-template-columns:1fr 1fr}.section-head{margin-bottom:17px}.section-head h2{font-size:27px}.page{padding-top:25px}}@media(max-width:390px){.nav{font-size:8px}.nav:before{font-size:18px}.level>i{display:none}.level{gap:3px}.hero h1{font-size:34px}}
/* Story-led lessons and learner-controlled quizzes */
.quiz-continue{display:block;margin-top:14px;min-width:190px}.diagnostic-feedback b{color:var(--cyan)}.story-intro,.human-example{margin:20px 0;background:linear-gradient(135deg,#102b3e,#102333);border:1px solid #31536b;border-radius:18px;padding:24px}.story-intro>span,.human-example>span{color:var(--cyan);font-size:10px;letter-spacing:1.8px}.story-intro h2,.human-example h2{margin:8px 0}.story-intro p,.human-example p{color:#bdd0df;line-height:1.7}.story-scene{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:20px 0}.story-scene div{text-align:center;background:#091724;border:1px solid var(--line);padding:17px 8px;border-radius:13px;font-size:28px}.story-scene b,.story-scene small{display:block}.story-scene b{font-size:15px;margin-top:7px}.story-scene small,.story-scene i{color:var(--muted);font-size:11px}.story-question{border-left:3px solid var(--orange);padding-left:14px}.lesson-notes article small{display:block;color:#87a0b8;line-height:1.4;margin-top:8px}@media(max-width:620px){.story-scene{grid-template-columns:1fr}.story-scene i{text-align:center}.story-intro,.human-example{padding:18px}.quiz-continue{width:100%}}.lesson-opening,.think-card{margin:16px 0;padding:18px;border-radius:13px;background:#102b3a;border-left:3px solid var(--cyan)}.lesson-opening span,.think-card span{color:var(--cyan);font-size:10px;letter-spacing:1.6px}.lesson-opening p,.think-card p{color:#c5d8e6;line-height:1.65;margin-bottom:0}.think-card{border-left-color:var(--orange);background:#29231c}.think-card span{color:var(--orange)}.course-result b{color:var(--cyan)}
/* Step-by-step story lesson player */
.lesson-player{min-height:620px;display:flex;flex-direction:column}.lesson-player-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.lesson-player-head span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.lesson-player-head h1{font-size:clamp(30px,5vw,48px);margin:8px 0 12px}.lesson-player-head>b{color:var(--cyan);background:#102b3a;border:1px solid #31536b;border-radius:20px;padding:8px 12px;white-space:nowrap}.lesson-player-progress{height:6px;background:#172d3f;border-radius:8px;overflow:hidden;margin-bottom:24px}.lesson-player-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .35s}.lesson-scene{flex:1;background:radial-gradient(circle at 85% 10%,#19394b,#0a1826 58%);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,5vw,42px)}.lesson-story-symbol{width:110px;height:110px;border-radius:50%;display:grid;place-content:center;margin:4px auto 26px;background:radial-gradient(circle,#56e8cc,#166073 58%,#0a2234 60%);color:#061b20;font-weight:900;font-size:29px;box-shadow:0 0 45px #50e3c244}.lesson-story-copy{max-width:760px;margin:0 auto 24px;color:#d5e5ef;font-size:clamp(17px,2.2vw,21px);line-height:1.75}.story-promise,.meaning-box{max-width:720px;margin:20px auto;background:#102d3c;border-left:3px solid var(--cyan);padding:17px}.story-promise b,.story-promise span{display:block}.story-promise span{color:var(--muted);margin-top:6px;line-height:1.5}.story-example{max-width:720px;margin:18px auto}.story-example p{font-size:17px;line-height:1.6;margin-bottom:0}.reveal-button{display:block;margin:18px auto;background:#162d41;border:1px solid #426078;color:var(--cyan);padding:12px 16px;border-radius:10px}.meaning-box{color:#bfd4e2;line-height:1.6}.thought-input{max-width:720px;margin:20px auto}.thought-input label,.thought-input small{display:block;color:var(--muted)}.thought-input textarea{width:100%;min-height:130px;margin:9px 0;padding:15px;background:#071521;border:1px solid #365268;border-radius:12px;color:white;font:inherit;resize:vertical}.lesson-scene.quiz .course-options{max-width:720px;margin:20px auto}.lesson-scene.quiz .course-result{max-width:720px;margin:16px auto;color:#bcd0df;line-height:1.55}.lesson-player-actions{display:flex;justify-content:space-between;gap:12px;padding-top:18px}.lesson-player-actions .primary{margin-left:auto}.lesson-back{background:transparent;border:1px solid var(--line);color:white;padding:12px 17px;border-radius:10px}@media(max-width:620px){.course-dialog{padding:18px}.lesson-player{min-height:calc(88vh - 36px)}.lesson-scene{padding:20px 16px}.lesson-player-head h1{font-size:29px}.lesson-story-copy{font-size:17px}.lesson-player-actions button{flex:1}.lesson-story-symbol{width:84px;height:84px;font-size:23px}}
/* Touch-friendly micro laboratories inside lessons */
.micro-lab{max-width:720px;margin:20px auto;background:#091825;border:1px solid #31536b;border-radius:17px;padding:22px;text-align:center}.micro-lab>span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.micro-lab h3{font-size:25px;margin:8px}.micro-lab>p{color:var(--muted);line-height:1.5}.atom-palette{display:flex;justify-content:center;gap:10px;margin:20px 0}.atom-palette button{min-width:66px;min-height:54px;background:#142c40;border:1px solid #42627a;border-radius:14px;color:white;font-size:20px;font-weight:800}.atom-palette button[data-atom=H]{color:#9eeaff}.atom-palette button[data-atom=O]{color:#ff8da2}.atom-palette #clearMolecule{font-size:12px;font-weight:500}.molecule-slots{display:flex;align-items:center;justify-content:center;gap:8px;min-height:100px}.molecule-slots i{width:70px;height:70px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle at 35% 30%,#e8faff,#53a9c8);border:2px solid #a9eaff;color:#09202a;font-size:25px;font-style:normal;font-weight:900;box-shadow:0 0 20px #50cbe744}.molecule-slots i:nth-child(2){background:radial-gradient(circle at 35% 30%,#ffccd5,#e95770);border-color:#ff9aad}.formula-builder>h3{font-size:42px;color:var(--cyan)}.formula-builder label{display:block;color:var(--muted)}.formula-builder input,.ph-mission>input{width:100%;accent-color:var(--cyan);min-height:38px}.atom-tally{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.atom-tally div{background:#10283a;border-radius:12px;padding:15px}.atom-tally b,.atom-tally small{display:block}.atom-tally b{color:var(--cyan);font-size:31px}.atom-tally small{color:var(--muted)}.ph-liquid{--ph-color:#e65b64;min-height:150px;display:flex;flex-direction:column;justify-content:center;margin:17px auto;max-width:300px;border:5px solid #a4cee3;border-top:0;border-radius:8px 8px 70px 70px;background:linear-gradient(transparent 20%,var(--ph-color) 21%);transition:background .25s}.ph-liquid b{font-size:35px;text-shadow:0 2px 6px #000}.ph-liquid span{font-weight:700}.ph-scale-labels{display:flex;justify-content:space-between;color:var(--muted)}#missionFeedback{min-height:28px;color:#b9cedc}#missionFeedback b{color:var(--cyan)}.lesson-player-actions button:disabled{opacity:.42;cursor:not-allowed}@media(max-width:620px){.micro-lab{padding:17px 12px}.micro-lab h3{font-size:21px}.atom-palette button{min-width:58px}.molecule-slots i{width:59px;height:59px}}
/* Full 2D molecule constructor */
.builder-formula{min-width:190px;background:#102c38;border:1px solid #337064;border-radius:15px;padding:12px 18px;text-align:right}.builder-formula small,.builder-formula b,.builder-formula span{display:block}.builder-formula small{color:var(--cyan);font-size:9px;letter-spacing:1.4px}.builder-formula b{font-size:28px;margin:3px 0}.builder-formula span{color:var(--muted);font-size:12px}.molecule-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.molecule-toolbar button{background:#13283a;border:1px solid var(--line);color:white;padding:10px 13px;border-radius:9px}.molecule-toolbar .primary{background:var(--cyan);color:#05201c}.molecule-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.45fr);gap:14px}.element-palette,.builder-workspace{background:#0b1b29;border:1px solid var(--line);border-radius:17px;overflow:hidden}.palette-head{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.palette-head b,.palette-head small{display:block}.palette-head small{color:var(--muted);font-size:10px}.palette-head input{width:130px;background:#071521;border:1px solid var(--line);color:white;padding:9px;border-radius:8px}.builder-elements{height:570px;overflow:auto;display:grid;grid-template-columns:repeat(18,minmax(35px,1fr));grid-template-rows:repeat(9,48px);gap:3px;padding:10px}.builder-elements button{grid-column:var(--group);grid-row:var(--row);min-width:34px;background:#112638;border:1px solid #29445a;border-radius:6px;color:white;padding:3px;overflow:hidden}.builder-elements button:hover,.builder-elements button.active{border-color:var(--cyan);background:#16413c;box-shadow:0 0 12px #50e3c233}.builder-elements small,.builder-elements b,.builder-elements em{display:block;font-style:normal}.builder-elements small{font-size:7px;color:var(--muted)}.builder-elements b{font-size:15px}.builder-elements em{font-size:6px;white-space:nowrap;overflow:hidden}.builder-workspace{position:relative;min-height:620px;background:radial-gradient(circle at 50% 45%,#17394d,#081521 67%)}.workspace-tip{min-height:45px;padding:13px 16px;background:#0c2131;border-bottom:1px solid var(--line);color:#a9c4d5;font-size:12px}.builder-workspace svg{display:block;width:100%;height:520px;touch-action:none}.molecule-bond{stroke:#b7d7e8;stroke-width:7;stroke-linecap:round}.canvas-atom{cursor:grab;filter:drop-shadow(0 5px 8px #0008)}.canvas-atom:active{cursor:grabbing}.canvas-atom circle{stroke:#d8f4ff;stroke-width:2}.canvas-atom text{font-size:25px;font-weight:900;fill:#07131c;pointer-events:none}.canvas-atom.selected circle{stroke:var(--orange);stroke-width:7;filter:drop-shadow(0 0 12px var(--orange))}.builder-status{display:grid;grid-template-columns:100px 100px 1fr;border-top:1px solid var(--line);background:#0c2131}.builder-status div{padding:11px 14px;border-right:1px solid var(--line)}.builder-status small,.builder-status b{display:block}.builder-status small{font-size:8px;color:var(--muted);letter-spacing:1px}.builder-status b{margin-top:4px;color:var(--cyan)}#builderValidation[data-state=bad]{color:var(--red)}#builderValidation[data-state=warn]{color:var(--orange)}.builder-help{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.builder-help article{background:#102337;border:1px solid var(--line);border-radius:12px;padding:15px}.builder-help b{color:var(--cyan)}.builder-help p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:0}@media(max-width:950px){.molecule-layout{grid-template-columns:1fr}.element-palette{order:2}.builder-elements{height:auto;min-height:390px}.builder-help{grid-template-columns:1fr}.builder-workspace{min-height:560px}}@media(max-width:760px){.top nav{grid-template-columns:repeat(7,1fr)}.nav[data-section=molecules]:before{content:'⬡'}.builder-formula{text-align:left}.molecule-page .section-head{display:grid;grid-template-columns:1fr}.molecule-layout{display:flex;flex-direction:column}.builder-workspace{order:1;min-height:500px}.builder-workspace svg{height:405px}.element-palette{order:2}.builder-elements{grid-template-columns:repeat(18,42px);grid-template-rows:repeat(9,48px);overflow:auto;min-height:455px}.builder-status{grid-template-columns:70px 70px 1fr}.builder-status div{padding:9px}.molecule-toolbar button{flex:1}.molecule-toolbar .primary{flex-basis:100%}}@media(max-width:430px){.top nav{overflow-x:auto;grid-template-columns:repeat(7,minmax(52px,1fr))}.nav{font-size:7px}.builder-workspace svg{height:360px}.builder-elements{grid-template-columns:repeat(18,39px)}}
/* Wikimedia imagery directly in the periodic table */
.periodic .element{position:relative;min-width:72px;aspect-ratio:auto;height:92px;padding:4px;overflow:hidden;background:#0b1a27}.periodic .element>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.85);transition:.2s}.periodic .element:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07111c22,#07111ce8 74%);pointer-events:none}.periodic .element:hover>img{opacity:.72;transform:scale(1.06)}.periodic .element small,.periodic .element strong{position:relative;z-index:2;text-shadow:0 1px 4px #000}.periodic .element>small:first-of-type{color:white}.periodic .element strong{margin-top:25px}.element-photo-kind{position:absolute;right:4px;top:4px;z-index:3;background:#071521cc;color:var(--cyan);font-size:6px;letter-spacing:.6px;padding:2px 3px;border-radius:3px}.element-photo{position:relative;overflow:hidden;border-radius:14px;margin-bottom:14px;background:#071521}.element-photo img{display:block;width:100%;max-height:310px;object-fit:contain}.element-photo>span{position:absolute;left:10px;bottom:10px;background:#06111ddd;border:1px solid #31536b;border-radius:7px;padding:6px 9px;color:#d8e8f2;font-size:10px}@media(max-width:760px){.periodic{grid-template-columns:repeat(18,72px)}.periodic .element{min-width:72px;height:90px}}
/* Beginner-friendly contextual help */
[data-help]{position:relative;cursor:help;outline:none}[data-help]:focus{box-shadow:0 0 0 2px #50e3c277}.help-dot{display:inline-grid!important;place-content:center;width:17px;height:17px;border-radius:50%;margin-left:4px;background:#1c4556;color:var(--cyan)!important;font-size:11px!important;font-style:normal;font-weight:900;vertical-align:middle}.learning-tooltip{display:none;position:fixed;z-index:1000;background:#10283a;border:1px solid #50e3c288;border-radius:13px;padding:16px 38px 14px 16px;box-shadow:0 16px 45px #000b;color:white}.learning-tooltip.visible{display:block;animation:tooltipIn .16s ease-out}.learning-tooltip>b{display:block;color:var(--cyan);font-size:16px}.learning-tooltip>p{color:#c4d8e5;line-height:1.55;margin:7px 0}.learning-tooltip>small{display:none;color:var(--muted);font-size:9px}.learning-tooltip>button{position:absolute;right:8px;top:7px;border:0;background:transparent;color:#9cb3c3;font-size:20px}.learning-tooltip:after{content:'';position:absolute;left:calc(50% - 7px);bottom:-8px;width:14px;height:14px;background:#10283a;border-right:1px solid #50e3c288;border-bottom:1px solid #50e3c288;transform:rotate(45deg)}.learning-tooltip.below:after{top:-8px;bottom:auto;transform:rotate(225deg)}@keyframes tooltipIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(hover:none),(max-width:760px){.learning-tooltip>small{display:block}.learning-tooltip{font-size:14px}.help-dot{width:20px;height:20px}}
/* Premium element dossiers */
.dossier-gate{margin:22px 0}.dossier-loading,.dossier-open{background:#102c38;border:1px solid #326658;border-radius:13px;padding:14px;color:#bcd3df}.dossier-open{display:flex;justify-content:space-between;gap:12px}.dossier-open span{color:var(--cyan);font-weight:800}.dossier-open small{color:var(--muted)}.dossier-lock{text-align:center;background:radial-gradient(circle at 50% 0,#273654,#111b2b 65%);border:1px solid #654e8c;border-radius:18px;padding:26px}.dossier-lock-icon{width:64px;height:64px;border-radius:50%;display:grid;place-content:center;margin:auto;background:#392d55;color:#d5b7ff;font-size:34px}.dossier-lock>span{display:block;margin-top:12px;color:#c9a8f5;font-size:10px;letter-spacing:1.8px}.dossier-lock h3{font-size:24px;margin:7px}.dossier-lock p{max-width:620px;margin:10px auto;color:#becbdd;line-height:1.55}.dossier-lock>div:not(.dossier-lock-icon){display:flex;justify-content:center;gap:9px;margin:18px 0}.dossier-lock button{padding:12px 15px;border-radius:9px;background:#1a2b40;border:1px solid #516078;color:white}.dossier-lock button.primary{background:var(--cyan);color:#05201c}.dossier-lock>small{display:block;color:var(--muted);font-size:9px}.dossier-lock .pro-note{color:var(--orange);margin-top:15px}.dossier-ad{text-align:center;background:#111d30;border:1px solid #604b85;border-radius:17px;padding:24px}.dossier-ad>span{color:#c9a8f5;font-size:10px;letter-spacing:1.6px}.dossier-ad>div{min-height:170px;display:grid;place-content:center;margin:15px 0;background:linear-gradient(145deg,#173d4a,#392954);border-radius:13px;font-size:26px}.dossier-ad>div b{color:var(--cyan)}.dossier-ad p{color:var(--cyan)}.deep-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.deep-facts article{background:#10283a;border:1px solid var(--line);border-radius:12px;padding:15px}.deep-facts span{color:var(--cyan);font-size:9px;letter-spacing:1.3px}.deep-facts p{color:#bed0dc;line-height:1.55;margin-bottom:0}.learning-tooltip:popover-open{display:block;margin:0}@media(max-width:620px){.dossier-lock>div:not(.dossier-lock-icon){flex-direction:column}.dossier-open{flex-direction:column}.deep-facts{grid-template-columns:1fr}}
/* Usable mobile periodic-table card mode */
.element-cell-mass{display:none!important}.mobile-table-note{display:none}@media(max-width:760px){#table .section-head{position:sticky;top:58px;z-index:7;background:#07111cf2;padding:10px 0;margin-bottom:8px}#table .section-head h2{font-size:24px;margin:3px 0}#table .legend{flex-wrap:nowrap;overflow-x:auto;margin:0 -13px 12px;padding:4px 13px 8px;scrollbar-width:none}#table .legend::-webkit-scrollbar{display:none}#table .legend button{flex:0 0 auto;white-space:nowrap}.periodic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px;overflow:visible;padding-bottom:20px}.periodic .element{grid-column:auto!important;grid-row:auto!important;min-width:0!important;width:100%;height:124px;border-radius:13px;padding:9px}.periodic .element>img{opacity:.5}.periodic .element strong{font-size:29px;margin-top:34px}.periodic .element>small:not(.element-cell-mass){font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.periodic .element>small:first-of-type{position:absolute;left:9px;top:8px}.periodic .element .element-cell-mass{display:block!important;position:absolute;right:7px;bottom:6px;color:#a9bfce;font-size:8px;z-index:3}.periodic .element-photo-kind{font-size:7px;padding:3px 5px}.periodic .element:hover{transform:none}.periodic .loading{grid-column:1/-1!important}.facts{gap:8px}.fact{padding:12px}.fact small{font-size:12px}.element-photo{height:210px}}
@media(min-width:500px) and (max-width:760px){.periodic{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
/* Atom lesson mobile overflow repair */
.atom-workbench,.atom-stage,.atom-copy,.lesson-panel{min-width:0;max-width:100%}.atom-stage{overflow:hidden}.particle-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.particle-facts div{min-width:0;overflow:hidden}.particle-facts b,.particle-facts small{overflow-wrap:anywhere}.lesson-finish-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.lesson-finish-actions button{padding:13px 17px;border-radius:10px;border:1px solid var(--line);background:#14283a;color:white}.lesson-finish-actions .primary{background:var(--cyan);color:#05201c}.transition-ad{text-align:center;padding:16px}.transition-ad>span{color:var(--orange);font-size:10px;letter-spacing:1.6px}.transition-ad-screen{min-height:220px;display:grid;place-content:center;margin:18px 0;background:linear-gradient(145deg,#193b49,#382952);border-radius:16px;font-size:24px}.transition-ad-screen b{display:block;color:var(--cyan)}.transition-ad p{color:var(--cyan)}@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}.lesson-panel{padding-left:0;padding-right:0}.atom-workbench{padding:14px;overflow:hidden}.atom-stage{min-height:310px}.atom-model{width:390px;height:390px;transform:scale(.72);transform-origin:center;margin:-42px}.element-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.element-switcher button{width:100%;min-width:0}.particle-facts{gap:6px}.particle-facts div{padding:10px 6px}.particle-facts b{font-size:20px}.particle-facts small{font-size:9px}.lesson-finish-actions{flex-direction:column}.lesson-finish-actions button{width:100%}.top nav{overflow:visible!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}.nav{min-width:0!important}}
@media(max-width:380px){.atom-model{transform:scale(.64);margin:-62px}.atom-stage{min-height:270px}.particle-facts{grid-template-columns:1fr}.particle-facts div{display:flex;align-items:center;justify-content:space-between}.nav{font-size:6.5px!important}.nav:before{font-size:16px!important}}.lesson-completion{text-align:center;display:grid;place-content:center;min-height:580px}.lesson-completion>div{width:86px;height:86px;margin:auto;border-radius:50%;display:grid;place-content:center;background:var(--cyan);color:#05201c;font-size:45px;font-weight:900}.lesson-completion>span{color:var(--cyan);font-size:10px;letter-spacing:1.8px;margin-top:18px}.lesson-completion h1{font-size:40px}.lesson-completion p{color:var(--muted);max-width:560px;line-height:1.6}.lesson-completion section{display:flex;justify-content:center;gap:10px;margin-top:18px}.lesson-completion button{padding:13px 17px;border-radius:10px;border:1px solid var(--line);background:#14283a;color:white}.lesson-completion button.primary{background:var(--cyan);color:#05201c}@media(max-width:620px){.lesson-completion{min-height:70vh}.lesson-completion section{flex-direction:column}.lesson-completion h1{font-size:31px}}
/* Searchable chemistry terminology */
.theory-mode-tabs{display:flex;gap:8px;margin-bottom:20px;padding:5px;background:#0c1c2a;border:1px solid var(--line);border-radius:13px;width:max-content}.theory-mode-tabs button{border:0;background:transparent;color:var(--muted);padding:11px 17px;border-radius:9px}.theory-mode-tabs button.active{background:#153a37;color:var(--cyan);font-weight:800}.glossary-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;background:linear-gradient(135deg,#102f3c,#151d35);border:1px solid #31536b;border-radius:19px;padding:25px}.glossary-hero span{color:var(--cyan);font-size:10px;letter-spacing:1.8px}.glossary-hero h2{font-size:34px;margin:7px 0}.glossary-hero p{color:var(--muted);margin-bottom:0}.glossary-hero input{width:300px;background:#071521;border:1px solid #365268;border-radius:11px;padding:13px;color:white}.glossary-letters{display:grid;gap:9px;margin:15px 0}.glossary-categories,.glossary-alphabet{display:flex;gap:6px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.glossary-categories::-webkit-scrollbar,.glossary-alphabet::-webkit-scrollbar{display:none}.glossary-letters button{flex:0 0 auto;background:#10263a;border:1px solid var(--line);color:#a9bfce;padding:8px 11px;border-radius:9px}.glossary-letters button.active{border-color:var(--cyan);color:var(--cyan);background:#12352f}.glossary-alphabet button{min-width:34px;padding:7px}.glossary-stats{color:var(--muted);font-size:12px;margin:12px 0}.glossary-stats b{color:var(--cyan)}.glossary-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.glossary-card{background:#0d1e2e;border:1px solid var(--line);border-radius:13px;overflow:hidden}.glossary-card.learned{border-color:#2f6f62}.glossary-card summary{display:flex;justify-content:space-between;align-items:center;padding:17px;list-style:none;cursor:pointer}.glossary-card summary::-webkit-details-marker{display:none}.glossary-card summary span{color:var(--cyan);font-size:8px;letter-spacing:1.3px}.glossary-card summary h3{font-size:20px;margin:4px 0}.glossary-card summary i{font-style:normal;color:var(--cyan);font-size:23px}.glossary-card>div{padding:0 17px 17px}.glossary-card p{color:#bfd1dd;line-height:1.6}.glossary-card section{background:#091724;border-left:3px solid var(--orange);padding:12px;color:#cbd9e2;line-height:1.5}.glossary-card section small{display:block;color:var(--orange);margin-bottom:5px}.glossary-card button{margin-top:13px;background:#142b3e;border:1px solid #35536a;color:var(--cyan);padding:9px 12px;border-radius:8px}.glossary-card.learned button{background:#12372f}.glossary-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--muted)}@media(max-width:760px){.theory-mode-tabs{position:sticky;top:58px;z-index:8;width:100%;background:#0c1c2af2}.theory-mode-tabs button{flex:1}.glossary-hero{align-items:stretch;flex-direction:column;padding:20px}.glossary-hero h2{font-size:27px}.glossary-hero label,.glossary-hero input{width:100%}.glossary-list{grid-template-columns:1fr}.glossary-categories,.glossary-alphabet{margin-right:-13px}.glossary-card summary h3{font-size:19px}}/* Unified server-backed learning summary */
.learning-summary-card{background:linear-gradient(145deg,#0d2433,#102d35);border:1px solid #315b63;border-radius:17px;padding:22px}.learning-summary-head,.learning-course-progress>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.learning-summary-head span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.learning-summary-head h2{margin:5px 0 0}.learning-summary-head>b{font-size:25px;color:var(--cyan);white-space:nowrap}.learning-course-progress{margin:20px 0}.learning-course-progress span{color:var(--muted)}.learning-course-progress strong{color:var(--cyan)}.learning-course-progress>i{display:block;height:9px;margin-top:9px;background:#071521;border-radius:8px;overflow:hidden}.learning-course-progress>i>b{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .4s}.learning-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.learning-summary-grid article{background:#10283a;border:1px solid var(--line);padding:14px;border-radius:11px}.learning-summary-grid small,.learning-summary-grid b{display:block}.learning-summary-grid small{color:var(--muted);min-height:30px}.learning-summary-grid b{margin-top:5px;color:#e6f4fa}.profile-sync-state{margin:14px 0 0;color:var(--muted);font-size:11px}@media(max-width:620px){.learning-summary-head{align-items:flex-start}.learning-summary-grid{grid-template-columns:1fr 1fr}.learning-summary-card{padding:17px}.learning-summary-grid article{padding:12px}.learning-summary-grid small{min-height:34px}}
/* Spaced-repetition cards */
.memory-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px;border:1px solid #31536b;border-radius:19px;background:radial-gradient(circle at 90% 10%,#194f4a,#102536 55%)}.memory-hero span{color:var(--cyan);font-size:10px;letter-spacing:1.8px}.memory-hero h2{font-size:34px;margin:7px 0}.memory-hero p{max-width:720px;color:#b6ccda;line-height:1.6;margin:0}.memory-streak{text-align:center;min-width:100px}.memory-streak b,.memory-streak small{display:block}.memory-streak b{font-size:34px;color:var(--cyan)}.memory-streak small{color:var(--muted)}.memory-decks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.memory-decks button{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:12px;background:#10283a;border:1px solid var(--line);color:white;padding:18px;border-radius:14px}.memory-decks button.active{border-color:var(--cyan)}.memory-decks i{grid-row:1/3;width:45px;height:45px;display:grid;place-content:center;background:#153e41;color:var(--cyan);border-radius:50%;font-style:normal;font-size:18px}.memory-decks b{font-size:17px}.memory-decks small{color:var(--muted);margin-top:5px}.memory-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.memory-dashboard article{padding:18px;background:#0d1e2e;border:1px solid var(--line);border-radius:12px}.memory-dashboard b,.memory-dashboard small{display:block}.memory-dashboard b{font-size:23px;color:var(--cyan)}.memory-dashboard small{color:var(--muted);margin-top:6px}.memory-session-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;max-width:720px;margin:20px auto}.memory-session-head button,.memory-finish button:not(.primary){background:#10283a;border:1px solid var(--line);color:white;padding:10px;border-radius:9px}.memory-session-head>div{display:flex;align-items:center;gap:10px}.memory-session-head i{height:7px;flex:1;background:#142b3b;border-radius:8px;overflow:hidden}.memory-session-head i b{display:block;height:100%;background:var(--cyan)}.memory-session-head small{color:var(--muted)}.memory-card{max-width:720px;min-height:430px;margin:auto;padding:clamp(24px,6vw,48px);display:flex;flex-direction:column;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 0,#173d49,#0d1d2c 58%);border:1px solid #376177;border-radius:22px;box-shadow:0 25px 60px #0004}.memory-card>span{color:var(--cyan);letter-spacing:1.7px;font-size:10px}.memory-card h2{font-size:clamp(27px,5vw,42px);margin:18px 0}.memory-card>.primary{align-self:center}.memory-answer p{font-size:20px;line-height:1.6}.memory-answer section{padding:14px;background:#102b36;border-left:3px solid var(--orange);text-align:left;color:#c8d9e3}.memory-answer small{display:block;color:var(--orange);margin-bottom:6px}.memory-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:25px}.memory-ratings button{padding:13px;border-radius:9px;border:1px solid var(--line);background:#13283a;color:white}.memory-ratings button:first-child{border-color:#8d4551}.memory-ratings button:last-child{border-color:#347c68;color:var(--cyan)}.memory-finish{text-align:center;max-width:620px;margin:35px auto;padding:35px;background:#0d2431;border:1px solid var(--line);border-radius:18px}.memory-finish>div{font-size:45px;color:var(--cyan)}.memory-finish button{margin:5px}@media(max-width:700px){.theory-mode-tabs{overflow-x:auto}.theory-mode-tabs button{white-space:nowrap;padding:10px}.memory-hero{align-items:flex-start;padding:19px}.memory-hero h2{font-size:27px}.memory-hero p{font-size:14px}.memory-decks{grid-template-columns:1fr}.memory-dashboard{grid-template-columns:1fr 1fr}.memory-card{min-height:390px;padding:25px 18px}.memory-ratings{grid-template-columns:1fr}.memory-session-head{grid-template-columns:auto 1fr}.memory-session-head>small{display:none}}
/* Guided real-lab prototypes */
.guided-labs{margin:18px 0 22px;padding:22px;background:linear-gradient(145deg,#0d2433,#102b30);border:1px solid #315b63;border-radius:18px}.guided-labs-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.guided-labs-head span,.guided-work-head span,.guided-action>small,.guided-result>span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.guided-labs-head h2{margin:6px 0}.guided-labs-head p{color:var(--muted);margin:0}.guided-labs-head>b{color:var(--cyan);font-size:22px;white-space:nowrap}.guided-lab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.guided-lab-grid button{display:flex;align-items:center;gap:12px;text-align:left;padding:15px;background:#10283a;border:1px solid var(--line);color:white;border-radius:12px}.guided-lab-grid button.complete{border-color:#347c68;background:#12332f}.guided-lab-grid i{flex:0 0 43px;height:43px;display:grid;place-content:center;border-radius:50%;background:#173c43;color:var(--cyan);font-style:normal;font-size:18px}.guided-lab-grid span,.guided-lab-grid small,.guided-lab-grid b,.guided-lab-grid em{display:block}.guided-lab-grid small{color:var(--cyan);font-size:8px}.guided-lab-grid b{margin:4px 0}.guided-lab-grid em{color:var(--muted);font-size:10px;font-style:normal}.guided-work-head{display:flex;justify-content:space-between;gap:18px}.guided-work-head h1{margin:7px 0}.guided-work-head code,.guided-result code{color:var(--cyan);background:#071521;padding:7px 10px;border-radius:7px}.guided-work-head>b{color:var(--cyan);font-size:20px}.guided-work-progress{height:7px;background:#142b3b;border-radius:8px;overflow:hidden;margin:18px 0}.guided-work-progress i{display:block;height:100%;background:var(--cyan);transition:width .35s}.guided-apparatus{height:150px;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#163d49,#091724 65%);border:1px solid #2e5368;border-radius:15px}.guided-apparatus i{font-size:43px;color:var(--lab-accent);font-style:normal;text-shadow:0 0 25px var(--lab-accent)}.guided-apparatus small{display:block;color:var(--muted);margin-top:15px;letter-spacing:1.5px}.guided-action{margin-top:17px}.guided-action h2{font-size:23px}.guided-result{text-align:center;padding:25px}.guided-result>div{font-size:50px;color:var(--cyan)}.guided-result p{color:#c4d5df;line-height:1.6}.guided-result button{margin:6px}@media(max-width:900px){.guided-lab-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.guided-labs{padding:16px}.guided-labs-head{align-items:flex-start}.guided-lab-grid{grid-template-columns:1fr}.guided-work-head h1{font-size:27px}.guided-apparatus{height:120px}.guided-action h2{font-size:20px}}
/* Animated CSS laboratory apparatus */
.guided-apparatus.visual{position:relative;display:block;height:260px;overflow:hidden;background:radial-gradient(circle at 50% 110%,#17384a,#081521 65%)}.lab-bench{position:absolute;left:8%;right:8%;bottom:30px;height:8px;background:#36556a;border-radius:50%;box-shadow:0 8px 18px #000}.lab-step-label{position:absolute;top:13px;left:15px;color:#87a4b6;font-size:9px;letter-spacing:1.5px}.visual-flask{position:absolute;left:50%;bottom:38px;width:112px;height:125px;transform:translateX(-50%);border:5px solid #9dd9ec;border-top:0;border-radius:8px 8px 50% 50%;clip-path:polygon(32% 0,68% 0,68% 28%,96% 90%,86% 100%,14% 100%,4% 90%,32% 28%)}.visual-flask:before,.visual-flask:after{content:"";position:absolute;top:0;width:5px;height:39px;background:#9dd9ec}.visual-flask:before{left:31px}.visual-flask:after{right:31px}.visual-liquid{position:absolute;left:0;right:0;bottom:0;height:45%;background:color-mix(in srgb,var(--lab-accent) 65%,#2589bf);opacity:.75;transition:height .6s,background 1s}.visual-swirl{position:absolute;left:21px;right:21px;bottom:27px;height:12px;border:3px solid #fff8;border-radius:50%;opacity:0}.visual-burette{position:absolute;left:34%;top:25px;width:22px;height:140px;border:4px solid #a8dff0;border-radius:5px}.visual-burette span{position:absolute;left:3px;right:3px;bottom:12px;height:70%;background:#78c8e8aa}.visual-burette>i{position:absolute;left:7px;bottom:-35px;width:4px;height:34px;background:#a8dff0}.visual-drops{position:absolute;left:calc(34% + 9px);top:178px}.visual-drops i{position:absolute;width:7px;height:10px;border-radius:50% 50% 55% 55%;background:#70dff2;opacity:0}.ph-readout,.volume-readout{position:absolute;right:13%;top:38%;padding:10px 13px;background:#06131e;border:1px solid #31566b;border-radius:9px;color:#8faabc}.ph-readout b,.volume-readout b{color:var(--lab-accent);font-size:21px}.visual-tube{position:absolute;left:18%;bottom:38px;width:42px;height:130px;border:5px solid #a8dff0;border-radius:5px 5px 20px 20px}.visual-tube .visual-liquid{height:55%}.visual-beaker{position:absolute;left:45%;bottom:38px;width:110px;height:105px;border:5px solid #a8dff0;border-top:0;border-radius:0 0 14px 14px}.visual-beaker:before{content:"";position:absolute;left:-5px;right:-5px;top:0;border-top:5px solid #a8dff0}.visual-beaker .visual-liquid{height:58%}.precipitate-cloud{position:absolute;left:15%;right:15%;bottom:4px;height:20px;background:#f4f3e8;border-radius:50%;box-shadow:5px -9px 10px #fff9,-8px -4px 8px #fff8;opacity:.1}.visual-pour{position:absolute;left:29%;top:90px;width:80px;height:5px;background:#75d7ec;transform:rotate(28deg);transform-origin:left;opacity:0}.visual-filter{position:absolute;right:12%;bottom:37px;width:75px;height:120px;opacity:.25}.visual-filter i{display:block;width:75px;height:55px;border:5px solid #c6e8ef;clip-path:polygon(0 0,100% 0,62% 100%,38% 100%)}.visual-filter b{display:block;width:5px;height:60px;background:#c6e8ef;margin:auto}.gas .visual-flask{left:28%}.gas-tube{position:absolute;left:34%;top:55px;width:38%;height:95px;border-left:5px solid #a8dff0;border-top:5px solid #a8dff0;border-right:5px solid #a8dff0;border-radius:14px 14px 0 0}.gas-jar{position:absolute;right:18%;bottom:38px;width:75px;height:120px;border:5px solid #a8dff0;border-radius:7px 7px 15px 15px}.gas-fill{position:absolute;left:0;right:0;bottom:0;height:10%;background:#82d9f044;transition:height 1s}.gas-bubble{position:absolute;width:10px;height:10px;border:2px solid #d4f5ff;border-radius:50%;bottom:20px;opacity:0}.gas-bubble.b1{left:25px}.gas-bubble.b2{left:50px;width:7px;height:7px}.gas-bubble.b3{left:70px;width:13px;height:13px}.burette-scale{position:absolute;left:-28px;top:5px;color:#7c9bac;font-size:9px;line-height:38px;font-weight:400}.titration .visual-burette{left:29%}.titration .visual-drops{left:calc(29% + 9px)}.titration .visual-flask{left:54%}.titration .indicator{background:#d6eff4}.running .visual-swirl{animation:labSwirl .7s ease-in-out 3}.running .visual-drops i{animation:labDrop 1.1s ease-in infinite}.running .visual-drops i:nth-child(2){animation-delay:.35s}.running .visual-drops i:nth-child(3){animation-delay:.7s}.precipitation.running .visual-pour{opacity:1;animation:labPour 1.4s ease-in-out}.precipitation.running .precipitate-cloud,.precipitation.step-3 .precipitate-cloud,.precipitation.step-4 .precipitate-cloud{animation:cloudForm 1.6s forwards}.precipitation.step-3 .visual-filter,.precipitation.step-4 .visual-filter{opacity:1}.gas.running .gas-bubble,.gas.step-2 .gas-bubble,.gas.step-3 .gas-bubble,.gas.step-4 .gas-bubble{animation:gasRise 1.5s infinite}.gas.running .gas-fill,.gas.step-3 .gas-fill,.gas.step-4 .gas-fill{height:78%}.titration.running.success .indicator,.titration.step-4 .indicator{animation:indicatorEnd 1.2s forwards}.neutralization.running.success .visual-liquid{animation:neutralHeat 1.4s}.corrected{box-shadow:inset 0 0 0 2px #d58b55}.success{box-shadow:inset 0 0 0 2px #43cba9}@keyframes labDrop{0%{transform:translateY(-8px);opacity:0}30%{opacity:1}100%{transform:translateY(40px);opacity:0}}@keyframes labSwirl{50%{transform:scaleX(.55);opacity:1}}@keyframes labPour{0%{transform:rotate(28deg) scaleX(0)}40%,80%{transform:rotate(28deg) scaleX(1)}100%{opacity:0}}@keyframes cloudForm{0%{opacity:.1;transform:translateY(-22px)}100%{opacity:1;transform:translateY(0)}}@keyframes gasRise{0%{transform:translateY(10px);opacity:0}30%{opacity:1}100%{transform:translateY(-80px);opacity:0}}@keyframes indicatorEnd{0%{background:#d6eff4}100%{background:#ef91c2}}@keyframes neutralHeat{50%{filter:brightness(1.35);background:#70e4c5}}@media(max-width:560px){.guided-apparatus.visual{height:220px}.visual-burette{left:24%;transform:scale(.85);transform-origin:bottom}.visual-drops{left:calc(24% + 9px)}.visual-flask{transform:translateX(-50%) scale(.82);transform-origin:bottom}.ph-readout,.volume-readout{right:5%;font-size:10px}.visual-tube{left:8%;transform:scale(.8);transform-origin:bottom}.visual-beaker{left:37%;transform:scale(.82);transform-origin:bottom}.visual-filter{right:3%;transform:scale(.8);transform-origin:bottom}.gas .visual-flask{left:24%}.gas-tube{left:29%;width:40%}.gas-jar{right:8%;transform:scale(.85);transform-origin:bottom}.titration .visual-burette{left:18%}.titration .visual-drops{left:calc(18% + 9px)}.titration .visual-flask{left:55%}}
@media(prefers-reduced-motion:reduce){.guided-apparatus *{animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Independent laboratory challenge */
.lab-challenge-launch{display:grid;grid-template-columns:1fr 230px auto;align-items:end;gap:14px;margin:0 0 22px;padding:20px;background:#0d1f2e;border:1px solid #324f63;border-radius:16px}.lab-challenge-launch span,.challenge-head span,.challenge-result>span{color:var(--orange);font-size:9px;letter-spacing:1.7px}.lab-challenge-launch h3{font-size:22px;margin:5px 0}.lab-challenge-launch p{color:var(--muted);margin:0}.lab-challenge-launch label{color:var(--muted);font-size:10px}.lab-challenge-launch select{display:block;width:100%;margin-top:5px;padding:12px;background:#071521;border:1px solid var(--line);border-radius:9px;color:white}.labChallengeClose{position:sticky;float:right;top:0;z-index:3;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#14283a;color:white;font-size:23px}.challenge-head{display:flex;justify-content:space-between;gap:20px}.challenge-head h1{margin:7px 0}.challenge-head p{color:var(--muted)}.challenge-head>div:last-child{text-align:center;padding:10px 16px;background:#10283a;border-radius:10px}.challenge-head>div:last-child b,.challenge-head>div:last-child small{display:block}.challenge-head>div:last-child b{font-size:25px;color:var(--orange)}.challenge-head>div:last-child small{color:var(--muted)}.challenge-scene{position:relative;height:190px;margin:18px 0;background:radial-gradient(circle at center,#17384a,#081521 68%);border:1px solid #31536b;border-radius:15px;overflow:hidden}.challenge-scene:after{content:"";position:absolute;left:0;bottom:0;height:5px;width:var(--challenge-progress);background:linear-gradient(90deg,var(--orange),var(--cyan));transition:width .35s}.challenge-cabinet{position:absolute;left:10%;bottom:25px;text-align:center}.challenge-cabinet i{display:grid;place-content:center;width:72px;height:90px;border:4px solid #9ed9eb;border-radius:8px 8px 30px 30px;color:var(--cyan);font-size:30px}.challenge-cabinet span{color:var(--muted);font-size:9px}.challenge-vessel{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);width:110px;height:120px;border:5px solid #a4dceb;border-top:0;border-radius:0 0 42px 42px;overflow:hidden}.challenge-vessel>div{position:absolute;left:0;right:0;bottom:0;height:var(--challenge-progress);max-height:85%;background:#49bdd099;transition:height .5s}.challenge-vessel i{position:absolute;width:8px;height:8px;border:2px solid white;border-radius:50%;bottom:15px;animation:gasRise 2s infinite;opacity:0}.challenge-vessel i:nth-child(2){left:25px}.challenge-vessel i:nth-child(3){left:52px;animation-delay:.5s}.challenge-vessel i:nth-child(4){left:75px;animation-delay:1s}.phase-4 .challenge-vessel i,.phase-5 .challenge-vessel i,.phase-6 .challenge-vessel i{opacity:1}.challenge-meter{position:absolute;right:10%;top:55px;text-align:center;padding:12px;background:#06131e;border:1px solid #31536b;border-radius:9px}.challenge-meter b,.challenge-meter small{display:block}.challenge-meter b{font-size:21px;color:var(--cyan)}.challenge-meter small{color:var(--muted)}.challenge-layout{display:grid;grid-template-columns:1fr 240px;gap:14px}.challenge-status{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.challenge-status span{color:var(--muted)}.challenge-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.challenge-palette button{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:9px;padding:12px;background:#10283a;border:1px solid var(--line);border-radius:10px;color:white}.challenge-palette i{grid-row:1/3;width:34px;height:34px;display:grid;place-content:center;background:#173b43;border-radius:50%;color:var(--cyan);font-style:normal}.challenge-palette b{font-size:12px}.challenge-palette small{color:var(--muted);font-size:9px}.challenge-actions{display:flex;gap:8px;margin-top:10px}.challenge-actions button,#challengeRepeat{padding:10px;background:#14283a;border:1px solid var(--line);border-radius:8px;color:white}#challengeFeedback{min-height:42px;color:#bcd0dd;line-height:1.5}#challengeFeedback b{color:var(--orange)}.challenge-layout aside{padding:15px;background:#091724;border:1px solid var(--line);border-radius:11px}.challenge-layout ol{padding-left:20px;color:var(--muted)}.challenge-layout li{margin:7px 0}.challenge-layout li.ok{color:#82d7c0}.challenge-layout li.bad{color:#e79a89}.challenge-result{text-align:center;padding:30px}.challenge-result>div{font-size:50px;color:var(--cyan)}.challenge-result>b{display:block;font-size:28px;color:var(--cyan);margin:12px}.challenge-result>section{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.challenge-result article{padding:14px;background:#10283a;border-radius:10px}.challenge-result strong,.challenge-result small{display:block}.challenge-result strong{font-size:24px}.challenge-result small{color:var(--muted)}.challenge-result button{margin:5px}@media(max-width:760px){.lab-challenge-launch{grid-template-columns:1fr}.challenge-layout{grid-template-columns:1fr}.challenge-layout aside{max-height:180px;overflow:auto}.challenge-palette{grid-template-columns:1fr 1fr}.challenge-scene{height:165px}.challenge-cabinet{left:5%;transform:scale(.8);transform-origin:bottom}.challenge-meter{right:4%}}@media(max-width:420px){.challenge-palette{grid-template-columns:1fr}.challenge-head h1{font-size:27px}.challenge-status{flex-direction:column}.challenge-result>section{grid-template-columns:1fr}}

/* Google OAuth */
.google-auth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;margin:18px 0 12px;padding:13px 16px;border-radius:10px;background:#fff;color:#27313d;text-decoration:none;font-weight:800;border:1px solid #d8dde5}.google-auth-button b{font-size:20px;color:#4285f4}.google-auth-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0004}.google-auth-button.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:8px 0 15px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}

/* Explicit account actions in the application header */
.header-account{display:flex;align-items:center;margin-left:auto}.header-guest-actions{display:flex;align-items:center;gap:8px}.header-guest-actions button{padding:9px 14px;border-radius:20px;border:1px solid #2d665e;background:transparent;color:var(--cyan);font-weight:700;white-space:nowrap}.header-guest-actions .primary{background:var(--cyan);color:#062027;border-color:var(--cyan)}@media(max-width:760px){.header-account{position:absolute;right:12px;top:10px}.header-guest-actions button{padding:7px 10px;font-size:10px}.header-account .level{max-width:118px}.top .brand{margin-right:190px}}@media(max-width:430px){.header-guest-actions{gap:4px}.header-guest-actions button{padding:7px 8px}.top .brand{margin-right:158px}}

/* Game loop: onboarding, gates and daily quests */
.nav.game-locked{opacity:.35;position:relative}.nav.game-locked:after{content:'🔒';position:absolute;right:3px;top:2px;font-size:9px}.daily-quest{margin:18px 0 22px;padding:22px;border:1px solid #3c766c;border-radius:20px;background:linear-gradient(145deg,#102d35,#101d31);box-shadow:0 18px 50px #0002}.daily-quest-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.daily-quest-head span,.onboarding-slide>span,.game-gate>span{color:var(--cyan);font-size:10px;letter-spacing:1.8px}.daily-quest-head h2{margin:6px 0 0}.quest-streak{min-width:90px;text-align:center;padding:9px 12px;border-radius:14px;background:#18283b}.quest-streak b,.quest-streak small{display:block}.quest-streak b{font-size:25px;color:#ffb75e}.quest-streak small{color:var(--muted)}.daily-missions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.daily-missions article{display:flex;align-items:center;gap:11px;padding:14px;background:#0b1b29;border:1px solid var(--line);border-radius:14px}.daily-missions article>i{width:34px;height:34px;display:grid;place-content:center;border-radius:50%;background:#17334a;color:var(--cyan);font-style:normal;font-weight:900}.daily-missions article>div{flex:1;min-width:0}.daily-missions b,.daily-missions small{display:block}.daily-missions small{color:var(--muted);margin:5px 0}.daily-missions article span{display:block;height:4px;background:#172f40;border-radius:5px;overflow:hidden}.daily-missions article em{display:block;height:100%;background:var(--cyan)}.daily-missions button{border:0;background:transparent;color:var(--cyan);font-size:11px}.daily-missions article.done{border-color:#3c766c;opacity:.75}.daily-total{display:flex;align-items:center;gap:14px;margin-top:15px;color:var(--muted);font-size:12px}.daily-total i{flex:1;height:6px;background:#071521;border-radius:6px;overflow:hidden}.daily-total i b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#ffb75e);transition:.4s}.game-onboarding{max-width:620px}.onboarding-slide,.game-gate{text-align:center;padding:18px 12px}.onboarding-icon,.game-gate>div{width:100px;height:100px;margin:4px auto 22px;display:grid;place-content:center;border-radius:50%;font-size:44px;background:radial-gradient(circle,#204b59,#102436);box-shadow:0 0 45px #4ce2c833}.onboarding-slide h1,.game-gate h1{font-size:clamp(30px,5vw,46px);margin:10px 0}.onboarding-slide p,.game-gate p{max-width:490px;margin:0 auto 24px;color:#bed1df;font-size:17px;line-height:1.65}.onboarding-slide>button,.game-gate>button{min-width:240px}.onboarding-dots{display:flex;justify-content:center;gap:7px;margin:22px}.onboarding-dots i{width:8px;height:8px;border-radius:8px;background:#344b5b}.onboarding-dots i.active{width:25px;background:var(--cyan)}
.researcher-setup{max-width:520px;margin:auto;text-align:left}.researcher-setup>span{display:block;color:var(--cyan);font-size:10px;letter-spacing:1.8px;text-align:center}.researcher-setup h1{text-align:center;font-size:clamp(28px,5vw,42px);margin:10px 0}.researcher-setup>p{text-align:center;color:#bed1df;line-height:1.55}.researcher-setup label{display:grid;gap:7px;margin:14px 0;color:#a9c4d2;font-size:12px}.researcher-setup input,.researcher-setup select{width:100%;padding:13px;border:1px solid #35566c;border-radius:11px;background:#071725;color:white;font:inherit}.researcher-setup>button{width:100%;margin-top:8px}.researcher-setup #researcherSetupError{color:#ff8d8d;min-height:20px}.tour-required{align-self:center;color:var(--cyan);font-size:11px;letter-spacing:.5px}
.diagnostic-intro{max-width:560px;margin:auto;text-align:center;padding:8px}.diagnostic-intro>span{color:var(--cyan);font-size:10px;letter-spacing:1.8px}.diagnostic-intro h1{font-size:clamp(29px,5vw,43px);margin:10px 0}.diagnostic-intro>p{color:#bed1df;line-height:1.6}.diagnostic-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.diagnostic-intro-grid article{padding:15px 8px;border:1px solid #31536b;border-radius:13px;background:#0a1b29}.diagnostic-intro-grid b,.diagnostic-intro-grid span{display:block}.diagnostic-intro-grid b{font-size:27px;color:var(--cyan)}.diagnostic-intro-grid span{margin-top:4px;color:#9eb7c7;font-size:11px}.diagnostic-intro ul{text-align:left;margin:18px auto 24px;padding-left:24px;color:#bfd3df;line-height:1.65}.diagnostic-intro>button{min-width:250px}.lesson-guide-layer{z-index:500!important}.lesson-guide-layer .tour-coach{z-index:501}.lesson-guide-layer+.tour-spotlight-target{z-index:499!important}
@media(max-width:900px){.daily-missions{grid-template-columns:1fr}.daily-missions article{min-height:74px}}
@media(max-width:620px){.daily-quest{padding:17px 13px}.daily-quest-head h2{font-size:22px}.daily-missions article>button{padding:7px}.game-onboarding{padding:18px}.onboarding-slide p{font-size:15px}.nav.game-locked:after{right:1px;top:0;font-size:7px}.diagnostic-intro-grid{grid-template-columns:1fr 1fr}.diagnostic-intro-grid article:last-child{grid-column:1/-1}.diagnostic-intro{padding:0}.diagnostic-intro ul{font-size:13px}}

/* Course scope and replayable application tour */
.course-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 22px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#0b1a28}.course-scope article{text-align:center;padding:11px;border-radius:11px;background:#10283a}.course-scope b,.course-scope span{display:block}.course-scope b{font-size:26px;color:var(--cyan)}.course-scope span{font-size:11px;color:var(--muted)}.course-scope p{grid-column:1/-1;margin:2px 4px;color:#a9bfd0;line-height:1.5}.tour-preview{display:flex;justify-content:center;gap:7px;margin:23px 0}.tour-preview i{width:29px;height:29px;border-radius:50%;display:grid;place-content:center;background:#162c3d;color:#7e98ab;font-style:normal}.tour-preview i.active{background:var(--cyan);color:#062027;font-weight:900}.tour-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:9px}.tour-actions button{padding:12px;border:1px solid var(--line);border-radius:10px;background:#10283a;color:white}.tour-actions button:disabled{opacity:.3}.tour-actions .primary{background:var(--cyan);color:#062027}.settings-card #profileTourButton{grid-column:1/-1;background:#13283a;border:1px solid var(--line);color:var(--cyan);padding:12px;border-radius:9px}@media(max-width:620px){.course-scope{grid-template-columns:repeat(3,1fr);padding:10px}.course-scope b{font-size:21px}.course-scope span{font-size:9px}.tour-actions{grid-template-columns:1fr 1fr}.tour-actions #tourOpen{grid-column:1/-1;grid-row:1}.learning-actions{flex-wrap:wrap}}

/* Game world roadmap */
.world-map-legend{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:8px;margin:14px 0 20px;padding:15px;border:1px solid #38546a;border-radius:17px;background:linear-gradient(135deg,#0c2232,#11192c)}.world-map-legend>div{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;padding:10px}.world-map-legend>div span{color:var(--cyan);font-size:9px;letter-spacing:1.6px}.world-map-legend>div b{font-size:19px;margin-top:5px}.world-map-legend button{display:flex;align-items:center;gap:7px;background:#10283a;border:1px solid color-mix(in srgb,var(--world),#294052 60%);color:white;border-radius:11px;padding:9px;text-align:left}.world-map-legend button i{font-style:normal;font-size:20px}.world-map-legend button small{font-size:9px;color:#b8cada}.game-world{position:relative;border-color:color-mix(in srgb,var(--world),#22384a 60%);scroll-margin-top:90px}.game-world:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--world);z-index:2}.game-world .chapter-head{position:relative;padding-top:52px;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--world),transparent 80%),#102a3d 55%,#0c1c2a)}.world-landmark{position:absolute;left:20px;top:13px;display:flex;align-items:center;gap:7px;color:var(--world)}.world-landmark i{font-style:normal;font-size:21px}.world-landmark span{font-weight:900;letter-spacing:1.2px}.game-world .chapter-number{border:1px solid var(--world);box-shadow:0 0 22px color-mix(in srgb,var(--world),transparent 75%)}.game-world .roadmap-node{flex-wrap:wrap}.node-stars{width:100%;padding-left:51px;color:#496174;font-size:11px;font-style:normal;letter-spacing:2px}.node-stars.done{color:#ffd36e}.node-stars.available{color:var(--world)}.boss-challenge{display:flex;align-items:center!important;gap:12px!important;padding:13px 17px!important;border-color:#a175e5!important;background:linear-gradient(135deg,#2a2040,#171d33)!important}.boss-challenge>i{font-style:normal;font-size:26px}.boss-challenge span,.boss-challenge small,.boss-challenge b{display:block}.boss-challenge small{color:#b995ef;font-size:9px;letter-spacing:1.4px}.boss-challenge b{margin-top:3px;color:#eadcff}.world-complete{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;margin:0 18px 18px;padding:14px;border:1px solid var(--world);border-radius:13px;background:color-mix(in srgb,var(--world),#0d1d2c 88%)}.world-complete>i,.world-complete>strong{font-style:normal;font-size:28px}.world-complete small,.world-complete b,.world-complete span{display:block}.world-complete small{color:var(--world);font-size:8px;letter-spacing:1.5px}.world-complete b{margin:4px 0}.world-complete span{color:var(--muted);font-size:11px}
@media(max-width:760px){.world-map-legend{grid-template-columns:1fr 1fr}.world-map-legend>div{grid-column:1/-1;grid-row:auto}.world-map-legend button{min-height:48px}.game-world .chapter-head{padding-top:55px}.node-stars{padding-left:45px}.world-complete{grid-template-columns:38px 1fr}.world-complete>strong{display:none}}

/* Mobile application shell v3 */
.mobile-practice-nav{display:none}.header-account{position:relative}.user-quick-menu{position:absolute;right:0;top:54px;width:220px;padding:8px;background:#0c1b2b;border:1px solid #35506a;border-radius:14px;box-shadow:0 16px 45px #0009;z-index:80}.user-quick-menu button{display:block;width:100%;padding:12px;border:0;border-radius:9px;background:transparent;color:white;text-align:left}.user-quick-menu button:hover{background:#14283a}.mobile-practice-sheet{width:min(430px,calc(100vw - 20px));margin:auto auto 10px;padding:13px 16px 20px;border-radius:22px 22px 12px 12px}.mobile-practice-sheet>span{color:var(--cyan);font-size:9px;letter-spacing:1.5px}.mobile-practice-sheet h2{margin:6px 0 15px}.mobile-practice-sheet>[data-practice-go]{width:100%;display:grid;grid-template-columns:46px 1fr;column-gap:11px;margin:8px 0;padding:13px;background:#10283a;border:1px solid var(--line);border-radius:12px;color:white;text-align:left}.mobile-practice-sheet>[data-practice-go] i{grid-row:1/3;width:44px;height:44px;display:grid;place-content:center;border-radius:50%;background:#153b40;color:var(--cyan);font-size:22px;font-style:normal}.mobile-practice-sheet>[data-practice-go] b{align-self:end}.mobile-practice-sheet>[data-practice-go] small{color:var(--muted)}#closePracticeSheet{width:100%;margin-top:8px;padding:11px;background:transparent;border:0;color:var(--muted)}.sheet-handle{width:45px;height:4px;border-radius:4px;background:#587084;margin:0 auto 15px}
@media(max-width:760px){.top nav{grid-template-columns:repeat(5,1fr)!important}.top nav .nav[data-section=molecules],.top nav .nav[data-section=reactions],.top nav .nav[data-section=lab]{display:none}.mobile-practice-nav{display:flex!important}.mobile-practice-nav:before{content:'⚗';display:block;font-size:20px;line-height:22px;color:#7591a8}.header-account .level{display:grid!important;width:46px;height:46px;min-width:46px;padding:0;border:2px solid var(--cyan);border-radius:50%;place-content:center;background:#102b34;color:var(--cyan)}.header-account .level>span{font-size:9px}.header-account .level>i,.header-account .level>small{display:none!important}.user-quick-menu{position:fixed;right:10px;top:60px;width:min(250px,calc(100vw - 20px))}.course-dialog{width:100vw!important;max-width:none!important;height:100dvh;max-height:100dvh!important;margin:0;border:0;border-radius:0;padding:18px 15px calc(90px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.course-dialog .lesson-player-actions{position:sticky;bottom:0;z-index:12;margin:18px -15px 0;padding:13px 15px calc(14px + env(safe-area-inset-bottom));background:#0b1928f2;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.course-dialog .dialogClose,.course-dialog .trainerClose,.course-dialog .guidedClose,.course-dialog .labChallengeClose,.course-dialog .authClose{position:sticky;top:0;float:right;width:36px;height:36px;font-size:20px;background:#13283a;z-index:20}#table>.section-head{margin:0 -13px 18px;padding:18px 14px;background:linear-gradient(135deg,#102a3d,#0b1b2b);border-bottom:1px solid #31536b}#table>.section-head span{color:#55ead0!important}#table>.section-head h2{color:#f3f8ff!important;text-shadow:none}#table .legend button{background:#10283a;color:#b9ccda;border-color:#35536a}#table .legend button:focus,#table .legend button:hover{color:#061d22;background:var(--cyan)}.periodic{scroll-snap-type:x proximity}.element{scroll-snap-align:start}.mobile-practice-sheet{height:auto!important;max-height:82dvh!important}}


/* Mandatory interactive guided tour */
.tour-spotlight-target{position:relative!important;z-index:105!important;border-radius:16px;box-shadow:0 0 0 5px #50e3c2,0 0 0 9999px #02070ddd,0 0 45px #50e3c2!important;animation:tourPulse 1.35s ease-in-out infinite alternate}.guided-tour-layer{position:fixed;inset:0;z-index:108;pointer-events:none}.tour-coach{position:absolute;right:24px;bottom:24px;width:min(430px,calc(100vw - 32px));padding:20px;background:#0c1b2bf7;border:1px solid #50e3c2;border-radius:18px;box-shadow:0 20px 70px #000;pointer-events:auto}.tour-coach-head{display:flex;align-items:center;gap:10px}.tour-coach-head i{width:42px;height:42px;display:grid;place-content:center;border-radius:50%;background:#153b40;font-style:normal;font-size:22px}.tour-coach-head span{color:var(--cyan);font-size:9px;letter-spacing:1.4px}.tour-coach h2{font-size:27px;margin:12px 0 8px}.tour-coach p{color:#bed1df;line-height:1.55;margin:0}.tour-coach-progress{height:5px;margin:17px 0;background:#193044;border-radius:6px;overflow:hidden}.tour-coach-progress b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#67b7ff);transition:.3s}.tour-coach-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px}.tour-coach-actions button{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#13283a;color:white}.tour-coach-actions button:first-child{border:0;background:transparent;color:var(--muted);text-align:left}.tour-coach-actions button:disabled{opacity:.3}.tour-coach-actions .primary{background:var(--cyan);color:#062027}@keyframes tourPulse{from{outline:2px solid #50e3c266}to{outline:8px solid #50e3c211}}
@media(max-width:760px){.tour-coach{left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;padding:16px}.tour-coach h2{font-size:23px}.tour-coach p{font-size:13px}.tour-coach-actions{grid-template-columns:1fr 1fr}.tour-coach-actions button:first-child{grid-column:1/-1;grid-row:2;text-align:center}.tour-spotlight-target{scroll-margin-top:90px;scroll-margin-bottom:310px}}

/* Energy economy and mistake review */
.energy-pill{display:flex;align-items:center;gap:3px;margin-right:8px;padding:8px 10px;border:1px solid #a77839;border-radius:20px;background:#2b2419;color:#ffc66f}.energy-pill i{font-style:normal}.energy-pill small{color:#b99766}.energy-scale{height:12px;margin:18px 0;background:#17283a;border-radius:10px;overflow:hidden}.energy-scale i{display:block;height:100%;background:linear-gradient(90deg,#ff9f43,#ffe16f);box-shadow:0 0 20px #ffc35c}.energy-dialog>div>p{color:#bed0dd;line-height:1.6}.energy-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.energy-rules article{padding:15px;background:#12283a;border-radius:12px}.energy-rules b,.energy-rules span{display:block}.energy-rules b{font-size:23px;color:#ffc66f}.energy-rules span{color:var(--muted);margin-top:5px}.energy-dialog button:disabled{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:#13283a;color:var(--muted)}.mistake-review-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin:18px 0;padding:19px 22px;border:1px solid #9b6952;border-radius:17px;background:linear-gradient(135deg,#2b211e,#122435)}.mistake-review-card span{color:#ffad83;font-size:9px;letter-spacing:1.6px}.mistake-review-card h2{margin:5px 0}.mistake-review-card p{margin:0;color:var(--muted)}.mistake-review-card>b{width:48px;height:48px;display:grid;place-content:center;border-radius:50%;background:#493027;color:#ffb08a;font-size:22px}.review-options{display:grid;gap:9px;margin:20px 0}.review-options button{padding:15px;text-align:left;background:#13283a;border:1px solid var(--line);border-radius:10px;color:white}.review-options button.correct{background:#123a34;border-color:var(--cyan)}.review-options button.wrong{background:#3a1d29;border-color:var(--red)}#reviewFeedback{color:var(--muted);line-height:1.55}#reviewFeedback b{color:var(--cyan)}#reviewNext{display:block;margin-top:15px}.review-empty,.energy-empty{text-align:center;padding:35px 10px}.review-empty:first-letter,.energy-empty>div{font-size:55px;color:#ffc66f}.energy-extras{margin-top:22px;padding:15px;border:1px dashed #80683c;border-radius:13px;background:#211e18}.energy-extras>span{display:block;color:#ffc66f;font-size:9px;letter-spacing:1.5px;margin-bottom:10px}.energy-extras button{margin:4px;padding:9px 11px;border:1px solid #66573d;border-radius:9px;background:#30291d;color:#ffda91}.energy-extras button:disabled{opacity:.45}.extra-result{color:#d8c49d!important;line-height:1.55;min-height:20px}
@media(max-width:760px){.energy-pill{position:fixed;right:64px;top:13px;margin:0;padding:7px 8px;font-size:11px}.energy-pill small{display:none}.mistake-review-card{grid-template-columns:1fr auto;padding:16px}.mistake-review-card>button{grid-column:1/-1}.energy-rules{grid-template-columns:1fr}.energy-extras button{display:block;width:100%;margin:7px 0}}

.header-account .level{appearance:none;-webkit-appearance:none;background:#102b34!important;color:var(--cyan)!important;border-color:#347667!important;box-shadow:none!important;cursor:pointer}.header-account .level:hover,.header-account .level:focus{background:#153a42!important;outline:none}.energy-countdown{display:inline-flex;align-items:center;margin:0!important;padding:8px 12px;border:1px solid #80683c;border-radius:10px;background:#211e18;color:#ffd27f!important;font-weight:800;font-variant-numeric:tabular-nums}

/* Interactive terminology in learning content */
.chem-term{display:inline;border-bottom:1px dashed #55d9c3;color:#83f0dc;cursor:help;font-weight:650}.chem-term:hover,.chem-term:focus{color:#fff;background:#17413d;border-radius:4px;outline:none}.term-popover{position:fixed;z-index:250;padding:17px 18px;background:#0d2131;border:1px solid #3e756d;border-radius:14px;box-shadow:0 18px 55px #000b;color:#eef7ff}.term-popover small,.term-popover b{display:block}.term-popover small{color:var(--cyan);font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.term-popover b{margin:5px 28px 7px 0;font-size:20px}.term-popover p{margin:0;color:#bfd1dd;line-height:1.5}.term-popover-close{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:#183448;color:white}.term-more{margin-top:13px;padding:9px 12px;border:1px solid #3c766c;border-radius:9px;background:#123a34;color:var(--cyan);font-weight:750}.glossary-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.glossary-detail-grid section:first-child{grid-column:1/-1}@media(max-width:620px){.term-popover{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(82px + env(safe-area-inset-bottom));width:auto!important}.glossary-detail-grid{grid-template-columns:1fr}.glossary-detail-grid section:first-child{grid-column:auto}}
/* Persistent research notebook */
.notebook-fab{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #47877b;border-radius:24px;background:#123a34;color:#78edd7;box-shadow:0 12px 35px #0008;font-weight:800}.notebook-fab:first-letter{font-size:20px}.notebook-dialog{width:min(1050px,94vw)!important}.notebook-shell{display:grid;grid-template-columns:330px 1fr;min-height:610px;gap:18px}.notebook-shell>aside{padding-right:16px;border-right:1px solid var(--line)}.notebook-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.notebook-head span{color:var(--cyan);font-size:9px;letter-spacing:1.4px}.notebook-head h2{margin:5px 0 13px}.notebook-head button{padding:9px}.notebook-shell input,.notebook-shell textarea{width:100%;padding:12px;border:1px solid #36536a;border-radius:10px;background:#091724;color:white}.notebook-list{display:grid;gap:8px;margin-top:12px;max-height:510px;overflow:auto}.notebook-list>button{display:block;width:100%;padding:13px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#102336;color:white}.notebook-list>button.active{border-color:var(--cyan);background:#12352f}.notebook-list span,.notebook-list b,.notebook-list small{display:block}.notebook-list span{color:var(--cyan);font-size:9px}.notebook-list b{margin:4px 0}.notebook-list small{color:var(--muted);line-height:1.35}.notebook-editor{display:flex;flex-direction:column}.notebook-editor label{display:block;margin:12px 0;color:var(--muted)}.notebook-editor label input,.notebook-editor label textarea{display:block;margin-top:6px;color:white}.notebook-editor textarea{min-height:330px;resize:vertical;line-height:1.6}.note-source{padding:13px;background:#102b36;border-radius:11px}.note-source span,.note-source b{display:block}.note-source span{color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:1.3px}.note-source b{margin-top:4px}.note-meta,.note-actions{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.note-actions{margin-top:18px}.note-actions button{padding:11px 15px}.note-actions .danger{color:#ff9cad;border:1px solid #7b3b49;background:#281722;border-radius:9px}.notebook-empty{margin:auto;text-align:center;color:var(--muted);max-width:420px}.notebook-empty i{font-size:60px;color:var(--cyan)}#noteStatus{color:#ff9cad}@media(max-width:760px){.notebook-fab{right:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:46px;height:46px;padding:0;justify-content:center;border-radius:50%}.notebook-fab span{display:none}.notebook-shell{grid-template-columns:1fr;min-height:auto}.notebook-shell>aside{padding:0;border:0}.notebook-list{max-height:210px}.notebook-editor textarea{min-height:260px}.notebook-dialog{padding-bottom:calc(18px + env(safe-area-inset-bottom))!important}.note-actions{position:sticky;bottom:0;padding:11px 0;background:#0c1b2bf2}}
/* Universal action feedback */
.app-action-toast{position:fixed;left:50%;bottom:28px;z-index:400;max-width:min(520px,calc(100vw - 24px));padding:12px 17px;border:1px solid #3b6078;border-radius:12px;background:#10283a;color:#eef7ff;box-shadow:0 16px 45px #000b;opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:.22s}.app-action-toast.show{opacity:1;transform:translate(-50%,0)}.app-action-toast.error{border-color:#8b4554;background:#351d29}.app-action-toast.success{border-color:#3c766c;background:#123a34}@media(max-width:760px){.app-action-toast{bottom:calc(82px + env(safe-area-inset-bottom));font-size:13px}}
.route-complete-actions section{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.route-complete-actions section button{padding:13px;border:1px solid #35536a;border-radius:10px;background:#13283a;color:white}.route-complete-actions section .primary{background:var(--cyan);color:#062027}.roadmapClose{position:absolute;right:16px;top:12px;width:38px;height:38px;border:1px solid #35536a!important;border-radius:50%!important;background:#13283a!important;color:white!important;font-size:22px!important}.tour-explainer{margin:14px 0;padding:13px;border:1px solid #31536b;border-radius:12px;background:#0a1b29}.tour-explainer>b,.tour-explainer>strong{display:block;color:var(--cyan);font-size:11px;letter-spacing:.7px}.tour-explainer p{margin:5px 0 11px!important;font-size:14px!important;line-height:1.45!important}.tour-explainer p:last-child{margin-bottom:0!important}@media(max-width:650px){.route-complete-actions section{grid-template-columns:1fr}.tour-coach{max-height:calc(100dvh - 90px);overflow-y:auto}}
.leaderboard-card{padding:20px;border:1px solid #365c72;border-radius:16px;background:linear-gradient(145deg,#10283a,#101c2d)}.leaderboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.leaderboard-head span{color:var(--cyan);font-size:9px;letter-spacing:1.5px}.leaderboard-head h2{margin:6px 0}.leaderboard-head p{margin:0;color:var(--muted)}.leaderboard-head>b{min-width:64px;padding:12px;border-radius:14px;background:#173a3b;color:var(--cyan);font-size:22px;text-align:center}.leaderboard-list{display:grid;gap:7px;margin-top:16px;max-height:390px;overflow:auto}.leaderboard-list article{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#0b1b29}.leaderboard-list article.me{border-color:var(--cyan);background:#12352f}.leaderboard-list i{font-style:normal;text-align:center}.leaderboard-list span b,.leaderboard-list span small{display:block}.leaderboard-list span small{margin-top:3px;color:var(--muted)}.leaderboard-list strong{color:#ffd078}@media(max-width:520px){.leaderboard-list article{grid-template-columns:35px 1fr auto;padding:10px 8px}.leaderboard-list span small{font-size:10px}.leaderboard-list strong{font-size:12px}}
/* End-to-end reaction workbench */
.reaction-workbench{margin-bottom:22px;padding:24px;border:1px solid #3b756c;border-radius:20px;background:radial-gradient(circle at 95% 0,#174342,#0d2131 48%,#0a1826)}.reaction-workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.reaction-workbench-head span{color:var(--cyan);font-size:10px;letter-spacing:1.7px}.reaction-workbench-head h2{margin:7px 0;font-size:30px}.reaction-workbench-head p{max-width:760px;margin:0;color:#b8ceda;line-height:1.55}.reaction-workbench-score{min-width:105px;padding:13px;border-radius:14px;background:#102c37;text-align:center}.reaction-workbench-score b,.reaction-workbench-score small{display:block}.reaction-workbench-score b{font-size:25px;color:var(--cyan)}.reaction-workbench-score small{color:var(--muted)}.reaction-workbench-start{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end;margin-top:18px}.reaction-workbench-start label{color:var(--muted)}.reaction-workbench-start select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #36536a;border-radius:10px;background:#091724;color:white}.reaction-workbench-start button{min-height:43px}.reaction-workbench-start button:not(.primary){border:1px solid #36536a;border-radius:10px;background:#13283a;color:white}.reaction-workbench-start button b{display:inline-grid;place-content:center;min-width:22px;height:22px;margin-left:4px;border-radius:50%;background:#653445;color:#ffb0bd}.reaction-workbench-body{margin-top:18px}.reaction-workbench-empty{padding:35px;text-align:center;border:1px dashed #3d6074;border-radius:14px;color:var(--muted)}.workbench-progress{display:flex;align-items:center;gap:14px;color:var(--cyan);font-size:10px;letter-spacing:1.4px}.workbench-progress i{flex:1;height:7px;border-radius:8px;background:#102c3c;overflow:hidden}.workbench-progress i b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#65a8ff)}.workbench-question{max-width:820px;margin:18px auto 0;padding:23px;border:1px solid #31536b;border-radius:16px;background:#0b1b29}.workbench-question>small{color:#ffcf77;font-family:ui-monospace,monospace}.workbench-question h3{font-size:25px;margin:9px 0}.workbench-question>p{color:var(--muted)}.workbench-answers{display:grid;gap:9px;margin:18px 0}.workbench-answers button{padding:13px;text-align:left;border:1px solid #36536a;border-radius:10px;background:#12283a;color:white}.workbench-answers button.correct{border-color:var(--cyan);background:#123a34}.workbench-answers button.wrong{border-color:var(--red);background:#3a1d29}.workbench-feedback{min-height:45px;color:var(--muted);line-height:1.5}.workbench-feedback b{color:var(--cyan)}.workbench-result{max-width:850px;margin:auto;padding:25px;border:1px solid #376b65;border-radius:17px;background:#0b1d2b}.workbench-result>div:first-child{font-size:50px}.workbench-result>span{color:var(--cyan);font-size:10px;letter-spacing:1.5px}.workbench-equation{padding:14px;border-radius:10px;background:#071521;color:#ffd485;font-size:19px;font-family:ui-monospace,monospace}.workbench-result ol{line-height:1.7;color:#bfd1dc}.workbench-actions{display:grid!important;grid-template-columns:repeat(3,1fr);gap:9px}.workbench-actions button{padding:12px;border:1px solid #36536a;border-radius:10px;background:#13283a;color:white}.workbench-actions .primary{background:var(--cyan);color:#062027}@media(max-width:760px){.reaction-workbench{padding:18px 13px}.reaction-workbench-head{display:block}.reaction-workbench-score{display:flex;gap:7px;align-items:center;width:max-content;margin-top:12px}.reaction-workbench-start{grid-template-columns:1fr}.reaction-workbench-start button{width:100%}.workbench-question{padding:18px 13px}.workbench-actions{grid-template-columns:1fr!important}}
/* Lesson meaning and progressive hints */
.meaning-box{margin-top:12px;padding:16px 18px;border-left:3px solid var(--cyan);border-radius:10px;background:#0b2430;color:#c9dbe5;line-height:1.6}.meaning-box b{display:block;color:var(--cyan);margin-bottom:5px}.meaning-box p{margin:0}.mission-help{margin-top:18px;padding:16px;border:1px solid #36536a;border-radius:13px;background:linear-gradient(135deg,#10283a,#0d202f)}.mission-help>span{color:var(--orange);font-size:10px;letter-spacing:1.4px}.mission-help>p{color:var(--muted);margin:7px 0 12px}.mission-help>div{display:flex;gap:9px;flex-wrap:wrap}.mission-help button{padding:11px 14px;border:1px solid #3b6078;border-radius:9px;background:#142d40;color:#eef7ff}.mission-help button:hover{border-color:var(--cyan)}.mission-help button:disabled{opacity:.72}.mission-hint-text:not(:empty){margin:14px 0 0;padding:13px;background:#091924;border-radius:9px;color:#cfe0e9}.mission-hint-text b{color:var(--cyan)}@media(max-width:560px){.mission-help>div{display:grid;grid-template-columns:1fr}.mission-help button{width:100%}}
/* Mandatory account gate */
body.auth-required{overflow:hidden}body.auth-required>.top,body.auth-required>main,body.auth-required>.notebook-fab{pointer-events:none;user-select:none;filter:blur(5px);opacity:.28}.auth-required #authModal{width:min(540px,calc(100vw - 24px));border-color:#3b766d;box-shadow:0 30px 100px #000d,0 0 60px #50e3c218}.auth-required #authModal::backdrop{background:#020911ed;backdrop-filter:blur(10px)}.auth-required-copy{margin:-5px 0 19px;color:#a9c1cf;line-height:1.55}.auth-home-link{display:block;margin-top:17px;text-align:center;color:#86a4b5;font-size:13px}.auth-home-link:hover{color:var(--cyan)}body.auth-required .authClose{display:none!important}@media(max-width:620px){.auth-required #authModal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:30px 20px;display:none}.auth-required #authModal[open]{display:flex;flex-direction:column;justify-content:center}.auth-required #authContent{width:100%;max-width:470px;margin:auto}}
.language-picker{display:inline-flex;align-items:center;gap:4px;margin-right:10px;padding:5px 8px;border:1px solid #31566a;border-radius:18px;background:#0b1c2a;color:#9ec3d3}.language-picker select{appearance:none;border:0;outline:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.language-picker option{background:#0b1c2a;color:white}@media(max-width:760px){.language-picker{margin-right:5px;padding:4px 6px}.language-picker span{display:none}}

/* BioLab language menu and contextual page tours */
.language-switcher{position:relative;margin-right:10px;padding:0;border:0;background:transparent;overflow:visible}.language-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.language-trigger{height:40px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #316375;border-radius:20px;background:linear-gradient(145deg,#102839,#0a1927);color:#dff8ff;box-shadow:0 6px 20px #0003}.language-trigger span{display:grid;place-content:center;width:23px;height:23px;border-radius:50%;background:#123f4c;color:var(--cyan);font-size:13px}.language-trigger b{color:#eaf9ff;font-size:12px;letter-spacing:.7px}.language-trigger i{font-style:normal;color:#7198a9;transition:.2s}.language-trigger[aria-expanded=true]{border-color:var(--cyan);box-shadow:0 0 0 3px #49e6c018}.language-trigger[aria-expanded=true] i{transform:rotate(180deg)}.language-menu{position:absolute;right:0;top:47px;z-index:160;width:190px;padding:7px;border:1px solid #365d70;border-radius:14px;background:#0b1b29;box-shadow:0 18px 50px #000b}.language-menu button{width:100%;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:7px;padding:10px;border:0;border-radius:9px;background:transparent;color:#c7dce7;text-align:left}.language-menu button:hover,.language-menu button[aria-selected=true]{background:#123630;color:white}.language-menu button>b{display:grid;place-content:center;width:32px;height:25px;border-radius:7px;background:#142c40;color:var(--cyan);font-size:10px}.language-menu button span{font-size:13px}.language-menu button i{color:var(--cyan);font-style:normal}.page-help-button{position:sticky;float:right;top:76px;z-index:9;display:inline-flex;align-items:center;gap:7px;margin:0 0 12px 12px;padding:9px 13px;border:1px solid #376879;border-radius:20px;background:#0d2332e8;color:#bfe2ec;backdrop-filter:blur(12px);box-shadow:0 8px 24px #0004}.page-help-button i{width:21px;height:21px;display:grid;place-content:center;border-radius:50%;background:var(--cyan);color:#05211d;font-style:normal;font-weight:900}.page-help-button:hover{border-color:var(--cyan);color:white}.tour-coach{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:760px){.language-switcher{margin-right:5px}.language-trigger{width:44px;height:38px;padding:0;justify-content:center}.language-trigger span,.language-trigger i{display:none}.language-menu{position:fixed;right:10px;top:55px;width:min(230px,calc(100vw - 20px))}.page-help-button{position:sticky;top:64px;margin:0 0 8px 8px;padding:8px;width:38px;height:38px;justify-content:center}.page-help-button span{display:none}.guided-tour-layer{align-items:flex-end!important;padding:10px!important}.tour-coach{width:100%!important;max-height:min(72dvh,620px);border-radius:20px 20px 13px 13px!important;padding:19px!important}.tour-coach h2{font-size:25px!important}.tour-explainer{max-height:210px;overflow:auto}.tour-coach-actions{position:sticky;bottom:-19px;margin:15px -19px -19px!important;padding:12px 19px calc(12px + env(safe-area-inset-bottom));background:#0d2131f5;border-top:1px solid var(--line);display:grid!important;grid-template-columns:1fr 1fr}.tour-coach-actions #guidedTourSkip{grid-column:1/-1;order:3}.tour-spotlight-target{scroll-margin-top:120px}}
.account-delete-link{display:block;margin-top:12px;padding:11px 14px;border:1px solid #a94b4b;border-radius:10px;color:#ffaaa3;text-align:center;text-decoration:none}.account-delete-link:hover{background:#421c22;color:#fff}
@media(max-width:620px){body.auth-required #authModal[open]{justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}body.auth-required #authContent{flex:0 0 auto;margin:auto;width:100%}.auth-form input{font-size:16px}.embedded-browser-warning{margin:10px 0;padding:11px 13px;border:1px solid #9b6a37;border-radius:10px;background:#322617;color:#ffd59a;font-size:12px;line-height:1.45}}


.auth-required #authModal[open]{z-index:10000}.auth-required #authModal.auth-modal-fallback[open]{position:fixed;inset:0;display:flex;margin:auto;z-index:10000}.auth-required:has(#authModal.auth-modal-fallback[open])::after{content:"";position:fixed;inset:0;z-index:9999;background:#020911ed;backdrop-filter:blur(10px)}
body.auth-required>.top,body.auth-required>main,body.auth-required>.notebook-fab{pointer-events:auto;user-select:auto;filter:none;opacity:1}body.auth-required #authModal[open]{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;flex-direction:column!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:#071522!important;overflow-y:auto!important;z-index:2147483647!important}body.auth-required #authModal[open] #authContent{display:block!important;width:100%!important;max-width:470px!important;margin:auto!important;opacity:1!important;filter:none!important}
.boot-recovery{position:fixed;inset:auto 12px 18px;z-index:2147483646;padding:16px;border:1px solid #ffb454;border-radius:14px;background:#241b13;color:#fff;box-shadow:0 16px 50px #000c}.boot-recovery b,.boot-recovery span{display:block}.boot-recovery span{margin:5px 0 12px;color:#ffd9a8}.boot-recovery button{padding:10px 14px;border:0;border-radius:9px;background:#50e3c2;color:#06221d;font-weight:800}
