body {
    background: linear-gradient(180deg, #0a0908 0%, #1a1814 20%, #2d2822 80%, #1a1814 100%);
    position: relative;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: radial-gradient(ellipse at top, transparent 0%, #0a0908 70%),
    radial-gradient(circle at 20% 80%, #2d2822 0%, transparent 30%),
    radial-gradient(circle at 80% 60%, #1a1814 0%, transparent 40%),
    url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="turbulence" baseFrequency="0.95" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)" opacity="0.05"/></svg>');
    z-index: -1;
    pointer-events: none;
}

.stone-texture {
    background: linear-gradient(135deg, #2d2822 0%, #1a1814 50%, #2d2822 100%);
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.8),
    inset 0 -2px 10px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 0, 0, 0.7);
}

.cave-shadow {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(212, 175, 55, 0.1);
}

.glow-text {
    text-shadow: 0 0 20px rgba(212, 175, 55, 0.5), 0 0 40px rgba(212, 175, 55, 0.3);
}

.torch-glow {
    background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
}

.legendary-glow {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 0.8;
    }
    50% {
        opacity: 1;
    }
}

.toast-enter {
    opacity: 0;
    transform: translateY(8px);
}

.toast-show {
    opacity: 1;
    transform: translateY(0);
}

.toast-exit {
    opacity: 0;
    transform: translateY(-6px);
}

.toast-base {
    transition: all 0.35s ease;
}

/* ------------------ Readability Enhancements ------------------ */
/* Lighten the dim gold for body / paragraph level content */
.text-gold-dim { color: #c9b186 !important; }
/* Override opacity variants (escaped slashes) with slightly lighter tones */
.text-gold-dim\/70 { color: #d1b98f !important; }
.text-gold-dim\/60 { color: #c3ab7d !important; }
.text-gold-dim\/50 { color: #b79f71 !important; }

/* Generic paragraph & list scaling */
p, li { font-size: 0.97rem; line-height: 1.6; }
@media (min-width: 768px) {
    p, li { font-size: 1.05rem; }
}

/* Improve contrast inside textured cards */
.stone-texture p,
.stone-texture li,
.stone-texture span,
.stone-texture div { color: rgba(235, 219, 192, 0.82); }

/* Make small meta text slightly larger for readability */
.text-xs { font-size: 0.78rem !important; }
@media (min-width: 768px) {
    .text-xs { font-size: 0.72rem !important; }
}

/* Sharpen heading rendering */
h1, h2, h3, h4 { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

