.gc-wrapper{position:relative;width:100%;height:100vh;overflow:hidden}.gc-content{width:100%;height:100%}.gc-bar{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#0d0d1cbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);transition:opacity .3s ease,transform .3s ease;opacity:1;transform:translateY(0)}.gc-bar-hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.gc-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:6px;background:#ffffff0f;color:#ffffffb3;font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s,color .15s;line-height:1}.gc-btn:hover{background:#ffffff1f;color:#fff}.gc-btn-icon{font-size:16px;line-height:1}.gc-btn-label{font-size:12px;font-weight:600;letter-spacing:.3px}.gc-back{gap:6px}.gc-title{display:flex;align-items:center;gap:6px;position:absolute;left:50%;transform:translate(-50%)}.gc-title-icon{font-size:16px}.gc-title-text{font-size:13px;font-weight:700;color:#ffffffd9;letter-spacing:.5px}.gc-right{display:flex;align-items:center;gap:4px}@media(max-width:480px){.gc-btn-label{display:none}.gc-bar{padding:4px 8px}.gc-title-text{font-size:12px}}:root{--card-red: #c62828;--card-black: #1a237e;--card-face-bg: #fdfdfd;--card-face-cream: #faf8f5;--card-back-gradient: linear-gradient(145deg, #1a237e 0%, #283593 40%, #1a237e 100%);--card-back-accent: rgba(255, 215, 0, .08);--card-border: rgba(0, 0, 0, .12);--card-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .08);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .12);--card-shadow-cast: 0 12px 32px rgba(0, 0, 0, .25);--card-selected-glow: 0 0 0 2px rgba(59, 130, 246, .5), 0 0 16px rgba(59, 130, 246, .3);--card-glow-pulse: 0 0 0 3px rgba(59, 130, 246, .3), 0 0 24px rgba(59, 130, 246, .2);--card-radius: 8px;--card-transition: .3s cubic-bezier(.34, 1.56, .64, 1);--card-transition-smooth: .25s cubic-bezier(.22, 1, .36, 1)}.lc-card-sm{--card-w: 60px;--card-h: 86px;--card-font: 11px;--card-pip: 18px}.lc-card-md{--card-w: 80px;--card-h: 116px;--card-font: 13px;--card-pip: 24px}.lc-card-lg{--card-w: 104px;--card-h: 150px;--card-font: 16px;--card-pip: 30px}.lc-card{width:var(--card-w);height:var(--card-h);perspective:800px;cursor:default;flex-shrink:0;user-select:none;-webkit-user-select:none}.lc-card-clickable{cursor:pointer}.lc-card-inner{width:100%;height:100%;position:relative;transition:transform var(--card-transition);transform-style:preserve-3d}.lc-card-down .lc-card-inner{transform:rotateY(180deg)}.lc-card-up .lc-card-inner{transform:rotateY(0)}.lc-card-face{position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(180deg,var(--card-face-bg) 0%,var(--card-face-cream) 100%);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);display:flex;align-items:center;justify-content:center;overflow:hidden}.lc-card-face:before{content:"";position:absolute;inset:2px;border:1px solid rgba(0,0,0,.04);border-radius:calc(var(--card-radius) - 1px);pointer-events:none}.lc-card-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.lc-card-center svg{width:100%;height:100%}.lc-card-back{position:absolute;inset:0;backface-visibility:hidden;background:var(--card-back-gradient);border:1px solid rgba(255,255,255,.08);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transform:rotateY(180deg);overflow:hidden}.lc-card-back-inner{position:absolute;inset:3px;border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--card-radius) - 2px);overflow:hidden;display:flex;align-items:center;justify-content:center}.lc-card-back-pattern{position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(255,255,255,.04) 6px,rgba(255,255,255,.04) 7px),repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(255,255,255,.04) 6px,rgba(255,255,255,.04) 7px),radial-gradient(ellipse at center,rgba(255,215,0,.06) 0%,transparent 70%)}.lc-card-back-emblem{position:relative;z-index:1;width:40%;height:40%;opacity:.8}.lc-card-back-emblem svg{width:100%;height:100%}.lc-card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;gap:0;z-index:2}.lc-card-tl{top:3px;left:4px}.lc-card-br{bottom:3px;right:4px;transform:rotate(180deg)}.lc-card-rank{font-size:var(--card-font);font-weight:800;font-family:Inter,-apple-system,sans-serif;letter-spacing:-.02em}.lc-card-suit{font-size:calc(var(--card-font) * .72);line-height:1;margin-top:-1px}.lc-card-clickable:hover .lc-card-inner{transform:translateY(-6px)}.lc-card-clickable:hover .lc-card-face,.lc-card-clickable:hover .lc-card-back{box-shadow:var(--card-shadow-hover)}.lc-card-selected .lc-card-inner{transform:translateY(-10px)}.lc-card-selected .lc-card-face{box-shadow:var(--card-selected-glow);border-color:#3b82f666;animation:lcCardGlowPulse 1.5s ease-in-out infinite alternate}@keyframes lcCardGlowPulse{0%{box-shadow:var(--card-selected-glow)}to{box-shadow:var(--card-glow-pulse)}}.lc-card-disabled{opacity:.45;pointer-events:none;filter:grayscale(.3)}.lc-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--card-radius);pointer-events:none;user-select:none;-webkit-user-select:none}.lc-card-face-img{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.lc-card-face-img:before{display:none}.lc-card-back-img{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--card-radius);box-shadow:var(--card-shadow);transform:rotateY(180deg);overflow:hidden}.lc-card-themed .lc-card-face-img{box-shadow:var(--card-shadow),0 0 1px #0003}.lc-card-themed.lc-card-selected .lc-card-face-img{box-shadow:var(--card-selected-glow);animation:lcCardGlowPulse 1.5s ease-in-out infinite alternate}.lc-card-deal{animation:lcCardDealArc .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes lcCardDealArc{0%{opacity:0;transform:translateY(-40px) translate(-10px) scale(.7) rotate(-5deg)}60%{opacity:1;transform:translateY(-4px) translate(2px) scale(1.02) rotate(.5deg)}to{opacity:1;transform:translateY(0) translate(0) scale(1) rotate(0)}}.lc-card-slide{animation:lcCardSlide .35s cubic-bezier(.22,1,.36,1) both}@keyframes lcCardSlide{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.lc-hand{display:flex;flex-direction:column;align-items:center;gap:6px}.lc-hand-label{font-size:11px;font-weight:600;color:#ffffff8c;text-transform:uppercase;letter-spacing:1.2px}.lc-hand-cards{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.lc-hand-overlap .lc-hand-cards{gap:0}.lc-hand-overlap .lc-hand-cards .lc-card+.lc-card{margin-left:calc(var(--card-w) * -.38);transition:margin-left .2s ease}.lc-hand-overlap:hover .lc-hand-cards .lc-card+.lc-card{margin-left:calc(var(--card-w) * -.28)}.lc-hand-disabled{pointer-events:none;opacity:.65}.lc-hand-arc .lc-hand-cards{position:relative;gap:0}.lc-hand-arc .lc-hand-cards .lc-card{transform-origin:bottom center;transition:transform .2s var(--card-transition-smooth)}.lc-deck{position:relative;width:var(--card-w);height:var(--card-h);display:flex;align-items:center;justify-content:center}.lc-deck-clickable{cursor:pointer;transition:transform .2s ease}.lc-deck-clickable:hover{transform:scale(1.04) translateY(-2px)}.lc-deck-clickable:active{transform:scale(.98)}.lc-deck-stack{position:relative;width:100%;height:100%}.lc-deck-layer{position:absolute;inset:0;border-radius:var(--card-radius)}.lc-deck-layer-3{transform:translate(4px,4px);background:var(--card-back-gradient);border:1px solid rgba(255,255,255,.04);opacity:.5}.lc-deck-layer-2{transform:translate(2px,2px);background:var(--card-back-gradient);border:1px solid rgba(255,255,255,.06);opacity:.7}.lc-deck-layer-1{overflow:hidden;box-shadow:var(--card-shadow)}.lc-deck-layer-1 .lc-card-back{position:relative;width:100%;height:100%;transform:none}.lc-deck-placeholder{width:100%;height:100%;border:2px dashed rgba(255,255,255,.12);border-radius:var(--card-radius);display:flex;align-items:center;justify-content:center;color:#ffffff26;font-size:24px}.lc-deck-count{position:absolute;bottom:-8px;right:-8px;background:#000000bf;color:#fff;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #0000004d}.lc-deck-empty .lc-deck-count{display:none}.lc-deck-disabled{opacity:.35;pointer-events:none}.lc-table{display:flex;flex-direction:column;min-height:100%;padding:24px 16px;font-family:Inter,-apple-system,sans-serif;color:#fff;position:relative;overflow-y:auto}.lc-table-green{background:radial-gradient(ellipse at 50% 40%,rgba(46,125,50,.3) 0%,transparent 70%),linear-gradient(165deg,#1a472a,#2d5a27,#1a472a)}.lc-table-blue{background:radial-gradient(ellipse at 50% 40%,rgba(30,60,114,.3) 0%,transparent 70%),linear-gradient(165deg,#0d1b2a,#1b2838,#0d1b2a)}.lc-table-dark{background:radial-gradient(ellipse at 50% 40%,rgba(40,40,60,.3) 0%,transparent 70%),linear-gradient(165deg,#0a0a12,#141420,#0a0a12)}.lc-table-none{background:transparent}.lc-table-green:before,.lc-table-blue:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='transparent'/%3E%3Crect width='1' height='1' fill='rgba(255,255,255,0.015)'/%3E%3C/svg%3E");pointer-events:none}.lc-pip-layout,.lc-face-svg,.lc-ace-pip{pointer-events:none}@media(max-width:600px){.lc-card-md{--card-w: 60px;--card-h: 86px;--card-font: 11px;--card-pip: 18px}.lc-card-lg{--card-w: 80px;--card-h: 116px;--card-font: 13px;--card-pip: 24px}.lc-hand-overlap .lc-hand-cards .lc-card+.lc-card{margin-left:calc(var(--card-w) * -.5)}.lc-table{padding:12px 8px}}.lc-card-exit{animation:lcCardExit .3s cubic-bezier(.55,.085,.68,.53) both}@keyframes lcCardExit{to{opacity:0;transform:translateY(-20px) scale(.85)}}.lc-card-collect{animation:lcCardCollect .4s cubic-bezier(.22,1,.36,1) both}@keyframes lcCardCollect{to{opacity:0;transform:scale(.6) translateY(-30px)}}.bj-board{display:flex;flex-direction:column;align-items:center;min-height:100%;padding:24px 16px;background:linear-gradient(165deg,#0a3d1f,#0d5a2d 40%,#0b4a25);font-family:Inter,-apple-system,sans-serif;color:#fff;position:relative;overflow-y:auto;gap:16px}.bj-board:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.03) 0%,transparent 60%),url("data:image/svg+xml,%3Csvg width='6' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='0.5' fill='rgba(0,0,0,0.05)'/%3E%3C/svg%3E");pointer-events:none}.bj-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:800px;position:relative;z-index:1}.bj-back-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#0000004d;color:#fffc;cursor:pointer;font-size:13px;transition:all .2s}.bj-back-btn:hover{background:#00000080;border-color:#ffffff4d;color:#fff}.bj-balance{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0006;border-radius:12px;border:1px solid rgba(255,215,0,.3);font-size:16px;font-weight:600;color:gold}.bj-balance i{font-size:18px}.bj-reset-btn{margin-left:8px;padding:3px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#e74c3c66;color:#fff;cursor:pointer;font-size:11px;transition:background .2s}.bj-reset-btn:hover{background:#e74c3cb3}.bj-area-label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#ffffff59;margin-bottom:8px}.bj-dealer-area,.bj-player-area{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;min-height:140px}.bj-player-area{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:24px}.bj-hand{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:12px;border:2px solid transparent;transition:border-color .3s,background .3s;min-width:160px}.bj-hand-active{border-color:#ffd70080;background:#ffd7000d}.bj-hand-label{font-size:11px;font-weight:600;letter-spacing:1px;color:#ffffff80;margin-bottom:6px;text-transform:uppercase}.bj-cards-row{display:flex;gap:0;margin-bottom:8px}.bj-cards-row .bj-card:not(:first-child){margin-left:-28px}.bj-card{width:72px;height:104px;border-radius:8px;position:relative;box-shadow:0 2px 8px #0000004d,0 1px 3px #0003;transition:transform .2s;flex-shrink:0}.bj-card:hover{transform:translateY(-3px)}.bj-card-deal{animation:bjCardDeal .4s cubic-bezier(.22,1,.36,1) both}@keyframes bjCardDeal{0%{opacity:0;transform:translateY(-60px) rotate(-8deg) scale(.8)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.bj-card-face{width:100%;height:100%;background:linear-gradient(135deg,#fff,#f8f6f0);border-radius:8px;border:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;position:relative;font-weight:700}.bj-card-corner{position:absolute;font-size:12px;line-height:1.1;text-align:center}.bj-card-corner-top{top:5px;left:6px}.bj-card-corner-bottom{bottom:5px;right:6px;transform:rotate(180deg)}.bj-card-center{font-size:28px}.bj-card-back{width:100%;height:100%;border-radius:8px;background:linear-gradient(135deg,#1a237e,#283593,#1a237e);border:2px solid rgba(255,255,255,.15);background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(255,255,255,.04) 8px,rgba(255,255,255,.04) 16px),linear-gradient(135deg,#1a237e,#283593,#1a237e)}.bj-hand-score{font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);padding:2px 12px;background:#0006;border-radius:10px;margin-top:4px}.bj-hand-score-hidden{font-size:14px;color:#ffffff80}.bj-hand-score-soft{font-size:12px;color:#ffd700cc}.bj-hand-bet{font-size:13px;color:#ffffffb3;margin-top:4px;display:flex;align-items:center;gap:4px}.bj-doubled-badge{background:#f39c12b3;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:4px}.bj-result-badge{margin-top:8px;padding:4px 16px;border-radius:8px;font-size:14px;font-weight:800;letter-spacing:1px;text-transform:uppercase;animation:bjResultPop .4s cubic-bezier(.22,1,.36,1)}@keyframes bjResultPop{0%{opacity:0;transform:scale(.6)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.bj-result-win{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;box-shadow:0 0 16px #2ecc7166}.bj-result-blackjack{background:linear-gradient(135deg,#f39c12,#f1c40f);color:#1a1a2e;box-shadow:0 0 20px #f1c40f80;font-size:16px}.bj-result-push{background:#ffffff26;color:#fffc}.bj-result-lose,.bj-result-bust{background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;box-shadow:0 0 12px #e74c3c4d}.bj-message{font-size:16px;font-weight:600;color:#ffffffe6;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.4);z-index:1}.bj-message-result{font-size:20px;animation:bjMessageFade .5s ease}@keyframes bjMessageFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bj-betting-area{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;background:#00000040;border-radius:16px;border:1px solid rgba(255,255,255,.08);z-index:1;min-width:320px}.bj-current-bet{font-size:20px;color:#ffffffe6}.bj-current-bet strong{color:gold;font-weight:800}.bj-chips-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.bj-chip{width:52px;height:52px;border-radius:50%;border:3px dashed rgba(255,255,255,.4);color:#fff;font-weight:800;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 6px #0000004d,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.4)}.bj-chip:hover:not(:disabled){transform:translateY(-4px) scale(1.08);box-shadow:0 6px 16px #0006,inset 0 1px #ffffff4d}.bj-chip:active:not(:disabled){transform:translateY(-1px) scale(.98)}.bj-chip:disabled{opacity:.3;cursor:not-allowed}.bj-chip-clear{background-color:#ffffff1a!important;border-style:solid;border-color:#fff3;font-size:16px}.bj-deal-btn{display:flex;align-items:center;gap:8px;padding:12px 32px;border:none;border-radius:12px;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #f39c1259;text-transform:uppercase;letter-spacing:1px}.bj-deal-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #f39c1280;background:linear-gradient(135deg,#f5ab35,#e8913e)}.bj-deal-btn:disabled{opacity:.4;cursor:not-allowed}.bj-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;z-index:1}.bj-action-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px;color:#fff}.bj-action-btn:disabled{opacity:.35;cursor:not-allowed}.bj-action-hit{background:linear-gradient(135deg,#27ae60,#2ecc71);box-shadow:0 3px 12px #2ecc714d}.bj-action-hit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #2ecc7173}.bj-action-stand{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 3px 12px #e74c3c4d}.bj-action-stand:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #e74c3c73}.bj-action-double{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 3px 12px #f39c124d}.bj-action-double:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #f39c1273}.bj-action-split{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 3px 12px #3498db4d}.bj-action-split:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #3498db73}.bj-result-actions{z-index:1}.bj-gpu-table{position:relative;width:100%;max-width:800px;height:350px;z-index:1;border-radius:16px;overflow:hidden}.bj-pixi-canvas{position:absolute;inset:0;z-index:1;border-radius:16px}.bj-pixi-canvas canvas{width:100%!important;height:100%!important;display:block;border-radius:16px}.bj-dealer-overlay{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;pointer-events:none}.bj-player-overlay{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:24px;justify-content:center;pointer-events:none}.bj-hand-overlay-item{display:flex;flex-direction:column;align-items:center;gap:4px}@media(max-width:600px){.bj-board{padding:12px 8px;gap:10px}.bj-card{width:56px;height:80px}.bj-card-corner{font-size:10px}.bj-card-center{font-size:22px}.bj-card-corner-top{top:3px;left:4px}.bj-card-corner-bottom{bottom:3px;right:4px}.bj-cards-row .bj-card:not(:first-child){margin-left:-20px}.bj-chip{width:42px;height:42px;font-size:12px}.bj-action-btn{padding:8px 14px;font-size:12px}.bj-deal-btn{padding:10px 24px;font-size:14px}}.hearts-table{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background:linear-gradient(165deg,#0a0a1a,#111128,#0a0a1a)!important;padding:8px 12px!important;gap:0;overflow:hidden;position:relative;box-sizing:border-box}.hearts-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;flex-shrink:0}.hearts-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800;color:#fff;font-family:Inter,-apple-system,sans-serif}.hearts-title-icon{color:#e74c3c;font-size:22px}.hearts-header-right{display:flex;align-items:center;gap:8px}.hearts-round-badge{padding:3px 10px;border-radius:12px;background:#ffffff0f;color:#ffffff80;font-size:11px;font-weight:600;border:1px solid rgba(255,255,255,.06)}.hearts-score-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Inter,-apple-system,sans-serif}.hearts-score-btn:hover{background:#ffffff1a;color:#fff}.hearts-score-btn-icon{font-size:13px}.hearts-status{text-align:center;padding:4px 0 8px;flex-shrink:0;min-height:24px}.hearts-status-text{font-size:13px;color:#ffffff8c;font-weight:500}.hearts-status-gameover{color:#f0c040;font-weight:700;font-size:14px}.hearts-game-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.hearts-player{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px}.hearts-player-top{top:0;left:50%;transform:translate(-50%)}.hearts-player-left{left:8px;top:50%;transform:translateY(-50%)}.hearts-player-right{right:8px;top:50%;transform:translateY(-50%)}.hearts-player-name{font-size:12px;font-weight:700;color:#ffffffb3;display:flex;align-items:center;gap:6px}.hearts-ai-cards{font-size:10px;color:#ffffff4d;font-weight:500}.hearts-player-score{font-size:11px;color:#ffffff73;font-weight:600}.hearts-round-pts{color:#e74c3c;font-size:10px;margin-left:3px}.hearts-thinking-dot{width:6px;height:6px;border-radius:50%;background:#f0c040;animation:heartsPulse 1s ease-in-out infinite}@keyframes heartsPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.hearts-trick-area{position:relative;width:220px;height:180px}.hearts-trick-slot{position:absolute;transition:all .3s cubic-bezier(.22,1,.36,1)}.hearts-trick-bottom{bottom:0;left:50%;transform:translate(-50%)}.hearts-trick-top{top:0;left:50%;transform:translate(-50%)}.hearts-trick-left{left:0;top:50%;transform:translateY(-50%)}.hearts-trick-right{right:0;top:50%;transform:translateY(-50%)}.hearts-trick-winner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:4px 12px;border-radius:12px;background:#2ecc7133;border:1px solid rgba(46,204,113,.3);color:#2ecc71;font-size:11px;font-weight:700;white-space:nowrap;animation:heartsFadeIn .3s ease}.hearts-broken-badge{position:absolute;bottom:8px;right:8px;padding:3px 10px;border-radius:10px;background:#e74c3c26;border:1px solid rgba(231,76,60,.25);color:#e74c3c;font-size:10px;font-weight:700;animation:heartsFadeIn .4s ease}.hearts-my-area{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px 0}.hearts-my-info{display:flex;align-items:center;gap:12px}.hearts-my-name{font-size:13px;font-weight:700;color:#fffc}.hearts-my-score{font-size:12px;color:#ffffff73;font-weight:600}.hearts-hand{flex-shrink:0;width:100%;padding:2px 0}.hearts-hand-cards{display:flex;justify-content:center;flex-wrap:nowrap;padding:4px 8px;gap:0}.hearts-card{flex-shrink:0;margin-left:-56px;transition:transform .2s cubic-bezier(.22,1,.36,1),margin-top .15s ease;cursor:default;position:relative;z-index:1}.hearts-card:first-child{margin-left:0}.hearts-card:hover{z-index:10}.hearts-card.playable{cursor:pointer}.hearts-card.playable:hover{transform:translateY(-6px);z-index:10}.hearts-card.selected{transform:translateY(-10px);z-index:10}.hearts-card.selected .lc-card{box-shadow:0 0 10px 2px #e74c3c80}.hearts-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.hearts-hand-cards .lc-card-sm{--card-w: 160px;--card-h: 232px;--card-font: 16px;--card-pip: 28px;--card-radius: 12px}.hearts-trick-slot .lc-card-sm{--card-w: 100px;--card-h: 145px;--card-font: 12px;--card-pip: 20px;--card-radius: 10px}.hearts-pass-actions{display:flex;justify-content:center;padding:8px 0 4px;flex-shrink:0}.hearts-btn{padding:8px 24px;border-radius:10px;font-size:13px;font-weight:700;font-family:Inter,-apple-system,sans-serif;border:none;cursor:pointer;transition:all .2s ease}.hearts-btn-primary{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 2px 8px #e74c3c4d}.hearts-btn-primary:hover{background:linear-gradient(135deg,#ff5e4e,#e74c3c);transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c66}.hearts-round-over{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0f0f23f2;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:280px;box-shadow:0 8px 32px #00000080;z-index:20;animation:heartsFadeIn .3s ease}.hearts-round-over-title{font-size:16px;font-weight:800;color:#fff}.hearts-round-scores{width:100%;display:flex;flex-direction:column;gap:6px}.hearts-round-score-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#ffffff0a}.hearts-round-score-name{flex:1;font-size:13px;font-weight:600;color:#fffc}.hearts-round-score-val{font-size:13px;font-weight:700;color:#e74c3c;min-width:32px;text-align:right}.hearts-round-score-total{font-size:11px;color:#ffffff59;min-width:60px;text-align:right}.hearts-game-over-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:heartsFadeIn .3s ease}.hearts-game-over-modal{background:linear-gradient(165deg,#151530,#1a1a3a);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:300px;box-shadow:0 16px 48px #0009}.hearts-game-over-title{font-size:24px;font-weight:800;color:#fff}.hearts-game-over-subtitle{font-size:14px;color:#ffffff80;text-align:center}.hearts-final-scores{width:100%;display:flex;flex-direction:column;gap:6px;margin:8px 0}.hearts-final-score-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;background:#ffffff0a;font-size:13px;color:#ffffffb3}.hearts-final-score-row.winner{background:#2ecc711f;border:1px solid rgba(46,204,113,.2);color:#2ecc71}.hearts-final-score-val{font-weight:700}.hearts-scoreboard-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;animation:heartsFadeIn .2s ease}.hearts-scoreboard{background:#0f0f23f2;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px 24px;min-width:280px;max-width:360px;box-shadow:0 8px 32px #00000080}.hearts-scoreboard-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:12px;font-size:15px;font-weight:800;color:#fff}.hearts-scoreboard-close{width:24px;height:24px;border-radius:6px;background:#ffffff0f;border:none;color:#ffffff80;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.hearts-scoreboard-close:hover{background:#ffffff1a;color:#fff}.hearts-scoreboard-body{display:flex;flex-direction:column;gap:10px}.hearts-scoreboard-row{display:flex;align-items:center;gap:10px}.hearts-scoreboard-row.self .hearts-scoreboard-name{color:#3498db}.hearts-scoreboard-name{font-size:13px;font-weight:600;color:#ffffffb3;min-width:50px}.hearts-scoreboard-bar-track{flex:1;height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden}.hearts-scoreboard-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,#e74c3c,#c0392b);transition:width .5s ease;min-width:2px}.hearts-scoreboard-pts{font-size:12px;font-weight:700;color:#ffffff80;min-width:30px;text-align:right}.hearts-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:#ffffff80;font-size:14px}.hearts-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:#ffffff80;border-radius:50%;animation:spin .6s linear infinite}@keyframes heartsFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.hearts-game-over-overlay .hearts-game-over-modal,.hearts-scoreboard-overlay .hearts-scoreboard{animation:heartsPopIn .3s cubic-bezier(.22,1,.36,1)}@keyframes heartsPopIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.hearts-pass-indicator{display:flex;align-items:center;justify-content:center;gap:8px}.hearts-pass-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:16px;font-weight:700;animation:heartsArrowPulse 2s ease-in-out infinite}.hearts-pass-left{background:#3498db33;border:1px solid rgba(52,152,219,.3);color:#3498db}.hearts-pass-right{background:#2ecc7133;border:1px solid rgba(46,204,113,.3);color:#2ecc71}.hearts-pass-across{background:#9b59b633;border:1px solid rgba(155,89,182,.3);color:#9b59b6}.hearts-pass-keep{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff6}@keyframes heartsArrowPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hearts-btn-arrow{font-size:16px;margin-right:4px}.hearts-trick-count{position:absolute;bottom:8px;left:8px;padding:3px 10px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#ffffff59;font-size:10px;font-weight:600}.hearts-trick-played{animation:heartsCardPlay .25s cubic-bezier(.22,1,.36,1)}@keyframes heartsCardPlay{0%{opacity:0;transform:translate(-50%) scale(.5)}to{opacity:1;transform:translate(-50%) scale(1)}}.hearts-trick-left.hearts-trick-played{animation:heartsCardPlayLeft .25s cubic-bezier(.22,1,.36,1)}@keyframes heartsCardPlayLeft{0%{opacity:0;transform:translateY(-50%) translate(-20px) scale(.5)}to{opacity:1;transform:translateY(-50%) translate(0) scale(1)}}.hearts-trick-right.hearts-trick-played{animation:heartsCardPlayRight .25s cubic-bezier(.22,1,.36,1)}@keyframes heartsCardPlayRight{0%{opacity:0;transform:translateY(-50%) translate(20px) scale(.5)}to{opacity:1;transform:translateY(-50%) translate(0) scale(1)}}.hearts-trick-top.hearts-trick-played{animation:heartsCardPlayTop .25s cubic-bezier(.22,1,.36,1)}@keyframes heartsCardPlayTop{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.5)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.hearts-last-trick-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff9;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Inter,-apple-system,sans-serif}.hearts-last-trick-btn:hover{background:#ffffff1a;color:#fff}.hearts-last-trick-icon{font-size:13px}.hearts-last-trick-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;animation:heartsFadeIn .2s ease}.hearts-last-trick-modal{background:#0f0f23f2;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px 24px;min-width:300px;box-shadow:0 8px 32px #00000080}.hearts-last-trick-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:16px;font-size:15px;font-weight:800;color:#fff}.hearts-last-trick-winner-label{font-size:11px;font-weight:600;color:#2ecc71;padding:2px 8px;border-radius:8px;background:#2ecc7126}.hearts-last-trick-cards{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.hearts-lt-card-slot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:10px;background:#ffffff08;border:1px solid transparent;transition:all .2s ease}.hearts-lt-card-slot.winner{background:#2ecc7114;border-color:#2ecc7133}.hearts-lt-player-name{font-size:10px;font-weight:600;color:#ffffff80}.hearts-lt-card-slot.winner .hearts-lt-player-name{color:#2ecc71}.hearts-moon-message{font-size:14px;font-weight:700;color:#f0c040;text-align:center;padding:6px 16px;border-radius:10px;background:#f0c0401a;border:1px solid rgba(240,192,64,.15);animation:heartsMoonGlow 2s ease-in-out infinite}@keyframes heartsMoonGlow{0%,to{box-shadow:0 0 #f0c04000}50%{box-shadow:0 0 16px 2px #f0c04026}}.hearts-round-score-row.clean .hearts-round-score-val{color:#2ecc71}.hearts-round-score-val.penalty{color:#e74c3c}.hearts-ai-card-count{font-size:14px;font-weight:700;color:#fff6;margin-right:3px}.hearts-ai-cards-label{font-size:9px;color:#ffffff40}.hearts-broken-heart{color:#e74c3c;margin-right:4px;font-size:12px}.hearts-player,.hearts-broken-badge,.hearts-trick-count,.hearts-trick-winner{z-index:5}@media(max-width:600px){.hearts-table{padding:8px!important}.hearts-trick-area{width:180px;height:150px}.hearts-player-left,.hearts-player-right{font-size:11px}.hearts-round-over{padding:20px 24px;min-width:260px}.hearts-game-over-modal{padding:24px 28px;min-width:260px}.hearts-last-trick-cards{gap:8px}.hearts-last-trick-modal{min-width:260px}}.spades-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a0a1a,#0f1128,#0a0a1a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.spades-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.spades-title{font-size:18px;font-weight:800;display:flex;align-items:center}.spades-header-right{display:flex;gap:8px}.spades-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.spades-btn:hover{background:#ffffff1a;color:#fff}.spades-btn.mt{margin-top:12px}.spades-score-strip{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.spades-team-score{display:flex;align-items:center;gap:10px;font-size:13px}.spades-team-score.my-team .team-label{color:#7c5cfc;font-weight:700}.team-label{color:#fff9;font-weight:600}.team-pts{font-size:20px;font-weight:800;color:#fff}.team-bags{font-size:11px;color:#fff6}.spades-round-info{font-size:11px;color:#fff6;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.spades-bid-info{padding:4px 16px;font-size:11px;color:#ffffff73;text-align:center;flex-shrink:0}.spades-game-area{flex:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center}.spades-trick-area{width:100%;height:100%;position:absolute;inset:0}.spades-opponent{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:2}.spades-opponent.top{top:8px;left:50%;transform:translate(-50%)}.spades-opponent.left{left:8px;top:50%;transform:translateY(-50%)}.spades-opponent.right{right:8px;top:50%;transform:translateY(-50%)}.spades-opponent-name{font-size:11px;font-weight:700;color:#ffffffb3;background:#0006;padding:2px 8px;border-radius:6px}.spades-opponent-cards{font-size:10px;color:#ffffff59}.spades-opponent-bid{font-size:10px;color:#7c5cfc;font-weight:600}.spades-tricks-badge{font-size:10px;color:#ffffff80;background:#ffffff0f;padding:1px 6px;border-radius:4px}.spades-waiting{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:13px;color:#ffffff80;animation:pulse 1.5s infinite;z-index:3}.spades-bid-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);z-index:20}.spades-bid-overlay.waiting{background:#00000080}.spades-bid-panel{background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;padding:24px 28px;border:1px solid rgba(124,92,252,.2);box-shadow:0 20px 60px #00000080;text-align:center;max-width:360px;width:90%}.spades-bid-panel h3{margin:0 0 4px;font-size:20px;font-weight:800}.spades-bid-subtitle{color:#ffffff80;font-size:13px;margin:0 0 16px}.spades-bid-selector{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}.spades-bid-btn{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffb3;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;font-family:inherit}.spades-bid-btn:hover{background:#7c5cfc33;border-color:#7c5cfc4d}.spades-bid-btn.selected{background:#7c5cfc;border-color:#7c5cfc;color:#fff;box-shadow:0 0 12px #7c5cfc66}.spades-bid-btn.nil{font-size:10px}.spades-bid-status{display:flex;flex-direction:column;gap:6px;margin-top:12px}.bid-player{display:flex;justify-content:space-between;padding:6px 12px;border-radius:8px;background:#ffffff0a}.bid-player.done{background:#7c5cfc1a}.bid-name{color:#ffffffb3;font-size:13px}.bid-value{font-weight:700;color:#7c5cfc;font-size:13px}.spades-confirm-btn{width:100%;padding:10px;border-radius:10px;border:none;background:linear-gradient(135deg,#7c5cfc,#6a3de8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;font-family:inherit}.spades-confirm-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.spades-hand{flex-shrink:0;padding:8px 12px 14px;background:linear-gradient(180deg,#0000,#0000004d)}.spades-hand-info{font-size:11px;color:#fff6;margin-bottom:6px;padding:0 4px}.spades-hand-cards{display:flex;gap:2px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.spades-card{flex-shrink:0;cursor:default;transition:transform .15s ease,filter .15s ease;border-radius:8px}.spades-card.playable{cursor:pointer}.spades-card.playable:hover{transform:translateY(-8px);filter:brightness(1.1)}.spades-card.disabled{opacity:.4}.spades-score-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);z-index:20}.spades-score-panel{background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;padding:24px;border:1px solid rgba(124,92,252,.2);box-shadow:0 20px 60px #00000080;text-align:center;min-width:300px}.spades-score-panel h3{margin:0 0 14px;font-size:18px}.spades-score-table{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.score-row{display:flex;justify-content:space-between;padding:6px 10px;border-radius:6px;font-size:13px}.score-row.header{font-weight:700;color:#ffffff80;font-size:11px;text-transform:uppercase}.score-row.my-team{background:#7c5cfc1a}.score-row span{min-width:40px;text-align:center}.positive{color:#4caf50}.negative{color:#e74c3c}.total{font-weight:800}.spades-msg{font-size:12px;color:#fff9;margin:8px 0;padding:6px 10px;background:#ffffff0a;border-radius:6px}.spades-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30}.spades-gameover-panel{text-align:center;padding:32px}.gameover-icon{font-size:64px;margin-bottom:12px}.gameover-icon.win{animation:bounce .6s}.gameover-icon.lose{opacity:.7}.spades-gameover-panel h2{font-size:28px;margin:0 0 8px}.gameover-subtitle{color:#ffffff80;margin:0 0 20px}.gameover-scores{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.gameover-team{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;border-radius:12px;background:#ffffff0d}.gameover-team.highlight{background:#7c5cfc26;border:1px solid rgba(124,92,252,.3)}.gameover-team .big{font-size:28px;font-weight:800}.vs{color:#ffffff4d;font-size:18px;font-weight:700}.spades-scoreboard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:25}.spades-scoreboard{background:#1a1a2e;border-radius:14px;padding:20px;border:1px solid rgba(255,255,255,.1);min-width:240px;text-align:center}.spades-scoreboard h3{margin:0 0 12px}.sb-row{display:flex;justify-content:space-between;padding:6px 10px;font-size:13px}.sb-row.header{font-weight:700;color:#ffffff80;font-size:11px}.sb-row.my-team{background:#7c5cfc1a;border-radius:6px}@keyframes bounce{0%{transform:scale(.5)}50%{transform:scale(1.2)}to{transform:scale(1)}}.bluff-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#1a0a0a,#1f1018,#1a0a0a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.bluff-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.bluff-title{font-size:18px;font-weight:800;display:flex;align-items:center}.bluff-required-rank{font-size:14px;color:#fff9;background:#fc5c5c1f;padding:4px 12px;border-radius:8px;border:1px solid rgba(252,92,92,.2)}.bluff-required-rank strong{color:#fc5c5c;font-size:16px}.bluff-opponents{display:flex;justify-content:center;gap:16px;padding:8px 16px;flex-shrink:0}.bluff-opponent{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.bluff-opponent.active{background:#fc5c5c1a;border-color:#fc5c5c4d;box-shadow:0 0 12px #fc5c5c1a}.bluff-opponent-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff}.bluff-opponent-info{display:flex;flex-direction:column}.opp-name{font-size:12px;font-weight:700}.opp-cards{font-size:10px;color:#fff6}.bluff-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0}.bluff-pile{display:flex;flex-direction:column;align-items:center;gap:6px}.pile-stack{position:relative;width:70px;height:98px}.pile-empty{width:70px;height:98px;border-radius:10px;border:2px dashed rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff3;font-size:11px}.pile-cards{position:relative;width:70px;height:98px}.pile-card-back{position:absolute;width:70px;height:98px;border-radius:10px;background:linear-gradient(135deg,#2a1f4e,#3b2d6b);border:2px solid rgba(124,92,252,.3);box-shadow:0 4px 12px #0006}.pile-card-back.offset-1{transform:rotate(3deg) translate(2px,-2px)}.pile-card-back.offset-2{transform:rotate(-2deg) translate(-2px,-1px)}.pile-count{font-size:13px;font-weight:700;color:#ffffff80}.bluff-last-play{font-size:12px;color:#ffffff80;padding:4px 12px;background:#ffffff0a;border-radius:6px}.bluff-message{font-size:13px;color:#fc5c5c;padding:6px 14px;background:#fc5c5c14;border-radius:8px;border:1px solid rgba(252,92,92,.15);max-width:300px;text-align:center}.bluff-challenge-bar{display:flex;gap:10px;justify-content:center;padding:10px 16px;flex-shrink:0;animation:slideUp .3s ease}.bluff-bs-btn{padding:10px 24px;border-radius:12px;border:none;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:all .15s ease;font-family:inherit;box-shadow:0 4px 16px #e74c3c4d}.bluff-bs-btn:hover{transform:scale(1.05);filter:brightness(1.1)}.bluff-pass-btn{padding:10px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffffb3;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.bluff-pass-btn:hover{background:#ffffff1a}.bluff-reveal-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000bf;backdrop-filter:blur(8px);z-index:25;animation:fadeIn .3s ease}.bluff-reveal-panel{text-align:center;padding:24px;background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;border:1px solid rgba(252,92,92,.3);box-shadow:0 20px 60px #00000080}.bluff-reveal-panel h3{font-size:22px;margin:0 0 14px}.reveal-cards{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.reveal-card{animation:flipIn .4s ease backwards}.reveal-card:nth-child(2){animation-delay:.1s}.reveal-card:nth-child(3){animation-delay:.2s}.reveal-card:nth-child(4){animation-delay:.3s}.reveal-result{color:#fff9;font-size:13px}.bluff-hand{flex-shrink:0;padding:8px 12px 14px;background:linear-gradient(180deg,#0000,#0000004d)}.bluff-hand-info{display:flex;justify-content:space-between;font-size:11px;color:#fff6;margin-bottom:6px;padding:0 4px}.hand-hint{color:#fc5c5cb3}.bluff-hand-cards{display:flex;gap:2px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.bluff-card{flex-shrink:0;cursor:default;transition:transform .15s ease,filter .15s ease;border-radius:8px;position:relative}.bluff-card.playable{cursor:pointer}.bluff-card.playable:hover{transform:translateY(-6px)}.bluff-card.selected{transform:translateY(-12px);outline:2px solid #fc5c5c;outline-offset:2px;border-radius:8px}.bluff-play-btn{width:100%;padding:10px;margin-top:8px;border-radius:10px;border:none;background:linear-gradient(135deg,#fc5c5c,#e74c3c);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}.bluff-play-btn:hover{filter:brightness(1.1)}.bluff-waiting{text-align:center;padding:8px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.bluff-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30}.bluff-gameover-panel{text-align:center;padding:32px}.bluff-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.bluff-gameover-panel h2{font-size:28px;margin:0 0 8px}.bluff-gameover-panel p{color:#ffffff80;margin:0 0 24px}.bluff-confirm-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#fc5c5c,#e74c3c);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes flipIn{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.checkers-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0d100a,#141a10,#0d100a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.checkers-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.checkers-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.checkers-icon{font-size:22px}.checkers-status{font-size:13px;color:#ffffff80}.your-turn{color:#6bcf63;font-weight:700}.checkers-score-strip{display:flex;justify-content:space-between;padding:6px 16px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.checkers-player{display:flex;align-items:center;gap:8px;font-size:13px}.player-piece{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.player-piece.p1{background:#e74c3c;border-color:#c0392b}.player-piece.p2{background:#2c3e50;border-color:#1a252f}.piece-count{color:#fff9}.captured{color:#fff6;font-size:11px}.checkers-board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;min-height:0}.checkers-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(100%,400px);aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006}.checkers-cell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1}.checkers-cell.light{background:#d4a76a}.checkers-cell.dark{background:#6b4226;cursor:pointer}.checkers-cell.selected{background:#6bcf6359!important}.checkers-cell.valid-target{background:#6bcf6333!important}.checkers-piece{width:72%;height:72%;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;position:relative;z-index:1;animation:piecePop .25s cubic-bezier(.34,1.56,.64,1)}.checkers-piece.p1{background:radial-gradient(circle at 35% 35%,#ff6b6b,#c0392b);box-shadow:0 3px 8px #0006,inset 0 -2px 4px #0003;border:2px solid #a93226}.checkers-piece.p2{background:radial-gradient(circle at 35% 35%,#5d6d7e,#1a252f);box-shadow:0 3px 8px #0006,inset 0 -2px 4px #0003;border:2px solid #2c3e50}.checkers-piece.clickable{cursor:pointer}.checkers-piece.clickable:hover{transform:scale(1.1)}.checkers-piece.king{box-shadow:0 3px 8px #0006,0 0 12px #ffd7004d}.crown{font-size:clamp(10px,2.5vw,16px);color:gold;text-shadow:0 1px 3px rgba(0,0,0,.5);filter:drop-shadow(0 0 4px rgba(255,215,0,.4))}.move-dot{position:absolute;width:30%;height:30%;border-radius:50%;background:#6bcf6380;box-shadow:0 0 8px #6bcf634d;z-index:2;animation:dotPulse 1.2s infinite}.checkers-waiting{text-align:center;padding:10px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.checkers-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:fadeIn .3s ease}.checkers-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;border:1px solid rgba(107,207,99,.2);box-shadow:0 20px 60px #00000080;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.checkers-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.checkers-gameover-panel h2{font-size:28px;margin:0 0 8px}.checkers-gameover-panel p{color:#ffffff80;margin:0 0 16px}.gameover-stats{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#ffffff80;margin-bottom:20px}.checkers-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#6bcf63,#4caf50);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .15s,filter .15s}.checkers-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}@keyframes piecePop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.cp-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0d0a14,#15101f,#0d0a14);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.cp-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.cp-title{font-size:18px;font-weight:800}.cp-scores{display:flex;gap:16px;font-size:13px}.cp-score{color:#ffffff80}.cp-score.you{color:#d4a44e;font-weight:700}.cp-arrange{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 12px}.cp-slot-selector{display:flex;gap:6px;padding:6px 0;flex-shrink:0;justify-content:center}.cp-slot-btn{padding:6px 14px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffff80;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:2px}.cp-slot-btn.active{background:#d4a44e26;border-color:#d4a44e4d;color:#d4a44e}.slot-rank{font-size:10px;color:#d4a44ecc}.cp-slots{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.cp-slot{padding:6px 8px;border-radius:8px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);transition:all .15s}.cp-slot.active{background:#d4a44e0f;border-color:#d4a44e26}.cp-slot-label{font-size:10px;color:#ffffff4d;font-weight:600;text-transform:uppercase;margin-bottom:4px}.cp-slot-cards{display:flex;gap:3px;min-height:40px;align-items:center}.cp-card-placeholder{width:36px;height:50px;border-radius:6px;border:1px dashed rgba(255,255,255,.1)}.cp-card{cursor:pointer;transition:transform .15s;border-radius:6px}.cp-card.in-slot{opacity:.9}.cp-card.in-slot:hover{transform:scale(1.08);opacity:1}.cp-card.playable:hover{transform:translateY(-6px)}.cp-actions{display:flex;gap:8px;justify-content:center;padding:8px 0;flex-shrink:0}.cp-btn{padding:8px 20px;border-radius:10px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}.cp-btn.primary{background:linear-gradient(135deg,#d4a44e,#b8892c);color:#fff}.cp-btn.primary:hover{filter:brightness(1.1)}.cp-btn.secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}.cp-btn.secondary:hover{background:#ffffff1a}.cp-pending{flex:1;min-height:0;display:flex;flex-direction:column}.cp-pending-label{font-size:11px;color:#fff6;margin-bottom:4px;padding:0 4px}.cp-pending-cards{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 10px}.cp-waiting-overlay,.cp-score-overlay,.cp-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);z-index:20}.cp-waiting-panel,.cp-score-panel,.cp-gameover-panel{text-align:center;padding:24px;max-width:380px;background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;border:1px solid rgba(212,164,78,.2);box-shadow:0 20px 60px #00000080}.cp-waiting-panel h3,.cp-score-panel h3,.cp-gameover-panel h2{margin:0 0 10px}.cp-waiting-panel p{color:#ffffff80;margin:0}.cp-gameover-panel .gameover-icon{font-size:56px;margin-bottom:8px}.cp-gameover-panel p{color:#ffffff80;margin:0 0 16px}.cp-results{display:flex;flex-direction:column;gap:8px;margin:12px 0}.cp-result-row{padding:8px 12px;border-radius:8px;background:#ffffff08;display:flex;flex-direction:column;gap:4px;text-align:left}.cp-result-row.you{background:#d4a44e14;border:1px solid rgba(212,164,78,.15)}.result-name{font-weight:700;font-size:13px}.result-hands{display:flex;gap:8px;flex-wrap:wrap}.hand-label{font-size:11px;color:#ffffff80;padding:2px 6px;background:#ffffff0a;border-radius:4px}.result-score{font-size:18px;font-weight:800;text-align:right}.result-score.positive{color:#4caf50}.result-score.negative{color:#e74c3c}.cp-total-scores{display:flex;justify-content:center;gap:20px;margin:12px 0;font-size:14px;font-weight:700}.cp-total-scores .you{color:#d4a44e}.gameover-scores{display:flex;gap:16px;justify-content:center;font-size:14px;margin-bottom:16px}.gameover-scores .you{color:#d4a44e;font-weight:700}.c4-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#050a1a,#0a1428,#050a1a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.c4-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.c4-title{font-size:18px;font-weight:800}.c4-status{font-size:13px;color:#ffffff80}.c4-status .your-turn{color:#e74c3c;font-weight:700}.c4-board-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;min-height:0}.c4-hover-row{display:grid;grid-template-columns:repeat(7,1fr);width:min(100%,420px);margin-bottom:4px}.c4-hover-cell{height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.c4-preview-token{width:28px;height:28px;border-radius:50%;opacity:.5;animation:dropPreview .3s ease}.c4-board{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);width:min(100%,420px);aspect-ratio:7/6;background:linear-gradient(180deg,#1a3a8f,#0d2463);border-radius:12px;padding:6px;gap:4px;box-shadow:0 8px 32px #00000080,inset 0 2px 4px #ffffff1a}.c4-cell{position:relative;cursor:pointer}.c4-cell.win .c4-hole{box-shadow:0 0 16px #ffffff80;animation:winPulse 1s ease-in-out infinite alternate}.c4-hole{width:100%;aspect-ratio:1;border-radius:50%;background:#0a0a1a;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 3px 6px #0006;transition:box-shadow .2s}.c4-cell:hover .c4-hole{box-shadow:inset 0 3px 6px #0006,0 0 8px #ffffff0d}.c4-token{width:85%;height:85%;border-radius:50%;box-shadow:inset 0 -3px 6px #0000004d,0 2px 4px #0003;animation:dropBounce .5s cubic-bezier(.34,1.56,.64,1)}.c4-token.p1{background:radial-gradient(circle at 35% 35%,#ff6b6b,#c0392b)!important}.c4-token.p2{background:radial-gradient(circle at 35% 35%,#f9e75e,#d4ac0d)!important}.c4-waiting{text-align:center;padding:10px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.c4-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:fadeIn .3s ease}.c4-gameover-panel{text-align:center;padding:32px;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.c4-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.c4-gameover-panel h2{font-size:28px;margin:0 0 20px}.c4-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .15s,filter .15s}.c4-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@keyframes dropBounce{0%{transform:translateY(-300%);opacity:.5}50%{transform:translateY(5%)}70%{transform:translateY(-4%)}85%{transform:translateY(2%)}to{transform:translateY(0);opacity:1}}@keyframes dropPreview{0%{opacity:0;transform:translateY(-10px)}to{opacity:.5;transform:translateY(0)}}@keyframes winPulse{0%{box-shadow:0 0 8px #ffffff4d}to{box-shadow:0 0 24px #fffc}}.ttt-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a0d14,#121620,#0a0d14);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.ttt-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.ttt-title{font-size:18px;font-weight:800}.ttt-status{font-size:13px;color:#ffffff80}.ttt-status .your-turn{color:#5dade2;font-weight:700}.ttt-board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:min(90vw,360px);aspect-ratio:1;gap:6px;border-radius:12px;background:#ffffff0a;padding:6px}.ttt-cell{display:flex;align-items:center;justify-content:center;background:#ffffff08;border-radius:10px;cursor:default;transition:all .15s;position:relative}.ttt-cell.playable{cursor:pointer}.ttt-cell.playable:hover{background:#5dade21a}.ttt-cell.win{background:#5dade226;box-shadow:0 0 12px #5dade233;animation:cellWinGlow 1s ease-in-out infinite alternate}.ttt-mark{font-size:clamp(36px,8vw,64px);font-weight:900;animation:markPop .3s cubic-bezier(.34,1.56,.64,1)}.ttt-mark.X{color:#5dade2;text-shadow:0 0 12px rgba(93,173,226,.3)}.ttt-mark.O{color:#e74c3c;text-shadow:0 0 12px rgba(231,76,60,.3)}.ttt-waiting{text-align:center;padding:10px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.ttt-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:fadeIn .3s ease}.ttt-gameover-panel{text-align:center;padding:32px;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.ttt-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.ttt-gameover-panel h2{font-size:28px;margin:0 0 20px}.ttt-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#5dade2,#3498db);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .15s,filter .15s}.ttt-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@keyframes markPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes cellWinGlow{0%{box-shadow:0 0 8px #5dade233}to{box-shadow:0 0 24px #5dade280}}.ms-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a0e14,#111822,#0a0e14);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.ms-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.ms-title{font-size:18px;font-weight:800}.ms-controls{display:flex;gap:4px}.ms-diff-btn{padding:4px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#ffffff80;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.ms-diff-btn.active{background:#5dade226;border-color:#5dade24d;color:#5dade2}.ms-info-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;font-size:13px;color:#ffffff80;flex-shrink:0}.ms-mines{font-weight:700;color:#e74c3c}.ms-timer{font-variant-numeric:tabular-nums}.ms-new-btn{padding:4px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff9;font-size:12px;cursor:pointer;font-family:inherit}.ms-board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:8px;min-height:0;overflow:auto}.ms-board{display:grid;gap:1px;width:min(95vw,560px);background:#ffffff0d;border-radius:8px;padding:2px}.ms-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;font-size:clamp(10px,2.5vw,16px);font-weight:800;transition:all .1s;user-select:none;-webkit-user-select:none}.ms-cell.hidden{background:linear-gradient(135deg,#2a3a4a,#1e2e3e);box-shadow:inset 0 1px 2px #ffffff0d,inset 0 -1px 2px #0003}.ms-cell.hidden:hover{background:linear-gradient(135deg,#3a4a5a,#2e3e4e)}.ms-cell.revealed{background:#ffffff05}.ms-cell.mine{background:#e74c3c26}.ms-cell.flagged{background:linear-gradient(135deg,#2a3a4a,#1e2e3e)}.ms-number{font-weight:900;text-shadow:0 0 4px currentColor}.ms-mine-icon,.ms-flag-icon{font-size:clamp(12px,3vw,18px)}.ms-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30}.ms-gameover-panel{text-align:center;padding:32px}.ms-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.ms-gameover-panel h2{font-size:28px;margin:0 0 8px}.ms-gameover-panel p{color:#ffffff80;margin:0 0 20px;font-size:14px}.ms-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#5dade2,#3498db);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.bs-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#05101a,#0a1e30,#05101a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:auto;position:relative}.bs-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.bs-title{font-size:18px;font-weight:800}.bs-status{font-size:13px;color:#ffffff80}.bs-status .your-turn{color:#e74c3c;font-weight:700}.bs-shot-msg{text-align:center;padding:6px 16px;font-size:13px;font-weight:700;flex-shrink:0;animation:shotFade 2s ease forwards}.bs-shot-msg.hit{color:#e74c3c}.bs-shot-msg.miss{color:#fff6}.bs-placement{text-align:center;padding:8px;flex-shrink:0}.bs-grids{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:8px 16px;flex:1;min-height:0}.bs-grid-section{display:flex;flex-direction:column;align-items:center;gap:4px}.bs-grid-label{font-size:12px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:1px}.bs-grid{display:grid;grid-template-columns:24px repeat(10,1fr);grid-template-rows:24px repeat(10,1fr);width:min(45vw,280px);aspect-ratio:11/11;gap:1px;border-radius:8px;overflow:hidden;background:#ffffff08}.bs-grid.mine{opacity:.8}.bs-corner{background:transparent}.bs-col-header,.bs-row-header{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#ffffff4d}.bs-cell{display:flex;align-items:center;justify-content:center;background:#0a1e30cc;font-size:clamp(8px,1.5vw,12px);cursor:default;transition:all .1s;border-radius:1px}.bs-cell.target.fireable{cursor:crosshair}.bs-cell.target.fireable:hover{background:#e74c3c26}.bs-cell.hit{background:#e74c3c33;color:#e74c3c}.bs-cell.miss{color:#fff3}.bs-cell.own.ship{background:#5dade226;color:#5dade299}.bs-cell.own.hit{background:#e74c3c33;color:#e74c3c}.bs-btn{padding:8px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,#1a5276,#154360);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.bs-btn:hover{filter:brightness(1.2)}.bs-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30}.bs-gameover-panel{text-align:center;padding:32px}.bs-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.bs-gameover-panel h2{font-size:28px;margin:0 0 20px}@keyframes shotFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.mem-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0d0a18,#160e28,#0d0a18);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.mem-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.mem-title{font-size:18px;font-weight:800}.mem-controls{display:flex;gap:4px}.mem-size-btn{padding:4px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#ffffff80;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.mem-size-btn.active{background:#8b5cf626;border-color:#8b5cf64d;color:#8b5cf6}.mem-info-bar{display:flex;justify-content:space-between;padding:6px 16px;font-size:13px;color:#ffffff80;flex-shrink:0}.mem-message{text-align:center;padding:4px;font-size:13px;font-weight:600;color:#8b5cf6;flex-shrink:0}.mem-board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;min-height:0}.mem-board{display:grid;gap:6px;width:min(90vw,480px)}.mem-card{aspect-ratio:1;perspective:600px;cursor:pointer}.mem-card.matched{cursor:default}.mem-card.matched .mem-card-inner{opacity:.5}.mem-card-inner{position:relative;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.mem-card.flipped .mem-card-inner{transform:rotateY(180deg)}.mem-card-front,.mem-card-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:10px;font-size:clamp(20px,5vw,36px)}.mem-card-front{background:linear-gradient(135deg,#2a1a4a,#1e1038);border:1px solid rgba(139,92,246,.15);color:#8b5cf64d;font-weight:800;font-size:clamp(16px,4vw,28px);box-shadow:0 4px 12px #0000004d}.mem-card-back{background:linear-gradient(135deg,#1a1a2e,#16162a);border:1px solid rgba(139,92,246,.2);transform:rotateY(180deg);box-shadow:0 4px 12px #0000004d}.mem-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30}.mem-gameover-panel{text-align:center;padding:32px}.mem-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.mem-gameover-panel h2{font-size:28px;margin:0 0 8px}.mem-gameover-panel p{color:#ffffff80;margin:0 0 20px;font-size:14px}.mem-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.chess-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0d0e12,#151822,#0d0e12);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.chess-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.chess-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.chess-icon{font-size:22px}.chess-status{font-size:13px;color:#ffffff80}.chess-status .your-turn{color:#7ec8e3;font-weight:700}.chess-captures{padding:2px 16px;flex-shrink:0}.chess-captured-row{display:flex;align-items:center;gap:2px;min-height:24px}.captured-label{font-size:16px;opacity:.4;margin-right:4px}.captured-piece{font-size:16px;opacity:.7;animation:capturedAppear .3s ease}.chess-board-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;min-height:0}.chess-labels-row{display:flex;width:min(100%,440px)}.chess-corner{width:24px;flex-shrink:0}.chess-file-label{flex:1;text-align:center;font-size:11px;color:#ffffff59;padding:2px 0}.chess-board-row{display:flex;width:min(100%,440px)}.chess-rank-labels{display:flex;flex-direction:column;width:24px;flex-shrink:0}.chess-rank-label{flex:1;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffffff59}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);flex:1;aspect-ratio:1;border-radius:4px;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006}.chess-cell{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.chess-cell.light{background:#e8d5b0}.chess-cell.dark{background:#b48866}.chess-cell.selected{background:#7cc8e380!important}.chess-cell.valid-target{cursor:pointer}.chess-cell.last-move{background:#ffff6440!important}.chess-cell.last-move.light{background:#ffff644d!important}.chess-cell.last-move.dark{background:#c8c83259!important}.chess-piece{font-size:clamp(22px,5vw,40px);line-height:1;user-select:none;transition:transform .15s ease;text-shadow:0 1px 3px rgba(0,0,0,.3);z-index:1;animation:pieceAppear .25s ease}.chess-piece.white{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.chess-piece.black{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.chess-piece.clickable{cursor:pointer}.chess-piece.clickable:hover{transform:scale(1.15)}.chess-cell .move-dot{position:absolute;width:28%;height:28%;border-radius:50%;background:#0003;z-index:2;animation:dotFadeIn .2s ease}.chess-cell .capture-ring{position:absolute;inset:4%;border-radius:50%;border:3px solid rgba(0,0,0,.2);z-index:2;pointer-events:none}.chess-history{display:flex;flex-wrap:wrap;gap:4px 8px;padding:6px 16px;max-height:48px;overflow-y:auto;flex-shrink:0;font-size:12px;color:#ffffff80}.chess-move-pair{display:inline-flex;gap:3px}.move-number{color:#ffffff4d}.move-white{color:#ffffffb3;font-weight:600}.move-black{color:#ffffff80}.chess-check-indicator{text-align:center;padding:4px;font-size:14px;font-weight:700;color:#e74c3c;animation:checkFlash .6s ease-in-out infinite alternate}@keyframes checkFlash{0%{opacity:.7}to{opacity:1}}.chess-waiting{text-align:center;padding:8px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.chess-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:fadeIn .3s ease}.chess-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#1a1a2e,#16162a);border-radius:16px;border:1px solid rgba(124,200,227,.2);box-shadow:0 20px 60px #00000080;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.chess-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.chess-gameover-panel h2{font-size:28px;margin:0 0 8px}.chess-gameover-panel p{color:#ffffff80;margin:0 0 8px;font-size:14px}.chess-gameover-panel .move-count{font-size:12px;color:#ffffff59;margin-bottom:20px}.chess-btn{padding:10px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,#7ec8e3,#5ba3c0);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s}.chess-btn:hover{filter:brightness(1.1)}@keyframes pieceAppear{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes capturedAppear{0%{transform:translate(-8px);opacity:0}to{transform:translate(0);opacity:.7}}@keyframes dotFadeIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.poker-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a1a0e,#122a16,#0a1a0e);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.poker-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.poker-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.poker-icon{font-size:22px}.poker-info{display:flex;gap:8px}.round-badge,.phase-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:#ffffff14;color:#fff9;text-transform:capitalize}.poker-opponents{display:flex;justify-content:space-around;padding:8px 12px;flex-shrink:0}.poker-player-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);min-width:80px;transition:all .2s}.poker-player-card.active{border-color:#6bcf6366;background:#6bcf6314;box-shadow:0 0 12px #6bcf6326}.poker-player-card.folded{opacity:.4}.player-avatar{font-size:24px}.player-name{font-size:11px;font-weight:700;color:#ffffffb3}.player-chips{font-size:12px;color:gold}.player-bet{font-size:11px;color:#e74c3c;font-weight:600}.player-folded-badge{font-size:9px;padding:1px 6px;border-radius:4px;background:#e74c3c33;color:#e74c3c;font-weight:700}.player-allin-badge{font-size:9px;padding:1px 6px;border-radius:4px;background:#ffd70033;color:gold;font-weight:700}.player-hand-mini{display:flex;gap:4px;margin-top:4px}.mini-card{font-size:12px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ffffff1a}.mini-card.red{color:#e74c3c}.mini-card.black{color:#ecf0f1}.poker-pot{text-align:center;padding:8px;flex-shrink:0}.pot-amount{font-size:20px;font-weight:800;color:gold;text-shadow:0 2px 8px rgba(255,215,0,.3)}.last-action{font-size:12px;color:#ffffff80;margin-top:2px}.poker-community{display:flex;flex-direction:column;align-items:center;padding:8px;flex-shrink:0}.community-label{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.community-cards{display:flex;gap:8px;justify-content:center}.poker-card{width:56px;height:80px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.poker-card.revealed{background:#fff;border:1px solid rgba(0,0,0,.15);box-shadow:0 2px 8px #0000004d;animation:cardDeal .35s cubic-bezier(.34,1.2,.64,1)}.poker-card.hidden{background:linear-gradient(135deg,#2c3e50,#1a252f);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0000004d}.card-back{font-size:32px;opacity:.3}.card-face{display:flex;flex-direction:column;align-items:center;gap:2px}.card-face.red{color:#e74c3c}.card-face.black{color:#2c3e50}.card-rank{font-size:18px;font-weight:800;line-height:1}.card-suit{font-size:22px;line-height:1}.poker-your-hand{display:flex;flex-direction:column;align-items:center;padding:8px;flex-shrink:0}.your-hand-label{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.your-cards{display:flex;gap:10px;justify-content:center}.poker-card.your-card{width:70px;height:100px;font-size:1.2em;box-shadow:0 4px 16px #0006,0 0 20px #6bcf631a;border:2px solid rgba(107,207,99,.2);animation:cardFanIn .4s cubic-bezier(.34,1.56,.64,1)}.poker-card.your-card .card-rank{font-size:22px}.poker-card.your-card .card-suit{font-size:28px}.your-info{display:flex;gap:16px;margin-top:6px;font-size:14px}.your-chips{color:gold;font-weight:700}.your-bet{color:#e74c3c;font-weight:600}.poker-showdown-results{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:6px 16px;flex-shrink:0}.showdown-result{font-size:12px;padding:4px 10px;border-radius:6px;background:#ffffff0d}.showdown-result.you{background:#6bcf6326;border:1px solid rgba(107,207,99,.3)}.result-player{font-weight:700;margin-right:6px}.result-hand{color:#fff9}.poker-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;flex-shrink:0;flex-wrap:wrap}.poker-btn{padding:10px 20px;border-radius:10px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s;color:#fff}.poker-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.poker-btn.fold{background:linear-gradient(135deg,#e74c3c,#c0392b)}.poker-btn.check{background:linear-gradient(135deg,#7ec8e3,#5ba3c0)}.poker-btn.call{background:linear-gradient(135deg,#f1c40f,#e67e22);color:#000}.poker-btn.raise{background:linear-gradient(135deg,#6bcf63,#4caf50)}.poker-btn.next-round{background:linear-gradient(135deg,#6bcf63,#4caf50);padding:12px 32px;font-size:14px}.poker-btn.restart{background:linear-gradient(135deg,#6bcf63,#4caf50)}.raise-group{display:flex;align-items:center;gap:8px}.raise-slider{width:100px;accent-color:#6bcf63}.poker-waiting{text-align:center;padding:8px;font-size:13px;color:#fff6;animation:pulse 1.5s infinite}.poker-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:fadeIn .3s ease}.poker-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#1a2a1e,#162a16);border-radius:16px;border:1px solid rgba(107,207,99,.2);box-shadow:0 20px 60px #00000080;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.poker-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.poker-gameover-panel h2{font-size:28px;margin:0 0 8px}.poker-gameover-panel p{color:#ffffff80;margin:0 0 20px}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes cardDeal{0%{transform:translateY(20px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes cardFanIn{0%{transform:translateY(30px) rotate(5deg);opacity:0}60%{transform:translateY(-3px) rotate(-1deg)}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.poker3d-wrapper{position:relative;width:100%;height:100vh;overflow:hidden;background:#020805}.poker3d-canvas{position:absolute;inset:0}.poker3d-hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;font-family:Inter,-apple-system,sans-serif;color:#fff;padding:12px}.poker3d-hud>*{pointer-events:auto}.poker3d-topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#00000080;backdrop-filter:blur(8px);border-radius:10px}.poker3d-title{font-size:16px;font-weight:800}.poker3d-badges{display:flex;gap:6px}.poker3d-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:#ffffff1a;color:#fff9;text-transform:capitalize}.poker3d-pot{text-align:center;font-size:18px;font-weight:800;color:gold;text-shadow:0 2px 8px rgba(255,215,0,.4);pointer-events:none}.poker3d-message{text-align:center;font-size:12px;color:#ffffff80;pointer-events:none}.poker3d-hand-info{display:flex;justify-content:center;gap:16px;font-size:14px;color:gold;font-weight:700;pointer-events:none}.poker3d-results{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;pointer-events:none}.poker3d-result{font-size:12px;padding:3px 10px;border-radius:6px;background:#ffffff14}.poker3d-result.you{background:#6bcf6333;border:1px solid rgba(107,207,99,.3)}.poker3d-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px;background:#00000080;backdrop-filter:blur(8px);border-radius:12px}.p3d-btn{padding:10px 20px;border-radius:10px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s;color:#fff}.p3d-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.p3d-btn.fold{background:linear-gradient(135deg,#e74c3c,#c0392b)}.p3d-btn.check{background:linear-gradient(135deg,#7ec8e3,#5ba3c0)}.p3d-btn.call{background:linear-gradient(135deg,#f1c40f,#e67e22);color:#000}.p3d-btn.raise{background:linear-gradient(135deg,#6bcf63,#4caf50)}.p3d-btn.next{background:linear-gradient(135deg,#6bcf63,#4caf50);padding:12px 32px}.p3d-btn.restart{background:linear-gradient(135deg,#6bcf63,#4caf50)}.p3d-raise{display:flex;align-items:center;gap:8px}.p3d-slider{width:100px;accent-color:#6bcf63}.poker3d-waiting{text-align:center;font-size:13px;color:#fff6;animation:p3dPulse 1.5s infinite;pointer-events:none}.poker3d-gameover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(12px);z-index:30;animation:p3dFadeIn .3s ease}.poker3d-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#1a2a1e,#162a16);border-radius:16px;border:1px solid rgba(107,207,99,.2);box-shadow:0 20px 60px #00000080;animation:p3dScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.poker3d-gameover-panel .p3d-icon{font-size:64px;margin-bottom:12px}.poker3d-gameover-panel h2{font-size:28px;margin:0 0 8px}.poker3d-gameover-panel p{color:#ffffff80;margin:0 0 20px}@keyframes p3dPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes p3dFadeIn{0%{opacity:0}to{opacity:1}}@keyframes p3dScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.go-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#1a140a,#2a1f0e,#1a140a);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.go-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.go-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.go-icon{font-size:20px}.go-status{font-size:13px;color:#ffffff80}.go-status .your-turn{color:#e2c47e;font-weight:700}.go-captures{display:flex;justify-content:center;gap:24px;padding:4px 16px;flex-shrink:0}.go-capture{font-size:13px;font-weight:600}.go-capture.black{color:#ccc}.go-capture.white{color:#888}.go-board-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;min-height:0}.go-labels-row{display:flex;width:min(100%,400px)}.go-corner{width:24px;flex-shrink:0}.go-col-label{flex:1;text-align:center;font-size:11px;color:#ffffff4d;padding:2px 0}.go-board-container{display:flex;width:min(100%,400px)}.go-rank-labels{display:flex;flex-direction:column;width:24px;flex-shrink:0}.go-rank-label{flex:1;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffffff4d}.go-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);flex:1;aspect-ratio:1;background:linear-gradient(135deg,#d4a24c,#c08e3a,#b87d2e);border-radius:4px;padding:12px;box-shadow:0 8px 32px #00000080,inset 0 2px 4px #ffffff1a}.go-intersection{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.go-intersection.empty:hover:after{content:"";position:absolute;width:60%;height:60%;border-radius:50%;background:#00000026;z-index:3}.go-gridline-h{position:absolute;width:100%;height:1px;background:#0006;top:50%}.go-gridline-v{position:absolute;height:100%;width:1px;background:#0006;left:50%}.go-star{position:absolute;width:8px;height:8px;border-radius:50%;background:#0009;z-index:2}.go-stone{width:80%;height:80%;border-radius:50%;z-index:3;animation:stonePlace .2s cubic-bezier(.34,1.56,.64,1)}.go-stone.black{background:radial-gradient(circle at 35% 30%,#555,#111);box-shadow:0 2px 6px #00000080,inset 0 -2px 4px #0000004d}.go-stone.white{background:radial-gradient(circle at 35% 30%,#fff,#ddd);box-shadow:0 2px 6px #0000004d,inset 0 -2px 4px #00000014}.go-stone.last-move:after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.go-stone.black.last-move:after{background:#ffffff80}.go-stone.white.last-move:after{background:#0000004d}.go-message{text-align:center;padding:6px;font-size:13px;color:#ffffff80;flex-shrink:0}.go-controls{display:flex;justify-content:center;padding:8px;flex-shrink:0}.go-btn{padding:10px 28px;border-radius:10px;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;transition:transform .15s,filter .15s}.go-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.go-btn.pass{background:linear-gradient(135deg,#7ec8e3,#5ba3c0)}.go-btn.restart{background:linear-gradient(135deg,#e2c47e,#c9a850);color:#1a140a}.go-waiting{text-align:center;padding:8px;font-size:13px;color:#fff6;animation:goPulse 1.5s infinite}.go-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:goFadeIn .3s ease}.go-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#2a1f0e,#1a140a);border-radius:16px;border:1px solid rgba(226,196,126,.2);box-shadow:0 20px 60px #00000080;animation:goScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.go-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.go-gameover-panel h2{font-size:28px;margin:0 0 8px}.go-gameover-panel p{color:#ffffff80;margin:0 0 8px;font-size:14px}.go-komi{font-size:12px!important;color:#ffffff4d!important;margin-bottom:20px!important}@keyframes stonePlace{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes goPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes goFadeIn{0%{opacity:0}to{opacity:1}}@keyframes goScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.bg-game{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0e0a06,#1a1208,#0e0a06);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.bg-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.bg-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.bg-icon{font-size:20px}.bg-status{font-size:13px;color:#ffffff80}.bg-status .your-turn{color:#e2a44c;font-weight:700}.bg-score-bar{display:flex;justify-content:space-around;padding:4px 16px;font-size:13px;color:#ffffff80;flex-shrink:0}.bg-board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:8px;min-height:0}.bg-board{display:flex;flex-direction:column;width:min(100%,520px);background:linear-gradient(135deg,#3a2a14,#2a1c0a);border-radius:8px;border:3px solid #5a3c1c;box-shadow:0 8px 32px #00000080;overflow:hidden}.bg-row{display:flex;min-height:140px}.bg-row.top,.bg-row.bottom{flex-direction:row}.bg-point{flex:1;display:flex;flex-direction:column;align-items:center;padding:4px 0;cursor:pointer;position:relative;min-height:120px;transition:background .15s}.bg-point.top{justify-content:flex-start}.bg-point.bottom{justify-content:flex-end}.bg-point.selected{background:#e2a44c33!important}.bg-point:hover{background:#ffffff08}.bg-point.dark .bg-point-triangle{border-color:transparent}.bg-point.dark.top .bg-point-triangle{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:80px solid #8b0000}.bg-point.light.top .bg-point-triangle{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:80px solid #2a5e2a}.bg-point.dark.bottom .bg-point-triangle{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:80px solid #8b0000}.bg-point.light.bottom .bg-point-triangle{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:80px solid #2a5e2a}.bg-point-num{font-size:9px;color:#fff3;position:absolute}.bg-point.top .bg-point-num{bottom:2px}.bg-point.bottom .bg-point-num{top:2px}.bg-checkers{display:flex;flex-direction:column;align-items:center;gap:-2px;z-index:2;position:relative}.bg-checker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-top:-4px;animation:checkerPop .2s ease}.bg-checker:first-child{margin-top:0}.bg-checker.black{background:radial-gradient(circle at 35% 30%,#444,#111);box-shadow:0 2px 4px #00000080;color:#fff}.bg-checker.white{background:radial-gradient(circle at 35% 30%,#fff,#ccc);box-shadow:0 2px 4px #0000004d;color:#333}.bg-center{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;background:#0000004d;flex-wrap:wrap}.bg-bar{display:flex;gap:8px;align-items:center;padding:4px 12px;background:#5a3c1c80;border-radius:6px;cursor:pointer;min-width:40px;min-height:32px;justify-content:center}.bg-bar-count{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.bg-bar-count.black{background:#222;color:#fff}.bg-bar-count.white{background:#eee;color:#333}.bg-dice-area{display:flex;align-items:center;gap:6px}.bg-dice{width:36px;height:36px;border-radius:6px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;box-shadow:0 2px 6px #0000004d;animation:diceRoll .3s ease}.bg-moves-left{font-size:11px;color:#fff6}.bg-btn{padding:8px 20px;border-radius:10px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;transition:transform .15s,filter .15s}.bg-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.bg-btn.roll{background:linear-gradient(135deg,#e2a44c,#c9872e)}.bg-btn.bear-off{background:linear-gradient(135deg,#6bcf63,#4caf50);font-size:11px;padding:6px 12px}.bg-btn.restart{background:linear-gradient(135deg,#e2a44c,#c9872e)}.bg-message{text-align:center;padding:6px;font-size:13px;color:#ffffff80;flex-shrink:0}.bg-waiting{text-align:center;padding:8px;font-size:13px;color:#fff6;animation:bgPulse 1.5s infinite}.bg-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:bgFadeIn .3s ease}.bg-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#2a1c0a,#1a1208);border-radius:16px;border:1px solid rgba(226,164,76,.2);box-shadow:0 20px 60px #00000080;animation:bgScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.bg-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.bg-gameover-panel h2{font-size:28px;margin:0 0 20px}@keyframes checkerPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes diceRoll{0%{transform:rotate(0) scale(.5)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes bgPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes bgFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bgScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.sudoku-game{display:flex;flex-direction:column;align-items:center;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a0e1c,#121a2e,#0a0e1c);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative;padding:12px}.sudoku-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);padding:8px 0}.sudoku-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.sudoku-icon{font-size:20px}.sudoku-info{display:flex;gap:12px;font-size:13px;color:#ffffff80}.sudoku-timer{color:#7ec8e3;font-weight:700}.sudoku-difficulty{display:flex;gap:6px;margin:6px 0}.sudoku-diff-btn{padding:5px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffff80;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.sudoku-diff-btn.active{background:#7ec8e326;border-color:#7ec8e34d;color:#7ec8e3}.sudoku-diff-btn:hover{background:#ffffff14}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,400px);aspect-ratio:1;border:2px solid rgba(126,200,227,.4);border-radius:8px;overflow:hidden;background:#ffffff05}.sudoku-cell{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.06);cursor:pointer;position:relative;transition:background .1s;aspect-ratio:1}.sudoku-cell.box-right{border-right:2px solid rgba(126,200,227,.3)}.sudoku-cell.box-bottom{border-bottom:2px solid rgba(126,200,227,.3)}.sudoku-cell.given{background:#ffffff0a}.sudoku-cell.selected{background:#7ec8e333!important}.sudoku-cell.highlighted{background:#7ec8e30f}.sudoku-cell.same-value{background:#7ec8e31f}.sudoku-cell.error{background:#e74c3c26!important}.sudoku-cell:hover{background:#ffffff0f}.sudoku-value{font-size:clamp(16px,4vw,28px);font-weight:700}.sudoku-cell.given .sudoku-value{color:#fffc}.sudoku-cell:not(.given) .sudoku-value{color:#7ec8e3}.sudoku-cell.error .sudoku-value{color:#e74c3c!important}.sudoku-marks{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:1px}.sudoku-marks .mark{display:flex;align-items:center;justify-content:center;font-size:clamp(7px,1.5vw,10px);color:#7ec8e380;font-weight:600}.sudoku-numpad{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px;width:min(100%,400px)}.sudoku-num-btn{width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#fff;font-size:18px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;justify-content:center}.sudoku-num-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.sudoku-num-btn.pencil.active{background:#7ec8e333;border-color:#7ec8e34d}.sudoku-num-btn.erase,.sudoku-num-btn.hint{font-size:16px}.sudoku-complete-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:sudokuFadeIn .3s ease}.sudoku-complete-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#121a2e,#0a0e1c);border-radius:16px;border:1px solid rgba(126,200,227,.2);box-shadow:0 20px 60px #00000080;animation:sudokuScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.complete-icon{font-size:64px;margin-bottom:12px}.sudoku-complete-panel h2{font-size:28px;margin:0 0 8px}.sudoku-complete-panel p{color:#ffffff80;margin:0 0 20px;font-size:14px}.sudoku-btn{padding:10px 28px;border-radius:10px;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;background:linear-gradient(135deg,#7ec8e3,#5ba3c0);transition:filter .15s}.sudoku-btn:hover{filter:brightness(1.1)}@keyframes sudokuFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sudokuScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.g2048-game{display:flex;flex-direction:column;align-items:center;height:100vh;min-height:100vh;background:linear-gradient(165deg,#faf8ef,#f5ece0);font-family:Inter,-apple-system,sans-serif;color:#776e65;overflow:hidden;position:relative;padding:16px;touch-action:none;user-select:none}.g2048-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);margin-bottom:8px}.g2048-logo{font-size:48px;font-weight:900;color:#776e65;line-height:1}.g2048-scores{display:flex;gap:6px}.g2048-score-box{display:flex;flex-direction:column;align-items:center;padding:6px 16px;background:#bbada0;border-radius:6px;min-width:60px}.g2048-score-box .label{font-size:10px;font-weight:700;color:#eee4da;text-transform:uppercase;letter-spacing:1px}.g2048-score-box .value{font-size:20px;font-weight:800;color:#fff}.g2048-controls-bar{display:flex;justify-content:space-between;align-items:center;width:min(100%,400px);margin-bottom:12px}.g2048-subtitle{font-size:13px;color:#776e65;margin:0}.g2048-btn{padding:8px 18px;border-radius:6px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;color:#f9f6f2;background:#8f7a66;transition:filter .15s}.g2048-btn:hover{filter:brightness(1.1)}.g2048-btn.new{background:#8f7a66}.g2048-board{position:relative;width:min(100%,400px);aspect-ratio:1;background:#bbada0;border-radius:8px;padding:8px}.g2048-grid-bg{position:absolute;inset:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.g2048-cell-bg{background:#eee4da59;border-radius:4px}.g2048-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;height:100%}.g2048-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1}.g2048-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:800;transition:transform .1s}.g2048-tile.tile-new{animation:tileAppear .2s ease}.g2048-tile.tile-merged{animation:tilePop .2s ease}.g2048-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#faf8efcc;backdrop-filter:blur(4px);border-radius:8px;z-index:10;animation:g2048FadeIn .3s ease}.g2048-overlay-panel{text-align:center}.g2048-overlay-panel h2{font-size:40px;font-weight:900;color:#776e65;margin:0 0 12px}.g2048-overlay-panel p{color:#776e65;margin:0 0 16px;font-size:16px}.g2048-overlay-btns{display:flex;gap:8px;justify-content:center}@keyframes tileAppear{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes tilePop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes g2048FadeIn{0%{opacity:0}to{opacity:1}}.oth-game{display:flex;flex-direction:column;align-items:center;height:100vh;min-height:100vh;background:linear-gradient(165deg,#0a1a0e,#122a16,#0a1a0e);font-family:Inter,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative;padding:12px}.oth-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);padding:8px 0}.oth-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:6px}.oth-icon{font-size:20px}.oth-status{font-size:13px;color:#ffffff80}.oth-status .your-turn{color:#6bcf63;font-weight:700}.oth-scores{display:flex;gap:24px;margin:6px 0}.oth-score{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800}.oth-disc-icon{width:20px;height:20px;border-radius:50%;display:inline-block}.oth-disc-icon.black{background:radial-gradient(circle at 35% 30%,#555,#111);box-shadow:0 1px 3px #00000080}.oth-disc-icon.white{background:radial-gradient(circle at 35% 30%,#fff,#ddd);box-shadow:0 1px 3px #0000004d}.oth-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,400px);aspect-ratio:1;background:#2a7a2a;border-radius:6px;border:3px solid #1a5a1a;box-shadow:0 8px 32px #00000080;gap:1px;padding:2px}.oth-cell{display:flex;align-items:center;justify-content:center;background:#2a7a2a;border:1px solid rgba(0,0,0,.15);cursor:pointer;aspect-ratio:1;position:relative;transition:background .15s}.oth-cell:hover{background:#338a33}.oth-cell.legal:hover{background:#3a9a3a}.oth-cell.last-move{background:#6bcf6326}.oth-disc{width:80%;height:80%;border-radius:50%;animation:discPlace .3s cubic-bezier(.34,1.56,.64,1)}.oth-disc.black{background:radial-gradient(circle at 35% 30%,#555,#111);box-shadow:0 2px 6px #00000080,inset 0 -2px 4px #0000004d}.oth-disc.white{background:radial-gradient(circle at 35% 30%,#fff,#ddd);box-shadow:0 2px 6px #0000004d,inset 0 -2px 4px #00000014}.oth-legal-dot{width:24%;height:24%;border-radius:50%;background:#ffffff40;animation:dotPulse 1.5s infinite}.oth-message{text-align:center;padding:8px;font-size:13px;color:#ffffff80}.oth-waiting{text-align:center;font-size:13px;color:#fff6;animation:othPulse 1.5s infinite}.oth-btn{padding:10px 28px;border-radius:10px;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;transition:filter .15s}.oth-btn:hover{filter:brightness(1.1)}.oth-btn.restart{background:linear-gradient(135deg,#6bcf63,#4caf50)}.oth-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(12px);z-index:30;animation:othFadeIn .3s ease}.oth-gameover-panel{text-align:center;padding:32px;background:linear-gradient(135deg,#122a16,#0a1a0e);border-radius:16px;border:1px solid rgba(107,207,99,.2);box-shadow:0 20px 60px #00000080;animation:othScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.oth-gameover-panel .gameover-icon{font-size:64px;margin-bottom:12px}.oth-gameover-panel h2{font-size:28px;margin:0 0 8px}.oth-gameover-panel p{color:#ffffff80;margin:0 0 20px;font-size:14px}@keyframes discPlace{0%{transform:scale(0) rotateY(180deg)}60%{transform:scale(1.1) rotateY(0)}to{transform:scale(1) rotateY(0)}}@keyframes dotPulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes othPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes othFadeIn{0%{opacity:0}to{opacity:1}}@keyframes othScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
