:root {
    --bg-black: #050505;
    --text-white: #ffffff;
    --text-muted: #888888;
    --accent-green: #10b981;
    --border-color: #1a1a1a;
}

body, html {
    margin: 0;
    background: var(--bg-black);
    color: var(--text-white);
    font-family: 'Inter', sans-serif;
    height: 100vh;
    overflow: hidden;
}

/* Background Layers */
#particles-js { position: fixed; inset: 0; z-index: 1; pointer-events: none; }
.noise-overlay {
    position: fixed; inset: 0; z-index: 2; opacity: 0.04; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Navigation & Tight Logo */
.top-nav { position: absolute; top: 40px; left: 40px; z-index: 100; }
.logo { 
    display: flex; align-items: center; gap: 6px;
    font-size: 1.35rem; font-weight: 800; color: white; 
    letter-spacing: -1.2px; /* Pulls letters together */
}
.logo span { color: var(--accent-green); margin-left: 0px; }

.hero {
    position: relative; z-index: 10; display: flex; align-items: center;
    justify-content: space-between; height: 100vh; padding: 0 10%; gap: 60px;
}

.hero-left { flex: 0 0 520px; }
.title { font-size: 4.8rem; font-weight: 800; line-height: 1; letter-spacing: -3.5px; margin: 0; color: white; }
.highlight {
    background: linear-gradient(180deg, #fff 40%, #444 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.subtitle { color: var(--text-muted); font-size: 1.1rem; margin: 25px 0 40px; max-width: 440px; }

/* Buttons with Hover Effects */
.btn-container { display: flex; gap: 15px; }
.btn-get-started {
    background: white; color: black; border: none; padding: 14px 42px;
    border-radius: 99px; font-weight: 600; cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-get-started:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
    background: #f0f0f0;
}

.btn-docs {
    background: rgba(255,255,255,0.03); color: white; border: 1px solid var(--border-color);
    padding: 14px 36px; border-radius: 99px; font-weight: 500; cursor: pointer;
    transition: all 0.3s ease;
}
.btn-docs:hover {
    background: rgba(255,255,255,0.08);
    border-color: #444;
}

/* Mac Window Styles */
.hero-right { flex: 1; display: flex; justify-content: flex-end; }
.mac-window {
    width: 100%; max-width: 640px; height: 420px;
    background: #080808; border: 1px solid var(--border-color); border-radius: 14px;
    display: flex; flex-direction: column; box-shadow: 0 50px 100px rgba(0,0,0,0.8);
}
.window-header {
    height: 48px; display: flex; align-items: center; padding: 0 18px;
    border-bottom: 1px solid var(--border-color); position: relative;
}
.traffic-lights { display: flex; gap: 8px; z-index: 5; }
.traffic-lights span { width: 12px; height: 12px; border-radius: 50%; }
.red { background: #ff5f56; } .yellow { background: #ffbd2e; } .green { background: #27c93f; }
.window-title {
    position: absolute; width: 100%; text-align: center; left: 0;
    font-size: 0.75rem; color: #444; font-weight: 500;
}

.window-content { display: flex; flex: 1; overflow: hidden; }
.window-sidebar { width: 170px; background: #060606; border-right: 1px solid var(--border-color); padding: 20px 12px; }
.sidebar-item { font-size: 0.75rem; color: #333; padding: 10px 14px; border-radius: 50px; margin-bottom: 5px; }
.sidebar-item.active { background: #111; color: white; }

.window-body { flex: 1; padding: 30px; overflow-y: auto; display: flex; flex-direction: column; }

/* Chat Bubbles & Avatars */
@keyframes messagePop {
    0% { opacity: 0; transform: translateY(10px) scale(0.98); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.chat-message { display: flex; gap: 14px; margin-bottom: 28px; animation: messagePop 0.5s ease-out forwards; }
.chat-message.user { flex-direction: row-reverse; }

.avatar {
    width: 34px; height: 34px; border-radius: 50%; background: #1a1a1a;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.avatar.user-icon { font-size: 0.65rem; font-weight: 800; color: #666; }

.message-bubble { 
    max-width: 80%; font-size: 0.88rem; line-height: 1.6; color: #ccc;
    background: #111; padding: 12px 18px; border-radius: 14px; border: 1px solid #1c1c1c;
}
.chat-message.user .message-bubble { background: #151515; color: white; }
