/* ════════════════════════════════════════════════
   VOIDNET v1.0 — Hack The Planet
   Full Responsive + 3D Hacker Scene
   ════════════════════════════════════════════════ */
:root{
  --bg:#07090e;--s1:#0a0e16;--s2:#0d1520;--s3:#121d2e;--s4:#192538;--s5:#1e2d42;
  --g:#00ff9f;--gd:rgba(0,255,159,.22);--gg:rgba(0,255,159,.08);--gb:#35ffb8;
  --c:#00d4ff;--cd:rgba(0,212,255,.20);--cg:rgba(0,212,255,.08);
  --r:#ff2d55;--rd:rgba(255,45,85,.22);
  --w:#ffb300;--p:#a050ff;--pd:rgba(160,80,255,.22);
  --txt:#8fb0cc;--txtb:#c0d8ee;--mu:#344d65;--bdr:#182334;--bdr2:#1e2f45;
  --mono:'Share Tech Mono',monospace;--hd:'Orbitron',monospace;--vt:'VT323',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;width:100%;background:var(--bg);color:var(--txt);font-family:var(--mono);font-size:14px;overflow:hidden;-webkit-tap-highlight-color:transparent;}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9000;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,159,.005) 2px,rgba(0,255,159,.005) 4px);}
::-webkit-scrollbar{width:3px;height:3px;}::-webkit-scrollbar-thumb{background:var(--gd);}
canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
#ac{z-index:0;pointer-events:none;}#lc{z-index:1;}
.blink{animation:blink 1s step-end infinite;}
.blink-fast{animation:blink .5s step-end infinite;}
.blink-slow{animation:blink 3s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* ═══ LOADER ════════════════════════════════════ */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .6s;overflow:hidden;}
.ld-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(500px,94vw);padding:0 20px;}
.ld-orb{width:130px;height:130px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.ld-orb-r{position:absolute;inset:0;border-radius:50%;border:1px solid;transform:scale(var(--s));animation:orbSpin var(--spd) linear infinite;}
.ld-orb-r:nth-child(1){border-color:var(--gd);}
.ld-orb-r:nth-child(2){border-color:var(--cd);animation-direction:reverse;}
.ld-orb-r:nth-child(3){border-color:var(--gd);}
.ld-orb-r:nth-child(4){border-color:var(--cd);animation-direction:reverse;}
@keyframes orbSpin{to{transform:scale(var(--s)) rotate(360deg)}}
.ld-orb-core{font-size:2.4rem;color:var(--g);text-shadow:0 0 30px var(--g),0 0 60px rgba(0,255,159,.3);z-index:1;animation:corePulse 2s ease-in-out infinite;}
@keyframes corePulse{0%,100%{text-shadow:0 0 20px var(--g)}50%{text-shadow:0 0 60px var(--g),0 0 120px rgba(0,255,159,.4)}}
.ld-app-name{font-family:var(--hd);font-size:clamp(1.8rem,6vw,2.8rem);font-weight:900;color:var(--g);letter-spacing:8px;margin-bottom:4px;text-shadow:0 0 30px rgba(0,255,159,.5);position:relative;}
.ld-app-name::before,.ld-app-name::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;}
.ld-app-name::before{color:var(--c);clip-path:polygon(0 0,100% 0,100% 45%,0 45%);animation:gt1 5s infinite;}
.ld-app-name::after{color:var(--r);clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);animation:gt2 5s infinite;}
@keyframes gt1{0%,85%,100%{transform:none;opacity:0}87%{transform:translate(-2px);opacity:.85}89%{transform:translate(2px);opacity:.85}91%{opacity:0}}
@keyframes gt2{0%,85%,100%{transform:none;opacity:0}88%{transform:translate(2px,1px);opacity:.75}90%{transform:translate(-1px);opacity:.75}92%{opacity:0}}
.ld-tagline{font-size:clamp(.52rem,2vw,.65rem);color:var(--mu);letter-spacing:4px;margin-bottom:20px;}
.ld-bars{display:flex;gap:3px;align-items:flex-end;height:38px;margin-bottom:16px;}
.ld-bars i{width:5px;background:var(--gd);border-radius:1px;animation:lbr 1.1s ease-in-out infinite alternate;animation-delay:calc(var(--i)*.07s);font-style:normal;}
@keyframes lbr{from{height:3px;background:var(--gd)}to{height:38px;background:var(--g);box-shadow:0 0 10px var(--g)}}
.ld-term-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--vt);font-size:1.05rem;}
.ld-ps{color:var(--c);opacity:.85;}
#ld-cmd{color:var(--g);}
.ld-tcur{color:var(--g);animation:blink .8s step-end infinite;}
.ld-prog{width:100%;height:2px;background:var(--s4);margin-bottom:6px;overflow:hidden;}
#ld-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--c),var(--g));transition:width .3s;box-shadow:0 0 8px var(--g);}
.ld-det{font-size:clamp(.5rem,2vw,.62rem);color:var(--mu);letter-spacing:2px;}
.hc{position:absolute;width:18px;height:18px;}
.hc.tl{top:14px;left:14px;border-top:1.5px solid var(--g);border-left:1.5px solid var(--g);}
.hc.tr{top:14px;right:14px;border-top:1.5px solid var(--g);border-right:1.5px solid var(--g);}
.hc.bl{bottom:14px;left:14px;border-bottom:1.5px solid var(--g);border-left:1.5px solid var(--g);}
.hc.br{bottom:14px;right:14px;border-bottom:1.5px solid var(--g);border-right:1.5px solid var(--g);}
.ld-sys-t,.ld-sys-b{position:absolute;z-index:2;font-size:clamp(.44rem,1.8vw,.58rem);color:var(--mu);letter-spacing:2px;left:50%;transform:translateX(-50%);white-space:nowrap;}
.ld-sys-t{top:14px;}.ld-sys-b{bottom:14px;}

/* ═══ 3D HACKER SCENE ═══════════════════════════ */
.hkr-scene{
  position:absolute;right:0;bottom:0;z-index:1;
  width:min(420px,50vw);height:100%;
  display:flex;align-items:flex-end;justify-content:center;
  pointer-events:none;padding-bottom:20px;
}
.hs-glow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:300px;height:200px;background:radial-gradient(ellipse at center bottom,rgba(0,255,159,.18),transparent 70%);pointer-events:none;}

/* floating particles */
.hs-ptcl{
  position:absolute;left:50%;top:40%;
  width:var(--s,5px);height:var(--s,5px);
  background:var(--c,var(--g));border-radius:50%;
  box-shadow:0 0 8px var(--c,var(--g));
  transform:translate(var(--x),var(--y));
  animation:ptclFloat 3s ease-in-out infinite;animation-delay:var(--d);
}
@keyframes ptclFloat{0%,100%{opacity:.5;transform:translate(var(--x),var(--y))}50%{opacity:1;transform:translate(calc(var(--x) + 12px),calc(var(--y) - 10px));box-shadow:0 0 16px var(--c,var(--g))}}

