/* Shared lab surfaces. Keep the main eForensics site theme unchanged. */
body.labs-theme{--lab-text:#e2e8f0;--lab-muted:#a4afc1;--lab-line:rgba(226,232,240,.25);--lab-surface:#11121d;--lab-accent:#fdba74;color-scheme:dark;background:#080910;color:var(--lab-text);background-image:radial-gradient(ellipse 75% 60% at 90% 10%,rgba(234,88,12,.20),transparent 75%),radial-gradient(ellipse 60% 55% at 0% 80%,rgba(217,119,6,.14),transparent 75%);background-repeat:no-repeat;background-size:100vw 100vh;background-attachment:fixed}
.labs-theme #site-navigation{background:rgba(8,9,16,.94);border-color:var(--lab-line)}
.labs-theme #site-navigation img{filter:invert(1)}
.labs-theme #site-navigation :is(a,button){color:var(--lab-text)}
.labs-theme #site-navigation a[aria-current=page]{color:var(--lab-accent)}
.labs-theme #site-navigation a:hover,.labs-theme #site-navigation button:hover{color:var(--lab-accent);background:transparent}
.labs-theme #mobile-navigation-menu{border-color:var(--lab-line);background:#0b0d16}
.labs-theme #mobile-navigation-menu a.bg-white{background:#1e293b}
.labs-theme [data-site-footer]{background:#090b12;border-color:var(--lab-line)}
.labs-theme :is(a,button):focus-visible{outline:2px solid var(--lab-accent)!important;outline-offset:4px}
.labs-theme .labs-shell{min-height:65vh;color:var(--lab-text)}
.labs-theme .labs-shell :is(h1,h2,h3,h4,strong,p,li){color:var(--lab-text)}
.labs-theme .labs-shell .text-zinc-500,.labs-theme .labs-shell .text-zinc-600{color:var(--lab-muted)}
.labs-theme .labs-shell a{color:var(--lab-text)}
.labs-theme .labs-shell a.group,.labs-theme .labs-shell .bg-zinc-50{background:linear-gradient(145deg,#2a160e,#17100c);border-color:var(--lab-line)}
.labs-theme .labs-shell a.group:hover{border-color:var(--lab-accent)}
.lab-skip{position:fixed;top:12px;left:16px;z-index:100;background:#1e293b;padding:12px 20px;border-radius:8px;transform:translateY(-180%)}.lab-skip:focus{transform:none}
.lab-reader-shell{max-width:1240px;margin:auto;padding:32px 40px 72px}
.lab-breadcrumb{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--lab-muted)}
.lab-breadcrumb a{text-decoration:none}.lab-breadcrumb a:hover{color:var(--lab-accent)}
.lab-hero{padding:38px 0 36px;border-bottom:1px solid var(--lab-line);margin-bottom:32px}
.lab-eyebrow{display:flex;align-items:center;gap:12px;color:var(--lab-accent);font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em}
.lab-prompt{display:inline-grid;place-items:center;width:32px;height:32px;background:#102622;border:1px solid #28524a;border-radius:8px;font-size:16px;letter-spacing:0}
.lab-reader .lab-hero h1{font-size:clamp(32px,4.4vw,54px);line-height:1.12;letter-spacing:-.045em;font-weight:650;margin:18px 0 16px;max-width:1000px}
.lab-reader .lab-summary{max-width:730px;font-size:17px;line-height:1.75;color:var(--lab-muted);margin:0}
.lab-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:12px;color:var(--lab-muted)}.lab-meta span{display:flex;gap:8px;align-items:center}.lab-meta span::before{content:'';width:4px;height:4px;border-radius:50%;background:#75978f}
.lab-reader-grid{display:grid;grid-template-columns:208px minmax(0,1fr);gap:38px;align-items:start}
.lab-sidebar{position:sticky;top:104px;min-width:0}
.lab-reader .lab-section-label{font:600 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;color:var(--lab-muted);margin:0 0 14px}
.lab-outline ol{list-style:none;padding:0;margin:0;display:grid;gap:6px}.lab-outline a{display:flex;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:9px;text-decoration:none;font-size:13px;line-height:1.5;color:var(--lab-muted)}
.lab-outline a:hover{background:#141824;color:var(--lab-text)}
.lab-outline a[aria-current=location]{background:#15221f;color:var(--lab-accent);border-color:#28463f}
.lab-step-number{font:12px/1.7 ui-monospace,SFMono-Regular,monospace;opacity:.7}
.lab-sidebar-note{margin-top:28px;padding:22px 12px 0;border-top:1px solid var(--lab-line)}
.lab-reader .lab-sidebar-note p{color:var(--lab-muted);font-size:12px;line-height:1.8;margin:10px 0 16px}
.lab-sidebar-note a{font-size:12px;text-underline-offset:4px}
.lab-reading-column{min-width:0}#workspace,#lab-instructions,.lab-markdown h2{scroll-margin-top:108px}
.module-lab-controls,.lab-access-card{padding:22px 24px;border:1px solid var(--lab-line);border-radius:14px;background:linear-gradient(115deg,#26170f,#17110d);margin:0 0 28px;font-size:14px;box-shadow:0 8px 30px #0002}
.lab-control-row,.terminal-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lab-buttons{display:flex;gap:8px;flex-wrap:wrap}
.module-lab-controls .lab-section-label{margin-bottom:8px}
#lab-status{font-size:14px;font-weight:550;display:flex;align-items:center;gap:9px}#lab-status::before{content:'';display:block;width:7px;height:7px;background:#94a3b8;border-radius:50%}
[data-state=running] #lab-status::before{background:#6ee7b7;box-shadow:0 0 10px #6ee7b744}
.module-lab-controls button,.terminal-tools button,.lab-primary-link{border:1px solid var(--lab-line);border-radius:8px;padding:10px 14px;font:600 12px/1.5 system-ui;cursor:pointer;min-height:42px;background:#1c2432;color:var(--lab-text);transition:background .15s,border-color .15s}
.module-lab-controls #open-terminal,.labs-theme .lab-primary-link{background:#24463f;color:#d5fff2;border-color:#527d71;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.module-lab-controls #open-terminal:hover,.lab-primary-link:hover{background:#315c51;border-color:#fdba74}
.module-lab-controls button:hover,.terminal-tools button:hover{background:#2c394b}
.module-lab-controls button:disabled,.terminal-tools button:disabled,.lab-play:disabled{opacity:.5;cursor:wait}
.lab-reader #lab-message{color:var(--lab-muted);font-size:12px;line-height:1.7;margin:15px 0 0}
.lab-access-card{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.lab-access-card h2{font-size:17px;font-weight:600;margin:0 0 9px}.lab-access-card p{font-size:14px;line-height:1.7;margin:0;max-width:540px}
.lab-error{background:#3a1822;color:#fecdd3!important;border:1px solid #8b4252;border-radius:8px;padding:12px}
.activity-track{height:3px;background:#22342f;overflow:hidden;border-radius:8px;margin-top:16px}.activity-track span{display:block;width:35%;height:100%;background:#fdba74;animation:lab-loading 1.5s ease-in-out infinite}@keyframes lab-loading{50%{transform:translateX(190%)}}
.labs-theme .lab-markdown{color:var(--lab-text);font-size:15px;line-height:1.85;margin:0;max-width:none}
.labs-theme .lab-markdown>p{color:#b9c3d2;margin:18px 0 24px}.labs-theme .lab-markdown>p:first-child{margin-top:0}
.labs-theme .lab-markdown :is(h1,h2,h3,h4){color:var(--lab-text);border-color:var(--lab-line);letter-spacing:-.025em}
.labs-theme .lab-markdown h2{font-size:23px;line-height:1.4;font-weight:600;margin:42px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--lab-line)}
.labs-theme .lab-markdown a{color:#fdba74;text-decoration:underline;text-underline-offset:4px}
.labs-theme .lab-markdown :is(blockquote,table,th,td,hr){border-color:var(--lab-line)}
.labs-theme .lab-markdown blockquote{color:var(--lab-muted);background:#121923}
.labs-theme .lab-markdown :not(pre)>code{background:#19212e;color:var(--lab-text);border:1px solid var(--lab-line);border-radius:5px;padding:2px 5px;font-size:.9em}
.labs-theme .lab-markdown .content-code-block,.labs-theme .lab-markdown .code-block{overflow:hidden;border:1px solid #657081;border-radius:12px;margin:20px 0;background:#090c13}
.labs-theme .lab-markdown .content-code-toolbar,.labs-theme .lab-markdown .code-tools{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#141b27;border-bottom:1px solid var(--lab-line);color:var(--lab-muted);min-height:52px}
.labs-theme .lab-markdown .content-code-toolbar>span:first-child{font:600 10px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em}
.labs-theme .lab-markdown .content-code-block pre,.labs-theme .lab-markdown .code-block pre{background:#090c13;color:var(--lab-text);border:0;border-radius:0;margin:0;padding:22px;font-size:14px;line-height:1.8;max-width:100%;overflow:auto}
.labs-theme .lab-markdown .content-code-block code{color:var(--lab-text);padding:0;border:0;background:transparent}
.labs-theme .lab-markdown .lab-code-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}
.labs-theme .lab-markdown .lab-play,.labs-theme .lab-markdown .content-code-copy{background:#253347;color:var(--lab-text);border:1px solid #8290a3;border-radius:7px;min-height:36px;padding:7px 12px;font:600 12px/1.5 system-ui;cursor:pointer}
.labs-theme .lab-markdown .content-code-copy{background:transparent;border-color:var(--lab-line)}
.labs-theme .lab-markdown .lab-play:hover,.labs-theme .lab-markdown .content-code-copy:hover{background:#35475f;border-color:#e2e8f0}
.shared-terminal{background:#090c13;color:var(--lab-text);padding:14px;min-width:0;border:1px solid #657081;border-radius:12px;margin-bottom:24px;font:13px system-ui}
.content-code-block .shared-terminal{border:0;border-top:1px solid var(--lab-line);border-radius:0;margin-bottom:0}
.terminal-tools{padding-bottom:14px;gap:10px}.terminal-tools button{min-height:36px;padding:7px 10px;font-size:11px}.terminal-tools>span{font:12px ui-monospace,SFMono-Regular,monospace;color:#fdba74}
.shared-terminal #terminal-screen{height:360px;min-width:0;width:100%}
.lab-reader .shared-terminal .terminal-hint{font:11px/1.7 system-ui;margin:14px 0 0;color:var(--lab-muted)}
.lab-end-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:40px;padding:22px 0;border-top:1px solid var(--lab-line);font-size:12px}.lab-end-note>span{color:var(--lab-accent);font:18px monospace}.lab-reader .lab-end-note p{flex:1;min-width:180px;color:var(--lab-muted);margin:0}.lab-end-note a{text-underline-offset:4px}
.labs-theme .reader-update-dialog{background:#131923!important;color:#e2e8f0!important;border-color:#657081!important}.labs-theme .reader-update-dialog button{background:#243348!important;color:#e2e8f0!important;border-color:#657081!important}.labs-theme .reader-update-dialog [data-update-confirm]{background:#24463f!important}.labs-theme .reader-lab-update{border-color:var(--lab-line)}
[hidden]{display:none!important}
@media(max-width:900px){.lab-reader-shell{padding:24px 24px 48px}.lab-reader-grid{grid-template-columns:1fr;gap:24px}.lab-sidebar{position:static}.lab-sidebar-note{display:none}.lab-outline ol{display:flex;gap:8px;flex-wrap:wrap}.lab-outline a{border-color:var(--lab-line);padding:9px 12px}.lab-outline .lab-section-label{margin-bottom:10px}.lab-hero{padding:28px 0;margin-bottom:24px}}
@media(max-width:540px){.lab-reader-shell{padding:22px 18px 40px}.lab-reader .lab-hero h1{font-size:34px}.lab-reader .lab-summary{font-size:15px}.lab-meta{font-size:11px;gap:10px 16px}.module-lab-controls,.lab-access-card{padding:18px}.lab-control-row{align-items:flex-start}.lab-control-row>.lab-buttons{width:100%}.lab-control-row button{flex:1;min-height:44px}.lab-outline a{font-size:12px;min-height:44px}.labs-theme .lab-markdown h2{font-size:21px}.labs-theme .lab-markdown .content-code-block pre{padding:18px;font-size:13px}.labs-theme .lab-markdown .lab-play,.labs-theme .lab-markdown .content-code-copy{min-height:44px}.shared-terminal{padding:10px}.shared-terminal #terminal-screen{height:300px}.terminal-tools button{min-height:44px}.lab-breadcrumb{font-size:12px}.lab-end-note{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.activity-track span{animation:none}.labs-theme *{scroll-behavior:auto!important;transition:none!important}}
.labs-theme .h9-cookie-banner,.labs-theme .h9-cookie-dialog{background:#131923;color:#e2e8f0;border-color:#657081;box-shadow:0 16px 60px #0008}
.labs-theme .h9-cookie-actions button{background:#1c2432;color:#e2e8f0;border-color:#8290a3}.labs-theme .h9-cookie-actions button:hover{background:#2c394b}.labs-theme .h9-cookie-category{border-color:var(--lab-line)}.labs-theme .h9-cookie-category input{accent-color:#6ee7b7}
