:root{--bg:#000;--text:#fff;--muted:#a8a0b8;--red:#ff3048;--purple:#8d35ff;--line:rgba(255,255,255,.1);--glass:rgba(255,255,255,.045)}*{box-sizing:border-box}body{margin:0;background:#000;color:var(--text);font-family:"Ginto ABC","Inter",system-ui,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}.bg-grid{position:fixed;inset:0;background:radial-gradient(circle at 70% 20%,rgba(141,53,255,.35),transparent 28%),radial-gradient(circle at 30% 30%,rgba(255,48,72,.28),transparent 30%),linear-gradient(#000,#000);overflow:hidden}.bg-grid:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(circle,#000 10%,transparent 70%)}.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(22px);box-shadow:0 20px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);border-radius:24px}.auth-page{display:grid;place-items:center;overflow:hidden}.auth-shell{position:relative;z-index:1;width:min(980px,92vw);display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:center}.auth-brand{text-align:center}.avatar-core{position:relative;display:grid;place-items:center;margin:auto}.avatar-core img{width:125px;height:125px;border-radius:50%;object-fit:contain;filter:drop-shadow(0 0 30px rgba(255,48,72,.65))}.avatar-core.large img{width:170px;height:170px}.ring{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;animation:spin 12s linear infinite}.r1{width:190px;height:190px}.r2{width:235px;height:235px;animation-duration:18s}.r3{width:285px;height:285px;animation-duration:25s}.eyebrow{text-transform:uppercase;letter-spacing:5px;color:#cfc7da;font-size:12px}.eyebrow span{display:inline-block;width:7px;height:7px;background:linear-gradient(90deg,var(--red),var(--purple));border-radius:50%;margin-right:8px}h1{font-size:52px;line-height:1;letter-spacing:-2px;margin:12px 0}h1 strong,.auth-brand strong{background:linear-gradient(90deg,var(--red),var(--purple));-webkit-background-clip:text;color:transparent}.muted{color:var(--muted);line-height:1.65}.auth-card{padding:28px}.auth-tabs{background:rgba(255,255,255,.06);padding:5px;border-radius:14px;margin-bottom:24px}.auth-tabs button{width:100%;border:0;color:white;padding:13px;border-radius:10px;background:linear-gradient(90deg,var(--red),var(--purple));font-weight:800}label{display:block;margin:16px 0 8px;text-transform:uppercase;color:#bfb5c9;font-size:12px;font-weight:700}input{width:100%;padding:15px 16px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:white;font-size:15px}input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(255,48,72,.13)}.primary-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;padding:13px 22px;color:white;background:linear-gradient(100deg,var(--red),var(--purple));font-weight:800;cursor:pointer}.ghost-btn{border:1px solid var(--line);background:rgba(255,255,255,.075);color:white;border-radius:13px;padding:13px 22px;font-weight:800}.auth-card .primary-btn{width:100%;margin-top:20px}.tiny{font-size:12px;color:#948aa3;text-align:center}.alert{background:rgba(255,48,72,.12);border:1px solid rgba(255,48,72,.25);padding:12px;border-radius:12px;color:#ffd7dc}.app-page{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;border-radius:0;border-top:0;border-left:0;border-bottom:0;padding:22px;overflow-y:auto}.brand{display:flex;gap:10px;align-items:center;margin-bottom:30px}.brand img{width:42px;height:42px;border-radius:50%}.brand span{display:block;font-size:12px;color:#aaa}nav p{text-transform:uppercase;letter-spacing:4px;color:#777;font-size:11px;margin:28px 0 12px}nav a,.settings{display:block;padding:13px 12px;border-radius:14px;color:#d7d0df;font-weight:700}.settings{position:sticky;bottom:0;margin-top:40px}nav a.active,nav a:hover,.settings:hover{background:rgba(255,255,255,.075);color:white}.workspace{margin-left:250px;width:calc(100% - 250px);min-height:100vh;padding:0 32px 50px}.topbar{height:64px;display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:rgba(0,0,0,.75);backdrop-filter:blur(14px);z-index:5}.icon-btn,.top-actions button{background:rgba(255,255,255,.05);border:1px solid var(--line);color:white;border-radius:12px;padding:10px}.search{width:min(520px,50vw);color:#777;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:18px;padding:13px 18px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.avatar-mini{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--purple));font-weight:900}.page{display:none;max-width:1320px;margin:34px auto 0}.page.active{display:block}.hero{min-height:360px;padding:52px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-100px;top:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,48,72,.45),rgba(141,53,255,.28),transparent 65%);filter:blur(15px)}.hero>*{position:relative;z-index:1}.hero-actions{display:flex;gap:14px;margin-top:24px}.voice-orb{justify-self:center;width:190px;height:190px;border-radius:50%;border:14px solid rgba(255,255,255,.1);background:radial-gradient(circle at 35% 25%,#ff8aa0,var(--purple) 70%);color:white;font-size:46px;box-shadow:0 0 80px rgba(141,53,255,.65);cursor:pointer;animation:pulse 2.8s ease-in-out infinite}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.card{padding:22px}.card span{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:rgba(255,255,255,.08)}.card h3{font-size:34px;margin:25px 0 2px}.card p,.action span{color:var(--muted)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.action{padding:30px;min-height:115px}.action b{display:block;margin-bottom:12px}.panel{padding:34px;min-height:420px}.chat-box{height:340px;border:1px solid var(--line);border-radius:20px;padding:18px;background:rgba(0,0,0,.22);margin:20px 0}.ai-msg{display:inline-block;background:rgba(255,255,255,.08);padding:14px 16px;border-radius:16px}.chat-input{display:flex;gap:12px}.chat-input input{flex:1}.chat-input button:first-child{border:1px solid var(--line);background:rgba(255,255,255,.06);color:white;border-radius:12px;width:48px}.integrations{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.integrations span{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 45px rgba(141,53,255,.5)}50%{transform:scale(1.04);box-shadow:0 0 90px rgba(255,48,72,.8)}}[dir="rtl"] .sidebar{left:auto;right:0}[dir="rtl"] .workspace{margin-left:0;margin-right:250px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.sidebar{width:86px;padding:14px}.brand div,nav p,nav a,.settings{font-size:0}.workspace{margin-left:86px;width:calc(100% - 86px);padding:0 16px 30px}.hero{grid-template-columns:1fr;padding:30px}.voice-orb{width:140px;height:140px;margin-top:28px}.stats,.quick-grid{grid-template-columns:1fr}h1{font-size:42px}}@media(max-width:560px){.sidebar{display:none}.workspace{margin:0;width:100%}.search{display:none}.auth-shell{width:92vw}.auth-card{padding:22px}.avatar-core.large img{width:125px;height:125px}.r1,.r2,.r3{display:none}h1{font-size:36px}}
textarea,select{width:100%;padding:15px 16px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:white;font-size:15px;font-family:inherit}textarea{min-height:120px;resize:vertical}select option{background:#111;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 28px}.form-grid textarea,.form-grid button,.form-grid label{grid-column:1/-1}.inline{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0}.inline input{width:auto}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.item-card{padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.04)}.item-card p{color:var(--muted);line-height:1.55}.item-card small{color:#8d8498}.voice-orb.listening{animation:pulse .7s ease-in-out infinite;background:radial-gradient(circle at 35% 25%,#fff,var(--red) 35%,var(--purple) 78%)}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.top-actions .ghost-btn{display:none}.panel{padding:22px}.hero-actions{flex-wrap:wrap}}

.user-msg{display:block;width:max-content;max-width:78%;margin:14px 0 14px auto;padding:14px 16px;border-radius:16px;background:linear-gradient(100deg,var(--red),var(--purple));color:#fff;font-weight:700;line-height:1.55;white-space:pre-wrap}
.ai-msg{display:block;width:max-content;max-width:78%;margin:14px 0;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;font-weight:700;line-height:1.55;white-space:pre-wrap}
#sendBtn:disabled{opacity:.65;cursor:not-allowed}
.chat-box{overflow-y:auto}

/* HEPIX voice input + speaking states */
#micBtn.listening,
.voice-orb.listening{
  border-color: rgba(255,48,72,.7) !important;
  box-shadow: 0 0 28px rgba(255,48,72,.7), 0 0 60px rgba(141,53,255,.45) !important;
  animation: pulse .75s ease-in-out infinite;
}
.voice-orb.speaking{
  animation: jarvisSpeaking .45s ease-in-out infinite;
  box-shadow: 0 0 40px rgba(255,48,72,.8), 0 0 90px rgba(141,53,255,.75), 0 0 140px rgba(255,48,72,.35);
}
.voice-orb.speaking::after{
  content:"";
  position:absolute;
  inset:-26px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  animation: jarvisWave 1s ease-out infinite;
}
@keyframes jarvisSpeaking{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes jarvisWave{from{transform:scale(.85);opacity:.8}to{transform:scale(1.35);opacity:0}}

/* HEPIX final voice/chat stability fixes */
#micBtn.listening{
  background:linear-gradient(100deg,var(--red),var(--purple)) !important;
  color:#fff !important;
  box-shadow:0 0 28px rgba(255,48,72,.55);
  animation:micPulse .7s ease-in-out infinite;
}
.chat-box{overflow-y:auto;scroll-behavior:smooth}
.user-msg{display:block;width:max-content;max-width:78%;margin:14px 0 14px auto;padding:14px 16px;border-radius:16px;background:linear-gradient(100deg,var(--red),var(--purple));color:#fff;font-weight:700;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-msg{display:block;width:max-content;max-width:78%;margin:14px 0;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;font-weight:700;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.voice-orb.speaking{animation:jarvisSpeaking .45s ease-in-out infinite;box-shadow:0 0 40px rgba(255,48,72,.8),0 0 90px rgba(141,53,255,.75),0 0 140px rgba(255,48,72,.35)}
.voice-orb.speaking::after{content:"";position:absolute;inset:-26px;border-radius:50%;border:1px solid rgba(255,255,255,.22);animation:jarvisWave 1s ease-out infinite}
@keyframes micPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes jarvisSpeaking{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes jarvisWave{from{transform:scale(.85);opacity:.8}to{transform:scale(1.35);opacity:0}}
