/* ── Get Him Alive — project-specific styles ──────────────────────────────── */

:root {
    --project-accent:      #cc2222;
    --project-accent-glow: rgba(204,34,34,0.3);
}

html, body {
    font-family: 'Courier New', monospace;
    /* Push content clear of notch / home indicator */
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px)
             env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
}

/* ── Start overlay ────────────────────────────────────────────────────────── */
#overlay h1 {
    font-size: clamp(20px, 4vw, 48px);
    color: #cc2222;
    letter-spacing: 8px;
    text-transform: uppercase;
    text-shadow: 0 0 30px rgba(204,34,34,0.6);
    margin-bottom: 12px;
    text-align: center;
}

#overlay .sub {
    font-size: clamp(11px, 1.5vw, 16px);
    color: #667;
    letter-spacing: 4px;
    margin-bottom: 40px;
    text-align: center;
}

#overlay .start-btn {
    font-family: inherit;
    font-size: clamp(14px, 2.5vw, 18px);
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #aaa;
    background: none;
    border: 1px solid #444;
    padding: 16px 48px;
    cursor: pointer;
    transition: color 0.3s, border-color 0.3s, box-shadow 0.3s;
    min-height: 48px;
    touch-action: manipulation;
}

#overlay .start-btn:hover,
#overlay .start-btn:active {
    color: #cc2222;
    border-color: #cc2222;
    box-shadow: 0 0 20px rgba(204,34,34,0.3);
}

/* ── Narrative text layer ─────────────────────────────────────────────────── */
#text-layer {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 10;
}

.radio-text {
    position: absolute;
    color: #88aaaa;
    font-size: clamp(12px, 2vw, 22px);
    letter-spacing: 4px;
    opacity: 0;
    text-shadow: 0 0 10px rgba(100,180,180,0.4);
    transition: opacity 0.6s;
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

.radio-text.visible { opacity: 1; }
.radio-text.red     { color: #cc3333; text-shadow: 0 0 10px rgba(204,50,50,0.5); }

#radio-top    { top: 8%; }
#radio-bottom { bottom: 10%; }
#radio-center {
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(16px, 3vw, 36px);
    letter-spacing: 6px;
}

/* ── Scene label (bottom-right corner) ───────────────────────────────────── */
#scene-label {
    position: fixed;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    right: calc(24px + env(safe-area-inset-right, 0px));
    font-size: clamp(10px, 2vw, 11px);
    letter-spacing: 3px;
    color: #333;
    z-index: 10;
    pointer-events: none;
}

/* ── Song progress bar (2px red rule at the very bottom) ─────────────────── */
#progress {
    position: fixed;
    bottom: 0; left: 0;
    height: 2px;
    background: #cc2222;
    z-index: 20;
    transition: width 0.1s linear;
    box-shadow: 0 0 6px rgba(204,34,34,0.5);
}

/* ── Cinematic overlays ───────────────────────────────────────────────────── */
#vignette {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 5;
    background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.7) 100%);
}

#scanlines {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 6;
    opacity: 0.06;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,0,0,0.3) 2px,
        rgba(0,0,0,0.3) 4px
    );
}

/* ── Responsive overrides ─────────────────────────────────────────────────── */
@media (max-width: 540px) {
    #overlay h1   { letter-spacing: 4px; }
    #overlay .sub { letter-spacing: 2px; }
}

@media (max-height: 420px) and (orientation: landscape) {
    #overlay h1       { font-size: 20px; margin-bottom: 6px; }
    #overlay .sub     { margin-bottom: 16px; }
    #overlay .start-btn { padding: 10px 30px; }
}
