:root{
  --bg:#000;
  --panel:#0b0b0b;
  --text:#e6ffe6;
  --muted:#6f9b6f;
  --accent:#00ff66;
  --danger:#ff2d55;
  --mono:ui-monospace, "Roboto Mono", Menlo, Monaco, "Courier New", monospace;
}

html,body{
  height:100%;
  margin:0;
  background:linear-gradient(180deg,#000 0%, #050505 100%);
  font-family:var(--mono);
  color:var(--text)
}

.wrap{
  display:flex;
  flex-direction:column;
  height:100vh;
  padding:18px;
  box-sizing:border-box
}

header{
  display:flex;
  align-items:center;
  gap:12px
}

.logo{
  font-size:22px;
  font-weight:700;
  letter-spacing:1px
}

.sub{
  color:var(--muted);
  font-size:13px
}

main{
  flex:1;
  display:flex;
  margin-top:12px
}

.chat{
  flex:1;
  display:flex;
  flex-direction:column;
  border-radius:8px;
  background:linear-gradient(180deg,#070707,#0b0b0b);
  box-shadow:0 0 40px rgba(0,255,102,0.03);
  overflow:hidden;
  border:1px solid #111
}

#messages{
  flex:1;
  padding:14px;
  overflow:auto;
  line-height:1.4;
  white-space:pre-wrap
}

.msg{
  margin-bottom:10px
}

.meta{
  font-size:12px;
  color:var(--muted);
  margin-bottom:4px
}

.name{
  font-weight:700
}

.time{
  color:#6b6b6b;
  margin-left:8px;
  font-size:11px
}

.text{
  display:block;
  padding:8px;
  border-left:3px solid rgba(0,255,102,0.08);
  background:rgba(0,255,102,0.02);
  border-radius:4px
}

footer{
  display:flex;
  gap:8px;
  padding:12px;
  border-top:1px solid #0a0a0a
}

input[type=text]{
  flex:1;
  background:#020202;
  border:1px solid #111;
  padding:10px;
  border-radius:6px;
  color:var(--accent);
  outline:none
}

button{
  background:#060606;
  border:1px solid #222;
  padding:10px 14px;
  border-radius:6px;
  color:var(--accent);
  cursor:pointer
}

.system{
  padding:10px;
  color:#9b9b9b
}

.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.7);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:40
}

.login{
  width:420px;
  max-width:92%;
  background:#070707;
  border:1px solid #222;
  padding:18px;
  border-radius:8px;
  box-shadow:0 10px 60px rgba(0,0,0,0.8);
  color:var(--text)
}

.login h1{
  margin:0 0 8px;
  font-size:24px;
  text-align:center
}

.login p{
  margin:0 0 14px;
  text-align:center;
  color:var(--muted)
}

.row{
  display:flex;
  gap:8px;
  margin-bottom:10px
}

.row input[type=text]{
  flex:1;
  padding:8px;
  border-radius:6px;
  background:#010101;
  border:1px solid #111;
  color:var(--accent)
}

.small{
  font-size:12px;
  color:var(--muted)
}

select{
  background:#010101;
  color:var(--accent);
  border:1px solid #111;
  padding:8px;
  border-radius:6px
}

.copyright{
  margin-top:8px;
  font-size:12px;
  color:#7f7f7f;
  text-align:center
}

.avatar{
  width:36px;
  height:36px;
  border-radius:6px;
  background:#0a0a0a;
  border:1px solid #111;
  display:inline-block;
  margin-right:8px;
  vertical-align:middle
}

@media(max-width:560px){
  .login{
    width:92%
  }
}