/* holo display */
.hs-holo{
  position:absolute;top:10%;left:-10px;
  width:min(200px,40vw);background:rgba(0,10,20,.9);
  border:1px solid var(--g);overflow:hidden;
  box-shadow:0 0 24px rgba(0,255,159,.2),inset 0 0 20px rgba(0,255,159,.03);
  animation:holoFloat 5s ease-in-out infinite;
}
@keyframes holoFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
.hs-holo-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,255,159,.04) 3px,rgba(0,255,159,.04) 4px);z-index:2;pointer-events:none;}
.hs-holo-inner{padding:10px 12px;position:relative;z-index:1;}
.hs-holo-title{font-size:.55rem;color:var(--c);letter-spacing:2px;margin-bottom:8px;border-bottom:1px solid var(--gd);padding-bottom:4px;}
.hs-hcode{display:flex;flex-direction:column;gap:4px;}
.hs-hcode span{
  font-family:var(--vt);font-size:.85rem;white-space:nowrap;overflow:hidden;
  color:var(--c,var(--g));width:var(--w);opacity:.8;
  animation:codeAnim 3s ease-in-out infinite;animation-delay:var(--d,0s);
}
@keyframes codeAnim{0%,100%{opacity:.4;width:20%}50%{opacity:.9;width:var(--w)}}
.hs-cursor{color:var(--g);font-size:.8rem;animation:blink .7s step-end infinite;margin-top:4px;}

/* figure */
.hs-figure{display:flex;flex-direction:column;align-items:center;animation:figFloat 4s ease-in-out infinite;}
@keyframes figFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* chair */
.hs-chair{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:-20px;}
.hs-chair-back{width:50px;height:55px;background:linear-gradient(160deg,var(--s4),var(--s3));border:1px solid var(--gd);border-radius:4px;position:absolute;top:-55px;left:50%;transform:translateX(-50%);}
.hs-chair-seat{width:70px;height:12px;background:linear-gradient(var(--s4),var(--s3));border:1px solid var(--gd);border-radius:2px;}
.hs-chair-base{display:flex;justify-content:center;gap:4px;margin-top:2px;}
.hs-chair-leg{width:4px;height:30px;background:var(--s3);border:1px solid var(--gd);transform:rotate(var(--a));}

/* head */
.hs-head{display:flex;flex-direction:column;align-items:center;margin-bottom:2px;}
.hs-face{width:52px;height:56px;background:linear-gradient(160deg,var(--s4),var(--s3));border:1px solid var(--gd);border-radius:6px 6px 3px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;overflow:hidden;}
.hs-face::before{content:'';position:absolute;top:-8px;width:70px;height:20px;background:var(--c);filter:blur(18px);opacity:.12;animation:blink 2.5s ease-in-out infinite;}
.hs-visor{width:36px;height:12px;background:linear-gradient(90deg,rgba(0,212,255,.2),var(--c),rgba(0,212,255,.2));border-radius:2px;box-shadow:0 0 16px var(--c),inset 0 0 8px rgba(0,212,255,.5);animation:visorPulse 1.5s ease-in-out infinite;}
@keyframes visorPulse{0%,100%{box-shadow:0 0 10px var(--c)}50%{box-shadow:0 0 24px var(--c),0 0 48px rgba(0,212,255,.3)}}
.hs-face-lines{display:flex;flex-direction:column;gap:3px;width:30px;}
.hs-face-lines div{height:1.5px;background:var(--gd);border-radius:1px;}
.hs-hoodie-top{width:58px;height:10px;background:linear-gradient(var(--s3),var(--s2));border:1px solid var(--gd);border-top:none;border-radius:0 0 4px 4px;}

/* body */
.hs-body{display:flex;align-items:flex-start;justify-content:center;position:relative;}
.hs-hoodie-body{width:90px;height:70px;background:linear-gradient(160deg,var(--s3),var(--s2));border:1px solid var(--gd);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;}
.hs-hoodie-pocket{width:30px;height:18px;background:var(--s4);border:1px solid var(--gd);border-radius:2px;margin-top:20px;}
.hs-body-glow{position:absolute;top:0;width:60px;height:20px;background:var(--g);filter:blur(24px);opacity:.08;animation:blink 3s ease-in-out infinite;}

/* arms */
.hs-arm{position:absolute;top:4px;}
.hs-arm-l{left:-20px;}
.hs-arm-r{right:-20px;}
.hs-arm{width:20px;height:60px;background:linear-gradient(180deg,var(--s4),var(--s3));border:1px solid var(--gd);}
.hs-arm-l{border-radius:6px 0 0 6px;transform-origin:top;animation:armL 1.4s ease-in-out infinite alternate;}
.hs-arm-r{border-radius:0 6px 6px 0;transform-origin:top;animation:armR 1.4s ease-in-out infinite alternate;}
@keyframes armL{from{transform:rotate(-5deg)}to{transform:rotate(12deg)}}
@keyframes armR{from{transform:rotate(5deg)}to{transform:rotate(-12deg)}}
.hs-forearm-l,.hs-forearm-r{position:absolute;bottom:-18px;width:18px;height:22px;background:var(--s4);border:1px solid var(--gd);}
.hs-forearm-l,.hs-forearm-r{left:0;border-radius:0 0 4px 4px;}
.hs-hand-l,.hs-hand-r{position:absolute;bottom:-26px;width:16px;height:12px;background:var(--s3);border:1px solid var(--gd);border-radius:3px;}
.hs-hand-l,.hs-hand-r{left:1px;}

