.home-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.home-container{background:#fff;border-radius:24px;padding:40px 30px;width:100%;max-width:400px;box-shadow:var(--card-shadow-lg);text-align:center}.logo{margin-bottom:40px}.logo-number{display:block;font-size:80px;font-weight:800;background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.logo-text{display:block;font-size:28px;font-weight:600;color:#333;margin-top:-5px}.home-buttons{display:flex;flex-direction:column;gap:15px}.btn{padding:16px 32px;font-size:18px;font-weight:600;border-radius:12px;transition:all .2s ease}.btn-primary{background:var(--bg-gradient);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-back{background:none;color:var(--primary);font-size:16px;padding:8px 0;margin-bottom:10px;text-align:left;width:100%}.home-form{text-align:left}.home-form h2{text-align:center;margin-bottom:25px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#666;margin-bottom:8px}.form-group input{width:100%;padding:14px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:12px;background:#fafafa;transition:all .2s ease}.form-group input:focus{border-color:var(--primary);background:#fff}.code-input{text-transform:uppercase;letter-spacing:4px;text-align:center;font-weight:600;font-size:20px!important}.btn-submit{width:100%;margin-top:10px}.home-footer{margin-top:40px;color:#999;font-size:14px}@media (max-width: 480px){.home-container{padding:30px 20px}.logo-number{font-size:60px}.logo-text{font-size:24px}}.lobby{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px 20px}.lobby-container{background:#fff;border-radius:24px;padding:30px;width:100%;max-width:500px;box-shadow:var(--card-shadow-lg)}.lobby-container h1{text-align:center;color:#333;margin-bottom:25px;font-size:24px}.game-code-section{text-align:center;margin-bottom:30px}.code-label{font-size:14px;color:#666;margin-bottom:10px}.code-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px;cursor:pointer;transition:transform .2s ease}.code-display:hover{transform:scale(1.02)}.code-display:active{transform:scale(.98)}.code{display:block;font-size:36px;font-weight:700;color:#fff;letter-spacing:8px;font-family:monospace}.copy-hint{display:block;font-size:12px;color:#fffc;margin-top:8px}.share-hint{font-size:13px;color:#999;margin-top:12px}.players-section{margin-bottom:25px}.players-section h2{font-size:16px;color:#333;margin-bottom:15px}.players-list{list-style:none;display:flex;flex-direction:column;gap:10px}.player-item{display:flex;align-items:center;padding:12px 15px;background:#f8f9fa;border-radius:12px;transition:all .2s ease}.player-item.is-me{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid var(--primary)}.player-item.is-ready{background:#48bb781a}.player-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;margin-right:12px;flex-shrink:0}.player-name{flex:1;font-weight:500;color:#333;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.host-badge,.me-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.host-badge{background:#ffeaa7;color:#d68910}.me-badge{background:var(--primary);color:#fff}.ready-status{font-size:13px;color:#999}.ready-status.ready{color:var(--success);font-weight:600}.lobby-actions{margin-bottom:25px}.lobby-actions .btn{width:100%;padding:16px;font-size:18px;border-radius:12px}.btn-ready{background:var(--success);color:#fff}.btn-start:disabled{background:#ccc;cursor:not-allowed}.lobby-rules{background:#f8f9fa;border-radius:12px;padding:20px}.lobby-rules h3{font-size:14px;color:#333;margin-bottom:12px}.lobby-rules ul{list-style:none;font-size:13px;color:#666;line-height:1.8}.lobby-rules li:before{content:"•";color:var(--primary);margin-right:8px}.error-message{background:#fee;color:var(--danger);padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;text-align:center}@media (max-width: 480px){.lobby-container{padding:20px}.code{font-size:28px;letter-spacing:6px}}.card{background:#fff;border-radius:12px;padding:12px 10px;min-width:85px;max-width:100px;text-align:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;border:3px solid var(--card-color);flex-shrink:0;position:relative;overflow:hidden;float:left;margin-right:10px;margin-bottom:10px}.card:hover:not(.disabled){transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.card:active:not(.disabled){transform:scale(.95)}.card.disabled{cursor:default}.card.small{min-width:65px;max-width:75px;padding:8px 6px}.card-family-emoji{font-size:20px;position:absolute;top:4px;right:6px;opacity:.8}.card.small .card-family-emoji{font-size:14px;top:3px;right:4px}.card-member-emoji{font-size:36px;margin-bottom:6px;margin-top:8px}.card.small .card-member-emoji{font-size:26px;margin-bottom:4px;margin-top:4px}.card-member{font-size:11px;font-weight:600;color:#333;margin-bottom:4px}.card.small .card-member{font-size:9px;margin-bottom:2px}.card-family{font-size:10px;color:#fff;font-weight:600;padding:3px 6px;background:var(--card-color);border-radius:8px;display:inline-block}.card.highlighted{animation:cardHighlight 1.5s ease-in-out infinite;box-shadow:0 0 20px 5px #ffd700b3;border-color:gold;transform:scale(1.05);z-index:10}@keyframes cardHighlight{0%,to{box-shadow:0 0 15px 3px #ffd70080}50%{box-shadow:0 0 25px 8px #ffd700e6}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:15px;right:15px;width:32px;height:32px;border-radius:50%;background:#f0f0f0;font-size:24px;line-height:1;color:#666;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e0e0e0}.modal-header{padding:20px 20px 0;text-align:center}.selected-family{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:20px;color:#fff;font-weight:600;font-size:16px}.selected-family-emoji{font-size:20px}.modal-step{padding:20px}.modal-step h3{font-size:18px;color:#333;margin-bottom:20px;text-align:center}.modal-hint{font-size:14px;color:#666;text-align:center;margin-bottom:20px;font-style:italic}.player-choices{display:flex;flex-direction:column;gap:10px}.player-choice{display:flex;align-items:center;padding:15px;background:#f8f9fa;border-radius:12px;transition:all .2s ease}.player-choice:hover{background:#e9ecef;transform:translate(5px)}.player-choice-avatar{width:45px;height:45px;border-radius:50%;background:var(--bg-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;margin-right:15px}.player-choice-name{font-size:16px;font-weight:600;color:#333}.member-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.member-choice{display:flex;flex-direction:column;align-items:center;padding:15px 10px;background:#f8f9fa;border-radius:12px;transition:all .2s ease;border:3px solid transparent}.member-choice:hover{background:#e9ecef}.member-choice.selected{border-color:var(--primary);background:#667eea1a}.member-emoji{font-size:36px;margin-bottom:8px}.member-name{font-size:14px;font-weight:600;color:#333}.no-members{text-align:center;color:#999;padding:30px}.family-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:400px;overflow-y:auto}.family-choice{display:flex;flex-direction:column;align-items:center;padding:15px 10px;background:#f8f9fa;border-radius:12px;transition:all .2s ease;border:3px solid transparent;position:relative}.family-choice:hover{background:#e9ecef;transform:translateY(-2px)}.family-choice.owned{border-color:var(--family-color);background:linear-gradient(135deg,rgba(var(--family-color),.1),rgba(var(--family-color),.05))}.family-choice-emoji{font-size:36px;margin-bottom:8px}.family-choice-name{font-size:13px;font-weight:600;color:#333;text-align:center}.family-choice-count{position:absolute;top:8px;right:8px;background:var(--family-color);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:8px}.modal-actions{display:flex;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.modal-actions .btn{flex:1;padding:14px;font-size:16px;border-radius:12px}@media (max-width: 480px){.modal-content{max-height:85vh}.member-choices{grid-template-columns:repeat(3,1fr)}.member-emoji{font-size:28px}.member-name{font-size:12px}}.draw-animation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.draw-animation-overlay.done{animation:fadeOut .3s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.draw-pile-container{position:relative;display:flex;flex-direction:column;align-items:center}.draw-pile-stack{position:relative;width:180px;height:250px}.pile-card{position:absolute;width:180px;height:250px;border-radius:12px;box-shadow:0 4px 15px #0006;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.pile-card-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:15px 10px;box-sizing:border-box}.pile-card-title{font-size:14px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px}.pile-card-title-bottom{font-size:14px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px;transform:rotate(180deg)}.pile-card-emojis{font-size:24px;text-align:center;line-height:1.4;max-width:150px;word-wrap:break-word}.drawn-card{position:absolute;width:180px;height:250px;perspective:1000px;z-index:10}.drawn-card.drawing,.drawn-card.flipping{animation:drawFromPile .6s ease-out forwards}.drawn-card.flipping .card-inner{animation:flipCard .8s ease-in-out forwards}.drawn-card.moving{animation:moveToHand .8s ease-in-out forwards}.drawn-card.moving .card-inner{transform:rotateY(180deg)}@keyframes drawFromPile{0%{transform:translateY(0) scale(1)}to{transform:translateY(-50px) scale(1.1)}}@keyframes flipCard{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes moveToHand{0%{transform:translateY(-50px) scale(1.1);opacity:1}to{transform:translateY(300px) scale(.5);opacity:0}}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s}.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #00000080;background:linear-gradient(135deg,#667eea,#764ba2)}.card-back-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:15px 10px;box-sizing:border-box}.card-back-title{font-size:14px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px}.card-back-title-bottom{font-size:14px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px;transform:rotate(180deg)}.card-back-emojis{font-size:24px;text-align:center;line-height:1.4;max-width:150px;word-wrap:break-word}.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;transform:rotateY(180deg);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #00000080;display:flex;flex-direction:column}.card-front-family-emoji{position:absolute;top:8px;right:10px;font-size:28px;opacity:.8}.card-front-emoji{flex:1;display:flex;align-items:center;justify-content:center;font-size:80px;background:linear-gradient(135deg,#f5f5f5,#e0e0e0)}.card-front-info{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;gap:6px}.card-member-name{font-size:14px;font-weight:600;color:#333}.card-family-name{font-size:11px;color:#fff;padding:4px 12px;border-radius:10px}@media (max-width: 480px){.draw-pile-stack,.pile-card,.drawn-card{width:140px;height:195px}}.card-transfer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1500}.card-transfer-overlay.done{opacity:0;transition:opacity .3s ease}.transfer-card{position:fixed;width:100px;height:140px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000004d;display:flex;flex-direction:column;transform-origin:center center}.transfer-card-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);position:relative}.transfer-family-emoji{position:absolute;top:6px;right:6px;font-size:18px;opacity:.8}.transfer-member-emoji{font-size:40px}.transfer-card-info{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;gap:2px}.transfer-card-info .member-name{font-size:10px;font-weight:600;color:#333}.transfer-card-info .family-name{font-size:8px;color:#fff;padding:2px 6px;border-radius:8px}.explosion-clouds{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:1600}.cloud-emoji{position:absolute;font-size:30px;animation:explodeCloud .6s ease-out forwards;animation-delay:var(--delay);opacity:0;transform-origin:center center}@keyframes explodeCloud{0%{opacity:0;transform:rotate(var(--angle)) translate(0) scale(.3)}20%{opacity:1}60%{opacity:1;transform:rotate(var(--angle)) translate(var(--distance)) scale(var(--scale))}to{opacity:0;transform:rotate(var(--angle)) translate(calc(var(--distance) * 1.5)) scale(.2)}}.transfer-card.exploding{left:var(--start-x);top:var(--start-y);transform:translate(-50%,-50%) scale(0);animation:cardAppear .4s ease-out forwards}@keyframes cardAppear{0%{transform:translate(-50%,-50%) scale(0) rotate(-10deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.1) rotate(5deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.transfer-card.lifting{left:var(--start-x);top:var(--start-y);transform:translate(-50%,-50%) scale(1);animation:liftCard .5s ease-out forwards}@keyframes liftCard{0%{transform:translate(-50%,-50%) scale(.5);box-shadow:0 2px 8px #0003;opacity:0}50%{transform:translate(-50%,-70%) scale(1.2);box-shadow:0 20px 40px #0006;opacity:1}to{transform:translate(-50%,-60%) scale(1.1);box-shadow:0 15px 35px #00000059;opacity:1}}.transfer-card.flying{animation:flyCard .7s ease-in-out forwards}@keyframes flyCard{0%{left:var(--start-x);top:var(--start-y);transform:translate(-50%,-60%) scale(1.1) rotate(0);box-shadow:0 15px 35px #00000059}50%{transform:translate(-50%,-50%) scale(1.3) rotate(10deg);box-shadow:0 25px 50px #00000080}to{left:var(--end-x);top:var(--end-y);transform:translate(-50%,-50%) scale(1) rotate(0);box-shadow:0 10px 25px #0000004d}}.transfer-card.landing{left:var(--end-x);top:var(--end-y);animation:landCard .6s ease-out forwards}@keyframes landCard{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 10px 25px #0000004d;opacity:1}30%{transform:translate(-50%,-40%) scale(1.1);box-shadow:0 15px 30px #00000059}60%{transform:translate(-50%,-50%) scale(.9);box-shadow:0 5px 15px #00000040}to{transform:translate(-50%,-50%) scale(.3);box-shadow:0 2px 8px #0003;opacity:0}}.transfer-card.done{opacity:0}@media (max-width: 480px){.transfer-card{width:80px;height:112px}.transfer-member-emoji{font-size:30px}.transfer-family-emoji{font-size:14px}.transfer-card-info .member-name{font-size:8px}.transfer-card-info .family-name{font-size:7px}}.family-complete-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:2000;animation:overlayFadeIn .3s ease-out,overlayFadeOut .5s ease-in 2s forwards}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.family-complete-content{position:relative;display:flex;flex-direction:column;align-items:center;animation:contentBounce .6s ease-out}@keyframes contentBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.stars-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.star-emoji{position:absolute;font-size:30px;animation:starExplode var(--duration) ease-out forwards;animation-delay:var(--delay);opacity:0;transform-origin:center center}@keyframes starExplode{0%{opacity:0;transform:rotate(var(--angle)) translate(0) scale(.3)}20%{opacity:1}70%{opacity:1;transform:rotate(var(--angle)) translate(var(--distance)) scale(var(--scale))}to{opacity:0;transform:rotate(var(--angle)) translate(calc(var(--distance) * 1.5)) scale(.2)}}.family-emoji-center{font-size:100px;animation:emojiPulse .8s ease-in-out infinite;filter:drop-shadow(0 0 20px var(--family-color, #ffd700));z-index:1}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.family-complete-text{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px;z-index:1}.complete-label{font-size:32px;font-weight:800;color:gold;text-shadow:0 0 20px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.5);animation:labelGlow 1s ease-in-out infinite alternate}@keyframes labelGlow{0%{text-shadow:0 0 20px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.5)}to{text-shadow:0 0 40px rgba(255,215,0,.9),0 2px 4px rgba(0,0,0,.5)}}.family-name-badge{font-size:20px;font-weight:600;color:#fff;padding:8px 20px;border-radius:20px;box-shadow:0 4px 15px #0000004d}@media (max-width: 480px){.family-emoji-center{font-size:70px}.complete-label{font-size:24px}.family-name-badge{font-size:16px}.star-emoji{font-size:24px}}.card-lost-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:3000;pointer-events:none;background:#0000004d;animation:fadeInOverlay .2s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.card-lost-container{position:relative;display:flex;align-items:center;justify-content:center}.grabbing-hand{position:absolute;z-index:10;font-size:80px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.grabbing-hand.entering{animation:handEnter .4s ease-out forwards}.grabbing-hand.grabbing{animation:handGrab .4s ease-in-out forwards}.grabbing-hand.leaving{animation:handLeave .6s ease-in forwards}@keyframes handEnter{0%{transform:translate(200px) translateY(-100px) rotate(-30deg) scale(.5);opacity:0}to{transform:translate(60px) translateY(-20px) rotate(-10deg) scale(1);opacity:1}}@keyframes handGrab{0%{transform:translate(60px) translateY(-20px) rotate(-10deg) scale(1)}50%{transform:translate(20px) translateY(0) rotate(0) scale(1.1)}to{transform:translate(20px) translateY(0) rotate(5deg) scale(1)}}@keyframes handLeave{0%{transform:translate(20px) translateY(0) rotate(5deg) scale(1);opacity:1}to{transform:translate(250px) translateY(-150px) rotate(-20deg) scale(.6);opacity:0}}.hand-emoji{display:block;transform:scaleX(-1)}.lost-card{width:120px;height:170px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #0000004d;display:flex;flex-direction:column;transition:transform .3s ease}.lost-card.entering{animation:cardAppear .3s ease-out forwards}.lost-card.grabbing{animation:cardShake .4s ease-in-out forwards}.lost-card.leaving{animation:cardStolen .6s ease-in forwards}@keyframes cardAppear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cardShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes cardStolen{0%{transform:rotate(0) scale(1);opacity:1}to{transform:translate(200px) translateY(-120px) rotate(15deg) scale(.5);opacity:0}}.lost-card-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);position:relative}.lost-family-emoji{position:absolute;top:8px;right:8px;font-size:20px;opacity:.7}.lost-member-emoji{font-size:50px}.lost-card-info{display:flex;flex-direction:column;align-items:center;padding:8px;gap:4px}.lost-member-name{font-size:12px;font-weight:600;color:#333}.lost-family-name{font-size:10px;color:#fff;padding:2px 8px;border-radius:8px}.grab-effects{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.grab-star{position:absolute;font-size:30px;animation:starPop .5s ease-out forwards}.grab-star:nth-child(1){top:-40px;left:-30px}.grab-star:nth-child(2){top:-20px;right:-40px;animation-delay:.1s}.grab-star.delayed{animation-delay:.15s}@keyframes starPop{0%{transform:scale(0);opacity:1}50%{transform:scale(1.2);opacity:1}to{transform:scale(.8) translateY(-20px);opacity:0}}.game-board{min-height:100vh;display:flex;flex-direction:column;padding-bottom:70px}.game-header{background:#fffffff2;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.game-info{display:flex;gap:15px;font-size:14px;color:#666}.draw-pile{background:#f0f0f0;padding:4px 10px;border-radius:8px}.families-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 10px;border-radius:8px;font-weight:500}.game-code{color:var(--primary);font-weight:600;margin-top:4px;cursor:pointer;padding:4px 10px;border-radius:8px;transition:all .2s ease}.game-code:hover{background:#667eea1a}.game-code:active{transform:scale(.95)}.turn-bar{position:fixed;bottom:0;left:0;right:0;padding:16px 20px;text-align:center;font-weight:600;font-size:16px;z-index:200;transition:all .4s ease;background:#6b7280;color:#fffc;box-shadow:0 -2px 10px #00000026}.turn-bar.my-turn{background:linear-gradient(135deg,#8b5cf6,#a855f7,#c084fc);color:#fff;box-shadow:0 -4px 20px #8b5cf666,inset 0 1px #ffffff4d;animation:turnBarGlow 2s ease-in-out infinite}.turn-bar-content{display:flex;align-items:center;justify-content:center;gap:10px}.turn-bar.my-turn .turn-bar-content:before,.turn-bar.my-turn .turn-bar-content:after{content:"✨";animation:sparkle 1s ease-in-out infinite}.turn-bar.my-turn .turn-bar-content:after{animation-delay:.5s}@keyframes turnBarGlow{0%,to{box-shadow:0 -4px 20px #8b5cf666,inset 0 1px #ffffff4d}50%{box-shadow:0 -4px 30px #a855f799,inset 0 1px #fff6}}@keyframes sparkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.waiting-dots{display:inline-flex;margin-left:4px}.waiting-dots .dot{animation:dotBounce 1.4s infinite ease-in-out both;font-size:18px;font-weight:700}.waiting-dots .dot:nth-child(1){animation-delay:0s}.waiting-dots .dot:nth-child(2){animation-delay:.2s}.waiting-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.notification{position:fixed;top:70px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:12px 24px;border-radius:12px;font-size:14px;z-index:999999;max-width:90%;text-align:center;pointer-events:none}.action-feedback{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:10px 20px;border-radius:20px;font-size:14px;z-index:999999;font-weight:500;pointer-events:none}.other-players{padding:15px 20px;background:#ffffff1a}.other-players h3{color:#fff;font-size:14px;margin-bottom:12px;opacity:.9;background:#00000073;padding:5px;border-radius:10px}.players-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch}.opponent{flex:0 0 auto;background:#fffffff2;border-radius:12px;padding:12px 15px;min-width:120px;text-align:center;transition:all .2s ease}.opponent.active{border:3px solid var(--warning);box-shadow:0 0 15px #ed893666}.opponent.disconnected{opacity:.5}.opponent-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;margin:0 auto 8px}.opponent-name{display:block;font-weight:600;font-size:14px;color:#333;margin-bottom:4px}.opponent-cards{display:block;font-size:12px;color:#666}.opponent-families{display:flex;justify-content:center;gap:4px;margin-top:8px;flex-wrap:wrap}.completed-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.my-completed-families{padding:15px 20px}.my-completed-families h3{color:#fff;font-size:14px;margin-bottom:12px;opacity:.9}.completed-families-row{display:flex;gap:10px;flex-wrap:wrap}.completed-family{background:#fff;padding:8px 16px;border-radius:20px;border-left:4px solid}.family-name{font-weight:600;font-size:14px;color:#333}.my-hand{flex:1;padding:20px;background:#fffffff2;border-radius:24px 24px 0 0;margin-top:auto}.my-hand h3{font-size:16px;color:#333;margin-bottom:8px}.hand-hint{font-size:13px;animation-direction:left;color:var(--primary);margin-bottom:15px}.hand-container{display:flex;flex-direction:column;gap:20px}.family-group{border:2px solid #e0e0e0;border-radius:12px;overflow:hidden}.family-label{padding:8px 15px;color:#fff;font-weight:600;font-size:14px}.ask-card-btn{background:#fff;border-radius:12px;padding:15px;min-width:100%;text-align:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;border:3px dashed var(--card-color);flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.ask-card-btn:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026;background:var(--card-color);border-style:solid}.ask-card-btn:hover .ask-icon,.ask-card-btn:hover .ask-text{color:#fff}.ask-card-btn:active{transform:scale(.95)}.ask-icon{font-size:32px;font-weight:700;color:var(--card-color);transition:color .2s ease}.ask-text{font-size:12px;font-weight:600;color:var(--card-color);transition:color .2s ease}.family-cards{display:block;gap:10px;padding:15px;overflow-x:auto;-webkit-overflow-scrolling:touch}.no-cards{text-align:center;color:#999;padding:40px}.ask-any-family-btn{width:100%;margin-top:20px;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:600;transition:all .2s ease;box-shadow:0 4px 15px #667eea4d}.ask-any-family-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.ask-any-family-btn:active{transform:scale(.98)}.ask-any-icon{font-size:24px}.ask-any-text{font-size:15px}@media (max-width: 480px){.game-header{padding:10px 15px}.other-players,.my-hand{padding:15px}.opponent{min-width:100px;padding:10px}.family-cards{padding:10px}}.game-over-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);z-index:2000;overflow-y:auto;padding:20px}.confetti-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:2001}.confetti{position:absolute;top:-50px;animation:confettiFall linear infinite}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.winner-announcement{text-align:center;z-index:2002;animation:announceIn .8s ease-out}@keyframes announceIn{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.winner-trophy{font-size:120px;animation:trophyBounce 1s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(255,215,0,.8))}@keyframes trophyBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.winner-title{font-size:56px;font-weight:800;color:gold;text-shadow:0 0 20px rgba(255,215,0,.5),0 4px 10px rgba(0,0,0,.3);margin:20px 0 10px;animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{text-shadow:0 0 20px rgba(255,215,0,.5),0 4px 10px rgba(0,0,0,.3)}to{text-shadow:0 0 40px rgba(255,215,0,.8),0 4px 10px rgba(0,0,0,.3)}}.winner-name{font-size:28px;color:#fff;margin-bottom:10px;font-weight:600}.winner-score{font-size:20px;color:#fffc;margin-bottom:20px}.winner-family-emojis{display:flex;justify-content:center;gap:15px;margin-top:20px}.winner-emoji{font-size:50px;animation:emojiPulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.winner-emoji:nth-child(1){animation-delay:0s}.winner-emoji:nth-child(2){animation-delay:.2s}.winner-emoji:nth-child(3){animation-delay:.4s}.winner-emoji:nth-child(4){animation-delay:.6s}.winner-emoji:nth-child(5){animation-delay:.8s}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.game-over-details{background:#fff;border-radius:24px;width:100%;max-width:450px;overflow:hidden;box-shadow:0 10px 40px #0006;margin-top:30px;z-index:2002;opacity:0;transform:translateY(30px);transition:all .5s ease-out;pointer-events:none}.game-over-details.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scoreboard{padding:25px}.scoreboard h2{font-size:16px;color:#333;margin-bottom:15px;text-align:center}.scores-list{display:flex;flex-direction:column;gap:10px}.score-row{display:flex;align-items:center;padding:12px 15px;background:#f8f9fa;border-radius:12px;transition:all .2s ease}.score-row.is-me{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid var(--primary)}.score-row.first{background:linear-gradient(135deg,#fdcb6e33,#e1b12c33)}.rank{font-size:20px;margin-right:12px;min-width:30px}.score-player-name{flex:1;font-weight:600;color:#333}.me-tag{font-size:12px;color:var(--primary);margin-left:5px;font-weight:400}.score-value{font-size:14px;color:#666;font-weight:500}.completed-summary{padding:0 25px 25px}.completed-summary h3{font-size:14px;color:#666;margin-bottom:15px}.player-families{margin-bottom:12px}.player-families-name{display:block;font-size:13px;color:#333;margin-bottom:6px}.families-badges{display:flex;gap:6px;flex-wrap:wrap}.family-badge{padding:4px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:500}.btn-play-again{width:calc(100% - 50px);margin:0 25px 25px;padding:16px;font-size:18px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.btn-play-again:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-play-again:active{transform:translateY(0)}@media (max-width: 480px){.winner-trophy{font-size:80px}.winner-title{font-size:40px}.winner-name{font-size:22px}.winner-score{font-size:16px}.winner-emoji{font-size:36px}.scoreboard,.completed-summary{padding:20px 15px}.btn-play-again{width:calc(100% - 30px);margin:0 15px 15px}}.preparing-game{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.preparing-container{background:#fff;border-radius:20px;padding:40px 30px;text-align:center;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d}.preparing-icon{margin-bottom:20px}.card-icon{font-size:60px;animation:bounce 2s infinite}.preparing-container h1{color:#333;font-size:24px;margin-bottom:20px}.preparing-message{color:#667eea;font-size:16px;font-weight:600;margin-bottom:15px}.preparing-family{color:#666;font-size:14px;margin-bottom:20px}.preparing-family strong{color:#764ba2}.progress-container{margin:25px 0}.progress-bar{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;transition:width .3s ease}.progress-text{color:#888;font-size:13px}.preparing-hint{color:#999;font-size:12px;font-style:italic;margin-top:20px}.loading-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.loading-dots span{width:10px;height:10px;background:#667eea;border-radius:50%;animation:dotPulse 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 480px){.preparing-container{padding:30px 20px}.card-icon{font-size:50px}.preparing-container h1{font-size:20px}}.floating-emojis-container{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.floating-emoji{position:absolute;bottom:-60px;animation:floatUp linear infinite;will-change:transform;filter:blur(3px)}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:var(--opacity, .2)}90%{opacity:var(--opacity, .2)}to{transform:translateY(-110vh) rotate(360deg);opacity:0}}.floating-emoji:nth-child(odd){animation-name:floatUpLeft}.floating-emoji:nth-child(2n){animation-name:floatUpRight}@keyframes floatUpLeft{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:var(--opacity, .2)}50%{transform:translateY(-55vh) translate(-30px) rotate(180deg)}90%{opacity:var(--opacity, .2)}to{transform:translateY(-110vh) translate(0) rotate(360deg);opacity:0}}@keyframes floatUpRight{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:var(--opacity, .2)}50%{transform:translateY(-55vh) translate(30px) rotate(-180deg)}90%{opacity:var(--opacity, .2)}to{transform:translateY(-110vh) translate(0) rotate(-360deg);opacity:0}}.app{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #667eea;--primary-dark: #5a67d8;--secondary: #764ba2;--success: #48bb78;--warning: #ed8936;--danger: #f56565;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--card-shadow: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--card-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05)}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#333;overflow-x:hidden}#root{min-height:100%;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:active{transform:scale(.98)}input{font-family:inherit;border:none;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}.bounce{animation:bounce .5s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}
