/* Base Styles - Typography, Colors, CSS Variables */

body {
    font-family: 'Lora', serif;
    background-color: #F9F7F2; /* Warm Cream */
    color: #1a1a1a;
}

h1, h2, h3, h4, h5, h6, .display-font {
    font-family: 'Playfair Display', serif;
}

:root {
    --ui-accent: rgba(255, 255, 255, 0.97);
    --ui-depth: 999999;
    --ui-blur: 8px;
    --content-fade: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.85) 15%, var(--ui-accent) 40%);
}

/* Pre-release gating (hidden by default) */
[data-prerelease="whistleblower"] {
    display: none !important;
}
html[data-flag-wb="on"] [data-prerelease="whistleblower"] {
    display: block !important;
}

/* Quick Exit / Neutral cover state */
#neutral-cover {
    position: fixed;
    inset: 0;
    background: #ffffff;
    color: #111827;
    z-index: var(--ui-depth);
    display: none;
}
body.neutral #neutral-cover { display: block; }
body.neutral main, body.neutral header, body.neutral nav, body.neutral footer, body.neutral .shaded {
    filter: blur(2px);
    opacity: 0.0;
    pointer-events: none;
}

.quick-exit-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: calc(var(--ui-depth) - 1);
}

@media print {
    .quick-exit-btn { display: none !important; }
}