/* desk */
.hs-desk{display:flex;flex-direction:column;align-items:center;width:100%;}
.hs-desk-top{width:190px;height:8px;background:linear-gradient(var(--s3),var(--s4));border:1px solid var(--gd);margin-top:-4px;}
.hs-laptop{display:flex;flex-direction:column;align-items:center;width:170px;}
.hs-lid{width:100%;height:75px;background:var(--s2);border:1px solid var(--g);border-bottom:none;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(0,255,159,.12);transform:perspective(400px) rotateX(-6deg);transform-origin:bottom;}
.hs-lid-screen{position:absolute;inset:7px;background:#020608;display:flex;flex-direction:column;gap:4px;padding:6px;}
.hs-ls-bar{height:2.5px;width:var(--w);background:var(--c,var(--g));border-radius:1px;opacity:.7;animation:codeAnim 2.5s ease-in-out infinite;animation-delay:var(--d,0s);}
.hs-ls-cur{color:var(--g);font-size:.7rem;animation:blink .7s step-end infinite;font-family:var(--mono);}
.hs-base{width:100%;height:12px;background:linear-gradient(180deg,var(--s3),var(--s4));border:1px solid var(--gd);border-top:none;}
.hs-kb{background:var(--s4);padding:5px 8px;border:1px solid var(--gd);border-top:none;display:flex;flex-direction:column;gap:3px;}
.hs-kb-r{display:flex;gap:3px;}
.hs-kb-r b{width:9px;height:6px;background:var(--s5);border:1px solid var(--gd);border-radius:1px;display:block;animation:kbKey 2.2s ease-in-out infinite;}
.hs-kb-r b:nth-child(1){animation-delay:.0s}.hs-kb-r b:nth-child(2){animation-delay:.12s}
.hs-kb-r b:nth-child(3){animation-delay:.24s}.hs-kb-r b:nth-child(4){animation-delay:.36s}
.hs-kb-r b:nth-child(5){animation-delay:.48s}.hs-kb-r b:nth-child(6){animation-delay:.6s}.hs-kb-r b:nth-child(7){animation-delay:.72s}
@keyframes kbKey{0%,85%,100%{background:var(--s5)}88%{background:var(--g);box-shadow:0 0 5px var(--g)}}

/* second monitor */
.hs-monitor2{position:absolute;right:-10px;top:-40px;width:100px;background:var(--s2);border:1px solid var(--gd);box-shadow:0 0 12px rgba(0,212,255,.1);}
.hs-mon2-screen{padding:8px;display:flex;flex-direction:column;gap:4px;}
.hs-mon2-line{height:2px;width:var(--w);background:var(--c,var(--g));border-radius:1px;opacity:.6;animation:codeAnim 3s ease-in-out infinite;animation-delay:var(--d,0s);}

.hs-floor-reflect{width:200px;height:20px;margin-top:-4px;background:radial-gradient(ellipse at center,rgba(0,255,159,.15),transparent 70%);}

/* data streams */
.hs-stream{position:absolute;left:var(--x);top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,var(--g) 50%,transparent 100%);opacity:.25;animation:streamFlow 3s ease-in-out infinite;animation-delay:var(--d,0s);}
@keyframes streamFlow{0%{background-position:0 -100%}100%{background-position:0 300%}}

/* ═══ AUTH CARD ══════════════════════════════════ */
#auth-screen{position:relative;display:flex;align-items:center;justify-content:center;height:100vh;width:100%;padding:16px;}
.auth-card{
  position:relative;z-index:2;width:100%;max-width:430px;
  background:rgba(10,14,22,.93);border:1px solid var(--gd);
  padding:clamp(28px,5vw,44px) clamp(22px,5vw,38px);
  backdrop-filter:blur(24px);
  box-shadow:0 0 80px rgba(0,255,159,.06),inset 0 0 0 1px rgba(0,255,159,.03);
}
.auth-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);}
.auth-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent);}
.ac-scan{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c),transparent);animation:scanAnim 4s linear infinite;opacity:.4;}
@keyframes scanAnim{0%{top:0}100%{top:100%}}
.ac-corner{position:absolute;width:16px;height:16px;}
.ac-corner.tl{top:8px;left:8px;border-top:1px solid var(--g);border-left:1px solid var(--g);}
.ac-corner.tr{top:8px;right:8px;border-top:1px solid var(--g);border-right:1px solid var(--g);}
.ac-corner.bl{bottom:8px;left:8px;border-bottom:1px solid var(--g);border-left:1px solid var(--g);}
.ac-corner.br{bottom:8px;right:8px;border-bottom:1px solid var(--g);border-right:1px solid var(--g);}
.ac-logo{display:flex;align-items:center;gap:5px;font-family:var(--hd);font-size:clamp(1.8rem,6vw,2.4rem);font-weight:900;letter-spacing:4px;margin-bottom:5px;}
.ac-br{color:var(--c);}.ac-blink{color:var(--g);animation:blink 1s step-end infinite;}.ac-name{color:var(--g);text-shadow:0 0 24px rgba(0,255,159,.45);}
.ac-tagline{font-size:clamp(.5rem,2vw,.62rem);color:var(--mu);letter-spacing:2px;margin-bottom:26px;}
.ac-tabs{display:flex;border-bottom:1px solid var(--bdr);margin-bottom:24px;}
.act{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--mu);font-family:var(--mono);font-size:clamp(.7rem,3vw,.8rem);letter-spacing:3px;padding:11px 0;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px;}
.act:hover{color:var(--g);background:none;box-shadow:none;}.act.active{color:var(--g);border-bottom-color:var(--g);}
.ac-form{display:flex;flex-direction:column;gap:16px;}
.ac-field{display:flex;flex-direction:column;gap:6px;}
.ac-lbl{font-size:clamp(.56rem,2vw,.66rem);color:var(--mu);letter-spacing:3px;display:flex;align-items:center;gap:8px;}
.ac-hint{font-size:.54rem;color:var(--mu);opacity:.65;letter-spacing:1px;}
.ac-field input{width:100%;background:var(--s2);border:1px solid var(--bdr2);color:var(--gb);font-family:var(--mono);font-size:clamp(.88rem,3.5vw,1rem);padding:13px 16px;outline:none;border-radius:0;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s;}
.ac-field input:focus{border-color:var(--g);box-shadow:0 0 18px var(--gg);}
.ac-field input::placeholder{color:var(--mu);}
.ac-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:1px solid var(--g);color:var(--g);font-family:var(--mono);font-size:clamp(.78rem,3vw,.9rem);letter-spacing:3px;padding:14px 20px;cursor:pointer;position:relative;overflow:hidden;transition:color .25s;}
.ac-btn::before{content:'';position:absolute;inset:0;background:var(--g);transform:translateX(-101%);transition:transform .3s ease;z-index:0;}
.ac-btn:hover::before{transform:translateX(0);}
.ac-btn:hover{color:var(--bg);}
.ac-btn-t,.ac-btn-i{position:relative;z-index:1;}
.ac-err{color:var(--r);font-size:clamp(.62rem,2.5vw,.72rem);letter-spacing:1px;min-height:18px;margin-top:2px;}
.ac-foot{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:clamp(.48rem,2vw,.58rem);color:var(--mu);letter-spacing:2px;margin-top:26px;border-top:1px solid var(--bdr);padding-top:14px;}
.afd{width:4px;height:4px;background:var(--g);border-radius:50%;opacity:.55;flex-shrink:0;}

