:root{color-scheme:dark;--bg:#070b10;--panel:#101820;--panel2:#0b131a;--line:#223342;--text:#e9f2f7;--muted:#9db2bf;--accent:#21d4a3;--accent2:#6fb8ff;--warn:#f6c85f;--danger:#ff6f91}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#070b10;color:var(--text)}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 12%,rgba(33,212,163,.18),transparent 26%),radial-gradient(circle at 82% 18%,rgba(111,184,255,.16),transparent 28%),linear-gradient(160deg,#070b10,#0c141b 55%,#07110f)}
.neural-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;opacity:.72;pointer-events:none}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,44px);background:rgba(7,11,16,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(33,212,163,.18);box-shadow:0 18px 60px rgba(0,0,0,.24)}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand-mark{width:48px;height:48px;position:relative;display:grid;place-items:center;border:1px solid #2b4b5d;border-radius:8px;background:#071016;overflow:hidden}.brand-mark::before,.brand-mark::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid rgba(33,212,163,.34);animation:logoOrbit 8s linear infinite}.brand-mark::after{inset:8px;border-color:rgba(111,184,255,.32);animation-duration:5.5s;animation-direction:reverse}.brand-mark img{width:42px;height:42px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 0 10px rgba(33,212,163,.3))}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:1.05rem}.brand-copy small{color:var(--muted);font-size:.74rem;text-transform:uppercase}.topnav{display:flex;gap:8px;flex-wrap:wrap}.topnav a{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:.88rem}.topnav a:hover{color:var(--text);border-color:var(--accent)}
.shell{width:min(1280px,94vw);margin:auto;padding:28px 0 48px}.hero{min-height:46vh;display:grid;grid-template-columns:1.35fr .85fr;gap:28px;align-items:center;border-bottom:1px solid rgba(33,212,163,.2);position:relative}
.eyebrow{color:var(--accent);text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.hero h1{font-size:clamp(2.4rem,6vw,5.7rem);line-height:.95;margin:0;max-width:900px}.lede{color:var(--muted);font-size:1.1rem;max-width:720px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-actions a{color:#04120f;background:var(--accent);font-weight:800;text-decoration:none;border-radius:8px;padding:11px 14px}.hero-actions a+ a{background:rgba(111,184,255,.14);border:1px solid rgba(111,184,255,.42);color:var(--text)}
.hero-orbit{display:grid;gap:16px;justify-items:center}.orbit-model{width:min(340px,64vw);aspect-ratio:1;position:relative;display:grid;place-items:center;perspective:900px}.orbit-model img{width:40%;height:40%;object-fit:contain;position:relative;z-index:3;filter:drop-shadow(0 0 26px rgba(33,212,163,.55));animation:logoPulse 3.6s ease-in-out infinite}.orbit-ring{position:absolute;border-radius:50%;border:1px solid rgba(33,212,163,.36);box-shadow:0 0 32px rgba(33,212,163,.16)}.orbit-ring-a{inset:5%;animation:logoOrbit 13s linear infinite}.orbit-ring-b{inset:18%;border-color:rgba(111,184,255,.48);transform:rotateX(68deg);animation:logoOrbit 8s linear infinite reverse}.orbit-ring-c{inset:31%;border-style:dashed;border-color:rgba(246,200,95,.42);transform:rotateY(64deg);animation:logoOrbit 5.5s linear infinite}.orbit-satellite{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent);z-index:4}.orbit-satellite-a{animation:satelliteA 7s linear infinite}.orbit-satellite-b{animation:satelliteB 9s linear infinite;background:var(--accent2);box-shadow:0 0 18px var(--accent2)}.orbit-satellite-c{animation:satelliteC 5.5s linear infinite;background:var(--warn);box-shadow:0 0 18px var(--warn)}.orbit-model::before{content:"";position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle,rgba(33,212,163,.28),rgba(7,16,22,.1) 58%,transparent 70%);filter:blur(1px)}.orbit-model::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 120deg,transparent,rgba(33,212,163,.14),transparent,rgba(111,184,255,.13),transparent);animation:logoOrbit 17s linear infinite}.status,.panel,.metrics article{background:linear-gradient(180deg,rgba(16,24,32,.88),rgba(7,16,22,.76));border:1px solid rgba(107,184,255,.18);border-radius:10px;padding:18px;box-shadow:0 18px 58px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04)}.status{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.status span,.metrics span{color:var(--muted)}.status strong{font-size:1.15rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.metrics article{display:grid;gap:8px;position:relative;overflow:hidden}.metrics article::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(33,212,163,.08),transparent);transform:translateX(-100%);animation:sweep 5s ease-in-out infinite}.metrics strong{font-size:1rem}.metrics i{height:5px;border-radius:999px;background:#142530;overflow:hidden;display:block}.metrics i::before{content:"";display:block;width:var(--level);height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 16px rgba(33,212,163,.36)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.workbench{display:grid;grid-template-columns:230px minmax(0,1fr) 330px;gap:16px;margin:22px 0;align-items:start}.rail,.inspector{display:grid;gap:14px;align-content:start}.rail{position:sticky;top:86px}.inspector{position:sticky;top:86px}.panel h2{margin:0 0 14px;font-size:1.1rem}textarea{width:100%;min-height:210px;resize:vertical;background:#071016;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:14px;font:inherit;line-height:1.45}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.check,.switch{display:flex;gap:10px;align-items:center;color:var(--muted)}.switch input{position:absolute;opacity:0}.switch span{width:42px;height:24px;border-radius:999px;background:#283845;position:relative;transition:.2s}.switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:999px;background:#c6d6df;transition:.2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span::before{transform:translateX(18px);background:#02100c}
button{width:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#02100c;border:0;border-radius:8px;padding:13px 16px;font-weight:800;cursor:pointer}button:hover{filter:brightness(1.08)}pre{white-space:pre-wrap;word-break:break-word;color:#cfe4ee;margin:0;max-height:260px;overflow:auto}
.rail-action{margin-bottom:10px}.conversation-list,.mini-list{display:grid;gap:8px;color:var(--muted);font-size:.9rem}.conversation-item{background:#071016;color:var(--text);border:1px solid rgba(107,184,255,.18);text-align:left;padding:10px;border-radius:8px}.conversation-item span{display:block;color:var(--accent);font-size:.76rem;margin-top:4px}.mini-list a,.mini-list span{display:block;color:#cfe4ee;text-decoration:none;background:#071016;border:1px solid rgba(107,184,255,.16);border-radius:7px;padding:8px;overflow:hidden;text-overflow:ellipsis}.chat-panel{display:flex;flex-direction:column;min-height:720px}.chat-head{display:flex;justify-content:space-between;gap:12px;align-items:start;border-bottom:1px solid rgba(107,184,255,.14);padding-bottom:12px;margin-bottom:12px}.chat-head h2{margin-bottom:4px}.chat-head span{color:var(--muted);font-size:.9rem}select{background:#071016;color:var(--text);border:1px solid rgba(107,184,255,.22);border-radius:8px;padding:10px}.chat-log{display:flex;flex-direction:column;gap:12px;min-height:420px;max-height:58vh;overflow:auto;padding:4px 2px 14px}.message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.message.user{grid-template-columns:minmax(0,1fr) 34px}.message.user .avatar{grid-column:2}.message.user .bubble{grid-column:1;grid-row:1;background:linear-gradient(145deg,#123126,#102036);border-color:#225f4c}.avatar{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#071016;border:1px solid var(--line);color:var(--accent);font-size:.74rem;font-weight:800}.bubble{background:linear-gradient(145deg,#0b131a,#0b2022);border:1px solid rgba(107,184,255,.18);border-radius:10px;padding:12px 13px;line-height:1.48;color:#dcebf2}.bubble.meta{color:var(--muted);font-size:.92rem}.typing{display:inline-flex;gap:4px}.typing span{width:6px;height:6px;border-radius:999px;background:var(--accent);animation:typing 1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.16s}.typing span:nth-child(3){animation-delay:.32s}.composer{border-top:1px solid rgba(107,184,255,.16);padding-top:12px;margin-top:auto}.composer textarea{min-height:92px;max-height:220px}.composer-tools{display:grid;grid-template-columns:auto 1fr 1fr 94px;gap:10px;align-items:center;margin-top:10px}.file-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid rgba(107,184,255,.24);border-radius:8px;padding:11px 12px;color:var(--text);background:#071016;cursor:pointer}.file-button input{display:none}.run-details{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;color:var(--muted)}.run-details summary{cursor:pointer;color:var(--accent);font-weight:700;margin-bottom:10px}.evidence-grid{display:grid;gap:10px;margin-bottom:12px}.evidence-card,.approval-card{background:#071016;border:1px solid rgba(107,184,255,.18);border-radius:8px;padding:10px}.evidence-card strong,.approval-card strong{color:var(--text);display:block;margin-bottom:6px}.approval-card span{display:block;color:var(--muted);margin-top:5px}.evidence-card ul{padding-left:18px;margin:6px 0 0}.evidence-card li{margin:4px 0}
.stages{display:grid;gap:10px;margin:0;padding:0;list-style:none}.stage{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;color:var(--muted);padding:10px;border:1px solid rgba(107,184,255,.18);border-radius:8px;background:linear-gradient(90deg,rgba(7,16,22,.92),rgba(16,35,41,.58));position:relative;overflow:hidden}.stage::before{content:"";width:12px;height:12px;border-radius:999px;margin-top:3px;background:#405362}.stage.active{color:var(--text);border-color:var(--accent)}.stage.active::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(33,212,163,.12),transparent);animation:sweep 1.8s linear infinite}.stage.active::before{background:var(--accent);box-shadow:0 0 16px rgba(33,212,163,.55)}.stage.done::before{background:var(--warn)}
@media (max-width:1180px){.workbench{grid-template-columns:1fr 330px}.rail{grid-column:1/-1;position:static;grid-template-columns:220px 1fr 1fr}.metrics{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.workbench{grid-template-columns:1fr}.rail,.inspector{position:static}.chat-panel{order:1}.rail{order:2;grid-template-columns:1fr}.inspector{order:3}.composer-tools{grid-template-columns:1fr 1fr}.hero,.grid{grid-template-columns:1fr}.hero{min-height:auto;padding:30px 0}.hero-orbit{justify-items:stretch}.orbit-model{width:min(230px,70vw);justify-self:center}}
@media (max-width:560px){.shell{width:92vw}.topbar{position:static;display:grid}.topnav{justify-content:start}.metrics,.controls,.composer-tools{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.brand-mark{width:42px;height:42px}.brand-mark img{width:36px;height:36px}.chat-panel{min-height:620px}}
@keyframes logoOrbit{to{transform:rotate(360deg)}}
@keyframes logoPulse{50%{transform:scale(1.045);filter:drop-shadow(0 0 34px rgba(33,212,163,.72))}}
@keyframes satelliteA{from{transform:rotate(0deg) translateX(142px) rotate(0deg)}to{transform:rotate(360deg) translateX(142px) rotate(-360deg)}}
@keyframes satelliteB{from{transform:rotate(90deg) translateX(112px) rotate(-90deg)}to{transform:rotate(450deg) translateX(112px) rotate(-450deg)}}
@keyframes satelliteC{from{transform:rotate(220deg) translateX(82px) rotate(-220deg)}to{transform:rotate(580deg) translateX(82px) rotate(-580deg)}}
@keyframes sweep{to{transform:translateX(100%)}}
@keyframes typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.brand-mark::before,.brand-mark::after,.orbit-ring,.orbit-model img,.orbit-model::after,.orbit-satellite,.stage.active::after,.metrics article::before{animation:none}}

/* Hacker console refinement */
:root{--terminal:#18f29b;--deep:#05080b;--console:#071016}
body::before{background:linear-gradient(160deg,#05080b,#09131a 48%,#07110f),linear-gradient(90deg,rgba(24,242,155,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(70,167,255,.06) 1px,transparent 1px);background-size:auto,38px 38px,38px 38px}
.panel,.status,.metrics article{border-color:rgba(24,242,155,.22);border-radius:8px;background:linear-gradient(180deg,rgba(10,17,23,.95),rgba(3,10,13,.88));box-shadow:0 18px 58px rgba(0,0,0,.3),inset 0 0 0 1px rgba(70,167,255,.05),inset 0 1px rgba(255,255,255,.04)}
.panel h2{color:#eafff7;text-transform:uppercase;font-size:.88rem;letter-spacing:.08em}
.chat-head{border-bottom-color:rgba(24,242,155,.18)}select,textarea,.file-button,.conversation-item,.mini-list a,.mini-list span{background:#050b10;border-color:rgba(24,242,155,.22);border-radius:7px}
.avatar{background:#050b10;border-color:rgba(24,242,155,.25);border-radius:7px;color:var(--terminal);text-shadow:0 0 10px rgba(24,242,155,.45)}
.bubble{border-color:rgba(24,242,155,.18);border-radius:8px;background:linear-gradient(145deg,#071016,#071c1c)}
.message.user .bubble{background:linear-gradient(145deg,#0e2f24,#0b1d2d);border-color:#1f7355}
button{border-radius:7px;background:linear-gradient(90deg,#18f29b,#46a7ff)}
.secondary-action{margin-top:10px;background:#050b10;color:var(--text);border:1px solid rgba(24,242,155,.28)}
.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.signal-grid span{display:grid;gap:4px;color:var(--muted);font-size:.76rem;text-transform:uppercase}
.signal-grid strong{color:var(--terminal);font-size:1rem;text-transform:none;text-shadow:0 0 12px rgba(24,242,155,.28)}
.pulse-line{height:42px;margin-top:12px;border:1px solid rgba(24,242,155,.18);border-radius:6px;background:linear-gradient(90deg,transparent 0 8%,rgba(24,242,155,.32) 8% 10%,transparent 10% 18%,rgba(70,167,255,.28) 18% 22%,transparent 22% 100%);background-size:180px 100%;animation:scanline 1.8s linear infinite}
.source-list{display:grid;gap:8px;color:var(--muted);font-size:.9rem}
.source-item{display:grid;gap:5px;color:var(--text);text-decoration:none;background:#050b10;border:1px solid rgba(24,242,155,.18);border-left:3px solid var(--accent);border-radius:7px;padding:9px;overflow:hidden}
.source-item strong{font-size:.86rem;color:var(--terminal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-item small{color:var(--muted);line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scan-status{display:block;color:var(--terminal);font-family:Consolas,monospace}
.scan-status::after{content:"_";animation:blink 1s steps(2,end) infinite}
.stages{gap:8px}.stage{border-color:rgba(24,242,155,.16);border-radius:7px;background:linear-gradient(90deg,rgba(5,11,16,.94),rgba(7,27,29,.62));padding:9px}.stage::before{border-radius:2px;transform:rotate(45deg);background:#314b54}.stage.active{border-color:var(--terminal);box-shadow:0 0 18px rgba(24,242,155,.1)}.stage.active::after{background:linear-gradient(90deg,transparent,rgba(24,242,155,.14),transparent);animation:sweep 1.5s linear infinite}.stage.active::before{background:var(--terminal);box-shadow:0 0 16px rgba(24,242,155,.65)}
.evidence-card,.approval-card{background:#050b10;border-color:rgba(24,242,155,.18);border-radius:7px}.evidence-card strong,.approval-card strong{color:var(--terminal)}
.run-details{display:none}
@keyframes scanline{to{background-position:180px 0}}
@keyframes blink{50%{opacity:0}}

/* Focused console layout */
#console{scroll-margin-top:86px}
.workbench{grid-template-columns:210px minmax(0,1fr) 310px;min-height:calc(100vh - 104px);height:calc(100vh - 104px);overflow:hidden}
.rail,.inspector{position:static;max-height:100%;overflow:hidden}
.rail{display:flex;flex-direction:column}
.chat-panel{min-height:0;height:100%;overflow:hidden}
.chat-log{min-height:0;max-height:none;flex:1}
.conversation-list{max-height:34vh;overflow:auto;padding-right:3px}
#uploadList{max-height:22vh;overflow:auto;padding-right:3px}
.inspector{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:3px}
.stage-panel{flex:1;min-height:260px;overflow:auto}
.console-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:sticky;top:0;z-index:2;background:linear-gradient(180deg,rgba(5,8,11,.96),rgba(5,8,11,.72));padding-bottom:4px}
.tab-button{padding:9px 8px;border:1px solid rgba(24,242,155,.2);background:#050b10;color:var(--muted);font-size:.78rem}
.tab-button.active{color:#03100b;background:var(--terminal);box-shadow:0 0 18px rgba(24,242,155,.22)}
.tab-panel[hidden]{display:none}
.policy-line{display:block;background:#050b10;border:1px solid rgba(24,242,155,.16);border-radius:7px;padding:8px;color:var(--muted)}
.source-list,.evidence-grid,.mini-list{max-height:32vh;overflow:auto;padding-right:3px}
.conversation-list::-webkit-scrollbar,#uploadList::-webkit-scrollbar,.inspector::-webkit-scrollbar,.chat-log::-webkit-scrollbar,.source-list::-webkit-scrollbar,.mini-list::-webkit-scrollbar{width:7px}
.conversation-list::-webkit-scrollbar-thumb,#uploadList::-webkit-scrollbar-thumb,.inspector::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,.source-list::-webkit-scrollbar-thumb,.mini-list::-webkit-scrollbar-thumb{background:rgba(24,242,155,.35);border-radius:999px}
@media (max-width:1180px){.workbench{grid-template-columns:190px minmax(0,1fr) 290px}.rail{grid-column:auto;display:flex}.inspector{position:static}.chat-panel{order:initial}.rail{order:initial}.inspector{order:initial}}
@media (max-width:980px){.workbench{height:auto;min-height:0;overflow:visible;grid-template-columns:1fr}.rail,.inspector,.chat-panel{max-height:none;height:auto}.conversation-list,#uploadList,.source-list,.mini-list{max-height:260px}.chat-panel{min-height:620px}}

/* Security testing lab */
.page-section{display:none}.page-section.active-page{display:block}.workbench.page-section.active-page{display:grid}.topnav a.active{color:#03100b;background:var(--terminal);border-color:var(--terminal)}
.security-module{margin:22px 0;position:relative;overflow:hidden}
.security-module::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(24,242,155,.08),transparent);animation:sweep 7s linear infinite;pointer-events:none}
.module-head{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:18px;align-items:center}
.module-head h2{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1;margin:0 0 10px;text-transform:none;letter-spacing:0}
.module-head p{color:var(--muted);max-width:780px}
.orbit-mini{width:112px;aspect-ratio:1;display:grid;place-items:center;position:relative;justify-self:end}
.orbit-mini span{position:absolute;inset:6px;border:1px solid rgba(24,242,155,.42);border-radius:50%;animation:logoOrbit 8s linear infinite}
.orbit-mini span+span{inset:18px;border-color:rgba(70,167,255,.38);animation-direction:reverse;animation-duration:5s}
.orbit-mini img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(24,242,155,.55));animation:logoPulse 3.4s ease-in-out infinite}
.security-form{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin:16px 0}
.security-form input{width:100%;background:#050b10;color:var(--text);border:1px solid rgba(24,242,155,.26);border-radius:7px;padding:13px 14px;font:inherit}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.service-tile{display:grid;grid-template-columns:18px 1fr;gap:4px 10px;align-items:start;background:#050b10;border:1px solid rgba(24,242,155,.18);border-radius:7px;padding:11px}
.service-tile strong{color:var(--terminal)}.service-tile span{grid-column:2;color:var(--muted);font-size:.82rem}
.security-flow,.security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.security-flow article,.security-summary article{background:#050b10;border:1px solid rgba(70,167,255,.18);border-radius:7px;padding:12px}
.security-flow strong,.security-summary strong{color:var(--terminal);display:block;font-size:1.35rem}.security-flow span,.security-summary span{color:var(--muted)}
.security-status{border:1px solid rgba(24,242,155,.18);background:#050b10;border-radius:7px;padding:10px;color:var(--terminal);font-family:Consolas,monospace}
.download-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.download-row a{color:#04120f;background:var(--terminal);text-decoration:none;border-radius:7px;padding:9px 12px;font-weight:900}
.finding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:52vh;overflow:auto;scrollbar-width:none}.finding-grid::-webkit-scrollbar{display:none}
.finding-card{background:#050b10;border:1px solid rgba(24,242,155,.18);border-left:4px solid var(--terminal);border-radius:7px;padding:12px}
.finding-card.gap{border-left-color:var(--danger)}.finding-card strong{color:#eafff7}.finding-card span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.finding-card p{color:#cfe4ee;margin:10px 0;line-height:1.35}.finding-card small{color:var(--terminal)}
.app-footer{width:min(1280px,94vw);margin:0 auto 18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;color:var(--muted);font-size:.82rem;border-top:1px solid rgba(24,242,155,.16);padding-top:12px}
.app-footer span{background:#050b10;border:1px solid rgba(24,242,155,.14);border-radius:999px;padding:7px 10px}
body{scrollbar-width:none;overflow-x:hidden}body::-webkit-scrollbar{display:none}
@media(max-width:900px){.module-head,.security-form,.service-grid,.security-flow,.security-summary,.finding-grid{grid-template-columns:1fr}.orbit-mini{justify-self:start}}

/* Viewport fit fixes */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.topbar,.shell,.app-footer{max-width:100vw}
.shell{width:min(1320px,calc(100vw - 48px));padding:16px 0 28px;overflow-x:hidden}
.page-section,.panel,.hero,.workbench,.chat-panel,.rail,.inspector{min-width:0}
#dashboard.active-page{display:block}
.hero{min-height:calc(100dvh - 230px);grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);gap:20px}
.hero h1{font-size:clamp(2.35rem,4.8vw,4.9rem);max-width:780px}
.hero-orbit{min-width:0}.orbit-model{width:min(270px,30vw)}
.workbench{margin:0;grid-template-columns:minmax(180px,210px) minmax(420px,1fr) minmax(270px,310px);height:calc(100dvh - 132px);min-height:560px;max-width:100%;overflow:hidden}
.chat-panel,.rail,.inspector{height:100%;max-height:100%;overflow:hidden}
.chat-log{overflow:auto}
.composer textarea{min-height:78px}
.composer-tools{grid-template-columns:minmax(72px,96px) minmax(130px,1fr) minmax(120px,1fr) minmax(78px,94px)}
.security-module,.evaluation-module,.upgrade-module{margin:0;max-width:100%;min-height:calc(100dvh - 132px)}
.service-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}
@media (max-width:1180px){.shell{width:min(1000px,calc(100vw - 32px))}.workbench{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.rail,.inspector,.chat-panel{height:auto;max-height:none}.chat-panel{min-height:640px}.hero{grid-template-columns:1fr}.orbit-model{width:min(240px,56vw)}}
@media (max-width:640px){.shell{width:calc(100vw - 22px);padding-top:12px}.topbar{padding:10px 11px}.topnav a{padding:7px 8px;font-size:.8rem}.hero h1{font-size:2.35rem}.metrics,.service-grid{grid-template-columns:1fr}.composer-tools{grid-template-columns:1fr}.security-form{grid-template-columns:1fr}}

/* VKARE site-style cyber logo */
.cyber-logo{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(255,0,32,.24),rgba(0,0,0,.9) 56%,#020406 100%);border:1px solid rgba(255,42,48,.46);box-shadow:0 0 0 1px rgba(24,242,155,.12),0 0 26px rgba(255,0,32,.24),inset 0 0 30px rgba(255,0,32,.16)}
.brand-mark.cyber-logo{border-radius:9px}
.cyber-logo img{position:relative;z-index:4;width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,0,30,.82)) drop-shadow(0 0 18px rgba(24,242,155,.18))}
.cyber-ring{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.cyber-ring--outer{inset:7%;border:1px solid rgba(255,32,42,.58);border-right-color:transparent;border-bottom-color:rgba(24,242,155,.28);animation:logoOrbit 11s linear infinite}
.cyber-ring--inner{inset:21%;border:1px solid rgba(255,255,255,.22);border-left-color:rgba(255,0,30,.72);border-top-color:transparent;animation:logoOrbit 6s linear infinite reverse}
.cyber-dashes{position:absolute;inset:12%;z-index:2;border-radius:50%;background:repeating-conic-gradient(from 10deg,rgba(255,0,30,.9) 0 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle,transparent 51%,#000 52% 58%,transparent 59%);mask:radial-gradient(circle,transparent 51%,#000 52% 58%,transparent 59%);animation:logoOrbit 14s linear infinite reverse}
.cyber-scan{position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,transparent 0 42%,rgba(24,242,155,.34) 48%,rgba(255,0,30,.26) 51%,transparent 58%);mix-blend-mode:screen;animation:cyberScan 2.8s ease-in-out infinite;opacity:.72}
.cyber-glitch{position:absolute;z-index:3;background:linear-gradient(90deg,transparent,rgba(255,0,30,.75),transparent);height:2px;width:42%;left:11%;filter:drop-shadow(0 0 7px rgba(255,0,30,.9));animation:cyberGlitch 3.2s steps(2,end) infinite}
.cyber-glitch--one{top:30%}.cyber-glitch--two{top:67%;left:46%;width:34%;animation-delay:1.1s}
.cyber-logo--hero{background:radial-gradient(circle at 50% 48%,rgba(255,0,28,.3),rgba(4,8,10,.82) 47%,transparent 70%);border:0;box-shadow:none;overflow:visible}
.cyber-logo--hero img{width:42%;height:42%;padding:3%;background:#020406;border:1px solid rgba(255,42,48,.38);box-shadow:0 0 34px rgba(255,0,30,.42),0 0 70px rgba(24,242,155,.18)}
.orbit-mini.cyber-logo{border-radius:10px;background:radial-gradient(circle at 50% 46%,rgba(255,0,32,.22),rgba(0,0,0,.86) 58%,#020406 100%)}
.orbit-mini.cyber-logo img{width:68px;height:68px}
.orbit-mini .cyber-ring--outer{inset:6px}.orbit-mini .cyber-ring--inner{inset:18px}
@keyframes cyberScan{0%,100%{transform:translateY(-58%);opacity:.2}50%{transform:translateY(58%);opacity:.82}}
@keyframes cyberGlitch{0%,88%,100%{opacity:0;transform:translateX(0)}90%{opacity:1;transform:translateX(-7px)}92%{opacity:.45;transform:translateX(9px)}94%{opacity:1;transform:translateX(2px)}}

/* Full-width module layout */
.shell{width:calc(100vw - 40px);max-width:none}
.app-footer{width:calc(100vw - 40px);max-width:none}
.workbench{grid-template-columns:minmax(190px,210px) minmax(0,1fr) minmax(280px,310px);gap:14px}
@media (min-width:1181px){.shell{width:calc(100vw - 40px)}.workbench{height:calc(100dvh - 132px)}}
@media (max-width:1180px) and (min-width:981px){.shell{width:calc(100vw - 28px)}.workbench{grid-template-columns:minmax(170px,200px) minmax(0,1fr) minmax(260px,300px);height:calc(100dvh - 132px);min-height:560px;overflow:hidden}.rail,.inspector,.chat-panel{height:100%;max-height:100%;overflow:hidden}}
@media (max-width:640px){.shell,.app-footer{width:calc(100vw - 18px)}}

/* Calm circular VKARE logo */
.brand-mark.cyber-logo,.orbit-mini.cyber-logo,.cyber-logo--hero img{border-radius:50%}
.brand-mark.cyber-logo{width:52px;height:52px;background:radial-gradient(circle,#130508 0 46%,#030507 70%);border:1px solid rgba(255,47,57,.58);box-shadow:0 0 18px rgba(255,0,30,.24),inset 0 0 18px rgba(255,0,30,.18)}
.brand-mark.cyber-logo::before,.brand-mark.cyber-logo::after{display:none}
.cyber-logo{border-radius:50%;background:radial-gradient(circle,#160609 0 45%,#030507 70%,#010203 100%);border-color:rgba(255,47,57,.48);box-shadow:0 0 20px rgba(255,0,30,.22),0 0 34px rgba(24,242,155,.08),inset 0 0 24px rgba(255,0,30,.16)}
.cyber-logo img{width:72%;height:72%;border-radius:50%;filter:drop-shadow(0 0 12px rgba(255,0,30,.62))}
.cyber-logo--hero{border-radius:50%;background:radial-gradient(circle,rgba(255,0,30,.22),rgba(3,5,7,.28) 45%,transparent 72%)}
.cyber-logo--hero img{width:44%;height:44%;background:#030507;border:1px solid rgba(255,47,57,.48);box-shadow:0 0 34px rgba(255,0,30,.34),0 0 58px rgba(24,242,155,.12);animation:softLogoFloat 5s ease-in-out infinite}
.orbit-mini.cyber-logo{border:1px solid rgba(255,47,57,.48);box-shadow:0 0 24px rgba(255,0,30,.22),inset 0 0 20px rgba(255,0,30,.14)}
.orbit-mini.cyber-logo img{width:72px;height:72px;border-radius:50%}
.cyber-ring--outer{border-color:rgba(255,47,57,.5);border-right-color:rgba(24,242,155,.34);animation:logoOrbit 18s linear infinite}
.cyber-ring--inner{border-color:rgba(255,255,255,.14);border-left-color:rgba(255,47,57,.46);animation:logoOrbit 24s linear infinite reverse}
.cyber-dashes{opacity:.28;animation:logoOrbit 28s linear infinite}
.cyber-scan,.cyber-glitch,.orbit-satellite{display:none}
.orbit-ring-a{animation-duration:28s}.orbit-ring-b{animation-duration:34s}.orbit-ring-c{animation-duration:42s}
@keyframes softLogoFloat{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}

/* Strong circular logo animation */
.brand-mark.cyber-logo,.orbit-mini.cyber-logo{border-width:2px;box-shadow:0 0 22px rgba(255,0,30,.38),0 0 36px rgba(24,242,155,.12),inset 0 0 24px rgba(255,0,30,.22)}
.cyber-ring--outer{border-width:3px;border-color:rgba(255,34,45,.86);border-right-color:rgba(24,242,155,.74);border-bottom-color:rgba(70,167,255,.5);box-shadow:0 0 18px rgba(255,0,30,.38);animation:logoOrbit 9s linear infinite}
.cyber-ring--inner{border-width:2px;border-color:rgba(255,255,255,.26);border-left-color:rgba(255,34,45,.85);border-top-color:rgba(24,242,155,.55);box-shadow:0 0 14px rgba(24,242,155,.2);animation:logoOrbit 12s linear infinite reverse}
.cyber-dashes{opacity:.62;-webkit-mask:radial-gradient(circle,transparent 48%,#000 49% 62%,transparent 63%);mask:radial-gradient(circle,transparent 48%,#000 49% 62%,transparent 63%);animation:logoOrbit 15s linear infinite reverse}
.cyber-logo::after{content:"";position:absolute;inset:-8%;z-index:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,0,30,.72),transparent 22%,rgba(24,242,155,.48),transparent 48%,rgba(70,167,255,.42),transparent 72%,rgba(255,0,30,.72));filter:blur(10px);opacity:.56;animation:logoOrbit 7s linear infinite}
.cyber-logo--hero img{box-shadow:0 0 42px rgba(255,0,30,.5),0 0 78px rgba(24,242,155,.22);animation:strongLogoPulse 3.8s ease-in-out infinite}
.orbit-model::after{opacity:.95;background:conic-gradient(from 120deg,rgba(255,0,30,.22),transparent,rgba(24,242,155,.24),transparent,rgba(70,167,255,.18),transparent);animation:logoOrbit 10s linear infinite}
@keyframes strongLogoPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 12px rgba(255,0,30,.65))}50%{transform:scale(1.055);filter:drop-shadow(0 0 22px rgba(255,0,30,.92)) drop-shadow(0 0 16px rgba(24,242,155,.38))}}

/* Fixed header */
:root{--header-height:clamp(96px,7vw,124px)}
body{padding-top:var(--header-height)}
.topbar{position:fixed;top:0;left:0;right:0;width:100%;min-height:var(--header-height);z-index:1000}
.shell{padding-top:16px}
#dashboard,#console,#security,#evaluation{scroll-margin-top:calc(var(--header-height) + 12px)}
.workbench{height:calc(100dvh - var(--header-height) - 54px)}
.security-module,.evaluation-module,.upgrade-module{min-height:calc(100dvh - var(--header-height) - 54px)}
@media (max-width:640px){:root{--header-height:112px}.topbar{position:fixed;display:grid}.shell{padding-top:12px}}

/* Login and RBAC */
.login-screen{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 25%,rgba(255,0,30,.18),transparent 32%),linear-gradient(160deg,#030507,#071016 58%,#020405)}
.login-screen[hidden]{display:none}
.login-card{width:min(430px,94vw);display:grid;gap:12px;background:linear-gradient(180deg,rgba(10,17,23,.98),rgba(3,10,13,.94));border:1px solid rgba(24,242,155,.24);border-radius:10px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 60px rgba(255,0,30,.13)}
.login-card .brand-mark{justify-self:center;width:82px;height:82px}
.login-card h1{margin:0;font-size:2.4rem;line-height:1}
.login-card label{display:grid;gap:6px;color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}
.login-card input,.user-form input,.user-form select{width:100%;background:#050b10;color:var(--text);border:1px solid rgba(24,242,155,.24);border-radius:7px;padding:12px;font:inherit}
.login-error{min-height:20px;margin:0;color:var(--danger)}
.credential-hint{display:grid;gap:5px;color:var(--muted);font-size:.78rem;border-top:1px solid rgba(24,242,155,.16);padding-top:10px}
.login-logo{width:86px;height:86px;border-radius:50%;padding:0;justify-self:center;animation:loginLogoScroll 4.8s ease-in-out infinite;cursor:pointer}
.login-logo:hover{filter:brightness(1.18)}
.welcome-message{margin:0;text-align:center;color:var(--terminal);font-weight:900;text-shadow:0 0 18px rgba(24,242,155,.42);animation:welcomePop .45s ease-out}
.login-logo.boom{animation:logoBoom .72s ease-out,loginLogoScroll 4.8s ease-in-out infinite .72s}
.login-logo.boom::after{content:"";position:absolute;inset:-22px;border-radius:50%;border:4px solid rgba(255,34,45,.82);box-shadow:0 0 28px rgba(255,0,30,.6),0 0 54px rgba(24,242,155,.28);animation:boomRing .72s ease-out forwards}
.welcome-message.boom{font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;animation:welcomeBoom .72s cubic-bezier(.17,.84,.44,1)}
.welcome-popup{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,0,30,.16),rgba(0,0,0,.68));backdrop-filter:blur(8px);animation:popupFade .24s ease-out}
.welcome-popup[hidden]{display:none}
.welcome-popup-card{width:min(390px,88vw);min-height:230px;display:grid;place-items:center;gap:10px;text-align:center;position:relative;overflow:hidden;padding:30px 24px;border-radius:16px;border:1px solid rgba(24,242,155,.32);background:linear-gradient(180deg,rgba(8,15,20,.98),rgba(3,7,9,.96));box-shadow:0 28px 100px rgba(0,0,0,.62),0 0 80px rgba(255,0,30,.22);animation:popupBoom .58s cubic-bezier(.17,.84,.44,1)}
.welcome-popup-card strong{font-size:clamp(1.9rem,7vw,3.2rem);line-height:1;color:#eafff7;text-shadow:0 0 18px rgba(255,0,30,.62),0 0 28px rgba(24,242,155,.28);position:relative;z-index:2}
.welcome-popup-card small{color:var(--terminal);text-transform:uppercase;letter-spacing:.12em;position:relative;z-index:2}
.welcome-popup-card button{width:auto;min-width:120px;position:relative;z-index:2}
.welcome-burst{position:absolute;inset:50%;width:60px;height:60px;border-radius:50%;border:5px solid rgba(255,34,45,.85);box-shadow:0 0 32px rgba(255,0,30,.8),0 0 80px rgba(24,242,155,.35);animation:popupBurst .85s ease-out forwards}
.welcome-popup-card::before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 0deg,transparent,rgba(255,0,30,.45),transparent,rgba(24,242,155,.32),transparent,rgba(70,167,255,.24),transparent);animation:logoOrbit 4.8s linear infinite;opacity:.72}
.welcome-popup-card::after{content:"";position:absolute;inset:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 30px rgba(24,242,155,.08)}
.login-screen{overflow:hidden}
.session-box{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem}
.session-box button{width:auto;padding:8px 10px;background:#050b10;color:var(--text);border:1px solid rgba(24,242,155,.24)}
.topnav a[hidden]{display:none}
.users-module{margin:0;min-height:calc(100dvh - var(--header-height) - 54px)}
.user-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.user-card{background:#050b10;border:1px solid rgba(24,242,155,.18);border-left:4px solid var(--terminal);border-radius:7px;padding:12px}
.user-card strong{display:block;color:var(--terminal)}.user-card span{display:block;color:var(--muted);margin-top:4px}
@media(max-width:920px){.user-form,.user-grid{grid-template-columns:1fr}.session-box{justify-content:flex-start}.topbar{gap:10px}}
@keyframes loginLogoScroll{0%,100%{transform:translateY(0) rotate(0deg)}45%{transform:translateY(-10px) rotate(180deg)}55%{transform:translateY(-10px) rotate(180deg)}}
@keyframes welcomePop{0%{opacity:0;transform:translateY(8px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes logoBoom{0%{transform:scale(1)}28%{transform:scale(1.22)}58%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes boomRing{0%{opacity:.95;transform:scale(.55)}100%{opacity:0;transform:scale(2.3)}}
@keyframes welcomeBoom{0%{opacity:0;transform:scale(.5);filter:blur(6px)}35%{opacity:1;transform:scale(1.28);filter:blur(0)}68%{transform:scale(.96)}100%{opacity:1;transform:scale(1)}}
@keyframes popupFade{from{opacity:0}to{opacity:1}}
@keyframes popupBoom{0%{opacity:0;transform:scale(.55) rotate(-5deg);filter:blur(8px)}48%{opacity:1;transform:scale(1.08) rotate(1deg);filter:blur(0)}100%{transform:scale(1) rotate(0)}}
@keyframes popupBurst{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(7)}}

/* Keep VKARE logo still; rotate only external circles */
.cyber-logo img,.cyber-logo--hero img,.orbit-mini.cyber-logo img,.brand-mark.cyber-logo img{animation:none;transform:none}
.login-logo{animation:loginLogoFloat 4.8s ease-in-out infinite}
.login-logo.boom{animation:logoBoom .72s ease-out,loginLogoFloat 4.8s ease-in-out infinite .72s}
.login-logo .cyber-ring,.login-logo .cyber-dashes{animation-play-state:running}
@keyframes loginLogoFloat{0%,100%{transform:translateY(0)}45%,55%{transform:translateY(-10px)}}

/* Responsive VKARE logo scale */
.brand-mark.cyber-logo{width:clamp(68px,4.7vw,92px);height:clamp(68px,4.7vw,92px)}
.login-card .brand-mark,.login-logo{width:clamp(126px,12vw,178px);height:clamp(126px,12vw,178px)}
.cyber-logo--hero img{width:clamp(150px,16vw,230px);height:clamp(150px,16vw,230px)}
.orbit-model{width:min(380px,34vw)}
.orbit-mini{width:clamp(142px,9vw,176px)}
.orbit-mini.cyber-logo img{width:clamp(94px,6vw,120px);height:clamp(94px,6vw,120px)}
@media (max-width:980px){.brand-mark.cyber-logo{width:64px;height:64px}.orbit-model{width:min(300px,58vw)}.cyber-logo--hero img{width:clamp(138px,38vw,190px);height:clamp(138px,38vw,190px)}}
@media (max-width:560px){.brand-mark.cyber-logo{width:56px;height:56px}.login-card .brand-mark,.login-logo{width:116px;height:116px}.orbit-mini{width:132px}.orbit-mini.cyber-logo img{width:88px;height:88px}}

/* Viewport edge correction */
html,body{overflow-x:clip}
.shell,.app-footer{width:auto;max-width:none;margin-left:20px;margin-right:20px}
.hero{overflow:hidden;padding-left:0;padding-right:0}
.hero h1,.lede{max-width:min(780px,100%)}
.page-section{max-width:100%}
@media (max-width:1180px){.shell,.app-footer{margin-left:14px;margin-right:14px;width:auto}}
@media (max-width:640px){.shell,.app-footer{margin-left:9px;margin-right:9px;width:auto}}

/* Final responsive app fit */
:root{--mobile-header-height:132px}
.topbar{box-sizing:border-box}
img,svg,canvas,video{max-width:100%}
input,select,textarea,button{max-width:100%;min-width:0}
.bubble,.conversation-item,.source-item,.mini-list a,.mini-list span,.finding-card,.policy-line{overflow-wrap:anywhere}
@media (max-width:980px){
  :root{--header-height:var(--mobile-header-height)}
  body{padding-top:var(--header-height)}
  .topbar{
    min-height:var(--header-height);
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand session" "nav nav";
    align-items:center;
    gap:8px 10px;
    padding:8px 10px;
  }
  .brand{grid-area:brand;min-width:0;gap:9px}
  .brand-copy strong{font-size:.95rem}
  .brand-copy small{font-size:.66rem}
  .session-box{grid-area:session;justify-content:end;min-width:0;font-size:.72rem}
  .session-box span{max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .session-box button{padding:7px 8px;font-size:.76rem}
  .topnav{
    grid-area:nav;
    display:flex;
    gap:7px;
    overflow-x:auto;
    overflow-y:hidden;
    flex-wrap:nowrap;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .topnav::-webkit-scrollbar{display:none}
  .topnav a{flex:0 0 auto;padding:8px 9px;font-size:.78rem;white-space:nowrap}
  .shell,.app-footer{margin-left:10px;margin-right:10px;width:auto;max-width:calc(100vw - 20px)}
  .hero{grid-template-columns:1fr;min-height:auto;padding:18px 0 20px;gap:16px}
  .hero h1{font-size:clamp(2rem,11vw,3.3rem);line-height:1.02}
  .lede{font-size:1rem}
  .hero-actions a{flex:1 1 145px;text-align:center}
  .orbit-model{width:min(260px,72vw)}
  .metrics,.grid,.module-head,.security-form,.service-grid,.security-flow,.security-summary,.finding-grid,.user-form,.user-grid{grid-template-columns:1fr}
  .workbench{
    display:grid;
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
    overflow:visible;
    gap:12px;
  }
  .rail,.chat-panel,.inspector{height:auto;max-height:none;overflow:visible}
  .rail{order:2}
  .chat-panel{order:1;min-height:0}
  .inspector{order:3}
  .chat-head{display:grid;grid-template-columns:1fr;gap:10px}
  .chat-head select{width:100%}
  .chat-log{min-height:260px;max-height:48dvh;overflow:auto}
  .composer-tools{grid-template-columns:1fr;gap:8px}
  .conversation-list,#uploadList,.source-list,.mini-list,.stage-panel,.finding-grid{max-height:300px;overflow:auto}
  .panel,.status,.metrics article{padding:14px}
}
@media (max-width:560px){
  :root{--mobile-header-height:124px}
  .topbar{padding:7px 8px;gap:7px}
  .brand-mark.cyber-logo{width:46px;height:46px}
  .brand-copy strong{font-size:.86rem}
  .brand-copy small{font-size:.6rem}
  .session-box span{display:none}
  .session-box button{padding:7px 9px}
  .topnav a{font-size:.74rem;padding:7px 8px}
  .shell,.app-footer{margin-left:7px;margin-right:7px;max-width:calc(100vw - 14px)}
  .hero h1{font-size:clamp(1.9rem,12vw,2.65rem)}
  .eyebrow{font-size:.68rem;letter-spacing:.08em}
  .orbit-model{width:min(230px,76vw)}
  .cyber-logo--hero img{width:clamp(118px,44vw,166px);height:clamp(118px,44vw,166px)}
  .chat-log{max-height:44dvh}
  .message,.message.user{grid-template-columns:30px minmax(0,1fr)}
  .message.user .avatar{grid-column:1}
  .message.user .bubble{grid-column:2}
  .avatar{width:30px;height:30px}
  .bubble{padding:10px}
  .login-screen{overflow:auto;padding:14px}
  .login-card{width:min(420px,100%);padding:18px;margin:auto}
  .login-card h1{font-size:2rem}
  .login-card .brand-mark,.login-logo{width:104px;height:104px}
}
@media (max-height:680px){
  .login-screen{overflow:auto;place-items:start center}
  .login-card{margin:14px auto}
}
