/* Responsive Design for Mobile Devices */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
  }
  body:not(.chat-page) {
    width: 200%;
    transform: scale(0.5);
    transform-origin: top left;
  }
  .nav-container, .container, .hero, .highlights, .cta-section, .page-header, .content-section {
    padding-left: 12px;
    padding-right: 12px;
  }
  .hero-content h1 { font-size: 32px; }
  .hero-subtitle { font-size: 18px; }
  .highlights { grid-template-columns: 1fr; }
  .about-grid, .projects-grid, .repos-grid, .contact-grid, .skills-grid, .strength-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .chat-container { padding: 10px; }
  .chat-container #chat { max-width: 100%; border-radius: 8px; }
  .chat-header { padding: 10px; }
  .chat-window { height: 220px; }
  .composer { padding: 8px; }
  .bubble { max-width: 100%; font-size: 14px; }
  .btn, .btn-primary, .btn-secondary { padding: 10px 16px; font-size: 13px; }
  .footer { padding: 10px; font-size: 12px; }
}
@media (max-width: 480px) {
  .hero-content h1 { font-size: 22px; }
  .hero-subtitle { font-size: 14px; }
  .chat-header h1 { font-size: 12px; }
  .bubble { font-size: 12px; }
  .composer input { font-size: 11px; }
  .btn, .btn-primary, .btn-secondary { font-size: 11px; }
}

/* Desktop vs mobile nav */
.nav-toggle{display:none;background:transparent;border:0;font-size:20px;cursor:pointer;color:var(--text)}
.mobile-menu{display:none}
.mobile-menu-content{display:none}

