/* Symbioverse v0.7.6 — hands-on IT / cyber / AI scenario missions */
.sv-lab{--lab-mint:#60e7d5;--lab-blue:#6cbaff;--lab-border:#355568;display:grid;gap:0;min-width:0;max-width:980px;margin:8px auto 24px;overflow:hidden;border:1px solid #3b6475;border-radius:24px;background:linear-gradient(145deg,#142b3b,#091923 75%);box-shadow:0 22px 65px #0005,inset 0 1px #a7fcff18}
.sv-lab *{box-sizing:border-box}
.sv-lab-hero{position:relative;isolation:isolate;padding:29px 34px 24px;background:radial-gradient(ellipse at 85% 5%,#663fa052,transparent 50%),radial-gradient(ellipse at 10% 35%,#277c8452,transparent 60%),linear-gradient(145deg,#132e40,#121d31);border-bottom:1px solid #345469;overflow:hidden}
.sv-lab-hero::after{content:'◈';position:absolute;right:24px;top:-36px;font-size:230px;line-height:1;color:#b3c7ff0a;transform:rotate(20deg);z-index:-1;pointer-events:none}
.sv-lab-kicker,.sv-lab-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--lab-mint);font-size:11px;letter-spacing:1.8px;font-weight:800}
.sv-lab-topic{border:1px solid #6994c273;background:#1d3e5a8c;color:#a6d6ff;padding:7px 12px;border-radius:999px;letter-spacing:.6px}
.sv-lab-hero h2{font-size:clamp(24px,3vw,35px);letter-spacing:-.8px;color:#f3fafd;line-height:1.22;margin:19px 0 12px}
.sv-lab-hero p{max-width:710px;color:#b2c8d7;font-size:14px;line-height:1.7;margin:0 0 20px}
.sv-lab-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.sv-lab-timeline span{display:block;height:7px;background:#385164;border-radius:20px;box-shadow:inset 0 1px #0007}
.sv-lab-timeline span.current{background:linear-gradient(90deg,#58d8bd,#79c4ff);box-shadow:0 0 15px #5ee5d34a}
.sv-lab-timeline span.done{background:#399d89}
.sv-lab-content{padding:28px 34px 30px;min-width:0}
.sv-lab-progress{color:#72cfc4;letter-spacing:1.2px}
.sv-lab-progress small{color:#87a6b8;font-size:11px;letter-spacing:.2px;font-weight:500}
.sv-lab-content h3{font-size:clamp(19px,2.4vw,26px);font-weight:750;letter-spacing:-.35px;line-height:1.4;color:#e7f6fa;margin:21px 0 22px}
.sv-lab-choices{display:grid;gap:12px}
.sv-lab .sv-lab-choice{display:flex;align-items:center;gap:17px;width:100%;min-height:70px;padding:13px 15px;border:1px solid #355165;border-radius:13px;text-align:left;background:#102536;color:#d4e9f3;box-shadow:inset 0 1px #ffffff07;white-space:normal;line-height:1.5;transition:background .16s,border-color .16s,transform .16s;cursor:pointer}
.sv-lab .sv-lab-choice:hover{border-color:#5da0ad;background:#153649;transform:translateY(-1px)}
.sv-lab .sv-lab-choice.selected{border-color:#60e4d1;background:linear-gradient(105deg,#16443f,#17354d);box-shadow:0 0 0 1px #60e4d12a,inset 0 1px #b1fff91c}
.sv-lab-choice-letter{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #3c6878;border-radius:10px;background:#14394a;color:#82dccc;font-weight:800;font-size:13px}
.sv-lab .sv-lab-choice.selected .sv-lab-choice-letter{background:#60e4d1;color:#082b2e;border-color:#60e4d1}
.sv-lab-choice-check{margin-left:auto;color:#75f4dc;font-size:22px;flex:none}
.sv-lab-hint{margin-top:18px;border:1px solid #344d61;background:#10212c;border-radius:11px;padding:12px 15px;color:#acbbcb}
.sv-lab-hint summary{cursor:pointer;color:#9ac7e0;font-size:13px;font-weight:700}
.sv-lab-hint p{font-size:13px;line-height:1.6;margin:10px 0 0;color:#b9d3de}
.sv-lab-error{padding:14px 16px;margin:18px 0 0;border:1px solid #ad7b48;border-radius:11px;background:#45312060;color:#ffdda6;line-height:1.6;font-size:13px}
.sv-lab-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:27px;padding-top:20px;border-top:1px solid #2c4856}
.sv-lab-actions button{min-height:44px;font-weight:750;font-size:13px}
.sv-lab-actions .primary{padding:12px 21px;border-radius:11px}
.sv-lab-footer{padding:15px 34px;border-top:1px solid #2b4354;color:#7493a5;font-size:11px;letter-spacing:.2px}
.sv-lab-finish{max-width:880px;margin:8px auto;padding:40px;display:grid;justify-items:center;gap:16px;text-align:center;border:1px solid #4eac98;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#23756b67,transparent 57%),linear-gradient(140deg,#122c38,#101b2b);box-shadow:0 18px 65px #0006}
.sv-lab-win-symbol{display:grid;place-items:center;width:112px;height:112px;border:2px solid #ecc87b;border-radius:50%;font-size:66px;color:#f7d28b;background:linear-gradient(135deg,#725332,#172c3b);box-shadow:0 0 45px #e2c47345}
.sv-lab-label{color:#81eada;font-size:11px;letter-spacing:2px;font-weight:900}
.sv-lab-finish h2{color:#f2ffff;font-size:clamp(24px,3vw,35px);margin:0}
.sv-lab-finish>p{color:#acc9d4;font-size:14px;margin:0}
.sv-lab-winnings{padding:14px 20px;border:1px solid #e3ba6970;border-radius:999px;background:#372b21b0;color:#ffda91;font-weight:800;font-size:15px}
.sv-lab-explanations{width:100%;max-width:650px;padding:22px;text-align:left;border:1px solid #345766;border-radius:14px;background:#0a1b29}
.sv-lab-explanations h3{color:#91f3e3;font-size:17px;margin:0 0 14px}
.sv-lab-explanations p{font-size:13px;color:#d2e1e9;line-height:1.6;margin:12px 0}
.sv-lab-explanations strong{color:#f3c981}
@media(max-width:600px){.sv-lab{border-radius:18px}.sv-lab-hero{padding:22px 18px 18px}.sv-lab-content{padding:21px 17px 24px}.sv-lab-footer{padding:14px 18px}.sv-lab-hero h2{margin:15px 0 12px}.sv-lab .sv-lab-choice{gap:10px;padding:12px 10px;font-size:13px}.sv-lab-choice-letter{width:30px;height:30px}.sv-lab-actions{gap:7px}.sv-lab-actions button{padding:11px 12px;font-size:12px}.sv-lab-finish{padding:28px 17px}.sv-lab-winnings{font-size:12px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){.sv-lab .sv-lab-choice{transition:none}.sv-lab .sv-lab-choice:hover{transform:none}}

.sv-mission-topic{display:inline-flex;margin:2px 0 9px;align-items:center;gap:5px;font-size:11px;color:#90f0db;background:#16403888;border:1px solid #377a6d;border-radius:99px;padding:3px 10px;font-weight:700}
.sv-learning-filters select{min-width:155px}
@media(max-width:1100px){.sv-learning-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sv-learning-filters input{grid-column:1/-1;min-width:0}.sv-learning-filters select{min-width:0;width:100%}}

/* v0.7.8 — hands-on investigation, response planning and configuration labs */
.sv-lab-timeline{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.sv-lab-mode-label{display:inline-flex;margin-top:17px;padding:6px 10px;border:1px solid #3a7e87;border-radius:8px;background:#153c45;color:#8cf2e0;font-size:11px;font-weight:800;letter-spacing:.7px}
.sv-lab-mode-label+h3{margin-top:12px}
.sv-lab-instruction{color:#a8c5d2;font-size:13px;line-height:1.55;margin:0 0 15px}
.sv-lab-artifact{padding:17px 19px;margin-bottom:16px;border:1px solid #315d77;border-radius:13px;background:linear-gradient(130deg,#0c273b,#0e2130);min-width:0}
.sv-lab-artifact-heading{color:#93e4f5;font-size:11px;letter-spacing:1px;font-weight:800}
.sv-lab-artifact p{font-size:12px;color:#acc5d1;line-height:1.5;margin:9px 0 0}
.sv-lab-order{display:grid;gap:9px}
.sv-lab-order-item{display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px 13px;background:#102a38;border:1px solid #30566a;border-radius:12px;min-width:0;font-size:13px;line-height:1.4;color:#e1eff5}
.sv-lab-order-number{display:grid;place-items:center;border:1px solid #457986;border-radius:9px;color:#7be8d8;background:#1b4250;width:34px;height:34px;font-weight:800}
.sv-lab-move{display:flex;gap:4px}
.sv-lab .sv-lab-move button{width:35px;height:35px;display:grid;place-items:center;padding:0;background:#193a4b;color:#cff3f9;border:1px solid #436879;border-radius:8px}
.sv-lab-forms{display:grid;gap:13px}
.sv-lab-formrow{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,1.25fr);gap:14px;align-items:center;padding:13px 15px;border:1px solid #30566a;border-radius:12px;background:#102b3b;color:#d3e5ed;font-size:13px;font-weight:650}
.sv-lab-formrow select{min-width:0;width:100%;margin:0;padding:12px;background:#091c2b;border-radius:9px;color:#e0f1f7;font-size:12px;white-space:normal}
.sv-lab-terminal{overflow:hidden;background:#081823;border:1px solid #366b7b;border-radius:15px;box-shadow:0 10px 40px #0004}
.sv-lab-terminal-head{padding:13px 16px;background:#182c39;border-bottom:1px solid #335365;color:#a0c4cf;font-size:11px;letter-spacing:1.2px;font-weight:800}
.sv-lab-terminal-head>span{color:#f7bd7e;letter-spacing:3px;margin-right:12px}
.sv-lab-terminal label{display:flex;align-items:center;gap:10px;min-width:0;padding:22px 20px;font-size:14px}
.sv-lab-terminal input{flex:1;min-width:0;width:100%;margin:0;background:transparent;border:0;box-shadow:none!important;border-radius:0;color:#d9ffed;font-family:Consolas,Menlo,monospace;font-size:14px}
.sv-lab-terminal input:focus{outline:none}
.sv-lab-prompt{color:#5bf2bb;white-space:nowrap;font-family:Consolas,Menlo,monospace;font-size:12px}
.sv-lab-terminal+.sv-lab-instruction{margin-top:11px}
.sv-lab-calculator{display:flex;gap:20px;align-items:center;background:linear-gradient(110deg,#182c3e,#102532);padding:20px;border-radius:15px;border:1px solid #376175}
.sv-lab-calculator>span{font-size:45px;color:#9fe7ff;flex:none}
.sv-lab-calculator label{flex:1;min-width:0;display:grid;gap:7px;color:#b9d0e0;font-size:12px}
.sv-lab-calculator input{width:100%;margin:0;max-width:100%;font-size:16px;min-width:0}
.sv-lab-hint summary:focus-visible,.sv-lab button:focus-visible,.sv-lab select:focus-visible,.sv-lab input:focus-visible{outline:2px solid #9df8de;outline-offset:2px}
.sv-lab-explanations summary{cursor:pointer;color:#9fe8d9;font-weight:800;margin:0 0 12px}
@media(max-width:650px){.sv-lab-formrow{grid-template-columns:1fr;gap:9px;padding:12px}.sv-lab-terminal label{display:grid;gap:8px;padding:15px}.sv-lab-calculator{padding:13px;gap:12px}.sv-lab-order-item{grid-template-columns:28px minmax(0,1fr) 73px;gap:7px;padding:9px 7px;font-size:12px}.sv-lab-order-number{width:27px;height:30px}.sv-lab .sv-lab-move button{width:33px;height:33px}.sv-lab-timeline{gap:3px}}
/* Hidden retry control belongs to the game runtime, not the current lab. */
#game-host [hidden]{display:none!important}
