.labMain{max-width:1280px;margin:auto;padding:0 35px 40px}.labNav{display:flex;align-items:center;gap:24px;font-size:11px;color:#94a9cc}.labHero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;padding:45px 0 40px;gap:35px}.labHero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.15;letter-spacing:-2px;margin:18px 0 20px}.labHero>div>p{font-size:12px;color:#9dafce;line-height:1.9}.modeChooser{display:inline-flex;padding:5px;border:1px solid #405a825a;border-radius:10px;background:#101c30;margin-top:20px;gap:5px}.modeChooser button{padding:11px 17px;border:0;border-radius:6px;background:none;color:#7995be;font-size:10px}.modeChooser button.active{background:linear-gradient(120deg,#415a844d,#69518c44);color:#bfdcff;border:1px solid #90a9df44}.modeHelp{font-size:10px!important;color:#788db1!important}.labArt{height:290px;position:relative;perspective:900px;background:radial-gradient(ellipse,#688cdb25,transparent 70%);display:grid;place-items:center}.labCube{width:120px;height:120px;position:relative;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(35deg) rotateZ(-8deg);animation:labCube 12s ease-in-out infinite}.cubeFace{position:absolute;width:120px;height:120px;display:grid;place-items:center;border:1px solid #a5bdff80;background:linear-gradient(135deg,#4b6594a8,#292d5ac9);box-shadow:inset 0 0 25px #a9b6ff15;color:#bfd9ff;font-size:42px;font-style:normal;border-radius:7px;backface-visibility:hidden}.cfFront{transform:translateZ(60px)}.cfBack{transform:rotateY(180deg) translateZ(60px)}.cfLeft{transform:rotateY(-90deg) translateZ(60px)}.cfRight{transform:rotateY(90deg) translateZ(60px)}.cfTop{transform:rotateX(90deg) translateZ(60px)}.cfBottom{transform:rotateX(-90deg) translateZ(60px)}.labOrbit{position:absolute;width:290px;height:230px;border:1px solid #95b5fc60;border-radius:50%;transform:rotateX(65deg) rotateZ(-20deg);box-shadow:0 0 20px #829cff22}.labArtTag{position:absolute;bottom:15px;font-size:8px;letter-spacing:3px;color:#738ab1}.labSectionHeading{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.labSectionHeading h2{font-size:24px;letter-spacing:-.7px}.labSectionHeading>span{color:#6985b1;font-size:8px;letter-spacing:2px}.labChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.labChoice{border:1px solid #3a517654;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#1b2b467d,#12182c);transition:transform .25s,border-color .25s;box-shadow:0 15px 30px #0002}.labChoice:hover{transform:translateY(-6px);border-color:#94b8ff80}.choiceArt{height:150px;position:relative;background:radial-gradient(circle at center,#739bc62a,transparent 70%);display:grid;place-items:center}.choiceSymbol{width:75px;height:75px;border:1px solid #a7cfff80;border-radius:16px;background:linear-gradient(140deg,#607aaa80,#2d3155);box-shadow:6px 7px 0 #1b2b48,12px 20px 30px #0004;transform:perspective(500px) rotateY(-24deg) rotateX(13deg) rotateZ(-7deg);font-size:36px;display:grid;place-items:center;color:#c6deff}.labChoice:nth-child(2) .choiceSymbol{border-radius:50%;background:radial-gradient(circle at 25% 25%,#9fc1d4,#48657f 45%,#213043 80%);box-shadow:8px 15px 25px #0005}.labChoice:nth-child(3) .choiceSymbol{border-radius:8px;background:linear-gradient(120deg,#716b9e80,#332c53);border-color:#b7a6e780}.choiceCategory{position:absolute;left:20px;top:17px;font-size:8px;letter-spacing:2px;color:#769bc4}.choiceInfo{padding:22px}.choiceInfo h3{font-size:19px;letter-spacing:-.5px;margin:4px 0 14px}.choiceInfo p{font-size:11px;color:#94aacc;line-height:1.9;min-height:60px}.choiceMeta{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8095b6;margin:15px 0}.choiceProgress{font-size:9px;color:#a5c4ed;margin-bottom:17px}.labInfo{display:flex;gap:18px;align-items:center;margin-top:30px;padding:20px 25px;border:1px solid #374d6e60;border-radius:12px;background:#11213970}.labInfo>span{font-size:25px;color:#90b7f0}.labInfo p{color:#8299bc;font-size:10px;line-height:1.9;margin:0}.labSessionTop{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:30px 0}.labSessionTop h1{font-size:29px;letter-spacing:-1px;margin:13px 0 8px}.labSessionTop p{font-size:10px;color:#93a9cb}.sessionActions{display:flex;align-items:center;gap:10px}.sessionActions select{width:auto;padding:10px;font-size:10px;margin:0}.labNetwork{display:flex;align-items:center;border:1px solid #344b7055;border-radius:12px;padding:20px 25px;background:linear-gradient(120deg,#17284388,#1d1c3866);margin-bottom:25px;gap:22px}.labNetwork>div{min-width:0;flex:1;position:relative;padding-left:32px}.labNetwork span{position:absolute;left:0;top:4px;font-size:20px;color:#779cca}.labNetwork small{display:block;color:#6884ae;font-size:8px;margin-bottom:8px}.labNetwork strong{display:block;font-size:10px;color:#a8c2e6;overflow-wrap:anywhere}.labNetwork i{height:1px;background:#45649180;flex:.2;position:relative}.labNetwork i:after{content:'›';position:absolute;right:0;top:-9px;color:#617da9}.labNetwork .online strong,.labNetwork .online span{color:#9ae2cc}.labWork{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px}.taskPanel{border:1px solid #344865;border-radius:12px;background:#121d31;padding:22px;align-self:start}.taskHead{display:flex;align-items:center;justify-content:space-between}.taskHead .overline{font-size:8px;letter-spacing:1.5px}.taskHead b{font-size:10px;color:#97b7e2}.progressTrack{height:4px;border-radius:5px;background:#253956;margin:18px 0 24px;overflow:hidden}.progressTrack i{display:block;height:100%;background:linear-gradient(90deg,#92d5ff,#b3a1ff);width:0;transition:width .3s}.task{border-top:1px solid #ffffff09;padding:17px 0 8px}.taskTitle{display:flex;gap:10px;align-items:flex-start;font-size:11px}.taskTitle span{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid #4c658c;border-radius:50%;font-size:9px;color:#7e9cc8}.task.done .taskTitle span{background:#547e6b55;border-color:#92d8c055;color:#a3e4d3}.task.done strong{color:#b2decf}.task p{font-size:9px;line-height:1.9;color:#7892b8;overflow-wrap:anywhere;margin-left:30px}.hintButton{font-size:9px;color:#9fbbdf;background:none;border:0;padding:0;margin:7px 0 0 30px}.task pre{font:9px Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#0c1628;border:1px solid #314666;padding:10px;border-radius:6px;color:#a4bfdf;line-height:1.8}.labCompletion{padding:25px 0 0;text-align:center}.labCompletion>span{font-size:35px;color:#bedfff}.labCompletion h3{font-size:15px}.labCompletion p{font-size:10px;color:#8ba9cf;line-height:1.9}.labTools{border:1px solid #364c6f;border-radius:12px;background:#0e1729;overflow:hidden;min-width:0}.toolTabs{display:flex;gap:0;border-bottom:1px solid #35496a;overflow:auto;background:#17253c}.toolTabs button{white-space:nowrap;border:0;background:none;padding:16px;color:#728eb9;font-size:10px;border-bottom:2px solid transparent}.toolTabs .active{color:#bfdaff;background:#22365970;border-bottom-color:#8db6fa}.toolView{padding:25px}.toolView#toolTerminal{padding:0}.terminalHeader{display:flex;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid #ffffff05;font-size:9px;color:#7288aa}.terminalHeader .quietButton{margin-left:auto}.dots{display:flex;gap:6px}.dots i{width:6px;height:6px;border-radius:50%;background:#bd7b8c}.dots i:nth-child(2){background:#c2b37e}.dots i:nth-child(3){background:#7faf9d}.terminalOutput{min-height:370px;max-height:480px;overflow:auto;padding:20px;font:11px/1.9 Consolas,'Courier New',monospace;color:#bad0ee;white-space:pre-wrap;overflow-wrap:anywhere;background:#0b1321}.terminalLine.error{color:#e5aebd}.terminalLine.command{color:#94ddcb;margin-top:9px}.terminalLine.welcome{color:#7c94b8}.terminalForm{display:flex;align-items:center;padding:12px 20px;gap:9px;border-top:1px solid #24374f;background:#111e30}.terminalForm label{margin:0;white-space:nowrap;color:#96d0bf;font:10px Consolas,monospace}.terminalForm input{border:0;border-radius:0;margin:0;padding:8px 0;background:transparent;color:#d3e5ff;font:11px Consolas,monospace;box-shadow:none;min-width:50px}.terminalForm button{background:#2c4360;border:1px solid #556e8e;color:#b7d0ef;border-radius:5px;padding:4px 9px}.terminalHint{font-size:8px;color:#556f93;margin:12px 20px 15px}.toolIntro h2{font-size:17px;margin:0 0 10px}.toolIntro p{font-size:10px;line-height:1.8;color:#7d9bc6;margin:0 0 20px}.fileWorkspace{display:grid;grid-template-columns:190px 1fr;gap:20px}.fileList{max-height:430px;overflow:auto;border:1px solid #2d4466;border-radius:8px;background:#0a1528;padding:10px}.fileList button{display:block;width:100%;text-align:left;overflow-wrap:anywhere;padding:8px 5px;border:0;background:none;color:#8faacf;font:9px/1.6 Consolas,monospace}.fileList button:hover{color:#c9dfff;background:#233854;border-radius:4px}.fileWorkspace label{margin-top:0}.fileWorkspace textarea{font:11px/1.8 Consolas,monospace;min-height:245px}.dnsForm{display:grid;grid-template-columns:1fr 100px 1.5fr 80px 80px;gap:10px;margin-top:20px}.dnsForm label{margin:0}.dnsForm input,.dnsForm select{font-size:10px;padding:10px}.dnsForm button{grid-column:1/4;margin-top:12px}.dnsForm .quietButton{grid-column:4/6}.dnsRowsButton{font-size:8px;padding:5px 7px;margin-right:4px}.webButtons{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 25px}.webButtons .rowButton{font-size:9px}#nginxConfig{font:11px/1.8 Consolas,monospace;min-height:175px}.previewToolbar{display:flex;align-items:center;border:1px solid #375273;border-radius:9px 9px 0 0;background:#1a2b43;padding:10px 12px;gap:13px;font-size:10px;color:#9dbde2}.previewToolbar select{width:80px;margin:0;padding:7px;font-size:9px}.previewToolbar button{margin-left:auto}.sitePreview{min-height:160px;background:#111d31;border:1px solid #375273;border-top:0;border-radius:0 0 9px 9px;padding:22px;color:#bdd3f2;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.sitePreview.error{color:#e8b4bf}.labTools>.message{margin:15px 20px}.labBottom{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#647da1;margin:20px 0}.resetDialog{background:#14213a;color:#e4eeff;border:1px solid #7192c5;border-radius:15px;padding:30px;width:min(440px,90vw)}.resetDialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.resetDialog h2{font-size:21px}.resetDialog p{font-size:11px;color:#98b0d4;line-height:1.9}.resetDialog>div{display:flex;justify-content:space-between;gap:15px;margin-top:25px}.freeMode .labWork{grid-template-columns:1fr}.freeMode #taskPanel{display:none}@keyframes labCube{0%,100%{transform:rotateX(-18deg) rotateY(35deg) rotateZ(-8deg) translateY(0)}50%{transform:rotateX(-12deg) rotateY(65deg) rotateZ(0deg) translateY(-10px)}}@media(max-width:1000px){.labWork{grid-template-columns:230px minmax(0,1fr)}.labMain{padding:0 23px 30px}.toolTabs button{font-size:9px;padding:14px 12px}.dnsForm{grid-template-columns:1fr 1fr 1fr}.dnsValue{grid-column:1/3}.dnsForm button{grid-column:1/3}.dnsForm .quietButton{grid-column:3}.fileWorkspace{grid-template-columns:1fr}.fileList{max-height:150px}}@media(max-width:750px){.labHero{grid-template-columns:1fr;padding-top:35px;gap:0}.labHero h1{font-size:42px}.labArt{height:210px}.labChoices{grid-template-columns:1fr}.choiceArt{height:130px}.choiceInfo p{min-height:0}.labNav .pill{display:none}.labNav{gap:15px;font-size:9px}.labSectionHeading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:25px}.labSessionTop{align-items:flex-start;flex-direction:column;gap:15px}.sessionActions{width:100%;flex-wrap:wrap}.labNetwork{gap:10px;padding:15px;flex-wrap:wrap}.labNetwork>div{flex:1 1 35%;margin:7px 0}.labNetwork i{display:none}.labWork{grid-template-columns:1fr}.taskPanel{padding:20px}.task p{margin-bottom:8px}.taskPanel #taskList{max-height:275px;overflow:auto}.terminalOutput{min-height:310px;font-size:10px}.terminalForm{padding:10px 12px;gap:6px}.terminalForm label{font-size:9px;max-width:135px;overflow:hidden;text-overflow:ellipsis}.toolView{padding:18px}.labBottom{flex-direction:column;gap:10px}.previewToolbar{flex-wrap:wrap}.labInfo{padding:18px}.labCube{transform:scale(.85) rotateX(-18deg) rotateY(35deg)}}@media(prefers-reduced-motion:reduce){.labCube{animation:none}.labChoice,.progressTrack i{transition:none}.labChoice:hover{transform:none}}
