*{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;height:100%;overflow:hidden}:root{--bg-0: #060b16;--bg-1: #0a1226;--panel: rgba(10, 20, 40, .78);--border: rgba(90, 140, 220, .28);--border-strong: rgba(110, 160, 235, .55);--accent: #4d8dff;--accent-2: #2f6fe0;--text: #e8eefc;--text-dim: #7d8bab;--text-muted: #5f6f91;--gold: #e7b955;--red: #ff6b81;--card-face: #cfdcff}body{font-family:Segoe UI,Tahoma,sans-serif;background:var(--bg-0);color:var(--text);-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(45,90,180,.12) 0%,transparent 60%),radial-gradient(ellipse at 50% 100%,rgba(30,60,130,.1) 0%,transparent 55%),radial-gradient(ellipse at 15% 50%,rgba(40,80,160,.06) 0%,transparent 45%),radial-gradient(ellipse at 85% 50%,rgba(40,80,160,.06) 0%,transparent 45%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(80,120,200,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(80,120,200,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.screen{display:none;position:relative;z-index:1;animation:fadeIn .5s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#menu-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 40px;gap:40px}.menu-top{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-width:400px;padding:0 32px}.menu-user-icon{width:120px;height:120px;border-radius:24px;background:linear-gradient(135deg,#101c34,#0a1226);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text);box-shadow:0 0 12px #4d8dff40;flex-shrink:0}.menu-user-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.menu-nickname{font-size:26px;font-weight:700;color:var(--text)}.menu-balance{font-size:18px;color:#4caf50;font-weight:700}.menu-buttons{display:flex;flex-direction:column;gap:14px;max-width:400px;width:100%}.menu-row{display:flex;flex-direction:row;gap:12px;width:100%}.menu-row .btn{flex:1;min-width:0;word-break:break-word;white-space:normal;line-height:1.2}.divider{display:flex;align-items:center;width:100%;gap:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-strong)}.divider-text{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;letter-spacing:.5px}.btn{padding:16px 32px;font-size:17px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .25s ease;letter-spacing:.5px;box-shadow:0 4px 15px #00000080;position:relative}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4d8dff40}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#5b9bff,#2f5fc0);color:#051023;border:1px solid var(--accent)}.btn-primary:hover{box-shadow:0 0 22px #4d8dff66,0 8px 20px #00000080}.btn-secondary{background:linear-gradient(135deg,#101c34,#0a1226);color:var(--accent);border:1px solid var(--border-strong)}.btn-secondary:hover{background:linear-gradient(135deg,#4d8dff,#2f5fc0);color:#051023}.btn-leave{background:transparent;color:#ff4d4d;border:2px solid #ff4d4d;box-shadow:0 4px 15px #ff4d4d33}.btn-leave:hover{background:#ff4d4d1a;box-shadow:0 4px 15px #ff4d4d66}.btn-danger{background:linear-gradient(135deg,#101c34,#0a1226);color:var(--red);border:1px solid rgba(255,107,129,.6)}.btn-danger:hover{box-shadow:0 0 16px #ff6b814d}.btn-small{padding:6px 12px;font-size:13px;background:#4d8dff1a;color:var(--accent);border:1px solid var(--border);border-radius:6px;cursor:pointer;margin-left:10px}.btn-small:hover{background:#4d8dff33}.stats{display:flex;gap:30px;margin-top:50px;padding:20px 40px;background:#060c18b3;border-radius:16px;border:1px solid var(--border);box-shadow:0 0 16px #4d8dff14}.stat{display:flex;flex-direction:column;align-items:center}.stat span{font-size:32px;font-weight:700;color:var(--accent);text-shadow:0 0 8px rgba(77,141,255,.35)}.stat small{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}#room-screen{max-width:600px;margin:60px auto;padding:40px;background:#060c18cc;border-radius:20px;border:1px solid var(--border);text-align:center;box-shadow:0 0 24px #4d8dff14}#room-screen h2{margin-bottom:20px;font-size:28px;color:var(--accent);text-shadow:0 0 8px rgba(77,141,255,.3)}.room-code{font-size:20px;padding:20px;background:#4d8dff0d;border:2px dashed var(--accent);border-radius:12px;margin-bottom:20px}#room-code{font-weight:700;color:var(--accent);font-size:24px;letter-spacing:2px;text-shadow:0 0 8px rgba(77,141,255,.35)}.players-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.player-item{padding:12px 20px;background:#4d8dff0d;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:10px;color:var(--accent)}.player-item:before{content:"◆";font-size:16px}.game-screen{position:relative;padding:8px 8px 0;max-width:1200px;margin:0 auto;height:100dvh;display:none;flex-direction:column;overflow:hidden}.game-screen.active{display:flex}.top-bar{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;padding:8px 12px;margin-bottom:0;position:relative;z-index:10}.opponents-container{display:flex;gap:12px;align-items:center}.waiting-message{font-size:12px;color:var(--text-muted);margin-top:8px;text-align:center}.avatar-badge-wrap{position:relative;flex-shrink:0}.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#101c34,#0a1226);display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid var(--border-strong);box-shadow:0 0 10px #4d8dff40;flex-shrink:0;position:relative;z-index:1}.top-bar .avatar{border:2px solid rgba(77,141,255,.25)}.avatar-turn{border-color:#3ddc73!important;box-shadow:0 0 16px #3ddc7380!important}.avatar-defending{border-color:#ff6b81!important;box-shadow:0 0 16px #ff6b8180!important}.timer-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:15px;padding:3px;background:conic-gradient(#ff6b81 calc(var(--timer-pct, 100) * 1%),transparent calc(var(--timer-pct, 100) * 1%));-webkit-mask:linear-gradient(black,black) content-box,linear-gradient(black,black);-webkit-mask-composite:xor;mask:linear-gradient(black,black) content-box,linear-gradient(black,black);mask-composite:exclude;pointer-events:none;z-index:0}.btn-surrender{padding:8px 16px;font-size:12px;flex-shrink:0;position:absolute;right:12px}.turn-indicator{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);z-index:1;background:linear-gradient(135deg,#3ddc73,#2fb366);color:#051023;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 0 8px #3ddc7366;animation:pulse 1.5s ease-in-out infinite}.game-actions .turn-indicator{bottom:auto;top:100%;margin-top:2px}.badge-bito,.badge-pass{position:absolute;top:-24px;left:50%;transform:translate(-50%);z-index:2;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;pointer-events:none}.badge-bito{background:#fff;color:#051023;box-shadow:0 0 8px #fff6}.badge-pass{background:#fff8dc;color:#5a4a1a;box-shadow:0 0 8px #fff8dc80}.badge-ready{position:absolute;top:-24px;left:50%;transform:translate(-50%);z-index:2;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;pointer-events:none;background:#4caf50;color:#fff;box-shadow:0 0 8px #4caf5080}.btn-ready{font-size:14px!important;font-weight:700;background:transparent!important;color:#4caf50!important;border-color:#4caf50!important;box-shadow:0 0 6px #4caf5080!important;padding:6px 20px}.btn-ready:hover{color:#66bb6a!important;border-color:#66bb6a!important;box-shadow:0 0 10px #4caf50b3!important}.opponents-container .badge-bito,.opponents-container .badge-pass,.opponents-container .badge-ready,.action-center .badge-ready{top:-16px}@keyframes pulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.8;transform:translate(-50%) scale(1.05)}}.opponent-area{position:relative;width:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;padding-top:36px}.opponent-hand{position:relative;width:100%;z-index:2;min-height:100px;margin-top:-40px}.opponent-hand .card-back{position:absolute;left:50%;margin-left:0;transform:translate(-50%) rotate(0);transform-origin:50% 0%}.opponent-avatar-section{z-index:3;display:flex;justify-content:center;align-items:center;gap:12px;padding-bottom:0}.avatar-opponent{width:56px!important;height:56px!important;font-size:24px!important;border-radius:14px!important;border:none!important;box-shadow:0 0 0 3px #4d8dff4d!important}.avatar-empty{background:transparent!important;border:2px dashed rgba(77,141,255,.35)!important;box-shadow:none!important}.table-center{position:relative;display:flex;align-items:stretch;justify-content:center;padding:4px;flex:1;min-height:0;z-index:5}.deck-area{position:absolute;left:-53px;top:340px;z-index:6}.deck-area .deck{position:relative!important;width:95px;height:135px}.deck-back-pattern{background:repeating-linear-gradient(45deg,#eef4ee 0,#eef4ee 3px,#2f8f5b 3px,#2f8f5b 6px),repeating-linear-gradient(-45deg,#eef4ee 0,#eef4ee 3px,#2f8f5b 3px,#2f8f5b 6px);background-blend-mode:multiply;background-color:#f4f8f4}.deck-card{position:absolute;top:0;right:0;bottom:0;left:0;width:95px;height:135px;border-radius:6px;border:2px solid #fff;box-shadow:0 3px 8px #0000008c}.deck-card-1{transform:rotate(10deg) translate(-1px,1px);z-index:2}.deck-card-2{transform:rotate(10deg) translate(1px,-1px);z-index:3}.deck-card-3{transform:rotate(10deg);z-index:4}.deck-trump-peek{position:absolute;top:18px;left:155%;z-index:1;transform:rotate(90deg);transform-origin:top left}.deck-trump-peek .card{cursor:default!important;box-shadow:0 3px 8px #0000008c!important;animation:none!important}.deck-trump-peek .card.disabled{cursor:default!important}.empty-deck-icon{position:absolute;top:32px;left:103px;font-size:36px;line-height:1;opacity:.7;color:var(--text)}.empty-deck-icon.red{color:#a3122d}.empty-deck-icon.black{color:#ccc}.deck-count{position:absolute;left:79px;top:-22px;font-size:15px;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.85);white-space:nowrap;line-height:1;z-index:5}.deck-count.empty{opacity:.3}.discard-area{position:absolute;left:auto;right:-47px;top:340px;width:0;height:0;z-index:6}.discard-card{position:absolute;top:0;right:0;bottom:0;left:20px;width:76px;height:108px;border-radius:6px;border:2px solid #fff;box-shadow:0 3px 8px #0000008c;transform-origin:top left}@keyframes discardCardIn{0%{opacity:0}to{opacity:1}}@keyframes discardPulse{0%{filter:brightness(1)}25%{filter:brightness(1.08)}to{filter:brightness(1)}}.discard-card{animation:discardCardIn .5s ease-out both}.discard-pulse{animation:discardPulse 1s cubic-bezier(.4,0,.2,1)}.trump-card.red{color:#a3122d}.trump-card.black{color:#16161a}.trump-suit-icon{font-size:inherit;font-weight:inherit;font-family:inherit}.trump-indicator{display:none}.table{flex:1;min-width:0;min-height:220px;border:none;border-radius:16px;padding:24px 12px 12px;display:grid;grid-template-columns:repeat(3,max-content);justify-content:center;align-content:flex-start;gap:28px 48px;position:relative;transition:background .3s}.table.dragover{background:#4d8dff1a}.table-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#7896c866;font-size:15px;text-align:center;width:80%;pointer-events:none}.table-pair{position:relative;width:95px;height:135px}.table-pair .card{transition:none!important}.table-pair .card.attack{transform:rotate(-6deg)}.table-pair .card.defense{position:absolute;top:18px;left:18px;transform:rotate(6deg)}.table-pair.leaving .card{transition:none!important;animation:none!important}.table-pair.leaving .card.defense{transition:none!important}.game-actions{z-index:26;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:60px;padding:10px 0;margin-top:auto;background:#060b16;border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -6px 20px #00000080}.action-buttons-left{grid-column:1;display:flex;flex-direction:row;gap:12px;justify-content:center;align-items:center;padding-left:0}.action-buttons-right{grid-column:3;display:flex;flex-direction:row;gap:12px;justify-content:center;align-items:center;padding-right:0}.action-text-btn{background:#4d8dff24;border:1px solid var(--border);border-radius:16px;color:var(--text);font-size:13px;font-weight:700;letter-spacing:.3px;cursor:pointer;padding:12px 20px;height:50px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;transition:color .2s ease,background .2s ease,transform .15s ease;white-space:nowrap}.action-text-btn:hover{color:var(--accent);background:#4d8dff38}.action-text-btn:active{transform:scale(.95)}.your-turn-text{color:var(--text);font-size:16px;font-weight:700;white-space:nowrap}#btn-done{font-size:12px}#btn-take{font-size:11px}.btn-surrender{background:#ff6b8124;border-color:#ff6b814d;color:var(--red)}.btn-surrender:hover{color:var(--red);background:#ff6b8138;border-color:var(--red)}.action-center{grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;justify-self:center}.action-name{font-size:14px;color:var(--text-dim);font-weight:600;white-space:nowrap}.avatar-square{border-radius:18px;border:none!important;position:relative}#turn-avatar{width:56px!important;height:56px!important;font-size:24px!important;border-radius:14px!important;box-shadow:0 0 10px #3ddc7359}.avatar-square.turn-active:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:21px;padding:3px;background:conic-gradient(#3ddc73 calc(var(--timer-pct, 100) * 1%),transparent calc(var(--timer-pct, 100) * 1%));-webkit-mask:linear-gradient(black,black) content-box,linear-gradient(black,black);-webkit-mask-composite:xor;mask:linear-gradient(black,black) content-box,linear-gradient(black,black);mask-composite:exclude;pointer-events:none;z-index:0}@keyframes handCardAppear{0%{opacity:0;transform:translateY(90px) scale(.45) rotate(20deg)}to{opacity:1}}.player-hand{position:relative;z-index:25;display:flex;justify-content:center;align-items:flex-end;min-height:0;padding:0 16px;gap:0;margin-bottom:-40px;transform:scale(var(--hand-scale, 1));transform-origin:bottom center;transition:transform .25s ease}.card{width:95px;height:135px;background:linear-gradient(165deg,#fffdf6,#f3ede0);border-radius:8px;border:1px solid #b8ae94;outline:1px solid rgba(20,20,15,.1);outline-offset:-5px;box-shadow:0 6px 14px #00000080,inset 0 0 0 1px #fff9;display:flex;flex-direction:column;justify-content:space-between;padding:7px 9px;font-weight:700;font-family:Georgia,Times New Roman,serif;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;-webkit-user-select:none;transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease;position:relative;font-size:24px;flex-shrink:0}.player-hand .card{margin-left:var(--hand-overlap, -22px);transform-origin:bottom center}.player-hand .card:first-child{margin-left:6px}.player-hand .card:nth-child(1){transform:rotate(-12deg) translateY(8px)}.player-hand .card:nth-child(2){transform:rotate(-9deg) translateY(5px)}.player-hand .card:nth-child(3){transform:rotate(-6deg) translateY(2px)}.player-hand .card:nth-child(4){transform:rotate(-3deg)}.player-hand .card:nth-child(5){transform:rotate(0)}.player-hand .card:nth-child(6){transform:rotate(3deg)}.player-hand .card:nth-child(7){transform:rotate(6deg) translateY(2px)}.player-hand .card:nth-child(8){transform:rotate(9deg) translateY(5px)}.player-hand .card:nth-child(9){transform:rotate(12deg) translateY(8px)}.player-hand .card:nth-child(n+10){transform:rotate(12deg) translateY(8px)}.player-hand .card.hover-peek{transform:translateY(-34px) rotate(0) scale(1.14)!important;box-shadow:0 0 20px #4d8dff66,0 16px 32px #000000d9;z-index:20;margin-left:-14px;margin-right:10px;border-color:var(--accent)}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.player-hand .card.lifted{transform:translateY(-8px) scale(1.05) rotate(0)!important;z-index:18;box-shadow:0 0 16px #4d8dff59,0 12px 24px #000000bf;border-color:var(--accent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card.dragging-touch{transition:none!important;z-index:100!important;cursor:grabbing;border-color:var(--accent)!important;box-shadow:0 0 40px #4d8dffb3,0 25px 50px #000000f2!important}.card.snapping{z-index:25;transition:transform .35s cubic-bezier(.34,1.56,.64,1)!important}.card.red{color:#a3122d;text-shadow:none}.card.black{color:#16161a;text-shadow:none}.card.trump-card-in-hand{border-color:var(--gold);border-width:2px;box-shadow:0 0 12px #e7b95580,0 8px 18px #0000008c,inset 0 0 0 1px #ffffffb3}.card-top,.card-bottom{text-align:left;line-height:1.05;font-size:19px;letter-spacing:-.5px}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:42px;opacity:.92;text-shadow:0 1px 1px rgba(0,0,0,.1)}.card-bottom{text-align:right;transform:rotate(180deg)}.card.disabled{cursor:not-allowed}.card-back{width:65px;height:93px;background:repeating-linear-gradient(45deg,#eef4ee 0,#eef4ee 3px,#2f8f5b 3px,#2f8f5b 6px),repeating-linear-gradient(-45deg,#eef4ee 0,#eef4ee 3px,#2f8f5b 3px,#2f8f5b 6px);background-blend-mode:multiply;background-color:#f4f8f4;border-radius:7px;border:2px solid #fff;outline:1px solid rgba(255,255,255,.55);outline-offset:-6px;box-shadow:0 0 6px #0003,0 4px 10px #0009;margin-left:var(--hand-overlap-back, -24px);transition:transform .3s,margin-left .25s ease;position:relative}.card-back:first-child{margin-left:0}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#02060ee6;z-index:100;align-items:center;justify-content:center;animation:fadeIn .3s}.modal.active{display:flex}.modal-content{background:linear-gradient(135deg,#0a1226,#101c34);padding:40px;border-radius:20px;text-align:center;border:2px solid var(--accent);max-width:400px;animation:modalPop .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 40px #4d8dff40}@keyframes modalPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.result-icon{font-size:80px;margin-bottom:10px}.modal-content h2{font-size:36px;margin-bottom:10px;background:linear-gradient(180deg,#7ab0ff,#2f5fc0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px rgba(77,141,255,.3))}.modal-content p{color:var(--text-dim);margin-bottom:25px}.modal-content .btn{display:block;width:100%;margin-bottom:10px}.setup-modal-content{width:min(480px,calc(100vw - 64px));max-width:480px;padding:32px 28px;background:linear-gradient(145deg,#081020fa,#0f1d34fa),radial-gradient(circle at 50% 0%,rgba(231,185,85,.1),transparent 42%);border:1px solid rgba(92,142,233,.38);border-radius:20px;box-shadow:0 24px 60px #0206109e,inset 0 1px #ffffff0f}.setup-header{text-align:center;margin-bottom:24px}.setup-icon-wrap{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.setup-icon-card{display:inline-flex;align-items:center;justify-content:center;width:40px;height:56px;background:linear-gradient(145deg,#cfdcff,#b0c4f0);border-radius:6px;font-size:20px;color:#0a1226;font-weight:700;box-shadow:0 4px 12px #4d8dff4d;border:1px solid rgba(255,255,255,.3)}.setup-icon-card:nth-child(1){transform:rotate(-8deg) translateY(4px);color:#1a1a2e}.setup-icon-card:nth-child(2){transform:rotate(0) translateY(0);color:#ff4757}.setup-icon-card:nth-child(3){transform:rotate(8deg) translateY(4px);color:#1a1a2e}.setup-modal-content h2{font-size:28px;margin-bottom:4px}.setup-subtitle{color:var(--text-dim);font-size:14px;margin-bottom:0}.setup-group{margin-bottom:18px;text-align:center}.setup-label{display:block;font-weight:600;color:#8ebaff;margin-bottom:10px;letter-spacing:.5px;font-size:13px;text-transform:uppercase}.setup-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.setup-mode-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:#4d8dff0f;border:1px solid rgba(77,141,255,.15);border-radius:12px;cursor:pointer;transition:all .25s ease;text-align:center}.setup-mode-btn:hover{background:#4d8dff1f;border-color:#4d8dff47;transform:translateY(-2px)}.setup-mode-btn.active{background:#e7b9551a;border-color:var(--mode-color, var(--gold));box-shadow:0 0 20px #e7b9551f,inset 0 -2px 0 var(--mode-color, var(--gold))}.setup-mode-icon{font-size:28px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));color:#fff}.setup-mode-title{font-weight:700;font-size:13px;color:var(--text);letter-spacing:.3px}.setup-mode-desc{font-size:10.5px;color:var(--text-dim);line-height:1.3}.setup-count-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:4px;border-radius:12px;background:#050b189e;border:1px solid rgba(77,141,255,.14)}.setup-count-grid.cols-3{grid-template-columns:repeat(3,1fr)}.setup-count-btn{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:10px;padding:12px 8px;cursor:pointer;transition:all .2s ease}.setup-count-btn:hover{background:#4d8dff1a;border-color:#4d8dff42}.setup-count-btn.active{background:linear-gradient(135deg,#e8c773,#b98728);color:#04111f;border-color:#ffffff4d;box-shadow:0 8px 18px #b9872838}.setup-count-num{font-size:22px;font-weight:800;line-height:1.1}.setup-count-label{font-size:11px;opacity:.8;font-weight:500}.setup-count-btn.active .setup-count-label{opacity:1}.btn-icon{margin-right:6px;font-size:12px}.btn-ghost{display:block;width:100%;padding:12px;border:1px solid rgba(77,141,255,.2);background:transparent;color:var(--text-dim);border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:0}.btn-ghost:hover{background:#4d8dff14;color:var(--text);border-color:#4d8dff59}.join-modal-content{max-width:380px;padding:32px 28px}.join-modal-icon{font-size:56px;margin-bottom:8px;filter:drop-shadow(0 0 12px rgba(77,141,255,.4))}.join-modal-content h2{font-size:26px;margin-bottom:6px}.join-modal-desc{color:var(--text-dim);font-size:13px;margin-bottom:20px;line-height:1.4}.join-input-wrap{position:relative;display:flex;align-items:center;margin-bottom:8px}.join-input{width:100%;padding:14px 48px 14px 16px;font-size:18px;font-weight:600;letter-spacing:2px;text-align:center;text-transform:uppercase;font-family:Segoe UI,Tahoma,monospace;color:var(--text);background:#060c18cc;border:2px solid var(--border-strong);border-radius:12px;outline:none;transition:all .25s ease;box-shadow:inset 0 2px 6px #0006}.join-input::placeholder{color:var(--text-dim);letter-spacing:1px;font-weight:400;text-transform:none}.join-input:focus{border-color:var(--accent);box-shadow:inset 0 2px 6px #0006,0 0 0 3px #4d8dff26,0 0 20px #4d8dff33}.join-paste-btn{position:absolute;right:8px;width:34px;height:34px;border-radius:8px;background:#4d8dff1a;border:1px solid var(--border);color:var(--accent);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.join-paste-btn:hover{background:#4d8dff33;border-color:var(--accent)}.join-paste-btn:active{transform:scale(.92)}.join-error{min-height:18px;color:var(--red);font-size:12px;margin-bottom:12px;text-align:center;font-weight:500}.join-submit-btn{width:100%;margin-bottom:10px}@keyframes shakeError{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.join-input.shake{animation:shakeError .4s ease;border-color:var(--red)!important}.surrender-modal-content{max-width:380px;padding:32px 28px}.surrender-icon{font-size:56px;margin-bottom:8px;filter:drop-shadow(0 0 12px rgba(255,107,129,.4))}.surrender-modal-content h2{font-size:26px;margin-bottom:6px;background:linear-gradient(180deg,#ff8a9b,#ff6b81);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.surrender-desc{color:var(--text-dim);font-size:13px;margin-bottom:20px;line-height:1.4}.waiting-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#02060eeb;z-index:150;align-items:center;justify-content:center;animation:fadeIn .4s ease}.waiting-overlay.active{display:flex}.waiting-content{text-align:center;padding:40px}.waiting-spinner{width:56px;height:56px;border:4px solid rgba(77,141,255,.15);border-top-color:var(--accent);border-radius:50%;margin:0 auto 24px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.waiting-title{font-size:26px;font-weight:700;color:var(--accent);margin-bottom:8px;text-shadow:0 0 10px rgba(77,141,255,.3)}.waiting-subtitle{font-size:15px;color:var(--text-dim);margin-bottom:16px}.waiting-timer{font-size:40px;font-weight:700;color:var(--gold);text-shadow:0 0 12px rgba(231,185,85,.35);font-variant-numeric:tabular-nums;border:2px solid var(--gold);border-radius:12px;padding:12px 24px;display:inline-block;box-shadow:0 0 10px #e7b95540}@keyframes takeCards{to{transform:translate(200px,300px) scale(.3);opacity:0}}.card.taking{animation:takeCards 1s forwards}.bito-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(77,141,255,.25) 0%,transparent 70%);border-radius:16px;animation:bitoFlash 1s ease;pointer-events:none}@keyframes bitoFlash{0%{opacity:0;transform:scale(.5)}50%{opacity:1}to{opacity:0;transform:scale(1.5)}}.toast{position:fixed;top:30px;left:50%;transform:translate(-50%);background:#060c18f2;color:var(--accent);padding:14px 28px;border-radius:30px;border:1px solid var(--accent);z-index:200;font-weight:700;animation:toastIn .4s ease;box-shadow:0 0 16px #4d8dff40}@keyframes toastIn{0%{transform:translate(-50%,-100px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:700px){.menu-user-icon{width:96px;height:96px}.menu-nickname{font-size:22px}.menu-balance{font-size:15px}#menu-screen{padding:24px 48px}.top-bar{padding:6px 8px;gap:6px}.game-screen{padding:4px 4px 0;height:100dvh;width:100%;max-width:none;margin:0}.opponent-area{min-height:140px}.opponent-hand{margin-top:-26px}.avatar-opponent,#turn-avatar{width:48px!important;height:48px!important;font-size:20px!important;border-radius:12px!important}#turn-avatar:before{border-radius:15px!important}.avatar{width:40px;height:40px;font-size:20px;border-width:1.5px}.turn-indicator{font-size:9px;padding:2px 8px}.btn-surrender-float{padding:6px 12px;font-size:10px}.opponent-hand{min-height:85px}.card{width:82px;height:117px;font-size:19px;padding:6px 8px}.deck-area .deck,.deck-card{width:82px;height:117px}.deck-count{left:66px}.discard-card{width:66px;height:94px}.card-top,.card-bottom{font-size:17px}.card-center{font-size:30px}.table-pair{width:82px;height:117px}.game-actions{min-height:72px;padding:12px 0;margin-left:-4px;margin-right:-4px;grid-template-columns:1fr auto 1fr;gap:6px;width:auto}.action-buttons-left,.action-buttons-right{flex-direction:row;gap:8px;justify-content:center;align-items:center;padding-left:0;padding-right:0}.action-text-btn{font-size:14px;padding:12px 18px;min-width:110px;border-radius:14px}.action-center{gap:4px}.avatar{width:36px;height:36px;font-size:18px}.action-name{font-size:10px}.table-pair .card.defense{top:16px;left:16px}.deck-area{top:auto;bottom:490px;left:-53px}.empty-deck-icon{left:101px;top:28px}.discard-area{top:auto;bottom:540px;left:auto;right:-43px}.deck-trump-peek{left:155%}.table{min-height:200px;padding:6px;gap:14px 28px}.table-center{margin-top:70px}.table-hint{font-size:13px}.player-hand{min-height:0;padding:0 12px;margin-bottom:-28px}.player-hand .card{margin-left:var(--hand-overlap, -26px)}.player-hand .card:nth-child(1){transform:rotate(-14deg) translateY(8px)}.player-hand .card:nth-child(2){transform:rotate(-11deg) translateY(5px)}.player-hand .card:nth-child(3){transform:rotate(-8deg) translateY(2px)}.player-hand .card:nth-child(4){transform:rotate(-4deg)}.player-hand .card:nth-child(5){transform:rotate(0)}.player-hand .card:nth-child(6){transform:rotate(4deg)}.player-hand .card:nth-child(7){transform:rotate(8deg) translateY(2px)}.player-hand .card:nth-child(8){transform:rotate(11deg) translateY(5px)}.player-hand .card:nth-child(9){transform:rotate(14deg) translateY(8px)}.player-hand .card:nth-child(n+10){transform:rotate(14deg) translateY(8px)}.player-hand .card.hover-peek{transform:translateY(-24px) rotate(0) scale(1.16)!important}.player-hand .card.lifted{transform:translateY(-8px) scale(1.04) rotate(0)!important}.action-text-btn{font-size:13px;padding:10px 14px;min-width:90px}.card-back{width:40px;height:57px;margin-left:var(--hand-overlap-back, -16px)}.join-modal-content,.surrender-modal-content{padding:24px 20px;max-width:92vw}.join-modal-icon,.surrender-icon{font-size:44px}.join-modal-content h2,.surrender-modal-content h2{font-size:22px}.join-modal-desc,.surrender-desc{font-size:12px;margin-bottom:16px}.join-input{font-size:16px;padding:12px 44px 12px 14px;letter-spacing:1.5px}.join-paste-btn{width:30px;height:30px;right:6px;font-size:14px}}@media(max-width:480px){.game-screen{padding:2px 2px 0;height:100dvh;width:100%;max-width:none;margin:0}#menu-screen{padding:20px 44px}.opponent-hand{min-height:50px}.opponent-hand{margin-top:-26px}.avatar-opponent{width:50px!important;height:50px!important;font-size:24px!important;border-radius:12px!important}#turn-avatar{width:50px!important;height:50px!important;font-size:24px!important}#turn-avatar:before{border-radius:15px!important}.player-hand{margin-bottom:-20px}.player-hand .card{margin-left:var(--hand-overlap, -18px)}.player-hand .card.hover-peek{transform:translateY(-12px) rotate(0) scale(1.1)!important}.player-hand .card.lifted{transform:translateY(-4px) scale(1.02) rotate(0)!important}.card{width:76px;height:108px;font-size:17px}.deck-area .deck,.deck-card{width:76px;height:108px}.deck-count{left:60px}.discard-card{width:61px;height:86px}.card-top,.card-bottom{font-size:15px}.card-center{font-size:28px}.table-pair{width:76px;height:108px}.table{min-height:120px;gap:12px 28px;padding:4px}.table-center{margin-top:70px}.table-pair .card.defense{top:14px;left:14px}.deck-area{top:auto;bottom:460px;left:-53px}.empty-deck-icon{left:99px;top:26px}.discard-area{top:auto;bottom:480px;left:auto;right:-41px}.game-actions{min-height:64px;padding:10px 0;margin-left:-2px;margin-right:-2px;width:auto}.action-text-btn{padding:8px 12px;height:38px;font-size:12px;min-width:72px;border-radius:10px}.action-buttons-left,.action-buttons-right{gap:4px;justify-content:center;padding-left:0;padding-right:0}.avatar{width:30px;height:30px;font-size:16px}.turn-indicator{font-size:9px;padding:2px 6px}}@media(max-width:380px){.game-screen{padding:2px 2px 0;height:100dvh;width:100%;max-width:none;margin:0}#menu-screen{padding:20px 36px}.card{width:66px;height:94px;font-size:14px}.deck-area .deck,.deck-card{width:66px;height:94px}.deck-count{left:50px}.discard-card{width:53px;height:75px}.card-top,.card-bottom{font-size:13px}.card-center{font-size:22px}.table-pair{width:66px;height:94px}.table-pair .card.defense{top:10px;left:10px}.deck-area{top:auto;bottom:450px;left:-53px}.empty-deck-icon{left:97px;top:22px}.discard-area{top:auto;bottom:470px;left:auto;right:-39px}.table{min-height:100px;gap:10px 24px;padding:2px}.table-center{margin-top:66px}.action-name{font-size:9px}.avatar{width:24px;height:24px;font-size:12px;border-radius:8px}.turn-indicator{font-size:7px;padding:1px 5px}.game-actions{min-height:56px;padding:8px 0;gap:4px;margin-left:-2px;margin-right:-2px;width:auto}.action-text-btn{padding:6px 8px;height:32px;font-size:11px;min-width:62px;border-radius:8px}.action-buttons-left,.action-buttons-right{gap:4px;justify-content:center;padding-left:0;padding-right:0}.player-hand{margin-bottom:-18px}.player-hand .card{margin-left:var(--hand-overlap, -16px)}.player-hand .card.hover-peek{transform:translateY(-8px) rotate(0) scale(1.06)!important}.player-hand .card.lifted{transform:translateY(-2px) scale(1.02) rotate(0)!important}}@media(min-width:701px){.deck-area{left:-47px;top:390px}.deck-area .deck{width:95px;height:135px}.discard-area{right:-47px;left:auto;top:390px}.discard-card{width:76px;height:108px}.deck-card{width:95px;height:135px}.deck-trump-peek{left:155%;transform:rotate(90deg);transform-origin:top left}.deck-count{font-size:17px;top:-24px;left:79px}.table{min-height:260px;gap:24px 40px}.card{width:100px;height:143px;font-size:22px}.card-top,.card-bottom{font-size:20px}.card-center{font-size:36px}.table-pair{width:100px;height:143px}.table-pair .card.defense{top:20px;left:20px}.player-hand{min-height:0;padding:0 20px;margin-bottom:-40px}.player-hand .card{margin-left:var(--hand-overlap, -30px)}.opponent-hand{min-height:130px}.opponent-area{min-height:190px}.opponent-hand{margin-top:-40px}.game-actions{min-height:60px;padding:10px 0}.action-text-btn{font-size:16px;padding:6px 10px;min-width:120px}}.tab-layout{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.tab-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.bottom-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-around;padding:8px 0 12px;background:linear-gradient(135deg,#0d1a30,#0a1226);border-top:1px solid var(--border-strong);flex-shrink:0;border-radius:16px 16px 0 0}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px 16px;transition:color .2s ease;font-family:inherit}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav-label{font-size:10px;font-weight:600;letter-spacing:.3px}.rooms-screen{flex:1;display:flex;flex-direction:column;padding:20px}.rooms-header h2{font-size:22px;margin:0 0 16px;color:var(--text)}.rooms-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-dim);text-align:center}.rooms-empty p{margin:0;font-size:15px}.rooms-empty-hint{font-size:13px;opacity:.6;margin-bottom:12px}.profile-screen{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 20px;gap:32px}.profile-header{display:flex;flex-direction:column;align-items:center;gap:12px}.profile-avatar{width:100px;height:100px;border-radius:24px;background:linear-gradient(135deg,#101c34,#0a1226);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text);box-shadow:0 0 12px #4d8dff40}.profile-name{font-size:22px;font-weight:700;color:var(--text)}.profile-stats{display:flex;flex-direction:row;gap:16px;width:100%;max-width:360px}.profile-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border-radius:12px;background:#101c3499;border:1px solid var(--border-strong)}.profile-stat-info{display:flex;flex-direction:column;align-items:center;gap:2px}.profile-stat-value{font-size:20px;font-weight:700;color:var(--text)}.profile-stat-label{font-size:11px;font-weight:500;color:var(--text-dim)}
