html{scroll-behavior:smooth}button{font-family:inherit}::selection{background:rgba(255,130,0,.3);color:#fff}:focus-visible{outline:2px solid #FF8200;outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#111827}::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4b5563}input::placeholder,textarea::placeholder{color:#6b7280}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#374151;border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#FF8200;cursor:pointer;border:2px solid #0a0a0a}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#FF8200;cursor:pointer;border:2px solid #0a0a0a}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px!important}select option{background:#1f2937;color:#e2e8f0}@media (max-width:768px){.blocklyToolboxDiv{width:150px!important}}@media (max-width:480px){body{font-size:14px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFlip{0%{transform:perspective(800px) rotateY(0deg)}to{transform:perspective(800px) rotateY(180deg)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(-60px) rotate(-8deg) scale(.7)}60%{opacity:1;transform:translateY(6px) rotate(1deg) scale(1.03)}to{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}}@keyframes cardPlay{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:.6;transform:translateY(-80px) scale(.9)}to{opacity:0;transform:translateY(-120px) scale(.7)}}@keyframes toastIn{0%{opacity:0;transform:translateX(100%) translateY(-10px)}to{opacity:1;transform:translateX(0) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(120%)}}@keyframes confettiBurst{0%{opacity:1;transform:translate(0) rotate(0deg) scale(1)}50%{opacity:1}to{opacity:0;transform:translate(var(--confetti-x,80px),var(--confetti-y,-120px)) rotate(var(--confetti-r,1turn)) scale(0)}}@keyframes scorePop{0%{opacity:0;transform:translateY(0) scale(.5)}30%{opacity:1;transform:translateY(-20px) scale(1.3)}60%{opacity:1;transform:translateY(-35px) scale(1)}to{opacity:0;transform:translateY(-60px) scale(.8)}}@keyframes glowPulse{0%,to{box-shadow:0 0 6px rgba(255,130,0,.4)}50%{box-shadow:0 0 20px rgba(255,130,0,.7),0 0 40px rgba(255,130,0,.3)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes playerJoin{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{opacity:1;transform:scale(1.15) translateY(-4px)}70%{transform:scale(.95) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes readyPulse{0%,to{box-shadow:0 0 0 0 rgba(125,85,199,.6)}50%{box-shadow:0 0 0 12px rgba(125,85,199,0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes modalIn{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.85) translateY(20px)}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes progressStripe{0%{background-position:0 0}to{background-position:40px 0}}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes shake{0%,to{transform:translateX(0)}15%{transform:translateX(-6px)}30%{transform:translateX(5px)}45%{transform:translateX(-4px)}60%{transform:translateX(3px)}75%{transform:translateX(-2px)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}main>div{animation:fadeIn .35s ease-out}.card-hover{transition:transform .25s ease,box-shadow .25s ease}.card-hover:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,.4),0 0 0 1px rgba(255,130,0,.15)}.card-flip{animation:cardFlip .5s ease-in-out forwards;transform-style:preserve-3d}.card-deal{animation:cardDeal .5s ease-out backwards;animation-delay:calc(var(--deal-i, 0) * .1s)}.card-play{animation:cardPlay .4s ease-in forwards}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;padding:.75rem 1.25rem;border-radius:10px;background:#1f2937;color:#f3f4f6;border-left:4px solid #ff8200;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:toastIn .4s ease-out;max-width:360px;font-size:.9rem}.toast.toast-success{border-left-color:#10b981}.toast.toast-error{border-left-color:#ef4444}.toast.toast-info{border-left-color:#7D55C7}.toast.toast-dismiss{animation:toastOut .35s ease-in forwards}.confetti-piece{width:8px;height:8px;border-radius:2px;animation:confettiBurst .9s ease-out forwards}.confetti-piece,.score-pop{position:absolute;pointer-events:none}.score-pop{font-weight:800;font-size:1.5rem;color:#FBDB65;text-shadow:0 2px 8px rgba(0,0,0,.6);animation:scorePop .9s ease-out forwards}.btn-glow{animation:glowPulse 2s ease-in-out infinite}.btn-ripple{position:relative;overflow:hidden}.btn-ripple .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);width:20px;height:20px;animation:ripple .6s ease-out forwards;pointer-events:none}.player-join{animation:playerJoin .5s ease-out}.ready-pulse{animation:readyPulse 1.5s ease-in-out infinite}.blocklyToolboxDiv::-webkit-scrollbar{width:6px}.blocklyToolboxDiv::-webkit-scrollbar-track{background:#111827;border-radius:3px}.blocklyToolboxDiv::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.blocklyToolboxDiv::-webkit-scrollbar-thumb:hover{background:#FF8200}.blocklyTreeRow:hover{background:rgba(255,130,0,.1)!important;transition:background .15s ease}.blocklyTreeRow.blocklyTreeSelected{background:rgba(255,130,0,.2)!important}.skeleton{background:linear-gradient(90deg,#1f2937 25%,#2d3a4d 50%,#1f2937 75%);background-size:800px 100%;animation:shimmer 1.5s linear infinite;border-radius:6px}.skeleton-text{height:1rem;width:100%;margin-bottom:.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:.75rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{height:160px;width:100%}.modal-overlay{animation:overlayFade .25s ease-out}.modal-content{animation:modalIn .3s ease-out}.modal-content.modal-exit{animation:modalOut .25s ease-in forwards}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) scale(.9);padding:.35rem .65rem;border-radius:6px;background:#1f2937;color:#f3f4f6;font-size:.78rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;box-shadow:0 4px 12px rgba(0,0,0,.4);border:1px solid #374151;z-index:9000}[data-tooltip]:hover:after{opacity:1;transform:translateX(-50%) scale(1)}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1f2937;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:9000}[data-tooltip]:hover:before{opacity:1}.progress-bar{height:12px;background:#1f2937;overflow:hidden}.progress-bar,.progress-bar-fill{position:relative;border-radius:6px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#FF8200,#FBDB65);transition:width .4s ease}.progress-bar-fill.striped:after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.12) 25%,transparent 0,transparent 50%,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 75%,transparent 0,transparent);background-size:40px 40px;animation:progressStripe 1s linear infinite}.badge-pulse,.live-dot{animation:badgePulse 1.2s ease-in-out infinite}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;vertical-align:middle;margin-right:4px}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;animation:badgePulse 1.5s ease-in-out infinite}.shake{animation:shake .45s ease-in-out}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:.5rem .75rem;background:#1f2937;border-radius:12px}.typing-indicator span{display:block;width:7px;height:7px;border-radius:50%;background:#9ca3af;animation:typingBounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.animate-fade-in{animation:fadeIn .35s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .45s ease-in-out}.animate-score{animation:scorePop .9s ease-out forwards}.animate-deal{animation:cardDeal .5s ease-out backwards}@keyframes countdownPop{0%{opacity:0;transform:scale(3)}30%{opacity:1;transform:scale(.9)}60%{opacity:1;transform:scale(1.05)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes trophyBounce{0%{transform:scale(0) rotate(-20deg)}50%{transform:scale(1.3) rotate(5deg)}70%{transform:scale(.9) rotate(-3deg)}to{transform:scale(1) rotate(0deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes timerUrgent{0%,to{color:#ef4444;transform:scale(1)}50%{color:#fbbf24;transform:scale(1.1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes revealCard{0%{opacity:0;transform:perspective(600px) rotateY(90deg) scale(.8)}60%{opacity:1;transform:perspective(600px) rotateY(-5deg) scale(1.02)}to{opacity:1;transform:perspective(600px) rotateY(0deg) scale(1)}}@keyframes bgParticle{0%{opacity:0;transform:translateY(0) scale(0)}20%{opacity:.15}to{opacity:0;transform:translateY(-100vh) scale(1)}}.animate-countdown{animation:countdownPop .8s ease-out both}.animate-trophy{animation:trophyBounce .6s ease-out both}.animate-float{animation:float 3s ease-in-out infinite}.animate-timer-urgent{animation:timerUrgent .5s ease-in-out infinite}.animate-slide-right{animation:slideInRight .4s ease-out}.animate-reveal{animation:revealCard .5s ease-out both}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}.bg-particles{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.bg-particle{position:absolute;bottom:-20px;width:6px;height:6px;border-radius:50%;background:#FF8200;animation:bgParticle 6s ease-in infinite}.countdown-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,.85);z-index:100}.countdown-number{font-size:8rem;font-weight:900;color:#FF8200;text-shadow:0 0 40px rgba(255,130,0,.5);animation:countdownPop .8s ease-out both}.hand-card{transition:transform .2s ease,box-shadow .2s ease,margin .2s ease;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hand-card:hover{transform:translateY(-14px) scale(1.04)!important;z-index:10}.hand-card.selected{transform:translateY(-20px) scale(1.06)!important;box-shadow:0 0 20px rgba(255,130,0,.5),0 0 0 2px #FF8200!important;z-index:11}.submission-card{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.submission-card:hover{transform:translateY(-6px) scale(1.03)}.submission-card.winner{box-shadow:0 0 30px rgba(251,219,101,.5),0 0 0 3px #FBDB65}