/* tacostealth — game cartridge styles. Carved from public/index.html (Stage 1 monolith split).
   Loads after platform.css; selectors are game-prefixed. */
        /* ── Sleight of Hands: hide-bonus feedback ── */
        #vp-points-hud.vp-pop { animation: vp-pop 0.35s ease-out; }
        @keyframes vp-pop { 0%{ transform:scale(1);} 35%{ transform:scale(1.55); color:#fff; text-shadow:0 0 14px rgba(255,235,59,1),1px 1px 2px #000;} 100%{ transform:scale(1);} }
        .vp-float { position:fixed; top:calc(86px + env(safe-area-inset-top)); right:18px; z-index:11; font-family:monospace; font-weight:900; font-size:1.6em; color:var(--c-gold); text-shadow:0 0 12px rgba(255,200,0,0.95),1px 1px 2px #000; pointer-events:none; animation: vp-float-up 1.1s ease-out forwards; }
        @keyframes vp-float-up { 0%{ opacity:0; transform:translateY(0) scale(0.6);} 18%{opacity:1;} 100%{ opacity:0; transform:translateY(-70px) scale(1.35);} }

        /* ── Sleight of Hands UI (legacy internal id: tacostealth) ── */
        button, .btn-custom { padding:10px; font-weight:bold; cursor:pointer; border:none; border-radius:6px; background:#333; color:#fff; font-size:0.85em; flex-grow:1; text-align:center; text-transform:uppercase; user-select:none; -webkit-user-select:none; }
        .btn-custom { background:#2e7d32; }
        .cam-load { flex:1; background:#37474f; color:#fff; padding:8px 4px; font-size:0.72em; font-weight:bold; text-align:center; border-radius:6px; cursor:pointer; }
        .cam-load:active { background:#455a64; }

        /* ── Shared Sleight setup: playful hide-and-seek, built around hands ── */
        #ts-setup { width:min(920px,100%); margin:8px auto 30px; position:relative; color:#f7f0df; }
        #ts-setup::before { content:'✋  🤚  🖐️'; position:absolute; right:10px; top:64px; color:rgba(255,255,255,.09); font-size:28px; letter-spacing:5px; transform:rotate(-6deg); pointer-events:none; }
        .ts-setup-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:8px 4px 18px; text-align:left; }
        .ts-kicker,.ts-podium-kicker { color:#ff9f7a; font:900 .7rem 'Nunito',sans-serif; letter-spacing:2.5px; }
        .ts-setup-head h2 { margin:3px 0 0; font-family:'Bungee',sans-serif; font-size:clamp(1.35rem,5vw,2.2rem); line-height:1; letter-spacing:.5px; }
        .ts-change-game { flex:0 0 auto; color:#c5d3e3; font-size:.68rem; border:1px solid #4c5d76; border-radius:999px; padding:8px 12px; }
        .ts-setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
        .ts-setup-card { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0; padding:20px; text-align:left; background:linear-gradient(145deg,rgba(28,38,56,.98),rgba(15,23,37,.98)); border:1px solid #465b78; border-radius:22px; box-shadow:0 13px 30px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05); }
        .ts-setup-card:nth-child(2) { border-color:rgba(140,240,226,.34); }
        .ts-setup-card:nth-child(3) { border-color:rgba(255,159,122,.36); }
        .ts-setup-card::after { content:'✋'; position:absolute; right:-10px; bottom:-24px; opacity:.055; font-size:108px; transform:rotate(-18deg); pointer-events:none; }
        .ts-setup-card h3 { margin:0; font-family:'Bungee',sans-serif; font-size:1rem; color:#fff; letter-spacing:.4px; }
        .ts-setup-card p { margin:-4px 0 2px; color:#aebbd0; font-size:.78rem; line-height:1.4; }
        .ts-step-number { position:absolute; top:12px; right:14px; color:#7186a2; font:900 .65rem 'Nunito',sans-serif; letter-spacing:2px; }
        .ts-step-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,rgba(255,159,122,.2),rgba(140,240,226,.12)); border:1px solid rgba(255,255,255,.18); font-size:1.35rem; }
        .ts-step-photo { grid-column:1/-1; }
        .ts-step-ready { border-color:rgba(140,240,226,.42); background:linear-gradient(145deg,rgba(24,52,55,.96),rgba(12,27,35,.98)); }
        .ts-step-status,.ts-setup-wait,.ts-ready-row { color:#9fc3d2; font:800 .68rem/1.4 'Nunito',sans-serif; letter-spacing:.4px; text-align:center; }
        .ts-step-status { color:#ffb38f; }
        #ts-launch-btn,#podium-ts-launch { background:linear-gradient(135deg,#ff9f7a,#ff6f91); color:#231018; box-shadow:0 8px 22px rgba(255,111,145,.22); }
        #ts-launch-btn:disabled,#podium-ts-launch:disabled { filter:grayscale(.65); opacity:.48; box-shadow:none; }
        .ts-mini-roster { display:flex; flex-wrap:wrap; gap:5px; align-items:center; color:#8fa1b8; font:700 .67rem 'Nunito',sans-serif; line-height:1.5; }
        .ts-mini-roster>span { width:100%; color:#60718a; letter-spacing:1.5px; font-size:.58rem; }
        .ts-mini-roster b { color:#dce6ef; background:#182235; border:1px solid #35445d; border-radius:999px; padding:4px 8px; }
        .ts-preset-picker { display:grid; gap:7px; }
        .ts-preset-picker button { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px; text-align:left; text-transform:none; border:1px solid #35445d; background:#121a29; border-radius:11px; }
        .ts-preset-picker button strong { color:#eef4f8; font-size:.78rem; white-space:nowrap; }
        .ts-preset-picker button span { color:#8294aa; font:700 .61rem monospace; text-align:right; }
        .ts-preset-picker button.is-selected { border-color:#ff9f7a; background:rgba(255,159,122,.12); box-shadow:0 0 0 2px rgba(255,159,122,.12); }
        .ts-preset-picker button:disabled { cursor:default; opacity:.8; }
        #ts-advanced { border-top:1px dashed #40516a; padding-top:8px; }
        #ts-advanced summary { cursor:pointer; color:#9babc0; font:800 .68rem monospace; letter-spacing:1px; text-align:center; }
        .ts-advanced-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; }
        .ts-advanced-grid label { display:flex; justify-content:space-between; align-items:center; gap:8px; color:#9fb0c8; font-size:.68rem; }
        .ts-advanced-grid input[type=number] { width:60px; padding:7px; border:1px solid #40516a; background:#0b111d; color:#fff; border-radius:8px; text-align:center; }
        .ts-advanced-toggle { grid-column:1/-1; justify-content:center!important; }
        .ts-preset-summary { padding:9px 11px; color:#cbd7e4; background:rgba(255,255,255,.04); border:1px dashed #44546a; border-radius:10px; font:800 .66rem/1.5 monospace; text-align:center; }
        .ts-photo-label { margin:2px 0 7px; color:#8195ad; font:800 .61rem 'Nunito',sans-serif; letter-spacing:1.2px; text-align:center; }
        .ts-photo-gallery { display:flex; gap:10px; overflow-x:auto; padding:10px 4px 12px; scrollbar-width:thin; }
        .ts-photo-option { position:relative; flex:0 0 108px; display:flex; flex-direction:column; gap:5px; padding:6px 6px 9px; color:#a8b7c9; background:#f4eee5; border:3px solid transparent; border-radius:10px; text-transform:none; font-size:.62rem; transform:rotate(-1deg); box-shadow:0 6px 14px rgba(0,0,0,.28); }
        .ts-photo-option:nth-child(even) { transform:rotate(1.5deg); }
        .ts-photo-option img { width:100%; height:70px; object-fit:cover; border-radius:6px; }
        .ts-photo-option>span:last-child { color:#3d4654; font-weight:900; }
        .ts-photo-option.is-voted { border-color:#ff9f7a; box-shadow:0 0 0 3px rgba(255,159,122,.2),0 8px 20px rgba(0,0,0,.32); color:#5a2940; }
        .ts-vote-count { position:absolute; top:-9px; right:-7px; min-width:22px; height:22px; display:grid; place-items:center; color:#241018; background:#ff8dad; border:2px solid #fff; border-radius:50%; font:900 .65rem 'Nunito',sans-serif; }
        .ts-empty-photo { padding:17px; color:#7b8ea7; background:rgba(255,255,255,.035); border:1px dashed #52657f; border-radius:14px; text-align:center; font:800 .68rem 'Nunito',sans-serif; letter-spacing:1.1px; }
        .ts-podium-setup { flex-direction:column; gap:9px; align-items:stretch; width:min(390px,92%); padding:14px; background:rgba(9,15,25,.7); border:1px solid #35475e; border-radius:15px; }
        #podium-overlay.ts-setup-podium { justify-content:flex-start; }
        .ts-podium-row { display:flex; gap:8px; }
        .ts-podium-row>* { flex:1; }
        .ts-round-control-copy { margin:0; color:#aebbd0; text-align:center; font-size:.76rem; line-height:1.45; }

        @media (max-width:640px) {
            #ts-setup { width:100%; }
            .ts-setup-grid { grid-template-columns:1fr; }
            .ts-step-photo { grid-column:auto; }
            .ts-setup-head { align-items:center; }
            .ts-setup-card { padding:17px; }
            .ts-preset-picker button { flex-direction:column; align-items:flex-start; }
            .ts-preset-picker button span { text-align:left; }
        }
        @media (prefers-reduced-motion:reduce) { .ts-photo-option,.ts-setup-card { transition:none!important; } }

        #float-tools { display:none!important; }
        #eyedropperBtn.drop-active { background:#1e88e5; border-color:#90CAF9; }
        #eyedropperBtn.ts-attention, .ts-photo-required.ts-attention { animation:ts-attention 1s ease-in-out 4; }
        @keyframes ts-attention { 0%,100%{transform:scale(1);box-shadow:0 2px 8px rgba(0,0,0,.6)} 50%{transform:scale(1.1);border-color:#ffd166;box-shadow:0 0 0 5px rgba(255,209,102,.22),0 0 24px rgba(255,117,76,.85)} }
        /* Finished hiding controls: one quiet command bar, with contextual paint tools. */
        #ui-bar { position:absolute; bottom:calc(10px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(430px,calc(100% - 24px)); box-sizing:border-box; display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:8px; color:#fff; background:rgba(10,14,24,.88); border:1px solid rgba(176,199,232,.35); border-radius:20px; z-index:12; box-shadow:0 12px 36px rgba(0,0,0,.45); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
        .ts-hide-primary { display:flex; align-items:stretch; gap:7px; }
        #modeBtn { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; background:rgba(255,255,255,.055); border-radius:14px; }
        #modeBtn button { min-width:0; min-height:48px; display:flex; align-items:center; justify-content:center; gap:7px; padding:8px 10px; border:1px solid transparent; border-radius:11px; color:#9eacc0; background:transparent; box-shadow:none; opacity:1; touch-action:none; }
        #modeBtn button span { font-size:1.15rem; }
        #modeBtn button strong { font:900 .66rem 'Nunito',sans-serif; letter-spacing:.7px; white-space:nowrap; }
        #modeBtn button.active { color:#fff; }
        #modeBtn button.seg-move.active { background:#286bd1; border-color:#76b7ff; box-shadow:0 4px 14px rgba(40,107,209,.35); }
        #modeBtn button.seg-paint.active { background:#218a64; border-color:#75e7bd; box-shadow:0 4px 14px rgba(33,138,100,.35); }
        #railReadyBtn,#drawerToggle { flex:0 0 54px; min-height:56px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:6px; color:#d6dfec; background:rgba(255,255,255,.06); border:1px solid #42516a; border-radius:14px; font-size:1.05rem; }
        #railReadyBtn small,#drawerToggle small { font:900 .5rem 'Nunito',sans-serif; letter-spacing:.7px; }
        #railReadyBtn.locked { color:#10261e; background:#75e7bd; border-color:#b9ffe5; }
        #drawerToggle[aria-expanded=true] { color:#fff; background:#384865; border-color:#8ca5c8; }
        #ts-mode-help { color:#b9c7d9; font:800 .66rem 'Nunito',sans-serif; letter-spacing:.2px; text-align:center; }
        #ts-paint-tools { display:none; align-items:center; gap:7px; padding-top:7px; border-top:1px solid rgba(255,255,255,.1); }
        #ts-paint-tools.is-visible { display:flex; }
        #ts-paint-tools button { flex:0 0 48px; min-height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:5px; color:#fff; background:rgba(255,255,255,.07); border:1px solid #42516a; border-radius:12px; font-size:1rem; }
        #ts-paint-tools button small { font:900 .48rem 'Nunito',sans-serif; letter-spacing:.5px; }
        #ts-paint-tools #colorSwatch { min-height:44px; background:var(--ts-paint-color,#ff0000); border:3px solid rgba(255,255,255,.8); box-shadow:inset 0 0 0 1px rgba(0,0,0,.35); }
        .ts-brush-control { flex:1; min-width:0; height:44px; display:flex; align-items:center; gap:8px; padding:0 9px; background:rgba(255,255,255,.055); border-radius:12px; }
        #brush-preview { border-radius:50%; background:#fff; box-shadow:0 0 0 2px #08101d,0 0 0 3px rgba(255,255,255,.75); flex-shrink:0; transition:width .1s,height .1s; }
        #brushLabel { color:#dbe6f3; font:900 11px monospace; min-width:18px; text-align:right; }
        #brushSize { flex:1; min-width:0; accent-color:#75e7bd; }
        /* Slide-up drawer */
        #ts-drawer { position:absolute; bottom:calc(100px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(360px,calc(100% - 24px)); display:flex; flex-direction:column; gap:8px; background:rgba(10,14,24,.96); border:1px solid #50617c; border-radius:18px; padding:10px; z-index:13; box-shadow:0 16px 38px rgba(0,0,0,.5); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
        body.ts-paint-mode #ts-drawer { bottom:calc(158px + env(safe-area-inset-bottom)); }
        .ts-drawer-row { display:flex; gap:7px; align-items:center; }
        .ts-drawer-row > * { flex:1 1 0; }
        .ts-drawer-row button { min-height:44px; padding:9px 6px; font-size:0.78em; font-weight:bold; background:rgba(255,255,255,0.07); border:1px solid #3a4a66; border-radius:10px; color:#fff; cursor:pointer; letter-spacing:0.3px; text-transform:uppercase; }
        .ts-drawer-row button:active { background:rgba(255,255,255,0.15); }
        #colorSwatch { cursor:pointer; }
        #undoBtn { background:rgba(198,40,40,0.3) !important; border-color:var(--c-danger) !important; color:#ff8a80 !important; }
        #lockBtn.locked, #railReadyBtn.locked { background:#2e7d32; border-color:#7CFC9A; }
        /* Reactions inside drawer */
        #react-row { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
        #react-row > * { flex:0 0 auto; }
        #react-row button { width:40px; height:40px; font-size:1.1em; padding:0; min-height:0; background:rgba(255,255,255,0.07); border:1px solid #333; border-radius:8px; letter-spacing:0; }
        .modal { position:absolute; top:15%; left:50%; transform:translateX(-50%); background:rgba(20,20,25,0.98); padding:20px; border-radius:12px; border:1px solid #555; display:flex; flex-direction:column; align-items:center; gap:15px; z-index:55; box-shadow:0 10px 40px rgba(0,0,0,0.9); width:280px; max-height:90vh; overflow-y:auto; color:white; }
        #settings-modal { top:calc(64px + env(safe-area-inset-top)); bottom:calc(10px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(330px,calc(100vw - 28px)); max-height:none; box-sizing:border-box; padding:18px; overscroll-behavior:contain; }
        .ts-photo-note { margin-top:7px; color:#aebbd0; font-size:.66em; line-height:1.35; text-align:center; }
        #scoreboard.in-entry { position:static; top:auto; right:auto; bottom:auto; left:auto; transform:none; min-width:0; width:100%; max-width:360px; box-shadow:none; margin:10px auto 0; background:rgba(0,0,0,0.25); }
        #scoreboard.in-entry #score-list { max-height:26vh; }
        .modal-title { font-weight:bold; font-size:1.2em; border-bottom:2px solid #444; padding-bottom:5px; width:100%; text-align:center; }
        .setting-row { display:flex; justify-content:space-between; width:100%; align-items:center; }
        .setting-row input { width:60px; padding:5px; border-radius:4px; border:none; text-align:center; font-weight:bold; }
        #wheelCanvas { border-radius:50%; cursor:crosshair; box-shadow:0 0 10px #000; background:#000; }
        #seeker-overlay { position:absolute; inset:0; background:radial-gradient(circle at 50% 18%,#343b61 0,#171b32 48%,#0d1020 100%); z-index:20; flex-direction:column; align-items:center; justify-content:center; gap:14px; display:none; color:#f3eadc; overflow:hidden; }
        #seeker-overlay::before { content:''; position:absolute; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(255,117,76,.14),transparent 68%); pointer-events:none; }
        #seeker-overlay .boot-title { color:#f3eadc; font-family:'Bungee',sans-serif; font-size:clamp(1.15em,5vw,1.7em); font-weight:900; letter-spacing:2px; z-index:1; }
        #seeker-overlay .boot-timer { color:#ffb36f; font-family:'Bungee',sans-serif; font-size:clamp(3em,14vw,5em); font-weight:900; line-height:.9; text-shadow:0 8px 28px rgba(255,117,76,.38); z-index:1; }
        #ts-flip-cvs { border:2px solid rgba(255,232,207,.24); border-radius:22px; touch-action:none; cursor:pointer; max-height:36vh; box-shadow:0 18px 50px rgba(0,0,0,.35); z-index:1; }
        #ts-flip-score { color:#f3eadc; font-family:'Nunito',sans-serif; font-weight:900; font-size:.78em; letter-spacing:1.2px; text-align:center; z-index:1; }
        #seeker-overlay .boot-sub { color:#9fcfc8; font-family:'Nunito',sans-serif; font-size:.78em; font-weight:900; letter-spacing:1.5px; z-index:1; }
        .emoji-bubble { position:absolute; display:flex; flex-direction:column; align-items:center; z-index:11; pointer-events:none; font-size:2.2em; animation:eb-float 3s ease-out forwards; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.8)); }
        .eb-name { font-size:0.28em; color:#fff; font-family:monospace; background:rgba(0,0,0,0.75); padding:2px 6px; border-radius:3px; white-space:nowrap; margin-top:2px; letter-spacing:1px; }
        @keyframes eb-float { 0%{opacity:1;transform:translateY(0) scale(1)} 25%{transform:translateY(-30px) scale(1.25)} 80%{opacity:1} 100%{opacity:0;transform:translateY(-220px) scale(0.7)} }

        #reconnect-overlay { display:none; position:fixed; inset:0; z-index:600; background:rgba(0,0,8,0.88); flex-direction:column; align-items:center; justify-content:center; color:#fff; font-family:monospace; text-align:center; }
        /* ── Sleight of Hands radial menu ── */
        #hand-menu { position:absolute; z-index:15; display:none; pointer-events:auto; }
        .hand-emoji-btn { position:absolute; font-size:24px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(15,15,20,0.92); border:2px solid #444; cursor:pointer; user-select:none; -webkit-user-select:none; transition:border-color .1s,background .1s; }
        .hand-emoji-btn.selected { border-color:var(--c-brand); background:rgba(255,235,59,0.18); }
        .hand-emoji-btn:active { transform:scale(0.85); }

