:root{
  --bg:#06080f;
  --card:rgba(13,20,36,0.95);
  --card-border:#1b2a44;
  --text:#d6e6ff;
  --muted:#5a7299;
  --accent:#00f0ff;
  --accent-2:#ff2ec4;
  --accent-3:#7c4dff;
  --success:#39ff8c;
  --radius:10px;
  --glow:0 0 8px rgba(0,240,255,0.5), 0 0 24px rgba(0,240,255,0.15);
  --glow-pink:0 0 8px rgba(255,46,196,0.5), 0 0 24px rgba(255,46,196,0.15);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  font-family:'Rajdhani',-apple-system,sans-serif;
  color:var(--text);
  background-color:var(--bg);
  background-image:
    linear-gradient(rgba(0,240,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,240,255,0.03) 1px, transparent 1px),
    radial-gradient(ellipse at top, rgba(124,77,255,0.12), transparent 60%),
    radial-gradient(ellipse at bottom right, rgba(0,240,255,0.06), transparent 50%);
  background-size:40px 40px, 40px 40px, 100% 100%, 100% 100%;
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9997;
  background:repeating-linear-gradient(to bottom, rgba(0,240,255,0.015) 0px, rgba(0,240,255,0.015) 1px, transparent 1px, transparent 4px);
}
body::after{
  content:"";position:fixed;left:0;right:0;height:120px;pointer-events:none;z-index:9996;
  background:linear-gradient(to bottom, transparent, rgba(0,240,255,0.035) 50%, transparent);
  animation:scanBeam 9s linear infinite;
}
@keyframes scanBeam{0%{top:-120px}100%{top:100vh}}

.gb-app{height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}

