﻿/* ============================================================
   default.master.css (v2.3)
   - Root variables + shell (no page-specific rules)
   ============================================================ */

:root {
    /* Theme */
    --qn-bg: #0b1022;
    --qn-text: #eef2f7;
    --qn-muted: #93a4b5;
    /* Accents */
    --qn-primary: #A78BFA; /* purple */
    --qn-accent: #22D3EE; /* cyan */
    /* Surfaces */
    --qn-border: rgba(148,163,184,.24);
    --qn-card: rgba(15,22,38,.80);
    /* FX */
    --qn-shadow: 0 24px 62px rgba(0,0,0,.45);
    --qn-gradient: linear-gradient(135deg, var(--qn-primary), var(--qn-accent));
}

html, body {
    height: 100%;
    background: radial-gradient(1200px 900px at 90% -20%, rgba(34,211,238,.12), transparent 60%), radial-gradient(1000px 700px at 15% -20%, rgba(167,139,250,.12), transparent 60%), var(--qn-bg);
    color: var(--qn-text);
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.qn-body {
    min-height: 100%;
}

/* Main content leaves room for header/footer */
.qn-main {
    min-height: calc(100vh - 160px);
    z-index: 1;
}

/* Footer base (desktop) */
.qn-footer {
    border-top: 1px solid var(--qn-border);
    background: rgba(11,16,34,.55);
    backdrop-filter: blur(8px);
}

.qn-footer-inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 12px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
}

.qn-footer-brand .qn-logo-text {
    font-weight: 800;
    letter-spacing: .4px;
}

.qn-footer-links {
    display: inline-flex;
    gap: 12px;
}

    .qn-footer-links a {
        color: var(--qn-text);
        text-decoration: none;
        opacity: .88;
    }

        .qn-footer-links a:hover {
            opacity: 1;
        }

.qn-footer-copy {
    color: var(--qn-muted);
    font-size: .9rem;
}

/* Buttons shared */
.qn-btn {
    border: 1px solid var(--qn-border);
    background: transparent;
    color: var(--qn-text);
    padding: 10px 14px;
    border-radius: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    transition: transform .16s ease, box-shadow .16s ease;
}

.qn-btn-primary {
    border: 0;
    background: var(--qn-gradient);
    color: #0b1022;
    box-shadow: 0 16px 32px rgba(99,102,241,.28);
}

.qn-btn.wide {
    width: 100%;
    justify-content: center;
}

.qn-btn.ghost {
    background: rgba(17,26,47,.66);
}

.qn-btn:hover {
    transform: translateY(-2px);
}

.qn-btn-primary:hover {
    box-shadow: 0 22px 44px rgba(99,102,241,.38);
}

/* Shared text logo style */
.qn-logo-text {
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: .3px;
}
