:root {
    --hn-bg: #0a0507;
    --hn-bg-2: #120809;
    --hn-card: #1a0d0e;
    --hn-border: #3b1317;
    --hn-red: #e11d48;
    --hn-red-2: #be123c;
    --hn-red-deep: #7f1d2d;
    --hn-gold: #f5c26b;
    --hn-text: #f4e9e9;
    --hn-muted: #9a8284;
    --hn-gradient: linear-gradient(135deg, #e11d48 0%, #be123c 55%, #7f1d2d 100%);
}

* { scrollbar-width: thin; scrollbar-color: var(--hn-red-deep) var(--hn-bg); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--hn-bg); }
::-webkit-scrollbar-thumb { background: var(--hn-red-deep); border-radius: 99px; }

body {
    background:
        radial-gradient(1200px 600px at 85% -10%, rgba(225, 29, 72, 0.16), transparent 60%),
        radial-gradient(900px 500px at -10% 110%, rgba(127, 29, 45, 0.22), transparent 60%),
        var(--hn-bg);
    color: var(--hn-text);
    font-family: 'Inter', system-ui, sans-serif;
    min-height: 100vh;
}

.font-fantasy { font-family: 'Cinzel', serif; letter-spacing: 0.04em; }
.font-display { font-family: 'Cormorant Garamond', serif; }

.hn-logo {
    font-family: 'Cinzel', serif;
    letter-spacing: 0.12em;
    background: linear-gradient(180deg, #ff5f7e 0%, #e11d48 45%, #8f0f2f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 0 32px rgba(225, 29, 72, 0.35);
}

.hn-card {
    background: linear-gradient(180deg, rgba(26, 13, 14, 0.92), rgba(16, 7, 8, 0.95));
    border: 1px solid var(--hn-border);
    border-radius: 1.25rem;
    box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hn-btn-primary {
    background: var(--hn-gradient);
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 999px;
    padding: 0.65rem 1.4rem;
    box-shadow: 0 8px 24px -8px rgba(225, 29, 72, 0.7);
    transition: all 0.2s ease;
}
.hn-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 32px -6px rgba(225, 29, 72, 0.85); filter: brightness(1.08); }

.hn-btn-ghost {
    background: rgba(225, 29, 72, 0.08);
    color: var(--hn-red);
    border: 1px solid var(--hn-border);
    border-radius: 999px;
    padding: 0.55rem 1.2rem;
    font-weight: 600;
    transition: all 0.2s ease;
}
.hn-btn-ghost:hover { background: rgba(225, 29, 72, 0.16); border-color: var(--hn-red-deep); }

.hn-btn-gold {
    background: linear-gradient(135deg, #f5c26b, #d4942a);
    color: #241603;
    font-weight: 700;
    border-radius: 999px;
    border: none;
    box-shadow: 0 8px 28px -8px rgba(245, 194, 107, 0.55);
}

.hn-input {
    width: 100%;
    background: rgba(10, 5, 7, 0.8);
    border: 1px solid var(--hn-border);
    border-radius: 0.75rem;
    padding: 0.7rem 1rem;
    color: var(--hn-text);
    outline: none;
    transition: border 0.2s, box-shadow 0.2s;
}
.hn-input:focus { border-color: var(--hn-red); box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.18); }
.hn-input::placeholder { color: #6b5557; }
select.hn-input option { background: #140a0b; color: var(--hn-text); }

.hn-label { display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--hn-muted); margin-bottom: 0.35rem; }

.hn-chip {
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-size: 0.78rem;
    background: rgba(225, 29, 72, 0.1);
    border: 1px solid rgba(225, 29, 72, 0.28);
    color: #f5a8b8;
}

.hn-glow-text { text-shadow: 0 0 28px rgba(225, 29, 72, 0.55); }
.hn-gold-text {
    background: linear-gradient(180deg, #ffe7ad, #f5c26b 55%, #b97a1e);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hn-nav-link { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 1rem; border-radius: 0.9rem; color: var(--hn-muted); font-weight: 500; transition: all 0.2s; font-size: 0.92rem; }
.hn-nav-link:hover { color: var(--hn-text); background: rgba(225, 29, 72, 0.08); }
.hn-nav-link.active { color: #fff; background: var(--hn-gradient); box-shadow: 0 8px 22px -8px rgba(225, 29, 72, 0.7); }

.hn-divider { height: 1px; background: linear-gradient(90deg, transparent, var(--hn-red-deep), transparent); }

.hn-flame {
    background: radial-gradient(400px 200px at 50% 0%, rgba(225, 29, 72, 0.35), transparent 70%);
}

.avatar-ring {
    padding: 3px;
    background: var(--hn-gradient);
    border-radius: 999px;
    display: inline-block;
}

.avatar-ring-verified {
    padding: 3px;
    background: linear-gradient(135deg, #f5c26b, #b97a1e);
    border-radius: 999px;
    display: inline-block;
}

.like-btn {
    background: linear-gradient(135deg, #22c55e, #15803d);
}
.pass-btn {
    background: linear-gradient(135deg, #f43f5e, #9f1239);
}

.chat-bubble-me {
    background: var(--hn-gradient);
    color: #fff;
    border-radius: 1.1rem 1.1rem 0.2rem 1.1rem;
}
.chat-bubble-them {
    background: rgba(225, 29, 72, 0.12);
    border: 1px solid rgba(225, 29, 72, 0.25);
    color: var(--hn-text);
    border-radius: 1.1rem 1.1rem 1.1rem 0.2rem;
}

.glow-pulse { animation: glowPulse 3s ease-in-out infinite; }
@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.35); }
    50% { box-shadow: 0 0 0 12px rgba(225, 29, 72, 0); }
}

.heart-pop { animation: heartPop 0.4s ease; }
@keyframes heartPop {
    0% { transform: scale(0.6); }
    60% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.danger-zone input, .danger-zone select, .danger-zone textarea { background:#1c0a0c !important; }

table.admin-table { width: 100%; border-collapse: collapse; }
table.admin-table th { text-align: left; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--hn-muted); padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--hn-border); }
table.admin-table td { padding: 0.65rem 0.8rem; border-bottom: 1px solid rgba(59, 19, 23, 0.5); font-size: 0.85rem; }
table.admin-table tr:hover td { background: rgba(225, 29, 72, 0.05); }

.card-pulse { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.card-pulse:hover { transform: translateY(-4px); box-shadow: 0 22px 50px -18px rgba(225, 29, 72, 0.4); }