/* ═══ TERMINAL BOOT ═══════════════════════════════ */
#term-boot{position:fixed;inset:0;z-index:9998;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px;}
.tboot-wrap{width:min(700px,96vw);max-height:80vh;background:#000;border:1px solid var(--g);box-shadow:0 0 40px rgba(0,255,159,.15);display:flex;flex-direction:column;}
.tboot-bar{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#0a0a0a;border-bottom:1px solid var(--gd);}
.tbd{width:10px;height:10px;border-radius:50%;display:inline-block;}
.tbd.r{background:#ff5f57;}.tbd.y{background:#ffbd2e;}.tbd.g{background:#28c840;}
.tbt-title{font-size:.7rem;color:var(--mu);letter-spacing:2px;margin-left:8px;}
.tboot-body{padding:14px 18px;overflow-y:auto;flex:1;font-family:var(--vt);font-size:1.1rem;line-height:1.5;color:var(--g);}
.tbl{display:block;animation:tblIn .15s ease;}
@keyframes tblIn{from{opacity:0}to{opacity:1}}
.tbl-p{color:var(--c);}
.tbl-w{color:var(--w);}
.tbl-e{color:var(--r);}

/* ═══ TOPBAR ══════════════════════════════════════ */
.tb{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;background:rgba(7,9,14,.97);border-bottom:1px solid var(--bdr2);padding:0 14px;height:54px;flex-shrink:0;backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(0,255,159,.05),0 4px 24px rgba(0,0,0,.6);}
.tb-l{display:flex;align-items:center;gap:10px;min-width:0;}
.tb-ham{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:1px solid var(--bdr2);padding:8px;cursor:pointer;flex-shrink:0;transition:border-color .2s;}
.tb-ham span{height:1.5px;background:var(--mu);border-radius:1px;display:block;transition:background .2s;}
.tb-ham:hover{border-color:var(--g);}.tb-ham:hover span{background:var(--g);}
.tb-brand{display:flex;align-items:center;gap:9px;min-width:0;}
.tb-hex-w{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;}
.tb-hex-ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--gd);animation:orbSpin 4s linear infinite;}
.tb-hex{font-size:1.4rem;color:var(--g);text-shadow:0 0 14px var(--g);position:relative;z-index:1;}
.tb-bname{font-family:var(--hd);font-size:clamp(.7rem,3vw,.92rem);color:var(--g);letter-spacing:3px;white-space:nowrap;}
.tb-bsub{font-size:.56rem;color:var(--mu);letter-spacing:1px;display:flex;align-items:center;gap:4px;}
.tb-cdot{width:5px;height:5px;background:var(--g);border-radius:50%;box-shadow:0 0 5px var(--g);animation:blink 1.8s ease-in-out infinite;display:inline-block;}
.tb-c{display:flex;align-items:center;gap:8px;font-size:.65rem;}
.tb-pill{display:flex;align-items:center;gap:5px;color:var(--mu);padding:3px 8px;background:var(--s2);border:1px solid var(--bdr);font-size:.62rem;}
.tb-pdot{width:6px;height:6px;background:var(--g);border-radius:50%;box-shadow:0 0 6px var(--g);animation:blink 1.8s ease-in-out infinite;flex-shrink:0;}
.tb-pill span{color:var(--g);font-family:var(--hd);}
.tb-vd{width:1px;height:16px;background:var(--bdr2);}
.tb-r{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.tb-chip{display:flex;align-items:center;gap:8px;cursor:pointer;background:var(--s2);border:1px solid var(--bdr2);padding:4px 10px 4px 6px;transition:border-color .2s;}
.tb-chip:hover{border-color:var(--gd);}
.tb-chip-w{position:relative;flex-shrink:0;}
.tb-chip-av{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gd);object-fit:cover;display:block;}
.tb-cdot2{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;background:var(--g);border-radius:50%;border:2px solid var(--s2);box-shadow:0 0 6px var(--g);}
.tb-chip-info{display:none;}
.tb-chip-n{color:var(--g);font-size:.72rem;letter-spacing:1px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tb-chip-s{color:var(--mu);font-size:.58rem;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tb-ibtn{display:flex;align-items:center;gap:5px;width:auto;padding:0 10px;height:36px;background:none;border:1px solid var(--bdr2);color:var(--mu);cursor:pointer;transition:border-color .2s,color .2s,box-shadow .2s;flex-shrink:0;font-family:var(--mono);font-size:.65rem;letter-spacing:1px;}
.tb-ibtn:hover{border-color:var(--g);color:var(--g);box-shadow:0 0 12px var(--gg);}
.tb-ibtn-lbl{display:none;}
.tb-ssh-btn{border-color:var(--pd);color:var(--p);}
.tb-ssh-btn:hover{border-color:var(--p);color:var(--p);box-shadow:0 0 12px var(--pd);}
.tb-exit{border-color:var(--rd);color:var(--r);}
.tb-exit:hover{background:var(--r);color:#fff;border-color:var(--r);}

/* ═══ LAYOUT ══════════════════════════════════════ */
#chat-screen{display:flex;flex-direction:column;height:100vh;position:relative;}
.chat-body{display:flex;flex:1;overflow:hidden;position:relative;z-index:1;}

/* SIDEBAR */
.sidebar{width:230px;flex-shrink:0;display:flex;flex-direction:column;background:rgba(7,9,14,.9);border-right:1px solid var(--bdr);backdrop-filter:blur(24px);z-index:50;transition:transform .28s ease;}
.sb-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--bdr);flex-shrink:0;}
.sb-title{font-size:.6rem;letter-spacing:3px;color:var(--mu);}
.sb-badge{background:var(--gd);color:var(--g);border:1px solid var(--gd);font-family:var(--hd);font-size:.65rem;padding:2px 9px;min-width:26px;text-align:center;}
.sb-list{overflow-y:auto;flex:1;padding:4px 0;}
.sb-foot{padding:10px 14px;border-top:1px solid var(--bdr);flex-shrink:0;}
.sfr{font-size:.58rem;color:var(--mu);letter-spacing:1px;margin-bottom:3px;}
.user-entry{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;border-left:2px solid transparent;transition:background .15s,border-color .15s;}
.user-entry:hover{background:rgba(0,255,159,.04);border-left-color:var(--gd);}
.user-entry.is-me{border-left-color:var(--cd);}
.ue-aw{position:relative;flex-shrink:0;}
.ue-av{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--bdr2);object-fit:cover;display:block;transition:border-color .2s;}
.user-entry:hover .ue-av{border-color:var(--gd);}
.ue-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;background:var(--g);border-radius:50%;border:2px solid var(--s1);box-shadow:0 0 7px var(--g);animation:dotPulse 2.5s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
.ue-inf{min-width:0;flex:1;}
.ue-name{color:var(--gb);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ue-name.me{color:var(--c);}
.ue-status{color:var(--mu);font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;}
.ue-ip{font-size:.54rem;color:var(--mu);opacity:.55;margin-top:1px;font-family:var(--vt);}
.sb-ov{display:none;position:fixed;inset:0;z-index:49;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);}

/* CHAT MAIN */
.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative;}
.msg-feed{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:1px;}
.msg{display:flex;gap:9px;padding:4px 0;animation:msgIn .2s ease;}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.msg.msg-me{flex-direction:row-reverse;}
.msg-av{width:32px;height:32px;min-width:32px;border-radius:50%;border:1.5px solid var(--bdr2);object-fit:cover;cursor:pointer;align-self:flex-start;margin-top:2px;transition:border-color .2s;}
.msg-av:hover{border-color:var(--g);}
.msg-body{max-width:72%;min-width:0;}
.msg.msg-me .msg-body{display:flex;flex-direction:column;align-items:flex-end;}
.msg-meta{display:flex;align-items:center;gap:7px;margin-bottom:4px;}
.msg.msg-me .msg-meta{flex-direction:row-reverse;}
.msg-user{color:var(--g);font-size:.7rem;cursor:pointer;letter-spacing:.5px;}
.msg-user:hover{text-decoration:underline;text-underline-offset:3px;}
.msg-user.me{color:var(--c);}
.msg-time{color:var(--mu);font-size:.6rem;}
.msg-bubble{color:var(--txtb);font-size:clamp(.8rem,3vw,.9rem);word-break:break-word;line-height:1.62;background:var(--s2);border:1px solid var(--bdr);border-left:2px solid var(--bdr2);padding:8px 13px;display:inline-block;max-width:100%;}
.msg.msg-me .msg-bubble{background:rgba(0,255,159,.07);border-color:rgba(0,255,159,.15);border-left:none;border-right:2px solid var(--g);color:#caeede;}
.msg-img{max-width:min(260px,72vw);max-height:190px;border:1px solid var(--bdr2);display:block;cursor:pointer;transition:border-color .2s;margin-top:4px;}
.msg-img:hover{border-color:var(--g);}
.del-btn{background:none;border:none;color:var(--mu);font-size:.62rem;padding:1px 5px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s;}
.msg:hover .del-btn{opacity:1;}
.del-btn:hover{color:var(--r)!important;background:none!important;box-shadow:none!important;}
.sys-msg{color:var(--mu);font-size:.62rem;letter-spacing:2px;padding:8px 0;text-align:center;opacity:.75;}
.sys-msg::before,.sys-msg::after{content:' ─── ';opacity:.35;}
.typing-bar{display:flex;align-items:center;gap:8px;padding:5px 16px;min-height:24px;flex-shrink:0;}
.t-dots{display:flex;gap:3px;align-items:center;}
.t-dots span{width:4px;height:4px;background:var(--g);border-radius:50%;animation:td 1.3s ease-in-out infinite;}
.t-dots span:nth-child(2){animation-delay:.2s}.t-dots span:nth-child(3){animation-delay:.4s}
@keyframes td{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}
.t-text{color:var(--mu);font-size:.65rem;letter-spacing:1px;}
.input-zone{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(7,9,14,.97);border-top:1px solid var(--bdr2);flex-shrink:0;backdrop-filter:blur(24px);}
.iz-inner{flex:1;display:flex;align-items:center;background:var(--s2);border:1px solid var(--bdr2);transition:border-color .2s,box-shadow .2s;min-width:0;}
.iz-inner:focus-within{border-color:var(--g);box-shadow:0 0 16px var(--gg);}
.iz-ps{color:var(--g);padding:0 10px;font-size:.9rem;opacity:.6;flex-shrink:0;}
.iz-inp{flex:1;background:none;border:none;min-width:0;color:var(--gb);font-family:var(--mono);font-size:clamp(.8rem,3.5vw,.92rem);padding:11px 8px 11px 0;outline:none;}
.iz-inp::placeholder{color:var(--mu);}.iz-inp:disabled{opacity:.4;}
.iz-att{width:38px;height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bdr2);color:var(--mu);cursor:pointer;transition:border-color .2s,color .2s;}
.iz-att:hover{border-color:var(--g);color:var(--g);}
.iz-send{display:flex;align-items:center;gap:7px;padding:0 16px;height:38px;background:linear-gradient(135deg,rgba(0,255,159,.12),rgba(0,212,255,.08));border:1px solid var(--g);color:var(--g);font-family:var(--mono);font-size:.72rem;letter-spacing:2px;cursor:pointer;position:relative;overflow:hidden;flex-shrink:0;transition:color .25s;}
.iz-send::before{content:'';position:absolute;inset:0;background:var(--g);transform:translateY(101%);transition:transform .22s;z-index:0;}
.iz-send:hover::before{transform:translateY(0);}
.iz-send:hover{color:var(--bg);}
.iz-send>*{position:relative;z-index:1;}
.iz-send:disabled{opacity:.35;pointer-events:none;}

