*{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary:#20808d;--dark:#0a0a0a;--dark2:#151515;
  --dark3:#1f1f1f;--text:#e8e8e8;--text2:#888;--border:#2a2a2a
}
body{font:15px Inter,sans-serif;background:var(--dark);color:var(--text)}


.video-bg{position:fixed;inset:0;opacity:.5;z-index:0}
.video-bg video{width:100%;height:100%;object-fit:cover}
.container-fluid{position:relative;z-index:1}


.sidebar,.main-area{display:flex;flex-direction:column;height:100vh}
.sidebar{background:var(--dark2);border-right:1px solid var(--border)}
.sidebar-header{padding:20px;border-bottom:1px solid var(--border)}
.logo{font-size:22px;font-weight:600;color:var(--primary);margin-bottom:15px}


.btn-new{width:100%;padding:10px;background:var(--primary);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer}
.btn-new:hover,#send:hover{background:#1a6b77}


.history{padding:10px;overflow-y:auto;flex:1}
.history-item,.check{display:flex;align-items:center;cursor:pointer}
.history-item{padding:10px;margin:5px 0;border-radius:6px;font-size:14px;color:var(--text2)}
.history-item:hover,.attach:hover{background:var(--dark3)}
.check{gap:6px;font-size:14px}


.chat-wrapper{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;width:100%}
.messages{flex:1;overflow-y:auto;padding:40px 20px}
.welcome{text-align:center;margin:auto;max-width:600px}
.welcome h2{font-size:28px;margin-bottom:30px}


.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.card{background:var(--dark2);border:1px solid var(--border);color:var(--primary);padding:15px;border-radius:10px;cursor:pointer;text-align:left}
.card:hover{background:var(--dark3);border-color:var(--primary)}
.card strong{display:block;font-size:12px;color:var(--text2);margin-bottom:5px;text-transform:uppercase}


.msg{margin:20px 0;animation:f .3s}
@keyframes f{from{opacity:0;transform:translateY(10px)}to{opacity:1}}
.msg.user{background:var(--dark2);padding:15px;border-radius:12px;border:1px solid var(--border)}
.msg pre,.msg code{background:var(--dark3);border-radius:6px}
.msg pre{padding:12px;overflow-x:auto}
.msg code{padding:2px 6px}


.input-area{padding:10px;border-top:1px solid var(--border)}
.controls {
  margin-bottom: 10px;
  font-size: 13px;
  color: var(--text2);
}
.form-select{max-width:220px;background:var(--dark2);border:1px solid var(--border);color:var(--text);margin-bottom: 10px;}


.input-box{display:flex;gap:10px;background:var(--dark2);border:2px solid var(--border);border-radius:12px;padding:10px;align-items:center}
.input-box:focus-within{border-color:var(--primary)}
.attach{padding:8px;cursor:pointer;border-radius:6px;background:transparent;border:none;color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.attach:hover{background:var(--dark3)}
#preview{
  display:none;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
  padding:10px 15px;
  background:var(--dark2);
  border:1px solid var(--border);
  border-radius:8px;
  font-size:13px;
  color:var(--text);
}
#preview.active{display:flex}
#preview .file-icon{font-size:20px}
#preview .file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#preview .file-remove{
  cursor:pointer;
  padding:4px 8px;
  border-radius:4px;
  color:var(--text2);
  font-size:18px;
  line-height:1;
}
#preview .file-remove:hover{background:var(--dark3);color:var(--text)}


.input-box.drag-over{border-color:var(--primary);background:var(--dark3)}


#input{flex:1;background:transparent;border:none;color:var(--text);font:15px inherit;resize:none;max-height:120px;min-height:24px;line-height:1.5}
#input:focus{outline:none}
#send{background:var(--primary);border:none;padding:8px 10px;border-radius:8px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#send:hover{background:#1a6b77}
.material-symbols-outlined{font-size:20px;line-height:1}


@media(max-width:768px){.sidebar{display:none}.cards{grid-template-columns:1fr}}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}