@media (max-width:768px){
  .desktop-menu{display:flex;gap:16px}
  .nav-toggle,.mobile-menu,.mobile-menu-content,.mobile-close{display:none !important}
  body.nav-open{overflow:visible}
}
:root{
  --bg:#ffffff;
  --bg-secondary:#f5f5f5;
  --text:#000000;
  --text-light:#666666;
  --border:#e0e0e0;
  --user-bg:#f0f0f0;
  --bot-bg:#ffffff;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:'Segoe UI',Trebuchet MS,Arial,sans-serif;background:var(--bg);color:var(--text)}

/* Navigation */
.navbar{background:#ffffff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}
.logo{font-weight:700;font-size:18px;text-decoration:none;color:var(--text)}
.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:30px}
.nav-link{text-decoration:none;color:var(--text-light);font-size:14px;transition:color 0.3s}
.nav-link:hover{color:var(--text)}
.nav-link.active{color:var(--text);border-bottom:2px solid var(--text)}
.nav-link-primary{background:#000000;color:#ffffff;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;transition:background 0.3s}
.nav-link-primary:hover{background:#333333}

@media (max-width:768px){
  body.chat-page .nav-link-primary{display:none}
}

/* Container & Layout */
.container{max-width:1200px;margin:0 auto;padding:40px 20px 60px}
body{display:flex;flex-direction:column;min-height:100vh}
.container{flex:1}

body.home-page .container{
  max-width:100%;
  width:100%;
  padding-left:0;
  padding-right:0;
}

@media (max-width: 768px){
  body:not(.chat-page){
    min-height:200vh;
    min-height:200dvh;
  }
}

@media (max-width: 768px) {
  body.chat-page {
    width: 100%;
    transform: none;
    min-height: 100vh;
    min-height: 100dvh;
  }
  body.chat-page .nav-container {
    height: auto;
    align-items: flex-start;
    gap: 10px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  body.chat-page .nav-menu {
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  body.chat-page .chat-container {
    min-height: calc(100vh - 76px);
    min-height: calc(100dvh - 76px);
    padding: 8px;
  }
  body.chat-page .chat-container #chat {
    width: 100%;
    max-width: none;
    height: calc(100vh - 92px);
    height: calc(100dvh - 92px);
  }
  body.chat-page .chat-window {
    height: auto;
    min-height: 0;
    flex: 1;
  }
}

/* Hero Section */
.hero{text-align:center;padding:60px 0;background:linear-gradient(135deg,#ffffff 0%,#f5f5f5 100%)}
.hero-content h1{font-size:48px;margin:0;margin-bottom:10px}
.hero-subtitle{font-size:24px;color:var(--text-light);margin:0 0 10px}
.hero-description{font-size:16px;color:var(--text);max-width:600px;margin:0 auto 30px;line-height:1.6}
.hero-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:500;transition:all 0.3s;cursor:pointer;border:none;font-size:14px}
.btn-primary{background:#000000;color:#ffffff}
.btn-primary:hover{background:#333333}
.btn-secondary{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:#e0e0e0}

/* Highlights */
.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:60px 0;padding:0}
.highlight-card{background:var(--bg-secondary);padding:30px;border-radius:10px;text-align:center}
.highlight-card h3{margin:0 0 10px;font-size:18px}
.highlight-card p{margin:0;color:var(--text-light)}

/* CTA Section */
.cta-section{text-align:center;padding:40px 0;background:var(--bg-secondary);border-radius:10px;margin:40px 0}
.cta-section h2{margin:0 0 10px}
.cta-section p{color:var(--text-light);margin:0 0 20px}
.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* Page Header */
.page-header{text-align:center;padding:40px 0 20px}
.page-header h1{margin:0 0 10px;font-size:36px}
.page-header p{margin:0;color:var(--text-light)}

/* Content Sections */
.content-section{margin:40px 0;padding:20px 0;border-bottom:1px solid var(--border)}
.content-section:last-of-type{border-bottom:none}
.content-section h2{font-size:28px;margin:0 0 20px}
.content-section h3{font-size:20px;margin:20px 0 10px}

/* Grid Layouts */
.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}
.repos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:20px 0}
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:20px 0}
.strength-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:20px 0}

/* Cards */
.project-card,.repo-card,.contact-card,.strength-item{background:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border)}
.project-card h3,.repo-card h3,.contact-card h3{margin:0 0 10px;font-size:18px}
.project-card p,.repo-card p,.contact-card p{margin:0 0 15px;color:var(--text-light)}
.project-skills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}

/* Tags */
.skill-tag{background:#e0e0e0;color:var(--text);padding:4px 10px;border-radius:20px;font-size:12px;display:inline-block}

/* Lists */
.approach-list,.experience-highlights{text-align:left;padding-left:20px;margin:15px 0}
.approach-list li,.experience-highlights li{margin-bottom:10px;line-height:1.6}
.quick-facts{list-style:none;padding:0;margin:15px 0}
.quick-facts li{padding:8px 0;border-bottom:1px solid var(--border)}
.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}

/* Timeline */
.timeline{position:relative;padding-left:40px}
.timeline-item{margin-bottom:30px;position:relative}
.timeline-marker{position:absolute;left:-25px;top:0;width:10px;height:10px;background:#000000;border-radius:50%;border:3px solid #ffffff}
.timeline-item:not(:last-child) .timeline-marker::after{content:'';position:absolute;left:2px;top:10px;width:0;height:20px;border-left:2px solid var(--border)}
.timeline-content h3{margin:0 0 5px;font-size:18px}
.timeline-subtitle{color:var(--text-light);margin:0 0 5px}
.timeline-date{color:var(--text-light);font-size:14px;margin:0 0 10px}

/* Footer */
.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:20px;text-align:center;color:var(--text-light);margin-top:auto}
.footer-links{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:10px}
.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #000000;border-radius:999px;background:var(--bg);text-decoration:none;font-size:18px;line-height:1;transition:transform 0.2s ease,background 0.2s ease;color:#000000}
.footer-icon:hover{background:#e0e0e0;transform:translateY(-1px);color:#000000}
.footer-icon-svg{width:18px;height:18px;display:block}

/* Chat Page Specific */
.chat-container{padding:40px 20px;min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center}
.chat-container #chat{display:flex;flex-direction:column;width:100%;max-width:760px;margin:0 auto;background:var(--bg);border:2px solid var(--text);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,0.12);overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease}
.chat-container #chat:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.16)}

.chat-header{display:flex;align-items:center;padding:18px;border-bottom:2px solid var(--border);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg) 100%)}
.chat-header .title{display:flex;gap:12px;align-items:center}
.chat-header h1{margin:0;font-size:15px;font-weight:700}
.subtitle{margin:0;color:var(--text-light);font-size:11px}
.logo{border-radius:6px}
.chat-window{background:var(--bg);padding:0;height:420px;overflow:auto;flex:1;display:flex;flex-direction:column}