.gb-topbar{
  height:60px;flex:0 0 60px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;border-bottom:1px solid var(--card-border);
  background:rgba(6,8,15,0.97);z-index:5;
  box-shadow:0 1px 0 rgba(0,240,255,0.08);
}
.gb-topbar-left{display:flex;align-items:center;gap:22px}
.gb-wordmark{
  font-family:'Orbitron',sans-serif;font-weight:900;font-size:17px;
  letter-spacing:3px;text-transform:uppercase;color:var(--text);
  text-shadow:0 0 10px rgba(0,240,255,0.3);
}
.gb-icon-btn{
  width:40px;height:40px;border:none;background:none;border-radius:6px;
  display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;
  transition:color .15s ease, background .15s ease;
}
.gb-icon-btn:hover{color:var(--accent);background:rgba(0,240,255,0.06)}
.gb-icon-btn svg{width:22px;height:22px}
.gb-avatar{
  position:relative;width:34px;height:34px;border-radius:50%;overflow:hidden;
  background:var(--accent-3);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:14px;text-decoration:none;flex:0 0 34px;
  border:1px solid rgba(0,240,255,0.4);box-shadow:0 0 8px rgba(0,240,255,0.25);
}
.gb-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.gb-avatar span{position:relative;z-index:0;font-family:'Orbitron',sans-serif}
.gb-avatar-guest{background:#0d1424;border-color:var(--card-border);box-shadow:none}
.gb-avatar-guest svg{width:18px;height:18px;fill:var(--muted)}
.gb-topbar-right{display:flex;align-items:center;gap:6px}

.gb-body{flex:1;display:flex;min-height:0}

.gb-rail{
  width:64px;flex:0 0 64px;background:rgba(6,8,15,0.97);border-right:1px solid var(--card-border);
  display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:16px;
}
.gb-rail-btn{
  width:44px;height:44px;border:none;background:none;border-radius:8px;
  color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:color .15s ease, background .15s ease;
}
.gb-rail-btn svg{width:21px;height:21px}
.gb-rail-btn.is-active{background:rgba(0,240,255,0.08);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(0,240,255,0.25)}
.gb-rail-btn:hover{color:var(--accent);background:rgba(0,240,255,0.05)}
.gb-rail-more{margin-top:auto;margin-bottom:16px}

.gb-list{
  width:360px;flex:0 0 360px;border-right:1px solid var(--card-border);
  display:flex;flex-direction:column;background:rgba(9,13,24,0.92);
}
.gb-new-convo{
  margin:16px;padding:10px 18px;border-radius:6px;border:1px solid var(--accent);
  background:transparent;color:var(--accent);font-size:14px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;font-family:'Rajdhani',sans-serif;
  display:flex;align-items:center;gap:12px;cursor:pointer;
  transition:all .15s ease;position:relative;overflow:hidden;
}
.gb-new-convo:hover{background:var(--accent);color:#06080f;box-shadow:var(--glow)}
.gb-new-convo-plus{
  width:24px;height:24px;border-radius:50%;background:rgba(0,240,255,0.15);color:inherit;
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;
  flex:0 0 24px;border:1px solid currentColor;
}
.gb-convo-scroll{flex:1;overflow-y:auto;padding-bottom:12px}
.gb-convo-scroll::-webkit-scrollbar{width:8px}
.gb-convo-scroll::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:4px}
.gb-convo-row{
  width:100%;display:flex;align-items:center;gap:16px;padding:11px 16px;
  border:none;border-left:2px solid transparent;background:none;text-align:left;cursor:pointer;
  transition:background .12s ease, border-color .12s ease;
}
.gb-convo-row:hover{background:rgba(0,240,255,0.05);border-left-color:var(--accent)}
.gb-bubble{
  position:relative;width:40px;height:40px;flex:0 0 40px;border-radius:50%;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;overflow:hidden;
  font-weight:700;font-family:'Orbitron',sans-serif;
  box-shadow:0 0 0 1px rgba(255,255,255,0.08), 0 0 10px rgba(0,240,255,0.25);
}
.gb-bubble img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.gb-bubble-initial{position:relative;z-index:0}
.gb-convo-meta{display:flex;flex-direction:column;overflow:hidden}
.gb-convo-name{font-size:14.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-convo-preview{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-empty{padding:16px;color:var(--muted);font-size:13px;line-height:1.5}

.gb-main{
  flex:1;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse at 20% 15%, rgba(124,77,255,0.14), transparent 55%),
    radial-gradient(ellipse at 80% 85%, rgba(0,240,255,0.10), transparent 55%);
}
.gb-welcome{position:relative;z-index:1;padding:70px 72px;max-width:560px}
.gb-main-guest{display:flex;align-items:center;justify-content:center}
.gb-main-guest .gb-welcome{text-align:center;max-width:440px}
.gb-welcome h1{
  font-family:'Orbitron',sans-serif;font-weight:900;font-size:28px;letter-spacing:1px;
  margin:0 0 14px;color:var(--text);text-shadow:0 0 14px rgba(0,240,255,0.25);
}
.gb-welcome p{font-size:16px;color:var(--muted);margin:0 0 34px;font-weight:600}
.gb-welcome-actions{display:flex;gap:22px}
.gb-action-circle{
  width:56px;height:56px;border-radius:50%;border:1.5px solid var(--accent);
  background:transparent;color:var(--accent);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;
}
.gb-action-circle svg{width:22px;height:22px}
.gb-action-circle:hover{background:var(--accent);color:#06080f;box-shadow:var(--glow)}
.gb-welcome-labels{display:flex;gap:22px;margin-top:10px}
.gb-welcome-labels span{width:56px;text-align:center;font-size:10.5px;letter-spacing:.1em;color:var(--muted);font-weight:700;text-transform:uppercase;font-family:'Rajdhani',sans-serif}
.gb-signin-btn{
  display:inline-block;margin-top:8px;padding:11px 26px;border-radius:6px;
  border:1px solid var(--accent);background:transparent;color:var(--accent);
  text-decoration:none;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  transition:all .15s ease;
}
.gb-signin-btn:hover{background:var(--accent);color:#06080f;box-shadow:var(--glow)}

#gb-chat-windows{
  position:fixed;right:16px;bottom:0;display:flex;gap:8px;align-items:flex-end;z-index:50;
}
.gb-chatwin{
  width:280px;background:var(--card);border:1px solid var(--card-border);border-bottom:none;
  border-radius:8px 8px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.5), 0 0 0 1px rgba(0,240,255,0.05);
  display:flex;flex-direction:column;max-height:360px;
  position:relative;overflow:hidden;
}
.gb-chatwin::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent 60%);z-index:2;
}
.gb-chatwin.is-minimized{max-height:auto}
.gb-chatwin.is-minimized .gb-chatwin-body,
.gb-chatwin.is-minimized .gb-chatwin-input{display:none}
.gb-chatwin-title{
  display:flex;align-items:center;gap:8px;padding:9px 10px;
  background:rgba(0,240,255,0.06);color:var(--text);
  border-bottom:1px solid var(--card-border);cursor:pointer;
}
.gb-chatwin-title .gb-bubble{width:24px;height:24px;flex:0 0 24px;font-size:10.5px}
.gb-chatwin-title-name{flex:1;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Rajdhani',sans-serif}
.gb-chatwin-title-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px;width:20px;transition:color .15s ease}
.gb-chatwin-title-btn:hover{color:var(--accent)}
.gb-chatwin-body{flex:1;overflow-y:auto;padding:10px;font-size:13px;background:rgba(6,8,15,0.5)}
.gb-chatwin-body::-webkit-scrollbar{width:6px}
.gb-chatwin-body::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:4px}
.gb-msg{margin-bottom:10px}
.gb-msg-meta{font-size:10.5px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}
.gb-msg-text{
  background:rgba(124,77,255,0.14);border:1px solid rgba(124,77,255,0.3);color:var(--text);
  padding:7px 11px;border-radius:10px;display:inline-block;max-width:85%;
}
.gb-msg.is-me .gb-msg-text{
  background:rgba(0,240,255,0.12);border-color:rgba(0,240,255,0.4);color:var(--text);
  box-shadow:0 0 10px rgba(0,240,255,0.08);
}
.gb-chatwin-input{display:flex;border-top:1px solid var(--card-border)}
.gb-chatwin-input input{
  flex:1;border:none;padding:10px;font-size:13px;outline:none;
  background:#060a14;color:var(--text);font-family:'Rajdhani',sans-serif;font-weight:600;
}
.gb-chatwin-input input::placeholder{color:var(--muted)}
.gb-chatwin-input button{
  border:none;background:none;color:var(--accent);padding:0 14px;cursor:pointer;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  transition:color .15s ease;
}
.gb-chatwin-input button:hover{color:#fff;text-shadow:0 0 6px var(--accent)}

@media (max-width:760px){
  .gb-list{width:100%;flex:1}
  .gb-main{display:none}
  .gb-rail{display:none}
}
