/* rizzorroast — game cartridge styles. Carved from public/index.html (Stage 1 monolith split).
   Loads after platform.css; selectors are game-prefixed. */
        /* ── Rizz or Roast ── */
        .rr-screen { display:none; position:absolute; inset:0; z-index:55; background:radial-gradient(circle at 50% 10%,#1a0a2e,#050508 70%); flex-direction:column; align-items:center; overflow-y:auto; color:#fff; padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 20px); gap:14px; }
        .rr-title { font-size:1.4em; font-weight:900; letter-spacing:3px; text-transform:uppercase; }
        .rr-sub { font-family:monospace; font-size:0.82em; color:#888; text-align:center; }
        .rr-timer { font-family:monospace; font-size:2em; font-weight:900; color:var(--c-brand); text-shadow:0 0 12px rgba(255,235,59,0.5); }
        /* Fill screen */
        #rr-template-wrap { background:rgba(255,255,255,0.04); border:1px solid #2a1a4a; border-radius:12px; padding:14px 16px; width:min(420px,92%); line-height:2.2em; font-size:1em; color:#ddd; }
        .rr-blank-input { display:inline-block; min-width:80px; max-width:130px; background:transparent; border:none; border-bottom:2px solid #9c27b0; color:#e040fb; font-weight:bold; font-size:1em; text-align:center; outline:none; padding:0 4px; vertical-align:bottom; }
        .rr-blank-input::placeholder { color:#5a3a6a; font-weight:normal; font-size:0.85em; }
        .rr-blank-input:focus { border-bottom-color:#e040fb; }
        #rr-fill-progress { font-family:monospace; font-size:0.8em; color:#556; }
        .bb-spit-blank { display:inline-block; min-width:80px; max-width:130px; background:transparent; border:none; border-bottom:2px solid #ff9800; color:#ffb74d; font-weight:bold; font-size:1em; text-align:center; outline:none; padding:0 4px; vertical-align:bottom; }
        .bb-spit-blank::placeholder { color:#5a4a2a; font-weight:normal; font-size:0.85em; }
        .bb-spit-blank:focus { border-bottom-color:#5ee6c5; }
        /* Record screen */
        #rr-assembled-text { font-size:1.1em; font-weight:bold; line-height:1.6; text-align:center; color:#fff; background:rgba(255,255,255,0.05); border:1px solid #2a1a4a; border-radius:12px; padding:16px 18px; width:min(420px,92%); }
        #rr-record-btn { width:80px; height:80px; border-radius:50%; border:4px solid #e91e63; background:#1a0010; color:#e91e63; font-size:2em; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .15s; flex-shrink:0; }
        #rr-record-btn.recording { background:#e91e63; color:#fff; animation:rr-pulse 1s infinite; }
        @keyframes rr-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(233,30,99,0.6)} 50%{box-shadow:0 0 0 14px rgba(233,30,99,0)} }
        #rr-record-btn.done { border-color:#2e7d32; color:#2e7d32; background:#001a05; }
        #rr-waveform { display:flex; align-items:center; gap:3px; height:32px; opacity:0; transition:opacity .2s; }
        #rr-waveform.active { opacity:1; }
        .rr-wave-bar { width:4px; background:#e91e63; border-radius:2px; animation:rr-wave 0.5s ease-in-out infinite alternate; }
        @keyframes rr-wave { from{height:4px} to{height:24px} }
        #rr-playback-btn { display:none; background:#1565c0; border:none; border-radius:10px; padding:10px 24px; color:#fff; font-weight:bold; font-size:0.88em; cursor:pointer; letter-spacing:1px; }
        #rr-submit-recording-btn { display:none; background:#2e7d32; border:none; border-radius:10px; padding:12px 28px; color:#fff; font-weight:bold; font-size:0.9em; cursor:pointer; letter-spacing:1px; text-transform:uppercase; }
        #rr-skip-recording-btn { background:transparent; border:1px solid #2a1a4a; border-radius:10px; padding:8px 20px; color:#556; font-size:0.8em; cursor:pointer; }
        /* Battle screen */
        #rr-battle-type { font-size:2em; font-weight:900; letter-spacing:4px; }
        #rr-battle-type.RIZZ { color:#ff80ab; text-shadow:0 0 20px rgba(255,128,171,0.6); }
        #rr-battle-type.ROAST { color:#ff6d00; text-shadow:0 0 20px rgba(255,109,0,0.6); }
        .rr-combatant { background:rgba(255,255,255,0.04); border:2px solid #2a1a4a; border-radius:14px; padding:14px 16px; width:min(380px,92%); display:flex; flex-direction:column; gap:8px; }
        .rr-combatant.voted { border-color:#9c27b0; }
        .rr-combatant-name { font-weight:900; font-size:1.1em; letter-spacing:1px; }
        .rr-combatant-text { font-size:0.85em; color:#aaa; font-style:italic; line-height:1.5; }
        .rr-play-btn { background:#1565c0; border:none; border-radius:8px; padding:9px 18px; color:#fff; font-size:0.85em; font-weight:bold; cursor:pointer; align-self:flex-start; }
        .rr-play-btn.playing { background:#7b1fa2; }
        .rr-play-btn.no-audio { background:#263238; color:#546e7a; cursor:default; }
        .rr-vote-btn { border:none; border-radius:10px; padding:11px 20px; font-weight:bold; font-size:0.9em; cursor:pointer; letter-spacing:1px; text-transform:uppercase; transition:opacity .15s; }
        .rr-vote-btn.vote-rizz { background:#ff80ab; color:#1a0010; }
        .rr-vote-btn.vote-roast { background:#ff6d00; color:#fff; }
        .rr-vote-btn:disabled { opacity:.4; cursor:default; }
        #rr-vs { font-size:1.4em; font-weight:900; color:#556; }
        #rr-vote-tally { font-family:monospace; font-size:0.8em; color:#556; text-align:center; }
