:root {
    --bg: #fffaf5;
    --surface: #ffffff;
    --text: #1f2937;
    --muted: #6b7280;
    --primary: #7c3aed;
    --secondary: #ec4899;
    --accent: #f59e0b;
    --border: #f6e7ff;
    --soft: #fef3c7;
    --shadow: 0 10px 24px rgba(17, 24, 39, 0.07);
}

body {
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(236, 72, 153, 0.14), transparent 24%),
        linear-gradient(135deg, #fffaf5 0%, #fdf2f8 100%);
    color: var(--text);
}

body[data-theme="dark"] {
    --bg: #111827;
    --surface: #1f2937;
    --text: #f9fafb;
    --muted: #cbd5e1;
    --primary: #a78bfa;
    --secondary: #f9a8d4;
    --accent: #fbbf24;
    --border: #374151;
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
    color: var(--text);
}

.site-header {
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(124, 58, 237, 0.08);
}

body[data-theme="dark"] .site-header {
    background: rgba(17,24,39,0.95);
}

.logo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    font-size: 1.2rem;
}

.hero-card {
    background: linear-gradient(135deg, #7c3aed 0%, #ec4899 48%, #f59e0b 100%);
    color: white;
    border-radius: 1.6rem;
    border: 1px solid rgba(255,255,255,0.25);
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.14);
}

.card {
    border-radius: 1.15rem;
    border: 1px solid rgba(124, 58, 237, 0.08);
    box-shadow: var(--shadow);
}

.card-hover {
    transition: transform .22s ease, box-shadow .22s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(17, 24, 39, 0.08);
}

.btn {
    border-radius: 999px;
}

.btn-outline-primary, .btn-primary {
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08);
}

.btn-floating {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    border-radius: 999px;
    display: none;
    z-index: 1000;
}

.ad-slot {
    border: 1px dashed var(--border);
    border-radius: 1rem;
    padding: 1rem;
    text-align: center;
    background: linear-gradient(120deg, var(--surface), var(--soft));
    color: var(--muted);
    margin: 2rem 0;
}

.search-results .result-item {
    border-left: 4px solid var(--primary);
    background: linear-gradient(90deg, rgba(124, 58, 237, 0.03), transparent);
}

.reveal {
    animation: fadeUp 0.8s ease both;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
