.lab-hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:30px;padding-block:52px 46px}.lab-intro{position:relative;z-index:2}.lab-intro h1{font:800 clamp(60px,6.8vw,96px)/.95 var(--display);letter-spacing:-1.5px;margin:25px 0}.lab-intro h1 span{color:var(--green)}.lab-lead{font-size:24px;line-height:1.55;color:#c5d1bb}.lab-lead strong{color:var(--text)}.lab-intro>p:not(.lab-lead){font-size:18px;line-height:1.75;color:var(--muted);max-width:520px}.lab-jump{display:inline-flex;margin-top:12px;gap:25px}.lab-intro-note{display:block;font:13px/1.8 var(--mono);color:#a8ba98;margin-top:16px}.lab-visual{position:relative;margin:0;height:500px;background:#0c100d;overflow:hidden;border:1px solid #33412a}.lab-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0c100dbe,transparent 40%),linear-gradient(90deg,#0c100d30,transparent 45%)}.lab-visual img{width:100%;height:100%;object-fit:cover;object-position:48% 50%}.lab-visual figcaption{position:absolute;bottom:20px;left:22px;z-index:2;font:13px var(--mono);letter-spacing:1px;color:#cee6b4}.lab-visual figcaption .live-dot{margin-right:10px}.lab-section{padding-block:45px;border-top:1px solid var(--line);scroll-margin-top:24px}.lab-section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:23px;flex-wrap:wrap}.lab-section-heading h2{font:600 44px/1.15 var(--display);margin:12px 0 0;letter-spacing:.2px}.lab-target-pill{border:1px solid #475c36;padding:10px 13px;color:#c2d4b0;font:13px/1.6 var(--mono)}.lab-control-panel{border:1px solid #435932;padding:26px;background:linear-gradient(110deg,#1b2913,#11190e);display:flex;align-items:center;justify-content:space-between;gap:30px}.lab-control-panel h3{font-size:23px;margin:0 0 8px;line-height:1.45}.lab-control-panel p{font-size:17px;color:#b7c7a8;line-height:1.75;margin:0;max-width:660px}.lab-action-buttons{display:flex;flex-direction:column;gap:12px;flex:none}.lab-action-buttons .primary-button{white-space:nowrap}.live-console{background:#090d08;border:1px solid #435932;border-top:0;box-shadow:0 20px 60px #0003}.console-bar{display:flex;align-items:center;gap:15px;padding:18px 22px;background:#172012;border-bottom:1px solid #34442a;font:13px/1.7 var(--mono);color:#b3c6a1}.console-window-dots{display:flex;gap:6px;flex:none}.console-window-dots i{width:8px;height:8px;border-radius:50%;background:#486438}.console-window-dots i:nth-child(1){background:#f8736e}.console-window-dots i:nth-child(2){background:#f3b75e}.console-window-dots i:nth-child(3){background:#b9f86c}.console-bar strong{margin-left:auto;color:var(--green);font-weight:500;font-size:13px;white-space:nowrap}.console-progress{height:4px;background:#25301d}.console-progress>div{height:100%;width:0;background:var(--green);transition:width .25s}#live-log{padding:12px 24px;margin:0;list-style:none;min-height:170px}.log-line,.log-placeholder{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid #27341e;animation:lab-line-in .24s ease both}.log-line:last-child,.log-placeholder{border:0}.log-placeholder{color:#c4d4b6;font:17px/1.65 var(--mono);padding-block:29px}.log-placeholder>span{color:var(--green);font-size:25px}.log-placeholder small{display:block;font:16px/1.7 var(--body);color:#96ac84;margin-top:8px}.log-time{font:12px/1.8 var(--mono);color:#93aa7f;min-width:68px;padding-top:4px}.log-symbol{display:grid;place-items:center;width:28px;height:28px;flex:none;font:20px var(--mono);border:1px solid #526844;color:#a0b68e}.log-line.pass .log-symbol{color:var(--green);border-color:#7eac4f;background:#b9f86c08}.log-line.warning .log-symbol{color:var(--amber);border-color:#ba9150;background:#f3b75e09}.log-line.fail .log-symbol{color:var(--red);border-color:#ad514b;background:#f8736e09}.log-line.running .log-symbol{color:var(--green);border-color:transparent;animation:lab-pulse 1s infinite}.log-content{flex:1;min-width:0}.log-content>strong{font:500 17px/1.6 var(--mono);color:#dfebd5}.log-content p{font:16px/1.7 var(--body);margin:6px 0 0;color:#b0c29f;overflow-wrap:anywhere}.log-state{font:12px/1.8 var(--mono);color:#b2c79e;margin-left:auto;white-space:nowrap}.log-line.pass .log-state{color:var(--green)}.log-line.warning .log-state{color:var(--amber)}.log-line.fail .log-state{color:var(--red)}.console-bottom{padding:15px 22px;border-top:1px solid #34442a;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font:13px/1.7 var(--mono);color:#b4c6a2}.console-bottom>div{display:flex;gap:18px;flex-wrap:wrap}.key-pass{color:var(--green)}.key-warning{color:var(--amber)}.key-fail{color:var(--red)}.lab-result{padding:28px;border:1px solid #405832;margin-top:22px;background:#141d10}.lab-result-title{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.lab-result-title h3{font:600 31px/1.3 var(--display);margin:10px 0}.lab-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.lab-stat-grid>div{padding:18px;border-left:2px solid #80916f;background:#0d150a}.lab-stat-grid strong{display:block;font:600 48px/1 var(--display);margin-bottom:12px}.lab-stat-grid span{font-size:15px;color:#b7c7a9}.lab-stat-grid .stat-pass{border-color:var(--green)}.stat-pass strong{color:var(--green)}.lab-stat-grid .stat-warning{border-color:var(--amber)}.stat-warning strong{color:var(--amber)}.lab-stat-grid .stat-fail{border-color:var(--red)}.stat-fail strong{color:var(--red)}.lab-explanation{font-size:16px;line-height:1.75;color:#b1c39e;margin:18px 0 0}.lab-section-description{font-size:18px;line-height:1.75;color:#bfccb4;max-width:980px;margin:0 0 24px}.report-actions{display:flex;gap:18px;flex-wrap:wrap}.report-upload{cursor:pointer;position:relative;overflow:hidden}.report-upload:focus-within{outline:2px solid var(--green);outline-offset:4px}.report-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.import-message{font-size:16px;line-height:1.7;color:#b5c7a2;min-height:27px}.import-message.error{color:var(--red)}#scanner-result{border:1px solid var(--line);padding:28px;background:var(--panel);margin-top:23px}.scanner-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.scanner-heading h3{font-size:28px;line-height:1.4;margin:10px 0}.scanner-heading p{font-size:16px;line-height:1.7;color:#b8c9a9;margin:0;overflow-wrap:anywhere}.scanner-origin{font:13px/1.7 var(--mono);border:1px solid #526b3e;padding:8px 12px;color:var(--green)}.scanner-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.risk-count{padding:16px;background:#0e150b;border:1px solid #33422a}.risk-count strong{font:600 38px/1 var(--display);display:block;margin-bottom:9px}.risk-count span{font-size:15px;color:#b5c5a5}.risk-count.high strong{color:var(--red)}.risk-count.medium strong{color:var(--amber)}.risk-count.low strong{color:var(--green)}.scanner-findings{display:grid;gap:14px;margin-top:25px}.finding{padding:20px;border:1px solid #384a2d;background:#10180c}.finding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.finding h4{font-size:20px;line-height:1.5;margin:0;flex:1;min-width:200px}.finding-level{font:13px/1.6 var(--mono);padding:4px 8px;border:1px solid #586d46}.finding-level.high{color:var(--red);border-color:#9c4b45}.finding-level.medium{color:var(--amber);border-color:#9b783e}.finding-level.low{color:var(--green);border-color:#688a46}.finding p{font-size:17px;line-height:1.75;color:#b8c8a9;white-space:pre-line;overflow-wrap:anywhere;margin:12px 0 0}.finding details{margin-top:16px;font-size:16px;line-height:1.7}.finding summary{color:var(--green);cursor:pointer}.finding small{display:block;font-size:14px;color:#a7bd95;margin-top:14px}.scanner-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:25px}.scanner-metric{border:1px solid var(--line);padding:18px}.scanner-metric strong{display:block;font-size:28px}.scanner-metric span{font-size:16px;color:#b8c7aa}.kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.kit-grid article{border:1px solid #35452a;background:#131c0f;padding:25px;display:flex;flex-direction:column;align-items:flex-start}.kit-tag{font:12px/1.7 var(--mono);color:var(--green);letter-spacing:.3px}.kit-tag.alternative{color:#b2c99b}.kit-tag.restricted{color:var(--amber)}.kit-grid h3{font:600 31px/1.2 var(--display);margin:17px 0 12px}.kit-grid p{font-size:17px;line-height:1.75;color:#b6c6a6;margin:0 0 22px}.kit-grid a{font-size:16px;color:var(--green);margin-top:auto;line-height:1.7}.kit-start{margin-top:24px;padding:28px;border:1px solid #4a6236;background:#172310}.kit-start h3{font-size:26px;line-height:1.4;margin:0 0 13px}.kit-start p{font-size:17px;line-height:1.75;color:#beceb0}.kit-start pre{padding:18px 22px;background:#090f06;border:1px solid #435d30;font:18px/1.6 var(--mono);overflow:auto;color:var(--green)}.kit-start p code{font-size:15px;color:#d2e7bd}.lab-closing{padding-block:35px 50px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}.lab-closing h2{font:600 38px/1.2 var(--display);margin:14px 0}.lab-closing p{font-size:18px;color:var(--muted);margin:0}.lab-closing .primary-button{flex:none}
@keyframes lab-pulse{50%{opacity:.35}}@keyframes lab-line-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.lab-hero{grid-template-columns:1fr 1fr;gap:25px}.lab-visual{height:470px}.lab-control-panel{flex-wrap:wrap}.lab-action-buttons{flex-direction:row;flex-wrap:wrap}.kit-grid{grid-template-columns:repeat(2,1fr)}.lab-stat-grid{grid-template-columns:repeat(2,1fr)}.lab-closing{flex-wrap:wrap}.lab-intro h1{font-size:74px}}
@media(max-width:780px){.lab-hero{grid-template-columns:1fr;padding-top:35px;gap:25px}.lab-intro h1{font-size:76px}.lab-visual{height:340px}.lab-intro>p:not(.lab-lead){max-width:none}.lab-lead{font-size:25px}.lab-section-heading h2{font-size:38px}.console-bar{flex-wrap:wrap;gap:10px}.console-bar strong{margin-left:auto}.log-time{display:none}.log-state{font-size:11px}.lab-control-panel{padding:23px}.lab-action-buttons{width:100%}.lab-action-buttons .primary-button{white-space:normal;flex:1}.lab-stat-grid{gap:12px}.kit-grid{gap:16px}.scanner-summary{grid-template-columns:repeat(2,1fr)}.scanner-metrics{grid-template-columns:1fr}}
@media(max-width:540px){.lab-hero{padding-top:28px;padding-bottom:32px}.lab-intro h1{font-size:67px}.lab-intro .eyebrow{font-size:13px}.lab-intro-note{font-size:13px}.lab-lead{font-size:23px}.lab-visual{height:290px}.lab-jump{width:100%;font-size:17px}.lab-section{padding-block:34px}.lab-section-heading h2{font-size:35px}.lab-target-pill{font-size:12px}.lab-control-panel h3{font-size:22px}.lab-control-panel p{font-size:17px}.console-bar{padding:15px;font-size:12px}.console-bar strong{font-size:12px}#live-log{padding:7px 16px}.log-line{gap:10px;flex-wrap:wrap}.log-content{flex-basis:calc(100% - 42px)}.log-content>strong{font-size:16px}.log-content p{font-size:16px}.log-state{margin-left:38px;font-size:12px}.console-bottom{padding:16px;font-size:13px}.console-bottom>div{gap:8px 15px}.lab-result{padding:22px}.lab-result-title h3{font-size:28px}.lab-result-title .outline-button{width:100%}.lab-stat-grid>div{padding:14px}.lab-stat-grid span{font-size:14px}.lab-stat-grid strong{font-size:43px}.report-actions>*{width:100%}#scanner-result{padding:22px}.scanner-heading h3{font-size:25px}.scanner-summary{gap:10px}.risk-count{padding:14px}.finding{padding:17px}.finding h4{font-size:19px}.finding p{font-size:16px}.kit-grid{grid-template-columns:1fr}.kit-grid article{padding:24px}.kit-grid p{font-size:18px}.kit-tag{font-size:13px}.kit-start{padding:22px}.kit-start pre{font-size:16px;padding:15px}.kit-start h3{font-size:24px}.lab-closing h2{font-size:34px}.lab-closing .primary-button{width:100%}}
@media(prefers-reduced-motion:reduce){.log-line,.log-placeholder,.log-line.running .log-symbol{animation:none}.console-progress>div{transition:none}}
#live-log{max-height:540px;overflow:auto;scrollbar-color:#6a8e47 #121b0d;scrollbar-width:thin;overscroll-behavior:contain}.native-report-links{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:15px;line-height:1.8;margin-top:18px;color:var(--green)}@media(max-width:540px){#live-log{max-height:480px}.native-report-links{font-size:15px;gap:12px}}

.lab-entry-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.lab-entry-actions .lab-jump{margin:12px 0 0}.lab-entry-actions .text-button{font-size:17px}.lab-visual.lab-skull{border-color:#33472b;background:radial-gradient(ellipse at center,#28391a50 0,transparent 70%)}.lab-visual.lab-skull img{object-fit:contain;padding:14px;transform:rotate(-6deg)}.lab-visual.lab-skull:after{background:linear-gradient(0deg,#0c100dbd,transparent 22%)}@media(max-width:540px){.lab-entry-actions{gap:16px}.lab-entry-actions .lab-jump{width:100%}.lab-visual.lab-skull img{padding:4px}}