/* Suggestions Area */
.suggestions-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;flex:1}
.suggestions-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}
.suggestions-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text)}
.suggestions-header svg{color:var(--text);stroke-width:2.5;width:14px;height:14px}
.suggestions-subtitle{margin:6px 0 18px;color:var(--text-light);font-size:11px;font-weight:500}
.suggestions-grid{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:480px}
.suggestion-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:7px;padding:11px;font-size:12px;font-weight:500;color:var(--text);cursor:pointer;transition:all 0.2s ease;text-align:center;line-height:1.3}
.suggestion-card:hover{background:#e0e0e0;border-color:var(--text);transform:scale(1.02)}
.suggestion-card:active{transform:scale(0.98)}

.log{display:flex;flex-direction:column;gap:8px;padding:14px;overflow:auto;flex:1}
.message{display:flex;gap:8px;align-items:flex-end;opacity:0;transform:translateY(6px);animation:fadeInUp .18s ease forwards}
.avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0}
.bubble{max-width:75%;padding:9px 11px;border-radius:9px;font-size:12px;line-height:1.4;word-wrap:break-word}
.user{flex-direction:row-reverse}
.user .avatar{background:#333333;color:#ffffff}
.user .bubble{background:#f0f0f0;color:var(--text);border:1px solid var(--border);border-bottom-right-radius:2px}
.bot .avatar{background:#000000;color:#ffffff}
.bot .bubble{background:#ffffff;color:var(--text);border:1px solid var(--border);border-bottom-left-radius:2px}
.composer{display:flex;gap:7px;padding:14px;border-top:2px solid var(--border);background:var(--bg-secondary)}
.composer input{flex:1;padding:9px 11px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px}
.composer input:focus{outline:none;border-color:#666666}
.icon-btn{background:transparent;border:0;color:var(--text-light);font-size:14px;cursor:pointer;transition:color 0.2s}
.icon-btn:hover{color:var(--text)}
.send-btn{background:#000000;border:0;color:#ffffff;padding:8px 13px;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:all 0.2s;flex-shrink:0}
.send-btn:hover{background:#333333;transform:scale(1.05)}
.send-btn:active{transform:scale(0.95)}

.typing{display:flex;gap:8px;align-items:center}
.dots{display:inline-block;width:30px}
.dots span{display:inline-block;width:6px;height:6px;background:#999999;border-radius:50%;margin-right:4px;opacity:0.5;animation:typing 1s infinite}
.dots span:nth-child(2){animation-delay:.15s}
.dots span:nth-child(3){animation-delay:.3s}

@keyframes typing{0%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}100%{transform:translateY(0);opacity:.4}}
@keyframes fadeInUp{to{opacity:1;transform:none}}

/* scrollbar */
.chat-window::-webkit-scrollbar{width:5px}
.chat-window::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:10px}
.chat-window::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:10px}
.chat-window::-webkit-scrollbar-thumb:hover{background:#999999}

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .contact-card {
    min-width: 0;
  }
  .footer-icon{width:34px;height:34px;font-size:16px}
  .footer-icon-svg{width:16px;height:16px}
}
