@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes jokerBounceBig{0%,to{transform:perspective(500px) rotateX(14deg) rotateY(-18deg) rotateZ(-8deg) translateZ(12px)}45%{transform:perspective(500px) rotateX(24deg) rotateY(-32deg) rotateZ(-16deg) translateZ(28px) translateY(-6px);box-shadow:12px 20px 28px rgba(220,38,38,.55)}}@keyframes jokerBounceSmall{0%,to{transform:perspective(500px) rotateX(16deg) rotateY(16deg) rotateZ(10deg) translateZ(0)}45%{transform:perspective(500px) rotateX(26deg) rotateY(30deg) rotateZ(18deg) translateZ(18px) translateY(6px);box-shadow:10px 18px 26px rgba(0,0,0,.65)}}@keyframes profileBreathing{0%{border-color:rgba(201,146,42,.3);box-shadow:0 0 6px rgba(201,146,42,.1),0 2px 12px rgba(0,0,0,.6)}to{border-color:rgba(255,215,0,.8);box-shadow:0 0 22px rgba(255,215,0,.28),0 2px 12px rgba(0,0,0,.6)}}@keyframes flyPlaySelf{0%{transform:translateY(36px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes flyPlayLeft{0%{transform:translateX(-36px) scale(.85);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}@keyframes flyPlayRight{0%{transform:translateX(36px) scale(.85);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}@keyframes labelPopIn{0%{transform:translateY(6px) scale(.7);opacity:0}60%{transform:translateY(-3px) scale(1.08);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes labelPopInBomb{0%{transform:scale(.4) rotate(-8deg);opacity:0;filter:brightness(3)}50%{transform:scale(1.25) rotate(2deg);opacity:1;filter:brightness(1.5)}80%{transform:scale(.94) rotate(-1deg);filter:brightness(1)}to{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}}@keyframes stoneBounceBlack{0%,to{transform:scale(1)}40%{transform:translate(-6px,-4px) scale(1.22) rotate(-14deg);box-shadow:6px 10px 20px rgba(0,0,0,.85)}}@keyframes stoneBounceWhite{0%,to{transform:scale(1)}40%{transform:translate(6px,4px) scale(1.22) rotate(14deg);box-shadow:6px 10px 20px rgba(0,0,0,.6)}}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes goldLightSweep{0%{left:-120%}28%,to{left:180%}}@keyframes timerUrgentPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.08);opacity:.75}}@keyframes stonePop{0%{transform:translate(-50%,-50%) scale(.2)}80%{transform:translate(-50%,-50%) scale(1.15)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes winPulse{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 10px rgba(52,211,153,.7)}to{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 22px rgba(52,211,153,.95),0 0 10px rgba(16,185,129,.8)}}@keyframes luxuryBannerEnter{0%{transform:translate(-50%,-40%) scale(.92);opacity:0;filter:blur(4px)}18%,82%{transform:translate(-50%,-50%) scale(1);opacity:1;filter:blur(0)}to{transform:translate(-50%,-60%) scale(.96);opacity:0;filter:blur(4px)}}@keyframes zoomInBid{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes grabPulse{0%{transform:scale(1);box-shadow:0 0 16px rgba(245,158,11,.7)}to{transform:scale(1.06);box-shadow:0 0 28px rgba(245,158,11,.95)}}@keyframes tingBadgePulse{0%{box-shadow:0 0 8px rgba(245,158,11,.25);transform:scale(1)}to{box-shadow:0 0 18px rgba(245,158,11,.55);transform:scale(1.03)}}@keyframes myTurnGlow{0%{box-shadow:0 0 0 transparent}to{box-shadow:0 0 22px rgba(245,158,11,.55),inset 0 0 12px rgba(245,158,11,.15)}}@keyframes actionHighlightPulse{0%{box-shadow:0 3.5px 0#047857,0 0 8px rgba(245,158,11,.6),0 6px 14px rgba(0,0,0,.55)}to{box-shadow:0 3.5px 0#047857,0 0 20px #f59e0b,0 8px 18px rgba(0,0,0,.6)}}@keyframes compassTimerPulse{0%{transform:scale(1)}to{transform:scale(1.18)}}@keyframes tileThrowAnim{0%{transform:translate(-50%,-50%) scale(1.4) rotate(0deg);opacity:.8}to{transform:translate(-50%,-50%) scale(.7) rotate(360deg);opacity:0}}@keyframes mahjongTileDrawFlyBottom{0%{transform:translate(-50%,0) scale(.6) rotate(-8deg);opacity:.5}60%{opacity:1}to{transform:translate(-50%,140px) scale(1) rotate(0deg);opacity:1}}@keyframes mahjongTileDrawFlyRight{0%{transform:translate(-50%,0) scale(.6);opacity:.5}to{transform:translate(110px,35px) scale(.85);opacity:1}}@keyframes mahjongTileDrawFlyTop{0%{transform:translate(-50%,0) scale(.6);opacity:.5}to{transform:translate(-50%,-45px) scale(.85);opacity:1}}@keyframes mahjongTileDrawFlyLeft{0%{transform:translate(-50%,0) scale(.6);opacity:.5}to{transform:translate(-150px,35px) scale(.85);opacity:1}}@keyframes actionToastAnim{0%{transform:scale(.2) rotate(-15deg);opacity:0}40%{transform:scale(1.3) rotate(0deg);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes latestPulse{0%{box-shadow:0 0 6px #ef4444}to{box-shadow:0 0 16px #ef4444,0 0 24px rgba(239,68,68,.8)}}@keyframes windPulseN{0%{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.25);filter:drop-shadow(0 0 5px #fbbf24)}}@keyframes windPulseS{0%{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.25);filter:drop-shadow(0 0 5px #fbbf24)}}@keyframes windPulseW{0%{transform:translateY(-50%) scale(1)}to{transform:translateY(-50%) scale(1.25);filter:drop-shadow(0 0 5px #fbbf24)}}@keyframes windPulseE{0%{transform:translateY(-50%) scale(1)}to{transform:translateY(-50%) scale(1.25);filter:drop-shadow(0 0 5px #fbbf24)}}@keyframes passPulse{0%{opacity:.5;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}@keyframes actTimerPulse{0%{opacity:.75;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}@keyframes lobbyCardOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(-70px);opacity:0}}@keyframes lobbyCardIn{0%{transform:translateX(70px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes lobbyCardOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(70px);opacity:0}}@keyframes lobbyCardInLeft{0%{transform:translateX(-70px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes xqCheckPulse{0%{box-shadow:0 0 0 2px rgba(239,68,68,.7),0 4px 10px rgba(0,0,0,.5),inset 0 2px 3px rgba(255,255,255,.5)}to{box-shadow:0 0 0 6px #ef4444,0 0 22px rgba(239,68,68,.7),0 4px 10px rgba(0,0,0,.5),inset 0 2px 3px rgba(255,255,255,.5)}}@keyframes xqBannerFade{0%{opacity:0;transform:translate(-50%,-50%) translateY(10px)}15%{opacity:1;transform:translate(-50%,-50%) translateY(0)}80%{opacity:1}to{opacity:0}}:root{--bg-dark:#071a14;--felt-green:#0b3d30;--felt-green-light:#125442;--felt-border:#1d7c62;--accent-gold:#ffd700;--accent-orange:#ff9800;--accent-red:#ef4444;--text-light:#f8fafc;--text-muted:#94a3b8;--glass-bg:rgba(15, 23, 42, 0.85);--glass-border:rgba(255, 255, 255, 0.15);--shadow-card:0 6px 16px rgba(0, 0, 0, 0.5);--card-w:86px;--card-h:124px;--card-radius:4px;--card-overlap:-50px;--font-main:'Noto Sans SC', system-ui, -apple-system, sans-serif;--font-num:'Outfit', -apple-system, sans-serif}*,body,html{touch-action:manipulation}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}input,textarea{user-select:text!important;-webkit-user-select:text!important;pointer-events:auto!important;cursor:text!important;touch-action:auto!important}body,html{width:100%;height:100%;background-color:var(--bg-dark);font-family:var(--font-main);color:var(--text-light);-webkit-text-size-adjust:100%}.game-container,body,html{width:100vw;max-width:100vw;height:100vh;overflow:hidden!important;display:flex;flex-direction:column;box-sizing:border-box;background-color:#0b1329!important;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(30,58,138,.88)0,rgba(15,23,42,.95) 60%,#030712 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M18 0 L36 18 L18 36 L0 18 Z' fill='none' stroke='%2360a5fa' stroke-width='0.75' stroke-opacity='0.15'/%3E%3Cpath d='M18 6 L30 18 L18 30 L6 18 Z' fill='none' stroke='%2360a5fa' stroke-width='0.4' stroke-opacity='0.10'/%3E%3Ccircle cx='18' cy='18' r='2' fill='%23ffffff' fill-opacity='0.1'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='2' cy='2' r='0.8' fill='%23ffffff' fill-opacity='0.07'/%3E%3Ccircle cx='8' cy='8' r='0.7' fill='%23ffffff' fill-opacity='0.06'/%3E%3C/svg%3E")!important;background-size:cover,36px 36px,12px 12px!important;position:relative}.top-nav{height:48px;background:linear-gradient(180deg,#180a04 0,#0e0602 100%);border-bottom:1px solid rgba(255,255,255,.08)}body.theme-gomoku,body.theme-gomoku .game-container{background-color:#03140e!important;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(14,61,45,.95)0,rgba(6,34,24,.98) 60%,#020d09 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M18 0 L36 18 L18 36 L0 18 Z' fill='none' stroke='%2334d399' stroke-width='0.75' stroke-opacity='0.12'/%3E%3C/svg%3E")!important;transition:background .4s ease}body.theme-gomoku .app-header,body.theme-gomoku .top-nav{background:linear-gradient(180deg,#062218 0,#03140e 100%)!important;border-bottom:1px solid rgba(52,211,153,.3)!important}body.theme-mahjong,body.theme-mahjong #lobbyScreen,body.theme-mahjong .game-container{transition:background .4s ease}body.theme-mahjong .app-header,body.theme-mahjong .top-nav{background:linear-gradient(180deg,#062218 0,#03140e 100%)!important;border-bottom:1px solid rgba(52,211,153,.3)!important}.app-header.in-lobby,.game-container:has(#lobbyScreen.active) .app-header,body:has(#lobbyScreen.active) .app-header{display:none!important}.app-header{height:48px;background:linear-gradient(180deg,#180a04 0,#0e0602 100%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 2px 12px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:space-between;padding:0 14px;z-index:9999!important;position:relative}.app-header::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px);pointer-events:none}.btn-top-home{background:rgba(80,40,5,.5);border:1px solid rgba(180,130,40,.35);color:#c9a255;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:4px 12px;border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .18s ease;box-shadow:0 1px 4px rgba(0,0,0,.4)}.btn-top-home:hover{background:rgba(120,60,5,.65);border-color:rgba(255,215,0,.5);color:gold;box-shadow:0 0 8px rgba(255,215,0,.1)}.btn-mail-icon-only,.top-mail-center-wrap{display:flex;align-items:center;justify-content:center}.top-mail-center-wrap{width:100%;margin:4px 0-4px}.btn-mail-icon-only{position:relative;background:0 0;border:0;outline:0;color:gold;font-size:1.45rem;cursor:pointer;padding:6px;opacity:.18;transition:opacity .2s ease,filter .2s ease}.btn-mail-icon-only:hover{opacity:1;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.btn-mail-icon-only.has-unread{opacity:1}.mail-unread-dot{position:absolute;top:4px;right:2px;width:8px;height:8px;background:#fbbf24;border:1.5px solid #0f172a;border-radius:50%}#mailboxListContainer{scrollbar-width:none;-ms-overflow-style:none}#mailboxListContainer::-webkit-scrollbar{display:none;width:0;height:0}.mail-item-card{background:0 0;border:0;border-bottom:1px solid rgba(255,255,255,.05);border-radius:0;padding:18px 4px;display:flex;flex-direction:column;gap:6px;transition:background .2s ease}.mail-item-card:last-child{border-bottom:none}.mail-item-card:hover{background:rgba(255,255,255,.02)}.mail-item-card.unread{background:0 0}.mail-item-card.unread:hover{background:rgba(255,255,255,.03)}.mail-item-header{display:flex;align-items:center;justify-content:space-between}.mail-item-title{font-size:.9rem;font-weight:500;color:#f4f4f5;display:flex;align-items:center;gap:0}.mail-item-date{font-size:.75rem;color:#71717a}.mail-item-body{font-size:.8rem;color:#a1a1aa;line-height:1.6;margin-top:2px}.brand,.mail-reward-box{display:flex;align-items:center}.mail-reward-box{margin-top:6px;background:0 0;border:0;padding:0;justify-content:space-between}.brand{gap:8px;font-weight:800;font-size:1.1rem;color:var(--accent-gold)}.brand-badge{font-family:"Noto Serif SC","Noto Sans SC",serif;font-size:1.05rem;font-weight:900;letter-spacing:3px;color:#f5d98a;text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 16px rgba(255,215,0,.18);user-select:none;position:relative;z-index:1}.badge-free{font-size:.7rem;background:rgba(46,204,113,.2);color:#2ecc71;padding:2px 8px;border-radius:12px;border:1px solid rgba(46,204,113,.4)}.room-info{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:3px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.12);font-size:.78rem;color:rgba(255,255,255,.75);margin-left:8px}.room-info .room-label{font-size:.72rem;color:rgba(255,255,255,.55)}.room-code{font-family:var(--font-num);font-weight:700;letter-spacing:1.5px;color:#fcd34d;font-size:.82rem}.header-cont.brand-hero{display:flex;align-items:center;gap:12px}.brand-logo-icon{background:linear-gradient(135deg,gold 0,#f59e0b 100%)}.brand-title{background:linear-gradient(135deg,#fff 0,#e2e8f0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-icon-wrap.gold{background:rgba(255,215,0,.12)}.card-icon-wrap.cyan{background:rgba(56,189,248,.12)}.pill-badge.gold{background:rgba(255,215,0,.15)}.pill-badge.cyan{background:rgba(56,189,248,.15)}.quick-join-banner{display:flex;align-items:center;gap:12px;background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.25);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:.8rem;color:#f1f5f9}.join-banner-icon{font-size:1.2rem;color:gold}.header-controls{display:flex;align-items:center;gap:8px}.btn-icon{background:rgba(60,30,5,.5);border:1px solid rgba(120,80,20,.35);color:#a07840;padding:4px 10px;height:32px;border-radius:4px;cursor:pointer;transition:all .18s ease;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 4px rgba(0,0,0,.4)}.btn-icon:hover{background:rgba(100,50,5,.65);border-color:rgba(201,146,42,.55);color:#c9a255;box-shadow:0 0 8px rgba(201,146,42,.1)}.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);right:0;min-width:175px;background:rgba(14,22,18,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(201,146,42,.4);border-radius:4px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.75),0 0 1px 1px rgba(255,215,0,.15);z-index:10005!important;display:flex;flex-direction:column;gap:3px;animation:fadeInDown .18s cubic-bezier(.16,1,.3,1)}.btn-card-help,.menu-item{display:flex;align-items:center;cursor:pointer}.menu-item{gap:10px;padding:8px 12px;border-radius:3px;font-size:.82rem;font-weight:700;color:#e2e8f0;transition:background .15s ease,color .15s ease}.menu-item i{color:#fff;font-size:.95rem;width:18px;text-align:center}.menu-item:hover{background:rgba(255,215,0,.12);color:gold}.menu-item.danger{color:#f87171}.menu-item.danger i{color:#ef4444!important}.menu-item.danger:hover{background:rgba(239,68,68,.16);color:#f99}.btn-card-help{width:22px;height:22px;border-radius:50%;background:rgba(40,20,5,.7);border:1px solid rgba(120,80,20,.4);color:#8a6030;font-size:.72rem;justify-content:center;flex-shrink:0;transition:all .18s ease;box-shadow:0 1px 3px rgba(0,0,0,.5)}.btn-card-help:hover{background:rgba(80,40,5,.8);border-color:rgba(201,146,42,.5);color:#c9a255}.card-type-modal{background:rgba(0,0,0,.72)}.card-type-inner{background:linear-gradient(180deg,#1a0e06 0,#100806 100%);max-height:88vh;display:flex;flex-direction:column}.ct-header,.ct-tip i{flex-shrink:0}.ct-title{font-family:"Noto Serif SC",serif;letter-spacing:1px}.ct-close{background:rgba(50,15,5,.6);border:1px solid rgba(120,60,20,.4);border-radius:2px;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.ct-close:hover{border-color:rgba(200,50,30,.5)}.ct-body{overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.ct-section{background:rgba(0,0,0,.3);border:1px solid rgba(80,50,10,.3);border-radius:3px;padding:8px 10px}.ct-section-title{font-size:.72rem;font-weight:800;color:#a07840;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.ct-row{display:flex;flex-wrap:wrap;gap:8px}.ct-item{display:flex;flex-direction:column;gap:4px;min-width:80px}.ct-cards{display:flex;gap:2px;flex-wrap:wrap}.ct-card{display:inline-flex;align-items:center;justify-content:center;width:22px;height:32px;background:#fff;border:1px solid #ccc;border-radius:2px;font-size:.68rem;font-weight:900;color:#1a1a1a;font-family:var(--font-num);box-shadow:0 1px 3px rgba(0,0,0,.4);flex-shrink:0}.ct-card.red{color:#dc2626}.ct-card.joker-big{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:.55rem;font-weight:900;border-color:#f59e0b}.ct-card.joker-small{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;font-size:.55rem;font-weight:900;border-color:#818cf8}.ct-name{font-size:.72rem;font-weight:800;color:#d4b87a;letter-spacing:.3px}.ct-desc{font-size:.62rem;color:#6b4820;line-height:1.3}.ct-tip{display:flex;align-items:flex-start;gap:8px;background:rgba(40,20,5,.4);border:1px solid rgba(180,140,50,.2);border-radius:3px;padding:8px 10px;font-size:.65rem;color:#8a6030;line-height:1.6}.ct-tip i{color:#c9922a;margin-top:2px}.btn-icon.danger{background:rgba(50,10,5,.55);border-color:rgba(160,40,30,.4);color:#c06050}.btn-icon.danger:hover{background:rgba(80,15,5,.7);border-color:rgba(220,60,40,.6);color:#f87171;box-shadow:0 0 8px rgba(200,40,20,.15)}.lobby-header::before,.overlay-screen{position:absolute;inset:0;pointer-events:none}.overlay-screen{background-color:#1a0608;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(75,20,24,.92)0,rgba(26,6,8,.98) 60%,#0c0203 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Crect width='36' height='36' fill='none'/%3E%3Cpath d='M18 0 L36 18 L18 36 L0 18 Z' fill='none' stroke='%23ffffff' stroke-width='1.2' stroke-opacity='0.25'/%3E%3Cpath d='M18 6 L30 18 L18 30 L6 18 Z' fill='none' stroke='%23ffffff' stroke-width='0.8' stroke-opacity='0.15'/%3E%3C/svg%3E");background-size:cover,36px 36px;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;opacity:0;transition:opacity .3s ease,background .4s ease}body.theme-gomoku .overlay-screen{background-color:#03140e!important;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(14,61,45,.95)0,rgba(6,34,24,.98) 60%,#020d09 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Crect width='36' height='36' fill='none'/%3E%3Cpath d='M18 0 L36 18 L18 36 L0 18 Z' fill='none' stroke='%2334d399' stroke-width='1.2' stroke-opacity='0.45'/%3E%3Cpath d='M18 6 L30 18 L18 30 L6 18 Z' fill='none' stroke='%236ee7b7' stroke-width='0.8' stroke-opacity='0.32'/%3E%3C/svg%3E")!important;background-size:cover,36px 36px!important}.overlay-screen.active{opacity:1;pointer-events:auto}.hero-lobby-card{background:#130508;border:1px solid rgba(201,146,42,.35);border-radius:6px;width:90%;max-width:430px;padding:0;box-shadow:0 12px 36px rgba(0,0,0,.85);z-index:10;overflow:hidden;text-align:center}.lobby-header.doudizhu-header{background:linear-gradient(180deg,#7a1a1a 0,#5c1212 55%,#3d0a0a 100%);padding:16px 20px 16px 26px!important;border-bottom:1px solid #7a5a1e;position:relative;overflow:hidden;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important}.doudizhu-cards-decoration{position:relative;width:84px;height:64px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-right:14px;user-select:none;-webkit-tap-highlight-color:transparent;z-index:5;perspective:600px;transform-style:preserve-3d}.joker-vertical-label,.mini-poker-card{display:flex;flex-direction:column;align-items:center}.mini-poker-card{width:44px;height:60px;border-radius:2.5px!important;position:absolute;background:#fff;justify-content:space-between;padding:3px 4px;box-sizing:border-box;font-family:var(--font-num);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;backface-visibility:hidden;overflow:hidden}.joker-vertical-label{line-height:.84;font-size:.52rem;font-weight:900;align-self:flex-start;font-family:"Outfit",-apple-system,sans-serif;margin-left:2px;margin-top:2px;position:relative;z-index:2}.joker-vertical-label span{display:block}.joker-vertical-label.red{color:#dc2626}.go-capture-pill.white-pill b,.joker-vertical-label.black{color:#0f172a}.joker-bottom-graphic{position:absolute;right:-4px;bottom:-4px;width:38px;height:38px;display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none;z-index:1}.joker-bottom-graphic .joker-svg{width:38px;height:38px;filter:drop-shadow(-1px -1px 2px rgba(0,0,0,.15))}.card .joker-vertical-label{font-size:.54rem;line-height:.85;margin-left:3px;margin-top:3px}.card .joker-bottom-graphic{width:42px;height:42px;right:-4px;bottom:-4px}.card .joker-bottom-graphic .joker-svg{width:42px;height:42px}.mini-poker-card.big-joker{left:2px;top:-2px;transform:perspective(500px) rotateX(14deg) rotateY(-18deg) rotateZ(-8deg) translateZ(12px);background:linear-gradient(145deg,#fff 0,#fff7ed 100%);border:1.2px solid #dc2626;box-shadow:6px 12px 20px rgba(0,0,0,.65),inset -1px -1px 2px rgba(255,255,255,.9),0 0 10px rgba(220,38,38,.25);z-index:2}.mini-poker-card.small-joker{right:4px;bottom:-2px;transform:perspective(500px) rotateX(16deg) rotateY(16deg) rotateZ(10deg) translateZ(0);background:linear-gradient(145deg,#fff 0,#f1f5f9 100%);border:1.2px solid #1e293b;box-shadow:5px 10px 18px rgba(0,0,0,.55),inset -1px -1px 2px rgba(255,255,255,.9);z-index:1}.doudizhu-cards-decoration.animate .big-joker{animation:jokerBounceBig .45s cubic-bezier(.175,.885,.32,1.275)}.doudizhu-cards-decoration.animate .small-joker{animation:jokerBounceSmall .45s cubic-bezier(.175,.885,.32,1.275)}.lobby-header::before{content:"";background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px)}.lobby-header::after{display:none!important}.brand-hero,.brand-logo-icon{display:flex;align-items:center;justify-content:center}.brand-hero{gap:14px;position:relative}.brand-logo-icon{width:46px;height:46px;background:linear-gradient(145deg,gold 0,#c9922a 100%);color:#3d0a0a;border-radius:4px;font-size:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.6),0 0 0 1px rgba(255,215,0,.4) inset;flex-shrink:0}.brand-title{font-size:1.5rem;font-weight:900;letter-spacing:3px;color:#f5d98a;text-shadow:0 1px 4px rgba(0,0,0,.6),0 0 20px rgba(255,215,0,.2);font-family:"Noto Serif SC","Noto Sans SC",serif}.brand-subtitle{font-size:.6rem;font-weight:600;letter-spacing:2.5px;color:#a07840;margin-top:2px;text-transform:uppercase}.hero-tags{display:flex;justify-content:center;gap:10px;margin-top:14px;position:relative}.badge-tag{background:rgba(0,0,0,.35);color:#c9a255;font-size:.7rem;padding:3px 10px;border-radius:2px;display:inline-flex;align-items:center;gap:5px;font-weight:600;border:1px solid rgba(180,140,50,.25);letter-spacing:.5px}.lobby-form{padding:22px 24px;background-image:repeating-linear-gradient(135deg,transparent,transparent 2px,rgba(255,255,255,.012) 2px,rgba(255,255,255,.012) 4px)}.nickname-section{margin-bottom:18px}.input-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#a07840;margin-bottom:6px;text-align:left}.nickname-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(0,0,0,.45);border:1px solid rgba(180,140,50,.25);border-radius:3px;padding:5px 5px 5px 14px;transition:all .2s ease}.nickname-input-wrapper:focus-within{border-color:rgba(201,146,42,.6);background:rgba(0,0,0,.6);box-shadow:0 0 0 2px rgba(201,146,42,.1)}.nickname-input-wrapper .input-icon{color:#7a5a2a;font-size:.9rem;margin-right:10px;flex-shrink:0}.nickname-input-wrapper input{flex:1;background:0 0!important;border:0!important;outline:0!important;color:#f5d98a!important;font-size:.95rem!important;font-weight:600!important;padding:8px 0!important;height:36px!important;letter-spacing:.5px}.nickname-input-wrapper input::placeholder{color:#4a3820;font-weight:400}.btn-random-nick{background:rgba(180,140,50,.15)!important;color:#c9a255!important;border:1px solid rgba(180,140,50,.3)!important;border-radius:2px!important;padding:0 12px!important;height:34px!important;font-size:.78rem!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;gap:5px!important;cursor:pointer!important;flex-shrink:0!important;letter-spacing:.5px;transition:all .15s ease!important}.btn-random-nick:hover{background:rgba(201,146,42,.28)!important;border-color:rgba(255,215,0,.5)!important;color:gold!important}.btn-random-nick:active{transform:scale(.97)}.btn-boredom-toy:active{transform:translateY(-50%) scale(.92)}.skin-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;padding:10px 0;max-height:380px;overflow-y:auto}.skin-card,.skin-preview{display:flex;align-items:center;justify-content:center}.skin-card{background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:10px;flex-direction:column;gap:8px;cursor:pointer;transition:all .2s ease;user-select:none}.skin-card:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.1);transform:translateY(-2px)}.skin-card.active{border:1px solid #8b5cf6!important;background:rgba(139,92,246,.18)!important;box-shadow:0 0 12px rgba(139,92,246,.25)}.skin-preview{width:100%;height:54px;border-radius:3px;font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);box-shadow:inset 0 0 8px rgba(0,0,0,.5)}.skin-bg-default{background:linear-gradient(135deg,rgba(30,41,59,.9),rgba(15,23,42,.95));border:1px solid rgba(255,215,0,.3)}.skin-bg-emerald{background:linear-gradient(135deg,rgba(6,78,59,.9),rgba(4,47,36,.95));border:1px solid rgba(52,211,153,.4)}.skin-bg-cyber{background:linear-gradient(135deg,rgba(112,26,117,.9),rgba(76,29,149,.95));border:1px solid rgba(244,114,182,.4)}.avatar-skin-item{font-size:2.2rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.skin-glow-preview{width:100%;height:48px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.glow-gold{background:rgba(255,215,0,.15);color:gold;border:1px dashed rgba(255,215,0,.6);box-shadow:0 0 12px rgba(255,215,0,.3)}.glow-fire{background:rgba(239,68,68,.15);color:#ef4444;border:1px dashed rgba(239,68,68,.6);box-shadow:0 0 12px rgba(239,68,68,.3)}.glow-lightning{background:rgba(168,85,247,.15);color:#c084fc;border:1px dashed rgba(168,85,247,.6);box-shadow:0 0 12px rgba(168,85,247,.3)}.skin-info{display:flex;flex-direction:column;align-items:center;gap:2px}.skin-title{font-size:.75rem;font-weight:700;color:#f1f5f9}.skin-status{font-size:.62rem;color:#94a3b8}.skin-card.active .skin-status{color:#c084fc;font-weight:800}.mode-selection{display:flex;flex-direction:column;gap:8px}.mode-card{width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(120,80,20,.35);border-radius:3px;padding:13px 14px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;transition:all .18s ease;box-sizing:border-box;position:relative;overflow:hidden}.mode-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,215,0,.04)0,transparent 60%);opacity:0;transition:opacity .2s;pointer-events:none}.mode-card:hover{background:rgba(120,40,20,.22);border-color:rgba(201,146,42,.55)}.mode-card:hover::before{opacity:1}.primary-card{border-color:rgba(180,140,50,.45)}.card-icon,.card-icon-wrap{width:38px;height:38px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.card-icon-wrap.gold{background:rgba(180,120,10,.18);border:1px solid rgba(180,140,50,.4);color:#e8b84b}.card-icon-wrap.cyan{background:rgba(30,120,160,.18);border:1px solid rgba(50,160,200,.35);color:#60b8d8}.card-icon-wrap.green{background:rgba(20,120,60,.18);border:1px solid rgba(40,180,100,.35);color:#34d399}.card-icon{font-size:1.05rem;background:rgba(80,40,10,.3);border:1px solid rgba(120,80,20,.3);color:#c9a255}.card-content{flex:1;min-width:0}.card-title{font-size:.92rem;font-weight:700;color:#e8d5a0;display:flex;align-items:center;gap:8px;margin-bottom:3px;letter-spacing:.3px}.card-desc{font-size:.72rem;color:#7a6040;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.pill-badge{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:2px;background:rgba(80,40,10,.4);color:#a07840;letter-spacing:.8px;text-transform:uppercase;border:1px solid rgba(120,80,20,.3)}.pill-badge.gold{background:rgba(180,120,10,.2);border:1px solid rgba(180,140,50,.4);color:#e8b84b}.pill-badge.cyan{background:rgba(30,100,140,.2);border:1px solid rgba(50,140,180,.35);color:#60b8d8}.pill-badge.green{background:rgba(15,80,45,.25);border:1px solid rgba(40,160,100,.4);color:#34d399}.card-arrow{font-size:.8rem;color:#5a4020;transition:transform .2s ease,color .2s ease}.mode-card:hover .card-arrow{transform:translateX(4px);color:#c9a255}.join-card{background:0 0!important;border:1px solid rgba(100,60,15,.4)!important;padding:12px 14px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;cursor:default!important;gap:10px!important}.card-title-sm{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7a6040;display:flex;align-items:center;gap:6px}.join-input-row{display:flex;align-items:center;gap:8px}.join-input-row input{flex:1;position:relative;z-index:5;background:rgba(0,0,0,.5)!important;border:1px solid rgba(120,80,20,.4)!important;border-radius:3px!important;padding:9px 12px!important;height:40px!important;color:#f5d98a!important;font-size:.95rem!important;font-weight:600!important;outline:0!important;box-sizing:border-box!important;transition:all .2s ease!important;letter-spacing:1px;user-select:text!important;-webkit-user-select:text!important;pointer-events:auto!important;cursor:text!important}.join-input-row input:focus{border-color:rgba(201,146,42,.65)!important;box-shadow:0 0 0 2px rgba(201,146,42,.12)!important}.btn-join-action{background:linear-gradient(180deg,#c9922a 0,#9a6a10 100%)!important;color:#fff9e6!important;border:1px solid #7a5a1e!important;border-radius:3px!important;padding:0 14px!important;height:40px!important;font-size:.85rem!important;font-weight:700!important;white-space:nowrap!important;cursor:pointer!important;letter-spacing:.5px;transition:all .15s ease!important;box-shadow:0 2px 4px rgba(0,0,0,.4)!important}.btn-join-action:hover{background:linear-gradient(180deg,#e8b84b 0,#c9922a 100%)!important}.btn-join-action:active{transform:scale(.97);box-shadow:0 1px 2px rgba(0,0,0,.4)!important}.divider,.lobby-footer{font-size:.68rem;color:#5a4020}.divider{display:flex;align-items:center;margin:6px 0;font-weight:700;letter-spacing:2px;text-transform:uppercase}.divider::after,.divider::before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(120,80,20,.4),transparent)}.divider span{padding:0 12px;color:#7a5a2a}.lobby-footer{margin-top:0;padding:10px 24px;font-weight:500;letter-spacing:.5px;border-top:1px solid rgba(120,80,20,.25);background:rgba(0,0,0,.25)}.waiting-card{max-width:500px}.share-hint{font-size:.85rem;color:var(--text-muted);margin:8px 0 14px}.share-box{display:flex;gap:8px;margin-bottom:14px}.btn-primary{background:linear-gradient(180deg,#c9922a 0,#8a5e10 100%);color:#fff9e6;border:1px solid #7a5a1e;border-radius:3px;padding:10px 16px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:all .15s ease}.btn-primary:hover{background:linear-gradient(180deg,#e8b84b 0,#c9922a 100%)}.qr-container{background:#fff;padding:10px;border-radius:12px;display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:16px}.qr-container span{color:#333;font-size:.75rem;font-weight:700}.slots-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.player-slot{background:linear-gradient(180deg,#1a0e06 0,#100806 100%);border:1px solid rgba(120,80,20,.35);border-radius:3px;padding:14px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .2s ease}.player-slot.host{border-color:rgba(201,146,42,.65);box-shadow:0 0 12px rgba(201,146,42,.1)}.player-slot .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#2a1a0a 0,#1a0e06 100%);border:2px solid rgba(120,80,20,.4);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#a07840}.player-slot.host .avatar{background:linear-gradient(145deg,#5a3a0a 0,#3a2008 100%);border-color:rgba(255,215,0,.45);color:gold}.slot-name{font-size:.78rem;font-weight:700;color:#d4b87a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;letter-spacing:.2px}.slot-status{font-size:.68rem;font-weight:600;color:#5a4020;letter-spacing:.3px}.slot-status.ready{color:#34d399}.waiting-actions{display:flex;flex-direction:column;gap:8px}.btn-secondary{background:rgba(0,0,0,.35);border:1px solid rgba(120,80,20,.35);color:#8a6830;padding:10px;border-radius:3px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .15s ease}.btn-secondary:hover{border-color:rgba(201,146,42,.5);color:#c9a255}.game-table{flex:1;display:grid;grid-template-rows:90px 1fr 200px;grid-template-columns:140px minmax(0,1fr) 140px;grid-template-areas:"top-left top-center top-right""left-play center-play right-play""self-area self-area self-area";padding:8px 16px 16px;position:relative;width:100vw;max-width:100vw;box-sizing:border-box;overflow:hidden!important;background-color:#0b3323;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(35,135,80,.65)0,rgba(12,50,30,.95) 70%,#051a11 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 8 L16 8 M8 0 L8 16' stroke='%23ffffff' stroke-width='0.35' stroke-opacity='0.13'/%3E%3Ccircle cx='4' cy='4' r='0.6' fill='%23ffffff' fill-opacity='0.08'/%3E%3Ccircle cx='12' cy='12' r='0.6' fill='%23ffffff' fill-opacity='0.08'/%3E%3C/svg%3E");background-size:cover,16px 16px;box-shadow:inset 0 0 70px rgba(0,0,0,.8)}.table-top-center{grid-area:top-center;display:flex;justify-content:center;align-items:center;margin-top:32px;position:relative;z-index:50}.bottom-cards-box{background:rgba(0,0,0,.55);border:1px solid rgba(201,146,42,.4);box-shadow:0 0 12px rgba(201,146,42,.08);padding:4px 10px;border-radius:3px;display:flex;flex-direction:column;align-items:center}.box-title{font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#8a6830;margin-bottom:2px}.bottom-cards-cards{display:flex;gap:4px}.bottom-cards-cards .card{width:48px!important;height:66px!important;border-radius:3px!important;padding:3px 5px!important;margin-right:0!important;transform:none!important;border:1px solid rgba(0,0,0,.22)!important}.bottom-cards-cards .card .card-value{font-size:.95rem!important;font-weight:900!important;line-height:1!important}.bottom-cards-cards .card .card-suit{font-size:.8rem!important;margin-top:0!important}.bottom-cards-cards .card .card-center-symbol{font-size:1.25rem!important;top:56%!important;left:56%!important;opacity:.85!important}.game-stats-badge{display:flex;gap:14px;background:#111113;padding:6px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.player-area,.stat-item{display:flex;flex-direction:column;align-items:center}.stat-item .label{font-size:.65rem;color:var(--text-muted)}.stat-item .value{font-family:var(--font-num);font-weight:800;color:var(--accent-gold);font-size:1.1rem}.player-area{position:relative}.left-player,.right-player{grid-area:left-play;justify-content:flex-start;padding-top:60px}.right-player{grid-area:right-play}.avatar-box,.player-profile{display:flex;align-items:center}.player-profile{background:linear-gradient(180deg,#1a0e06 0,#130908 100%);border:1px solid rgba(180,140,50,.35);box-shadow:0 2px 12px rgba(0,0,0,.6),0 0 0 1px rgba(255,215,0,.05) inset;border-radius:3px;padding:8px 10px;flex-direction:column;gap:6px;width:110px}.avatar-box{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#2a1a0a 0,#1a0e06 100%);border:2px solid rgba(180,140,50,.4);justify-content:center;font-size:1.1rem;color:#c9a255;position:relative;transition:all .2s ease}.avatar-box.turn-active{border-color:gold!important;background:linear-gradient(145deg,#5a3a0a 0,#3a2008 100%)!important;color:gold!important;transform:scale(1.1);box-shadow:0 0 0 3px rgba(255,215,0,.25),0 0 16px rgba(255,215,0,.3)}.player-profile:has(.avatar-box.turn-active),.self-profile-mini:has(.avatar-box.turn-active){border-color:rgba(255,215,0,.7)!important;box-shadow:0 0 20px rgba(255,215,0,.18),0 2px 12px rgba(0,0,0,.6);animation:profileBreathing 1.5s infinite alternate}.player-name-row{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%;justify-content:center}.role-identity-badge{font-size:.7rem;font-weight:800;padding:1px 6px;border-radius:3px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.role-identity-badge.landlord{background:linear-gradient(135deg,#5a3a0a 0,#3a2008 100%);color:gold;border:1px solid rgba(255,215,0,.4);text-shadow:0 0 8px rgba(255,215,0,.4)}.role-identity-badge.farmer{background:linear-gradient(135deg,#072a40 0,#031726 100%);color:#38bdf8;border:1px solid rgba(56,189,248,.4);text-shadow:0 0 6px rgba(56,189,248,.3)}.player-name{font-size:.75rem;font-weight:600;color:#d4b87a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;text-align:center}.card-count-badge{background:rgba(80,40,5,.6);border:1px solid rgba(180,130,40,.45);color:#e8b84b;padding:2px 8px;border-radius:2px;font-size:.72rem;font-weight:800;letter-spacing:.3px}.table-center-area{grid-area:center-play;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.timer-badge{position:absolute;top:24px;padding:6px 14px;border-radius:4px;font-weight:700;font-family:var(--font-num);display:flex;align-items:center;gap:6px;font-size:.9rem;transition:all .3s ease;z-index:10}.thinking-status-prompt,.timer-badge.timer-green{border:1px solid rgba(180,140,50,.3);color:#c9a255}.timer-badge.timer-green{background:rgba(10,30,15,.85)}.timer-badge.timer-yellow{background:rgba(40,25,5,.85);border:1px solid rgba(245,158,11,.5);color:#f59e0b}.timer-badge.timer-red{background:rgba(50,10,10,.85);border:1px solid rgba(239,68,68,.5);color:#ef4444}.timer-badge.urgent{background:#7a1010;border:1px solid #ef4444;color:#fff;box-shadow:0 0 12px rgba(239,68,68,.5)}.thinking-status-prompt{background:rgba(10,20,12,.88);padding:6px 18px;border-radius:3px;font-size:.82rem;font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;box-shadow:0 2px 12px rgba(0,0,0,.5)}.played-cards-area .card{opacity:1}.anim-fly-self{animation:flyPlaySelf .25s ease-out both}.anim-fly-left{animation:flyPlayLeft .25s ease-out both}.anim-fly-right{animation:flyPlayRight .25s ease-out both}.card-type-label{display:inline-flex;align-items:center;gap:4px;padding:2px 10px 2px 8px;border-radius:20px;font-size:.78rem;font-weight:800;letter-spacing:.5px;pointer-events:none;animation:labelPopIn .28s cubic-bezier(.22,1,.36,1) forwards;white-space:nowrap;position:absolute;top:-28px;left:50%;transform:translateX(-50%);z-index:200}.card-type-label.label-normal{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#e8e8e8;box-shadow:0 2px 8px rgba(0,0,0,.35)}.card-type-label.label-bomb{background:linear-gradient(135deg,#ff4c1a,#ff8c00);border:1px solid rgba(255,180,50,.6);color:#fff;box-shadow:0 0 16px rgba(255,100,0,.55),0 2px 8px rgba(0,0,0,.4);animation:labelPopInBomb .4s cubic-bezier(.22,1,.36,1) forwards;font-size:.88rem}.card-type-label.label-rocket{background:linear-gradient(135deg,#7c3aed,#c084fc);border:1px solid rgba(200,160,255,.6);color:#fff;box-shadow:0 0 20px rgba(150,80,255,.6),0 2px 8px rgba(0,0,0,.4);animation:labelPopInBomb .44s cubic-bezier(.22,1,.36,1) forwards;font-size:.88rem}.card-type-label.label-combo{background:linear-gradient(135deg,#059669,#34d399);border:1px solid rgba(100,220,160,.5);color:#fff;box-shadow:0 0 12px rgba(50,200,120,.4),0 2px 8px rgba(0,0,0,.35)}.card-type-label.label-pair{background:linear-gradient(135deg,#1d4ed8,#60a5fa);border:1px solid rgba(120,180,255,.5);color:#fff;box-shadow:0 0 10px rgba(80,150,255,.4),0 2px 8px rgba(0,0,0,.35)}#playedSelf .card-type-label{top:-32px}.played-cards-area{display:flex;align-items:center;justify-content:center;min-height:var(--card-h);padding:3px 6px;border-radius:4px;border:1px solid transparent;transition:border-color .3s ease,box-shadow .3s ease;position:relative}.played-cards-area.latest-play-container{background:rgba(180,140,30,.05);border:1px solid rgba(201,146,42,.55)!important;border-radius:3px;box-shadow:0 0 10px rgba(201,146,42,.12)}#playedLeft,#playedRight{position:absolute;top:122px;z-index:15}#playedLeft{left:130px;justify-content:flex-start}#playedRight{right:130px;justify-content:flex-end}#playedSelf{transform:translateY(18px);max-width:90%}#playedSelf .card{margin-right:-32px}#playedLeft .card:last-child,#playedRight .card:last-child,#playedSelf .card:last-child{margin-right:0!important}#playedLeft .card,#playedRight .card{width:48px!important;height:66px!important;border-radius:3px!important;padding:3px 5px!important;margin-right:-24px;border:1px solid rgba(0,0,0,.22)!important}#playedLeft .card .card-value,#playedRight .card .card-value{font-size:.95rem!important;font-weight:900!important;line-height:1!important}#playedLeft .card .card-suit,#playedRight .card .card-suit{font-size:.8rem!important;margin-top:0!important}#playedLeft .card .card-center-symbol,#playedRight .card .card-center-symbol{font-size:1.25rem!important;top:56%!important;left:56%!important;opacity:.85!important}.player-num-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(30,15,3,.85);border:1px solid rgba(140,100,30,.5);color:#a07840;font-size:.6rem;font-weight:900;font-family:var(--font-num);flex-shrink:0;line-height:1}.speech-bubble{background:rgba(17,17,19,.96);color:#fff;font-weight:700;padding:6px 10px;border-radius:4px;font-size:.74rem;line-height:1.4;box-shadow:0 6px 16px rgba(0,0,0,.6);position:absolute;z-index:60;border:1px solid var(--accent-gold);white-space:normal;word-break:break-all;max-width:160px;animation:popIn .2s cubic-bezier(.25,1,.5,1)}.left-player .speech-bubble{bottom:calc(100% + 6px);top:auto;left:0;max-width:160px}.right-player .speech-bubble{bottom:calc(100% + 6px);top:auto;right:0;max-width:160px}.self-bubble{top:-32px;left:50%;transform:translateX(-50%);max-width:220px}.self-player{grid-area:self-area;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;overflow:visible}.controls-bar{margin-bottom:58px;z-index:20}.card.rank-grouped{border-top:3px solid #38bdf8!important}.btn-action,.btn-group{display:flex;gap:10px}.btn-action{padding:7px 18px;height:36px;border-radius:4px;border:1px solid rgba(120,80,20,.4);font-weight:700;font-size:.84rem;letter-spacing:.5px;cursor:pointer;align-items:center;gap:6px;transition:all .15s ease;box-shadow:0 2px 6px rgba(0,0,0,.4)}.btn-action.primary{background:linear-gradient(180deg,#c9922a 0,#8a5e10 100%);color:#fff9e6;border-color:#7a5a1e;text-shadow:0 1px 2px rgba(0,0,0,.4)}.btn-action.secondary{background:rgba(15,25,15,.8);color:#9aaa8a;border-color:rgba(80,100,60,.4)}.btn-action.danger{background:rgba(50,10,10,.75);color:#f87171;border-color:rgba(180,40,40,.4)}.btn-action.highlight{background:linear-gradient(180deg,#e8b84b 0,#c9922a 100%);color:#1a0a00;border-color:#c9922a}.btn-action:hover{filter:brightness(1.15);box-shadow:0 4px 12px rgba(0,0,0,.5)}.btn-action.primary:hover{background:linear-gradient(180deg,#e8b84b 0,#c9922a 100%)}.btn-action:active{transform:scale(.97);filter:brightness(.95)}.btn-action.disabled,.btn-action:disabled{background:rgba(40,40,40,.6)!important;color:#5a5a5a!important;border-color:rgba(80,80,80,.3)!important;opacity:.6!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;filter:none!important}.self-cards-wrapper,.self-profile-mini{position:relative;display:flex;align-items:center}.self-cards-wrapper{width:100%;max-width:960px;flex-direction:column;overflow:visible}.self-profile-mini{gap:8px;margin-bottom:35px;background:linear-gradient(180deg,#1a0e06 0,#100806 100%);border:1px solid rgba(180,140,50,.35);box-shadow:0 2px 10px rgba(0,0,0,.6),0 0 0 1px rgba(255,215,0,.04) inset;padding:6px 14px;border-radius:3px;z-index:10}.btn-sort,.self-name{font-weight:700;font-size:.8rem;color:#d4b87a;letter-spacing:.3px}.btn-sort{background:rgba(80,40,5,.5);border:1px solid rgba(180,130,40,.35);color:#a07840;padding:2px 8px;border-radius:2px;cursor:pointer;font-size:.72rem;font-weight:600;transition:all .15s ease}.btn-sort:hover{background:rgba(120,70,10,.6);border-color:rgba(201,146,42,.55);color:#c9a255}.hand-cards-container{display:flex;justify-content:center;align-items:flex-end;width:100%;min-height:calc(var(--card-h) + 110px);height:auto;padding-top:90px;padding-bottom:24px;overflow:visible!important}.card{width:var(--card-w);height:var(--card-h);background:#fff!important;border-radius:var(--card-radius);box-shadow:0 4px 10px rgba(0,0,0,.4);display:flex;flex-direction:column;justify-content:space-between;padding:4px 6px;position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;border:1px solid rgba(0,0,0,.22);transform:translateY(var(--stack-y, 0px));transform-origin:bottom center;flex-shrink:0;overflow:hidden}@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(calc(var(--stack-y, 0px) - 16px))}}.card.selected{transform:translateY(calc(var(--stack-y, 0px) - 20px))!important;box-shadow:0 8px 18px rgba(255,215,0,.45),0 0 0 1.5px gold!important;border-color:gold!important}.card.messy-card{transform:translateY(calc(var(--stack-y, 0px) + var(--jitter-y, 0px))) rotate(var(--jitter-rot, 0deg));transition:transform .25s cubic-bezier(.25,1,.5,1)}.card.messy-card.selected{transform:translateY(calc(var(--stack-y, 0px) + var(--jitter-y, 0px) - 20px)) rotate(var(--jitter-rot, 0deg))!important}.card.poker-back{background:linear-gradient(135deg,#1e3a8a 0,#1e40af 100%)!important;border:2px solid #fff!important;cursor:default}.card.poker-back::after{content:"♠♦";position:absolute;inset:3px;border:1px dashed rgba(255,255,255,.4);border-radius:4px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:1rem}.card .card-top-left{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.card .card-value,.card-top-left.joker-vertical{font-family:var(--font-num);font-weight:900;letter-spacing:-.5px}.card-top-left.joker-vertical{position:absolute;top:3px;left:4px;display:flex;flex-direction:column;align-items:center;line-height:.82;font-size:.76rem;z-index:10}.card.is-joker.red{color:#dc2626!important}.card.is-joker.black{color:#0f172a!important}.card .card-value{font-size:1.15rem}.card .card-suit{font-size:.9rem;margin-top:1px}.card .card-center-symbol{position:absolute;top:52%;left:54%;transform:translate(-50%,-50%);font-size:2.2rem;opacity:.9}.card.red{color:#dc2626!important}.card.black{color:#0f172a!important}.card.joker-red{color:#dc2626!important}.card.joker-black{color:#334155!important}.card.is-joker .card-value{font-size:1.05rem;font-weight:900}.card.is-joker .card-center-symbol{font-size:1.3rem;font-weight:900;writing-mode:vertical-rl}.gameover-card{max-width:460px;margin-top:40px}.gameover-header h2{font-size:2rem;margin-bottom:4px}.winner-identity{color:var(--accent-gold);font-weight:700;margin-bottom:16px}.score-table{background:rgba(0,0,0,.5);border:1px solid rgba(120,80,20,.3);border-radius:3px;overflow:hidden;margin-bottom:20px}.score-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:10px 14px;align-items:center;border-bottom:1px solid rgba(100,60,15,.2);font-size:.85rem}.score-row.header{background:rgba(80,40,5,.4);color:#8a6830}.start-countdown-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,#1a0e06 0,#0e0705 100%);border:1px solid rgba(180,140,50,.45);outline:3px solid rgba(180,140,50,.1);outline-offset:3px;border-radius:4px;padding:24px 32px;display:flex;flex-direction:column;align-items:center;box-shadow:0 24px 64px rgba(0,0,0,.8),0 0 40px rgba(120,20,20,.2);z-index:999}.score-row.header,.start-title{font-weight:700;letter-spacing:.5px}.start-title{font-size:.88rem;color:#c9a255;margin-bottom:8px;white-space:nowrap}.traffic-light-container{display:flex;gap:14px;background:rgba(10,5,2,.85);border:2px solid rgba(180,140,50,.4);padding:8px 18px;border-radius:20px;box-shadow:inset 0 2px 6px rgba(0,0,0,.8),0 4px 12px rgba(0,0,0,.5);margin-top:4px}.traffic-light{width:20px;height:20px;border-radius:50%;transition:all .15s ease;box-shadow:inset 0 1px 3px rgba(0,0,0,.6)}.traffic-light.red{background:#3a0d0d;border:1px solid #5a1515}.traffic-light.red.active{background:#ff3b30;border-color:#ff6961;box-shadow:0 0 16px #ff3b30,inset 0 1px 3px rgba(255,255,255,.4)}.traffic-light.yellow{background:#3a2e0d;border:1px solid #5a4815}.traffic-light.yellow.active{background:#fc0;border-color:#ffd633;box-shadow:0 0 16px #fc0,inset 0 1px 3px rgba(255,255,255,.4)}.traffic-light.green{background:#0d3a1a;border:1px solid #155a2a}.traffic-light.green.active{background:#34c759;border-color:#5ce685;box-shadow:0 0 16px #34c759,inset 0 1px 3px rgba(255,255,255,.4)}.start-number{font-size:3rem;font-weight:900;font-family:var(--font-num);margin-bottom:8px;transition:color .15s ease,text-shadow .15s ease,transform .15s ease}.start-number.num-red{color:#ff3b30;text-shadow:0 0 24px rgba(255,59,48,.6)}.start-number.num-yellow{color:#fc0;text-shadow:0 0 24px rgba(255,204,0,.6)}.start-number.num-green{color:#34c759;text-shadow:0 0 24px rgba(52,199,89,.6)}.start-number.num-go{color:gold;text-shadow:0 0 28px rgba(255,215,0,.85);transform:scale(1.15)}.role-badge.landlord{background:rgba(255,215,0,.2);color:var(--accent-gold);border:1px solid rgba(255,215,0,.4)}.role-badge.farmer{background:rgba(56,189,248,.18);color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.score-row .minus,.score-row .plus{color:#2ecc71;font-weight:800;font-family:var(--font-num)}.score-row .minus{color:#ef4444}.gameover-footer{display:flex;gap:10px;justify-content:center}.toast-message{position:fixed;top:45%;left:50%;transform:translate(-50%,-50%);background:rgba(20,10,5,.95);border:1px solid rgba(201,146,42,.6);color:#f5d98a;padding:7px 16px;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.7),0 0 20px rgba(120,20,20,.15);z-index:999;font-weight:700;font-size:.78rem;text-align:center;pointer-events:none;letter-spacing:.3px}.victory-banner-box,.victory-content-wrap{position:relative;display:flex;align-items:center;pointer-events:auto}.victory-banner-box{justify-content:center;width:100%;z-index:120;margin-top:65px}.victory-content-wrap{background:linear-gradient(180deg,#241207 0,#120804 100%);border:1px solid rgba(255,215,0,.65);border-radius:6px;padding:10px 28px 12px;flex-direction:column;gap:4px;box-shadow:0 10px 36px rgba(0,0,0,.85),0 0 25px rgba(255,215,0,.18);animation:popIn .3s cubic-bezier(.25,1,.5,1);z-index:121}.victory-close-btn{position:absolute;top:6px;right:8px;width:22px;height:22px;border-radius:50%;background:rgba(40,15,5,.6);border:1px solid rgba(140,90,20,.4);color:#8a6030;font-size:.72rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.victory-close-btn:hover{background:rgba(80,20,5,.8);color:#f87171;border-color:rgba(220,60,40,.5)}.victory-main-title{font-size:1.15rem;font-weight:900;color:gold;letter-spacing:2px;text-shadow:0 0 14px rgba(255,215,0,.5);font-family:"Noto Serif SC",serif}.victory-sub-desc{font-size:.78rem;color:#f5d98a;letter-spacing:.5px;text-align:center}.restart-vote-box{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:4px}.restart-vote-count{font-size:.7rem;color:#a07840;font-weight:700;letter-spacing:.5px}.restart-vote-count .vote-num{font-family:var(--font-num);color:#8a6830;font-weight:900}.restart-vote-count .vote-num.active{color:gold;text-shadow:0 0 6px rgba(255,215,0,.4)}.btn-restart-round{padding:6px 18px!important;font-size:.82rem!important;margin-top:2px!important;cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:122!important}.btn-restart-round.voted{background:rgba(46,204,113,.2)!important;border-color:rgba(46,204,113,.5)!important;color:#2ecc71!important;cursor:default!important}.victory-mini-badge{background:linear-gradient(180deg,#241207 0,#120804 100%);border:1px solid rgba(255,215,0,.5);border-radius:20px;padding:4px 14px;display:flex;align-items:center;gap:8px;color:#f5d98a;font-size:.75rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.7);transition:all .2s ease;animation:popIn .2s ease}.victory-mini-badge:hover{border-color:gold;color:gold;transform:scale(1.04)}.open-hand-container{display:flex!important;flex-wrap:nowrap!important;max-width:fit-content!important;gap:0!important;justify-content:flex-start!important;align-items:center!important;background:rgba(10,15,25,.75)!important;border:1px solid rgba(255,215,0,.35)!important;padding:3px 6px!important;border-radius:6px!important;z-index:25!important;box-sizing:border-box!important;box-shadow:0 4px 12px rgba(0,0,0,.5)!important;backdrop-filter:blur(4px)!important}.open-hand-card{width:24px!important;height:35px!important;padding:1px 2px!important;margin-right:-13px!important;margin-bottom:0!important;box-shadow:-1px 0 3px rgba(0,0,0,.4)!important;border-radius:3px!important;flex-shrink:0!important;position:relative!important}.open-hand-card:last-child{margin-right:0!important}.open-hand-card .card-value{font-size:.6rem!important;font-weight:800!important;line-height:1!important}.open-hand-card .card-suit{font-size:.45rem!important;line-height:1!important}.open-hand-card .card-center-symbol{font-size:.65rem!important}.empty-hand-tag{font-size:.7rem;color:#f59e0b;font-weight:700;padding:2px 4px}.quick-phrase-popover{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#1a0e06 0,#0e0705 100%);border:1px solid rgba(180,140,50,.5);border-radius:3px;width:260px;max-width:88vw;box-shadow:0 10px 30px rgba(0,0,0,.9),0 0 20px rgba(120,20,20,.15);z-index:1000;padding:8px 10px;animation:popIn .2s cubic-bezier(.25,1,.5,1)}.phrase-header{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#c9a255;padding-bottom:5px;border-bottom:1px solid rgba(120,80,20,.35);margin-bottom:6px}.btn-close-phrase{background:0 0;border:0;color:#9ca3af;cursor:pointer;font-size:.9rem;padding:2px 6px}.phrase-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.phrase-item{background:rgba(0,0,0,.35);border:1px solid rgba(100,60,15,.3);border-radius:2px;padding:7px 10px;font-size:.72rem;color:#c9a255;text-align:left;transition:all .15s ease;letter-spacing:.2px}.phrase-item:active,.phrase-item:hover{background:rgba(80,30,5,.5);border-color:rgba(201,146,42,.55);color:gold}.phrase-item,.self-profile-mini{cursor:pointer}@media (max-width:768px){:root{--card-w:52px;--card-h:74px;--card-radius:3px;--card-overlap:-32px}.overlay-screen{align-items:center!important;justify-content:center;overflow-y:auto;padding:8px 12px 20px;-webkit-overflow-scrolling:touch}.hero-lobby-card,.mini-leaderboard-bar{width:94%;max-width:430px;margin-left:auto!important;margin-right:auto!important}.waiting-card-hero{padding:14px!important;gap:10px!important;border-radius:6px!important;width:96%!important}.invite-action-card{padding:10px 12px!important;border-radius:4px!important}.invite-card-title{font-size:.85rem!important;margin-bottom:6px!important}.share-box-redesign{margin-bottom:0!important;gap:6px!important}.share-box-redesign input{padding:7px 10px!important;font-size:.76rem!important}.btn-copy-gold{padding:0 12px!important;font-size:.78rem!important}.qr-box-toggle{display:none!important}.slots-grid-redesign{gap:6px!important}.player-slot-card{padding:8px 4px!important;border-radius:4px!important;gap:4px!important}.slot-badge-crown{font-size:.6rem!important;padding:1px 5px!important}.slot-avatar-emoji{font-size:1.6rem!important}.slot-name-text{font-size:.74rem!important}.slot-status-pill{font-size:.64rem!important;padding:2px 6px!important;border-radius:3px!important}.waiting-actions-bar{margin-top:4px!important;gap:8px!important}.btn-cancel-lobby,.btn-start-ai-sub,.btn-start-game-gold{height:38px!important;font-size:.82rem!important;border-radius:4px!important}.lobby-header{padding:12px 16px 10px}.brand-logo-icon{width:34px;height:34px;font-size:1.1rem;border-radius:3px}.brand-title{font-size:1.1rem;letter-spacing:2px}.brand-subtitle{font-size:.52rem;letter-spacing:1.5px}.hero-tags{margin-top:8px;gap:6px}.badge-tag{font-size:.62rem;padding:2px 8px}.lobby-form{padding:12px 14px}.nickname-section{margin-bottom:10px}.input-label{font-size:.62rem;margin-bottom:4px}.nickname-input-wrapper input{font-size:.88rem!important;height:32px!important;padding:6px 0!important;min-width:0;width:0;flex:1 1 0}.nickname-input-wrapper{min-width:0;overflow:hidden}.btn-random-nick{height:30px!important;font-size:0!important;padding:0 9px!important;flex-shrink:0}.btn-random-nick i{font-size:.78rem}.join-input-row{overflow:hidden}.join-input-row input{min-width:0;flex:1 1 0;height:34px!important;font-size:.85rem!important;padding:7px 10px!important}.btn-join-action{flex-shrink:0;white-space:nowrap}.mode-selection{gap:6px}.mode-card{padding:10px 12px;gap:10px}.card-icon,.card-icon-wrap{width:32px;height:32px;font-size:.95rem}.card-title{font-size:.82rem;margin-bottom:2px}.card-desc{font-size:.65rem}.join-card{padding:9px 12px!important;gap:7px!important}.btn-join-action{height:34px!important;font-size:.78rem!important;padding:0 10px!important}.divider{margin:4px 0;font-size:.6rem}.lobby-footer{padding:6px 14px;font-size:.6rem}body,html{width:100%}.game-container,body,html{height:100svh;overflow:hidden}.top-nav{height:40px;padding:0 8px}.brand span{font-size:.88rem}.badge-free,.room-info .btn-icon span,.room-info .room-label{display:none}.btn-icon{padding:4px 6px;font-size:.75rem}.room-info{gap:4px;padding:2px 8px;border-radius:14px;font-size:.7rem}.room-info .room-code{font-size:.72rem;letter-spacing:1px}.room-info .btn-icon{padding:2px 6px;font-size:.65rem;gap:3px}.game-table{grid-template-rows:45px minmax(0,1fr) minmax(200px,auto);grid-template-columns:84px minmax(0,1fr) 84px;padding:2px 6px 0;height:100%;width:100vw;max-width:100vw;max-height:calc(100svh - 40px);box-sizing:border-box;overflow:hidden!important}.table-center-area{justify-content:flex-end;padding-bottom:20px}#playedSelf{transform:translateY(4px)}.table-top-center{margin-top:40px;justify-content:center;align-items:center;width:100%;position:relative;z-index:50}.timer-badge{top:48px;font-size:.78rem;padding:3px 10px}.bottom-cards-box{padding:2px 6px;margin:0 auto}.bottom-cards-cards .card{width:34px!important;height:48px!important;padding:2px 3px!important}#playedLeft .card .card-value,#playedRight .card .card-value,.bottom-cards-cards .card .card-value{font-size:.75rem!important}#playedLeft .card .card-suit,#playedRight .card .card-suit,.bottom-cards-cards .card .card-suit{font-size:.6rem!important}#playedLeft .card .card-center-symbol,#playedRight .card .card-center-symbol,.bottom-cards-cards .card .card-center-symbol{font-size:.9rem!important}.game-stats-badge{padding:2px 5px;gap:5px}.stat-item .label{font-size:.55rem}.stat-item .value{font-size:.75rem}.left-player,.right-player{grid-area:left-play;justify-content:flex-start;padding-top:35px}.right-player{grid-area:right-play}.player-profile{width:74px;padding:4px 3px;gap:3px;border-radius:4px}.avatar-box{width:26px;height:26px;font-size:.72rem}.role-identity-badge{font-size:.58rem;padding:1px 4px}.player-name{font-size:.6rem;width:100%}.card-count-badge{font-size:.54rem;padding:1px 3px}.card-type-label{font-size:.62rem!important;padding:1px 6px!important;border-radius:10px!important;gap:2px!important;top:-18px!important;letter-spacing:0!important;box-shadow:0 1px 4px rgba(0,0,0,.3)!important}.card-type-label.label-bomb,.card-type-label.label-rocket{font-size:.68rem!important;padding:1px 7px!important}#playedSelf .card-type-label{top:-20px!important}#playedLeft{left:8px!important;top:160px!important}#playedRight{right:8px!important;top:160px!important}.left-player .speech-bubble,.right-player .speech-bubble{top:-26px;font-size:.68rem;padding:2px 6px;max-width:120px}.left-player .speech-bubble{left:0}.right-player .speech-bubble{right:0}#playedLeft .card,#playedRight .card{width:34px!important;height:48px!important;padding:2px 3px!important;margin-right:-16px}.card{padding:2px 3px;border-radius:2px!important;border-width:1px}.card.selected{transform:translateY(calc(var(--stack-y, 0px) - 8px))!important;box-shadow:0 4px 10px rgba(255,215,0,.45),0 0 0 1px gold!important}.card.messy-card.selected{transform:translateY(calc(var(--stack-y, 0px) + var(--jitter-y, 0px) - 8px)) rotate(var(--jitter-rot, 0deg))!important}.card .card-value{font-size:.8rem!important;font-weight:900;line-height:1}.card .card-suit{font-size:.6rem!important;line-height:1}.card .card-center-symbol{font-size:1.1rem!important}.card .joker-vertical-label{font-size:.38rem!important;line-height:.78!important;margin-left:1px!important;margin-top:1px!important}.card .joker-bottom-graphic{right:-3px!important;bottom:-3px!important}.card .joker-bottom-graphic,.card .joker-bottom-graphic .joker-svg{width:26px!important;height:26px!important}#playedSelf .card{width:40px!important;height:56px!important;padding:2px!important;margin-right:-18px}#playedSelf .card:last-child{margin-right:0!important}#playedSelf .card .card-value{font-size:.84rem!important}#playedSelf .card .card-suit{font-size:.62rem!important}#playedSelf .card .card-center-symbol{font-size:1.05rem!important}.controls-bar{margin-bottom:44px;z-index:20}.btn-group{gap:8px}.btn-action{padding:6px 14px;font-size:.78rem;border-radius:4px}.self-bubble{top:-28px;left:50%;transform:translateX(-50%);font-size:.7rem;padding:2px 8px;max-width:180px}.self-cards-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:4px;overflow:visible;z-index:15}.self-profile-mini{position:relative;gap:4px;margin-bottom:16px;padding:3px 8px;border-radius:4px}.self-profile-mini .avatar-box{width:22px;height:22px;font-size:.65rem}.self-name{font-size:.68rem}.btn-sort{padding:1px 5px;font-size:.65rem}.hand-cards-container{min-height:calc(var(--card-h) + 40px);height:auto;padding-top:55px;padding-bottom:4px;width:100%;max-width:100vw;overflow:visible!important;justify-content:center}}.public-room-item{background:rgba(0,0,0,.35);border:1px solid rgba(201,146,42,.3);border-radius:8px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;transition:all .2s ease}.public-room-item:hover{border-color:rgba(201,146,42,.7);background:rgba(201,146,42,.08)}.pr-left{display:flex;flex-direction:column;gap:6px}.pr-room-header{display:flex;align-items:center;gap:10px}.pr-room-id{font-size:1.05rem;font-weight:900;color:gold;font-family:var(--font-num);letter-spacing:1.5px}.pr-phase-tag{font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:700}.pr-phase-tag.waiting{background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.4);color:#34d399}.pr-phase-tag.bidding{background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.4);color:#fbbf24}.pr-phase-tag.playing{background:rgba(248,113,113,.15);border:1px solid rgba(248,113,113,.4);color:#f87171}.pr-players{font-size:.8rem;color:#cbd5e1;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pr-player-pill{background:rgba(255,255,255,.08);padding:2px 8px;border-radius:4px;font-size:.75rem;display:inline-flex;align-items:center;gap:4px}.pr-player-pill.ai{color:#94a3b8;border:1px stroke rgba(255,255,255,.1)}.pr-player-pill.human{color:#fef08a;font-weight:600;background:rgba(201,146,42,.18)}.btn-join-public-room{background:linear-gradient(135deg,#c9921a,#e2a820);color:#000;font-weight:800;border:0;border-radius:6px;padding:8px 14px;font-size:.82rem;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .15s ease,background .2s ease}.btn-join-public-room:hover{transform:scale(1.05);background:linear-gradient(135deg,gold,#f59e0b)}.user-header-badge{display:none!important}.user-header-badge:hover{background:rgba(255,215,0,.18);border-color:rgba(255,215,0,.5)}.user-avatar-text{font-size:1.1rem}.user-header-info{display:flex;align-items:center;gap:6px}.user-header-nick{font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.user-header-score{font-size:.72rem;color:gold;font-weight:700;white-space:nowrap}.auth-tabs{display:flex;background:rgba(0,0,0,.4);border-radius:4px;padding:3px;margin-bottom:16px;border:1px solid rgba(255,215,0,.12)}.auth-tab{flex:1;background:0 0;border:0;color:#94a3b8;padding:7px 10px;font-size:.82rem;font-weight:700;border-radius:3px;cursor:pointer;transition:all .2s ease}.auth-tab.active{background:linear-gradient(135deg,#c9921a,#e2a820);color:#000}.user-profile-hero{background:linear-gradient(135deg,rgba(201,146,42,.15),rgba(0,0,0,.4));border:1px solid rgba(201,146,42,.22);border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:12px}.profile-top{display:flex;align-items:center;gap:14px}.profile-avatar-big{font-size:2.4rem;background:rgba(0,0,0,.4);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,215,0,.6)}.profile-names{display:flex;flex-direction:column;gap:2px}.profile-nick{font-size:1.15rem;font-weight:900;color:#fff}.profile-email{font-size:.75rem;color:#94a3b8}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-stat-box{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:3px;padding:8px;text-align:center}.stat-val{font-size:.96rem;font-weight:500;color:gold;font-family:"Outfit","Inter",system-ui,-apple-system,sans-serif;letter-spacing:.3px}.stat-lbl{font-size:.7rem;color:#94a3b8;margin-top:2px}.lb-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(0,0,0,.3);border-radius:6px;margin-bottom:6px;border:1px solid rgba(255,215,0,.15)}.lb-rank{font-size:1.1rem;font-weight:900;font-family:var(--font-num);width:28px}.lb-rank.top1{color:gold}.lb-rank.top2{color:#e2e8f0}.lb-rank.top3{color:#b45309}.lb-nick{font-weight:700;color:#fff;flex:1;font-size:.88rem;padding:0 10px}.lb-score{font-weight:900;color:gold;font-family:var(--font-num);font-size:.95rem}.game-switch-nav{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:10px auto 4px;width:max-content;max-width:90%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;flex-shrink:0}.game-switch-nav.nav-dragging{cursor:grabbing;user-select:none}.game-switch-nav::-webkit-scrollbar{display:none}.game-nav-btn{flex:0 0 auto;white-space:nowrap;background:rgba(15,10,8,.55);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:7px 12px;font-size:.8rem;font-weight:700;color:#94a3b8;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;user-select:none}.game-nav-btn:hover{color:#f1f5f9;background:rgba(255,255,255,.06)}.game-nav-btn.active#btnNavDoudizhu{background:linear-gradient(135deg,rgba(201,146,42,.22)0,rgba(20,10,5,.9) 100%);border-color:rgba(201,146,42,.45);color:gold;box-shadow:0 4px 14px rgba(201,146,42,.15)}.game-nav-btn.active#btnNavGomoku{background:linear-gradient(135deg,rgba(16,185,129,.25)0,rgba(6,29,21,.95) 100%);border-color:rgba(52,211,153,.45);color:#34d399;box-shadow:0 4px 14px rgba(16,185,129,.2)}.nav-new-pill{font-size:.6rem;font-weight:900;background:#10b981;color:#000;padding:1px 4px;border-radius:3px;letter-spacing:.3px}.hero-lobby-card.theme-emerald{background:linear-gradient(180deg,#07241a 0,#03140e 100%)!important;border:1px solid rgba(52,211,153,.3)!important;box-shadow:0 16px 48px rgba(0,0,0,.9),0 0 30px rgba(16,185,129,.12)!important}.hero-lobby-card.theme-emerald .lobby-header.gomoku-wood-header{background:linear-gradient(180deg,#d49c53 0,#b87b32 60%,#9e6423 100%)!important;border-bottom:2px solid #5a320c!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 10px rgba(0,0,0,.4)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 20px 16px 26px!important;text-align:left!important}.brand-hero-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding-left:6px}.hero-lobby-card.theme-emerald .brand-title{color:#2b1103!important;background:0 0!important;-webkit-text-fill-color:#2b1103!important;text-shadow:0 1px 1px rgba(255,255,255,.35)!important;font-size:1.35rem!important;letter-spacing:1.5px!important}.hero-lobby-card.theme-emerald .brand-subtitle{color:#5c300c!important;font-weight:900!important;font-size:.64rem!important;letter-spacing:1px!important}.hero-lobby-card.theme-emerald .badge-tag.green{background:rgba(43,17,3,.14)!important;border-color:rgba(74,36,8,.45)!important;color:#2b1103!important;font-weight:800!important;margin-top:2px}.gomoku-stones-decoration{position:relative;width:72px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-right:18px;user-select:none;-webkit-tap-highlight-color:transparent}.mini-stone{width:38px;height:38px;border-radius:50%;position:absolute;border:0!important;transition:transform .2s ease,box-shadow .2s ease}.mini-stone.black-stone{left:-4px;top:-2px;background:radial-gradient(circle at 35% 35%,#52525b 0,#18181b 65%,#000 100%);box-shadow:3px 6px 14px rgba(0,0,0,.75),inset -2px -2px 5px rgba(0,0,0,.9);z-index:2}.mini-stone.white-stone{right:-4px;bottom:-2px;background:radial-gradient(circle at 35% 35%,#fff 0,#f4f4f5 60%,#cbd5e1 100%);box-shadow:3px 6px 14px rgba(0,0,0,.48),inset -2px -2px 5px rgba(0,0,0,.18);z-index:1}.gomoku-stones-decoration.animate .black-stone{animation:stoneBounceBlack .4s cubic-bezier(.175,.885,.32,1.275)}.gomoku-stones-decoration.animate .white-stone{animation:stoneBounceWhite .4s cubic-bezier(.175,.885,.32,1.275)}.auth-banner-card.emerald-auth{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(0,0,0,.5));border-color:rgba(52,211,153,.25)}.badge-tag.green{background:rgba(16,185,129,.12);border-color:rgba(52,211,153,.35);color:#34d399}.mode-card.primary-card.green-theme{background:linear-gradient(135deg,rgba(16,185,129,.18)0,rgba(6,29,21,.6) 100%);border-color:rgba(52,211,153,.35)}.mode-card.primary-card.green-theme:hover{background:linear-gradient(135deg,rgba(16,185,129,.28)0,rgba(6,29,21,.8) 100%);border-color:rgba(52,211,153,.55)}.btn-auth-action.green,.btn-join-action.green{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important}.mini-leaderboard-bar{background:rgba(15,10,8,.45);border:1px solid rgba(255,255,255,.08);border-radius:3px;padding:3px 10px;width:90%;max-width:430px;margin-left:auto;margin-right:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;transition:all .2s ease;user-select:none;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:15}.mini-leaderboard-bar:hover{background:rgba(25,18,14,.7);border-color:rgba(201,146,42,.25)}.mini-lb-left{display:flex;align-items:center;gap:5px;flex-shrink:0}.mini-lb-icon{color:#a07840;font-size:.75rem}.mini-lb-title{font-size:.7rem;font-weight:600;color:#a07840;white-space:nowrap}.mini-lb-ticker{flex:1;overflow:hidden;position:relative;height:18px;display:flex;align-items:center;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}.mini-lb-more,.mini-lb-track{align-items:center;white-space:nowrap}.mini-lb-track{display:inline-flex;animation:marqueeScroll 28s linear infinite;will-change:transform}.mini-lb-ticker:hover .mini-lb-track{animation-play-state:paused}.mini-lb-ticker .lb-top-item{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:.68rem}.mini-lb-ticker .lb-top-item.is-top3{margin-right:16px}.mini-lb-ticker .lb-top-name{color:#94a3b8;font-weight:500}.mini-lb-ticker .lb-top-score{color:#c9921a;font-size:.68rem;font-weight:600}.mini-lb-more{font-size:.68rem;color:#64748b;display:flex;gap:2px;flex-shrink:0}.mini-lb-more i{font-size:.6rem;transition:transform .15s ease}.mini-leaderboard-bar:hover .mini-lb-more i{transform:translateX(2px);color:#a07840}.auth-banner-card{background:linear-gradient(135deg,rgba(201,146,42,.15),rgba(0,0,0,.45));border:1px solid rgba(201,146,42,.22);border-radius:4px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-banner-left{display:flex;align-items:center;gap:10px}.auth-avatar-badge,.avatar-level-tag{border-radius:50%;display:flex;align-items:center;justify-content:center}.auth-avatar-badge{position:relative;width:36px;height:36px;background:linear-gradient(135deg,rgba(255,215,0,.25),rgba(201,146,42,.1));border:1px solid rgba(255,215,0,.45);font-size:1.35rem;box-shadow:inset 0 0 6px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.3);flex-shrink:0}.avatar-level-tag{position:absolute;bottom:-3px;right:-4px;background:linear-gradient(135deg,#f1c40f,#f39c12);color:#000;font-size:.58rem;font-weight:900;width:16px;height:16px;border:1.5px solid #0f172a;box-shadow:0 1px 4px rgba(0,0,0,.5);line-height:1;z-index:5}.auth-banner-info{display:flex;flex-direction:column;gap:1px}.auth-banner-nick{font-size:.78rem;font-weight:700;color:#f1f5f9}.auth-banner-sub{font-size:.72rem;font-weight:700;color:#a07840;letter-spacing:.2px}.auth-banner-actions{display:flex;flex-direction:column;gap:5px;align-items:stretch;flex-shrink:0}.btn-auth-action{background:linear-gradient(135deg,#c9921a,#e2a820);color:#000;font-weight:800;border:0;border-radius:3px;padding:3px 9px;font-size:.71rem;cursor:pointer;white-space:nowrap;text-align:center;transition:transform .15s ease}.btn-auth-action.btn-appearance{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important}.btn-auth-action:hover{transform:scale(1.03)}.card-type-modal{position:fixed!important;inset:0!important;background:rgba(0,0,0,.78)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:99999!important;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.card-type-inner{background:linear-gradient(180deg,#1f1008 0,#120904 100%);border:1px solid rgba(201,146,42,.25);border-radius:4px;width:100%;max-width:480px;box-shadow:0 16px 48px rgba(0,0,0,.9),0 0 20px rgba(201,146,42,.12);overflow:hidden;color:#fff;animation:popIn .25s cubic-bezier(.25,1,.5,1)}.ct-header,.ct-header-protruding{display:flex;justify-content:space-between}.ct-header{align-items:center;padding:12px 18px;background:rgba(0,0,0,.4);border-bottom:1px solid rgba(201,146,42,.18)}.ct-header-protruding{padding:8px 14px 0!important;background:rgba(0,0,0,.45);border-bottom:1px solid rgba(201,146,42,.2);align-items:flex-end}.protruding-tabs-left{display:flex;align-items:flex-end;gap:6px}.ct-title,.protruding-tab{display:flex;align-items:center}.protruding-tab{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:4px 4px 0 0;padding:7px 16px;font-size:.82rem;font-weight:700;color:#94a3b8;cursor:pointer;transition:all .2s ease;gap:6px;position:relative;top:1px;user-select:none}.protruding-tab:hover{color:#f1f5f9;background:rgba(255,255,255,.08)}.protruding-tab.active{background:linear-gradient(180deg,rgba(201,146,42,.22)0,rgba(20,10,5,.95) 100%);border:1px solid rgba(201,146,42,.35);border-bottom:1px solid #14070a;color:gold;font-weight:800;box-shadow:0-3px 10px rgba(201,146,42,.15)}.ct-title{font-size:.98rem;font-weight:800;color:gold;gap:8px}.ct-close{background:0 0;border:0;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px 8px;transition:color .15s ease}.ct-close:hover{color:#f87171}.auth-form-body .nickname-input-wrapper{background:rgba(0,0,0,.4);border:1px solid rgba(201,146,42,.35);border-radius:6px;padding:4px 12px;display:flex;align-items:center;gap:10px}.waiting-card-hero{background:linear-gradient(180deg,#180c0e 0,#0e0608 100%);border:1px solid rgba(201,146,42,.22);box-shadow:0 20px 50px rgba(0,0,0,.9),0 0 25px rgba(201,146,42,.08);border-radius:4px;width:94%;max-width:520px;padding:20px 22px;color:#fff;display:flex;flex-direction:column;gap:14px;text-align:left;backdrop-filter:blur(12px)}.waiting-header-bar{display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,.35);border:1px solid rgba(201,146,42,.18);border-radius:4px;padding:9px 14px;font-size:.86rem}.room-id-pill{display:flex;align-items:center;gap:8px;color:#f1f5f9;font-weight:700}.connected-badge{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#cbd5e1;background:rgba(255,255,255,.05);padding:3px 10px;border-radius:3px;border:1px solid rgba(255,255,255,.08)}.status-dot.green{width:7px;height:7px;background:#e2a820;border-radius:50%;box-shadow:0 0 6px rgba(226,168,32,.5)}.invite-action-card{background:rgba(0,0,0,.35);border:1px solid rgba(201,146,42,.18);border-radius:4px;padding:14px 16px;text-align:left}.invite-card-title{font-size:.92rem;font-weight:800;color:#e2a820;display:flex;align-items:center;gap:8px;letter-spacing:.3px}.share-box-redesign{display:flex;gap:8px;margin-top:10px}.share-box-redesign input{flex:1;background:rgba(0,0,0,.5);border:1px solid rgba(201,146,42,.22);border-radius:3px;color:#e2a820;padding:8px 12px;font-size:.82rem;font-family:monospace;letter-spacing:.5px}.btn-copy-gold,.btn-start-game-gold{background:linear-gradient(135deg,#ffdb4d 0,#f59e0b 50%,#d97706 100%);border:1px solid #ffe57f;color:#2b1100;font-weight:900;padding:0 16px;border-radius:3px;font-size:.84rem;cursor:pointer;white-space:nowrap;box-shadow:0 4px 16px rgba(245,158,11,.35);transition:all .2s ease;position:relative;overflow:hidden}.btn-copy-gold::after,.btn-start-game-gold::after{content:"";position:absolute;top:-50%;left:-120%;width:60%;height:200%;background:linear-gradient(90deg,rgba(255,255,255,0)0,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);animation:goldLightSweep 3.6s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}.btn-copy-gold:hover,.btn-start-game-gold:hover{background:linear-gradient(135deg,#ffe066 0,#fbbf24 50%,#d97706 100%);box-shadow:0 6px 20px rgba(245,158,11,.5);transform:translateY(-1px)}.btn-copy-gold:active,.btn-start-game-gold:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(0,0,0,.4)}.qr-box-toggle,.qr-canvas-box{border-radius:3px;display:flex;align-items:center}.qr-box-toggle{gap:12px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);padding:10px 14px}.qr-canvas-box{background:#fff;padding:5px;justify-content:center}.qr-canvas-box canvas,.qr-canvas-box img{width:48px!important;height:48px!important}.qr-text{font-size:.84rem;color:#f1f5f9;font-weight:700}.slots-grid-redesign{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0}.player-slot-card,.slot-avatar-circle{display:flex;align-items:center;justify-content:center}.player-slot-card{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.07);border-radius:3px;padding:12px 8px;flex-direction:column;gap:6px;text-align:center;position:relative;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:all .2s ease}.player-slot-card:hover{transform:translateY(-2px);border-color:rgba(201,146,42,.28)}.player-slot-card.host{background:rgba(201,146,42,.08);border:1px solid rgba(201,146,42,.25);box-shadow:0 4px 16px rgba(201,146,42,.12)}.slot-avatar-circle{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.4);border:1px solid rgba(201,146,42,.25);font-size:1.65rem;box-shadow:inset 0 2px 5px rgba(0,0,0,.5)}.player-slot-card.host .slot-avatar-circle{border-color:rgba(201,146,42,.5);box-shadow:inset 0 2px 5px rgba(0,0,0,.5),0 0 8px rgba(201,146,42,.2)}.slot-name-text{font-size:.8rem;font-weight:700;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.slot-status-pill{font-size:.68rem;font-weight:600;color:#94a3b8;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:2px 8px;border-radius:3px}.slot-status-pill.ready{color:#e2a820;background:rgba(201,146,42,.1);border-color:rgba(201,146,42,.22);font-weight:700}.gomoku-screen-wrap{background:linear-gradient(135deg,#061d15 0,#03140e 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;z-index:1000}.gomoku-screen-wrap.active{opacity:1!important;pointer-events:auto!important}.gomoku-container,.gomoku-header-area{width:100%;display:flex;flex-direction:column;align-items:center}.gomoku-container{max-width:480px;gap:12px}.gomoku-header-area{gap:6px}.gomoku-turn-status.top-status{background:rgba(16,185,129,.18);border:1px solid rgba(52,211,153,.45);border-radius:16px;padding:4px 14px;font-size:.78rem;font-weight:800;color:#34d399;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:2}.gomoku-timer-badge{background:rgba(15,23,42,.85);border:1px solid rgba(52,211,153,.5);border-radius:12px;padding:1px 8px;font-size:.72rem;font-weight:800;color:#a7f3d0;display:inline-flex;align-items:center;gap:2px;margin-left:4px;line-height:1.4}.gomoku-timer-badge.urgent{border-color:rgba(239,68,68,.7);color:#fca5a5;animation:timerUrgentPulse .6s ease-in-out infinite alternate}.gomoku-header-bar{width:100%;display:flex;align-items:center;justify-content:space-between;background:rgba(8,20,15,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(52,211,153,.28);border-radius:12px;padding:8px 12px;box-sizing:border-box;box-shadow:0 8px 24px rgba(0,0,0,.45);gap:10px}.gomoku-vs-badge{font-size:.85rem;font-weight:900;font-style:italic;color:rgba(52,211,153,.6);text-shadow:0 0 8px rgba(52,211,153,.3);user-select:none;flex-shrink:0}.gomoku-player-pill{flex:1;display:flex;flex-direction:column;gap:4px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .25s ease;max-width:46%;min-width:0}.player-pill-top{display:flex;align-items:center;gap:6px}.player-pill-top.right{justify-content:flex-end}.gomoku-player-pill.turn-active{background:linear-gradient(135deg,rgba(16,185,129,.22)0,rgba(6,29,21,.7) 100%)!important;border-color:rgba(52,211,153,.6)!important;box-shadow:0 0 14px rgba(16,185,129,.3)!important;transform:scale(1.02)}.mini-stone-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 5px rgba(0,0,0,.6)}.mini-stone-avatar.black{background:radial-gradient(circle at 35% 35%,#52525b 0,#18181b 65%,#000 100%);border:0}.mini-stone-avatar.white{background:radial-gradient(circle at 35% 35%,#fff 0,#f4f4f5 60%,#cbd5e1 100%);border:0}.player-pill-name{font-size:.72rem;font-weight:700;color:#f1f5f9;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.player-pill-name.align-right{text-align:right}.gomoku-player-pill .p-role{font-size:.64rem;font-weight:600;color:#94a3b8;white-space:nowrap}.gomoku-board-wrapper{background-color:#d49c53;background-image:radial-gradient(ellipse 90% 70%at 50% 50%,#eac285 0,#ca9046 70%,#995f21 100%),repeating-linear-gradient(0deg,rgba(74,37,0,.03),rgba(74,37,0,.03) 2px,transparent 2px,transparent 6px);border:7px solid #4a2408;border-radius:8px;padding:12px;box-shadow:0 20px 50px rgba(0,0,0,.9),inset 0 0 15px rgba(60,30,5,.5),0 0 0 2px rgba(255,215,0,.2);position:relative}.gomoku-board{display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);width:min(calc(100vw - 36px),340px);height:min(calc(100vw - 36px),340px);position:relative;user-select:none;touch-action:manipulation;background:0 0}@media (max-width:768px){.gomoku-board-wrapper{padding:6px!important}}@media (min-width:768px){.gomoku-container{max-width:600px;gap:16px}.gomoku-board-wrapper{padding:16px;border-width:8px}.gomoku-board{width:480px;height:480px}.gomoku-header-bar{padding:12px 18px}.gomoku-player-pill .p-name{font-size:.95rem}.gomoku-player-pill .p-role{font-size:.78rem}.gomoku-turn-status{font-size:.88rem;padding:6px 14px}.btn-gomoku-action{padding:10px 18px;font-size:.9rem}}.gomoku-cell{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.gomoku-cell::after,.gomoku-cell::before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:rgba(50,24,4,.85);z-index:1}.gomoku-cell::after{left:50%;top:0;width:1px;height:100%}.gomoku-cell.col-left::before{left:50%!important;width:50%!important}.gomoku-cell.col-right::before{left:0!important;width:50%!important}.gomoku-cell.row-top::after{top:50%!important;height:50%!important}.gomoku-cell.row-bottom::after{top:0!important;height:50%!important}.gomoku-stone,.star-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.star-dot{width:7px;height:7px;background:#321402;z-index:3;pointer-events:none;box-shadow:0 0 2px rgba(0,0,0,.4)}.gomoku-stone{width:84%;height:84%;z-index:5;border:0!important;box-shadow:0 3px 7px rgba(0,0,0,.65);transition:transform .15s cubic-bezier(.175,.885,.32,1.275);animation:stonePop .2s ease}.gomoku-stone.black{background:radial-gradient(circle at 35% 35%,#52525b 0,#18181b 65%,#000 100%);border:0!important}.gomoku-stone.white{background:radial-gradient(circle at 35% 35%,#fff 0,#f4f4f5 60%,#cbd5e1 100%);border:0!important}.gomoku-stone .stone-num,.gomoku-stone.last-move::after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gomoku-stone.last-move::after{content:"";width:6px;height:6px;border-radius:50%;background:#ff2a2a;box-shadow:0 0 6px #ff2a2a}.gomoku-stone .stone-num{font-size:calc(.42rem + .18vw);font-weight:600;font-family:"Outfit","Noto Sans SC",sans-serif;line-height:1;text-align:center;pointer-events:none;user-select:none;z-index:7;opacity:.42}.gomoku-stone .stone-num.on-black{color:rgba(248,250,252,.9)}.gomoku-stone .stone-num.on-white{color:rgba(30,41,59,.85)}.gomoku-stone .stone-num.len-2{font-size:calc(.36rem + .14vw)}.gomoku-stone.hover-preview{opacity:.45;pointer-events:none;border:0!important;box-shadow:0 2px 6px rgba(0,0,0,.3);animation:none}.gomoku-stone.win-stone{box-sizing:border-box!important;border:1px solid #34d399!important;box-shadow:0 0 14px rgba(52,211,153,.85),0 0 6px rgba(16,185,129,.6)!important;animation:winPulse 1.2s infinite alternate ease-in-out}.gomoku-stone.preview{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84%;height:84%;opacity:.55;pointer-events:none;border:0!important;box-shadow:0 2px 6px rgba(0,0,0,.35)}.btn-gomoku-action,.gomoku-actions-bar{display:flex;align-items:center;justify-content:center}.gomoku-actions-bar{width:100%;margin-top:28px;margin-bottom:12px}.btn-gomoku-action{padding:9px 24px;border-radius:20px;font-size:.88rem;font-weight:800;cursor:pointer;border:0;gap:8px;transition:all .2s ease;user-select:none}.btn-gomoku-action.undo{background:linear-gradient(135deg,rgba(16,185,129,.25)0,rgba(6,29,21,.9) 100%);border:1px solid rgba(52,211,153,.45);color:#34d399;box-shadow:0 4px 12px rgba(16,185,129,.15);width:100%;max-width:220px}.btn-gomoku-action.undo:hover:not(.disabled){background:linear-gradient(135deg,rgba(16,185,129,.38)0,rgba(6,29,21,.95) 100%);border-color:rgba(52,211,153,.7);color:#6ee7b7;transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,185,129,.25)}.btn-gomoku-action.rematch{background:linear-gradient(135deg,#10b981 0,#059669 100%);border:1px solid #34d399;color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.35);width:100%;max-width:220px}.btn-gomoku-action.rematch:hover:not(.disabled){background:linear-gradient(135deg,#34d399 0,#10b981 100%);box-shadow:0 6px 20px rgba(16,185,129,.5);transform:translateY(-1px)}.btn-gomoku-action.disabled{opacity:.45;cursor:not-allowed!important;pointer-events:none!important;background:rgba(30,41,59,.6)!important;border-color:rgba(148,163,184,.2)!important;color:#94a3b8!important;box-shadow:none!important}.waiting-actions-bar{display:flex;flex-direction:column;gap:8px;margin-top:4px}.btn-start-game-gold{width:100%;height:42px}.btn-cancel-lobby,.btn-start-ai-sub{width:100%;font-weight:700;border-radius:3px;cursor:pointer;transition:all .2s ease}.btn-start-ai-sub{height:42px;background:rgba(201,146,42,.12);border:1px solid rgba(201,146,42,.28);color:gold;font-size:.88rem;letter-spacing:.5px}.btn-start-ai-sub:hover{transform:translateY(-1px);background:rgba(201,146,42,.2);border-color:rgba(201,146,42,.4)}.btn-cancel-lobby{height:40px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:.84rem}.btn-cancel-lobby:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#f1f5f9}.btn-boredom-toy{position:absolute;right:-34px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;padding:0;font-size:10px;line-height:1;background:radial-gradient(circle at 35% 35%,#475569 0,#1e293b 60%,#0f172a 100%);border:0;outline:0;border-radius:50%;cursor:pointer;box-shadow:inset -1px -1px 2px rgba(0,0,0,.5),inset 1px 1px 2px rgba(255,255,255,.25),0 1px 4px rgba(0,0,0,.4);transition:transform .15s cubic-bezier(.175,.885,.32,1.275),background .2s ease,box-shadow .2s ease;user-select:none;-webkit-tap-highlight-color:transparent;z-index:10}.btn-boredom-toy:hover{filter:brightness(1.15)}.btn-boredom-toy:active{filter:brightness(.9)}.gomoku-center-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:85;pointer-events:none;gap:8px;padding:7px 20px;background:linear-gradient(135deg,rgba(20,26,38,.85)0,rgba(10,15,26,.92) 100%);border:1px solid rgba(255,215,0,.25);box-shadow:0 16px 40px rgba(0,0,0,.5),inset 0 1px 1px rgba(255,255,255,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:8px;animation:luxuryBannerEnter 1.4s cubic-bezier(.16,1,.3,1) forwards}.gomoku-center-banner .stone-badge{width:14px;height:14px;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.5)}.gomoku-center-banner .stone-badge.black{background:radial-gradient(circle at 35% 35%,#71717a 0,#18181b 70%,#000 100%);border:1px solid rgba(255,255,255,.25)}.gomoku-center-banner .stone-badge.white{background:radial-gradient(circle at 35% 35%,#fff 0,#e4e4e7 60%,#a1a1aa 100%);border:1px solid rgba(0,0,0,.15)}.gomoku-center-banner span{font-size:.95rem;font-weight:800;letter-spacing:2.5px;white-space:nowrap}.gomoku-center-banner span.black-first{background:linear-gradient(135deg,#ffe082 0,#f59e0b 60%,#d97706 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gomoku-center-banner span.white-second{background:linear-gradient(135deg,#fff 0,#e2e8f0 60%,#94a3b8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-gomoku-bid,.gomoku-bidding-bar,.gomoku-center-banner{display:flex;align-items:center;justify-content:center}.gomoku-bidding-bar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:60;flex-direction:column;background:rgba(15,23,42,.94);border:1.5px solid rgba(245,158,11,.4);box-shadow:0 10px 30px rgba(0,0,0,.7),0 0 16px rgba(245,158,11,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px 24px;border-radius:20px;animation:zoomInBid .25s ease-out}.btn-gomoku-bid{padding:10px 22px;height:44px;border-radius:12px;font-weight:900;font-size:.95rem;cursor:pointer;gap:8px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);border:0;white-space:nowrap}.btn-gomoku-bid.grab-black.disabled-gray{background:rgba(71,85,105,.6)!important;color:#94a3b8!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.75}#btnNavDoudizhu.active,.btn-gomoku-bid.grab-black.active-gold{background:linear-gradient(135deg,#f59e0b 0,#d97706 100%)!important}.btn-gomoku-bid.grab-black.active-gold{color:#000!important;box-shadow:0 0 24px rgba(245,158,11,.85),0 4px 12px rgba(0,0,0,.4)!important;cursor:pointer!important;opacity:1!important;animation:grabPulse .6s infinite alternate ease-in-out}.btn-gomoku-bid.grab-black.claimed{background:linear-gradient(135deg,#10b981 0,#059669 100%)!important;color:#fff!important;box-shadow:0 0 20px rgba(16,185,129,.6)!important}body.theme-mahjong,body.theme-mahjong #lobbyScreen,body.theme-mahjong .game-container{background-color:#031c15!important;background-image:radial-gradient(ellipse 85% 65%at 50% 45%,rgba(6,78,59,.95)0,rgba(2,44,34,.98) 60%,#01140e 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M18 0 L36 18 L18 36 L0 18 Z' fill='none' stroke='%2334d399' stroke-width='0.75' stroke-opacity='0.2'/%3E%3Cpath d='M18 6 L30 18 L18 30 L6 18 Z' fill='none' stroke='%23ffd700' stroke-width='0.4' stroke-opacity='0.16'/%3E%3Ccircle cx='18' cy='18' r='2' fill='%2334d399' fill-opacity='0.15'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ccircle cx='2' cy='2' r='0.8' fill='%2334d399' fill-opacity='0.08'/%3E%3Ccircle cx='8' cy='8' r='0.7' fill='%2334d399' fill-opacity='0.07'/%3E%3C/svg%3E")!important;background-size:cover,36px 36px,12px 12px!important}.game-switch-nav .game-nav-btn{white-space:nowrap!important;position:relative!important;transition:all .25s cubic-bezier(.175,.885,.32,1.275)!important}#btnNavDoudizhu.active{color:#0f172a!important;border-color:#fbbf24!important;box-shadow:0 4px 14px rgba(245,158,11,.5)!important;font-weight:900!important}#btnNavGomoku.active{background:linear-gradient(135deg,#10b981 0,#059669 100%)!important;color:#fff!important;border-color:#34d399!important;box-shadow:0 4px 14px rgba(16,185,129,.5)!important;font-weight:900!important}#btnNavMahjong.active{background:linear-gradient(135deg,#923a2a 0,#752a1c 50%,#571f16 100%)!important;color:#fffbeb!important;border-color:#f59e0b!important;box-shadow:0 4px 18px rgba(146,58,42,.65),0 0 14px rgba(245,158,11,.5)!important;font-weight:900!important}#btnNavDoudizhu:hover:not(.active){background:rgba(245,158,11,.2)!important;border-color:rgba(251,191,36,.4)!important;color:#fef08a!important}#btnNavGomoku:hover:not(.active){background:rgba(16,185,129,.2)!important;border-color:rgba(52,211,153,.4)!important;color:#6ee7b7!important}#btnNavMahjong:hover:not(.active){background:rgba(146,58,42,.35)!important;border-color:rgba(245,158,11,.5)!important;color:#fef08a!important}.badge-corner-new{position:absolute;top:-5px;right:-2px;font-size:.5rem;font-weight:900;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:1.5px 5px;border-radius:6px 6px 6px 0;border:1px solid rgba(255,255,255,.7);box-shadow:0 2px 6px rgba(239,68,68,.6);line-height:1;pointer-events:none;z-index:10}.badge-tag.jade{background:rgba(4,120,87,.22)!important;color:#10b981!important;border:1px solid rgba(16,185,129,.45)!important}.pill-badge.jade{background:rgba(4,120,87,.3)!important;color:#10b981!important;border:1px solid rgba(16,185,129,.5)!important}.card-icon-wrap.jade{background:rgba(4,120,87,.25)!important;color:#10b981!important;border:1px solid rgba(16,185,129,.4)!important}.btn-auth-action.jade,.btn-join-action.jade{background:linear-gradient(135deg,#059669 0,#047857 60%,#064e3b 100%)!important;color:#fff!important;border:1px solid #10b981!important;font-weight:800!important;box-shadow:0 4px 14px rgba(5,150,105,.45)!important}.divider.mahjong-divider span{color:#10b981}.lobby-card.theme-mahjong{border:1.5px solid rgba(245,158,11,.35)!important;box-shadow:0 16px 45px rgba(0,0,0,.85),0 0 32px rgba(146,58,42,.25)!important;background:linear-gradient(180deg,rgba(28,10,7,.97)0,rgba(18,6,4,.98) 100%)!important}.mode-card.primary-card.mahjong-theme{background:linear-gradient(135deg,rgba(4,120,87,.18)0,rgba(6,78,59,.3) 100%)!important;border:1px solid rgba(16,185,129,.4)!important;box-shadow:0 4px 16px rgba(4,120,87,.2)!important}.mode-card.primary-card.mahjong-theme:hover{background:linear-gradient(135deg,rgba(4,120,87,.3)0,rgba(6,78,59,.45) 100%)!important;border-color:rgba(16,185,129,.7)!important;box-shadow:0 6px 20px rgba(4,120,87,.35)!important;transform:translateY(-2px)}.mode-card.join-card.mahjong-join{background:rgba(0,0,0,.35)!important;border:1px solid rgba(16,185,129,.25)!important}.mode-card.ai-card.mahjong-ai{background:rgba(4,120,87,.1)!important;border:1px solid rgba(16,185,129,.3)!important}.mode-card.ai-card.mahjong-ai:hover{background:rgba(4,120,87,.2)!important;border-color:rgba(16,185,129,.6)!important;transform:translateY(-2px)}.lobby-header.peachwood-header{background:linear-gradient(135deg,#923a2a 0,#752a1c 40%,#632419 75%,#42160e 100%)!important;border-bottom:1.5px solid rgba(245,158,11,.45);position:relative;overflow:hidden;box-shadow:inset 0-4px 12px rgba(0,0,0,.4);padding:16px 20px 16px 26px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important}.lobby-header.peachwood-header::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(245,158,11,.04),rgba(245,158,11,.04) 2px,transparent 2px,transparent 10px);pointer-events:none}.mahjong-tiles-decoration{display:flex;gap:8px;align-items:center;perspective:800px;padding-right:6px;margin-left:auto;margin-right:6px;flex-shrink:0}.master-mahjong-tile{width:34px;height:48px;position:relative;border-radius:5px;user-select:none;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;transform:rotateY(-10deg) rotateX(5deg)}.master-mahjong-tile.hero-tile{transform:rotateY(0deg) scale(1.1);z-index:2}.master-mahjong-tile:hover{transform:translateY(-6px) rotateY(0deg) scale(1.15);z-index:5}.tile-face-ivory{width:100%;height:100%;background:linear-gradient(145deg,#fff 0,#fdfbf7 70%,#f3eee3 100%);border:1px solid rgba(255,255,255,.9);border-radius:5px 5px 3px 3px;box-shadow:inset 0 1px 2px #fff,inset 0-2px 4px rgba(0,0,0,.08),0 4px 0#059669,0 8px 18px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box}.tile-back-jade{position:absolute;bottom:-4px;left:0;width:100%;height:4px;background:linear-gradient(to bottom,#10b981,#047857);border-radius:0 0 4px 4px}.char-red-zhong{font-size:1.45rem;font-weight:900;color:#dc2626;text-shadow:0 1px 0#991b1b,0 0 1px rgba(220,38,38,.5)}.char-double-wan,.char-green-fa,.char-red-zhong{font-family:"Kaiti SC","STKaiti","SimKai",serif}.char-green-fa{font-size:1.45rem;font-weight:900;color:#059669;text-shadow:0 1px 0#047857,0 0 1px rgba(5,150,105,.5)}.char-double-wan{display:flex;flex-direction:column;align-items:center;line-height:.95}.char-double-wan .num-red,.char-double-wan .type-red{font-size:.78rem;font-weight:900;color:#dc2626;text-shadow:0 1px 0#991b1b}.mahjong-screen-wrap,.mahjong-table-vertical-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box}.mahjong-screen-wrap{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background:radial-gradient(circle at 50% 45%,#923a2a 0,#632419 60%,#3d140c 100%);padding:10px;padding-top:max(75px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;z-index:1000}.mahjong-table-vertical-container{width:100%;max-width:480px;height:100%;gap:10px;overflow:visible;padding:12px 14px}.mahjong-ting-badge,.mahjong-top-bar{align-items:center;flex-shrink:0;overflow:hidden}.mahjong-top-bar{width:100%;height:38px;min-height:38px;max-height:38px;display:flex;justify-content:center;gap:10px;padding:0 6px;margin-top:40px;z-index:50;box-sizing:border-box}.mahjong-ting-badge{background:linear-gradient(135deg,rgba(245,158,11,.22),rgba(217,119,6,.15));border:1px solid rgba(245,158,11,.65);border-radius:8px;padding:4px 10px;font-size:.74rem;font-weight:800;color:#fde68a;display:inline-flex;gap:6px;white-space:nowrap;box-shadow:0 0 14px rgba(245,158,11,.35);animation:tingBadgePulse 1.1s ease-in-out infinite alternate;max-width:45%}.mahjong-ting-badge .ting-title{color:#fbbf24}.mahjong-ting-badge .ting-count{background:rgba(245,158,11,.25);border-radius:10px;padding:1px 7px;color:#fef3c7;font-size:.8rem}.mahjong-ting-badge .ting-tiles{font-size:.7rem;color:#fcd34d;font-weight:700;letter-spacing:1px}.mahjong-tiles-bottom.my-turn-glow{animation:myTurnGlow 1.3s ease-in-out infinite alternate;border-radius:3px;padding:1px 2px;margin:-1px -2px}.mahjong-turn-status.top-status.my-turn-active{border-color:rgba(245,158,11,.8)!important;color:#fbbf24!important;box-shadow:0 0 16px rgba(245,158,11,.45)!important;background:rgba(60,30,5,.75)!important}.mahjong-tile-card.action-highlight{transform:translateY(-4px)!important;border-color:#f59e0b!important;box-shadow:0 3.5px 0#047857,0 0 14px rgba(245,158,11,.9),0 6px 14px rgba(0,0,0,.55)!important;animation:actionHighlightPulse .7s ease-in-out infinite alternate;z-index:18!important}.mahjong-tile-card.ting-key-tile{box-shadow:0 3.5px 0#047857,0 0 10px rgba(16,185,129,.55),0 5px 10px rgba(0,0,0,.5)!important;border-color:rgba(16,185,129,.8)!important}.mahjong-turn-status.top-status{background:rgba(0,0,0,.65);border:1px solid rgba(52,211,153,.5);border-radius:6px;padding:5px 16px;font-size:.82rem;font-weight:800;color:#34d399;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:85%}.btn-mahjong-nav-rematch{background:rgba(16,185,129,.25);border-color:rgba(52,211,153,.4);color:#34d399}.vertical-mahjong-table{width:100%;max-width:460px;aspect-ratio:3/4;max-height:75vh;max-height:75dvh;margin:auto;flex-shrink:0;background:radial-gradient(ellipse 90% 80%at 50% 45%,#059669 0,#047857 55%,#022c22 100%);border:6px solid #4a150e;border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.75),0 4px 14px rgba(0,0,0,.55),inset 0 0 25px rgba(0,0,0,.65),0 0 0 1.5px rgba(245,158,11,.35);position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.seat-user-pill{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);border:1px solid rgba(52,211,153,.35);border-radius:3px;padding:3px 10px 3px 4px;color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 4px 10px rgba(0,0,0,.5);z-index:10}.seat-user-pill.bottom-pill{margin-bottom:0}.seat-user-pill.vertical{writing-mode:vertical-rl;text-orientation:mixed;padding:8px 4px;border-radius:3px;letter-spacing:1px}.seat-user-pill.vertical .player-avatar-badge{writing-mode:horizontal-tb}.table-player-seat.seat-top{display:flex;flex-direction:column;align-items:center;padding-top:6px;gap:4px}.table-player-seat.seat-left,.table-player-seat.seat-right{position:absolute;top:42%;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.table-player-seat.seat-left{left:4px}.table-player-seat.seat-right{right:4px;flex-direction:row-reverse}.table-player-seat.seat-bottom{display:flex;flex-direction:column;align-items:center;padding-bottom:0;position:absolute;bottom:18px;left:0;right:0;z-index:20}.standing-tiles-row.top-row{display:flex;gap:1px}.standing-tile-top{width:14px;height:20px;background:linear-gradient(to bottom,#10b981,#047857);border:1px solid rgba(255,255,255,.35);border-radius:1.5px;box-shadow:0 1.5px 0#022c22}.standing-tiles-col{display:flex;flex-direction:column;gap:1px}.standing-tile-left,.standing-tile-right{width:20px;height:13px;background:linear-gradient(to right,#10b981,#047857);border:1px solid rgba(255,255,255,.35);border-radius:1.5px;box-shadow:1.5px 0 0#022c22}.table-center-zone{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:220px;height:220px;display:flex;align-items:center;justify-content:center}.mahjong-discards-4p{position:absolute;width:100%;height:100%}.discard-grid{position:absolute;display:flex;flex-wrap:wrap;gap:2px}.compass-timer.urgent{color:#ef4444!important;text-shadow:0 0 8px rgba(239,68,68,.9)!important;animation:compassTimerPulse .5s infinite alternate}.discard-grid.grid-bottom,.discard-grid.grid-top{left:50%;transform:translateX(-50%);max-width:108px;justify-content:center}.discard-grid.grid-bottom{bottom:-22px}.discard-grid.grid-top{top:-22px}.discard-grid.grid-left,.discard-grid.grid-right{top:50%;transform:translateY(-50%);max-width:98px;max-height:80px;align-content:flex-start;justify-content:flex-start}.discard-grid.grid-left{left:2px;flex-direction:row}.discard-grid.grid-right{right:2px;flex-direction:row-reverse}.discard-chip,.meld-tile{display:flex;align-items:center;justify-content:center;overflow:hidden}.discard-chip{width:15px;height:21px;background:#fff;border-radius:1.5px;box-shadow:0 1.5px 0#059669;flex-shrink:0}.discard-chip .m-face.wan .w-num{font-size:.48rem;line-height:1}.discard-chip .m-face.wan .w-char{font-size:.42rem;line-height:1}.discard-chip .m-face.honor.baiban .baiban-inner{width:8px;height:12px}.discard-chip .m-face.bing-1 .rosette{width:10px;height:10px}.discard-chip .m-face.honor,.discard-chip .m-face.tiao-1 .sparrow{font-size:.65rem}.meld-tile{width:22px;height:30px}.meld-tile .m-face.wan .w-num{font-size:.68rem}.meld-tile .m-face.wan .w-char{font-size:.58rem}.meld-tile .m-face.honor{font-size:.9rem}.mahjong-tile-card,.mahjong-tiles-bottom{justify-content:center;box-sizing:border-box}.mahjong-tiles-bottom{display:inline-flex;align-items:flex-end;width:fit-content;max-width:100%;padding-top:4px}.mahjong-tile-card{flex:0 0 auto;margin:0;background:linear-gradient(145deg,#fff 0,#fffdfa 70%,#f3eee3 100%);border-radius:3.5px;border:1px solid rgba(255,255,255,.95);box-shadow:0 3.5px 0#047857,0 5px 10px rgba(0,0,0,.55);display:flex;align-items:center;cursor:pointer;user-select:none;transition:transform .18s cubic-bezier(.175,.885,.32,1.275),box-shadow .18s ease;overflow:hidden}.mahjong-tile-card:hover{filter:brightness(1.03)}.mahjong-tile-card.selected{transform:translateY(-8px)!important;border-color:#f59e0b!important;box-shadow:0 3.5px 0#047857,0 0 10px rgba(245,158,11,.8),0 8px 16px rgba(0,0,0,.6)!important;z-index:20!important}.mahjong-tile-card.is-drawn-tile{margin-left:14px!important;border-color:#f59e0b!important;box-shadow:0 3.5px 0#047857,0 0 8px rgba(245,158,11,.4)!important}.standing-tile-top.is-drawn-tile{margin-right:12px!important}.standing-tile-left.is-drawn-tile{margin-top:10px!important}.standing-tile-right.is-drawn-tile{margin-bottom:10px!important}@media (max-width:768px){.mahjong-screen-wrap{padding:2px!important;padding-top:max(48px,env(safe-area-inset-top))!important;padding-bottom:max(20px,env(safe-area-inset-bottom))!important}.mahjong-table-vertical-container{max-width:100%!important;padding:2px!important;gap:6px!important;justify-content:flex-start!important}.mahjong-top-bar{margin-top:6px!important;height:32px!important;min-height:32px!important;max-height:32px!important}.mahjong-visual-wall-row{margin:2px auto 4px!important}.vertical-mahjong-table{max-width:100%!important;width:98%!important;aspect-ratio:1/1.36!important;max-height:78vh!important;max-height:78dvh!important;margin-top:6px!important;margin-bottom:auto!important;border-width:4.5px!important;border-radius:8px!important}.mahjong-tiles-bottom{gap:1.2px!important;padding:0!important;box-sizing:border-box!important;width:fit-content!important;max-width:100%!important}.mahjong-tile-card{width:min(23px,calc((100vw - 56px)/14.5))!important;max-width:none!important;min-width:0!important;aspect-ratio:1/1.34!important;height:auto!important}}.m-face{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:1px;font-family:"STKaiti","KaiTi","SimKai","PingFang SC",sans-serif;pointer-events:none}.m-face.wan{color:#c92a2a;font-weight:900;line-height:.92}.m-face.wan .w-num{font-size:.68rem;letter-spacing:-.5px}.m-face.wan .w-char{font-size:.58rem}.m-face.bing{display:grid;align-items:center;justify-items:center;width:82%;height:84%}.m-face.bing-1,.m-face.bing-1 .rosette{display:flex;align-items:center;justify-content:center}.m-face.bing-1 .rosette{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#dc2626 0,#2563eb 45%,#16a34a 75%,#dc2626 100%);box-shadow:inset 0 0 2px rgba(0,0,0,.5),0 0 2px rgba(0,0,0,.3);position:relative}.m-face.bing-1 .rosette-inner{width:5px;height:5px;background:#fef08a;border-radius:50%}.m-face.bing .dot{width:5px;height:5px;border-radius:50%;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}.m-face.bing-2{grid-template-rows:1fr 1fr;gap:2px}.m-face.bing-2 .dot,.m-face.bing-3 .dot{background:#2563eb}.m-face.bing-3{grid-template-columns:1fr 1fr 1fr;gap:1px}.m-face.bing-3 .d-2{background:#dc2626}.m-face.bing-4,.m-face.bing-5{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}.m-face.bing-4 .d-1,.m-face.bing-4 .d-4{background:#2563eb}.m-face.bing-4 .d-2,.m-face.bing-4 .d-3{background:#16a34a}.m-face.bing-5{position:relative}.m-face.bing-5 .dot{background:#2563eb}.m-face.bing-5 .d-3{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#dc2626;width:5.5px;height:5.5px}.m-face.bing-6{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:1px}.m-face.bing-6 .d-1,.m-face.bing-6 .d-2{background:#16a34a}.m-face.bing-6 .d-3,.m-face.bing-6 .d-4,.m-face.bing-6 .d-5,.m-face.bing-6 .d-6{background:#dc2626}.m-face.bing-7,.m-face.bing-8{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);gap:1px}.m-face.bing-7 .dot{background:#16a34a}.m-face.bing-7 .d-1,.m-face.bing-7 .d-2,.m-face.bing-7 .d-3{background:#dc2626}.m-face.bing-8 .dot,.m-face.bing-9 .d-1,.m-face.bing-9 .d-2,.m-face.bing-9 .d-3{background:#2563eb}.m-face.bing-9{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:1px}.m-face.bing-9 .d-4,.m-face.bing-9 .d-5,.m-face.bing-9 .d-6{background:#dc2626}.m-face.bing-9 .d-7,.m-face.bing-9 .d-8,.m-face.bing-9 .d-9{background:#16a34a}.m-face.tiao{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:1px!important;box-sizing:border-box!important}.tiao-svg,.yaoji-img{display:block!important;margin:auto!important}.tiao-svg{width:94%!important;height:94%!important;filter:drop-shadow(0 .5px 1px rgba(0,0,0,.35))}.yaoji-img{width:92%!important;height:92%!important;object-fit:contain!important;filter:none!important;border-radius:2px!important;pointer-events:none;user-select:none}.m-face.honor{font-size:.88rem;font-weight:900}.m-face.honor.red-zhong{color:#dc2626;text-shadow:0 1px 2px rgba(185,28,28,.3)}.m-face.honor.green-fa{color:#15803d;text-shadow:0 1px 2px rgba(21,128,61,.3)}.m-face.honor.baiban{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.m-face.honor.baiban .baiban-inner{width:12px;height:17px;border:1.5px solid #1d4ed8;border-radius:2px;background:0 0;box-shadow:inset 0 0 0 1px #60a5fa}.m-face.honor.wind{color:#1e3a8a;font-size:.82rem}.drawing-mahjong-tile,.throwing-mahjong-tile{position:absolute;display:flex;align-items:center;justify-content:center}.throwing-mahjong-tile{width:36px;height:52px;background:linear-gradient(145deg,#fff,#f3eee3);border:1.5px solid #34d399;border-radius:5px;box-shadow:0 8px 20px rgba(0,0,0,.7),0 0 15px rgba(52,211,153,.6);font-size:1rem;font-weight:900;color:#0f172a;z-index:100;animation:tileThrowAnim .45s cubic-bezier(.175,.885,.32,1.275) forwards}.throwing-mahjong-tile.player-0{top:75%;left:50%}.throwing-mahjong-tile.player-1{top:45%;left:80%}.throwing-mahjong-tile.player-2{top:15%;left:50%}.throwing-mahjong-tile.player-3{top:45%;left:20%}.drawing-mahjong-tile{z-index:120;width:27px;height:37px;border-radius:4px;pointer-events:none;box-sizing:border-box;box-shadow:0 4px 12px rgba(0,0,0,.5),inset 0 1px 1px rgba(255,255,255,.4)}.drawing-mahjong-tile.is-back{background:linear-gradient(145deg,#10b981 0,#059669 60%,#047857 100%);border:1.5px solid #a7f3d0}.drawing-mahjong-tile.is-face{background:linear-gradient(145deg,#fff 0,#fffdfa 70%,#f3eee3 100%);border:1.5px solid #34d399}.drawing-mahjong-tile.target-player-0{top:15%;left:50%;animation:mahjongTileDrawFlyBottom .26s cubic-bezier(.2,.9,.35,1.1) forwards}.drawing-mahjong-tile.target-player-1{top:20%;left:50%;animation:mahjongTileDrawFlyRight .26s cubic-bezier(.2,.9,.35,1.1) forwards}.drawing-mahjong-tile.target-player-2{top:20%;left:50%;animation:mahjongTileDrawFlyTop .26s cubic-bezier(.2,.9,.35,1.1) forwards}.drawing-mahjong-tile.target-player-3{top:20%;left:50%;animation:mahjongTileDrawFlyLeft .26s cubic-bezier(.2,.9,.35,1.1) forwards}@media (min-width:769px){.mahjong-table-vertical-container{max-width:680px!important}.vertical-mahjong-table{max-width:600px!important;aspect-ratio:1/1!important;max-height:78vh!important;max-height:78dvh!important;border:10px solid #4a150e!important;border-radius:22px!important;box-shadow:0 20px 60px rgba(0,0,0,.9),inset 0 0 35px rgba(0,0,0,.7),0 0 0 3px rgba(245,158,11,.35)!important}.table-player-seat.seat-left,.table-player-seat.seat-right{top:50%!important;transform:translateY(-50%)!important;gap:6px!important}.table-player-seat.seat-left{left:10px!important;flex-direction:row!important}.table-player-seat.seat-right{right:10px!important;flex-direction:row-reverse!important}.mahjong-tile-card{width:36px!important;height:54px!important;font-size:1.05rem!important}}.mahjong-wall-badge{background:rgba(4,120,87,.45);border:1px solid rgba(52,211,153,.5);color:#a7f3d0;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:5px;backdrop-filter:blur(4px);box-shadow:0 2px 6px rgba(0,0,0,.4)}.mahjong-visual-wall-row{display:flex;align-items:center;justify-content:center;gap:.8px;padding:3px 8px;margin:2px auto 4px;width:fit-content;max-width:95%;min-height:18px;background:rgba(2,20,14,.6);border:1px solid rgba(52,211,153,.35);border-radius:4px;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.7);overflow:hidden;transition:all .3s ease}.wall-mini-tile-stack{width:11.5px;height:16.5px;background:linear-gradient(180deg,#10b981 0,#047857 65%,#022c22 100%);border:.5px solid rgba(255,255,255,.45);border-radius:1.5px;box-shadow:0 1.5px 0#022c22;position:relative;flex-shrink:0;margin:0;transition:opacity .2s ease,transform .2s ease}.wall-mini-tile-stack.double-stack::before{content:"";position:absolute;top:-2px;left:-.5px;right:-.5px;height:3.5px;background:#a7f3d0;opacity:.5;border-radius:1px 1px 0 0}.mahjong-dealing-overlay{position:absolute;inset:0;background:0 0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;pointer-events:none;transition:opacity .25s ease}.mahjong-dealing-overlay.active{opacity:1}.deal-wall-center-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;padding:12px 14px;background:rgba(4,120,87,.25);border:1.5px solid rgba(52,211,153,.45);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.7),inset 0 0 15px rgba(52,211,153,.2)}.deal-tile-back{width:14px;height:20px;background:linear-gradient(180deg,#34d399 0,#059669 60%,#022c22 100%);border:1px solid rgba(255,255,255,.6);border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.5);transition:transform .2s ease,opacity .2s ease}.deal-banner-title{font-size:.88rem;font-weight:800;color:#a7f3d0;text-shadow:0 0 10px rgba(52,211,153,.5);letter-spacing:1px;display:flex;align-items:center;gap:8px}.flying-deal-tile{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);width:16px;height:22px;background:linear-gradient(180deg,#34d399 0,#059669 100%);border:1px solid #fff;border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.8);z-index:600;pointer-events:none;opacity:.9;transition:all .22s cubic-bezier(.25,1,.5,1)}.flying-deal-tile.fly-to-bottom{transform:translate(-50%,120px) scale(1);opacity:1}.flying-deal-tile.fly-to-top{transform:translate(-50%,-120px) scale(.8);opacity:1}.flying-deal-tile.fly-to-left{transform:translate(-120px,-50%) scale(.8);opacity:1}.flying-deal-tile.fly-to-right{transform:translate(120px,-50%) scale(.8);opacity:1}.dealer-tag{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.65rem;font-weight:900;padding:1px 5px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.5);margin-left:2px}.mahjong-action-bar,.wind-tag{align-items:center;justify-content:center}.wind-tag{background:linear-gradient(135deg,rgba(16,185,129,.35),rgba(4,120,87,.55));border:1px solid rgba(52,211,153,.55);color:#a7f3d0;font-size:.62rem;font-weight:900;width:17px;height:17px;line-height:15px;text-align:center;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.5);margin-left:2px;flex-shrink:0;display:inline-flex}@media (max-width:768px){.seat-user-pill.vertical .dealer-tag,.seat-user-pill.vertical .wind-tag{writing-mode:horizontal-tb;transform:rotate(90deg);display:inline-flex;align-items:center;justify-content:center;margin:4px auto 2px;padding:2px 4px}}.mahjong-action-bar{display:flex;gap:6px;margin:0 auto 10px;width:fit-content;max-width:96%;padding:4px 6px;background:rgba(0,0,0,.55);border:1px solid rgba(52,211,153,.35);border-radius:3px;box-shadow:0 4px 12px rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:45}.btn-mahjong-act{background:linear-gradient(135deg,#059669 0,#047857 100%);border:1px solid #34d399;color:#ecfdf5;font-size:.78rem;font-weight:900;padding:6px 12px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;box-shadow:0 3px 8px rgba(5,150,105,.35);transition:all .18s ease;white-space:nowrap}.btn-mahjong-act:active,.btn-mahjong-discard.armed:active{transform:scale(.95)}.btn-mahjong-act.act-pass{background:rgba(100,116,139,.35);border-color:rgba(148,163,184,.5);color:#cbd5e1;box-shadow:none}.btn-mahjong-act.act-chow{background:linear-gradient(135deg,#059669,#047857)!important;border-color:#34d399!important;color:#ecfdf5!important;box-shadow:0 4px 12px rgba(5,150,105,.5),0 0 0 2px rgba(52,211,153,.3)!important}.bottom-info-row,.btn-mahjong-discard{align-items:center;justify-content:center}.bottom-info-row{display:flex;gap:6px;z-index:10;transform:translateY(-8px)}.btn-mahjong-discard{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5);font-size:.72rem;font-weight:800;height:25px;box-sizing:border-box;padding:0 10px;border-radius:2px;cursor:pointer;display:inline-flex;gap:4px;box-shadow:0 3px 8px rgba(0,0,0,.45);transition:all .2s ease;flex-shrink:0}.btn-mahjong-discard.armed{background:linear-gradient(135deg,#8b5a2b 0,#6b4423 60%,#4a2e15 100%);border:1px solid rgba(222,184,135,.5);color:#f3e2c7;box-shadow:0 3px 8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,235,205,.25)}.btn-mahjong-act.act-chow:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 18px rgba(5,150,105,.7)!important}.mahjong-action-toast-banner{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none}.action-toast-inner{font-family:"STKaiti","KaiTi","SimKai",serif,sans-serif;font-size:4rem;font-weight:900;color:#fef08a;text-shadow:0 0 10px #f59e0b,0 0 20px #d97706,0 0 40px #b45309,2px 2px 4px rgba(0,0,0,.9);letter-spacing:2px;animation:actionToastAnim .85s cubic-bezier(.175,.885,.32,1.275) forwards}.discard-chip.latest-discard{background:#fef08a!important;border:1.5px solid #ef4444!important;box-shadow:0 0 10px #ef4444,0 0 20px rgba(239,68,68,.6)!important;transform:scale(1.1);z-index:5;animation:latestPulse 1.2s infinite alternate}.melds-col,.melds-row{display:flex;gap:6px;align-items:center}.melds-col{flex-direction:column}.meld-group{display:flex;gap:1px;background:rgba(0,0,0,.35);border:1px solid rgba(52,211,153,.4);border-radius:3px;padding:2px}.meld-tile{padding:2px 4px;background:#fff;border-radius:2px;font-size:.7rem;font-weight:900;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,.4)}.chow-options-grid{display:flex;flex-direction:column;gap:8px}.chow-option-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#064e3b 0,#047857 100%);border:1px solid #34d399;border-radius:8px;padding:10px;color:#fff;font-size:1rem;font-weight:800;cursor:pointer;transition:all .2s ease}.chow-option-btn:hover{background:linear-gradient(135deg,#047857 0,#059669 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(52,211,153,.4)}.settlement-inner{max-width:440px!important;background:linear-gradient(180deg,#064e3b 0,#022c22 100%)!important;border:2px solid #34d399!important;box-shadow:0 20px 60px rgba(0,0,0,.9),0 0 30px rgba(52,211,153,.3)!important;border-radius:16px!important;overflow:hidden;color:#fff}.settlement-header{text-align:center;padding:20px 16px 12px;background:linear-gradient(180deg,rgba(52,211,153,.15)0,transparent 100%)}.settlement-icon{font-size:2.8rem;margin-bottom:4px;animation:bounce .6s cubic-bezier(.175,.885,.32,1.275)}.settlement-title{font-size:1.6rem;font-weight:900;color:#fef08a;text-shadow:0 2px 4px rgba(0,0,0,.8)}.settlement-subtitle{font-size:.85rem;color:#a7f3d0;margin-top:4px}.settlement-body{padding:12px 20px 20px;display:flex;flex-direction:column;gap:14px}.fan-details-card{background:rgba(0,0,0,.4);border:1px dashed rgba(52,211,153,.4);border-radius:10px;padding:12px;text-align:center}.fan-badge{display:inline-block;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.9rem;font-weight:900;padding:4px 14px;border-radius:20px;box-shadow:0 2px 6px rgba(245,158,11,.4);margin-bottom:8px}.fan-list{font-size:.82rem;color:#cbd5e1}.scores-table{display:flex;flex-direction:column;gap:6px;background:rgba(0,0,0,.3);border-radius:8px;padding:10px}.score-row-item{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;padding:4px 6px}.score-row-item .p-diff.positive{color:#4ade80;font-weight:900}.score-row-item .p-diff.negative{color:#f87171;font-weight:800}.settlement-actions{display:flex;gap:12px;margin-top:6px}.btn-settle-primary{flex:1;background:linear-gradient(135deg,#10b981 0,#059669 100%);border:0;border-radius:10px;padding:12px;color:#fff;font-size:.95rem;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(16,185,129,.4)}.btn-settle-primary:hover{background:linear-gradient(135deg,#34d399 0,#10b981 100%)}.btn-settle-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 18px;color:#e2e8f0;font-size:.9rem;font-weight:700;cursor:pointer}.btn-settle-secondary:hover{background:rgba(255,255,255,.2)}@media (min-width:769px){.mahjong-table-vertical-container{max-width:1060px!important;width:95vw!important}.vertical-mahjong-table{max-width:940px!important;aspect-ratio:4/3!important;max-height:82vh!important;max-height:82dvh!important;border:12px solid #4a150e!important;border-radius:14px!important;box-shadow:0 28px 80px rgba(0,0,0,.95),inset 0 0 45px rgba(0,0,0,.75),0 0 0 3px rgba(245,158,11,.35)!important}.seat-user-pill{font-size:.85rem!important;padding:5px 14px 5px 6px!important;border-radius:3px!important}.standing-tile-top{width:18px!important;height:26px!important}.standing-tile-left,.standing-tile-right{width:26px!important;height:18px!important}.table-center-zone{width:320px!important;height:320px!important}.discard-grid.grid-bottom{max-width:156px!important;bottom:-30px!important}.discard-grid.grid-top{max-width:156px!important;top:-30px!important}.discard-grid.grid-left,.discard-grid.grid-right{max-width:140px!important;max-height:120px!important}.discard-chip{width:22px!important;height:30px!important;border-radius:2.5px!important}.discard-chip .m-face.wan .w-num{font-size:.65rem!important}.discard-chip .m-face.wan .w-char{font-size:.55rem!important}.discard-chip .m-face.honor{font-size:.9rem!important}.discard-chip .m-face.bing-1 .rosette{width:14px!important;height:14px!important}.discard-chip .m-face.tiao-1 .sparrow{font-size:.95rem!important}.mahjong-compass-center{width:86px!important;height:86px!important}.compass-wind{font-size:.95rem!important;width:22px!important;height:22px!important}.compass-timer{width:28px!important;height:28px!important;font-size:.9rem!important}.mahjong-tiles-bottom{gap:3.5px!important;width:fit-content!important;max-width:100%!important}.mahjong-tile-card{width:44px!important;height:60px!important;max-width:none!important;min-width:0!important;aspect-ratio:auto!important;flex:0 0 auto!important;margin:0!important;border-radius:5px!important;box-shadow:0 5.5px 0#047857,0 10px 18px rgba(0,0,0,.6)!important}.mahjong-tile-card .m-face.wan .w-num{font-size:1.15rem!important}.mahjong-tile-card .m-face.wan .w-char{font-size:.95rem!important}.mahjong-tile-card .m-face.honor{font-size:1.5rem!important}.mahjong-tile-card .m-face.honor.baiban .baiban-inner{width:20px!important;height:30px!important}.mahjong-tile-card .m-face.bing-1 .rosette{width:24px!important;height:24px!important}.mahjong-tile-card .m-face.bing .dot{width:8px!important;height:8px!important}.mahjong-tile-card .m-face.tiao-1 .sparrow{font-size:1.6rem!important}.mahjong-tile-card .m-face.tiao .bar{width:4.5px!important;height:15px!important}}.compass-timer,.compass-wind,.mahjong-compass-center{display:flex;align-items:center;justify-content:center}.mahjong-compass-center{position:absolute;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2d1810 0,#170b07 65%,#080402 100%);border:2.5px solid #d97706;box-shadow:0 0 0 1.5px #fef08a,0 8px 24px rgba(0,0,0,.85),inset 0 0 12px rgba(245,158,11,.35);z-index:30;pointer-events:none;box-sizing:border-box}.mahjong-compass-center::before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border-radius:50%;border:1px dashed rgba(245,158,11,.45);pointer-events:none}.compass-timer,.compass-wind{font-weight:900}.compass-wind{position:absolute;font-family:"STKaiti","KaiTi","SimKai",serif,sans-serif;font-size:.78rem;color:#94a3b8;text-shadow:0 1px 2px rgba(0,0,0,.9);transition:color .3s ease;line-height:1;width:18px;height:18px;transform-origin:center center}.compass-wind.wind-n{top:3px;left:50%;transform:translateX(-50%)}.compass-wind.wind-s{bottom:3px;left:50%;transform:translateX(-50%)}.compass-wind.wind-w{left:3px;top:50%;transform:translateY(-50%)}.compass-wind.wind-e{right:3px;top:50%;transform:translateY(-50%)}.compass-wind.wind-n.active{color:#fef08a!important;text-shadow:0 0 8px #f59e0b,0 0 16px #d97706!important;animation:windPulseN 1.2s infinite alternate ease-in-out}.compass-wind.wind-e.active,.compass-wind.wind-s.active,.compass-wind.wind-w.active{color:#fef08a!important;text-shadow:0 0 8px #f59e0b,0 0 16px #d97706!important;animation:windPulseS 1.2s infinite alternate ease-in-out}.compass-wind.wind-e.active,.compass-wind.wind-w.active{animation:windPulseW 1.2s infinite alternate ease-in-out}.compass-wind.wind-e.active{animation:windPulseE 1.2s infinite alternate ease-in-out}.compass-timer{font-size:.74rem;font-family:"Outfit","Inter",monospace,sans-serif;color:#fef08a;text-shadow:0 0 6px rgba(245,158,11,.6);background:radial-gradient(circle,#059669 0,#047857 70%,#022c22 100%);border:1px solid rgba(52,211,153,.65);width:22px;height:22px;border-radius:50%;box-shadow:inset 0 1px 2px rgba(255,255,255,.4),0 2px 5px rgba(0,0,0,.6)}body.theme-go{background:linear-gradient(135deg,#101418 0,#05070a 100%)}.game-nav-btn.active#btnNavGo{background:linear-gradient(135deg,rgba(255,255,255,.16)0,rgba(10,14,18,.95) 100%);border-color:rgba(226,232,240,.5);color:#f8fafc;box-shadow:0 4px 14px rgba(255,255,255,.08)}.hero-lobby-card.theme-ink{background:linear-gradient(180deg,#14181d 0,#07090c 100%)!important;border:1px solid rgba(148,163,184,.3)!important;box-shadow:0 16px 48px rgba(0,0,0,.9),0 0 30px rgba(148,163,184,.08)!important}.hero-lobby-card.theme-ink .lobby-header.go-ink-header{background:linear-gradient(180deg,#d49c53 0,#b87b32 60%,#9e6423 100%)!important;border-bottom:2px solid #5a320c!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 10px rgba(0,0,0,.4)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 20px 16px 26px!important;text-align:left!important}.hero-lobby-card.theme-ink .brand-title{color:#2b1103!important;background:0 0!important;-webkit-text-fill-color:#2b1103!important;text-shadow:0 1px 1px rgba(255,255,255,.35)!important;font-size:1.35rem!important;letter-spacing:1.5px!important}.hero-lobby-card.theme-ink .brand-subtitle{color:#5c300c!important;font-weight:900!important;font-size:.64rem!important;letter-spacing:1px!important}.hero-lobby-card.theme-ink .badge-tag.ink{background:rgba(43,17,3,.14)!important;border-color:rgba(74,36,8,.45)!important;color:#2b1103!important;font-weight:800!important;margin-top:2px}.btn-size-pick{flex:1;padding:8px 0;border-radius:10px;font-size:.85rem;font-weight:800;cursor:pointer;border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.04);color:#94a3b8;transition:all .2s ease;user-select:none}.btn-size-pick.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;color:#fff;box-shadow:0 3px 10px rgba(16,185,129,.3)}.go-size-hint{margin-top:8px;font-size:.7rem;color:#64748b;text-align:center}.go-container,.go-header-area,.go-screen-wrap{display:flex;flex-direction:column;align-items:center}.go-screen-wrap{background:linear-gradient(135deg,#101418 0,#05070a 100%);justify-content:center;padding:10px;z-index:1000}.go-screen-wrap.active{opacity:1!important;pointer-events:auto!important}.go-container,.go-header-area{width:100%}.go-container{max-width:480px;gap:10px}.go-header-area{gap:6px}.go-turn-status.top-status{background:rgba(148,163,184,.14);border-radius:16px;padding:4px 14px;font-size:.78rem;color:#e2e8f0;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:2}.go-header-bar,.go-timer-badge{align-items:center;border-radius:12px}.go-timer-badge,.go-turn-status.top-status{border:1px solid rgba(203,213,225,.4);font-weight:800}.go-timer-badge{background:rgba(15,23,42,.85);padding:1px 8px;font-size:.72rem;color:#cbd5e1;display:inline-flex;gap:2px;margin-left:4px;line-height:1.4}.go-timer-badge.urgent{border-color:rgba(239,68,68,.7);color:#fca5a5;animation:timerUrgentPulse .6s ease-in-out infinite alternate}.go-header-bar{width:100%;display:flex;justify-content:space-between;background:rgba(10,14,18,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(203,213,225,.22);padding:8px 12px;box-sizing:border-box;box-shadow:0 8px 24px rgba(0,0,0,.45);gap:10px}.go-vs-badge{font-size:.85rem;font-weight:900;font-style:italic;color:rgba(203,213,225,.5);text-shadow:0 0 8px rgba(203,213,225,.25);user-select:none;flex-shrink:0}.go-player-pill{flex:1;display:flex;flex-direction:column;gap:4px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .25s ease;max-width:46%;min-width:0}.go-player-pill.turn-active{background:linear-gradient(135deg,rgba(148,163,184,.2)0,rgba(10,14,18,.7) 100%)!important;border-color:rgba(226,232,240,.55)!important;box-shadow:0 0 14px rgba(148,163,184,.25)!important;transform:scale(1.02)}.go-captures-bar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.go-capture-pill,.go-komi-pill{font-weight:700;border-radius:14px}.go-capture-pill{font-size:.75rem;padding:3px 12px;display:inline-flex;align-items:center;gap:4px}.go-capture-pill b{font-size:.85rem}.go-capture-pill.black-pill{background:rgba(15,15,18,.85);border:1px solid rgba(255,255,255,.25);color:#e2e8f0}.go-capture-pill.white-pill{background:rgba(240,242,245,.9);border:1px solid rgba(255,255,255,.5);color:#1e293b}.go-komi-pill{font-size:.7rem;padding:3px 10px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.3);color:#94a3b8}.go-board-wrapper{background-color:#d49c53;background-image:radial-gradient(ellipse 90% 70%at 50% 50%,#eac285 0,#ca9046 70%,#995f21 100%),repeating-linear-gradient(0deg,rgba(74,37,0,.03),rgba(74,37,0,.03) 2px,transparent 2px,transparent 6px);border:7px solid #4a2408;border-radius:8px;padding:12px;box-shadow:0 20px 50px rgba(0,0,0,.9),inset 0 0 15px rgba(60,30,5,.5),0 0 0 2px rgba(255,215,0,.2);position:relative}.go-board{display:grid;grid-template-columns:repeat(19,1fr);grid-template-rows:repeat(19,1fr);width:min(calc(100vw - 36px),340px);height:min(calc(100vw - 36px),340px);position:relative;user-select:none;touch-action:manipulation;background:0 0}@media (max-width:768px){.go-board-wrapper{padding:6px!important}}@media (min-width:768px){.go-container{max-width:600px;gap:14px}.go-board-wrapper{padding:16px;border-width:8px}.go-board{width:480px;height:480px}.go-header-bar{padding:12px 18px}.go-turn-status{font-size:.88rem;padding:6px 14px}}.go-cell{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.go-cell::after,.go-cell::before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:rgba(50,24,4,.85);z-index:1}.go-cell::after{left:50%;top:0;width:1px;height:100%}.go-cell.col-left::before{left:50%!important;width:50%!important}.go-cell.col-right::before{left:0!important;width:50%!important}.go-cell.row-top::after{top:50%!important;height:50%!important}.go-cell.row-bottom::after{top:0!important;height:50%!important}.go-stone{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:86%;height:86%;border-radius:50%;z-index:5;border:0!important;box-shadow:0 3px 7px rgba(0,0,0,.65);transition:transform .15s cubic-bezier(.175,.885,.32,1.275);animation:stonePop .2s ease}.go-stone.black{background:radial-gradient(circle at 35% 35%,#52525b 0,#18181b 65%,#000 100%);border:0!important}.go-stone.white{background:radial-gradient(circle at 35% 35%,#fff 0,#f4f4f5 60%,#cbd5e1 100%);border:0!important}.go-stone.last-move::after{content:"";width:6px;height:6px;border-radius:50%;background:#ff2a2a;box-shadow:0 0 6px #ff2a2a}.go-stone.hover-preview{opacity:.45;pointer-events:none;border:0!important;box-shadow:0 2px 6px rgba(0,0,0,.3);animation:none}.go-pass-marker,.go-stone.last-move::after,.go-stone.preview{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.go-pass-marker,.go-stone.preview{pointer-events:none}.go-stone.preview{width:86%;height:86%;opacity:.55;border:0!important;box-shadow:0 2px 6px rgba(0,0,0,.35)}.go-pass-marker{width:70%;height:70%;border-radius:50%;border:2px dashed rgba(0,0,0,.55);z-index:4;animation:passPulse 1.2s ease-in-out infinite alternate}.btn-go-action,.go-actions-bar{display:flex;align-items:center;justify-content:center}.go-actions-bar{flex-wrap:wrap;gap:8px;width:100%;margin-top:10px;margin-bottom:12px}.btn-go-action{padding:8px 14px;border-radius:18px;font-size:.8rem;font-weight:800;cursor:pointer;border:1px solid rgba(148,163,184,.3);background:rgba(255,255,255,.05);color:#cbd5e1;gap:6px;transition:all .2s ease;user-select:none}.btn-go-action:hover:not(.disabled){background:rgba(255,255,255,.12);border-color:rgba(226,232,240,.55);color:#fff;transform:translateY(-1px)}.btn-go-action.pass:hover:not(.disabled){background:rgba(16,185,129,.18);border-color:rgba(52,211,153,.6);color:#6ee7b7}.btn-go-action.undo:hover:not(.disabled){background:rgba(245,158,11,.16);border-color:rgba(251,191,36,.6);color:#fcd34d}.btn-go-action.score:hover:not(.disabled){background:rgba(59,130,246,.16);border-color:rgba(96,165,250,.6);color:#93c5fd}.btn-go-action.resign:hover:not(.disabled){background:rgba(239,68,68,.16);border-color:rgba(248,113,113,.6);color:#fca5a5}.btn-go-action.rematch{background:linear-gradient(135deg,#10b981 0,#059669 100%);border-color:#34d399;color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.35);padding:9px 24px;font-size:.88rem}.btn-go-action.rematch:hover:not(.disabled){background:linear-gradient(135deg,#34d399 0,#10b981 100%);box-shadow:0 6px 20px rgba(16,185,129,.5)}.btn-go-action.disabled{opacity:.45;cursor:not-allowed!important;pointer-events:none!important;background:rgba(30,41,59,.6)!important;border-color:rgba(148,163,184,.2)!important;color:#94a3b8!important;box-shadow:none!important}.go-score-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:10px;font-size:.88rem;font-weight:700}.go-score-row.black-row{background:rgba(15,15,18,.7);border:1px solid rgba(255,255,255,.2);color:#e2e8f0}.go-score-row.white-row{background:rgba(240,242,245,.92);border:1px solid rgba(255,255,255,.6);color:#1e293b}@media (max-width:768px){.game-switch-nav{width:97%;gap:5px;margin:8px auto 4px;max-width:97%}.game-nav-btn{padding:6px 3px;font-size:.68rem;gap:3px;border-radius:6px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.game-nav-btn i{font-size:.72rem;flex-shrink:0}}@media (max-width:360px){.game-switch-nav{gap:4px}.game-nav-btn{font-size:.62rem;padding:6px 2px}.game-nav-btn i{font-size:.66rem}}.mahjong-act-timer{font-size:.7rem;font-weight:900;color:#fcd34d;background:rgba(0,0,0,.6);border:1px solid rgba(252,211,77,.45);border-radius:3px;padding:4px 8px;margin-left:4px;white-space:nowrap;animation:actTimerPulse .8s ease-in-out infinite alternate}.mahjong-act-timer.urgent{color:#fca5a5;border-color:rgba(248,113,113,.6)}@media (max-width:768px){#lobbyScreen{align-items:flex-start!important;justify-content:flex-start!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 12px 34px!important;scrollbar-width:none;-ms-overflow-style:none}.hero-lobby-card{flex-shrink:0!important;height:auto!important}#lobbyScreen::-webkit-scrollbar{display:none}}.lobby-card-out{animation:lobbyCardOut .26s ease forwards}.lobby-card-in{animation:lobbyCardIn .32s ease}.lobby-card-out-right{animation:lobbyCardOutRight .26s ease forwards}.lobby-card-in-left{animation:lobbyCardInLeft .32s ease}body.theme-xiangqi{background:linear-gradient(135deg,#14100f 0,#05070a 100%)}.game-nav-btn.active#btnNavXiangqi{background:linear-gradient(135deg,rgba(220,38,38,.28)0,rgba(15,10,8,.95) 100%);border-color:rgba(220,38,38,.55);color:#fecaca;box-shadow:0 4px 14px rgba(220,38,38,.2)}.hero-lobby-card.theme-ink .lobby-header.xiangqi-header{background:linear-gradient(180deg,#a03434 0,#7c2222 60%,#571414 100%)!important;border-bottom:2px solid #2b0a0a!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 10px rgba(0,0,0,.4)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 20px 16px 26px!important;text-align:left!important}.hero-lobby-card.theme-ink .xiangqi-header .brand-title{color:#fde8e8!important;background:0 0!important;-webkit-text-fill-color:#fde8e8!important;text-shadow:0 1px 2px rgba(0,0,0,.55)!important}.hero-lobby-card.theme-ink .xiangqi-header .brand-subtitle{color:#fecaca!important;font-weight:900!important;font-size:.64rem!important;letter-spacing:1px!important}.hero-lobby-card.theme-ink .xiangqi-header .badge-tag.ink{background:rgba(0,0,0,.25)!important;border-color:rgba(254,202,202,.4)!important;color:#fecaca!important;font-weight:800!important;margin-top:2px}.mini-stone.xq-red-stone{background:radial-gradient(circle at 35% 35%,#f87171 0,#dc2626 60%,#991b1b 100%);border:1px solid #7f1d1d}.xq-container,.xq-header-area,.xq-screen-wrap{display:flex;flex-direction:column;align-items:center}.xq-screen-wrap{background:linear-gradient(135deg,#14100f 0,#05070a 100%);justify-content:center;padding:10px;z-index:1000}.xq-screen-wrap.active{opacity:1!important;pointer-events:auto!important}.xq-container,.xq-header-area{width:100%}.xq-container{max-width:480px;gap:10px}.xq-header-area{gap:6px}.xq-turn-status.top-status{background:linear-gradient(180deg,rgba(60,34,12,.65),rgba(30,16,6,.85));border:1px solid rgba(212,156,83,.45);border-radius:16px;padding:4px 16px;font-size:.78rem;font-weight:800;color:#f5e6c8;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:2}.xq-header-bar,.xq-timer-badge{align-items:center;border-radius:12px}.xq-timer-badge{background:rgba(15,23,42,.85);border:1px solid rgba(203,213,225,.4);padding:1px 8px;font-size:.72rem;font-weight:800;color:#cbd5e1;display:inline-flex;gap:2px;margin-left:4px;line-height:1.4}.xq-timer-badge.urgent{border-color:rgba(239,68,68,.7);color:#fca5a5;animation:timerUrgentPulse .6s ease-in-out infinite alternate}.xq-header-bar{width:100%;display:flex;justify-content:space-between;background:linear-gradient(180deg,rgba(46,26,10,.9),rgba(22,12,5,.95));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(212,156,83,.3);padding:8px 12px;box-sizing:border-box;box-shadow:0 8px 24px rgba(0,0,0,.5);gap:10px}.xq-vs-badge{font-size:.9rem;font-weight:900;font-style:italic;color:rgba(245,230,200,.55);text-shadow:0 0 8px rgba(212,156,83,.4);user-select:none;flex-shrink:0}.xq-player-pill{flex:1;display:flex;flex-direction:column;gap:4px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .25s ease;max-width:46%;min-width:0}.xq-player-pill.turn-active{background:linear-gradient(135deg,rgba(212,156,83,.22)0,rgba(30,16,6,.8) 100%)!important;border-color:rgba(245,230,200,.55)!important;box-shadow:0 0 14px rgba(212,156,83,.25)!important;transform:scale(1.02)}.xq-mini-piece{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;border:1px solid rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.5),inset 0 1px 2px rgba(255,255,255,.3)}.xq-mini-piece.red-piece{background:radial-gradient(circle at 35% 30%,#fecaca,#e11d48 75%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4)}.xq-mini-piece.black-piece{background:radial-gradient(circle at 35% 30%,#52525b,#18181b 75%);color:#f8fafc;text-shadow:0 1px 1px rgba(0,0,0,.6)}.xq-board-wrapper{background-color:#d49c53;background-image:linear-gradient(165deg,rgba(255,255,255,.22)0,rgba(255,255,255,0) 32%,rgba(120,60,10,.12) 100%),radial-gradient(ellipse 95% 75%at 50% 42%,#f0ca8c 0,#d49c53 55%,#a06a24 100%),repeating-linear-gradient(2deg,rgba(110,55,10,.05)0,rgba(110,55,10,.05) 2px,transparent 2px,transparent 8px),repeating-linear-gradient(92deg,rgba(110,55,10,.04)0,rgba(110,55,10,.04) 3px,transparent 3px,transparent 10px);border:8px solid #4a2408;border-radius:10px;padding:12px;box-shadow:0 24px 60px rgba(0,0,0,.9),0 4px 12px rgba(0,0,0,.6),inset 0 2px 6px rgba(255,255,255,.3),inset 0-8px 18px rgba(70,32,5,.55),0 0 0 3px #6b3410,0 0 0 4px rgba(212,156,83,.35);position:relative}.xq-board-wrapper::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,215,0,.35);border-radius:6px;pointer-events:none;z-index:1}.xq-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(10,1fr);width:min(calc(100vw - 40px),330px);height:min(calc((100vw - 40px)*10/9),366px);position:relative;user-select:none;touch-action:manipulation}@media (min-width:768px){.xq-container{max-width:560px;gap:14px}.xq-board-wrapper{padding:16px;border-width:9px}.xq-board{width:460px;height:511px}}.xq-cell{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.xq-board-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.xq-board-svg line,.xq-board-svg path{stroke:rgba(55,28,5,.9);stroke-width:.02;stroke-linecap:round}.xq-board-svg path{stroke:rgba(55,28,5,.6);stroke-width:.018}.xq-piece,.xq-river{position:absolute;display:flex;align-items:center;font-weight:900}.xq-river{left:5%;right:5%;top:44%;height:12%;z-index:0;justify-content:space-between;font-size:.78rem;font-style:italic;color:rgba(74,37,0,.75);letter-spacing:3px;pointer-events:none;text-shadow:0 1px 0 rgba(255,235,200,.4)}.xq-piece{top:50%;left:50%;transform:translate(-50%,-50%);width:10.4%;aspect-ratio:1;height:auto;border-radius:50%;justify-content:center;font-family:"Noto Serif SC","STKaiti","KaiTi",serif;font-size:clamp(.62rem,2.5vw,1.1rem);z-index:5;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;user-select:none;background-image:radial-gradient(circle at 36% 28%,#fdf6e3 0,#f0dfae 38%,#ddbd7e 72%,#c69d55 100%),repeating-linear-gradient(115deg,rgba(150,100,40,.05)0,rgba(150,100,40,.05) 1px,transparent 1px,transparent 4px);box-shadow:0 3px 6px rgba(0,0,0,.5),0 6px 12px rgba(0,0,0,.2),inset 0 2px 3px rgba(255,255,255,.6),inset 0-2px 4px rgba(120,75,25,.25)}.xq-center-banner,.xq-piece::before{position:absolute;pointer-events:none}.xq-piece::before{content:"";inset:6%;border-radius:50%;border:1.2px solid currentColor;opacity:.9;box-sizing:border-box}.xq-piece.red{color:#b91c1c;text-shadow:0 1px 0 rgba(255,255,255,.35)}.xq-piece.black{color:#1c1917;text-shadow:0 1px 0 rgba(255,255,255,.4)}.xq-piece.selected{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 3px rgba(250,204,21,.9),0 0 16px rgba(250,204,21,.45),0 6px 12px rgba(0,0,0,.5),inset 0 2px 3px rgba(255,255,255,.5);z-index:8}.xq-piece.last-move{box-shadow:0 0 0 2px rgba(250,204,21,.95),0 0 12px rgba(250,204,21,.4),0 4px 10px rgba(0,0,0,.45),inset 0 2px 3px rgba(255,255,255,.5)}.xq-piece.in-check{animation:xqCheckPulse .5s ease-in-out infinite alternate}.xq-center-banner{top:42%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.75);border:1px solid rgba(250,204,21,.5);color:#fde68a;padding:8px 18px;border-radius:20px;font-size:.9rem;font-weight:900;z-index:30;white-space:nowrap;animation:xqBannerFade 1.4s ease forwards}.btn-xq-action,.xq-actions-bar{display:flex;align-items:center;justify-content:center}.xq-actions-bar{flex-wrap:wrap;gap:8px;width:100%;margin-top:8px;margin-bottom:12px}.btn-xq-action{padding:8px 16px;border-radius:18px;font-size:.8rem;font-weight:800;cursor:pointer;border:1px solid rgba(212,156,83,.35);background:linear-gradient(180deg,rgba(60,34,12,.5),rgba(25,14,5,.7));color:#e8d5a0;gap:6px;transition:all .2s ease;user-select:none}.btn-xq-action:hover:not(.disabled){background:linear-gradient(180deg,rgba(90,55,20,.6),rgba(35,20,7,.8));border-color:rgba(245,230,200,.6);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.4)}.btn-xq-action.undo:hover:not(.disabled){border-color:rgba(251,191,36,.6);color:#fcd34d}.btn-xq-action.resign:hover:not(.disabled){border-color:rgba(248,113,113,.6);color:#fca5a5}.btn-xq-action.rematch{background:linear-gradient(135deg,#10b981 0,#059669 100%);border-color:#34d399;color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.35);padding:9px 24px;font-size:.88rem}.btn-xq-action.disabled{opacity:.45;cursor:not-allowed!important;pointer-events:none!important}#xiangqiLobbyCard{background:linear-gradient(180deg,#14181d 0,#07090c 100%)!important;border:1px solid rgba(148,163,184,.3)!important;box-shadow:0 16px 48px rgba(0,0,0,.9),0 0 30px rgba(148,163,184,.08)!important;display:block;min-height:300px}