.science-platform{--lab-cyan:#53e7ff;--lab-violet:#8b6cff;--lab-green:#73ffc5;--lab-navy:#030711;--lab-card:rgba(9,18,34,.82);position:relative;margin:0 -4vw;padding:0 4vw;background:radial-gradient(circle at 90% 9%,rgba(97,72,255,.18),transparent 27%),radial-gradient(circle at 12% 26%,rgba(0,213,255,.12),transparent 24%),#030711;color:#edf9ff;min-height:100vh;overflow:hidden;font-family:var(--font);border-top:1px solid rgba(83,231,255,.18)}
.science-platform:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(83,231,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(83,231,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 80%)}
.lab-nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid rgba(124,209,255,.14);position:sticky;top:0;z-index:12;background:rgba(3,7,17,.82);backdrop-filter:blur(24px)}
.lab-brand{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font:600 12px var(--mono);letter-spacing:.12em}.lab-brand span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--lab-cyan);border-radius:9px;color:var(--lab-cyan);margin-right:8px;box-shadow:inset 0 0 18px rgba(83,231,255,.12)}.lab-brand b{font-weight:800}.lab-links{display:flex;gap:28px}.lab-links a{color:#8da5ba;text-decoration:none;font:600 9px var(--mono);letter-spacing:.14em;transition:.2s}.lab-links a:hover{color:var(--lab-cyan)}.lab-tools{display:flex;gap:8px}.lab-tools button{border:1px solid rgba(124,209,255,.16);background:rgba(255,255,255,.025);height:36px;padding:0 12px;border-radius:9px;cursor:pointer;font:600 8px var(--mono);letter-spacing:.08em}.lab-tools button:hover{border-color:var(--lab-cyan);color:var(--lab-cyan)}
.advanced-panel{position:fixed;z-index:30;right:4vw;top:92px;width:310px;padding:18px;border:1px solid rgba(83,231,255,.25);border-radius:14px;background:rgba(5,12,24,.96);box-shadow:0 28px 70px #000;display:grid;gap:10px}.advanced-panel b{font:700 10px var(--mono);color:var(--lab-cyan);letter-spacing:.13em}.advanced-panel span{font:500 9px/1.45 var(--mono);color:#94adbe}
.lab-hero{position:relative;z-index:1;min-height:600px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;max-width:1320px;margin:auto}.lab-hero>div:first-child{max-width:720px}.lab-hero p,.section-heading p,.system-section>div>p{font:700 10px var(--mono);letter-spacing:.22em;color:var(--lab-cyan);margin:0 0 22px}.lab-hero h2{font:620 clamp(48px,6.6vw,94px)/.96 var(--font);letter-spacing:-.07em;margin:0}.lab-hero h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(148,232,255,.7);text-shadow:0 0 50px rgba(83,231,255,.17)}.lab-hero>div:first-child>span{display:block;max-width:590px;font-size:15px;line-height:1.7;color:#8da5ba;margin-top:28px}.hero-actions{display:flex;gap:12px;margin-top:34px}.hero-actions a,.hero-actions button{height:47px;display:flex;align-items:center;padding:0 20px;border-radius:10px;text-decoration:none;font:700 9px var(--mono);letter-spacing:.12em;cursor:pointer}.hero-actions a{background:var(--lab-cyan);color:#001019;box-shadow:0 0 34px rgba(83,231,255,.18)}.hero-actions button{background:transparent;border:1px solid rgba(124,209,255,.22);color:#cae9f5}
.hero-orbit{justify-self:center;width:min(37vw,440px);aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center;border:1px solid rgba(83,231,255,.11);box-shadow:0 0 120px rgba(47,132,255,.12),inset 0 0 90px rgba(83,231,255,.04);animation:lab-float 6s ease-in-out infinite}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:14%;border:1px solid rgba(139,108,255,.28);border-radius:50%;transform:rotateX(66deg);animation:lab-spin 11s linear infinite}.hero-orbit:after{inset:28%;transform:rotateY(65deg);border-color:rgba(83,231,255,.25);animation-direction:reverse}.hero-orbit>b{font:800 clamp(68px,8vw,115px) var(--font);letter-spacing:-.09em;color:#d9faff;text-shadow:0 0 45px rgba(83,231,255,.43)}.hero-orbit>i{position:absolute;width:12px;height:12px;background:var(--lab-cyan);border-radius:50%;box-shadow:0 0 22px var(--lab-cyan)}.hero-orbit>i:nth-child(1){top:14%;left:25%}.hero-orbit>i:nth-child(2){right:4%;top:52%;background:var(--lab-violet)}.hero-orbit>i:nth-child(3){bottom:12%;left:37%;background:var(--lab-green)}.hero-orbit>span{position:absolute;padding:7px 11px;background:rgba(5,12,24,.8);border:1px solid rgba(124,209,255,.17);border-radius:20px;font:650 7px var(--mono);letter-spacing:.15em;color:#a9c6d4}.hero-orbit>span:nth-last-child(3){left:-3%;top:38%}.hero-orbit>span:nth-last-child(2){right:-6%;top:25%}.hero-orbit>span:last-child{right:2%;bottom:15%}
.featured-strip{position:relative;z-index:1;max-width:1450px;margin:0 auto 110px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.featured-strip>div{min-height:300px;border:1px solid rgba(83,231,255,.28);background:linear-gradient(145deg,rgba(5,61,79,.35),rgba(6,14,28,.88));border-radius:18px;padding:24px;display:flex;flex-direction:column}.featured-strip>div>span{font:600 60px var(--mono);color:rgba(83,231,255,.18)}.featured-strip>div>b{font-size:25px;margin-top:auto}.featured-strip>div>small{color:#8198aa;margin:7px 0 20px}.featured-strip>div>button{height:40px;border:1px solid var(--lab-cyan);background:rgba(83,231,255,.1);border-radius:8px;font:700 8px var(--mono);letter-spacing:.1em;cursor:pointer}
.module-section{position:relative;z-index:1;max-width:1320px;margin:0 auto 125px;scroll-margin-top:100px}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:34px}.section-heading p{grid-column:1/-1;margin-bottom:10px}.section-heading h3{font-size:clamp(36px,5vw,64px);letter-spacing:-.055em;margin:0}.section-heading>span{max-width:480px;color:#7f98ab;font-size:13px;line-height:1.65;justify-self:end}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-card{position:relative;min-height:330px;padding:23px;border-radius:17px;border:1px solid rgba(124,209,255,.14);background:linear-gradient(145deg,rgba(12,25,45,.84),rgba(5,11,23,.86));box-shadow:inset 0 1px rgba(255,255,255,.04),0 25px 70px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;transition:.35s}.module-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(83,231,255,.11),transparent 43%);opacity:0;transition:.35s}.module-card:hover{transform:translateY(-7px);border-color:rgba(83,231,255,.37);box-shadow:0 30px 75px rgba(0,0,0,.32),0 0 35px rgba(83,231,255,.07)}.module-card:hover:before{opacity:1}.card-top{display:flex;justify-content:space-between;align-items:start;position:relative}.card-top>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:rgba(83,231,255,.07);border:1px solid rgba(83,231,255,.18);font-size:23px;color:var(--lab-cyan)}.card-top>i{font:650 7px var(--mono);letter-spacing:.11em;padding:6px 8px;border:1px solid rgba(115,255,197,.2);border-radius:20px;color:var(--lab-green);font-style:normal}.module-card>small{font:650 8px var(--mono);letter-spacing:.12em;color:#638397;margin:28px 0 9px}.module-card h4{font-size:23px;letter-spacing:-.035em;margin:0}.module-card>p{font-size:11px;line-height:1.6;color:#8aa3b4;margin:11px 0 24px;max-width:330px}.module-card>div:last-child{margin-top:auto;position:relative}.module-card>div:last-child>b{display:block;font:550 7px var(--mono);letter-spacing:.09em;color:#6d8a9b;margin-bottom:11px}.module-card>div:last-child>button{width:100%;height:38px;border:1px solid rgba(83,231,255,.22);background:rgba(83,231,255,.045);border-radius:8px;font:700 8px var(--mono);letter-spacing:.1em;cursor:pointer;transition:.2s}.module-card>div:last-child>button:hover{background:var(--lab-cyan);color:#001019}.priority-1{min-height:300px}.featured-strip .module-card{min-width:0}.quiz-card{border-color:rgba(139,108,255,.33);background:linear-gradient(145deg,rgba(44,29,95,.48),rgba(6,13,27,.9))}.quiz-card .card-top>span{border-color:rgba(139,108,255,.5);background:rgba(139,108,255,.12);color:#bbaaff}
.system-section{position:relative;z-index:1;max-width:1320px;margin:0 auto 100px;padding:50px;border:1px solid rgba(124,209,255,.15);border-radius:24px;background:linear-gradient(120deg,rgba(8,22,40,.9),rgba(26,19,63,.45))}.system-section>div:first-child{display:flex;align-items:end;justify-content:space-between}.system-section h3{font-size:38px;letter-spacing:-.04em;margin:0}.pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:42px 0 26px}.pipeline span{min-height:90px;border:1px solid rgba(124,209,255,.13);border-radius:11px;padding:14px;font:650 8px/1.4 var(--mono);letter-spacing:.08em;color:#a8c1cf;position:relative}.pipeline span:not(:last-child):after{content:"→";position:absolute;right:-9px;top:35px;color:var(--lab-cyan);z-index:2}.pipeline b{display:block;color:var(--lab-cyan);font-size:9px;margin-bottom:18px}.system-section>button{height:43px;padding:0 19px;border:1px solid var(--lab-cyan);border-radius:8px;background:rgba(83,231,255,.08);font:700 8px var(--mono);letter-spacing:.1em;cursor:pointer}.science-platform>footer{position:relative;z-index:1;height:110px;border-top:1px solid rgba(124,209,255,.14);display:flex;align-items:center;gap:20px}.science-platform>footer b{font:700 10px var(--mono);letter-spacing:.13em}.science-platform>footer span{color:#648193;font-size:10px}.science-platform>footer small{margin-left:auto;color:#526b7a;font:500 8px var(--mono)}
.lab-overlay{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 70% 0,rgba(77,62,183,.16),transparent 35%),#030711;color:#edf9ff;overflow:auto;font-family:var(--font)}.lab-overlay>header{position:sticky;top:0;z-index:8;min-height:76px;padding:12px 3vw;display:flex;align-items:center;gap:13px;background:rgba(3,7,17,.9);backdrop-filter:blur(25px);border-bottom:1px solid rgba(124,209,255,.15)}.lab-overlay>header>div{flex:1}.lab-overlay>header small{font:650 7px var(--mono);letter-spacing:.13em;color:var(--lab-cyan)}.lab-overlay>header h2{font-size:20px;margin:3px 0 0;letter-spacing:-.02em}.lab-overlay>header button{height:38px;border:1px solid rgba(124,209,255,.17);background:rgba(255,255,255,.025);border-radius:8px;padding:0 13px;font:650 8px var(--mono);letter-spacing:.08em;cursor:pointer}.lab-overlay>header button:hover{border-color:var(--lab-cyan);color:var(--lab-cyan)}.lab-overlay>main{padding:40px 4vw 80px}.experience,.system-lab,.quiz-setup,.quiz-live{max-width:1280px;margin:auto}.experience.two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:22px}.lab-intro{display:grid;align-content:start;gap:10px}.lab-intro>div{padding:17px;border:1px solid rgba(124,209,255,.12);border-radius:12px;background:rgba(9,18,34,.68)}.lab-intro small{font:700 7px var(--mono);letter-spacing:.13em;color:var(--lab-cyan)}.lab-intro p{font-size:10px;line-height:1.6;color:#8fa7b7;margin:8px 0 0}.vision-stage{position:relative}.vision-feed{position:relative;aspect-ratio:4/3;max-height:630px;overflow:hidden;border-radius:17px;background:#050b13;border:1px solid rgba(83,231,255,.26);box-shadow:0 24px 80px rgba(0,0,0,.4)}.vision-feed video,.vision-feed canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vision-feed video{transform:scaleX(-1)}.vision-feed canvas{z-index:2}.vision-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:radial-gradient(circle,rgba(31,107,138,.17),transparent 50%)}.vision-cover>span{font-size:50px;color:var(--lab-cyan);text-shadow:0 0 30px var(--lab-cyan)}.vision-cover>b{font:700 11px var(--mono);letter-spacing:.13em}.vision-cover>small{max-width:420px;color:#7f9aaa;font-size:9px;line-height:1.5}.vision-cover>button,.stop-camera{border:1px solid var(--lab-cyan);background:rgba(83,231,255,.09);color:#eaffff;border-radius:8px;height:39px;padding:0 16px;font:700 8px var(--mono);letter-spacing:.1em;cursor:pointer}.vision-badge{position:absolute;left:13px;top:13px;z-index:4;padding:7px 9px;background:rgba(2,7,13,.72);border:1px solid rgba(124,209,255,.17);border-radius:6px;font:650 7px var(--mono);letter-spacing:.11em}.vision-badge i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#697985;margin-right:6px}.vision-badge i.ready{background:var(--lab-green);box-shadow:0 0 8px var(--lab-green)}.vision-badge i.loading{background:#ffd55a}.vision-badge i.error{background:#ff496a}.stop-camera{position:absolute;right:10px;bottom:10px;z-index:5;height:31px;background:rgba(3,7,17,.78)}
.mode-tabs{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}.mode-tabs button{height:34px;padding:0 13px;border:1px solid rgba(124,209,255,.14);border-radius:7px;background:rgba(255,255,255,.025);font:650 7px var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.mode-tabs button.active{border-color:var(--lab-cyan);background:rgba(83,231,255,.1);color:var(--lab-cyan)}.counter-display{margin-top:12px;padding:20px;border:1px solid rgba(124,209,255,.14);border-radius:13px;background:rgba(8,18,34,.75);display:grid;grid-template-columns:1fr auto;align-items:center}.counter-display small{font:700 8px var(--mono);letter-spacing:.14em;color:#7894a7}.counter-display strong{font:600 70px/1 var(--mono);color:var(--lab-cyan);grid-row:1/3;grid-column:2}.counter-display span{font-size:11px;color:#91a8b8}.counter-display b{grid-column:1/-1;margin-top:12px}.finger-states{display:grid!important;grid-template-columns:repeat(5,1fr);gap:5px}.finger-states span{padding:10px 4px;border:1px solid rgba(124,209,255,.12);border-radius:6px;text-align:center;font:600 6px var(--mono);color:#5f7888}.finger-states span.on{color:var(--lab-green);border-color:rgba(115,255,197,.35);background:rgba(115,255,197,.07)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.metric-grid span{padding:13px;border:1px solid rgba(124,209,255,.12);border-radius:9px;background:rgba(8,18,34,.72)}.metric-grid small,.element-card small{display:block;font:650 6px var(--mono);letter-spacing:.12em;color:#638296}.metric-grid b{display:block;margin-top:6px;font:650 13px var(--mono)}.coordinate-list{max-height:230px;overflow:auto;display:flex!important;flex-direction:column;gap:5px}.coordinate-list code{font-size:8px;color:#9bc3d2}.success{color:var(--lab-green)!important}.warning{color:#ffd45a!important}.safe-note{border-color:rgba(115,255,197,.27)!important}.safe-note b{font:700 8px var(--mono);color:var(--lab-green);letter-spacing:.12em}.knowledge-check{display:grid!important;gap:6px}.knowledge-check>small{margin-bottom:5px}.knowledge-check button{border:1px solid rgba(124,209,255,.1);background:rgba(255,255,255,.02);color:#a8becb;border-radius:7px;padding:10px;text-align:left;font-size:8px;cursor:pointer}.knowledge-check button span{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(83,231,255,.1);color:var(--lab-cyan);margin-right:8px}
.physics-stage{position:relative;height:370px;border:1px solid rgba(124,209,255,.15);border-radius:16px;background:linear-gradient(#06101d 70%,#09121b 70%);overflow:hidden;cursor:grab}.physics-stage:before{content:"NEWTON LAB · DRAG THROUGH THE BLOCK TO PUSH";position:absolute;left:20px;top:18px;font:650 7px var(--mono);letter-spacing:.13em;color:#5f7b8b}.surface{position:absolute;left:0;right:0;top:70%;height:1px;background:rgba(83,231,255,.3)}.block{position:absolute;top:calc(70% - 70px);transform:translateX(-50%);width:70px;height:70px;border:1px solid var(--lab-cyan);border-radius:10px;background:linear-gradient(145deg,rgba(83,231,255,.17),rgba(5,17,27,.9));box-shadow:0 15px 30px #000;display:grid;place-items:center;z-index:2}.block b{font:700 10px var(--mono)}.target-zone{position:absolute;top:45%;bottom:30%;width:9%;transform:translateX(-50%);border:1px dashed var(--lab-green);color:var(--lab-green);font:600 7px var(--mono);display:grid;place-items:center}.force-vector{position:absolute;top:calc(70% - 40px);height:2px;background:#ff657f;color:#ff657f;font:700 8px var(--mono);transform-origin:left}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.control-grid>*{min-height:58px;border:1px solid rgba(124,209,255,.12);border-radius:9px;background:rgba(8,18,34,.72);padding:12px;color:#92aaba;font-size:9px}.control-grid label{display:grid;grid-template-columns:1fr auto;align-items:center}.control-grid input{grid-column:1/-1;width:100%;accent-color:var(--lab-cyan)}.control-grid b{color:#e9f9ff;font:650 11px var(--mono)}.control-grid button{cursor:pointer;font:650 8px var(--mono);letter-spacing:.08em;color:#daf8ff}.formula-ribbon{display:flex;align-items:center;gap:18px;margin-top:11px;padding:15px;border:1px solid rgba(124,209,255,.12);border-radius:9px;background:rgba(8,18,34,.55)}.formula-ribbon b{font:650 13px var(--mono);color:var(--lab-cyan)}.formula-ribbon span{margin-left:auto;color:#7793a3;font-size:9px}.formula-ribbon strong{color:#ff5874;font:700 9px var(--mono);margin-left:auto}.energy-stage{height:360px;border:1px solid rgba(124,209,255,.14);border-radius:15px;position:relative;background:linear-gradient(90deg,transparent 49.8%,rgba(83,231,255,.1) 50%,transparent 50.2%),linear-gradient(#08172a,#030711);overflow:hidden}.energy-stage:after{content:"GROUND";position:absolute;left:0;right:0;bottom:38px;border-top:1px solid rgba(83,231,255,.27);font:600 7px var(--mono);color:#537185;padding:7px}.energy-object{position:absolute;left:50%;transform:translateX(-50%);width:55px;height:55px;display:grid;place-items:center;border:1px solid var(--lab-violet);border-radius:11px;background:rgba(139,108,255,.18);color:#c9bcff;transition:bottom .4s}.energy-object.falling{bottom:40px!important;transition:bottom 1s cubic-bezier(.7,0,1,.4)}.height-rule{position:absolute;left:54%;top:20px;bottom:39px;border-left:1px dashed rgba(83,231,255,.2);padding:10px;color:var(--lab-cyan);font:650 8px var(--mono)}.energy-bars{display:grid;gap:7px;margin-top:10px}.energy-bars span{position:relative;overflow:hidden;padding:11px;border:1px solid rgba(124,209,255,.1);border-radius:7px;font:650 8px var(--mono);z-index:1}.energy-bars span:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:linear-gradient(90deg,rgba(83,231,255,.28),rgba(139,108,255,.2));z-index:-1;transition:.5s}
.ray-stage{height:480px;border:1px solid rgba(124,209,255,.14);border-radius:17px;background:radial-gradient(circle at 50% 60%,rgba(83,231,255,.08),transparent 42%),#06101d;position:relative}.ray-stage svg{width:100%;height:100%}.mirror-line{stroke:#d8f8ff;stroke-width:1.8}.normal-line{stroke:#718b9b;stroke-width:.35;stroke-dasharray:2 2}.incident-ray{stroke:#ffcf52;stroke-width:.8;filter:drop-shadow(0 0 3px #ffcf52)}.reflected-ray{stroke:#53e7ff;stroke-width:.8;filter:drop-shadow(0 0 3px #53e7ff)}.light-source{fill:#ffcf52;filter:drop-shadow(0 0 5px #ffcf52)}.angle-arc{fill:none;stroke:#b99cff;stroke-width:.6}.law-readout{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;padding:10px 15px;border:1px solid rgba(124,209,255,.15);background:rgba(3,7,17,.75);border-radius:9px}.law-readout b{font:650 12px var(--mono)}.law-readout i{color:var(--lab-green)}
.circuit-board{height:430px;border:1px solid rgba(124,209,255,.14);border-radius:17px;background:#06101d;position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;align-items:center;justify-items:center;overflow:hidden}.circuit-board>button{position:relative;z-index:2;width:90px;height:70px;border:1px solid rgba(124,209,255,.3);background:#091827;border-radius:10px;font:700 18px var(--mono);cursor:pointer}.circuit-board>button small{display:block;font:600 6px var(--mono);color:#7492a2;margin-top:8px}.circuit-board .bulb{font-size:30px;filter:grayscale(1)}.circuit-board.closed .bulb{filter:none;box-shadow:0 0 35px rgba(255,221,79,.18)}.meter.placed{border-color:var(--lab-green);color:var(--lab-green)}.circuit-wire{position:absolute;inset:22%;border:2px solid #315264;border-radius:40px}.circuit-board.closed .circuit-wire{border-color:var(--lab-cyan);box-shadow:0 0 8px rgba(83,231,255,.28)}.electrons{position:absolute;color:var(--lab-cyan);font-size:13px;letter-spacing:45px;white-space:nowrap;animation:electrons 2s linear infinite}.circuit-board .switch{width:90px;height:70px;transform:none;margin:0}.electrons{left:22%;top:20%}
.atom-builder{display:grid;gap:18px}.atom{height:570px;position:relative;display:grid;place-items:center;border:1px solid rgba(124,209,255,.14);border-radius:18px;background:radial-gradient(circle,rgba(139,108,255,.14),transparent 40%),#06101d;overflow:hidden}.nucleus{position:relative;z-index:5;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#ff7690,#6e2848);box-shadow:0 0 40px rgba(255,73,106,.25)}.nucleus b,.nucleus span{font:700 11px var(--mono)}.nucleus span{color:#ccd9df}.shell{position:absolute;border:1px solid rgba(83,231,255,.25);border-radius:50%;width:110px;height:110px}.shell-2{width:180px;height:180px}.shell-3{width:250px;height:250px}.shell-4{width:320px;height:320px}.shell em{position:absolute;left:50%;top:50%;width:15px;height:15px;margin:-7px;border-radius:50%;display:grid;place-items:center;background:#53e7ff;color:#001019;font:700 12px var(--mono);transform-origin:7px 7px;font-style:normal;box-shadow:0 0 10px #53e7ff}.particle-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.particle-controls span{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid rgba(124,209,255,.13);border-radius:9px;font-size:9px}.particle-controls button{width:27px;height:27px;border:1px solid rgba(124,209,255,.2);background:#0a1726;border-radius:6px;cursor:pointer}.element-card{display:grid!important;grid-template-columns:1fr 1fr;gap:11px}.element-card h3{grid-column:1/-1;font-size:30px;margin:7px 0}.element-card span{font-size:9px;color:#7690a1}.element-card span b{display:block;margin-top:5px;color:#e9faff;font:650 13px var(--mono)}.challenge-row{display:grid!important;grid-template-columns:1fr 1fr;gap:5px}.challenge-row button{height:32px;border:1px solid rgba(124,209,255,.14);background:rgba(255,255,255,.025);border-radius:6px;color:#a5becb;font:650 7px var(--mono);cursor:pointer}
.cell-diagram{height:580px;position:relative;border:1px solid rgba(124,209,255,.14);background:radial-gradient(ellipse,rgba(69,194,145,.18),transparent 67%),#06101d;overflow:hidden}.cell-diagram.plant{border-radius:26% 17% 25% 15%;box-shadow:inset 0 0 0 8px rgba(115,255,197,.08)}.cell-diagram.animal{border-radius:48% 52% 44% 56%}.cell-diagram:before{content:"";position:absolute;inset:12%;border:2px solid rgba(83,231,255,.22);border-radius:inherit}.cell-diagram .cell-wall{position:absolute;left:20px;top:18px;font:650 7px var(--mono);letter-spacing:.12em;color:#74a092}.cell-diagram button{position:absolute;transform:translate(-50%,-50%);width:31px;height:31px;border:1px solid rgba(83,231,255,.3);border-radius:50%;background:rgba(83,231,255,.11);cursor:pointer}.cell-diagram button i{display:block;width:7px;height:7px;margin:auto;border-radius:50%;background:var(--lab-cyan);box-shadow:0 0 10px var(--lab-cyan)}.cell-diagram button.active{transform:translate(-50%,-50%) scale(1.35);border-color:var(--lab-green);box-shadow:0 0 20px rgba(115,255,197,.22)}.organelle-readout h3,.system-readout h3{font-size:28px;margin:8px 0}.organelle-readout p,.system-readout p{font-size:11px;line-height:1.65;color:#9ab1bf}
.lungs{margin-top:12px;height:180px;border:1px solid rgba(124,209,255,.14);border-radius:13px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;background:#06101d}.lungs i{width:100px;height:125px;border:1px solid #ff7690;border-radius:60% 40% 55% 45%;background:rgba(255,83,117,.13);transition:.55s}.lungs i:nth-child(2){border-radius:40% 60% 45% 55%}.lungs.inhale i{transform:scale(1.12);background:rgba(255,83,117,.23)}.lungs b{position:absolute;color:#f9c2ce;font:700 10px var(--mono)}.lungs span{position:absolute;bottom:12px;font:600 7px var(--mono);color:#7793a3}.bone-list{display:grid!important;grid-template-columns:1fr 1fr;gap:5px}.bone-list span{font-size:8px;padding:8px;border:1px solid rgba(124,209,255,.1);border-radius:6px;color:#9eb5c2}.breath-steps b{font:700 10px var(--mono);color:var(--lab-cyan)}.breath-steps span{display:block;margin-top:8px;color:#8ba5b5;font-size:9px}
.eye-model{height:220px;position:relative;border:1px solid rgba(124,209,255,.13)!important;border-radius:50%!important;background:radial-gradient(circle at 48%,#163347 0 15%,#07121e 16% 60%,transparent 61%)!important;overflow:hidden}.eye-model .cornea{position:absolute;left:5%;top:22%;bottom:22%;width:12%;border:2px solid #64dcff;border-right:0;border-radius:50% 0 0 50%}.eye-model .iris{position:absolute;left:18%;top:31%;height:38%;border-left:5px solid #58aadc}.eye-model .lens{position:absolute;left:30%;top:30%;width:13%;height:40%;border:2px solid #c2f7ff;border-radius:50%}.eye-model .retina{position:absolute;right:8%;top:16%;height:68%;border-right:3px solid #ff768f;border-radius:50%}.eye-model .optic-nerve{position:absolute;right:-5%;top:45%;width:17%;height:12%;background:#b27fdb;transform:rotate(8deg)}.eye-model .eye-ray{position:absolute;left:0;right:10%;top:50%;height:1px;background:linear-gradient(90deg,#ffd451,#ffd451 45%,#53e7ff)}.eye-model>b{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font:650 7px var(--mono);color:var(--lab-green)}
.body-system{height:520px;max-width:600px;margin:auto;position:relative;border:1px solid rgba(124,209,255,.13);border-radius:40% 40% 20% 20%;background:radial-gradient(ellipse,rgba(139,108,255,.1),transparent 60%),#06101d}.digestive-path{position:absolute;inset:8%;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.digestive-path button{position:relative;z-index:2;width:160px;height:39px;border:1px solid rgba(124,209,255,.13);border-radius:20px;background:#091827;color:#7691a2;font:650 8px var(--mono);cursor:pointer}.digestive-path button.active{border-color:var(--lab-cyan);color:#dffaff;box-shadow:0 0 19px rgba(83,231,255,.12)}.digestive-path button i{display:inline-block;width:6px;height:6px;background:#435968;border-radius:50%;margin-right:8px}.digestive-path button.active i{background:var(--lab-green);box-shadow:0 0 8px var(--lab-green)}.food-particle{position:absolute;left:29%;color:#ffd352;filter:drop-shadow(0 0 7px #ffd352);transition:top .5s}.timeline{display:block;width:min(600px,100%);margin:20px auto;accent-color:var(--lab-cyan)}.system-readout{max-width:600px;margin:auto;text-align:center}.heart-stage{height:430px;border:1px solid rgba(124,209,255,.13);border-radius:17px;background:radial-gradient(circle,rgba(255,73,106,.11),transparent 40%),#06101d;display:grid;place-items:center;position:relative;overflow:hidden}.heart{width:220px;height:260px;display:grid;grid-template-columns:1fr 1fr;border-radius:45% 45% 50% 50%;overflow:hidden;border:2px solid rgba(255,93,123,.7);transform:rotate(-3deg);background:rgba(255,64,95,.12)}.beating .heart{animation:heart var(--beat) ease-in-out infinite}.heart span{display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);font:700 16px var(--mono);color:#ffb8c6}.blood-path{position:absolute;font:650 8px var(--mono);letter-spacing:.12em}.blood-path.red{top:30px;color:#ff6984}.blood-path.blue{bottom:30px;color:#54baff}.sequence-challenge{padding:18px;border:1px solid rgba(124,209,255,.13);border-radius:12px;margin-top:12px}.sequence-challenge small{font:700 7px var(--mono);color:var(--lab-cyan);letter-spacing:.13em}.sequence-challenge>div{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.sequence-challenge button{height:31px;border:1px solid rgba(124,209,255,.15);background:rgba(255,255,255,.025);border-radius:6px;color:#a4bdca;font:600 7px var(--mono);cursor:pointer}.sequence-challenge p{font-size:9px;color:#849bab;min-height:18px}
.reaction-bench{min-height:620px;border:1px solid rgba(124,209,255,.14);border-radius:18px;background:#06101d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.flask{width:220px;height:270px;border:3px solid #73a9bd;border-top:0;border-radius:20px 20px 90px 90px;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.flask i{position:absolute;left:0;right:0;bottom:0;height:55%;background:#286e91;transition:.5s}.flask.gas i:after{content:"○  ○   ○";position:absolute;left:25%;top:-50px;color:#8eeaff;animation:bubbles 1.2s linear infinite}.flask.heat{box-shadow:0 30px 50px rgba(255,110,55,.2)}.flask.colour i{background:#6bb6b0}.flask.precipitate i{background:linear-gradient(#47758c 70%,#ecf6e9 71%)}.flask span{position:relative;z-index:2;font:700 8px var(--mono);margin-bottom:22px}.reaction-bench select{width:280px;background:#091827;color:white;border:1px solid rgba(124,209,255,.17);border-radius:8px;padding:11px}.reaction-bench button{width:280px;height:42px;border:1px solid var(--lab-cyan);border-radius:8px;background:rgba(83,231,255,.08);font:700 8px var(--mono);letter-spacing:.1em;cursor:pointer}.equation-card h3{font:650 21px var(--mono);line-height:1.5;margin:12px 0}.equation-card>b{font:650 9px var(--mono);color:var(--lab-green)}
.molecule-stage{min-height:620px;border:1px solid rgba(124,209,255,.14);border-radius:18px;background:#06101d;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:45px}.molecule{min-height:240px;display:flex;align-items:center;justify-content:center;gap:42px;position:relative}.molecule:before{content:"";position:absolute;left:25%;right:25%;top:50%;height:3px;background:#75a5bd;box-shadow:0 -8px transparent,0 8px transparent}.molecule.double:before{box-shadow:0 8px #75a5bd}.molecule.triple:before{box-shadow:0 8px #75a5bd,0 -8px #75a5bd}.atom-c,.atom-o{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#586c84,#131d2a);border:1px solid #8ea5b8;font:700 25px var(--mono);z-index:2}.atom-o{background:radial-gradient(circle at 30% 25%,#ff738e,#631f37);border-color:#ff8fa5}.molecule>i{position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eafaff;color:#10202b;font:700 11px var(--mono);transform:rotate(calc(var(--i, 1)*45deg)) translate(120px)}.molecule>i:nth-of-type(2n){top:25%}.molecule>i:nth-of-type(3n){bottom:20%}.molecule-picker{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.molecule-picker button{border:1px solid rgba(124,209,255,.13);background:#091827;color:#8fa7b7;border-radius:7px;padding:9px;font:600 7px var(--mono);cursor:pointer}.molecule-picker button.active{border-color:var(--lab-cyan);color:var(--lab-cyan)}
.quiz-setup{min-height:650px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.quiz-setup>p{color:#8ba4b4;font-size:12px}.quiz-setup>div:first-of-type{display:flex;gap:10px;margin:30px 0}.quiz-setup label{display:flex;flex-direction:column;gap:7px;text-align:left;font:650 7px var(--mono);letter-spacing:.11em;color:#6e899a}.quiz-setup select{width:190px;background:#091827;color:#fff;border:1px solid rgba(124,209,255,.18);border-radius:8px;padding:12px}.quiz-summary{display:flex!important;gap:8px;margin-bottom:25px}.quiz-summary span{width:170px;border:1px solid rgba(124,209,255,.13);border-radius:10px;padding:17px;font:650 7px var(--mono);color:#6c8798}.quiz-summary b{display:block;font:650 26px var(--mono);color:var(--lab-cyan);margin-bottom:8px}.quiz-setup>button{width:260px;height:48px;border:1px solid var(--lab-cyan);background:rgba(83,231,255,.1);border-radius:9px;font:700 9px var(--mono);letter-spacing:.12em;cursor:pointer}.quiz-live{max-width:900px}.quiz-live>header{display:flex;align-items:center;gap:20px}.quiz-live>header span,.quiz-live>header b{font:650 8px var(--mono);letter-spacing:.11em;color:#7591a2}.quiz-live>header b{color:var(--lab-cyan)}.quiz-live>header i{margin-left:auto;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(83,231,255,.28);border-radius:50%;font:650 11px var(--mono);font-style:normal}.quiz-progress{height:3px;background:rgba(255,255,255,.06);margin:20px 0 45px}.quiz-progress i{display:block;height:100%;background:var(--lab-cyan);transition:.3s}.quiz-live>h3{font-size:clamp(25px,4vw,44px);line-height:1.15;letter-spacing:-.045em;margin:0 0 30px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-options button{min-height:73px;border:1px solid rgba(124,209,255,.14);background:rgba(9,20,36,.78);color:#c9dce5;border-radius:11px;padding:16px;text-align:left;font-size:11px;cursor:pointer}.quiz-options button:hover{border-color:var(--lab-cyan)}.quiz-options button span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:8px;background:rgba(83,231,255,.07);color:var(--lab-cyan);font:700 10px var(--mono);margin-right:12px}.quiz-options button.correct{border-color:var(--lab-green);background:rgba(115,255,197,.08)}.quiz-options button.wrong{border-color:#ff496a;background:rgba(255,73,106,.08)}.quiz-explanation{margin-top:15px;padding:20px;border:1px solid rgba(115,255,197,.21);border-radius:11px;background:rgba(115,255,197,.035)}.quiz-explanation>b{font:700 8px var(--mono);color:var(--lab-green);letter-spacing:.12em}.quiz-explanation p{font-size:11px;line-height:1.6;color:#a6bdc9}.quiz-explanation button{height:37px;border:1px solid var(--lab-green);background:rgba(115,255,197,.07);border-radius:7px;font:700 8px var(--mono);cursor:pointer}.quiz-live>footer{display:flex;gap:30px;border-top:1px solid rgba(124,209,255,.13);margin-top:20px;padding-top:20px;font-size:9px;color:#7590a1}.quiz-live>footer b{color:#e9faff}.quiz-live>footer small{margin-left:auto;color:#5f7888}.empty-state{max-width:700px;margin:120px auto;text-align:center}
.big-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.big-pipeline article,.ethics-grid article{border:1px solid rgba(124,209,255,.13);border-radius:13px;background:rgba(8,18,34,.72);padding:20px;min-height:170px}.big-pipeline span{font:650 12px var(--mono);color:var(--lab-cyan)}.big-pipeline h3{font-size:20px;margin:35px 0 8px}.big-pipeline p,.ethics-grid p{font-size:10px;line-height:1.6;color:#879faf}.ethics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.ethics-grid b{font:700 8px var(--mono);letter-spacing:.12em;color:var(--lab-green)}.attract-screen{position:fixed;inset:0;z-index:200;border:0;background:radial-gradient(circle at 50%,rgba(48,152,201,.18),transparent 36%),#02050b;color:#effcff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.attract-screen span{font:700 10px var(--mono);letter-spacing:.25em;color:var(--lab-cyan)}.attract-screen h2{font-size:clamp(45px,7vw,100px);letter-spacing:-.07em;max-width:1000px;margin:30px;text-align:center;animation:attract 2.6s ease}.attract-screen b{font:700 8px var(--mono);letter-spacing:.16em;padding:13px 17px;border:1px solid rgba(83,231,255,.23);border-radius:20px}
@keyframes lab-spin{to{transform:rotateX(66deg) rotate(360deg)}}@keyframes lab-float{50%{transform:translateY(-12px)}}@keyframes electrons{to{transform:translateX(95px)}}@keyframes heart{50%{transform:rotate(-3deg) scale(1.08)}}@keyframes bubbles{to{transform:translateY(-80px);opacity:0}}@keyframes attract{0%{opacity:0;transform:translateY(25px)}18%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-16px)}}
@media(max-width:1100px){.lab-links{display:none}.featured-strip{grid-template-columns:repeat(3,1fr)}.featured-strip>div{grid-column:span 3}.module-grid{grid-template-columns:1fr 1fr}.experience.two-column{grid-template-columns:1fr}.lab-intro{grid-template-columns:repeat(3,1fr)}.lab-intro>div:nth-child(n+4){grid-column:1/-1}.pipeline{grid-template-columns:repeat(3,1fr)}.big-pipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.science-platform{margin-left:-14px;margin-right:-14px;padding:0 14px}.lab-nav{height:70px}.lab-brand{font-size:9px}.lab-tools button:nth-child(2){font-size:0;width:36px}.lab-tools button:nth-child(2):before{content:"⛶";font-size:12px}.lab-hero{grid-template-columns:1fr;min-height:730px;padding-top:70px}.lab-hero h2{font-size:53px}.hero-orbit{width:300px;margin:40px auto}.featured-strip{grid-template-columns:1fr}.featured-strip>div{grid-column:1}.module-grid{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr}.section-heading>span{justify-self:start;margin-top:12px}.system-section{padding:25px}.pipeline{grid-template-columns:1fr 1fr}.science-platform>footer{height:auto;padding:30px 0;flex-direction:column;align-items:flex-start}.science-platform>footer small{margin:0}.lab-overlay>header{flex-wrap:wrap}.lab-overlay>header>div{order:-1;flex-basis:100%}.lab-overlay>main{padding:25px 14px 70px}.lab-intro{grid-template-columns:1fr}.metric-grid,.control-grid{grid-template-columns:1fr 1fr}.particle-controls{grid-template-columns:1fr}.atom{height:430px}.cell-diagram{height:430px}.quiz-options{grid-template-columns:1fr}.quiz-setup>div:first-of-type,.quiz-summary{flex-direction:column}.quiz-live>footer{flex-wrap:wrap}.quiz-live>footer small{margin:0;width:100%}.big-pipeline,.ethics-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.hero-actions{flex-direction:column}.hero-orbit{width:250px}.module-card{min-height:300px}.metric-grid,.control-grid{grid-template-columns:1fr}.formula-ribbon{flex-wrap:wrap}.formula-ribbon span{margin:0;width:100%}.lab-intro{grid-template-columns:1fr}.big-pipeline,.ethics-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr}.pipeline span:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-13px}.vision-feed{border-radius:11px}.counter-display strong{font-size:54px}.heart{width:180px;height:220px}.lab-tools button:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.science-platform *,.science-platform *:before,.science-platform *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
.hand-dock{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;margin-bottom:12px;padding:10px;border:1px solid rgba(83,231,255,.16);border-radius:12px;background:rgba(8,18,34,.72)}.hand-dock .vision-feed{height:105px;aspect-ratio:16/9;border-radius:8px}.hand-dock .vision-cover{gap:4px}.hand-dock .vision-cover>span,.hand-dock .vision-cover>small,.hand-dock .vision-badge{display:none}.hand-dock .vision-cover>b{font-size:6px}.hand-dock .vision-cover>button{height:29px;padding:0 9px;font-size:6px}.hand-dock .stop-camera{height:24px;font-size:6px}.hand-dock>div:last-child{display:flex;flex-direction:column;gap:5px}.hand-dock small{font:700 7px var(--mono);letter-spacing:.12em;color:var(--lab-cyan)}.hand-dock b{font-size:11px}.hand-dock span{font-size:8px;color:#718c9d}
.quiz-gesture{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;margin:-25px 0 28px;padding:9px;border:1px solid rgba(139,108,255,.24);border-radius:11px;background:rgba(24,17,58,.35)}.quiz-gesture .vision-feed{height:84px;aspect-ratio:16/9;border-radius:7px}.quiz-gesture .vision-cover{gap:3px}.quiz-gesture .vision-cover>span,.quiz-gesture .vision-cover>small,.quiz-gesture .vision-badge{display:none}.quiz-gesture .vision-cover>b{font-size:6px}.quiz-gesture .vision-cover>button{height:27px;padding:0 8px;font-size:6px}.quiz-gesture>div:last-child>b,.quiz-gesture>div:last-child>small{display:block;font:650 7px var(--mono);letter-spacing:.08em}.quiz-gesture>div:last-child>b{color:#c8bcff}.quiz-gesture>div:last-child>small{color:#657d8e;margin-top:7px}.quiz-gesture>div:last-child>span{display:block;height:3px;margin-top:8px;background:rgba(255,255,255,.06)}.quiz-gesture>div:last-child>span i{display:block;height:100%;background:var(--lab-violet);transition:.1s}.quiz-options button.pending{border-color:var(--lab-violet);box-shadow:0 0 20px rgba(139,108,255,.13)}
@media(max-width:600px){.hand-dock,.quiz-gesture{grid-template-columns:1fr}.hand-dock .vision-feed,.quiz-gesture .vision-feed{height:120px}.quiz-gesture{margin-top:-20px}}

/* Exhibition readability pass: controls and explanations remain legible from a projector. */
.lab-brand{font-size:14px}.lab-brand span{width:38px;height:38px}.lab-links{align-items:center;gap:22px}.lab-links a,.lab-links button{border:0;background:transparent;color:#aec4d2;text-decoration:none;font:650 11px var(--mono);letter-spacing:.09em;padding:9px 0;cursor:pointer}.lab-links a:hover,.lab-links button:hover{color:var(--lab-cyan)}
.lab-tools button{min-height:42px;font-size:10px}.lab-hero p,.section-heading p,.system-section>div>p{font-size:12px}.lab-hero>div:first-child>span{font-size:18px;max-width:680px}.hero-actions a,.hero-actions button{min-height:52px;font-size:12px}.hero-orbit>span{font-size:10px}
.featured-strip>div>small{font-size:12px;line-height:1.45;color:#9fb3c1;margin-bottom:12px}.featured-strip>div>p{font-size:14px;line-height:1.55;color:#afc3cf;margin:0 0 18px}.featured-strip>div>button{min-height:46px;font-size:11px}.section-heading>span{font-size:16px}.module-card>small{font-size:11px}.module-card h4{font-size:27px}.module-card>p{font-size:15px;line-height:1.55;max-width:none}.card-top>i{font-size:10px}.module-card>div:last-child>b{font-size:10px;line-height:1.4}.module-card>div:last-child>button{min-height:46px;font-size:11px}.pipeline span{font-size:11px}.system-section>button{min-height:48px;font-size:11px}.science-platform>footer b,.science-platform>footer span,.science-platform>footer small{font-size:11px}
.lab-overlay>header small{font-size:10px}.lab-overlay>header h2{font-size:26px}.lab-overlay>header button{min-height:44px;font-size:11px}.lab-intro small{font-size:11px}.lab-intro p{font-size:15px;line-height:1.55}.vision-cover>b{font-size:14px}.vision-cover>small{font-size:13px}.vision-cover>button,.stop-camera{min-height:46px;font-size:11px}.vision-cover>button:disabled{opacity:.58;cursor:wait}.vision-badge{font-size:10px}.mode-tabs button,.control-grid button{font-size:10px}.metric-grid small,.element-card small{font-size:9px}.metric-grid b{font-size:16px}.knowledge-check button{font-size:12px}.formula-ribbon span,.control-grid>*{font-size:12px}.quiz-options button{font-size:16px}.quiz-explanation p{font-size:15px}.big-pipeline p,.ethics-grid p{font-size:14px}.big-pipeline h3{font-size:24px}
@media(max-width:760px){.lab-brand{font-size:11px}.lab-hero>div:first-child>span{font-size:16px}.module-card>p{font-size:15px}.lab-overlay>header h2{font-size:22px}}

/* Keep the drawing layer visual-only so camera controls remain clickable. */
.vision-feed canvas{pointer-events:none}
.vision-cover{z-index:3}

.hand-cursor{position:fixed;left:-18px;top:-18px;z-index:250;width:36px;height:36px;border:2px solid var(--lab-cyan);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .16s,width .1s,height .1s,margin .1s,border-color .1s;box-shadow:0 0 0 7px rgba(83,231,255,.12),0 0 24px rgba(83,231,255,.6)}
.hand-cursor.visible{opacity:1}.hand-cursor.pinching{width:25px;height:25px;margin:5px;border-color:var(--lab-green);box-shadow:0 0 0 9px rgba(115,255,197,.14),0 0 28px rgba(115,255,197,.8)}
.hand-cursor span{position:absolute;left:50%;top:43px;transform:translateX(-50%);padding:4px 7px;border-radius:5px;background:rgba(2,7,17,.82);color:var(--lab-cyan);font:700 8px var(--mono);letter-spacing:.1em;white-space:nowrap;opacity:.72}
.hand-cursor.pinching span{color:var(--lab-green);opacity:1}
.vision-cover{z-index:5;padding:28px}
.vision-cover>button{
  min-width:min(420px,90%);
  min-height:58px;
  padding:0 24px;
  font-size:13px;
  letter-spacing:.11em;
}
.vision-cover>small{max-width:680px;font-size:14px;line-height:1.55}
.camera-loading{
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  background:rgba(2,7,17,.76);
  backdrop-filter:blur(5px);
}
.camera-loading i{
  width:36px;
  height:36px;
  border:3px solid rgba(83,231,255,.18);
  border-top-color:var(--lab-cyan);
  border-radius:50%;
  animation:lab-spin 1s linear infinite;
}
.camera-loading b{font:700 13px var(--mono);color:var(--lab-cyan);letter-spacing:.1em}
.camera-loading span{font-size:13px;color:#b5c9d4}
.pinch-hint{
  position:fixed;
  left:50%;
  bottom:22px;
  z-index:20;
  transform:translateX(-50%);
  margin:0;
  padding:10px 16px;
  border:1px solid rgba(83,231,255,.35);
  border-radius:999px;
  background:rgba(3,7,17,.78);
  color:#dffaff;
  font:700 10px var(--mono);
  letter-spacing:.1em;
  pointer-events:none;
}
.pinch-cursor{
  position:absolute;
  z-index:4;
  width:32px;
  height:32px;
  translate:-50% -50%;
  border:3px solid var(--lab-cyan);
  border-radius:50%;
  box-shadow:0 0 0 8px rgba(83,231,255,.12),0 0 22px rgba(83,231,255,.8);
  pointer-events:none;
}
.pinch-cursor.pinching{
  width:24px;
  height:24px;
  border-color:var(--lab-green);
  box-shadow:0 0 0 10px rgba(115,255,197,.15),0 0 25px rgba(115,255,197,.9);
}
.hand-dock{grid-template-columns:minmax(320px,42%) 1fr;padding:14px}
.hand-dock .vision-feed{height:auto;min-height:240px;aspect-ratio:4/3}
.hand-dock .vision-cover>span{display:block}
.hand-dock .vision-cover>b{font-size:13px}
.hand-dock .vision-cover>small{display:block;font-size:12px}
.hand-dock .vision-cover>button{display:block;min-width:min(340px,92%);min-height:56px;font-size:11px}
.hand-dock>div:last-child small{font-size:10px}
.hand-dock>div:last-child b{font-size:15px}
.hand-dock>div:last-child span{font-size:12px}
.camera-diagnostics{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:400;
  width:290px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 12px;
  padding:14px;
  border:1px solid rgba(83,231,255,.35);
  border-radius:10px;
  background:rgba(2,7,17,.94);
  color:#9fb6c4;
  font:600 10px var(--mono);
}
.camera-diagnostics>b{grid-column:1/-1;color:var(--lab-cyan);margin-bottom:4px}
.camera-diagnostics span{display:contents}
.camera-diagnostics strong{color:#effcff;overflow-wrap:anywhere}
.pose-challenges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.pose-challenges span{padding:13px;border:1px solid rgba(124,209,255,.2);border-radius:9px;background:rgba(4,12,24,.72);color:#91a8b6;text-align:center;font:700 10px var(--mono)}
.pose-challenges span.complete{border-color:var(--lab-green);color:var(--lab-green);box-shadow:0 0 18px rgba(115,255,197,.12)}
.block.grabbed{border-color:var(--lab-green);box-shadow:0 0 0 5px rgba(115,255,197,.12),0 0 28px rgba(115,255,197,.45)}
@media(max-width:760px){
  .hand-dock{grid-template-columns:1fr}
  .hand-dock .vision-feed{min-height:220px}
  .pinch-hint{bottom:84px;white-space:nowrap}
  .pose-challenges{grid-template-columns:1fr}
}


/* Canonical contained AR window. Camera layers must never escape this box. */
.lab-overlay:has(.camera-live){
  background:radial-gradient(circle at 70% 0,rgba(77,62,183,.12),transparent 35%),#030711;
}
.lab-overlay:has(.camera-live)>main{
  isolation:auto;
  position:relative;
}
.lab-overlay:has(.camera-live) .experience,
.lab-overlay:has(.camera-live) .quiz-live{
  position:relative;
  z-index:auto;
}
.vision-stage:not(.compact),
.camera-live{
  width:min(720px,100%);
  max-width:720px;
  margin-inline:auto;
  height:auto;
  min-height:0;
  position:relative;
  z-index:auto;
}
.camera-live .vision-feed{
  position:relative;
  inset:auto;
  z-index:auto;
  width:100%;
  max-width:720px;
  max-height:none;
  aspect-ratio:4/3;
  border:1px solid rgba(83,231,255,.34);
  border-radius:17px;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
  background:#050b13;
  overflow:hidden;
}
.camera-live .vision-feed video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  transform:scaleX(-1);
}
.camera-live .camera-tint{
  display:none;
  background:transparent;
}
.camera-live .vision-feed canvas{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
  filter:drop-shadow(0 0 7px rgba(83,231,255,.55));
  pointer-events:none;
}
.camera-live .vision-badge{
  position:absolute;
  top:13px;
  left:13px;
  z-index:5;
}
.camera-live .stop-camera{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:6;
  min-width:180px;
  min-height:54px;
}
.camera-live .pinch-cursor{
  position:absolute;
  z-index:5;
}
.camera-live .pinch-hint{
  position:absolute;
  left:50%;
  bottom:14px;
  z-index:5;
  transform:translateX(-50%);
  margin:0;
  background:rgba(3,7,17,.58);
}
.experience.two-column{
  align-items:start;
}
.experience.two-column>div:first-child{
  min-width:0;
}
.lab-intro>div{
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
.hand-dock{
  background:transparent;
  backdrop-filter:none;
}
@media(max-width:760px){
  .vision-stage:not(.compact),
  .camera-live{width:100%;max-width:100%}
  .camera-live .vision-feed{border-radius:11px}
  .camera-live .stop-camera{min-width:150px;min-height:50px}
  .camera-live .pinch-hint{bottom:72px;white-space:nowrap}
}


/* Camera-composited science layers — July 2026 */
.experience:has(> .hand-dock),
.experience.two-column>div:first-child:has(> .hand-dock),
.pose-skeleton>div:first-child,
.pose-respiratory>div:first-child{
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.experience:has(> .hand-dock)> .hand-dock,
.experience.two-column>div:first-child:has(> .hand-dock)> .hand-dock,
.pose-skeleton>div:first-child> .vision-stage,
.pose-respiratory>div:first-child> .vision-stage{
  grid-column:1;
  grid-row:2;
  align-self:stretch;
}
.hand-dock{
  position:relative;
  display:block;
  padding:0;
  min-height:clamp(430px,58vw,630px);
  border:1px solid rgba(83,231,255,.34);
  border-radius:17px;
  overflow:hidden;
  background:#050b13;
}
.hand-dock .vision-stage,
.hand-dock .vision-feed{
  width:100%;
  height:100%;
  min-height:clamp(430px,58vw,630px);
  max-height:630px;
  aspect-ratio:4/3;
  border:0;
  border-radius:0;
}
.hand-dock>div:last-child{
  position:absolute;
  top:14px;
  left:50%;
  z-index:7;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 250px);
  padding:8px 12px;
  border:1px solid rgba(83,231,255,.28);
  border-radius:999px;
  background:rgba(3,7,17,.42);
  text-align:center;
  pointer-events:none;
}
.hand-dock>div:last-child small,
.hand-dock>div:last-child span{display:none}
.hand-dock>div:last-child b{font:700 9px var(--mono);letter-spacing:.08em;color:#effcff}
.experience:has(> .hand-dock)> :is(.physics-stage,.ray-stage,.circuit-board,.energy-stage,.body-system,.heart-stage),
.experience.two-column>div:first-child:has(> .hand-dock)> :is(.atom,.cell-diagram,.reaction-bench,.molecule-stage),
.pose-skeleton>div:first-child> .metric-grid,
.pose-respiratory>div:first-child> .lungs{
  grid-column:1;
  grid-row:2;
  z-index:4;
  align-self:stretch;
  margin:0;
  border-color:rgba(255,255,255,.2);
  background:transparent;
  box-shadow:none;
}
.experience:has(> .hand-dock)> :is(.physics-stage,.ray-stage,.circuit-board,.energy-stage,.body-system,.heart-stage),
.experience.two-column>div:first-child:has(> .hand-dock)> :is(.atom,.cell-diagram,.reaction-bench,.molecule-stage){
  min-height:clamp(430px,58vw,630px);
  height:auto;
}
.pose-skeleton>div:first-child> .metric-grid{
  align-self:end;
  margin:0 14px 14px;
  max-width:calc(100% - 28px);
}
.pose-skeleton>div:first-child> .metric-grid span{
  background:rgba(3,7,17,.38);
  border-color:rgba(83,231,255,.24);
}
.pose-respiratory>div:first-child> .lungs{
  align-self:center;
  justify-self:center;
  width:min(72%,560px);
  height:64%;
}
.physics-stage,.ray-stage,.circuit-board,.energy-stage,.body-system,.heart-stage,
.atom,.cell-diagram,.reaction-bench,.molecule-stage{
  backdrop-filter:none;
}
@media(max-width:760px){
  .hand-dock,
  .hand-dock .vision-stage,
  .hand-dock .vision-feed{
    min-height:420px;
  }
  .hand-dock>div:last-child{
    top:56px;
    max-width:calc(100% - 28px);
    white-space:normal;
  }
}

/* High-contrast AR content: the camera stays clear and every educational object is opaque. */
.camera-live .camera-tint{display:none!important;background:transparent!important}
.experience:has(> .hand-dock)> :is(.block,.energy-object,.target-zone),
.experience.two-column>div:first-child:has(> .hand-dock)> :is(.nucleus,.atom-c,.atom-o,.flask),
.circuit-board>button{
  opacity:1;
  filter:drop-shadow(0 3px 7px #02050b) drop-shadow(0 0 8px currentColor);
}
.hand-dock>div:last-child{
  background:#06111d;
  border-color:#53e7ff;
  box-shadow:0 4px 16px #02050b;
}

/* Distinct, solid cell machinery instead of identical translucent hotspots. */
.cell-diagram{
  isolation:isolate;
  background:transparent;
  border:3px solid #63ffc3;
  box-shadow:inset 0 0 0 6px #124d3c,0 0 18px #02050b;
}
.cell-diagram:before{
  inset:4%;
  border:3px solid #39d7e8;
  background:transparent;
}
.cell-diagram .cell-wall{
  z-index:3;
  padding:7px 11px;
  border-radius:999px;
  background:#07261f;
  color:#9affdc;
  font-size:10px;
}
.cell-diagram button.organelle{
  z-index:3;
  width:74px;
  height:52px;
  padding:0;
  border:3px solid #f7fbff;
  background:#237ca3;
  box-shadow:0 4px 12px #02050b,0 0 12px currentColor;
  overflow:visible;
}
.cell-diagram button.organelle i{width:100%;height:100%;border-radius:inherit;background:inherit;box-shadow:none}
.cell-diagram button.organelle span{
  position:absolute;
  left:50%;
  top:calc(100% + 7px);
  transform:translateX(-50%);
  min-width:max-content;
  padding:4px 7px;
  border:1px solid currentColor;
  border-radius:5px;
  background:#03101a;
  color:#fff;
  font:700 9px var(--font);
  letter-spacing:.01em;
  text-shadow:0 1px 3px #000;
}
.cell-diagram button.organelle.active{transform:translate(-50%,-50%) scale(1.14);border-color:#fff;box-shadow:0 0 0 5px #73ffc5,0 5px 18px #02050b}
.cell-diagram .organelle-nucleus{width:96px!important;height:96px!important;border-radius:50%!important;background:radial-gradient(circle at 38% 37%,#ffe67a 0 10%,#f06cff 12% 45%,#7826a8 47% 100%)!important;color:#ff8df5}
.cell-diagram .organelle-mitochondria{width:100px!important;height:48px!important;border-radius:52% 48% 58% 42%!important;background:repeating-linear-gradient(115deg,#ff8b35 0 8px,#9b261b 9px 14px)!important;color:#ff9c52;transform:translate(-50%,-50%) rotate(-13deg)}
.cell-diagram .organelle-mitochondria.active{transform:translate(-50%,-50%) rotate(-13deg) scale(1.14)}
.cell-diagram .organelle-vacuole{width:145px!important;height:105px!important;border-radius:55% 45% 48% 52%!important;background:#276de6!important;color:#76b8ff}
.cell-diagram .organelle-chloroplast{width:94px!important;height:46px!important;border-radius:50%!important;background:repeating-linear-gradient(90deg,#62e465 0 9px,#116c35 10px 14px)!important;color:#74ff81;transform:translate(-50%,-50%) rotate(12deg)}
.cell-diagram .organelle-chloroplast.active{transform:translate(-50%,-50%) rotate(12deg) scale(1.14)}
.cell-diagram .organelle-golgi{width:94px!important;height:58px!important;border:0!important;border-radius:12px!important;background:repeating-linear-gradient(#ffcf4c 0 6px,#7a4510 7px 11px)!important;color:#ffd45d}
.cell-diagram .organelle-ribosomes{width:74px!important;height:52px!important;border-radius:16px!important;background:radial-gradient(circle,#fff 0 3px,transparent 4px),#e14f6f!important;background-size:15px 15px!important;color:#ff7e98}
.cell-diagram .organelle-er{width:116px!important;height:62px!important;border-radius:18px!important;background:repeating-linear-gradient(155deg,#31cdf3 0 5px,#075f86 6px 11px)!important;color:#5fe5ff}
.cell-diagram .organelle-cytoplasm{width:58px!important;height:58px!important;border-radius:42% 58% 45% 55%!important;background:#b873ff!important;color:#d2a0ff}

/* A live eye avatar driven by Face Landmarker blink, gaze, brow and squint blendshapes. */
.tracked-eye-panel{
  margin-top:12px;
  min-height:210px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  border:2px solid #53e7ff;
  border-radius:18px;
  background:#06111d;
  box-shadow:0 9px 30px #02050b;
}
.tracked-eye-panel>small{position:absolute;left:15px;top:13px;color:#53e7ff;font:800 10px var(--mono);letter-spacing:.11em}
.tracked-eye-panel>span{position:absolute;bottom:12px;color:#dffaff;font:700 10px var(--mono);letter-spacing:.08em}
.tracked-eye{position:relative;width:min(340px,72%);height:122px;display:grid;place-items:center}
.tracked-eye-ball{
  position:relative;
  z-index:2;
  width:100%;
  height:104px;
  overflow:hidden;
  border:5px solid #38253f;
  border-radius:50% 48%;
  background:#fffdf2;
  transform:scaleY(var(--eye-open));
  transition:transform 45ms linear;
  box-shadow:inset 0 0 24px #e9a8b4,0 0 0 3px #f4b7ad;
}
.tracked-iris{
  position:absolute;
  left:50%;
  top:50%;
  width:70px;
  height:70px;
  margin:-35px;
  border:7px solid #16b5d1;
  border-radius:50%;
  background:radial-gradient(circle,#070b14 0 26%,#156e91 28% 57%,#5fe7e7 59% 70%,#0b6586 72%);
  transform:translate(var(--eye-x),var(--eye-y));
  transition:transform 55ms linear;
  box-shadow:0 0 0 2px #083245;
}
.tracked-iris b{position:absolute;left:18px;top:13px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff}
.eye-brow{
  position:absolute;
  z-index:4;
  left:9%;
  right:9%;
  top:0;
  height:18px;
  border-top:10px solid #5b3428;
  border-radius:50%;
  transform:translateY(var(--brow-lift));
  transition:transform 70ms linear;
}
.eye-muscle{position:absolute;z-index:3;left:1%;right:1%;height:34px;border:7px solid #f05e7b;filter:drop-shadow(0 3px 3px #02050b)}
.eye-muscle-upper{top:21px;border-width:7px 0 0;border-radius:50%}
.eye-muscle-lower{bottom:3px;border-width:0 0 7px;border-radius:50%;transform:translateY(var(--eye-squint))}
@media(max-width:760px){
  .cell-diagram button.organelle{transform:translate(-50%,-50%) scale(.82)}
  .cell-diagram button.organelle.active{transform:translate(-50%,-50%) scale(.95)}
  .tracked-eye{width:86%}
}
