/*!
 * 미러트리 게임존 - 회차 게임 화면 (livekit.js · baccarat.js · powerball.js), 2026-10-19. Loaded after game.css by play.php for
 * games of kind 'live'. The page scrolls in .lv: stage (3D) → bet board + chips → [회차 결과 | 내 베팅 내역].
 */
body.gz-live { --lv-gold: #e8c069; --lv-gold2: #b8862c; --lv-p: #2f6bff; --lv-b: #e5383b; --lv-t: #1fae5c; --lv-panel: rgba(12, 16, 30, .78); }
body.gz-baccarat { --lv-felt: #0d3b2c; --lv-felt2: #082a1f; }
body.gz-powerball { --lv-felt: #0e1a3d; --lv-felt2: #081029; }

.lv { position: fixed; inset: 0; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    touch-action: pan-y; user-select: none; -webkit-user-select: none; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent;
    background: radial-gradient(1200px 600px at 50% 0, color-mix(in srgb, var(--gz-c1) 10%, transparent), transparent 70%), var(--gz-bg); }
.lv::-webkit-scrollbar { width: 8px; } .lv::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 4px; }

/* ------------------------------------------------------------------ stage */
.lv-stage { position: relative; height: clamp(320px, 62vh, 800px); overflow: hidden; background: #000; }
@media (min-aspect-ratio: 16/10) { .lv-stage { height: clamp(320px, 66vh, 820px); } }
@media (max-aspect-ratio: 4/5) { .lv-stage { height: clamp(300px, 54vh, 640px); } }
.lv-stage > .gz-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.lv-stage::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; pointer-events: none;
    background: linear-gradient(transparent, color-mix(in srgb, var(--gz-bg) 85%, transparent)); }
.lv-top { position: absolute; z-index: 5; left: 12px; right: 12px; top: calc(var(--gz-safe-t) + 64px); display: flex; align-items: flex-start; gap: 10px; pointer-events: none; }
.lv-top > * { pointer-events: auto; }
.lv-modes { display: inline-flex; padding: 4px; gap: 4px; border-radius: 16px; background: rgba(6, 8, 16, .58); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 6px 18px rgba(0,0,0,.35); }
.lv-modes.is-one { display: none; }
.lv-mode { border: 0; cursor: pointer; border-radius: 12px; padding: 6px 12px 5px; background: transparent; color: rgba(255,255,255,.72); text-align: center; line-height: 1.1; min-width: 58px; }
.lv-mode b { display: block; font-family: var(--gz-sans); font-size: 15px; letter-spacing: .3px; }
.lv-mode small { display: block; font-size: 10px; opacity: .7; margin-top: 2px; white-space: nowrap; }
.lv-mode.is-on { color: #1b1206; background: linear-gradient(180deg, #fff1c4, var(--lv-gold) 45%, var(--lv-gold2)); box-shadow: 0 2px 10px rgba(232, 192, 105, .45), inset 0 1px 0 rgba(255,255,255,.7); }
.lv-mode.is-on small { opacity: .85; }
.lv-round { margin-left: auto; text-align: right; padding: 7px 12px; border-radius: 14px; background: rgba(6, 8, 16, .58); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
.lv-round small { display: block; font-size: 10.5px; color: var(--lv-gold); font-weight: 800; letter-spacing: .4px; }
.lv-round b { display: block; font-family: var(--gz-sans); font-size: 15px; white-space: nowrap; }
.lv-timer { position: absolute; z-index: 5; right: 14px; top: calc(var(--gz-safe-t) + 124px); width: 74px; height: 74px; border-radius: 50%;
    background: rgba(6, 8, 16, .66); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 6px 20px rgba(0,0,0,.45);
    display: flex; flex-direction: column; align-items: center; justify-content: center; }
.lv-timer svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.lv-timer circle { fill: none; stroke-width: 3.4; }
.lv-timer .bg { stroke: rgba(255,255,255,.12); }
.lv-timer .fg { stroke: #3fe08a; stroke-linecap: round; stroke-dasharray: 119.4; stroke-dashoffset: 0; transition: stroke .3s; filter: drop-shadow(0 0 4px rgba(63, 224, 138, .7)); }
.lv-timer.is-hurry .fg { stroke: #ff5b4a; filter: drop-shadow(0 0 5px rgba(255, 91, 74, .8)); }
.lv-timer.is-show .fg { stroke: var(--lv-gold); filter: drop-shadow(0 0 4px rgba(232, 192, 105, .8)); }
.lv-timer-n { position: relative; font-family: var(--gz-num); font-size: 26px; font-weight: 400; line-height: 1; }
.lv-timer-l { position: relative; font-size: 9.5px; color: rgba(255,255,255,.75); margin-top: 3px; white-space: nowrap; letter-spacing: -.2px; }
.lv-timer.is-hurry .lv-timer-n { color: #ff8a7d; animation: lvPulse .5s ease-in-out infinite alternate; }
@keyframes lvPulse { to { transform: scale(1.14); } }

.lv-banner { position: absolute; z-index: 6; left: 50%; top: 44%; transform: translate(-50%, -50%) scale(.7); opacity: 0; pointer-events: none; text-align: center;
    padding: 14px 34px 12px; border-radius: 20px; background: rgba(6, 8, 16, .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 18px 50px rgba(0,0,0,.55); transition: opacity .28s, transform .38s cubic-bezier(.2, 1.4, .4, 1); white-space: nowrap; }
.lv-banner.is-in { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.lv-banner b { display: block; font-family: var(--gz-sans); font-size: clamp(22px, 4.2vw, 40px); letter-spacing: .5px; }
.lv-banner small { display: block; margin-top: 4px; font-size: 12px; letter-spacing: 2px; color: rgba(255,255,255,.7); font-weight: 700; }
.lv-banner.is-close b { color: #ffd9a0; }
.lv-banner.is-bet b { color: #8ff5b8; }
.lv-banner.is-win { background: linear-gradient(180deg, rgba(60, 40, 6, .86), rgba(20, 12, 2, .86)); box-shadow: inset 0 0 0 2px var(--lv-gold), 0 0 50px rgba(232, 192, 105, .5); }
.lv-banner.is-win b { color: #ffe08a; text-shadow: 0 0 18px rgba(255, 210, 90, .8); font-family: var(--gz-num); font-weight: 400; }
.lv-banner.is-lose b { color: #c9d2e3; }
.lv-banner.is-p { box-shadow: inset 0 0 0 2px var(--lv-p), 0 0 60px rgba(47, 107, 255, .55); } .lv-banner.is-p b { color: #9cc0ff; }
.lv-banner.is-b { box-shadow: inset 0 0 0 2px var(--lv-b), 0 0 60px rgba(229, 56, 59, .55); } .lv-banner.is-b b { color: #ffb0ae; }
.lv-banner.is-t { box-shadow: inset 0 0 0 2px var(--lv-t), 0 0 60px rgba(31, 174, 92, .55); } .lv-banner.is-t b { color: #9df0bf; }
.lv-scene { position: absolute; inset: 0; z-index: 4; pointer-events: none; }

/* ------------------------------------------------------------------ bet area */
.lv-bet { position: relative; max-width: 1180px; margin: -6px auto 0; padding: 10px 12px 6px; }
.lv-board { position: relative; }
.lv-spot { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 58px; padding: 8px 6px;
    border: 0; border-radius: 14px; cursor: pointer; color: #fff; text-align: center; font-family: var(--gz-body);
    background: linear-gradient(180deg, color-mix(in srgb, var(--sc, #2a3350) 40%, #0e1424), color-mix(in srgb, var(--sc, #2a3350) 22%, #070a14));
    box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--sc, #fff) 70%, transparent), inset 0 1px 0 rgba(255,255,255,.18), 0 6px 14px rgba(0,0,0,.35);
    transition: transform .12s, box-shadow .2s, filter .2s; -webkit-tap-highlight-color: transparent; }
.lv-spot:hover { filter: brightness(1.12); }
.lv-spot:active { transform: scale(.97); }
.lv-spot .t { font-family: var(--gz-sans); font-size: 17px; letter-spacing: .3px; line-height: 1.1; }
.lv-spot .o { font-size: 11.5px; font-weight: 800; color: rgba(255,255,255,.72); letter-spacing: .3px; }
.lv-spot .s { font-size: 10px; color: rgba(255,255,255,.55); }
.lv-spot.has-bet { box-shadow: inset 0 0 0 2.5px var(--lv-gold), 0 0 18px rgba(232, 192, 105, .4), 0 6px 14px rgba(0,0,0,.35); }
.lv-spot.has-pending { box-shadow: inset 0 0 0 2px rgba(255,255,255,.85), 0 0 14px rgba(255,255,255,.25), 0 6px 14px rgba(0,0,0,.35); }
.lv-spot.is-win { animation: lvWin .5s ease-in-out 4 alternate; box-shadow: inset 0 0 0 3px #ffe08a, 0 0 28px rgba(255, 220, 120, .8); }
@keyframes lvWin { to { filter: brightness(1.45); } }
.lv-spot.is-pop .lv-amt { animation: lvPop .3s cubic-bezier(.2, 1.6, .4, 1); }
@keyframes lvPop { from { transform: scale(.4); } }
.lv-amt { position: absolute; top: -9px; right: -6px; display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px 2px 3px; border-radius: 999px; font-size: 12px;
    font-weight: 800; color: #1b1206; background: linear-gradient(180deg, #fff3c9, var(--lv-gold)); box-shadow: 0 3px 8px rgba(0,0,0,.4); font-variant-numeric: tabular-nums; }
.lv-amt:empty { display: none; }
.lv-amt.is-pending { background: #fff; outline: 2px dashed var(--lv-gold2); outline-offset: -2px; }
.lv-amt-chip { width: 15px; height: 15px; border-radius: 50%; background: repeating-conic-gradient(#e23b3b 0 30deg, #fff 30deg 60deg); box-shadow: inset 0 0 0 3px #e23b3b; }
.gz-live:not(.lv-betting) .lv:not(.is-betting) .lv-spot { cursor: default; }
.lv:not(.is-betting) .lv-board { filter: saturate(.55) brightness(.82); }
.lv:not(.is-betting) .lv-confirm { opacity: .45; pointer-events: none; }

.lv-dock { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.lv-chips { display: flex; gap: 8px; flex: 1 1 320px; overflow-x: auto; padding: 6px 4px; scrollbar-width: none; }
.lv-chips::-webkit-scrollbar { display: none; }
.lv-chip { flex: none; position: relative; width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer; padding: 0;
    background: repeating-conic-gradient(var(--c1) 0 22.5deg, var(--c2) 22.5deg 45deg);
    box-shadow: 0 4px 0 color-mix(in srgb, var(--c1) 55%, #000), 0 8px 14px rgba(0,0,0,.45); transition: transform .15s, box-shadow .15s; }
.lv-chip::before { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, color-mix(in srgb, var(--c1) 70%, #fff), var(--c1) 70%);
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--c2) 80%, transparent), inset 0 2px 4px rgba(255,255,255,.35); }
.lv-chip span { position: relative; font-family: var(--gz-sans); font-size: 12.5px; color: var(--c2); text-shadow: 0 1px 0 rgba(0,0,0,.35); letter-spacing: -.3px; }
.lv-chip[style*="#f4f4f4"] span { color: #1d2a5a; text-shadow: none; }
.lv-chip.is-on { transform: translateY(-6px) scale(1.06); box-shadow: 0 0 0 3px #fff, 0 0 18px rgba(255,255,255,.6), 0 10px 18px rgba(0,0,0,.5); }
.lv-actions { display: flex; gap: 8px; margin-left: auto; }
.lv-act { height: 46px; padding: 0 14px; border: 0; border-radius: 14px; cursor: pointer; color: #fff; font-weight: 800; font-size: 14px;
    background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.lv-act:active { transform: translateY(1px); }
.lv-confirm { height: 46px; min-width: 132px; padding: 0 18px; border: 0; border-radius: 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--gz-sans); font-size: 17px; color: #1b1206; background: linear-gradient(180deg, #fff2c6, var(--lv-gold) 45%, var(--lv-gold2));
    box-shadow: 0 4px 0 #7a5410, 0 10px 20px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.7); transition: filter .2s, transform .1s; filter: grayscale(.6) brightness(.8); }
.lv-confirm.is-ready { filter: none; animation: lvGlow 1.2s ease-in-out infinite alternate; }
@keyframes lvGlow { to { box-shadow: 0 4px 0 #7a5410, 0 0 26px rgba(255, 214, 110, .9), inset 0 1px 0 rgba(255,255,255,.7); } }
.lv-confirm:active { transform: translateY(3px); box-shadow: 0 1px 0 #7a5410, 0 6px 14px rgba(0,0,0,.4); }
.lv-confirm.is-busy { opacity: .6; pointer-events: none; }
.lv-confirm b { font-family: var(--gz-num); font-weight: 400; font-size: 15px; }
.lv-mybar { margin-top: 10px; padding: 9px 14px; border-radius: 12px; background: rgba(255,255,255,.05); font-size: 13px; color: rgba(255,255,255,.82); line-height: 1.5; }
.lv-mybar b { color: var(--lv-gold); }
@media (max-width: 560px) {
    .lv-actions { width: 100%; } .lv-confirm { flex: 1; } .lv-act { padding: 0 11px; }
    .lv-chip { width: 46px; height: 46px; } .lv-chip span { font-size: 11.5px; }
    .lv-timer { width: 62px; height: 62px; top: calc(var(--gz-safe-t) + 118px); } .lv-timer-n { font-size: 22px; }
    .lv-mode { min-width: 48px; padding: 5px 9px 4px; } .lv-mode small { display: none; } .lv-round b { font-size: 13.5px; }
}

/* ------------------------------------------------------------------ bottom panel */
.lv-panel { max-width: 1180px; margin: 14px auto 0; padding: 0 12px; }
.lv-tabs { display: flex; gap: 6px; border-bottom: 1px solid rgba(255,255,255,.12); }
.lv-tab { border: 0; cursor: pointer; padding: 12px 16px 11px; background: none; color: rgba(255,255,255,.6); font-weight: 800; font-size: 15px; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.lv-tab.is-on { color: #fff; border-bottom-color: var(--lv-gold); }
.lv-pane { padding: 14px 0 6px; }
.lv-pane.is-loading { opacity: .5; }
.lv-empty { margin: 18px 0; text-align: center; color: rgba(255,255,255,.55); font-size: 14px; }
.lv-empty a { color: var(--lv-gold); }
.lv-more { display: block; margin: 12px auto 4px; padding: 10px 22px; border-radius: 12px; border: 0; cursor: pointer; color: #fff; font-weight: 700; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.lv-table-wrap { overflow-x: auto; border-radius: 14px; background: var(--lv-panel); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.lv-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lv-table th { position: sticky; top: 0; padding: 10px 10px; text-align: left; font-size: 11.5px; color: rgba(255,255,255,.55); font-weight: 700; background: rgba(0,0,0,.25); white-space: nowrap; }
.lv-table td { padding: 9px 10px; border-top: 1px solid rgba(255,255,255,.06); vertical-align: middle; }
.lv-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.lv-table .nowrap { white-space: nowrap; }
.lv-table tr.is-new td { animation: lvNew 1.6s ease-out; }
@keyframes lvNew { from { background: rgba(232, 192, 105, .28); } }
.lv-mytable tr.is-win td { background: rgba(232, 192, 105, .07); }
.lv-st { font-style: normal; font-size: 12px; font-weight: 800; padding: 2px 8px; border-radius: 999px; }
.lv-st.is-win { background: rgba(63, 224, 138, .16); color: #5cf09c; } .lv-st.is-lose { background: rgba(255,255,255,.07); color: rgba(255,255,255,.55); }
.lv-st.is-push { background: rgba(31, 174, 92, .16); color: #8ce8b4; } .lv-st.is-open { background: rgba(47, 107, 255, .18); color: #9cc0ff; } .lv-st.is-void { background: rgba(255,255,255,.07); color: #aab; }
.lv-pos { color: #5cf09c; font-weight: 800; }
.lv-muted { color: rgba(255,255,255,.4); }
.lv-adm { font-style: normal; font-size: 10.5px; padding: 1px 5px; border-radius: 5px; background: #ff9f1c; color: #1b1206; font-weight: 800; }
.lv-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.7); }
.lv-pager button { border: 0; padding: 8px 14px; border-radius: 10px; cursor: pointer; color: #fff; background: rgba(255,255,255,.08); font-weight: 700; }
.lv-pager button:disabled { opacity: .35; cursor: default; }
.lv-foot { max-width: 1180px; margin: 10px auto 0; padding: 0 16px calc(var(--gz-safe-b) + 28px); font-size: 11.5px; line-height: 1.6; color: rgba(255,255,255,.42); text-align: center; }
.lv-stats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.lv-stat { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.06); font-size: 12.5px; font-weight: 700; color: rgba(255,255,255,.8); }
.lv-stat i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.lv-stat b { font-variant-numeric: tabular-nums; }
.lv-h3 { margin: 18px 0 8px; font-size: 13px; color: rgba(255,255,255,.62); font-weight: 800; letter-spacing: .3px; }

/* ================================================================== 바카라 */
.bc-board { display: grid; grid-template-columns: 1fr 2fr 1.3fr 2fr 1fr; gap: 8px; }
.bc-board .lv-spot { min-height: 76px; }
.bc-board .lv-spot .t { font-size: 19px; }
.bc-board .is-p { --sc: var(--lv-p); } .bc-board .is-b { --sc: var(--lv-b); } .bc-board .is-t { --sc: var(--lv-t); }
.bc-board .is-pp { --sc: #5d8bff; } .bc-board .is-bp { --sc: #ff6b6b; }
.bc-board .lv-spot.is-p .t, .bc-board .lv-spot.is-b .t { font-size: 24px; letter-spacing: 1px; }
.bc-board .lv-spot .k { font-size: 11px; font-weight: 800; color: rgba(255,255,255,.6); }
@media (max-width: 640px) {
    .bc-board { grid-template-columns: repeat(4, 1fr); grid-template-areas: "pp t t bp" "p p b b"; }
    .bc-board .is-pp { grid-area: pp; } .bc-board .is-t { grid-area: t; } .bc-board .is-bp { grid-area: bp; }
    .bc-board .is-p { grid-area: p; } .bc-board .is-b { grid-area: b; }
    .bc-board .lv-spot { min-height: 54px; }
    .bc-board .is-p, .bc-board .is-b { min-height: 70px; }
}
.bc-score { position: absolute; inset: auto 0 10px 0; height: 64px; opacity: 0; transition: opacity .3s; }
.bc-score.is-on { opacity: 1; }
.bc-score > div { position: absolute; bottom: 0; left: 50%; translate: -50% 0; min-width: 118px; padding: 6px 14px 7px; border-radius: 14px; text-align: center; background: rgba(5, 8, 16, .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: inset 0 0 0 1.5px var(--sc), 0 8px 20px rgba(0,0,0,.45); transition: transform .3s, box-shadow .3s; }
.bc-score small { display: block; font-size: 11px; font-weight: 900; letter-spacing: 1.5px; color: var(--sc); }
.bc-score b { display: block; font-family: var(--gz-num); font-weight: 400; font-size: 32px; line-height: 1.05; }
.bc-score .p { --sc: #6f9dff; } .bc-score .b { --sc: #ff7a78; }
.bc-score .is-win { transform: scale(1.12); box-shadow: inset 0 0 0 2.5px var(--sc), 0 0 34px var(--sc); }
.bc-score .is-pop b { animation: lvPop .35s cubic-bezier(.2, 1.6, .4, 1); }
@media (max-width: 560px) { .bc-score { bottom: 8px; height: 52px; } .bc-score > div { min-width: 84px; padding: 3px 8px 4px; } .bc-score b { font-size: 24px; } }
.bc-roads { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 12px; }
@media (max-width: 760px) { .bc-roads { grid-template-columns: 1fr; } }
.bc-road { padding: 10px; border-radius: 14px; background: #f7f4ec; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); min-width: 0; }
.bc-scroll { overflow-x: auto; scrollbar-width: thin; }
.bc-road h4 { margin: 0 0 6px; font-size: 11.5px; color: #6b6150; font-weight: 800; letter-spacing: .3px; }
.bc-grid { display: grid; grid-auto-flow: column; grid-template-rows: repeat(6, var(--cs, 22px)); grid-auto-columns: var(--cs, 22px);
    background-image: linear-gradient(#ddd6c6 1px, transparent 1px), linear-gradient(90deg, #ddd6c6 1px, transparent 1px); background-size: var(--cs, 22px) var(--cs, 22px);
    width: max-content; min-width: 100%; border: 1px solid #ddd6c6; }
.bc-bead { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; }
.bc-bead i { width: 84%; height: 84%; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-style: normal; font-size: 10.5px; font-weight: 900; }
.bc-bead i.P { background: var(--lv-p); } .bc-bead i.B { background: var(--lv-b); } .bc-bead i.T { background: var(--lv-t); }
.bc-bead .pp, .bc-bead .bp { position: absolute; width: 6px; height: 6px; border-radius: 50%; border: 1px solid #fff; }
.bc-bead .pp { right: 1px; bottom: 1px; background: var(--lv-p); } .bc-bead .bp { left: 1px; top: 1px; background: var(--lv-b); }
.bc-big { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; }
.bc-big i { width: 78%; height: 78%; border-radius: 50%; border: 2.5px solid; box-sizing: border-box; }
.bc-big i.P { border-color: var(--lv-p); } .bc-big i.B { border-color: var(--lv-b); }
.bc-big em { position: absolute; font-style: normal; font-size: 9px; font-weight: 900; color: var(--lv-t); }
.bc-big .tie { position: absolute; width: 120%; height: 2px; background: var(--lv-t); transform: rotate(-45deg); }
.bc-grid .is-new i { animation: lvBlink .45s ease-in-out 5 alternate; }
@keyframes lvBlink { to { opacity: .25; } }
.bc-cards { display: inline-flex; align-items: center; gap: 3px; }
.bc-hand { display: inline-flex; align-items: center; gap: 2px; padding: 2px 6px 2px 3px; border-radius: 8px; background: rgba(255,255,255,.06); }
.bc-hand.p { box-shadow: inset 3px 0 0 var(--lv-p); } .bc-hand.b { box-shadow: inset 3px 0 0 var(--lv-b); }
.bc-hand > b { min-width: 16px; text-align: center; font-family: var(--gz-num); font-weight: 400; font-size: 15px; }
.bc-card { font-style: normal; display: inline-flex; align-items: center; justify-content: center; min-width: 25px; height: 32px; padding: 0 2px; border-radius: 4px; background: #fbfaf6;
    color: #1b1f2a; font-size: 11.5px; font-weight: 900; box-shadow: 0 1px 2px rgba(0,0,0,.35); letter-spacing: -.5px; }
.bc-card.r { color: #d1222a; } .bc-card.third { transform: rotate(-90deg) scale(.92); margin: 0 3px; }
.bc-w { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; font-weight: 900; font-size: 12px; color: #fff; }
.bc-w.P { background: var(--lv-p); } .bc-w.B { background: var(--lv-b); } .bc-w.T { background: var(--lv-t); }
.bc-tag { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 6px; font-size: 10.5px; font-weight: 800; }
.bc-tag.pp { background: rgba(47, 107, 255, .22); color: #9cc0ff; } .bc-tag.bp { background: rgba(229, 56, 59, .22); color: #ffaaa8; }

/* ================================================================== 파워볼 */
.pb-board { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px) { .pb-board { grid-template-columns: 1fr; } }
.pb-group { padding: 10px; border-radius: 16px; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.pb-group h3 { display: flex; align-items: center; gap: 8px; margin: 0 2px 8px; font-size: 13.5px; font-weight: 900; letter-spacing: .3px; }
.pb-group h3 i { width: 18px; height: 18px; border-radius: 50%; display: inline-block; }
.pb-group.is-pb h3 i { background: radial-gradient(circle at 35% 30%, #ff9a9a, #e0262a 60%, #8c0c12); }
.pb-group.is-n h3 i { background: radial-gradient(circle at 35% 30%, #fff, #dfe5ee 60%, #a7b1c2); }
.pb-group h3 small { margin-left: auto; font-size: 11px; font-weight: 700; color: rgba(255,255,255,.5); }
.pb-row { display: grid; gap: 6px; margin-top: 6px; }
.pb-row.c4 { grid-template-columns: repeat(4, 1fr); } .pb-row.c3 { grid-template-columns: repeat(3, 1fr); } .pb-row.c10 { grid-template-columns: repeat(10, 1fr); }
.pb-board .lv-spot { min-height: 54px; }
.pb-board .lv-spot .t { font-size: 16px; }
.pb-board .is-odd, .pb-board .is-under, .pb-board .is-s { --sc: #3a7bff; }
.pb-board .is-even, .pb-board .is-over, .pb-board .is-l { --sc: #e5383b; }
.pb-board .is-m { --sc: #1fae5c; }
.pb-board .is-combo { --sc: #9a6bff; }
.pb-board .is-num { --sc: #e8a325; min-height: 44px; padding: 4px 0; border-radius: 50%; aspect-ratio: 1; }
.pb-board .is-num .t { font-family: var(--gz-num); font-weight: 400; font-size: 18px; }
.pb-board .is-num .o { display: none; }
.pb-board .is-num .lv-amt { top: -12px; right: -10px; font-size: 10px; padding: 1px 5px 1px 2px; }
.pb-numodds { margin: 6px 2px 0; font-size: 11.5px; color: rgba(255,255,255,.55); }
@media (max-width: 420px) { .pb-row.c10 { grid-template-columns: repeat(5, 1fr); } .pb-board .is-num { aspect-ratio: auto; border-radius: 12px; } }
.pb-tray { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px;
    background: rgba(4, 8, 22, .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 10px 28px rgba(0,0,0,.5); }
.pb-tray .slot { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--gz-num); font-size: 19px; color: #1b2233;
    background: rgba(255,255,255,.08); box-shadow: inset 0 2px 6px rgba(0,0,0,.5); transition: transform .3s; }
.pb-tray .slot.on { background: radial-gradient(circle at 35% 30%, #fff, #e6ebf3 55%, #aeb8c9); box-shadow: 0 2px 6px rgba(0,0,0,.45); animation: lvPop .4s cubic-bezier(.2, 1.6, .4, 1); }
.pb-tray .slot.pb { margin-left: 6px; }
.pb-tray .slot.pb.on { color: #fff; background: radial-gradient(circle at 35% 30%, #ff9a9a, #e0262a 55%, #8c0c12); box-shadow: 0 0 16px rgba(255, 60, 60, .7); }
.pb-tray .eq { font-family: var(--gz-num); font-size: 16px; color: rgba(255,255,255,.6); margin: 0 2px; }
.pb-tray .sum { min-width: 46px; text-align: center; font-family: var(--gz-num); font-size: 24px; color: #ffe08a; }
.pb-tray .lbl { font-size: 10px; font-weight: 900; color: #ff8f8f; letter-spacing: 1px; margin-left: 4px; }
@media (max-width: 560px) { .pb-tray { bottom: 10px; gap: 4px; padding: 6px 9px; } .pb-tray .slot { width: 30px; height: 30px; font-size: 15px; } .pb-tray .sum { font-size: 19px; min-width: 34px; } .pb-tray .lbl { display: none; } }
.pb-badges { position: absolute; left: 50%; bottom: 72px; transform: translateX(-50%); display: flex; gap: 6px; opacity: 0; transition: opacity .3s; flex-wrap: nowrap; }
.pb-badges.is-on { opacity: 1; }
@media (max-width: 560px) { .pb-badges { bottom: 54px; } .pb-b { padding: 3px 7px; font-size: 11px; } }
.pb-b { padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 900; color: #fff; background: rgba(4, 8, 22, .78); box-shadow: inset 0 0 0 1.5px var(--bc, #fff); white-space: nowrap; animation: lvPop .4s cubic-bezier(.2, 1.6, .4, 1) both; }
.pb-b.blue { --bc: #3a7bff; color: #a8c4ff; } .pb-b.red { --bc: #e5383b; color: #ffb0ae; } .pb-b.green { --bc: #1fae5c; color: #9df0bf; } .pb-b.gold { --bc: #e8c069; color: #ffe08a; }
.pb-ball { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-family: var(--gz-num); font-size: 13px; color: #1b2233;
    background: radial-gradient(circle at 35% 30%, #fff, #e6ebf3 55%, #aeb8c9); box-shadow: 0 1px 2px rgba(0,0,0,.4); margin-right: 3px; }
.pb-ball.c1 { background: radial-gradient(circle at 35% 30%, #fff6c8, #ffcc33 55%, #c98d00); } .pb-ball.c2 { background: radial-gradient(circle at 35% 30%, #d4e4ff, #4f8bff 55%, #1d4fc4); color: #fff; }
.pb-ball.c3 { background: radial-gradient(circle at 35% 30%, #ffd2d2, #ff5a5a 55%, #b51e1e); color: #fff; } .pb-ball.c4 { background: radial-gradient(circle at 35% 30%, #d4f7df, #3ccf74 55%, #138a42); color: #fff; }
.pb-ball.pb { color: #fff; background: radial-gradient(circle at 35% 30%, #555, #111 60%); box-shadow: 0 0 0 2px #e0262a, 0 1px 2px rgba(0,0,0,.4); }
.pb-k { display: inline-block; min-width: 26px; padding: 2px 7px; border-radius: 7px; font-size: 12px; font-weight: 900; text-align: center; }
.pb-k.blue { background: rgba(58, 123, 255, .2); color: #a8c4ff; } .pb-k.red { background: rgba(229, 56, 59, .2); color: #ffb0ae; } .pb-k.green { background: rgba(31, 174, 92, .2); color: #9df0bf; }
.pb-sum { font-family: var(--gz-num); font-size: 16px; color: #ffe08a; }
.pb-pat { display: grid; grid-auto-flow: column; grid-template-rows: repeat(6, 20px); grid-auto-columns: 20px; gap: 2px; padding: 8px; border-radius: 12px; background: rgba(255,255,255,.04); overflow-x: auto; width: max-content; max-width: 100%; }
.pb-pat i { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 10px; font-weight: 900; color: #fff; }
.pb-pat i.blue { background: #3a7bff; } .pb-pat i.red { background: #e5383b; }
.pb-pats { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.pb-pats > div { min-width: 0; max-width: 100%; }

/* 2026-10-19 바카라: 딜러 얼굴이 가려지지 않게 — 안내 배너는 가슴 · 테이블 높이, 세로 화면은 무대를 조금 더 높게 (영상 틀은 baccarat.js layoutFrame) */
.gz-baccarat .lv-banner { top: 63%; }
@media (max-aspect-ratio: 4/5) { .gz-baccarat .lv-stage { height: clamp(320px, 60vh, 700px); } }
