/* squiggle — game cartridge styles. Carved from public/index.html (Stage 1 monolith split).
   Loads after platform.css; selectors are game-prefixed. */
        /* ── Squiggle Fight (squiggle) battle + results screens ── */
        #sq-battle-screen { display:none; position:absolute; inset:0; z-index:46; background:#050508; flex-direction:column; align-items:center; overflow:hidden; touch-action:none; }
        #sq-battle-header { width:100%; padding:calc(10px + env(safe-area-inset-top)) 16px 6px; text-align:center; flex-shrink:0; }
        #sq-round-label { font-family:monospace; font-size:0.72em; color:#556; letter-spacing:2px; text-transform:uppercase; }
        #sq-prompt-label { font-size:1.05em; font-weight:bold; color:var(--c-brand); margin:4px 0 2px; line-height:1.3; padding:0 8px; }
        #sq-battle-timer { font-family:monospace; font-size:1.8em; font-weight:900; color:var(--c-brand); text-shadow:0 0 12px rgba(255,235,59,0.6); min-height:1.2em; }
        #sq-canvases { display:flex; gap:8px; padding:0 8px; flex:1; min-height:0; width:100%; align-items:center; }
        .sq-panel { display:flex; flex-direction:column; align-items:center; flex:1; min-width:0; min-height:0; }
        .sq-panel canvas { border:3px solid var(--c-border); border-radius:8px; background:#111; display:block; max-width:100%; }
        .sq-panel canvas.sq-winner { border-color:var(--c-brand); box-shadow:0 0 24px rgba(255,235,59,0.45); }
        .sq-player-label { font-family:monospace; font-size:0.82em; font-weight:bold; margin-top:5px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
        #sq-vote-result { display:none; font-family:monospace; font-size:0.85em; font-weight:bold; color:#fff; text-align:center; padding:4px 12px; background:rgba(255,235,59,0.1); border:1px solid rgba(255,235,59,0.3); border-radius:8px; margin:4px 16px 0; flex-shrink:0; }
        #sq-vote-row { display:none; gap:10px; padding:8px 12px calc(10px + env(safe-area-inset-bottom)); width:100%; flex-shrink:0; }
        .sq-vote-btn { flex:1; padding:14px 8px; font-size:1em; font-weight:bold; background:rgba(255,255,255,0.07); border:2px solid #444; border-radius:12px; color:#fff; cursor:pointer; letter-spacing:1px; text-transform:uppercase; }
        .sq-vote-btn:not(:disabled):active { background:rgba(255,235,59,0.2); border-color:var(--c-brand); }
        .sq-vote-btn.sq-voted-choice { background:rgba(46,125,50,0.3); border-color:#2e7d32; }
        .sq-vote-btn:disabled { opacity:0.5; cursor:default; }
        #sq-results-screen { display:none; position:absolute; inset:0; z-index:47; background:rgba(5,5,8,0.97); flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; padding:24px; }
        #sq-results-title { font-size:1.3em; font-weight:900; letter-spacing:3px; color:var(--c-brand); text-align:center; }
        #sq-results-sub { font-family:monospace; font-size:0.8em; color:#556; text-align:center; }
        #sq-results-list { display:flex; flex-direction:column; gap:6px; width:min(340px,90%); }
        .sq-result-row { display:flex; align-items:center; gap:10px; padding:10px 14px; background:rgba(255,255,255,0.05); border-radius:8px; }
        .sq-result-rank { font-family:monospace; font-size:0.9em; color:#556; width:20px; flex-shrink:0; }
        .sq-result-name { flex:1; font-weight:bold; font-size:1em; }
        .sq-result-pts { font-family:monospace; font-size:1em; color:var(--c-brand); font-weight:bold; }