/* ═══ NODE TOOLTIP ════════════════════════════════ */
.node-tt{position:fixed;z-index:9998;background:rgba(7,9,14,.98);border:1px solid var(--gd);min-width:170px;overflow:hidden;box-shadow:0 0 30px rgba(0,255,159,.1),0 10px 40px rgba(0,0,0,.7);animation:ttIn .18s ease;}
@keyframes ttIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.ntt-bar{height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);}
.ntt-bd{display:flex;gap:12px;align-items:center;padding:13px 13px 10px;}
.ntt-av-w{position:relative;flex-shrink:0;}
.ntt-av{width:46px;height:46px;border-radius:50%;border:2px solid var(--gd);object-fit:cover;display:block;}
.ntt-ring{position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--gd);animation:nttRing 2.5s ease-in-out infinite;}
@keyframes nttRing{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.1}}
.ntt-n{font-family:var(--hd);color:var(--g);font-size:.75rem;letter-spacing:2px;margin-bottom:3px;}
.ntt-s{color:var(--mu);font-size:.62rem;margin-bottom:4px;}
.ntt-o{color:var(--g);font-size:.58rem;letter-spacing:2px;}
.ntt-btn{width:100%;background:none;border-top:1px solid var(--bdr);color:var(--mu);font-family:var(--mono);font-size:.6rem;padding:7px;cursor:pointer;letter-spacing:1px;transition:all .2s;}
.ntt-btn:hover{background:var(--gd);color:var(--g);}

