:root{--bg:#02060c;--bg2:#06101a;--panel:#071521;--panel2:#0a1d2c;--line:#173955;--cyan:#32d6ff;--green:#00f07a;--red:#ff3d58;--yellow:#ffbe38;--purple:#a96bff;--text:#edf8ff;--muted:#82a5bb;--shadow:0 20px 55px #0008}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 55% -10%,#0a2338 0,#02060c 38%,#000 100%);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh;overflow-x:hidden}button,input{font:inherit}.hidden{display:none!important}
.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:16px;background:linear-gradient(180deg,#03101a,#020811 60%,#01050a);border-right:1px solid #12314a;display:flex;flex-direction:column;gap:16px;z-index:20}.brand-card{display:flex;gap:12px;align-items:center;border:1px solid #0d6b51;border-radius:16px;padding:10px 12px;background:#04201899;box-shadow:inset 0 0 25px #00ff6a0b}.brand-avatar{width:52px;height:52px;object-fit:cover;border-radius:50%;border:2px solid var(--green)}.brand-card strong{display:block;color:var(--green);font:900 27px Consolas,monospace;letter-spacing:2px}.brand-card span{display:block;color:#75ffc1;font:700 11px Consolas,monospace;letter-spacing:4px}.main-nav{display:grid;gap:6px}.nav-btn{position:relative;border:1px solid transparent;background:transparent;color:#d9e7ef;border-radius:10px;text-align:left;padding:13px 14px;cursor:pointer;font-weight:700}.nav-btn span{display:inline-grid;place-items:center;width:28px;margin-right:8px;color:#9bdfff;font-size:19px}.nav-btn:hover,.nav-btn.active{border-color:#0f8f50;background:linear-gradient(90deg,#083b23,#071b24);color:#fff;box-shadow:0 0 24px #00ff7b10}.nav-btn.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--green);box-shadow:0 0 14px var(--green)}
.filter-card,.system-card{border:1px solid #14344d;background:#04101a;border-radius:12px;padding:12px}.filter-card label{display:block;color:var(--muted);font:10px Consolas,monospace;letter-spacing:1px;margin-bottom:7px}.filter-card input{width:100%;border:1px solid #1c4969;border-radius:8px;background:#01070d;color:#fff;padding:10px;margin-bottom:9px}.filter-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.chip{border:1px solid #153b58;background:#071622;color:#a7c6d8;border-radius:999px;padding:5px 8px;font:9px Consolas,monospace;cursor:pointer}.chip.active,.chip:hover{color:#fff;border-color:#1d91b8;background:#0a2535}.system-card{margin-top:auto}.system-card>div{display:flex;align-items:center;gap:8px}.system-card strong{font:11px Consolas,monospace}.system-card small{display:block;color:var(--muted);margin-top:8px;font-size:10px;line-height:1.5}.pulse-dot,.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 1.6s infinite}.status-dot.off{background:var(--yellow);box-shadow:0 0 12px var(--yellow)}.version{color:#6b8da3;font:9px Consolas,monospace;padding-left:4px}
.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr auto}.topbar{position:sticky;top:0;z-index:15;height:58px;border-bottom:1px solid #102d43;background:#020912e8;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.menu-btn{display:none;background:transparent;border:0;color:#c8efff;font-size:22px}.top-status{display:flex;gap:8px;margin-left:auto}.pill{border:1px solid #183a54;background:#06131f;border-radius:8px;padding:7px 10px;color:#6f93a9;font:9px Consolas,monospace}.pill b{color:#d9f7ff;margin-left:5px}main{padding:20px 22px 26px}
.hero{min-height:190px;position:relative;overflow:hidden;border:1px solid #153d58;border-radius:14px;background:linear-gradient(110deg,#06141e,#071824 48%,#05111b);display:grid;grid-template-columns:1.1fr .9fr auto;align-items:center;padding:24px 26px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,#00ff8710,transparent 70%);pointer-events:none}.hero-copy{z-index:2}.eyebrow{font:10px Consolas,monospace;letter-spacing:1.8px;color:#7eb5cf}.hero h1{margin:7px 0 3px;font:900 clamp(26px,3vw,42px) Consolas,monospace;letter-spacing:1px}.hero p{margin:0;color:#b4cbd8}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.badges span{border:1px solid #20465f;border-radius:5px;padding:4px 8px;background:#04111b;color:#82d8f3;font:9px Consolas,monospace}.hero-lab{position:relative;height:165px;display:grid;place-items:center}.hero-dexter{height:180px;max-width:100%;object-fit:cover;object-position:center;border-radius:30px;mix-blend-mode:screen;filter:saturate(1.05) drop-shadow(0 12px 26px #000);animation:bob 4s ease-in-out infinite}.tube{position:absolute;width:16px;height:52px;border:2px solid #69f4ff;border-radius:0 0 10px 10px;bottom:23px;opacity:.8}.tube:after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:60%;border-radius:0 0 7px 7px;background:var(--green);box-shadow:0 0 18px var(--green);animation:liquid 2.8s ease-in-out infinite}.tube-a{left:10%;transform:rotate(-8deg)}.tube-b{right:9%;height:45px}.tube-c{right:22%;height:34px;bottom:18px;transform:rotate(10deg)}.tube-b:after{background:var(--purple);box-shadow:0 0 18px var(--purple)}.tube-c:after{background:var(--red);box-shadow:0 0 18px var(--red)}.hero-kpis{display:grid;grid-template-columns:repeat(3,95px);gap:8px;z-index:2}.hero-kpis div{border:1px solid #29445d;border-radius:10px;padding:10px;text-align:center;background:#07101cae}.hero-kpis small,.hero-kpis span{display:block;color:#8da7b9;font:9px Consolas,monospace}.hero-kpis strong{display:block;margin:4px 0;font:900 23px Consolas,monospace;color:#fff}.hero-kpis div:last-child{border-color:#0a7244}.hero-kpis div:last-child strong{color:var(--green)}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-top:12px}.kpi-card{min-height:150px;border:1px solid #173a56;border-radius:12px;background:linear-gradient(180deg,#071622,#05101a);padding:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.card-label{font:10px Consolas,monospace;color:#b4c6d1;margin-bottom:10px}.big{font:900 28px Consolas,monospace}.green{color:var(--green)}.cyan{color:var(--cyan)}.kpi-card small{color:#9eb1be;font-size:10px;margin-top:8px}.progress-ring{--p:0;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#12342e 0);position:relative}.progress-ring:after{content:"";position:absolute;width:65px;height:65px;background:#07121b;border-radius:50%}.progress-ring span{z-index:1;font:900 20px Consolas}.xp-track{width:100%;height:7px;border-radius:99px;background:#13263a;margin-top:12px;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--cyan));transition:.4s}.current-card strong{font-size:13px;line-height:1.4}.primary,.secondary,.back,.link-btn{cursor:pointer}.primary{border:1px solid #5f39d5;background:linear-gradient(135deg,#6b32c8,#8e34c7);color:white;border-radius:8px;padding:10px 14px;font-weight:800}.primary.small{margin-top:13px;padding:8px 14px}.primary:disabled{opacity:.35;cursor:not-allowed}.secondary,.back{border:1px solid #1c688e;background:#071724;color:#bfefff;border-radius:8px;padding:9px 12px}.link-btn{border:0;background:transparent;color:#a7cfe1;font-size:11px}.link-btn:hover{color:var(--cyan)}
.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:12px}.panel{border:1px solid #153a55;background:linear-gradient(180deg,#061521,#040e17);border-radius:12px;padding:14px;box-shadow:0 12px 35px #0004}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2,.panel-head h3{font:800 13px Consolas,monospace;margin:0;color:#f1f8fc}.panel-head span{color:#7798ad;font-size:10px}.labs-overview{grid-row:span 2}.team-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.team-tile{position:relative;overflow:hidden;border:1px solid #22435b;background:#07131e;border-radius:10px;padding:12px}.team-tile:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--accent)}.team-tile strong{display:block;font:800 12px Consolas;color:var(--accent)}.team-tile b{font:800 20px Consolas}.team-tile span{color:#7390a2;font-size:9px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;max-height:590px;overflow:auto;padding-right:3px}.card{border:1px solid #153750;background:#05121c;padding:13px;border-radius:9px;cursor:pointer;transition:.18s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--team-color,#1c6b93)}.card:hover{transform:translateY(-2px);border-color:#2688af;box-shadow:0 0 22px #00d5ff12}.card.done{border-color:#116744}.card .num{font:9px Consolas;color:#8bb2c6}.card h3{font:800 12px Consolas;margin:7px 0}.card p{font-size:10.5px;line-height:1.45;color:#94adbb}.meta{display:flex;justify-content:space-between;align-items:center;font:9px Consolas;color:#7f9fb3;margin-top:10px}.difficulty{color:var(--yellow)}.done-badge{color:var(--green);font-weight:800}.metric-bars{display:grid;gap:13px;margin-top:15px}.metric-row{display:grid;grid-template-columns:42px 1fr 42px;gap:9px;align-items:center}.metric-row .code{font:800 12px Consolas}.metric-row .track{height:8px;border-radius:99px;background:#122536;overflow:hidden}.metric-row .track i{display:block;height:100%;width:0;border-radius:99px;transition:.5s;background:linear-gradient(90deg,var(--cyan),var(--green))}.metric-row b{font:12px Consolas;text-align:right}.metric-row small{grid-column:2/4;color:#6f8ea2;font-size:9px;margin-top:-6px}.activity-list{display:grid;gap:8px;margin-top:12px}.activity-item{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:7px;background:#071723;border:1px solid #102e43}.activity-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0b2637}.activity-item strong{display:block;font-size:10px}.activity-item small{color:#7694a7;font-size:9px}.activity-item b{font:10px Consolas;color:var(--green)}.empty{color:#708fa2;font-size:11px;padding:16px 4px}.achievement-showcase{display:grid;grid-template-columns:74px 1fr 70px;gap:12px;align-items:center;margin-top:13px}.medal{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle,#ffde68,#b96b00 65%,#3e2200);border:3px solid #ffd35b;box-shadow:0 0 30px #ffbf2d26}.achievement-showcase strong{font:800 12px Consolas}.achievement-showcase p{color:#88a4b5;font-size:10px;line-height:1.4;margin:6px 0}.mini-dexter{width:66px;height:66px;object-fit:cover;border-radius:50%;filter:saturate(1.1);animation:bob 4s ease-in-out infinite}
.back{margin-bottom:12px}.lab-head{display:flex;justify-content:space-between;align-items:end;gap:18px;border:1px solid #163a53;border-radius:12px;background:#06131e;padding:18px}.lab-head h2{font:900 23px Consolas;margin:5px 0}.lab-head p{color:#91acbc;max-width:850px}.lab-progress{min-width:220px}.progress{height:8px;border-radius:99px;background:#102536;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--green));transition:.3s}.lab-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(460px,1.4fr);gap:12px;margin-top:12px}.brief h3,.terminal-panel h3{font:11px Consolas;color:#8cabbd;letter-spacing:1px}.brief pre{white-space:pre-wrap;font:11px/1.55 Consolas,monospace;color:#d1e6ef}.hintbox{margin-top:10px;border-left:3px solid var(--yellow);background:#1c1608;padding:10px;color:#ffe6a0;font-size:11px}.terminal{height:500px;overflow:auto;background:#00080e;border:1px solid #10344b;border-radius:8px;padding:14px;font:11px/1.55 Consolas,monospace;white-space:pre-wrap;color:#b9e8f6}.terminal .ok{color:var(--green)}.terminal .warn{color:var(--yellow)}.terminal .flag{color:#ff6aa4;text-shadow:0 0 10px #ff3a8a55}.cmdrow{display:flex;gap:8px;align-items:center;margin-top:9px;color:var(--green);font:10px Consolas}.cmdrow input{flex:1;background:#01080d;border:1px solid #183c54;color:#fff;padding:10px;border-radius:7px;font:11px Consolas}
.statusbar{height:42px;border-top:1px solid #102f46;background:#020912;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#7396ab;font:9px Consolas,monospace}.statusbar b{color:#dceef8}
.chat-panel{position:fixed;right:18px;top:76px;bottom:58px;width:min(370px,calc(100vw - 36px));z-index:40;border:1px solid #315b86;border-radius:16px;background:#05111ceF;backdrop-filter:blur(16px);box-shadow:0 24px 80px #000a;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .24s ease}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #1a3952}.chat-head strong{font:800 16px Consolas}.chat-head span{display:flex;align-items:center;gap:7px;color:var(--green);font:9px Consolas;margin-top:5px}.chat-head button{background:transparent;border:0;color:white;font-size:24px;cursor:pointer}.chat-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0,#0c3151,#06111b 60%);padding:12px 14px;display:grid;grid-template-columns:95px 1fr;gap:10px;align-items:center}.chat-hero img{width:95px;height:95px;object-fit:cover;border-radius:50%;border:2px solid #16517d;animation:bob 3.6s ease-in-out infinite}.chat-hero strong{color:var(--green);font-size:11px}.chat-hero p{font-size:10px;line-height:1.45;color:#c0d2dc;margin:5px 0}.quick-actions{display:grid;gap:6px;padding:10px 12px}.quick-actions button{border:1px solid #1f78a6;background:#06131e;color:#c8e8f5;border-radius:8px;padding:8px 10px;text-align:left;font-size:10px;cursor:pointer}.quick-actions button:hover{border-color:var(--cyan);background:#092234}.chatlog{flex:1;overflow:auto;padding:10px 12px;display:grid;align-content:start;gap:8px}.bubble{max-width:90%;border-radius:10px;padding:9px 10px;font-size:10.5px;line-height:1.5}.bubble b{display:block;font:9px Consolas;margin-bottom:4px}.bubble p{margin:0;white-space:pre-wrap}.bubble.dexter{background:#0b2130;border:1px solid #1d4967}.bubble.dexter b{color:var(--green)}.bubble.user{justify-self:end;background:#261246;border:1px solid #7133aa}.bubble.user b{color:#d1a4ff}.chatrow{display:flex;gap:7px;padding:10px 12px;border-top:1px solid #19364d}.chatrow input{flex:1;min-width:0;background:#071723;border:1px solid #173f5c;border-radius:8px;color:#fff;padding:10px}.chat-note{padding:0 12px 10px;color:#607f93;font-size:8.5px;text-align:center}
.modal{position:fixed;inset:0;background:#000c;display:grid;place-items:center;z-index:60;padding:16px}.modal-card{width:min(1040px,96vw);max-height:90vh;overflow:auto;background:#04111d;border:1px solid #1f7faa;border-radius:15px;padding:20px;position:relative;box-shadow:0 25px 90px #000}.x{position:absolute;right:12px;top:8px;background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer}.modal-card h2{font:900 22px Consolas;margin:0 36px 16px 0}.metrics-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-big{border:1px solid #183c56;background:#071723;border-radius:10px;padding:14px}.metric-big small{display:block;color:#7899ac;font:9px Consolas}.metric-big strong{display:block;font:900 26px Consolas;margin-top:7px;color:var(--green)}.metrics-charts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.chart-card{border:1px solid #173b55;background:#06141f;border-radius:10px;padding:14px}.chart-card h3{font:11px Consolas;margin:0 0 12px}.chart-bars{display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:48px 1fr 45px;align-items:center;gap:8px}.chart-row i{display:block;height:9px;border-radius:99px;background:linear-gradient(90deg,#2dc9ff,#00ef79)}.chart-row b{font:10px Consolas;text-align:right}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:20px}.donut{--p:0;width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#112e39 0);display:grid;place-items:center;position:relative}.donut:after{content:"";width:92px;height:92px;border-radius:50%;background:#06141f;position:absolute}.donut strong{z-index:1;font:900 24px Consolas}.metric-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:12px}.metric-table th,.metric-table td{padding:8px;border-bottom:1px solid #133149;text-align:left}.metric-table th{color:#7f9fb3;font:9px Consolas}.metric-table td:last-child{color:var(--green);font-family:Consolas,monospace}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.operator-card{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center}.operator-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--green)}.operator-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.operator-stats div{border:1px solid #1a3d56;border-radius:8px;padding:10px}.operator-stats b{display:block;color:var(--green);font:18px Consolas}.achievement-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.achievement{border:1px solid #163a54;background:#071723;border-radius:10px;padding:13px;display:flex;gap:10px;align-items:center}.achievement.locked{opacity:.45}.achievement .ico{font-size:28px}.achievement strong{font:11px Consolas}.achievement p{font-size:9px;color:#7999ad;margin:5px 0 0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes liquid{0%,100%{height:45%}50%{height:70%}}@keyframes slideIn{from{transform:translateX(25px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1200px){.app-shell{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding:12px}.brand-card strong{font-size:22px}.hero{grid-template-columns:1fr .7fr}.hero-kpis{grid-column:1/-1;display:flex;justify-content:flex-end}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.labs-overview{grid-row:auto}.metrics-preview,.activity-panel,.achievement-panel{min-height:220px}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:.25s}.sidebar.open{left:0;box-shadow:25px 0 60px #000c}.menu-btn{display:block}.topbar{padding:0 12px}.top-status .pill:nth-child(3){display:none}main{padding:12px}.hero{grid-template-columns:1fr;text-align:center;padding:18px}.hero-lab{order:-1;height:130px}.hero-dexter{height:145px}.hero-kpis{justify-content:center}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-card:last-child{grid-column:1/-1}.lab-head{flex-direction:column;align-items:stretch}.lab-layout{grid-template-columns:1fr}.terminal{height:390px}.metrics-dashboard{grid-template-columns:repeat(2,1fr)}.metrics-charts{grid-template-columns:1fr}.statusbar span:nth-child(2){display:none}}
@media(max-width:520px){.hero-kpis{grid-template-columns:repeat(3,1fr);display:grid;width:100%}.hero-kpis div{min-width:0;padding:8px}.hero-kpis strong{font-size:18px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{min-height:135px}.team-summary{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.achievement-showcase{grid-template-columns:60px 1fr}.mini-dexter{display:none}.top-status .pill:nth-child(2){display:none}.metrics-dashboard{grid-template-columns:1fr 1fr}.operator-card{grid-template-columns:1fr;text-align:center}.operator-avatar{margin:auto}.operator-stats{grid-template-columns:1fr}.chat-panel{top:65px;right:8px;bottom:50px;width:calc(100vw - 16px)}}

/* DEXTER v3 · Operational case briefing */
.case-intro{font-family:Inter,system-ui,sans-serif}.case-kicker{font:700 10px Consolas,monospace;letter-spacing:1.6px;color:var(--cyan);margin-bottom:8px}.case-intro h1{font:900 clamp(25px,4vw,42px) Consolas,monospace;margin:0 0 18px;color:#fff;text-transform:uppercase;text-shadow:0 0 24px #2dc9ff33}.case-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.case-grid section,.case-mission{border:1px solid #17445f;background:linear-gradient(180deg,#071a28,#05121c);border-radius:11px;padding:16px}.case-grid span,.case-mission span{font:800 10px Consolas,monospace;letter-spacing:1.5px;color:var(--green)}.case-grid p,.case-mission p{color:#c5dbe6;line-height:1.65;margin:9px 0 0}.case-grid ul{color:#a9c5d3;line-height:1.8;margin:9px 0 0;padding-left:20px}.case-mission{margin-top:12px;border-color:#1d735a;box-shadow:inset 0 0 30px #00ef7908}.case-mission p{font-weight:600;color:#e7f6f0}.case-notice{margin:12px 0;color:#7696a8;font:10px/1.5 Consolas,monospace;border-left:2px solid #416477;padding-left:10px}.case-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}@media(max-width:720px){.case-grid{grid-template-columns:1fr}.case-actions{flex-direction:column}.case-actions button{width:100%}}
