/* Laboratory surfaces retain the original Nimbus family and the rotating worlds. */
.lab-index-intro{padding:55px 0 30px;max-width:880px}.lab-index-intro h1{font-size:clamp(35px,4.6vw,62px);line-height:1.08;margin:16px 0}.lab-index-intro .lead{font-size:19px}.lab-index-tools{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 30px}.lab-index-tools input,.lab-index-tools select{background:#0c1b2c;color:#eaf2f7;border:1px solid #597185;padding:14px;font:16px Nimbus,sans-serif;min-height:48px}.lab-index-tools input{width:min(600px,100%)}.lab-index-tools select{max-width:100%}.lab-count{color:#aec8d8;font:13px LMMono,monospace}.experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 60px}.experiment-card{display:flex;flex-direction:column;position:relative;min-height:220px;padding:25px;background:linear-gradient(145deg,#12243be8,#091523f2);border:1px solid #8eb5cd37;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}.experiment-card:hover{border-color:#b9ddea;background:#173149}.experiment-card h3{font-size:22px;line-height:1.2;margin:15px 0}.experiment-card p{font-size:16px;line-height:1.55;margin:0 0 22px;color:#c0ced8}.experiment-card .card-arrow{margin-top:auto;font-size:13px;color:#9dd8f1}.experiment-module{font:11px LMMono,monospace;letter-spacing:1.2px;text-transform:uppercase;color:#add7e8}.lab-module-header{min-height:350px;position:relative;padding:35px 320px 35px 0;isolation:isolate}.lab-module-header h1{font-size:clamp(34px,4vw,56px);line-height:1.1;max-width:800px}.lab-module-header .module-planet{width:390px;height:390px;right:-65px;top:5px}.lab-module-header .module-planet.ringed{width:240px;height:240px;right:15px;top:80px}.lab-module-header .planet-designation{font-size:12px}.lab-module-header .lead{max-width:740px}.lab-module-materials{border-top:1px solid var(--line);padding:25px 0 45px;margin-top:35px}.lab-module-materials summary{font-size:18px;cursor:pointer}.lab-module-materials .actions{margin:20px 0}.lab-module-materials p{max-width:800px;line-height:1.7}.lab-module-activities{padding-top:15px}.lab-module-activities h2{font-size:30px}.experiment-card .activity-order{position:absolute;right:22px;top:20px;color:#88abc088;font-size:23px}.lab-shell{padding-top:24px;padding-bottom:60px;max-width:1500px}.lab-activity-head{position:relative;isolation:isolate;padding:10px 210px 15px 0;min-height:190px}.lab-activity-head h1{font-size:clamp(31px,3.5vw,47px);line-height:1.12;max-width:1000px;margin:10px 0 14px}.lab-activity-head .lead{max-width:850px;font-size:18px}.lab-activity-head .planet-slot{position:absolute;width:200px;height:200px;right:-18px;top:-8px;z-index:-1}.lab-activity-head .planet-slot.ringed{width:150px;height:150px;right:20px;top:35px}.lab-location{font:12px LMMono,monospace;letter-spacing:1px;color:#9fc6da}.lab-mode-bar{display:flex;gap:5px;border-bottom:1px solid #88b1c447;margin-bottom:22px;flex-wrap:wrap}.lab-mode-bar button{background:transparent;border:0;color:#b5c9d7;padding:16px 20px;font:16px Nimbus,sans-serif;border-bottom:3px solid transparent;cursor:pointer}.lab-mode-bar button[aria-pressed=true]{border-bottom-color:#95dce8;color:#edfbff;background:#91cddd0c}.lab-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:24px;align-items:start}.lab-control-panel{background:#0b192bd9;border:1px solid #729bb440;padding:22px;position:sticky;top:16px}.lab-control-panel h2{font-size:21px;margin:0 0 22px}.lab-control{display:block;margin-bottom:22px}.lab-control>span{display:block;font-size:15px;color:#d3e2eb;line-height:1.4;margin-bottom:8px}.lab-control input[type=number],.lab-control select{display:block;width:100%;height:44px;padding:9px 10px;background:#152b41;color:#f3f9fc;border:1px solid #729bb466;border-radius:1px;font:16px Nimbus,sans-serif}.lab-control input[type=range]{width:100%;accent-color:#9cdfe8;margin:12px 0 0}.lab-control small{display:block;font-size:12px;line-height:1.5;color:#aec4d3;margin-top:8px}.lab-control input:invalid{outline:2px solid #e7ae7d}.lab-control-panel .button{width:100%;margin:0 0 10px}.lab-auto{display:flex;gap:8px;font-size:13px;line-height:1.5;margin:9px 0 20px}.lab-control-footer{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:12px;flex-wrap:wrap}.lab-text-button{background:transparent;border:0;padding:5px 0;color:#afe2f0;font:14px Nimbus,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.lab-results{min-width:0}.lab-engine-state{padding:12px 16px;background:#0c1d2ed9;border:1px solid #8bb7c336;color:#c3deea;font-size:14px;display:flex;align-items:center;gap:10px;min-height:48px;margin-bottom:18px}.lab-engine-state:before{content:'';display:block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#8ed7c0}.lab-engine-state[data-phase=loading]:before,.lab-engine-state[data-phase=running]:before{background:#e3c387;animation:lab-pulse 1.4s infinite}.lab-engine-state[data-phase=error]:before{background:#e4a68b}@keyframes lab-pulse{50%{opacity:.25}}.lab-result-meta{font:12px LMMono,monospace;color:#b3c8d8;line-height:1.6;margin:0 0 16px}.lab-chart{margin:0 0 22px;background:#f5f6f3;border:1px solid #c6d9de;position:relative}.lab-chart img{display:block;width:100%;height:auto;aspect-ratio:18/11;object-fit:contain}.lab-chart figcaption{font-size:13px;color:#264655;background:#e7edeb;padding:10px 16px;line-height:1.5}.lab-chart a{color:#1e5267}.lab-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:#91b5c533;border:1px solid #91b5c533;margin-bottom:22px}.lab-metric{background:#0d1c2d;padding:17px 18px;min-width:0}.lab-metric span{font-size:13px;line-height:1.4;display:block;color:#b5cbd7}.lab-metric strong{display:block;font:25px Nimbus,sans-serif;color:#e2f4f7;margin-top:10px;overflow-wrap:anywhere}.lab-result-body[data-stale=true]{opacity:.5}.lab-pending{padding:12px 16px;margin:0 0 14px;background:#382d1f;color:#f5ddba;font-size:14px;border-left:3px solid #d9ae71}.lab-error{padding:18px;background:#38241f;border:1px solid #be8167;color:#ffddc9;white-space:pre-wrap;font:14px/1.6 LMMono,monospace;overflow-wrap:anywhere;margin-bottom:15px}.lab-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 22px}.lab-actions .button{font-size:13px;padding:11px 15px}.lab-reading{padding:25px 30px;background:#0b1a2bd9;border:1px solid #93b5ca30;margin-bottom:22px}.lab-reading h2{font-size:24px;margin:0 0 17px}.lab-reading h3{font-size:20px;margin:22px 0 12px}.lab-reading p{font-size:17px;line-height:1.8;color:#c9d9e3;margin:0 0 17px}.lab-reading p:last-child{margin-bottom:0}.lab-reading .math{font-size:22px;padding:20px 0;overflow:auto;color:#e5f4fa}.lab-reading .math mjx-container{max-width:100%}.lab-guided{display:grid;grid-template-columns:36px minmax(0,1fr);gap:15px}.lab-step-no{border:1px solid #78a6b9;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#b0e5ed;font-size:14px}.lab-guided h3{margin:3px 0 12px}.lab-note-label{font-size:14px;color:#aecbd9;display:block;margin:16px 0 8px}.lab-notes{width:100%;min-height:90px;background:#102337;border:1px solid #84aabd55;color:#e6f3f6;font:16px/1.6 Nimbus,sans-serif;padding:13px;resize:vertical}.lab-data{border:1px solid var(--line);padding:18px 22px;background:#0a1727;margin-bottom:22px}.lab-data summary{font-size:16px;cursor:pointer}.lab-table-scroll{max-height:330px;overflow:auto;margin-top:16px}.lab-data table{border-collapse:collapse;font:13px LMMono,monospace;width:100%}.lab-data th,.lab-data td{text-align:left;padding:9px 12px;border-bottom:1px solid #8cafbd33;white-space:nowrap}.lab-data th{color:#c0ecf1;position:sticky;top:0;background:#11263c}.lab-editor{width:100%;min-height:400px;background:#071421;color:#d5edf2;border:1px solid #789aaa66;padding:18px;font:14px/1.7 LMMono,monospace;tab-size:2;resize:vertical}.lab-code-panel{padding:23px;background:#0b192b;border:1px solid #91b4c642}.lab-code-panel h2{font-size:24px;margin:0 0 15px}.lab-code-panel p{line-height:1.7;font-size:15px;color:#bdceda}.lab-code-output{background:#071421;padding:15px;overflow:auto;max-height:220px;font:13px/1.6 LMMono,monospace}.lab-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lab-comparison h3{font-size:18px;margin:0 0 12px}.lab-comparison .lab-metric{padding:12px}.lab-comparison .lab-metric strong{font-size:20px}.lab-comparison .lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-comparison pre{font:11px/1.5 LMMono,monospace;overflow:auto}.lab-bottom-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;margin-top:35px}.lab-bottom-nav a{font-size:15px;max-width:46%;line-height:1.5}.lab-footer-note{color:#99b4c6;font-size:12px;line-height:1.6}.mission-stages{counter-reset:stage;display:grid;gap:18px;margin:30px 0}.mission-stage{display:grid;grid-template-columns:50px minmax(0,1fr);gap:20px;border:1px solid var(--line);padding:25px;background:#0d1d30d9}.mission-stage:before{counter-increment:stage;content:counter(stage,decimal-leading-zero);font:26px LMMono,monospace;color:#9acbdc}.mission-stage h3{margin:0 0 10px;font-size:23px}.mission-stage p{font-size:16px;line-height:1.7;color:#bfcfd9}.mission-stage a{display:inline-block;margin:12px 18px 0 0;font-size:15px}.lab-math-definitions{font-size:14px;line-height:1.7;color:#b9d2df}
@media(min-width:1500px){.lab-shell{padding-left:50px;padding-right:50px}.lab-layout{grid-template-columns:285px minmax(0,1fr);gap:32px}}
@media(max-width:1050px){.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-layout{grid-template-columns:225px minmax(0,1fr);gap:18px}.lab-control-panel{padding:17px}.lab-reading{padding:22px}.lab-activity-head{padding-right:160px}.lab-activity-head .planet-slot{width:185px;height:185px}}
@media(max-width:760px){.lab-layout{grid-template-columns:1fr}.lab-control-panel{position:static}.lab-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.lab-control-panel h2{margin-bottom:18px}.lab-module-header{padding-right:0;min-height:420px;padding-bottom:130px}.lab-module-header .module-planet{width:250px;height:250px;top:auto;bottom:-40px;right:-90px}.lab-module-header .module-planet.ringed{width:160px;height:160px;top:auto;bottom:5px;right:-15px}.lab-activity-head{min-height:260px;padding:15px 65px 40px 0}.lab-activity-head .planet-slot{width:150px;height:150px;right:-65px;top:auto;bottom:-15px;opacity:.7}.lab-activity-head .planet-slot.ringed{width:95px;height:95px;right:-20px;top:auto;bottom:10px}.lab-activity-head h1{font-size:32px}.lab-mode-bar button{font-size:14px;padding:13px 10px}.lab-comparison{grid-template-columns:1fr}.lab-reading p{font-size:16px}.lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-metric{padding:15px}.lab-metric strong{font-size:23px}.lab-chart{overflow-x:auto}.lab-chart img{min-width:610px}.lab-chart figcaption{min-width:0}.lab-chart:after{content:'Su schermi stretti, scorri la figura orizzontalmente per leggere gli assi.';display:block;font-size:12px;color:#36505e;background:#e7edeb;padding:8px 12px}.lab-index-intro{padding-top:30px}.lab-shell{padding-top:10px}.lab-bottom-nav a{font-size:13px}.lab-module-header .planet-designation{flex-wrap:wrap}.lab-editor{font-size:13px;min-height:360px}}
@media(max-width:450px){.experiment-grid{grid-template-columns:1fr;gap:12px}.experiment-card{min-height:0;padding:22px}.lab-controls{grid-template-columns:1fr}.lab-reading{padding:19px 16px}.lab-guided{grid-template-columns:28px minmax(0,1fr);gap:12px}.lab-step-no{width:27px;height:27px}.lab-activity-head .lead{font-size:16px}.lab-index-tools{display:block}.lab-index-tools input{margin-bottom:12px}.mission-stage{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:19px}.lab-mode-bar{gap:0}.lab-mode-bar button{font-size:13px;padding:12px 8px}.lab-control-panel h2{font-size:20px}.lab-actions .button{font-size:12px;padding:10px}.lab-metric span{font-size:12px}.lab-metric strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.lab-engine-state:before{animation:none}.experiment-card{transition:none}}

.lab-note-disclosure{margin-top:12px}.lab-note-disclosure summary{color:#a9d8e6;cursor:pointer;font-size:14px}.lab-guided p{margin-bottom:9px}

.lab-comparison .lab-chart{overflow-x:auto}.lab-comparison .lab-chart img{min-width:610px}

.reading-diagram{display:block;width:100%;height:auto;max-height:650px;aspect-ratio:211.181/212.598}
