:root{--bg-primary: #0f172a;--bg-secondary: #1e1b4b;--bg-card: rgba(255, 255, 255, .07);--bg-card-border: rgba(255, 255, 255, .12);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--purple: #a855f7;--pink: #ec4899;--cyan: #06b6d4;--green: #22c55e;--red: #ef4444;--yellow: #eab308;--gradient-main: linear-gradient(135deg, #a855f7, #ec4899);--gradient-bg: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%);--radius: 16px;--radius-sm: 10px;--shadow: 0 8px 32px rgba(0, 0, 0, .3);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font);background:var(--gradient-bg);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:16px}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3}.orb-1{width:400px;height:400px;background:var(--purple);top:-100px;right:-100px;animation:orbFloat 20s ease-in-out infinite}.orb-2{width:350px;height:350px;background:var(--pink);bottom:-80px;left:-80px;animation:orbFloat 25s ease-in-out infinite reverse}.orb-3{width:300px;height:300px;background:var(--cyan);top:50%;left:50%;transform:translate(-50%,-50%);animation:orbFloat 30s ease-in-out infinite}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.1)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(40px,30px) scale(1.05)}}.home{position:relative;z-index:1;width:100%;max-width:440px}.home-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--bg-card-border);border-radius:var(--radius);padding:48px 32px;text-align:center;box-shadow:var(--shadow)}.home-icons{font-size:56px;margin-bottom:24px;display:flex;justify-content:center;gap:16px}.home-icon{display:inline-block}.bounce-1{animation:iconBounce 2s ease-in-out infinite}.bounce-2{animation:iconBounce 2s ease-in-out .3s infinite}.bounce-3{animation:iconBounce 2s ease-in-out .6s infinite}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.home-title{font-size:32px;font-weight:900;background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:-.5px}.home-subtitle{color:var(--text-secondary);font-size:16px;margin-bottom:32px}.home-footer{margin-top:28px;color:var(--text-muted);font-size:13px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-weight:600;font-size:15px;border:none;border-radius:var(--radius-sm);padding:12px 24px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-main);color:#fff;box-shadow:0 4px 16px #a855f74d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #a855f766}.btn-secondary{background:#ffffff14;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover:not(:disabled){background:#ffffff1f;color:var(--text-primary)}.btn-large{font-size:18px;padding:16px 40px;border-radius:14px;width:100%}.btn-small{font-size:13px;padding:8px 16px;margin-top:16px}.btn-copy{background:var(--gradient-main);color:#fff;border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 20px;font-size:14px;white-space:nowrap}.btn-copy:hover{opacity:.9}.btn-loading{display:flex;align-items:center;gap:8px}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner.large{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--red);font-size:14px;margin-top:16px}.game{position:relative;z-index:1;width:100%;max-width:500px}.game-header{text-align:center;margin-bottom:16px}.game-score-bar{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--bg-card-border);border-radius:var(--radius);padding:10px 20px;font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.score-divider{opacity:.3}.score-label{white-space:nowrap}.round-badge{display:inline-block;margin-top:8px;padding:4px 14px;background:var(--gradient-main);border-radius:20px;font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px}.game-content{position:relative}.game-status-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--bg-card-border);border-radius:var(--radius);padding:36px 28px;text-align:center;box-shadow:var(--shadow)}.game-status-card h2{font-size:22px;font-weight:800;margin:16px 0 8px}.game-status-card p{color:var(--text-secondary);font-size:14px}.room-full-icon{font-size:48px;margin-bottom:8px}.ready-check{font-size:48px;display:block;animation:popIn .5s ease}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.waiting-animation{margin-bottom:16px}.waiting-heart{font-size:56px;display:inline-block}.pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.share-section{margin-top:16px;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.link-box{display:flex;gap:0;margin:12px 0}.link-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:12px 14px;font-size:13px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);outline:none;font-family:var(--font);min-width:0}.link-input:focus{border-color:var(--purple)}.countdown-container{margin:20px 0}.countdown-label{font-size:13px;color:var(--text-muted);margin-bottom:8px}.countdown-number{font-size:72px;font-weight:900;background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:countPulse 1s ease-in-out}.countdown-urgent{background:linear-gradient(135deg,var(--red),var(--yellow));-webkit-background-clip:text;background-clip:text}@keyframes countPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.choice-buttons{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}.choice-btn{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:16px 12px;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:100px;flex:1;max-width:140px}.choice-btn:hover{border-color:var(--purple);background:#a855f71a;transform:translateY(-4px);box-shadow:0 8px 24px #a855f733}.choice-btn:active{transform:translateY(-1px)}.choice-selected{border-color:var(--purple)!important;background:#a855f733!important;box-shadow:0 0 20px #a855f74d}.choice-img{width:64px;height:64px;object-fit:contain}.choice-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.selected-icon{width:64px;height:64px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto;animation:popIn .4s ease}.selected-sub{font-size:12px;color:var(--text-muted);margin-top:8px;font-style:italic}.opponent-ready-text{color:var(--green);font-weight:600;margin-top:12px;font-size:14px;animation:fadeSlideUp .4s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-waiting{margin-top:16px}.reveal-shimmer{height:120px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.result-card{overflow:hidden;position:relative;padding-top:48px}.result-title{font-size:24px;font-weight:900;margin-bottom:24px;animation:resultPop .6s cubic-bezier(.175,.885,.32,1.275)}.title-win{color:var(--green);text-shadow:0 0 30px rgba(34,197,94,.3)}.title-lose{color:var(--red)}.title-draw{color:var(--yellow)}@keyframes resultPop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.result-vs-container{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:28px;flex-wrap:wrap}.result-reveal{text-align:center;flex:1;min-width:120px}.result-player-label{font-size:12px;color:var(--text-muted);margin-bottom:8px;font-weight:600}.result-choice-large{background:#ffffff0d;border-radius:var(--radius);padding:20px 16px;border:2px solid rgba(255,255,255,.08)}.result-choice-img{width:80px;height:80px;object-fit:contain;display:block;margin:0 auto 8px}.result-choice-text{font-size:14px;font-weight:600}.result-win .result-choice-large{border-color:#22c55e4d}.result-lose .result-choice-large{border-color:#ef44444d}.result-draw .result-choice-large{border-color:#eab3084d}.shake-in{animation:shakeIn .5s ease-out}@keyframes shakeIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}40%{transform:scale(1.1) rotate(5deg)}70%{transform:scale(.95) rotate(-3deg)}to{transform:scale(1) rotate(0);opacity:1}}.vs-badge{font-size:20px;font-weight:900;color:var(--text-muted);background:#ffffff0d;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.result-actions .btn{flex:1;min-width:140px}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:10}.confetti-piece{position:absolute;top:-20px;border-radius:2px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(500px) rotate(720deg);opacity:0}}.selecting-sub{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.name-card{max-width:400px}.name-icons{display:flex;justify-content:center;gap:16px;margin-bottom:20px}.name-icon-float{animation:iconBounce 2s ease-in-out infinite}.name-icon-float.delay-1{animation-delay:.3s}.name-icon-float.delay-2{animation-delay:.6s}.name-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.name-input{width:100%;padding:14px 18px;font-size:16px;font-family:var(--font);background:#0000004d;border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;margin-bottom:16px;transition:border-color .2s;text-align:center}.name-input:focus{border-color:var(--purple)}.name-input::placeholder{color:var(--text-muted)}.no-choice{color:var(--red);font-style:italic}.fade-in{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.home-card{padding:32px 20px}.home-title{font-size:26px}.home-icons{font-size:44px}.game-status-card{padding:28px 16px}.game-status-card h2{font-size:18px}.choice-btn{min-width:85px;padding:12px 8px}.choice-img{width:52px;height:52px}.countdown-number{font-size:56px}.result-vs-container{gap:12px}.result-choice-img{width:64px;height:64px}.game-score-bar{font-size:11px;gap:8px;padding:8px 12px}.link-input{font-size:11px;padding:10px 12px}}@media (max-width: 360px){.choice-buttons{gap:8px}.choice-btn{min-width:75px}}