/* ═══ SSH FULLSCREEN MODAL ════════════════════════ */
.ssh-overlay{position:fixed;inset:0;z-index:800;background:rgba(5,7,12,.95);display:flex;align-items:center;justify-content:center;padding:12px;backdrop-filter:blur(16px);animation:ovIn .2s ease;}
@keyframes ovIn{from{opacity:0}to{opacity:1}}
.ssh-window{width:100%;max-width:900px;height:90vh;max-height:700px;background:var(--s1);border:1px solid var(--gd);display:flex;flex-direction:column;box-shadow:0 0 80px rgba(0,255,159,.1),0 0 200px rgba(0,0,0,.8);animation:mdIn .22s ease;position:relative;}
@keyframes mdIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.ssh-window::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);z-index:1;}
.ssh-titlebar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--s2);border-bottom:1px solid var(--bdr);flex-shrink:0;}
.ssh-tb-l{display:flex;align-items:center;gap:8px;}
.ssh-tbd{width:11px;height:11px;border-radius:50%;}
.ssh-r{background:#ff5f57;box-shadow:0 0 4px #ff5f57;}
.ssh-y{background:#ffbd2e;box-shadow:0 0 4px #ffbd2e;}
.ssh-g{background:#28c840;box-shadow:0 0 4px #28c840;}
.ssh-tb-title{font-family:var(--hd);font-size:.72rem;color:var(--g);letter-spacing:2px;margin-left:8px;}
.ssh-tb-close{background:none;border:none;color:var(--mu);font-size:1rem;cursor:pointer;padding:2px 6px;transition:color .2s;}
.ssh-tb-close:hover{color:var(--r);}
/* SSH Connect Form */
.ssh-form{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.ssh-form-art{text-align:center;padding:28px 20px 20px;border-bottom:1px solid var(--bdr);flex-shrink:0;}
.sfa-icon{font-size:2.5rem;color:var(--g);text-shadow:0 0 20px var(--g);margin-bottom:8px;}
.sfa-title{font-family:var(--hd);color:var(--g);font-size:.9rem;letter-spacing:3px;margin-bottom:4px;}
.sfa-sub{font-size:.65rem;color:var(--mu);letter-spacing:2px;}
.ssh-fields{padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;}
.ssh-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ssh-field{display:flex;flex-direction:column;gap:5px;}
.ssh-field-sm{max-width:140px;}
.ssh-lbl{font-size:.6rem;color:var(--mu);letter-spacing:2px;}
.ssh-inp{width:100%;background:var(--s2);border:1px solid var(--bdr2);color:var(--gb);font-family:var(--mono);font-size:.88rem;padding:11px 14px;outline:none;transition:border-color .2s,box-shadow .2s;}
.ssh-inp:focus{border-color:var(--g);box-shadow:0 0 14px var(--gg);}
.ssh-inp::placeholder{color:var(--mu);}
.ssh-rec-title{font-size:.6rem;color:var(--mu);letter-spacing:2px;padding:0 20px;margin-bottom:8px;}
.ssh-recent-list{padding:0 20px;}
.ssh-rec-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--s2);border:1px solid var(--bdr);margin-bottom:6px;cursor:pointer;transition:border-color .2s;}
.ssh-rec-item:hover{border-color:var(--gd);}
.ssh-rec-lbl{color:var(--g);font-size:.76rem;}
.ssh-rec-time{color:var(--mu);font-size:.6rem;}
.ssh-err{color:var(--r);font-size:.7rem;letter-spacing:1px;min-height:18px;padding:0 20px;}
.ssh-form-btns{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--bdr);flex-shrink:0;}
.ssh-conn-btn{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,rgba(160,80,255,.12),rgba(0,212,255,.08));border:1px solid var(--p);color:var(--p);font-family:var(--mono);font-size:.8rem;letter-spacing:2px;padding:12px;cursor:pointer;position:relative;overflow:hidden;transition:color .25s;}
.ssh-conn-btn::before{content:'';position:absolute;inset:0;background:var(--p);transform:translateX(-101%);transition:transform .3s;z-index:0;}
.ssh-conn-btn:hover::before{transform:translateX(0);}
.ssh-conn-btn:hover{color:#fff;}
.ssh-conn-btn>*{position:relative;z-index:1;}
.ssh-cancel-btn{background:none;border:1px solid var(--rd);color:var(--r);font-family:var(--mono);font-size:.8rem;letter-spacing:2px;padding:12px 24px;cursor:pointer;transition:all .2s;}
.ssh-cancel-btn:hover{background:var(--r);color:#fff;}
/* SSH Terminal */
.ssh-term{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.ssh-term-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--s3);border-bottom:1px solid var(--bdr);flex-shrink:0;}
.ssh-term-bl{display:flex;align-items:center;gap:8px;}
.ssh-tdot-live{width:8px;height:8px;background:var(--g);border-radius:50%;box-shadow:0 0 6px var(--g);animation:dotPulse 1.5s ease-in-out infinite;}
#ssh-term-label{font-size:.72rem;color:var(--g);letter-spacing:1px;}
.ssh-term-br{display:flex;gap:8px;}
.ssh-tbtn{background:none;border:1px solid var(--bdr2);color:var(--mu);font-family:var(--mono);font-size:.6rem;padding:4px 12px;cursor:pointer;letter-spacing:1px;transition:all .2s;}
.ssh-tbtn:hover{border-color:var(--g);color:var(--g);}
.ssh-tbtn-d{border-color:var(--rd);color:var(--r);}
.ssh-tbtn-d:hover{background:var(--r);color:#fff;border-color:var(--r);}
.ssh-output{flex:1;overflow-y:auto;padding:12px 16px;background:#000;font-family:var(--vt);font-size:1.05rem;color:#00ff9f;line-height:1.5;}
.ssh-line{display:block;word-break:break-all;animation:tblIn .1s ease;}
.ssh-line.err{color:var(--r);}.ssh-line.sys{color:var(--w);}.ssh-line.cmd{color:var(--c);}
.ssh-input-row{display:flex;align-items:center;gap:0;padding:8px 16px;background:#000;border-top:1px solid #1a2840;flex-shrink:0;}
.ssh-prompt{color:var(--g);font-family:var(--vt);font-size:1.1rem;flex-shrink:0;margin-right:8px;white-space:nowrap;}
.ssh-cmd-inp{flex:1;background:transparent;border:none;outline:none;color:#00ff9f;font-family:var(--vt);font-size:1.1rem;caret-color:#00ff9f;}

/* ═══ MODALS ══════════════════════════════════════ */
.overlay{position:fixed;inset:0;background:rgba(7,9,14,.88);display:flex;align-items:center;justify-content:center;z-index:500;backdrop-filter:blur(14px);padding:12px;animation:ovIn .2s ease;}
.modal-card{background:var(--s1);border:1px solid var(--bdr2);width:100%;max-width:430px;max-height:92vh;overflow-y:auto;position:relative;animation:mdIn .22s ease;box-shadow:0 0 60px rgba(0,0,0,.9),0 0 40px rgba(0,255,159,.04);}
.modal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);z-index:1;}
.modal-tb{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid var(--bdr);}
.modal-ttl{font-family:var(--hd);color:var(--g);font-size:.82rem;letter-spacing:2px;display:flex;align-items:center;}
.modal-x{background:none;border:none;color:var(--mu);font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s;}
.modal-x:hover{color:var(--r);background:none;box-shadow:none;}
.modal-bd{padding:18px 20px 22px;}
.mc-top{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.mc-av-w{position:relative;flex-shrink:0;}
.mc-av{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid var(--bdr2);display:block;}
.mc-ring{position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--gd);animation:orbSpin 5s linear infinite;}
.mc-cam{position:absolute;bottom:-2px;right:-2px;width:23px;height:23px;border-radius:50%;background:var(--s3);border:1px solid var(--gd);color:var(--g);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;}
.mc-cam:hover{background:var(--g);color:var(--bg);}
.mc-un{font-family:var(--hd);color:var(--g);font-size:.9rem;letter-spacing:2px;}
.mc-nid{font-size:.58rem;color:var(--mu);letter-spacing:1px;margin-top:3px;}
.mc-obadge{font-size:.62rem;letter-spacing:1px;margin-top:4px;}
.mc-lbl{display:block;font-size:.6rem;color:var(--mu);letter-spacing:2px;margin:13px 0 5px;}
.mc-inp{width:100%;background:var(--s2);border:1px solid var(--bdr2);color:var(--gb);font-family:var(--mono);font-size:.84rem;padding:10px 13px;outline:none;resize:none;transition:border-color .2s,box-shadow .2s;}
.mc-inp:focus{border-color:var(--g);box-shadow:0 0 14px var(--gg);}
.mc-inp::placeholder{color:var(--mu);}
.mc-ta{resize:vertical;min-height:70px;}
.mc-rb{color:var(--txtb);font-size:.82rem;background:var(--s2);border:1px solid var(--bdr);padding:10px 13px;min-height:36px;line-height:1.62;word-break:break-word;margin-bottom:2px;}
.mc-btns{display:flex;gap:10px;margin-top:16px;}
.mc-btn{flex:1;background:none;border:1px solid var(--g);color:var(--g);font-family:var(--mono);font-size:.74rem;padding:10px 14px;cursor:pointer;letter-spacing:1px;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.mc-btn:hover{background:var(--g);color:var(--bg);}
.mc-d{border-color:var(--r);color:var(--r);}
.mc-d:hover{background:var(--r);color:#fff;}

/* ABOUT MODAL */
.about-card{max-width:540px;}
.about-hero{text-align:center;padding:24px 20px 16px;border-bottom:1px solid var(--bdr);}
.about-hex{font-size:3rem;color:var(--g);text-shadow:0 0 30px var(--g);animation:corePulse 2s ease-in-out infinite;}
.about-title{font-family:var(--hd);color:var(--g);font-size:1.6rem;letter-spacing:5px;margin:8px 0 4px;}
.about-ver{font-size:.62rem;color:var(--mu);letter-spacing:3px;}
.about-desc{color:var(--txt);font-size:.82rem;line-height:1.7;padding:16px 0;border-bottom:1px solid var(--bdr);margin-bottom:16px;}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.af-item{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--s2);border:1px solid var(--bdr);}
.af-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px;}
.af-title{color:var(--g);font-size:.68rem;letter-spacing:1px;margin-bottom:2px;}
.af-desc{color:var(--mu);font-size:.6rem;line-height:1.5;}
.about-footer{font-size:.62rem;color:var(--mu);letter-spacing:1px;text-align:center;border-top:1px solid var(--bdr);padding-top:14px;}

/* IDLE */
#idle-overlay{position:fixed;inset:0;background:rgba(7,9,14,.93);display:none;align-items:center;justify-content:center;z-index:9997;backdrop-filter:blur(18px);padding:16px;}
.idle-card{background:var(--s1);border:1px solid var(--w);padding:clamp(28px,6vw,40px);text-align:center;max-width:320px;width:100%;box-shadow:0 0 60px rgba(255,179,0,.08);}
.idle-icon{font-size:2rem;animation:blink 1s ease-in-out infinite;}
.idle-ttl{font-family:var(--hd);color:var(--w);font-size:.88rem;letter-spacing:3px;margin:10px 0 6px;}
.idle-msg{color:var(--txt);font-size:.76rem;margin-bottom:4px;}
.idle-timer{font-family:var(--hd);color:var(--r);font-size:2.2rem;margin:6px 0 10px;display:block;}
.idle-track{height:2px;background:var(--s4);margin-bottom:20px;}
.idle-fill{height:100%;background:var(--w);transition:width 1s linear;width:100%;}
.idle-btn{width:100%;border:1px solid var(--w);color:var(--w);background:none;font-family:var(--mono);font-size:.76rem;padding:11px;cursor:pointer;letter-spacing:1px;transition:all .2s;}
.idle-btn:hover{background:var(--w);color:var(--bg);}

/* TOASTS */
#toasts{position:fixed;bottom:18px;right:14px;z-index:9999;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:calc(100vw - 28px);}
.ti{background:rgba(7,9,14,.97);border:1px solid var(--gd);color:var(--g);padding:9px 16px;font-size:.7rem;letter-spacing:1px;box-shadow:0 4px 24px rgba(0,0,0,.6);animation:tiIn .25s ease;max-width:300px;}
.ti.err{border-color:var(--rd);color:var(--r);}
@keyframes tiIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

/* GLOBAL BUTTON RESET */
button{font-family:var(--mono);}

/* ═══ RESPONSIVE ══════════════════════════════════ */
@media(min-width:600px){.tb-chip-info{display:block;}.tb-ibtn-lbl{display:inline;}}
@media(min-width:900px){.tb-c{gap:12px;}}
@media(max-width:768px){
  .tb-ham{display:flex;}.tb-c{display:none;}
  .sidebar{position:fixed;top:54px;bottom:0;left:0;transform:translateX(-100%);box-shadow:4px 0 30px rgba(0,0,0,.7);z-index:200;}
  .sidebar.open{transform:translateX(0);}
  .sb-ov.open{display:block;}
  .hkr-scene{width:min(180px,35vw);}
  .hs-holo{width:min(140px,30vw);}
  .msg-body{max-width:80%;}
  .msg-feed{padding:10px;}
  .input-zone{padding:8px;}
  .iz-send span{display:none;}
  .ssh-field-row{grid-template-columns:1fr;}
  .ssh-field-sm{max-width:100%;}
  .about-features{grid-template-columns:1fr;}
}
@media(max-width:400px){
  .hkr-scene{display:none;}
  #auth-screen{align-items:flex-end;padding:0;}
  .auth-card{border-left:none;border-right:none;border-bottom:none;padding:22px 16px;}
  .ac-logo{font-size:1.5rem;}
}
@media(min-width:1100px){.sidebar{width:250px;}.msg-feed{padding:16px 22px;}}
body.admin-body{overflow:auto;}

/* ═══════════════════════════════════════════════
   VIDEO CALL STYLES
   ═══════════════════════════════════════════════ */

/* Incoming call ring overlay */
.vc-ring-overlay{
  position:fixed;inset:0;z-index:950;
  background:rgba(7,9,14,.92);display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(20px);animation:ovIn .3s ease;
}
.vc-ring-card{
  position:relative;text-align:center;padding:40px 50px;
  background:var(--s1);border:1px solid var(--gd);
  box-shadow:0 0 80px rgba(0,255,159,.15);
  animation:mdIn .3s ease;
}
.vc-ring-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);}
.vc-ring-pulse,.vc-ring-pulse2{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  border-radius:50%;border:2px solid var(--g);
  animation:vcRingPulse 2s ease-out infinite;
}
.vc-ring-pulse{width:160px;height:160px;}
.vc-ring-pulse2{width:210px;height:210px;animation-delay:.5s;border-color:var(--gd);}
@keyframes vcRingPulse{0%{transform:translate(-50%,-50%) scale(.9);opacity:.8}100%{transform:translate(-50%,-50%) scale(1.4);opacity:0}}
.vc-caller-av{width:80px;height:80px;border-radius:50%;border:3px solid var(--g);object-fit:cover;display:block;margin:0 auto 14px;position:relative;z-index:1;box-shadow:0 0 24px var(--gd);}
.vc-caller-name{font-family:var(--hd);color:var(--g);font-size:1.1rem;letter-spacing:2px;margin-bottom:6px;}
.vc-ring-label{font-size:.65rem;color:var(--mu);letter-spacing:3px;margin-bottom:28px;}
.vc-ring-btns{display:flex;gap:20px;justify-content:center;}
.vc-ring-accept{
  display:flex;align-items:center;gap:8px;padding:14px 28px;
  background:linear-gradient(135deg,rgba(0,255,159,.2),rgba(0,255,159,.1));
  border:1px solid var(--g);color:var(--g);font-family:var(--mono);
  font-size:.8rem;letter-spacing:2px;cursor:pointer;transition:all .2s;
}
.vc-ring-accept:hover{background:var(--g);color:var(--bg);box-shadow:0 0 30px var(--gd);}
.vc-ring-reject{
  display:flex;align-items:center;gap:8px;padding:14px 28px;
  background:linear-gradient(135deg,rgba(255,45,85,.2),rgba(255,45,85,.1));
  border:1px solid var(--r);color:var(--r);font-family:var(--mono);
  font-size:.8rem;letter-spacing:2px;cursor:pointer;transition:all .2s;
}
.vc-ring-reject:hover{background:var(--r);color:#fff;box-shadow:0 0 30px var(--rd);}

/* Video call screen */
.vc-screen{
  position:fixed;inset:0;z-index:900;
  background:#000;display:flex;flex-direction:column;
  animation:ovIn .3s ease;
}
.vc-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;background:rgba(7,9,14,.95);border-bottom:1px solid var(--bdr);
  flex-shrink:0;z-index:10;backdrop-filter:blur(20px);
}
.vc-header-info{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--g);letter-spacing:1px;}
.vc-header-dot{width:8px;height:8px;background:var(--r);border-radius:50%;box-shadow:0 0 8px var(--r);animation:blink .8s ease-in-out infinite;}
.vc-header-enc{font-size:.6rem;color:var(--mu);letter-spacing:1px;padding:3px 8px;border:1px solid var(--bdr);background:var(--s2);}
.vc-header-timer{font-family:var(--hd);color:var(--g);font-size:.9rem;letter-spacing:3px;}
.vc-header-actions{display:flex;gap:8px;}
.vc-hbtn{background:none;border:1px solid var(--bdr2);color:var(--mu);width:32px;height:32px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.vc-hbtn:hover{border-color:var(--g);color:var(--g);}

/* Videos */
.vc-videos{flex:1;position:relative;overflow:hidden;background:#050810;}
.vc-remote-video{width:100%;height:100%;object-fit:cover;display:block;}
.vc-remote-placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at center,var(--s3),var(--bg));
}
.vc-remote-av-img{width:100px;height:100px;border-radius:50%;border:3px solid var(--gd);object-fit:cover;margin-bottom:14px;box-shadow:0 0 30px var(--gg);}
.vc-local-video{
  position:absolute;bottom:16px;right:16px;
  width:160px;height:110px;object-fit:cover;
  border:2px solid var(--gd);background:var(--s3);
  box-shadow:0 4px 20px rgba(0,0,0,.6);
  cursor:pointer;transition:transform .2s;
}
.vc-local-video:hover{transform:scale(1.04);}
.vc-local-label{position:absolute;bottom:24px;right:24px;font-size:.58rem;color:var(--g);letter-spacing:2px;background:rgba(0,0,0,.6);padding:2px 6px;}

