/* ===================== RESET & BASE ===================== */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: var(--font-primary);
    background: #A0724E;
    color: var(--text-color);
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--text-color);
}

/* ===================== BACKGROUND LAYER ===================== */
.bg-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 15% 25%, rgba(212, 160, 23, 0.12) 0%, transparent 45%),
        radial-gradient(ellipse at 85% 75%, rgba(201, 123, 74, 0.10) 0%, transparent 45%);
    z-index: 0;
    pointer-events: none;
}

.bg-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.particle {
    position: absolute;
    background: rgba(212, 160, 23, 0.45);
    border-radius: 50%;
    pointer-events: none;
    animation: floatUp 15s linear infinite;
}

/* ===================== GLASS OVERRIDES ===================== */
.glass {
    background: var(--stone-primary);
    border: 2px solid var(--gold-dark);
    outline: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 18px;
    box-shadow: var(--shadow-panel), var(--shadow-bevel);
    transition: var(--transition-smooth);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.glass:hover {
    border-color: var(--gold);
}

/* ===================== BUTTONS ===================== */
.btn {
    font-family: var(--font-primary);
    font-weight: 700;
    border-radius: 14px;
    cursor: pointer;
    transition: var(--transition-smooth);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: none;
}

.btn-primary {
    background: linear-gradient(160deg, #8C6240 0%, var(--warm-brown) 50%, var(--warm-brown-dark) 100%);
    color: var(--stone-light);
    box-shadow:
        0 6px 18px rgba(90, 60, 25, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        inset 0 -2px 0 rgba(0, 0, 0, 0.18);
    border: 2px solid var(--gold);
    padding: 1.8cqh 4.5cqw;
    font-size: 2cqmin;
}

.btn-primary:hover {
    transform: translateY(-0.3cqh) scale(1.02);
    box-shadow: 0 10px 26px rgba(90, 60, 25, 0.32), 0 0 0 2px var(--gold-light);
    background: linear-gradient(160deg, #9E7040 0%, #7E5838 100%);
}

.btn-primary:active {
    transform: translateY(0) scale(0.98);
}

.btn-secondary {
    background: linear-gradient(160deg, var(--stone-light) 0%, var(--stone-primary) 100%);
    color: var(--warm-brown);
    border: 2px solid var(--gold-dark);
    box-shadow: var(--shadow-panel), var(--shadow-bevel);
    padding: 1.2cqh 2.5cqw;
    font-size: 1.5cqmin;
}

.btn-secondary:hover:not(:disabled) {
    background: linear-gradient(160deg, var(--stone-primary) 0%, var(--stone-dark) 100%);
    border-color: var(--gold);
    box-shadow: var(--shadow-lift), 0 0 14px rgba(212, 160, 23, 0.25);
    transform: translateY(-0.2cqh);
    color: var(--warm-brown-dark);
}

.btn-secondary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.btn-sm {
    padding: 1cqh 2cqw;
    font-size: 1.5cqmin;
    border-radius: 10px;
}

.btn-pulse {
    animation: btnPulse 2s infinite;
}

#btn-start {
    margin-top: 54cqh;
    cursor: pointer;
    max-width: 28.8cqw;
    width: 100%;
    height: auto;
    transition: transform 0.2s ease, filter 0.2s ease;
    filter: drop-shadow(0 4px 12px rgba(90, 60, 25, 0.35));
}

#btn-start:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 6px 18px rgba(212, 160, 23, 0.70));
}

#btn-start:active {
    transform: scale(0.95);
}
