        /* SURVIVAL MODE */
        #survival-mode-static-style-marker { display:none; }

            #boardgame-survival-play-section { margin-top: 20px; }
            .survival-play-shell { max-width: 1274px; margin: 0 auto; padding: 20px; border-radius: 20px; border: 1px solid rgba(255, 80, 160, 0.28); background: linear-gradient(180deg, rgba(12, 12, 17, 0.96), rgba(6, 6, 10, 0.98)); color: #f6eef4; box-shadow: 0 22px 60px rgba(0, 0, 0, 0.36); }
            .survival-play-head { position:relative; display:flex; justify-content:center; align-items:center; min-height:62px; gap:12px; margin-bottom:14px; }
            .survival-title-block { text-align:center; }
            .survival-play-title { margin: 0; color: #ff6fb4; text-shadow: 0 0 18px rgba(255, 56, 146, 0.45); }
            .survival-play-sub { margin: 4px 0 0; color: #bfb3bd; font-size: 12px; font-weight: 900; }
            .survival-turn-badge { position:absolute; right:0; top:50%; transform:translateY(-50%); min-width:154px; padding:14px 22px 13px 30px; clip-path:polygon(18% 0, 100% 0, 100% 100%, 0 100%); border:1px solid rgba(255, 105, 178, .38); background:linear-gradient(135deg, rgba(54, 22, 42, .94), rgba(14, 12, 18, .92)); color:#ffd6eb; font-size:14px; font-weight:900; text-align:center; letter-spacing:.04em; text-shadow:0 0 12px rgba(255, 92, 166, .44); box-shadow:0 0 22px rgba(255, 67, 164, .16), inset 0 0 18px rgba(255, 90, 170, .08); }
            .survival-turn-badge.is-com { background:linear-gradient(135deg, rgba(60, 18, 42, .96), rgba(18, 10, 18, .94)); color:#ffbedc; }
            .survival-ammo-badge { position:absolute; left:0; top:50%; transform:translateY(-50%); min-width:154px; padding:14px 34px 13px 24px; clip-path:polygon(0 0, 82% 0, 100% 100%, 0 100%); border:1px solid rgba(255, 105, 178, .38); background:linear-gradient(135deg, rgba(14, 12, 18, .94), rgba(54, 22, 42, .94)); color:#ffd6eb; font-size:14px; font-weight:900; text-align:left; letter-spacing:.04em; text-shadow:0 0 12px rgba(255, 92, 166, .44); box-shadow:0 0 22px rgba(255, 67, 164, .16), inset 0 0 18px rgba(255, 90, 170, .08); display:flex; align-items:center; justify-content:flex-start; gap:8px; }
            .survival-ammo-label { color:#ffbedc; }
            .survival-ammo-track { display:flex; align-items:center; gap:8px; min-width:72px; }
            .survival-ammo-icon { width:9px; height:17px; border-radius:999px; background:linear-gradient(180deg, #ffe2ee 0 16%, #ff5cac 17% 100%); box-shadow:0 0 9px rgba(255, 82, 166, .82), inset 0 -2px 3px rgba(80, 8, 42, .42); transform:rotate(28deg); }
            .survival-score-strip { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
            .survival-score-pill { min-width: 74px; padding: 8px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14); text-align: center; font-size: 11px; font-weight: 900; }
            .survival-score-pill strong { display:block; margin-top: 2px; color: #ffd3e6; font-size: 16px; }
            .survival-setup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
            .survival-setup-card { position: relative; min-height: 172px; border: 1px solid rgba(255, 92, 166, 0.22); border-radius: 14px; background: rgba(255, 255, 255, 0.055); padding: 12px; cursor: pointer; color: inherit; font-family: inherit; font-weight: 900; overflow: hidden; }
            .survival-setup-card:hover, .survival-setup-card.is-selected { border-color: rgba(255, 92, 166, 0.80); box-shadow: 0 0 0 2px rgba(255, 72, 160, 0.16), 0 12px 28px rgba(255, 44, 144, 0.12); }
            .survival-setup-card img { width: 76px; height: 76px; object-fit: contain; display: block; margin: 0 auto 8px; border-radius: 12px; background: rgba(255,255,255,0.92); }
            .survival-setup-card-name { color: #fff; font-size: 13px; line-height: 1.25; min-height: 32px; display: flex; align-items: center; justify-content: center; text-align: center; }
            .survival-setup-card-meta { color: #ffaad2; font-size: 11px; margin-top: 6px; text-align: center; }
            .survival-setup-stage { min-height: 660px; display:flex; align-items:center; justify-content:center; padding: 76px 18px 28px; }
            .survival-deploy-panel { position:relative; z-index:4; width:min(760px, 94%); padding: 18px; border-radius:20px; background:linear-gradient(90deg, rgba(10,10,15,.80), rgba(30,12,24,.86), rgba(10,10,15,.80)); border:1px solid rgba(255,82,166,.38); box-shadow:0 0 30px rgba(255,52,150,.16), inset 0 0 28px rgba(255,82,166,.06); overflow:hidden; animation: survivalDeployOpen .62s cubic-bezier(.18,.84,.24,1) both; transform-origin:center; }
            .survival-deploy-panel::before, .survival-deploy-panel::after { content:''; position:absolute; top:0; bottom:0; width:50%; background:linear-gradient(90deg, rgba(255,71,159,.16), rgba(255,71,159,0)); pointer-events:none; animation: survivalDeployDoor .62s ease both; }
            .survival-deploy-panel::before { left:0; transform-origin:left center; }
            .survival-deploy-panel::after { right:0; transform-origin:right center; scale:-1 1; }
            .survival-setup-stage .survival-center-status { top:58px; min-width:240px; padding:10px 16px; font-size:12px; }
            .survival-deploy-title { position:relative; z-index:2; margin-bottom:12px; text-align:center; color:#ff9dcc; font-size:15px; font-weight:900; letter-spacing:.04em; text-shadow:0 0 12px rgba(255,82,166,.55); opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.56s; }
            .survival-setup-grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin:14px 0; }
            .survival-setup-card { position:relative; border:0; background:transparent; padding:0; cursor:pointer; color:inherit; font-family:inherit; font-weight:900; opacity:0; transform:translateX(var(--fan-x, 0)) scale(.88); animation: survivalCardFadeIn .48s ease forwards; animation-delay:calc(620ms + var(--card-index, 0) * 72ms); }
            .survival-deploy-panel.is-static { animation:none; }
            .survival-deploy-panel.is-static::before, .survival-deploy-panel.is-static::after { display:none; }
            .survival-deploy-panel.is-static .survival-deploy-title,
            .survival-deploy-panel.is-static .survival-setup-help,
            .survival-deploy-panel.is-static .survival-action-row { opacity:1; animation:none; }
            .survival-setup-card.is-static { opacity:1; transform:none; animation:none; }
            .survival-setup-card:hover, .survival-setup-card.is-selected { filter:drop-shadow(0 0 16px rgba(255, 71, 159, .78)); }
            .survival-setup-card.is-selected .survival-front-card { transform:translateY(-8px); }
            .survival-front-card { position:relative; display:block; width:min(132px, 100%); aspect-ratio:351 / 500; margin:0 auto; transition:transform .18s ease; }
            .survival-setup-card .survival-front-frame { position:absolute; inset:0; width:100%; height:100%; margin:0; border-radius:0; background:transparent; object-fit:contain; z-index:2; pointer-events:none; }
            .survival-front-portrait { position:absolute; left:50%; top:47%; width:47%; height:33%; transform:translate(-50%, -50%); display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; z-index:3; pointer-events:none; }
            .survival-setup-card .survival-front-portrait img { width:94%; height:94%; object-fit:contain; display:block; }
            .survival-setup-card-name { position:absolute; left:12%; right:12%; top:8%; z-index:4; color:#fff1f8; font-size:9px; line-height:1.15; max-height:2.3em; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.9); overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; word-break:keep-all; overflow-wrap:anywhere; }
            .survival-name-mobile { display:none; }
            .survival-setup-card-meta { position:absolute; left:13%; right:13%; bottom:12%; z-index:4; color:#ff9dcc; font-size:15px; line-height:1.1; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.92); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
            .survival-setup-help { position:relative; z-index:2; margin:6px auto 0; max-width:560px; color:#d8cbd4; font-size:12px; line-height:1.55; text-align:center; font-weight:900; opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.72s; }
            .survival-setup-stage .survival-action-row { position:relative; z-index:2; opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.78s; }
            .survival-action-row { display: flex; gap: 10px; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 14px; }
            .survival-setup-stage .survival-action-row .survival-btn { min-width: 178px; }
            .survival-btn { min-width: 128px; min-height: 46px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: linear-gradient(135deg, #ff4fa8, #111118); color: #fff; font-family: inherit; font-weight: 900; cursor: pointer; }
            .survival-btn:disabled { opacity: 0.42; cursor: default; }
            .survival-btn.is-dark { background: rgba(255,255,255,0.07); }
            .survival-arena { position: relative; min-height: 884px; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255, 70, 154, 0.25); background: #09090e url('../../boardgame/survival/survival background.jpg') center/cover no-repeat; isolation: isolate; }
            .survival-arena::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 50% 43%, rgba(255, 36, 148, 0.15), rgba(0,0,0,0.12) 36%, rgba(0,0,0,0.55)); z-index:0; pointer-events:none; }
            .survival-blank-stage { display:flex; align-items:center; justify-content:center; }
            .survival-turn-card { position:relative; z-index:4; min-width:320px; padding:24px 34px; border-radius:20px; text-align:center; background:rgba(10,10,15,.86); border:1px solid rgba(255,82,166,.48); box-shadow:0 0 34px rgba(255,61,157,.22), inset 0 0 24px rgba(255,82,166,.08); animation: survivalTurnNoticeIn .48s cubic-bezier(.2,.78,.24,1) both; }
            .survival-turn-card span, .survival-turn-card em { display:block; color:#ffb4d7; font-style:normal; font-size:13px; font-weight:900; letter-spacing:.04em; }
            .survival-turn-card strong { display:block; margin:8px 0 4px; color:#fff6fb; font-size:28px; font-weight:900; text-shadow:0 0 18px rgba(255,82,166,.72); }
            .survival-starter-notice { position:absolute; z-index:12; left:50%; top:50%; transform:translate(-50%, -50%); min-width:300px; pointer-events:none; animation: survivalStarterNoticeIn .48s cubic-bezier(.2,.78,.24,1) both; }
            .survival-starter-notice em { margin-top:8px; color:#fff; font-size:24px; text-shadow:0 0 16px rgba(255,82,166,.8); }
            .survival-arena-top { position:absolute; z-index:6; left:1.5%; right: 3.4%; top:50%; transform:translateY(-50%); display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0; pointer-events:none; }
            .survival-side-panel { width: 239px; min-height: 49px; padding: 7px 13px 9px; border-radius: 11px; background: linear-gradient(90deg, rgba(0,0,0,0.74), rgba(20,14,22,0.62), rgba(0,0,0,0.48)); border: 1px solid rgba(255,255,255,0.13); box-shadow:0 0 22px rgba(255,79,168,0.12), inset 0 0 18px rgba(255,79,168,0.08); }
            .survival-side-panel.is-player { transform:skewX(12deg); }
            .survival-side-panel.is-player > * { transform:skewX(-12deg); }
            .survival-side-panel.is-com { transform:skewX(-12deg); }
            .survival-side-panel.is-com > * { transform:skewX(12deg); }
            .survival-side-panel h4 { margin:0 0 5px; font-size:13px; color:#ffe2ef; letter-spacing:.02em; }
            .survival-side-panel.is-player h4 { text-align:left; }
            .survival-side-panel.is-com h4 { text-align:right; }
            .survival-defence { display:grid; grid-template-columns:repeat(5, 1fr); gap:6px; align-items:center; }
            .survival-defence span { width:100%; height:11px; border-radius:2px; background: linear-gradient(90deg, #ff5faf, #ff8ac8); box-shadow: 0 0 9px rgba(255, 65, 158, 0.6), inset 0 0 4px rgba(255,255,255,0.35); transform:skewX(var(--survival-life-skew, -14deg)); }
            .survival-defence span.is-lost { background: rgba(255,255,255,0.18); box-shadow: inset 0 0 5px rgba(0,0,0,0.45); }
            .survival-defence span.is-draining,
            .boardgame-count-bar > span.is-draining { animation: survivalDefenceDrain var(--boardgame-count-duration, 2000ms) steps(1, end) both; }
            .boardgame-count-bar { display: grid; grid-template-columns: repeat(var(--boardgame-count-max), minmax(0, 1fr)); }
            .boardgame-count-bar > span { display: block; min-width: 0; width: 100%; }
            .survival-side-panel.is-player .survival-defence span { --survival-life-skew: 14deg; }
            .survival-side-panel.is-com .survival-defence span { --survival-life-skew: -14deg; }
            .survival-arena.is-entering .survival-arena-top,
            .survival-arena.is-entering .survival-field-row,
            .survival-arena.is-entering .survival-cylinder-panel,
            .survival-arena.is-entering .survival-fire-button,
            .survival-arena.is-entering .survival-blade-button,
            .survival-arena.is-entering .survival-grenade-button,
            .survival-arena.is-entering .survival-winner-markers,
            .survival-arena.is-entering .survival-center-status { opacity:0; animation: survivalFieldFadeIn .62s ease forwards; }
            .survival-arena.is-intro-pending .survival-arena-top,
            .survival-arena.is-intro-pending .survival-field-row,
            .survival-arena.is-intro-pending .survival-cylinder-panel,
            .survival-arena.is-intro-pending .survival-fire-button,
            .survival-arena.is-intro-pending .survival-blade-button,
            .survival-arena.is-intro-pending .survival-grenade-button,
            .survival-arena.is-intro-pending .survival-revolver-wrap,
            .survival-arena.is-intro-pending .survival-winner-markers,
            .survival-arena.is-intro-pending .survival-center-status { opacity:0; pointer-events:none; }
            .survival-arena.is-entering .survival-arena-top { animation-delay: .08s; }
            .survival-arena.is-entering .survival-field-row.is-com { animation-delay: .18s; }
            .survival-arena.is-entering .survival-field-row.is-player { animation-delay: .26s; }
            .survival-arena.is-entering .survival-cylinder-panel,
            .survival-arena.is-entering .survival-fire-button,
            .survival-arena.is-entering .survival-blade-button,
            .survival-arena.is-entering .survival-grenade-button { animation-delay: .32s; }
            .survival-arena.is-exiting .survival-arena-top,
            .survival-arena.is-exiting .survival-field-row,
            .survival-arena.is-exiting .survival-cylinder-panel,
            .survival-arena.is-exiting .survival-fire-button,
            .survival-arena.is-exiting .survival-blade-button,
            .survival-arena.is-exiting .survival-grenade-button,
            .survival-arena.is-exiting .survival-revolver-wrap,
            .survival-arena.is-exiting .survival-winner-markers,
            .survival-arena.is-exiting .survival-center-status { animation: survivalFieldFadeOut .46s ease both; }
            .survival-music-control { position:absolute; z-index:12; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
            .survival-music-control.is-head { display:none; }
            .survival-music-control.is-arena { right:24px; top:7.5%; transform:translateY(-50%); }
            .survival-music-btn { height:32px; min-width:78px; padding:0 10px; border-radius:999px; border:1px solid rgba(255, 93, 178, .44); background:rgba(18, 12, 20, .88); color:#ffe5f3; display:inline-flex; align-items:center; justify-content:center; gap:5px; font-family:inherit; font-weight:900; font-size:10px; letter-spacing:.02em; cursor:pointer; box-shadow:0 0 16px rgba(255,70,165,.18), inset 0 0 12px rgba(255,90,170,.06); }
            .survival-music-btn.is-on { border-color:rgba(255, 119, 197, .72); background:linear-gradient(135deg, #ff5db4, #5c1f3f); box-shadow:0 0 20px rgba(255, 82, 170, .42), inset 0 0 12px rgba(255,255,255,.12); }
            .survival-music-icon { color:#ff8ccc; font-size:12px; line-height:1; }
            .survival-volume-panel { position:absolute; right:0; top:calc(100% + 8px); bottom:auto; width:190px; padding:11px 14px; border:1px solid rgba(255, 93, 178, .36); border-radius:12px; background:rgba(11, 9, 14, .92); box-shadow:0 0 18px rgba(255,70,165,.18); opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
            .survival-music-control.is-open .survival-volume-panel,
            .survival-music-control:focus-within .survival-volume-panel { opacity:1; transform:translateY(0); pointer-events:auto; }
            .survival-volume-label { display:block; margin-bottom:5px; color:#ffc4e2; font-size:9px; font-weight:900; text-align:center; }
            .survival-volume-slider { width:100%; height:22px; accent-color:#ff62b4; touch-action:none; }
            .survival-center-status { position:absolute; z-index:7; left:50%; top:7.5%; transform:translate(-50%,-50%); min-width: 320px; max-width: 72%; padding: 13px 18px; border-radius: 16px; background: rgba(11, 10, 15, 0.88); border: 1px solid rgba(255, 91, 170, 0.48); color:#fff4fa; text-align:center; font-weight:900; line-height:1.5; box-shadow: 0 0 30px rgba(255, 54, 150, 0.2); pointer-events:none; }
            .survival-center-status.is-result { animation: survivalStatusPop 0.42s ease both; }
            .survival-center-status.is-broken { color:#ff4fa8; border-color:rgba(255, 79, 168, 0.74); text-shadow:0 0 10px rgba(255, 79, 168, 0.95), 0 0 22px rgba(255, 50, 154, 0.58); box-shadow:0 0 32px rgba(255, 54, 150, 0.28), inset 0 0 18px rgba(255, 79, 168, 0.08); }
            .survival-center-status.is-protected { color:#f8fbff; border-color:rgba(218, 226, 236, 0.72); text-shadow:0 0 10px rgba(255,255,255,0.8), 0 0 18px rgba(255,79,168,.36); box-shadow:0 0 26px rgba(255,255,255,.18), inset 0 0 18px rgba(255,79,168,.08); }
            .survival-center-status.is-broken-pop::before,
            .survival-center-status.is-broken-pop::after { content:'*'; position:absolute; top:50%; width:62px; height:42px; display:flex; align-items:center; justify-content:center; color:#ff4fa8; font-size:21px; line-height:1; opacity:0; text-shadow:0 0 10px rgba(255, 79, 168, 0.98), 0 0 24px rgba(255, 42, 156, 0.68), 0 0 38px rgba(255, 42, 156, 0.38); background:radial-gradient(circle, rgba(255, 79, 168, 0.46) 0 9%, rgba(255, 79, 168, 0.14) 10% 30%, rgba(255, 79, 168, 0) 66%); pointer-events:none; animation: survivalBrokenStars .82s ease-out both; }
            .survival-center-status.is-broken-pop::before { left:18px; --survival-broken-rotate:-12deg; box-shadow:-15px -8px 0 -11px rgba(255, 143, 206, .96), 13px 10px 0 -12px rgba(255, 79, 168, .9), 4px -14px 0 -13px rgba(255, 255, 255, .88); }
            .survival-center-status.is-broken-pop::after { right:18px; --survival-broken-rotate:12deg; box-shadow:15px -8px 0 -11px rgba(255, 143, 206, .96), -13px 10px 0 -12px rgba(255, 79, 168, .9), -4px -14px 0 -13px rgba(255, 255, 255, .88); animation-delay:.04s; }
            .survival-field-row { position:absolute; z-index:3; left:50%; right:auto; width:auto; transform:translateX(-50%); display:flex; justify-content:center; align-items:center; gap:2px; }
            .survival-field-row.is-com { top: 17%; }
            .survival-field-row.is-player { bottom: 20%; }
            .survival-barrier-card { position:relative; flex:0 0 172px; width:172px; max-width:none; min-width:0; margin:0 -37px; aspect-ratio: 2 / 2.8; border:0; background: transparent; padding:0; cursor:pointer; font-family:inherit; color:#fff; transform: translateY(var(--lift, 0)); overflow:visible; pointer-events:none; --barrier-visual-scale:1.00; }
            .survival-barrier-card:disabled { cursor: default; }
            .survival-barrier-card.is-targetable:not(:disabled):has(.survival-barrier-hitbox:hover),
            .survival-barrier-card.is-aimed { filter: drop-shadow(0 0 18px rgba(255, 67, 164, 0.92)); }
            .survival-barrier-card.is-aimed::after { content:""; position:absolute; inset:14%; border-radius:12px; border:1px solid rgba(255,88,174,.72); box-shadow:0 0 22px rgba(255,67,164,.62), inset 0 0 18px rgba(255,67,164,.2); pointer-events:none; }
            .survival-barrier-card img { width:100%; height:100%; object-fit:contain; display:block; transform:scale(var(--barrier-visual-scale, 1.00)) rotate(var(--barrier-rotate, 0deg)); transform-origin:center; pointer-events:none; }
            .survival-barrier-hitbox { position:absolute; z-index:6; left:34%; right:34%; top:26%; bottom:26%; border-radius:10px; cursor:pointer; pointer-events:auto; }
            .survival-barrier-card:disabled .survival-barrier-hitbox { pointer-events:none; cursor:default; }
            .survival-field-row.is-player .survival-barrier-card { --barrier-rotate: 180deg; }
            
            .survival-revealed-digit { position:absolute; left:50%; top:34%; transform:translateX(-50%); min-width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255, 82, 169, 0.94); color:#fff; font-size:10px; font-weight:900; box-shadow:0 0 22px rgba(255, 67, 164, 0.9), 0 0 36px rgba(255, 67, 164, 0.34); z-index:4; }
            .survival-field-row.is-player .survival-revealed-digit { top:auto; bottom:34%; }
            .survival-broken-label { position:absolute; left:50%; top:49%; transform:translate(-50%,-50%); padding:5px 9px; border-radius:8px; background:rgba(18,18,22,0.82); border:1px solid rgba(255,80,160,0.65); color:#ff9dcc; font-size:12px; font-weight:900; letter-spacing:0.04em; }
            .survival-smoke { position:absolute; left:50%; bottom:42%; width:52px; height:52px; transform:translateX(-50%); pointer-events:none; }
            .survival-smoke span { position:absolute; bottom:0; width:18px; height:18px; border-radius:50%; background:rgba(74,74,80,0.56); filter:blur(5px); animation: survivalSmokeRise 1.2s ease-out forwards; }
            .survival-cylinder-panel { position:absolute; z-index:5; right:26px; bottom:28px; width:170px; height:170px; }
            .survival-cylinder-panel img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; display:block; filter: drop-shadow(0 10px 22px rgba(0,0,0,0.65)); }
            .survival-bullet-button { position:absolute; z-index:6; display:flex; align-items:center; justify-content:center; width:28px; height:25px; border-radius:50%; border:1px solid rgba(255,255,255,0.26); background:rgba(9,9,13,0.84); color:#fff; font-family:inherit; font-weight:900; cursor:pointer; box-shadow:0 0 12px rgba(255,61,157,0.38); }
            .survival-bullet-button.is-used { opacity:0.26; text-decoration:line-through; cursor:default; }
            .survival-bullet-button.is-selected { background:#ff4fa8; box-shadow:0 0 18px rgba(255,61,157,0.86); }
            .survival-bullet-button.is-loaded { background:#fff; color:#24121c; box-shadow:0 0 20px rgba(255,255,255,0.8), 0 0 26px rgba(255,61,157,0.52); }
            .survival-load-button { position:absolute; z-index:7; left:50%; top:-14px; transform:translateX(-50%); min-width:82px; height:30px; border-radius:999px; border:1px solid rgba(255,88,174,.56); background:rgba(13,11,17,.84); color:#ff9dcc; font-family:inherit; font-size:12px; font-weight:900; letter-spacing:.06em; cursor:pointer; box-shadow:0 0 14px rgba(255,67,164,.24), inset 0 0 10px rgba(255,67,164,.08); }
            .survival-load-button.is-ready { background:linear-gradient(135deg,#ff5caf,#89104f); color:#fff; box-shadow:0 0 20px rgba(255,67,164,.78), 0 0 34px rgba(255,67,164,.26); }
            .survival-load-button:disabled { opacity:.42; cursor:default; }
            .survival-bullet-button.slot-0 { left:50px; top:59px; }
            .survival-bullet-button.slot-1 { right:54px; top:59px; }
            .survival-bullet-button.slot-2 { left:51px; bottom:50px; }
            .survival-bullet-button.slot-3 { right:54px; bottom:50px; }
            .survival-gun { position:absolute; z-index:8; left:50%; bottom:0; width:100%; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))); opacity:0; pointer-events:none; filter:drop-shadow(0 20px 28px rgba(0,0,0,0.72)); transition: opacity 0.45s ease, transform 0.32s ease; }
            .survival-gun.is-visible { opacity:1; animation: survivalGunFadeIn 0.52s ease both; }
            .survival-gun.is-no-fade { opacity:1; animation:none; }
            .survival-gun.is-hold { opacity:1; animation:none; }
            .survival-gun.is-firing { animation: survivalGunFire 0.58s cubic-bezier(.18,.9,.28,1.18) both; filter:drop-shadow(0 24px 36px rgba(0,0,0,0.82)) brightness(1.14); }
            .survival-gun.is-fading-out { animation: survivalGunFadeOut 0.50s ease both; }
            .survival-gun.is-grenade { width:36%; bottom:10%; filter:drop-shadow(0 20px 30px rgba(0,0,0,.78)) drop-shadow(0 0 28px rgba(255,67,164,.5)); }
            .survival-gun.is-blade { width:72%; bottom:26%; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) rotate(-18deg); filter:drop-shadow(0 18px 28px rgba(0,0,0,.78)) drop-shadow(0 0 24px rgba(255,67,164,.46)); }
            .survival-laser { position:fixed; z-index:10002; height:6px; transform-origin:0 50%; background:linear-gradient(90deg, rgba(255,74,172,1), rgba(255,255,255,0.9), rgba(255,74,172,0.18)); box-shadow:0 0 18px rgba(255,57,161,0.95), 0 0 34px rgba(255,57,161,0.55); pointer-events:none; opacity:0; transition:opacity .18s ease; }
            .survival-laser.is-visible { opacity:1; }
            .survival-laser.is-com-shot { height:8px; background:linear-gradient(90deg, rgba(255,74,172,1), rgba(255,255,255,.98), rgba(255,74,172,.42), rgba(255,74,172,0)); box-shadow:0 0 24px rgba(255,57,161,1), 0 0 54px rgba(255,57,161,.7), 0 0 74px rgba(0,0,0,.38); }
            .survival-particle { position:fixed; z-index:9998; left:0; top:0; width:var(--size,7px); height:var(--size,7px); border-radius:50%; pointer-events:none; background:var(--color,#ff4fa8); box-shadow:0 0 12px var(--color,#ff4fa8), 0 0 24px rgba(255,79,168,0.32); animation: survivalParticle var(--duration,820ms) ease-out forwards; }
            .survival-particle.is-heavy { border-radius:42% 58% 46% 54%; }
            .survival-particle.is-grenade-shard { z-index:10000; border-radius:42% 58% 46% 54%; box-shadow:0 0 16px var(--color), 0 0 36px rgba(255,67,164,.34), 0 0 58px rgba(0,0,0,.46); animation: survivalGrenadeShard var(--duration,1900ms) cubic-bezier(.13,.9,.2,1) forwards; }
            .survival-blade-slash { position:fixed; z-index:10003; left:0; top:0; height:7px; border-radius:999px; pointer-events:none; transform-origin:0 50%; clip-path:polygon(0 50%, 10% 12%, 90% 12%, 100% 50%, 90% 88%, 10% 88%); background:linear-gradient(90deg, rgba(255,79,168,0), rgba(255,79,168,.88) 18%, rgba(255,238,250,.98) 48%, rgba(255,79,168,.82) 82%, rgba(255,79,168,0)); box-shadow:0 0 12px rgba(255,79,168,.92), 0 0 28px rgba(255,79,168,.5), 0 0 44px rgba(0,0,0,.36); animation: survivalBladeSlash 1500ms cubic-bezier(.12,.88,.18,1) forwards; }
            .survival-impact-ring { position:fixed; z-index:9997; left:0; top:0; width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,79,168,0.96); pointer-events:none; transform:translate(-50%,-50%); box-shadow:0 0 18px rgba(255,79,168,0.9), inset 0 0 12px rgba(23,21,26,0.9); animation: survivalImpactRing 560ms ease-out forwards; }
            .survival-winner-markers { position:absolute; z-index:7; left:1.5%; right:3.4%; top:50%; height:0; pointer-events:none; }
            .survival-marker-stack { position:absolute; min-width:86px; display:flex; gap:3px; align-items:center; transform:translateY(40px); }
            .survival-marker-stack.is-player { left:180px; justify-content:flex-start; }
            .survival-marker-stack.is-com { right:180px; justify-content:flex-start; }
            .survival-marker-token { position:relative; display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; }
            .survival-marker-token.is-new::before,
            .survival-marker-token.is-new::after { content:''; position:absolute; left:50%; top:50%; width:56px; height:56px; border-radius:50%; pointer-events:none; transform:translate(-50%, -50%); }
            .survival-marker-token.is-new::before { background:radial-gradient(circle, rgba(255,73,170,.88) 0 12%, rgba(15,8,16,.92) 13% 28%, rgba(255,33,152,.46) 29% 48%, rgba(255,33,152,0) 70%); box-shadow:0 0 24px rgba(255,44,157,.95), 0 0 52px rgba(255,44,157,.48), inset 0 0 18px rgba(0,0,0,.94); animation: survivalMarkerBurstCore .72s ease-out both; }
            .survival-marker-token.is-new::after { border:2px solid rgba(255,91,184,.92); box-shadow:0 0 18px rgba(255,78,176,.9), inset 0 0 18px rgba(0,0,0,.85); animation: survivalMarkerBurstRing .78s ease-out both; }
            .survival-marker-token img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 9px rgba(0,0,0,.55)); }
            .survival-marker-token.is-new img { animation: survivalMarkerIn .58s cubic-bezier(.16,.94,.24,1.18) both; filter:drop-shadow(0 0 8px rgba(255,77,178,.98)) drop-shadow(0 0 18px rgba(255,43,158,.76)) drop-shadow(0 7px 10px rgba(0,0,0,.78)); }
            .survival-revolver-wrap { position:absolute; z-index:9; left:50%; bottom:-4%; transform:translateX(-50%); width:clamp(546px, 72%, 728px); height:clamp(598px, 84%, 858px); pointer-events:none; }
            .survival-fire-button { position:absolute; z-index:12; left:50%; bottom:34px; transform:translateX(-50%); min-width:148px; height:54px; border-radius:16px; border:1px solid rgba(255,88,174,.54); background:rgba(18,15,24,.82); color:#ff9dcc; font-family:inherit; font-weight:900; font-size:18px; letter-spacing:.06em; cursor:pointer; box-shadow:0 0 20px rgba(255,67,164,.22), inset 0 0 16px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-fire-button.is-ready { background:linear-gradient(135deg, #ff4fa8, #a1155f); color:#fff; box-shadow:0 0 26px rgba(255,67,164,.72), 0 0 48px rgba(255,67,164,.24); }
            .survival-fire-button.is-retry { background:linear-gradient(135deg, #ff6daf, #72224b); color:#fff; }
            .survival-fire-button.is-slash.is-ready { background:linear-gradient(135deg, #ff78c2, #24101c 56%, #08070b); color:#fff; box-shadow:0 0 30px rgba(255,67,164,.86), 0 0 70px rgba(255,67,164,.34); }
            .survival-fire-button.is-ready:hover { transform:translateX(-50%) translateY(-2px); box-shadow:0 0 34px rgba(255,67,164,.86), 0 0 62px rgba(255,67,164,.3); }
            .survival-fire-button:disabled { opacity:.42; cursor:default; }
            .survival-blade-button { position:absolute; z-index:12; left:28px; bottom:88px; min-width:118px; height:46px; border-radius:14px; border:1px solid rgba(255,88,174,.52); background:rgba(15,12,19,.82); color:#ff9dcc; font-family:inherit; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer; box-shadow:0 0 18px rgba(255,67,164,.2), inset 0 0 14px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-blade-button.is-ready { color:#fff; border-color:rgba(255,157,217,.72); }
            .survival-blade-button.is-on { background:linear-gradient(135deg, #ff6fbe, #24101c 58%, #08070b); color:#fff; box-shadow:0 0 28px rgba(255,67,164,.82), 0 0 52px rgba(255,67,164,.3); }
            .survival-blade-button:disabled { opacity:.34; cursor:default; }
            .survival-grenade-button { position:absolute; z-index:12; left:28px; bottom:34px; min-width:118px; height:46px; border-radius:14px; border:1px solid rgba(255,88,174,.52); background:rgba(15,12,19,.82); color:#ff9dcc; font-family:inherit; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer; box-shadow:0 0 18px rgba(255,67,164,.2), inset 0 0 14px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-grenade-button.is-ready { color:#fff; border-color:rgba(255,102,190,.72); }
            .survival-grenade-button.is-on { background:linear-gradient(135deg, #ff4fa8, #57102f); color:#fff; box-shadow:0 0 26px rgba(255,67,164,.78), 0 0 48px rgba(255,67,164,.28); }
            .survival-grenade-button:disabled { opacity:.34; cursor:default; }
            .survival-grenade-projectile { position:fixed; z-index:9998; left:0; top:0; width:90px; pointer-events:none; transform:translate(-50%,-50%) scale(.64) rotate(-18deg); filter:drop-shadow(0 0 18px rgba(255,67,164,.82)) drop-shadow(0 12px 18px rgba(0,0,0,.6)); animation: survivalGrenadeFly 980ms cubic-bezier(.18,.86,.22,1) forwards; }
            .survival-grenade-trail { position:fixed; z-index:9997; left:0; top:0; height:10px; border-radius:999px; pointer-events:none; transform-origin:0 50%; background:linear-gradient(90deg, rgba(255,57,161,.95), rgba(255,57,161,.52), rgba(255,57,161,0)); box-shadow:0 0 22px rgba(255,57,161,.95), 0 0 46px rgba(255,57,161,.5); animation: survivalGrenadeTrail 980ms ease-out forwards; }
            .survival-grenade-flash { position:fixed; z-index:9999; left:0; top:0; width:430px; height:430px; border-radius:50%; pointer-events:none; transform:translate(-50%,-50%) scale(.2); background:radial-gradient(circle, #fff 0 8%, rgba(255,240,249,.96) 9% 18%, rgba(255,67,164,.9) 19% 38%, rgba(11,7,12,.8) 39% 58%, rgba(255,67,164,.22) 59% 70%, rgba(255,67,164,0) 78%); box-shadow:0 0 90px rgba(255,255,255,.9), 0 0 160px rgba(255,67,164,.86), 0 0 240px rgba(255,67,164,.42); animation: survivalGrenadeFlash 920ms ease-out forwards; }
            .survival-grenade-smoke { position:fixed; z-index:9998; left:50%; top:50%; width:min(148vw, 1320px); height:min(92vh, 780px); pointer-events:none; transform:translate(-50%,-50%); filter:blur(.8px); animation: survivalGrenadeSmoke 420ms ease-out both; }
            .survival-smoke-puff { position:absolute; left:50%; top:55%; width:50%; aspect-ratio:1.75; border-radius:46% 54% 61% 39%; opacity:0; transform:translate(calc(-50% + var(--x, 0%)), calc(-50% + var(--y, 0%))) scale(.38) rotate(var(--r, -4deg)); transform-origin:center; background:radial-gradient(ellipse at 46% 54%, rgba(2,2,4,.99) 0 38%, rgba(11,10,14,.94) 39% 60%, rgba(48,43,52,.56) 61% 74%, rgba(255,67,164,.16) 75% 84%, rgba(0,0,0,0) 92%); box-shadow:0 0 54px rgba(0,0,0,.88), 0 0 66px rgba(255,67,164,.14); filter:blur(6px); animation: survivalSmokePuff 3.45s ease-out var(--delay, 0ms) both; }
            .survival-smoke-puff::before, .survival-smoke-puff::after { content:''; position:absolute; border-radius:inherit; background:radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.84), rgba(28,25,32,.66) 52%, transparent 78%); filter:blur(6px); }
            .survival-smoke-puff::before { inset:-18% 18% 12% -14%; transform:rotate(-12deg) scale(.9); }
            .survival-smoke-puff::after { inset:8% -16% -18% 20%; transform:rotate(16deg) scale(.78); opacity:.72; }
            .survival-smoke-puff.puff-2, .survival-smoke-puff.puff-10, .survival-smoke-puff.puff-12, .survival-smoke-puff.puff-13, .survival-smoke-puff.puff-21 { width:34%; }
            .survival-smoke-puff.puff-5, .survival-smoke-puff.puff-7, .survival-smoke-puff.puff-17, .survival-smoke-puff.puff-19 { width:58%; }
            .survival-grenade-smoke.is-clearing { animation: survivalGrenadeSmokeClear 1.75s ease forwards; }
            .survival-grenade-smoke.is-clearing .survival-smoke-puff { animation: survivalSmokePuffClear 1.75s ease forwards; }
            .survival-controls { position:relative; z-index:5; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
            @keyframes survivalBladeSlash { 0% { opacity:0; filter:blur(7px) brightness(1.75); } 12% { opacity:1; filter:blur(2px) brightness(1.48); } 60% { opacity:1; filter:blur(0) brightness(1.2); } 86% { opacity:.74; filter:blur(1.8px) brightness(.9); } 100% { opacity:0; filter:blur(7px) brightness(.46); } }
            @keyframes survivalGrenadeFly { 0% { opacity:0; transform:translate(-50%,-50%) scale(.62) rotate(-22deg); } 16% { opacity:1; } 100% { opacity:1; transform:translate(calc(-50% + var(--grenade-x)), calc(-50% + var(--grenade-y))) scale(.88) rotate(620deg); } }
            @keyframes survivalGrenadeTrail { 0% { opacity:0; clip-path:inset(0 100% 0 0); } 12% { opacity:1; } 82% { opacity:.86; clip-path:inset(0 0 0 0); } 100% { opacity:0; clip-path:inset(0 0 0 60%); } }
            @keyframes survivalGrenadeFlash { 0% { opacity:0; transform:translate(-50%,-50%) scale(.18); filter:brightness(1); } 14% { opacity:1; transform:translate(-50%,-50%) scale(1.08); filter:brightness(1.9); } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.82); filter:brightness(.75) blur(7px); } }
            @keyframes survivalGrenadeSmoke { 0% { opacity:0; } 100% { opacity:1; } }
            @keyframes survivalSmokePuff { 0% { opacity:0; transform:translate(calc(-50% + var(--x, 0%)), calc(-32% + var(--y, 0%))) scale(.22) rotate(-8deg); } 22% { opacity:.98; } 100% { opacity:.94; transform:translate(calc(-50% + var(--x, 0%)), calc(-94% + var(--y, 0%))) scale(var(--scale, 1)) rotate(5deg); } }
            @keyframes survivalSmokePuffClear { 0% { opacity:.92; filter:blur(6px); } 42% { opacity:.7; } 72% { opacity:.34; } 100% { opacity:0; filter:blur(18px); transform:translate(calc(-50% + var(--x, 0%)), calc(-140% + var(--y, 0%))) scale(var(--scale, 1)) rotate(9deg); } }
            @keyframes survivalGrenadeSmokeClear { 0% { opacity:1; } 100% { opacity:0; } }
            @keyframes survivalDeployOpen { 0% { opacity:0; transform:scaleX(.18) scaleY(.92); } 62% { opacity:1; transform:scaleX(1.04) scaleY(1); } 100% { opacity:1; transform:scaleX(1) scaleY(1); } }
            @keyframes survivalDeployDoor { 0% { opacity:.95; transform:scaleX(1); } 100% { opacity:0; transform:scaleX(.05); } }
            @keyframes survivalDeployContentIn { 0% { opacity:0; transform:translateY(8px); } 100% { opacity:1; transform:translateY(0); } }
            @keyframes survivalCardFadeIn { 0% { opacity:0; transform:translateX(var(--fan-x, 0)) translateY(12px) scale(.82); } 100% { opacity:1; transform:translateX(0) translateY(0) scale(1); } }
            @keyframes survivalTurnNoticeIn { 0% { opacity:0; transform:scale(.78); } 72% { opacity:1; transform:scale(1.04); } 100% { opacity:1; transform:scale(1); } }
            @keyframes survivalStarterNoticeIn { 0% { opacity:0; transform:translate(-50%, -50%) scale(.78); } 72% { opacity:1; transform:translate(-50%, -50%) scale(1.04); } 100% { opacity:1; transform:translate(-50%, -50%) scale(1); } }
            @keyframes survivalFieldFadeIn { 0% { opacity:0; filter:blur(3px); } 100% { opacity:1; filter:blur(0); } }
            @keyframes survivalFieldFadeOut { 0% { opacity:1; filter:blur(0); } 100% { opacity:0; filter:blur(4px); } }
            @keyframes survivalGunFadeIn { 0% { opacity:0; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(34px) scale(.98); } 100% { opacity:1; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } }
            @keyframes survivalGunFadeOut { 0% { opacity:1; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } 100% { opacity:0; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(42px) scale(.98); } }
            @keyframes survivalGunFire { 0% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } 14% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) - 2px)) translateY(88px) scale(1.07); } 30% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) + 2px)) translateY(46px) scale(1.035); } 58% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) - 1px)) translateY(-12px) scale(1.01); } 100% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } }
            @keyframes survivalParticle { 0% { opacity:1; transform:translate(0,0) scale(1) rotate(0deg); } 100% { opacity:0; transform:translate(var(--tx), var(--ty)) scale(.18) rotate(var(--rot, 180deg)); } }
            @keyframes survivalGrenadeShard { 0% { opacity:0; transform:translate(0,0) scale(.42) rotate(0deg); filter:brightness(1.85); } 10% { opacity:1; transform:translate(calc(var(--tx) * .68), calc(var(--ty) * .68)) scale(1.22) rotate(calc(var(--rot, 180deg) * .55)); filter:brightness(1.55); } 58% { opacity:.96; transform:translate(var(--tx), var(--ty)) scale(1) rotate(var(--rot, 180deg)); filter:brightness(1); } 100% { opacity:0; transform:translate(var(--tx), var(--ty)) scale(.2) rotate(var(--rot, 180deg)); filter:brightness(.72) blur(2px); } }
            @keyframes survivalImpactRing { 0% { opacity:.98; width:20px; height:20px; } 100% { opacity:0; width:196px; height:196px; border-width:1px; } }
            @keyframes survivalSmokeRise { 0% { opacity:0; transform:translate(0,10px) scale(.5); } 35% { opacity:.8; } 100% { opacity:0; transform:translate(var(--sx, 0), -58px) scale(1.8); } }
            @keyframes survivalStatusPop { 0% { transform:translate(-50%,-50%) scale(.84); opacity:.2; } 100% { transform:translate(-50%,-50%) scale(1); opacity:1; } }
            @keyframes survivalBrokenStars {
                0% { opacity:0; transform:translateY(-50%) scale(.28) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(3px); }
                18% { opacity:1; transform:translateY(-50%) scale(.86) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(0); }
                58% { opacity:1; transform:translateY(-50%) scale(1.08) rotate(var(--survival-broken-rotate, 0deg)); }
                100% { opacity:0; transform:translateY(-50%) scale(1.34) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(2px); }
            }
            @keyframes survivalMarkerIn {
                0% { opacity:0; transform:translateY(12px) scale(.42) rotate(-16deg); filter:brightness(.55) drop-shadow(0 0 0 rgba(255,77,178,0)); }
                42% { opacity:1; transform:translateY(-5px) scale(1.46) rotate(8deg); filter:brightness(1.85) drop-shadow(0 0 14px rgba(255,77,178,1)) drop-shadow(0 0 30px rgba(255,43,158,.8)); }
                72% { transform:translateY(2px) scale(.92) rotate(-3deg); }
                100% { opacity:1; transform:translateY(0) scale(1) rotate(0); }
            }
            @keyframes survivalMarkerBurstCore {
                0% { opacity:0; transform:translate(-50%, -50%) scale(.22) rotate(0deg); filter:brightness(.75); }
                28% { opacity:1; transform:translate(-50%, -50%) scale(1.04) rotate(35deg); filter:brightness(1.6); }
                100% { opacity:0; transform:translate(-50%, -50%) scale(1.72) rotate(120deg); filter:brightness(.9); }
            }
            @keyframes survivalMarkerBurstRing {
                0% { opacity:0; transform:translate(-50%, -50%) scale(.36); }
                24% { opacity:.95; }
                100% { opacity:0; transform:translate(-50%, -50%) scale(2.05); }
            }
            @keyframes survivalDefenceDrain {
                0%, 12%, 24%, 36%, 48%, 60%, 72%, 84% { opacity:1; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(1); filter:brightness(1.85); box-shadow:0 0 20px rgba(255,65,158,.98), 0 0 34px rgba(255,65,158,.55), inset 0 0 7px rgba(255,255,255,.62); }
                6%, 18%, 30%, 42%, 54%, 66%, 78%, 90% { opacity:.18; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.92); filter:brightness(.55); box-shadow:inset 0 0 5px rgba(0,0,0,.55); }
                96% { opacity:.12; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.68); filter:brightness(.45); }
                100% { opacity:0; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.42); filter:brightness(.3); }
            }
            @media (max-width: 720px) {
                .survival-play-shell { padding: 12px; }
                .survival-play-head { min-height:58px; justify-content:center; }
                .survival-title-block { width:auto; max-width:calc(100% - 98px); margin:0 auto; transform:translateY(-9px); }
                .survival-play-title { font-size:20px; white-space:nowrap; letter-spacing:0; }
                .survival-play-sub { font-size:9.6px; white-space:nowrap; }
                .survival-turn-badge { top:90%; right:-10px; min-width:81px; padding:8px 10px 8px 19px; font-size:8.5px; }
                .survival-music-control.is-arena { display:none; }
                .survival-music-control.is-head { display:flex; top:24%; right:2px; transform:translateY(-50%); }
                .survival-music-control.is-head .survival-volume-panel { top:calc(100% + 7px); bottom:auto; right:0; width:168px; padding:9px 11px; }
                .survival-music-btn { min-width:54px; height:26px; padding:0 7px; gap:3px; font-size:8.5px; }
                .survival-music-text { display:none; }
                .survival-music-icon { font-size:10px; }
                .survival-ammo-badge { top:90%; left:-10px; min-width:81px; padding:8px 19px 8px 12px; font-size:8.5px; gap:4px; }
                .survival-ammo-track { gap:3px; min-width:36px; }
                .survival-ammo-icon { width:5.7px; height:11px; }
                .survival-arena { min-height: 600px; }
                .survival-turn-card { min-width: 220px; max-width: 82%; padding: 18px 22px; }
                .survival-turn-card strong { font-size: 22px; }
                .survival-arena-top { left:1%; right:1%; top:50%; gap:6px; }
                .survival-side-panel { width: 99px; min-height: 34px; padding: 5px 6px 5px; border-radius:8px; }
                .survival-field-row { left:50%; right:auto; width:auto; transform:translateX(-50%); justify-content:center; gap:1px; }
                .survival-field-row.is-com { top: 24%; }
                .survival-field-row.is-player { bottom: 26%; }
                .survival-barrier-card { flex-basis:clamp(74px, 18vw, 120px); width:clamp(74px, 18vw, 120px); min-width:0; max-width:none; margin:0 clamp(-24px, -4.6vw, -12px); --barrier-visual-scale:1.20; }
                .survival-barrier-card img { transform:scale(var(--barrier-visual-scale, 1)) rotate(var(--barrier-rotate, 0deg)); }
                .survival-barrier-hitbox { left:34%; right:34%; top:27%; bottom:27%; }
                .survival-revealed-digit { min-width:16px; height:16px; font-size:9px; top:35%; box-shadow:0 0 16px rgba(255, 67, 164, 0.84), 0 0 26px rgba(255, 67, 164, 0.3); }
                .survival-field-row.is-player .survival-revealed-digit { bottom:35%; }
                .survival-broken-label { padding:4px 8px; border-radius:7px; font-size:10.8px; letter-spacing:0.03em; }
                .survival-cylinder-panel { right: -8px; bottom: 18px; width: 116px; height:116px; }
                .survival-bullet-button { width:20px; height:20px; font-size:10px; }
                .survival-load-button { top:-14px; min-width:62px; height:24px; font-size:10px; }
                .survival-bullet-button.slot-0 { left:34px; top:38px; }
                .survival-bullet-button.slot-1 { right:34px; top:38px; }
                .survival-bullet-button.slot-2 { left:34px; bottom:32px; }
                .survival-bullet-button.slot-3 { right:34px; bottom:32px; }
                .survival-revolver-wrap { bottom: -2%; width: min(78vw, 374px); height: min(94vw, 447px); }
                .survival-gun { width: 100%; bottom: 0; }
                .survival-fire-button { left:50%; bottom:24px; min-width:92px; height:38px; border-radius:12px; font-size:13px; transform:translateX(-50%); }
                .survival-blade-button { left:10px; bottom:64px; min-width:78px; height:32px; border-radius:11px; font-size:10px; }
                .survival-grenade-button { left:10px; bottom:24px; min-width:78px; height:34px; border-radius:11px; font-size:10px; }
                .survival-gun.is-grenade { width:32%; bottom:8%; }
                .survival-gun.is-blade { width:58%; bottom:32%; }
                .survival-grenade-projectile { width:58px; }
                .survival-grenade-flash { width:300px; height:300px; }
                .survival-center-status { top: 8%; min-width: 220px; max-width: 82%; font-size: 12px; }
                .survival-center-status.is-broken-pop::before,
                .survival-center-status.is-broken-pop::after { width:42px; height:30px; font-size:15px; }
                .survival-center-status.is-broken-pop::before { left:10px; }
                .survival-center-status.is-broken-pop::after { right:10px; }
                .survival-setup-stage { min-height: 620px; padding: 70px 8px 20px; }
                .survival-deploy-panel { width: 98%; padding: 12px 8px; }
                .survival-setup-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
                .survival-front-card { width: min(96px, 100%); }
                .survival-setup-card-name { top: 8%; font-size: 8px; max-height:1.2em; white-space:nowrap; display:block; -webkit-line-clamp:unset; }
                .survival-setup-card-name .survival-name-full { display:none; }
                .survival-setup-card-name .survival-name-mobile { display:inline; }
                .survival-setup-card-meta { font-size: 12px; bottom: 12%; }
                .survival-front-portrait { top:47%; width: 45%; height: 32%; }
                .survival-side-panel h4 { font-size:9px; margin-bottom:3px; }
                .survival-defence { gap:3px; }
                .survival-defence span { height:6px; }
                .survival-winner-markers { top:50%; left:0; right:0; }
                .survival-marker-stack { min-width:58px; gap:2px; transform:translateY(22px); }
                .survival-marker-stack.is-player { left:18%; justify-content:flex-start; }
                .survival-marker-stack.is-com { right:18%; justify-content:flex-start; }
                .survival-marker-token { width:20px; height:20px; }
                .survival-marker-token.is-new::before,
                .survival-marker-token.is-new::after { width:44px; height:44px; }
            }
        
