/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#080E1A;
  --bg-card:#111B33;
  --bg-elevated:#1A2A4A;
  --border:#1E3355;
  --text:#E8EDF5;
  --text-secondary:#8899BB;
  --text-muted:#556688;
  --accent:#00D4FF;
  --accent-bg:rgba(0,212,255,0.08);
  --accent-border:rgba(0,212,255,0.2);
  --green:#10B981;
  --green-bg:rgba(16,185,129,0.1);
  --amber:#F59E0B;
  --radius:16px;
  --radius-sm:10px;
  --radius-xs:8px;
  --shadow:0 1px 3px rgba(0,0,0,0.3),0 1px 2px rgba(0,0,0,0.2);
  --shadow-lg:0 8px 32px rgba(0,0,0,0.5);
  --transition:all 0.2s cubic-bezier(0.4,0,0.2,1)
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg);color:var(--text);
  font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden
}
::selection{background:var(--accent);color:var(--bg)}

/* === HERO === */
.hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;padding:40px 24px
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(0,212,255,0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 60%, rgba(139,92,246,0.04) 0%, transparent 60%);
  pointer-events:none
}
.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:48px 48px;opacity:0.2;pointer-events:none
}
.hero-content{position:relative;z-index:1;text-align:center;max-width:720px}
.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 16px;border-radius:999px;
  background:var(--accent-bg);border:1px solid var(--accent-border);
  color:var(--accent);font-size:12px;font-weight:600;
  letter-spacing:0.5px;margin-bottom:24px;
  font-family:'JetBrains Mono',monospace
}
.hero-title{
  font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;
  letter-spacing:-1.5px;line-height:1.1;margin-bottom:20px
}
.gradient-text{
  background:linear-gradient(135deg,var(--accent),#8B5CF6);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent
}
.hero-subtitle{
  font-size:clamp(1rem,2vw,1.2rem);color:var(--text-secondary);
  max-width:580px;margin:0 auto 36px;line-height:1.7
}
.hero-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:var(--radius-xs);
  background:var(--accent);color:var(--bg);
  font-family:'Inter',sans-serif;font-size:15px;font-weight:700;
  border:none;cursor:pointer;transition:var(--transition)
}
.hero-cta:hover{opacity:0.9;box-shadow:0 0 30px rgba(0,212,255,0.3);transform:translateY(-1px)}

/* === FEATURES === */
.features{padding:80px 24px 100px;max-width:1100px;margin:0 auto}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:768px){.features-grid{grid-template-columns:1fr}}
.feature-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);padding:32px;
  transition:var(--transition)
}
.feature-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.feature-icon{
  width:48px;height:48px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:18px
}
.feature-card h3{font-size:18px;font-weight:700;margin-bottom:10px;letter-spacing:-0.3px}
.feature-card p{font-size:14px;color:var(--text-secondary);line-height:1.7}

/* === CHAT SECTION === */
.chat-section{padding:40px 24px 80px}
.chat-container{
  max-width:640px;margin:0 auto;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg)
}
.chat-header{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;border-bottom:1px solid var(--border);
  background:var(--bg-elevated)
}
.chat-avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--accent-bg);border:1px solid var(--accent-border);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:var(--accent);
  font-family:'JetBrains Mono',monospace;flex-shrink:0
}
.chat-title{font-size:14px;font-weight:600}
.chat-status{font-size:11px;color:var(--green);display:flex;align-items:center;gap:5px;margin-top:1px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.chat-reset{
  margin-left:auto;background:none;border:none;
  color:var(--text-muted);font-size:18px;cursor:pointer;
  padding:4px 8px;border-radius:4px;transition:var(--transition)
}
.chat-reset:hover{color:var(--text);background:var(--bg-card)}

.chat-messages{
  height:400px;overflow-y:auto;padding:16px 20px;
  display:flex;flex-direction:column;gap:10px
}
.chat-messages::-webkit-scrollbar{width:4px}
.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}

.message{display:flex;max-width:85%;animation:fadeIn 0.3s ease-out}
.message.bot{align-self:flex-start}
.message.user{align-self:flex-end}
.msg-bubble{
  padding:12px 16px;border-radius:var(--radius-sm);
  font-size:14px;line-height:1.6
}
.bot .msg-bubble{
  background:var(--bg-elevated);border:1px solid var(--border);
  color:var(--text)
}
.user .msg-bubble{
  background:var(--accent-bg);border:1px solid var(--accent-border);
  color:var(--accent)
}
.msg-bubble strong{color:var(--accent)}
.msg-bubble em{font-style:normal;color:var(--amber)}

/* Typing indicator */
.typing-dots{display:flex;gap:4px;padding:4px 0}
.typing-dots span{
  width:6px;height:6px;border-radius:50%;
  background:var(--text-muted);animation:bounce 1.4s ease-in-out infinite
}
.typing-dots span:nth-child(2){animation-delay:0.16s}
.typing-dots span:nth-child(3){animation-delay:0.32s}
@keyframes bounce{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}

/* Option buttons */
.chat-options{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:12px 20px 4px;border-top:1px solid var(--border)
}
.option-btn{
  padding:8px 16px;border-radius:999px;border:1px solid var(--accent-border);
  background:var(--accent-bg);color:var(--accent);
  font-family:'Inter',sans-serif;font-size:12px;font-weight:600;
  cursor:pointer;transition:var(--transition)
}
.option-btn:hover{background:var(--accent);color:var(--bg);box-shadow:0 0 12px rgba(0,212,255,0.2)}
.option-btn:disabled{opacity:0.3;cursor:not-allowed}

/* Input */
.chat-input-wrap{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border-top:1px solid var(--border);
  background:var(--bg-elevated)
}
.chat-input{
  flex:1;background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-xs);padding:10px 14px;
  color:var(--text);font-family:'Inter',sans-serif;font-size:13px;
  outline:none;transition:var(--transition)
}
.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
.chat-input::placeholder{color:var(--text-muted)}
.chat-send{
  width:38px;height:38px;border-radius:var(--radius-xs);
  background:var(--accent);color:var(--bg);border:none;
  font-size:16px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:var(--transition);flex-shrink:0
}
.chat-send:hover{opacity:0.9;box-shadow:0 0 12px rgba(0,212,255,0.3)}
.chat-send:disabled{opacity:0.3;cursor:not-allowed}

/* === FOOTER === */
.footer{
  padding:24px;border-top:1px solid var(--border);
  text-align:center
}
.footer-inner{
  max-width:640px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--text-muted)
}
.footer-inner a{color:var(--accent);text-decoration:none}
.footer-inner a:hover{text-decoration:underline}

/* === ANIMATIONS === */
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* === RESPONSIVE === */
@media(max-width:640px){
  .hero-title{font-size:2rem}
  .chat-messages{height:320px}
  .message{max-width:92%}
  .footer-inner{flex-direction:column;gap:4px}
  .feature-card{padding:24px}
}
