body.source-lab-open{overflow:hidden}.source-practical-lab[hidden]{display:none!important}.source-practical-lab{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:18px}.source-lab-backdrop{position:absolute;inset:0;background:rgba(1,8,15,.78);backdrop-filter:blur(8px)}.source-lab-window{position:relative;width:min(1500px,98vw);height:min(940px,96vh);overflow:auto;border:1px solid #29445a;border-radius:20px;background:#07131f;color:#edf6ff;box-shadow:0 28px 90px rgba(0,0,0,.45)}.source-lab-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid #243b50;background:rgba(7,19,31,.96);backdrop-filter:blur(12px)}.source-lab-header h2{margin:.15rem 0 0;font-size:1.08rem}.source-lab-header button,.source-lab-titlebar select,.source-lab-controls select,.source-lab-controls input,.source-lab-library-head select,.source-lab-library-head input{border:1px solid #345269;border-radius:10px;background:#102638;color:#f5f9fc;padding:.62rem .72rem;font:inherit}.source-lab-header>button{min-width:80px}.source-lab-header-actions{display:flex;gap:.45rem}.source-lab-header-actions button:last-child{font-size:1.25rem;line-height:1;padding:.52rem .72rem}.source-lab-titlebar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 14px}.source-lab-titlebar>div:first-child{max-width:850px}.source-lab-titlebar>div:first-child>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#7fd8ad}.source-lab-titlebar h3{margin:.35rem 0;font-size:clamp(1.45rem,3vw,2.15rem)}.source-lab-titlebar p{margin:0;color:#adbed0;line-height:1.55}.source-lab-titlebar>div:last-child{display:grid;gap:.5rem;min-width:min(350px,40vw)}.source-model-badge{font-size:.7rem;color:#8fa9bd;text-align:right}.source-lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;padding:0 24px 22px}.source-lab-main{display:grid;gap:14px;min-width:0}.source-workbench{overflow:hidden;border:1px solid #29485e;border-radius:17px;background:#0d2131}.source-workbench>header,.source-workbench>footer{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;background:#102b3c;color:#a9bfce;font-size:.76rem}.source-workbench>header strong{color:#f2f8fb}.source-workbench>footer{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #29485e}.source-workbench>footer span:before{content:'●';color:#7fd8ad;margin-right:.35rem}.source-scene svg{display:block;width:100%;min-height:300px;max-height:520px}.source-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.source-metrics article{display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid #263f53;border-radius:12px;background:#0b1c2b}.source-metrics span,.source-metrics small{font-size:.68rem;color:#88a1b5}.source-metrics strong{font-size:1.18rem}.source-observation{padding:.85rem 1rem;border-left:4px solid #7fd8ad;border-radius:0 12px 12px 0;background:rgba(127,216,173,.08);line-height:1.55}.source-lab-controls{display:grid;gap:13px;align-content:start}.source-lab-controls>section{display:grid;gap:.75rem;padding:15px;border:1px solid #263f53;border-radius:15px;background:#0b1c2b}.source-lab-control{display:grid;gap:.35rem}.source-lab-control>span{font-size:.76rem;font-weight:800;color:#dbe8f1}.source-lab-control select{width:100%}.source-lab-control.range output{float:right;color:#82c8ff}.source-lab-control.range input{padding:0;border:0;background:transparent;accent-color:#7fd8ad;width:100%}.source-lab-control.range small{display:flex;justify-content:space-between;color:#7f98aa}.source-guide{display:grid;gap:.65rem;padding:.8rem;border:1px solid rgba(95,168,255,.25);border-radius:12px;background:rgba(95,168,255,.07)}.source-guide header{display:grid;gap:.45rem}.source-guide header>div:first-child,.source-guide.ready>div{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.source-guide h4,.source-method h4,.source-data h4,.source-graph-skills h4{margin:0}.source-guide p{margin:0;color:#c3d1dc;line-height:1.5}.source-guide>div:last-child{display:flex;gap:.45rem}.source-guide button,.source-run-actions button,.source-data button,.source-topic-practicals button,.source-lab-library-card{border:1px solid #36566d;border-radius:9px;background:#122b3f;color:#edf6ff;padding:.58rem .7rem;cursor:pointer}.source-guide button.primary,.source-run-actions button.primary{background:#245b47;border-color:#4b8c70}.source-guide button:disabled,.source-run-actions button:disabled,.source-data button:disabled{opacity:.45;cursor:not-allowed}.source-guide-dots{display:flex;gap:.3rem}.source-guide-dots i{height:4px;flex:1;border-radius:4px;background:#28465a}.source-guide-dots i.active{background:#7fd8ad}.source-guide.ready{border-color:rgba(127,216,173,.28);background:rgba(127,216,173,.07)}.source-run-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.source-run-actions .primary{grid-column:1/-1}.source-save-note{margin:0;font-size:.69rem;color:#8099ab}.source-variables{display:grid!important;gap:.5rem!important}.source-variable{display:grid;gap:.2rem;padding:.65rem;border-radius:10px;background:rgba(255,255,255,.035)}.source-variable span{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#80a0b5}.source-variable strong{font-size:.82rem;line-height:1.45}.source-variable ul{margin:.15rem 0 0 1rem;padding:0;color:#d6e1e9;font-size:.78rem;display:grid;gap:.25rem}.source-data{display:grid;gap:.8rem;padding:14px;border:1px solid #263f53;border-radius:15px;background:#091a28}.source-data>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.source-data>header h4{font-size:1.15rem}.source-data>header>div:last-child{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.source-data>header label{font-size:.72rem;color:#a9bfce}.source-data-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:12px}.source-table-wrap{overflow:auto;max-height:330px;border:1px solid #294457;border-radius:10px}.source-table-wrap table{width:100%;border-collapse:collapse;font-size:.72rem}.source-table-wrap th,.source-table-wrap td{padding:.55rem .6rem;border-bottom:1px solid #20384a;text-align:left;vertical-align:top}.source-table-wrap th{position:sticky;top:0;background:#10283a;color:#a8c1d1}.source-empty-data,.source-graph-empty{min-height:180px;display:grid;place-content:center;text-align:center;padding:1rem;border:1px dashed #325066;border-radius:10px;color:#94aabd}.source-graph{display:block;width:100%;min-height:280px;border:1px solid #294457;border-radius:10px;background:#0b2030}.source-graph line{stroke:#6e8fa0;stroke-width:1.5}.source-graph text{fill:#92aabb;font-size:10px}.source-graph .source-point{fill:#7fd8ad;stroke:#d7f6e6;stroke-width:2}.source-graph .source-bar{fill:#5e99c6}.source-graph .source-error{stroke:#7fd8ad;stroke-width:3}.source-data-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.source-data-summary>div{display:grid;gap:.15rem;padding:.65rem;border-radius:10px;background:rgba(255,255,255,.035)}.source-data-summary strong{font-size:1rem}.source-data-summary span{font-size:.66rem;color:#8da7b9}.source-graph-skills{display:grid;gap:.6rem;padding:14px;border:1px solid #263f53;border-radius:15px;background:#0b1c2b}.source-skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.source-skills-grid article{padding:.7rem;border-radius:10px;background:rgba(255,255,255,.035)}.source-skills-grid p{margin:.2rem 0;font-size:.85rem}.source-skills-grid small{color:#88a3b5;line-height:1.4}.source-method{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 24px 26px;padding:16px;border:1px solid #263f53;border-radius:15px;background:#0b1c2b}.source-method>div{padding:.4rem .65rem}.source-method ol{margin:.65rem 0 0 1.15rem;padding:0;display:grid;gap:.45rem;color:#d5e0e8;line-height:1.5}.source-method p{color:#c2d0db;line-height:1.55}.source-lab-library-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:24px}.source-lab-library-head h3{margin:.25rem 0;font-size:1.6rem}.source-lab-library-head p{margin:0;color:#9db1c0}.source-lab-library-head>div:last-child{display:flex;gap:.5rem}.source-lab-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 28px}.source-lab-library-card{text-align:left;display:grid;gap:.45rem;padding:1rem;background:#0b1c2b}.source-lab-library-card span{font-size:.68rem;text-transform:uppercase;color:#7fd8ad}.source-lab-library-card strong{font-size:1rem}.source-lab-library-card p{margin:0;color:#a9bdcb;line-height:1.5;font-size:.79rem}.source-lab-library-card small{color:#82c8ff}.source-topic-practicals{display:grid;gap:.9rem;margin-bottom:1rem;padding:1rem;border:1px solid rgba(95,168,255,.25);border-radius:16px;background:#0b1c2b}.source-topic-practicals-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.source-topic-practicals-head h2{margin:.18rem 0}.source-topic-practicals-head p{margin:0;color:#a8bac8}.source-topic-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.source-topic-practical-grid button{display:grid;gap:.25rem;text-align:left}.source-topic-practical-grid span{font-size:.68rem;color:#7fd8ad}.source-topic-practical-grid small{color:#86caff}.practical-project-hero>[data-source-port-button]{align-self:center}@media(max-width:1050px){.source-lab-layout{grid-template-columns:1fr}.source-lab-controls{grid-template-columns:1fr 1fr}.source-data-grid{grid-template-columns:1fr}.source-lab-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.source-practical-lab{padding:0}.source-lab-window{width:100vw;height:100vh;border:0;border-radius:0}.source-lab-header{grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.source-lab-header .eyebrow{display:none}.source-lab-header-actions [data-source-library]{display:none}.source-lab-titlebar{display:grid;padding:16px}.source-lab-titlebar>div:last-child{min-width:0}.source-lab-layout{padding:0 14px 18px}.source-lab-controls{grid-template-columns:1fr}.source-scene svg{min-height:230px}.source-metrics{grid-template-columns:1fr}.source-data>header{display:grid}.source-data-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-skills-grid,.source-method,.source-topic-practical-grid{grid-template-columns:1fr}.source-method{margin:0 14px 20px}.source-lab-library-head{display:grid;padding:16px}.source-lab-library-head>div:last-child{display:grid}.source-lab-library-grid{grid-template-columns:1fr;padding:0 16px 20px}.source-topic-practicals-head{display:grid}}@media(prefers-reduced-motion:reduce){.source-practical-lab *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}