*{box-sizing:border-box}:root{--vulnlab-bg:#0f172a;--vulnlab-bg-deep:#020617;--vulnlab-surface:rgba(15,23,42,.78);--vulnlab-surface-strong:rgba(30,41,59,.9);--vulnlab-line:rgba(148,163,184,.18);--vulnlab-line-strong:rgba(147,197,253,.32);--vulnlab-text:#f8fafc;--vulnlab-muted:#94a3b8;--vulnlab-soft:#cbd5e1;--vulnlab-blue:#3b82f6;--vulnlab-violet:#7c3aed;--vulnlab-violet-soft:#c4b5fd;font-family:Inter,system-ui,sans-serif;background-color:var(--vulnlab-bg);color:var(--vulnlab-text)}body{margin:0;padding:0;background:var(--vulnlab-bg)}.vulnlab-app-shell,body{color:var(--vulnlab-text);min-height:100vh}.vulnlab-app-shell{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 16%,rgba(59,130,246,.2),transparent 28%),radial-gradient(circle at 76% 78%,rgba(124,58,237,.22),transparent 34%),var(--vulnlab-bg);font-family:Inter,system-ui,sans-serif}.vulnlab-starfield{position:absolute;inset:0;pointer-events:none;opacity:.68;background-image:radial-gradient(circle at 12% 22%,hsla(0,0%,100%,.8) 0 1px,transparent 2px),radial-gradient(circle at 31% 74%,hsla(0,0%,100%,.62) 0 1px,transparent 2px),radial-gradient(circle at 46% 18%,hsla(0,0%,100%,.52) 0 1px,transparent 2px),radial-gradient(circle at 63% 42%,hsla(0,0%,100%,.58) 0 1px,transparent 2px),radial-gradient(circle at 81% 24%,hsla(0,0%,100%,.7) 0 1px,transparent 2px),radial-gradient(circle at 88% 84%,hsla(0,0%,100%,.48) 0 1px,transparent 2px)}.vulnlab-page-container{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto}.vulnlab-menu-shell{padding:24px 0 40px}.vulnlab-topnav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px;width:100%;margin:0 auto 28px;padding:12px 14px;border:1px solid var(--vulnlab-line);border-radius:8px;background:rgba(15,23,42,.58);box-shadow:0 18px 50px rgba(2,6,23,.32);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.vulnlab-topnav-logo{gap:12px;flex-wrap:wrap;justify-self:start;max-width:100%;min-width:0;text-decoration:none}.vulnlab-client-logo-plate,.vulnlab-topnav-logo{display:inline-flex;align-items:center;flex:0 0 auto}.vulnlab-client-logo-plate{height:64px;border:1px solid hsla(0,0%,100%,.68);border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(2,6,23,.2),inset 0 0 0 1px rgba(15,23,42,.04);padding:6px 10px}.vulnlab-client-logo-plate,.vulnlab-company-logo-plate{justify-content:center;box-sizing:border-box;width:174px}.vulnlab-company-logo-plate{display:inline-flex;align-items:center;flex:0 0 auto;min-height:64px;border:1px solid rgba(196,181,253,.36);border-radius:8px;background:#2e124c;box-shadow:0 14px 34px rgba(2,6,23,.24),inset 0 0 0 1px hsla(0,0%,100%,.06);padding:8px 12px}.vulnlab-topnav-client-logo{display:block;width:100%;height:100%;object-fit:contain}.vulnlab-topnav-company-logo{display:block;width:min(148px,100%);height:auto;max-height:46px;object-fit:contain}.vulnlab-topnav-actions{justify-content:center;justify-self:center}.vulnlab-topnav-account,.vulnlab-topnav-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.vulnlab-topnav-account{justify-content:flex-end;justify-self:end}.vulnlab-nav-button,.vulnlab-nav-link{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(147,197,253,.26);border-radius:8px;background:rgba(59,130,246,.1);color:#dbeafe;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;line-height:1;padding:0 12px;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.vulnlab-nav-button:hover,.vulnlab-nav-link:hover{border-color:rgba(196,181,253,.58);background:rgba(124,58,237,.18);color:#f8fafc;transform:translateY(-1px)}.vulnlab-nav-button:disabled{cursor:not-allowed;opacity:.66;transform:none}.vulnlab-home-link{width:38px;min-width:38px;flex:0 0 38px;padding:0}.vulnlab-home-icon{display:block;width:18px;height:18px}.vulnlab-admin-client-selector{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(196,181,253,.34);border-radius:8px;background:rgba(30,41,59,.72);color:#e9d5ff;padding:0 10px;font-size:.78rem;font-weight:800;max-width:100%}.vulnlab-admin-client-selector span:first-child{color:#c4b5fd;text-transform:uppercase;letter-spacing:.04em}.vulnlab-admin-client-selector select{max-width:min(220px,48vw);border:0;background:transparent;color:#f8fafc;font:inherit;font-size:.82rem;font-weight:800;outline:none}.vulnlab-admin-client-selector option{color:#0f172a}.vulnlab-admin-client-selector-error{color:#fecaca;font-size:.72rem;font-weight:700;text-transform:none;letter-spacing:0}.vulnlab-user-badge{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:6px 12px;border:1px solid rgba(147,197,253,.26);border-radius:8px;background:rgba(15,23,42,.55);color:#e2e8f0;text-decoration:none;max-width:320px;transition:border-color .16s ease,background .16s ease}.vulnlab-user-badge:hover{border-color:rgba(196,181,253,.58);background:rgba(15,23,42,.75)}.vulnlab-user-badge-info{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}.vulnlab-user-badge-name{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:800;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.vulnlab-user-badge-lastname{color:#cbd5f5;font-weight:700}.vulnlab-user-badge-email{font-size:.7rem;font-weight:500;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.vulnlab-user-badge-role{padding:2px 8px;border-radius:999px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(135deg,rgba(124,58,237,.32),rgba(59,130,246,.32));color:#f8fafc;border:1px solid rgba(196,181,253,.42)}.vulnlab-user-dropdown{position:relative;display:inline-flex}.vulnlab-user-badge-button{cursor:pointer;font:inherit}.vulnlab-user-badge-caret{margin-left:4px;color:#94a3b8;font-size:.7rem;transition:transform .16s ease}.vulnlab-user-badge-caret--open{transform:rotate(180deg)}.vulnlab-user-dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(320px,calc(100vw - 32px));padding:14px;border:1px solid var(--vulnlab-line-strong);border-radius:10px;background:rgba(15,23,42,.98);box-shadow:0 24px 60px rgba(2,6,23,.55),0 0 0 1px rgba(59,130,246,.18);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:12px;animation:vulnlab-user-dropdown-in .14s ease-out}@keyframes vulnlab-user-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vulnlab-user-dropdown-header{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px dashed rgba(148,163,184,.28)}.vulnlab-user-dropdown-actions{display:flex;flex-direction:column;gap:8px}.vulnlab-user-dropdown-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;border:1px solid rgba(147,197,253,.26);border-radius:8px;background:rgba(59,130,246,.1);color:#dbeafe;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .16s ease,border-color .16s ease}.vulnlab-user-dropdown-link:hover{border-color:rgba(196,181,253,.58);background:rgba(124,58,237,.18)}.vulnlab-user-dropdown-logout{min-height:38px;padding:6px 12px;border:1px solid hsla(0,91%,71%,.34);border-radius:8px;background:rgba(127,29,29,.16);color:#fecaca;font-size:.82rem;font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease}.vulnlab-user-dropdown-logout:hover{border-color:hsla(0,91%,71%,.72);background:rgba(127,29,29,.32)}.vulnlab-user-dropdown-logout:disabled{opacity:.6;cursor:wait}.vulnlab-logout-button{border-color:hsla(0,91%,71%,.34);background:rgba(127,29,29,.16);color:#fecaca}.vulnlab-menu-hero{display:grid;justify-items:center;grid-gap:14px;gap:14px;text-align:center;margin:0 auto 30px}.vulnlab-menu-logo{width:min(330px,80vw);height:auto;object-fit:contain;filter:drop-shadow(0 24px 54px rgba(30,64,175,.3)) drop-shadow(0 0 22px rgba(147,197,253,.14))}.vulnlab-menu-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid rgba(147,197,253,.28);border-radius:999px;background:rgba(59,130,246,.1);color:#bfdbfe;font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1;padding:8px 10px;text-transform:uppercase}.vulnlab-menu-hero h1{max-width:860px;margin:0;color:#fff;font-size:2.45rem;line-height:1.03;letter-spacing:0}.vulnlab-menu-hero p{max-width:760px;margin:0;color:var(--vulnlab-soft);font-size:1rem;line-height:1.65}.vulnlab-menu-subtitle{color:#bfdbfe!important}.vulnlab-menu-card{width:100%;min-height:124px;display:grid;grid-gap:9px;gap:9px;padding:18px;border:1px solid var(--vulnlab-line);border-radius:8px;background:linear-gradient(135deg,rgba(30,41,59,.94),rgba(17,24,39,.9)),rgba(15,23,42,.78);box-shadow:0 18px 48px rgba(2,6,23,.34);color:#fff;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease,background .15s ease}.vulnlab-menu-content{width:min(100%,940px);margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.vulnlab-menu-content .vulnlab-menu-card{width:100%}.vulnlab-menu-card:hover{border-color:rgba(147,197,253,.58);box-shadow:0 0 0 1px rgba(59,130,246,.34),0 20px 52px rgba(2,6,23,.44);transform:translateY(-2px)}.vulnlab-menu-card:focus-visible{outline:none;border-color:rgba(147,197,253,.84);box-shadow:0 0 0 4px rgba(59,130,246,.2),0 20px 52px rgba(2,6,23,.44)}.vulnlab-menu-card--hidden{opacity:.72;border-style:dashed;border-color:hsla(0,91%,71%,.45)}.vulnlab-menu-card--hidden:hover{border-color:hsla(0,91%,71%,.72)}.vulnlab-card-admin-footer{margin-top:6px;padding-top:10px;border-top:1px dashed rgba(148,163,184,.28);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vulnlab-card-hidden-badge,.vulnlab-card-visible-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.vulnlab-card-hidden-badge{background:hsla(0,91%,71%,.18);color:#fca5a5;border:1px solid hsla(0,91%,71%,.42)}.vulnlab-card-visible-badge{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.38)}.vulnlab-module-toggle,.vulnlab-module-toggle-switch{display:inline-flex;align-items:center;gap:8px}.vulnlab-module-toggle-switch{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vulnlab-module-toggle-switch input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.vulnlab-module-toggle-slider{position:relative;width:34px;height:18px;border-radius:999px;background:rgba(148,163,184,.32);transition:background .16s ease;flex-shrink:0}.vulnlab-module-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:999px;background:#f8fafc;transition:transform .16s ease}.vulnlab-module-toggle-switch input:checked+.vulnlab-module-toggle-slider{background:linear-gradient(135deg,rgba(124,58,237,.85),rgba(59,130,246,.85))}.vulnlab-module-toggle-switch input:checked+.vulnlab-module-toggle-slider:after{transform:translateX(16px)}.vulnlab-module-toggle-switch input:disabled+.vulnlab-module-toggle-slider{opacity:.55;cursor:wait}.vulnlab-module-toggle-label{font-size:.72rem;font-weight:700;color:#cbd5f5;letter-spacing:.03em}.vulnlab-module-toggle-error{font-size:.7rem;color:#fca5a5}.vulnlab-card-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vulnlab-card-eyebrow{color:#93c5fd;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vulnlab-card-badge{color:#dbeafe;background:rgba(59,130,246,.16);border:1px solid rgba(147,197,253,.42);border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.vulnlab-card-title{color:#fff;font-size:1.08rem;font-weight:800;line-height:1.25}.vulnlab-card-summary{color:#cbd5e1;font-size:.92rem;line-height:1.55}.vulnlab-menu-footer{margin-top:34px;color:#94a3b8;font-size:.84rem;text-align:center}.vulnlab-menu-footer hr,.vulnlab-shell-footer hr{border:0;border-top:1px solid rgba(147,197,253,.18);margin:0 0 12px}.vulnlab-lab-container{position:relative;z-index:1;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.vulnlab-lab-header{border:1px solid rgba(148,163,184,.16);border-radius:8px;background:rgba(15,23,42,.72);box-shadow:0 22px 70px rgba(2,6,23,.38);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:18px 20px 22px;display:flex;flex-direction:column;gap:18px}.vulnlab-shell-footer{color:#9ca3af;font-size:.82rem;text-align:center}.vulnlab-nav-button:focus-visible,.vulnlab-nav-link:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.22)}.short-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 3rem;gap:1.5rem;background:#000;color:#e5e7eb}.short-card{width:100%;max-width:900px;background:rgba(15,23,42,.95);border-radius:1rem;padding:1.75rem 1.5rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 18px 45px rgba(15,23,42,.85)}.short-card-header h1,.short-card-header h2{margin:0 0 .5rem}.short-card-header p{margin:0;color:#9ca3af}.short-form{margin-top:1.5rem;gap:.75rem}.short-form,.short-label{display:flex;flex-direction:column}.short-label{gap:.35rem;font-size:.95rem}.short-input{padding:.65rem .8rem;border-radius:.55rem;border:1px solid rgba(148,163,184,.7);background:rgba(15,23,42,.9);color:#e5e7eb;font-size:.95rem}.short-input:focus{outline:none;border-color:#39125a;box-shadow:0 0 0 1px #39125a}.short-button{margin-top:.5rem;align-self:flex-start;padding:.6rem 1.4rem;border-radius:999px;border:none;font-size:.95rem;font-weight:600;background-color:#39125a;color:#fff;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,opacity .15s ease;box-shadow:0 8px 18px rgba(0,0,0,.35)}.short-button:hover{transform:translateY(-1px);box-shadow:0 16px 35px rgba(139,92,246,.65)}.short-button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:0 12px 25px rgba(37,99,235,.35)}.short-note{margin-top:1rem;font-size:.85rem;color:#9ca3af}.short-note strong{color:#f97316;font-weight:400}.short-card-error{border-color:hsla(0,91%,71%,.8);background:rgba(127,29,29,.9)}.short-card-result{border-color:#39125a}.short-card-low{border-color:#4ade80}.short-card-medium{border-color:#facc15}.short-card-high{border-color:#f97373}.short-card-unknown{border-color:#e5e7eb}.short-result-section{margin-top:1.25rem}.short-result-section h3{margin:0 0 .45rem;font-size:1rem}.short-link{color:#38bdf8;text-decoration:none;word-break:break-all}.short-link:hover{text-decoration:underline}.short-link-strong{font-weight:600}.short-list{margin:.2rem 0 0;padding-left:1.2rem;font-size:.9rem;color:#e5e7eb}.short-risk{font-weight:600;font-size:.95rem}.short-risk-low{color:#4ade80}.short-risk-medium{color:#facc15}.short-risk-high{color:#f97373}.short-risk-unknown{color:#e5e7eb}.short-warning{margin:0 0 .5rem;font-size:.9rem;color:#facc15}.short-hop{margin-bottom:.45rem}.short-hop-line{display:flex;align-items:center;gap:.5rem}.short-hop-index{font-size:.8rem;padding:.1rem .45rem;border-radius:999px;background:rgba(148,163,184,.2);color:#e5e7eb}.short-hop-meta{margin-top:.15rem;display:flex;flex-wrap:wrap;gap:.35rem;font-size:.8rem}.short-badge{padding:.15rem .45rem;border-radius:999px;background:rgba(148,163,184,.2);color:#e5e7eb}.short-badge-secondary{background:rgba(59,130,246,.2)}.short-footer{width:100%;max-width:900px;margin:0 auto;text-align:center;font-size:.8rem;color:#fff}.short-divider{width:100%;max-width:900px;border:0;border-top:1px solid #2f2f38;margin:24px 0 12px}@media (min-width:640px){.short-card{padding:2rem 2.25rem}}@media (max-width:900px){.api-lab-main-grid,.api-lab-two-column,.api-workshop-feedback-grid,.api-workshop-grid,.workshop-focused-feedback-grid,.workshop-focused-primary-grid{grid-template-columns:minmax(0,1fr)!important}.vulnlab-menu-content{width:100%;grid-template-columns:minmax(0,1fr)}.vulnlab-topnav{align-items:flex-start;grid-template-columns:minmax(0,1fr)}.vulnlab-topnav-logo{gap:10px;width:100%;justify-self:stretch}.vulnlab-topnav-client-logo,.vulnlab-topnav-company-logo{width:min(132px,100%)}.vulnlab-client-logo-plate,.vulnlab-company-logo-plate{width:min(156px,calc((100vw - 52px) / 2));height:58px;padding:7px 9px}.vulnlab-topnav-account,.vulnlab-topnav-actions{justify-content:center;justify-self:stretch;width:100%}.vulnlab-nav-button,.vulnlab-nav-link{flex:1 1 auto}.vulnlab-home-link{flex:0 0 42px}.vulnlab-menu-hero h1{font-size:2rem}}@media (prefers-reduced-motion:reduce){.vulnlab-menu-card,.vulnlab-nav-button,.vulnlab-nav-link{transition:none!important}}[data-testid=guided-focused-step]:focus,[data-testid=http-inspector]:focus,[data-testid=workshop-last-feedback]:focus{outline:3px solid #60a5fa!important;outline-offset:4px!important;box-shadow:0 0 0 8px rgba(96,165,250,.16)}.api-lab-main-grid input:focus-visible,.api-lab-main-grid select:focus-visible{outline:3px solid #60a5fa!important;outline-offset:3px}