/* Controls */
.vc-controls{
  display:flex;align-items:center;justify-content:center;gap:16px;
  padding:16px 20px;background:rgba(7,9,14,.97);border-top:1px solid var(--bdr);
  flex-shrink:0;
}
.vc-ctrl-btn{
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:1px solid var(--bdr2);background:var(--s3);color:var(--txt);
  transition:all .2s;
}
.vc-ctrl-btn:hover{border-color:var(--g);color:var(--g);background:var(--s4);box-shadow:0 0 16px var(--gg);}
.vc-ctrl-btn.muted{border-color:var(--r);color:var(--r);background:rgba(255,45,85,.1);}
.vc-ctrl-end{
  width:60px;height:60px;background:var(--r);border-color:var(--r);color:#fff;
  box-shadow:0 4px 20px var(--rd);
}
.vc-ctrl-end:hover{background:#ff4060;box-shadow:0 4px 30px rgba(255,45,85,.5);color:#fff;}

/* ═══ LOCATION STYLES ═══════════════════════════ */
.tb-loc-btn{border-color:rgba(0,212,255,.3);color:var(--c);}
.tb-loc-btn:hover{border-color:var(--c);color:var(--c);box-shadow:0 0 12px var(--cg);}
.tb-loc-btn.active{border-color:var(--g);color:var(--g);box-shadow:0 0 12px var(--gg);}

.loc-card{max-width:460px;}
.loc-bd{padding:16px 20px 20px;}
.lib-icon{font-size:2rem;margin-bottom:10px;}
.lib-title{font-family:var(--hd);color:var(--g);font-size:.8rem;letter-spacing:2px;margin-bottom:8px;}
.lib-desc{color:var(--mu);font-size:.72rem;line-height:1.7;margin-bottom:16px;}
.loc-info-box{text-align:center;padding:16px;background:var(--s2);border:1px solid var(--bdr);margin-bottom:14px;}

.loc-status{
  display:flex;align-items:center;gap:10px;padding:10px 14px;
  border:1px solid var(--bdr);background:var(--s2);margin-bottom:14px;
  font-size:.72rem;letter-spacing:1px;
}
.loc-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.loc-status-idle .loc-status-dot{background:var(--mu);}
.loc-status-active .loc-status-dot{background:var(--g);box-shadow:0 0 8px var(--g);animation:dotPulse 1.5s ease-in-out infinite;}
.loc-status-active{border-color:var(--gd);color:var(--g);}

.loc-data{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:10px 14px;background:var(--s2);border:1px solid var(--bdr);}
.ld-row{display:flex;align-items:center;justify-content:space-between;}
.ld-lbl{font-size:.58rem;color:var(--mu);letter-spacing:2px;}
.ld-val{font-family:var(--vt);color:var(--g);font-size:.95rem;}

.loc-map-wrap{margin-bottom:14px;}
.loc-map-embed{width:100%;height:200px;border:1px solid var(--gd);overflow:hidden;}
.loc-map-embed iframe{width:100%;height:100%;border:none;}

/* ═══ ADMIN VIDEO CALL WATCHER ══════════════════ */
.admin-watch-video{
  width:100%;height:200px;object-fit:cover;border:1px solid var(--gd);
  background:var(--s3);display:block;
}
.admin-watch-placeholder{
  width:100%;height:200px;background:var(--s2);border:1px solid var(--bdr);
  display:flex;align-items:center;justify-content:center;color:var(--mu);
  font-size:.7rem;letter-spacing:2px;
}

/* ═══ CALL BUTTON IN USER LIST ══════════════════ */
.ue-call-btn{
  background:none;border:1px solid var(--gd);color:var(--g);
  font-family:var(--mono);font-size:.55rem;padding:3px 8px;cursor:pointer;
  letter-spacing:1px;transition:all .2s;margin-top:4px;display:flex;align-items:center;gap:4px;
}
.ue-call-btn:hover{background:var(--gd);box-shadow:0 0 10px var(--gg);}
