:root { --bg: #0f0f11; --panel: #161516; --muted: #9aa0a6; --accent: #7f3bf0; --accent-2: #6b2be8; --border: rgba(255,255,255,0.05); } /* RESET */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial; background: linear-gradient(180deg, #0f0f11, #0b0b0c); color: #e9e9ea; line-height: 1.6; overflow-x: hidden; } /* ======================= NAVBAR ======================= */ .topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; border-bottom: 1px solid var(--border); } .brand { font-size: 22px; font-weight: 700; } .nav { display: flex; gap: 22px; } .nav a { color: var(--muted); cursor: pointer; text-decoration: none; font-weight: 500; } .actions { display: flex; gap: 16px; } /* Buttons */ .btn { border: 0; padding: 10px 16px; cursor: pointer; border-radius: 10px; font-weight: 600; } .btn.ghost { border: 1px solid var(--border); background: transparent; color: #fff; } .btn.primary { background: linear-gradient(90deg, var(--accent), var(--accent-2)); color: white; } /* Pill button */ .pill { background: linear-gradient(90deg, var(--accent), var(--accent-2)); padding: 14px 20px; border-radius: 12px; border: 0; cursor: pointer; color: white; font-weight: 700; } /* Hidden */ .hidden { display: none !important; } /* ======================= HERO ======================= */ .hero { padding: 80px 0 40px; text-align: center; } .hero-badge { background: rgba(255,255,255,0.05); padding: 8px 14px; border-radius: 20px; display: inline-block; color: var(--muted); font-size: 14px; margin-bottom: 16px; } .hero-title { font-size: 52px; line-height: 1.1; font-weight: 800; margin-bottom: 12px; } .hero-title span { color: var(--accent); font-size: 64px; display: block; } .hero-sub { max-width: 820px; margin: 18px auto 28px; color: var(--muted); font-size: 18px; } .hero-ctas { display: flex; justify-content: center; gap: 18px; } /* ======================= FEATURES SECTION ======================= */ .features-intro { padding: 40px 0; max-width: 1150px; margin: auto; text-align: center; } .features-intro h2 { font-size: 32px; margin-bottom: 6px; } .features-intro p { color: var(--muted); margin-bottom: 28px; } .feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; } .feature { background: var(--panel); padding: 22px; border-radius: 12px; border: 1px solid var(--border); text-align: left; } .icon { background: rgba(127,59,240,0.08); width: 48px; height: 48px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 10px; } .feature h3 { margin-bottom: 8px; } /* ======================= CARDS ======================= */ .analysis-chooser { padding: 40px 0; max-width: 1150px; margin: auto; text-align: center; } .cards { display: flex; justify-content: center; gap: 28px; } .card { background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent); border: 1px solid var(--border); border-radius: 14px; padding: 24px; width: 45%; position: relative; text-align: left; } .card.recommended { border: 2px solid rgba(127,59,240,0.6); box-shadow: 0 10px 30px rgba(127,59,240,0.1); } .badge { background: var(--accent); color: white; padding: 6px 16px; border-radius: 12px; font-size: 14px; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); } .card-icon { width: 56px; height: 56px; border-radius: 12px; background: rgba(127,59,240,0.1); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 10px; } .card ul { color: var(--muted); padding-left: 20px; margin-bottom: 18px; } .start { width: 100%; padding: 14px; border: 0; border-radius: 12px; cursor: pointer; font-weight: 700; background: linear-gradient(90deg, var(--accent), var(--accent-2)); color: white; } /* ======================= HISTORY ======================= */ .history-section { padding: 20px 0; max-width: 1150px; margin: auto; } .history-item { background: var(--panel); padding: 14px; border-radius: 8px; margin-bottom: 10px; border: 1px solid var(--border); } .muted { color: var(--muted); } .small { font-size: 13px; } /* ======================= FOOTER ======================= */ .foot { text-align: center; padding: 28px 0; color: var(--muted); } /* ======================= MODAL ======================= */ .modal { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; } .modal.hidden { display: none; } .modal-card { background: #121212; padding: 24px; width: 90%; max-width: 600px; border-radius: 14px; position: relative; animation: fadeIn 0.2s ease-out; } .modal-close { position: absolute; top: 14px; right: 14px; cursor: pointer; font-size: 18px; color: var(--muted); background: transparent; border: none; } .modal-card input, .modal-card textarea, .modal-card select { width: 100%; padding: 12px; background: #0f0f11; border: 1px solid #222; border-radius: 10px; margin: 8px 0; color: white; } /* ======================= USER DROPDOWN ======================= */ .user-section { position: relative; cursor: pointer; display: flex; align-items: center; } .user-photo { width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); } .dropdown { position: absolute; top: 50px; right: 0; background: #1b1b1d; padding: 14px; border-radius: 12px; width: 200px; border: 1px solid var(--border); box-shadow: 0 8px 24px rgba(0,0,0,0.35); animation: dropDown 0.2s ease-out; } .dropdown-item { width: 100%; padding: 10px; border-radius: 8px; text-align: left; background: none; border: none; color: #fff; cursor: pointer; } .dropdown-item:hover { background: rgba(255,255,255,0.1); } .danger { color: #ff4d4d; } .dropdown-name { font-weight: 700; margin-bottom: 4px; } .dropdown-email { font-size: 12px; opacity: 0.7; margin-bottom: 10px; } /* ======================= ANIMATIONS ======================= */ @keyframes fadeIn { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } } @keyframes dropDown { from { opacity: 0; transform: translateY(-10px);} to { opacity: 1; transform: translateY(0);} }