.notification-bell-container{position:relative}.notification-bell-btn{background:transparent;border:none;padding:var(--spacing-sm);cursor:pointer;position:relative;border-radius:var(--radius-md);transition:all var(--transition-fast)}.notification-bell-btn:hover{background:var(--bg-tertiary)}.notification-bell-btn.has-notifications .bell-icon{animation:bellShake .5s ease-in-out}.bell-icon{font-size:1.3rem}.notification-badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:.65rem;font-weight:var(--font-weight-bold);min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px}@keyframes bellShake{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}75%{transform:rotate(10deg)}}.notification-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-sm);width:320px;max-height:400px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1000;overflow:hidden;display:flex;flex-direction:column}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.notification-header h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.notification-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.notification-count{background:var(--primary);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 8px;border-radius:var(--radius-full)}.btn-refresh{background:transparent;border:none;padding:4px;cursor:pointer;font-size:1rem;opacity:.7;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.btn-refresh:hover{opacity:1;background:var(--bg-tertiary);transform:rotate(180deg)}.notification-content{flex:1;overflow-y:auto;max-height:300px}.notification-empty{padding:var(--spacing-2xl);text-align:center;color:var(--text-muted)}.notification-empty span{font-size:2rem;display:block;margin-bottom:var(--spacing-sm);opacity:.5}.notification-empty p{margin:0;font-size:var(--font-size-sm)}.notification-section{padding:var(--spacing-sm) 0}.notification-section h4{margin:0;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.notification-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:background var(--transition-fast)}.notification-item:hover{background:var(--bg-tertiary)}.notification-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;font-weight:var(--font-weight-bold);color:var(--text-secondary);border:2px solid var(--border-default)}.notification-avatar.game{background:var(--primary);border-color:var(--primary)}.notification-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.notification-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-text{font-size:var(--font-size-xs);color:var(--text-muted)}.notification-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.notification-actions button{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all var(--transition-fast)}.notification-actions .btn-accept{background:var(--green);color:#fff}.notification-actions .btn-accept:hover:not(:disabled){background:var(--green-dark, #059669);transform:scale(1.1)}.notification-actions .btn-reject{background:var(--bg-tertiary);color:var(--text-muted)}.notification-actions .btn-reject:hover:not(:disabled){background:var(--red);color:#fff;transform:scale(1.1)}.notification-actions button:disabled{opacity:.5;cursor:not-allowed}.notification-footer{padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-default);background:var(--bg-secondary)}.btn-view-all{width:100%;padding:var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-view-all:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary)}@media (max-width: 480px){.notification-dropdown{width:280px;right:-50px}}.friends-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s ease-out}.friends-panel{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;border:2px solid rgba(168,85,247,.3);box-shadow:0 20px 60px #00000080,0 0 40px #a855f733;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;animation:panelSlideIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes panelSlideIn{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.friends-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid rgba(255,255,255,.1)}.friends-panel-header h2{margin:0;background:linear-gradient(135deg,#f59e0b,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.4rem;font-weight:700}.friends-panel-close{background:#ffffff1a;border:none;font-size:1.2rem;color:#999;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.friends-panel-close:hover{background:#ef444433;color:#ef4444;transform:rotate(90deg)}.friends-tabs{display:flex;border-bottom:2px solid rgba(255,255,255,.1);padding:0 16px;gap:4px}.friends-tab{flex:1;padding:12px 8px;background:transparent;border:none;color:#fff9;font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.friends-tab:hover{color:#ffffffe6;background:#ffffff0d}.friends-tab.active{color:#a855f7;border-bottom-color:#a855f7}.friends-tab .badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.friends-content{flex:1;overflow-y:auto;padding:16px}.friends-list{display:flex;flex-direction:column;gap:12px}.friends-empty{text-align:center;padding:40px 20px;color:#ffffff80}.friends-empty p{margin:8px 0}.friends-empty .hint{font-size:.85rem;color:#ffffff4d}.friend-card{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;transition:all .2s ease}.friend-card:hover{background:#ffffff14;border-color:#a855f74d}.friend-avatar,.request-avatar,.result-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}.friend-avatar img,.request-avatar img,.result-avatar img{width:100%;height:100%;object-fit:cover}.friend-info,.request-info,.result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.friend-name,.request-name,.result-name{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-tag{color:var(--text-muted, #888);font-size:.75em;font-weight:400;margin-left:4px;opacity:.7}.friend-since{font-size:.75rem;color:#fff6}.friend-actions,.request-actions,.result-actions{display:flex;gap:8px;flex-shrink:0}.btn-invite{width:36px;height:36px;border-radius:8px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-invite:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 15px #10b98166}.btn-remove{width:36px;height:36px;border-radius:8px;border:none;background:#ef444433;color:#ef4444;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-remove:hover:not(:disabled){background:#ef44444d;transform:scale(1.1)}.requests-section h3{font-size:.9rem;color:#fff9;margin:16px 0 12px;text-transform:uppercase;letter-spacing:.05em}.requests-section h3:first-child{margin-top:0}.requests-list{display:flex;flex-direction:column;gap:10px}.request-card{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px}.request-card.sent{opacity:.7}.request-message{font-size:.8rem;color:#ffffff80;font-style:italic}.request-status{font-size:.75rem;color:#f59e0bcc}.btn-accept{width:36px;height:36px;border-radius:8px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.btn-accept:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 15px #10b98166}.btn-reject{width:36px;height:36px;border-radius:8px;border:none;background:#ef444433;color:#ef4444;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-reject:hover:not(:disabled){background:#ef44444d;transform:scale(1.1)}.btn-cancel{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff9;font-size:.8rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#ffffff1a;color:#fff}.empty-message{text-align:center;color:#fff6;font-size:.9rem;padding:20px}.search-section{display:flex;flex-direction:column;gap:16px}.search-bar{display:flex;gap:8px}.search-bar input{flex:1;padding:12px 16px;border:2px solid rgba(255,255,255,.1);border-radius:10px;background:#1e2332cc;color:#fff;font-size:1rem;outline:none;transition:all .2s ease}.search-bar input::placeholder{color:#fff6}.search-bar input:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f733}.btn-search{width:48px;border-radius:10px;border:none;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.btn-search:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #a855f766}.btn-search:disabled{opacity:.5;cursor:not-allowed}.search-results{display:flex;flex-direction:column;gap:10px}.search-result-card{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px}.status-badge{padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:600}.status-badge.friend{background:#10b98133;color:#10b981}.status-badge.pending{background:#f59e0b33;color:#f59e0b}.btn-add-friend{padding:8px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-friend:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #a855f766}.invitations-section{display:flex;flex-direction:column;gap:12px}.invitations-list{display:flex;flex-direction:column;gap:10px}.invitation-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#10b9811a,#a855f71a);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:14px;animation:invitationPulse 2s ease-in-out infinite}@keyframes invitationPulse{0%,to{box-shadow:0 0 #10b98133}50%{box-shadow:0 0 20px 5px #10b9811a}}.invitation-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.invitation-info{flex:1;display:flex;flex-direction:column;gap:2px}.invitation-sender{font-weight:600;color:#fff}.invitation-expires{font-size:.75rem;color:#fff6}.invitation-actions{display:flex;gap:8px;flex-shrink:0}.btn-join{padding:10px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-join:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #10b98166}.btn-decline{width:36px;height:36px;border-radius:8px;border:none;background:#ef444433;color:#ef4444;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-decline:hover:not(:disabled){background:#ef44444d;transform:scale(1.1)}.friends-content::-webkit-scrollbar{width:6px}.friends-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.friends-content::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:3px}.friends-content::-webkit-scrollbar-thumb:hover{background:#a855f780}@media (max-width: 480px){.friends-panel{width:95%;max-height:90vh}.friends-tabs{padding:0 8px}.friends-tab{padding:10px 4px;font-size:.75rem}.friend-actions{flex-direction:column;gap:4px}.btn-invite,.btn-remove{width:32px;height:32px}}.navbar{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-default)}.navbar-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;height:70px}.navbar-brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.navbar-brand:hover{transform:scale(1.02)}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-md)}.navbar-item{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal)}.navbar-item:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--text-primary);transform:translateY(-2px)}.navbar-item.active{background:#6366f11a;border-color:var(--primary);color:var(--primary)}.navbar-user{display:flex;align-items:center;gap:var(--spacing-md);padding-left:var(--spacing-lg);border-left:1px solid var(--border-default)}.navbar-username{color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.navbar-logout{background:transparent;color:var(--red);border:2px solid var(--red);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal)}.navbar-logout:hover{background:var(--red);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.navbar-container{flex-direction:column;height:auto;padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md)}.navbar-brand{font-size:var(--font-size-lg)}.navbar-menu{flex-wrap:wrap;justify-content:center;width:100%}.navbar-user{border-left:none;border-top:1px solid var(--border-default);padding-left:0;padding-top:var(--spacing-md);width:100%;justify-content:center}.navbar-item{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.navbar-username{font-size:var(--font-size-sm)}.navbar-logout{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.landing-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);color:var(--text-primary);animation:fadeIn var(--transition-slow);position:relative;overflow:hidden}.landing-page:before,.landing-page:after{content:"";position:absolute;border-radius:50%;opacity:.2;pointer-events:none}.landing-page:before{top:10%;left:5%;width:250px;height:250px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%)}.landing-page:after{bottom:10%;right:5%;width:300px;height:300px;background:radial-gradient(circle,rgba(249,115,22,.2) 0%,transparent 70%)}.landing-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);position:relative;z-index:1}.landing-header{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl) var(--spacing-2xl);animation:fadeInUp .6s ease-out}.landing-header h1{font-size:clamp(2.5rem,8vw,4.5rem);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-black);background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:2px;text-transform:uppercase}.tagline{font-size:var(--font-size-xl);color:var(--text-secondary);font-weight:var(--font-weight-medium);animation:fadeInUp .8s ease-out .2s both}.landing-main{padding:var(--spacing-2xl);animation:fadeInUp 1s ease-out .3s both}.hero{text-align:center;padding:var(--spacing-3xl);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);margin-bottom:var(--spacing-3xl);box-shadow:var(--shadow-xl);border:1px solid var(--border-default);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.03) 50%,transparent 60%);animation:shine 10s linear infinite;pointer-events:none}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.hero h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg);color:var(--text-primary);font-weight:var(--font-weight-bold);position:relative;z-index:1}.hero p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2xl);color:var(--text-secondary);line-height:1.7;position:relative;z-index:1;max-width:550px;margin-left:auto;margin-right:auto}.btn-large{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-3xl)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px;z-index:1}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl),var(--shadow-glow-primary);background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%)}.btn-primary:active{transform:translateY(-1px)}.login-link{margin-top:var(--spacing-xl);font-size:var(--font-size-base);position:relative;z-index:1;color:var(--text-muted)}.login-link a{color:var(--orange);text-decoration:none;font-weight:var(--font-weight-bold);border-bottom:2px solid transparent;transition:all var(--transition-fast);padding-bottom:2px}.login-link a:hover{color:var(--orange-light);border-bottom-color:var(--orange-light)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl);padding:var(--spacing-xl)}.feature{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-normal);border:1px solid var(--border-default);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.feature:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:var(--shadow-xl);background:var(--bg-card-hover)}.feature-icon{font-size:3.5rem;margin-bottom:var(--spacing-lg);display:inline-block;transition:transform var(--transition-normal)}.feature:hover .feature-icon{transform:scale(1.1)}.feature h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--text-primary);font-weight:var(--font-weight-bold)}.feature p{color:var(--text-secondary);line-height:1.7;font-size:var(--font-size-base)}.landing-footer{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);border-top:1px solid var(--border-default);margin-top:var(--spacing-3xl);color:var(--text-muted);font-size:var(--font-size-sm)}.landing-footer p{margin:var(--spacing-sm) 0}.landing-footer a{color:var(--primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.landing-footer a:hover{color:var(--primary-light)}@media (max-width: 768px){.landing-page:before,.landing-page:after{width:150px;height:150px}.landing-header{padding:var(--spacing-2xl) var(--spacing-md)}.tagline{font-size:var(--font-size-lg)}.landing-main{padding:var(--spacing-md)}.hero{padding:var(--spacing-2xl) var(--spacing-lg)}.hero h2{font-size:var(--font-size-2xl)}.hero p{font-size:var(--font-size-base)}.btn-large{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-2xl);width:100%}.features{grid-template-columns:1fr;gap:var(--spacing-lg)}.feature{padding:var(--spacing-xl) var(--spacing-lg)}.feature-icon{font-size:3rem}}@media (max-width: 480px){.landing-header h1{font-size:2rem}.hero{padding:var(--spacing-xl)}.feature{padding:var(--spacing-lg)}}@media (prefers-reduced-motion: reduce){.landing-page,.landing-header,.landing-main,.hero,.feature{animation:none}.landing-page:before,.landing-page:after{animation:none}.btn-primary,.feature,.feature-icon{transition:none}.btn-primary:hover,.feature:hover,.feature:hover .feature-icon{transform:none}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);padding:var(--spacing-lg);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-50%;right:-20%;width:80%;height:80%;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.auth-page:after{content:"";position:absolute;bottom:-30%;left:-10%;width:60%;height:60%;background:radial-gradient(circle,rgba(249,115,22,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.auth-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);max-width:450px;width:100%;position:relative;z-index:1;animation:fadeInUp .6s ease-out}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h1{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.error-message{background:#ef44441a;border-left:4px solid var(--red);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--red-light);font-weight:var(--font-weight-semibold);animation:slideIn .3s ease-out}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-sans);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-normal)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{outline:none;border-color:var(--primary);background:var(--bg-secondary);box-shadow:0 0 0 3px #6366f133}.form-group input:disabled{background:var(--bg-dark);cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-primary)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.auth-footer{text-align:center;margin-top:var(--spacing-xl);color:var(--text-secondary)}.auth-footer p{margin:var(--spacing-sm) 0;font-size:var(--font-size-base)}.auth-footer a{color:var(--orange);text-decoration:none;font-weight:var(--font-weight-bold);transition:all var(--transition-fast)}.auth-footer a:hover{color:var(--orange-light);text-decoration:underline}@media (max-width: 480px){.auth-card{padding:var(--spacing-xl) var(--spacing-lg)}.auth-header h1{font-size:var(--font-size-2xl)}.auth-header p{font-size:var(--font-size-base)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s ease-out}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.modal-close{background:var(--bg-tertiary);border:none;font-size:var(--font-size-lg);color:var(--text-muted);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-normal)}.modal-close:hover{background:#ef444426;color:var(--red);transform:rotate(90deg)}.modal-body{padding:var(--spacing-xl)}.form-section{margin-bottom:var(--spacing-xl)}.form-label{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.form-hint{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-muted);margin-top:var(--spacing-xs)}.form-select{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:2px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}.form-select:hover{border-color:#6366f180}.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.form-select option{background:var(--bg-primary);color:var(--text-primary);padding:var(--spacing-md)}.form-select option:disabled{color:var(--text-muted)}.loading-friends{padding:var(--spacing-md);color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.no-friends-hint{padding:var(--spacing-md);color:var(--text-muted);font-size:var(--font-size-sm);background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center}.selected-friend-preview{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-md);color:var(--primary-light);font-size:var(--font-size-sm)}.balance-info{background:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-top:var(--spacing-xl);border:1px solid var(--border-default)}.balance-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;font-size:var(--font-size-base);color:var(--text-secondary)}.balance-row:first-child{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-default);margin-bottom:var(--spacing-xs)}.balance-amount{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--orange)}.balance-amount.negative{color:var(--red)}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--border-default)}.btn-primary,.btn-secondary{flex:1;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s ease;border:none;position:relative;overflow:hidden}.btn-primary:after,.btn-secondary:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.btn-primary:active:after,.btn-secondary:active:after{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-primary)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--bg-tertiary);cursor:not-allowed;box-shadow:none;color:var(--text-muted)}.btn-secondary{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:#6366f11a;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary:active{transform:translateY(0)}@media (max-width: 768px){.modal-content{width:95%;margin:var(--spacing-lg)}.modal-header h2{font-size:var(--font-size-xl)}.modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.lobby-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:var(--spacing-xl);display:flex;justify-content:center;align-items:flex-start}.lobby-container{width:100%;max-width:1200px;animation:fadeIn .5s ease}.lobby-header{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-xl);align-items:center;position:relative;overflow:hidden}.lobby-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(99,102,241,.08) 0%,transparent 50%);pointer-events:none}.lobby-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);color:var(--text-primary);text-align:center;margin:0;position:relative;z-index:1;letter-spacing:3px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap}.lobby-title .title-icon{color:var(--primary);font-size:1.1em;margin-right:var(--spacing-xs)}.lobby-title .title-accent{color:var(--orange);font-weight:var(--font-weight-extrabold)}.lobby-stats{display:flex;gap:var(--spacing-xl);justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.stat-item{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--border-default);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:150px;transition:all var(--transition-normal)}.stat-item:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:var(--shadow-md)}.stat-item.rooms{border-color:#6366f14d}.stat-item.players{border-color:#f973164d}.stat-label{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);color:var(--primary)}.stat-value.coins,.stat-value.gold{color:var(--orange)}.lobby-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.btn-friends{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-xl)}.btn-create-room{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-3xl);position:relative;z-index:1}.rooms-section{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-default)}.rooms-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.btn-refresh{background:transparent;border:2px solid var(--primary);color:var(--primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-base)}.btn-refresh:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-xl)}.room-card{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md);transition:all var(--transition-normal);position:relative;overflow:hidden}.room-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(99,102,241,.03) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.room-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-xl)}.room-card:hover:before{opacity:1}.room-card-header{margin-bottom:var(--spacing-sm)}.room-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.room-players{font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) 0}.room-entry-fee{font-size:var(--font-size-base);color:var(--text-secondary);padding:var(--spacing-sm) 0;display:flex;align-items:center;gap:var(--spacing-xs)}.room-entry-value{color:var(--orange);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.room-points-limit{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-xs)}.room-points-value{color:var(--primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.room-status{margin:var(--spacing-sm) 0}.btn-join{width:100%;margin-top:auto;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-line{height:20px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#6366f114,#6366f126,#6366f114);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out}.skeleton-line.title{width:70%;height:24px}.skeleton-line.short{width:50%;height:16px}.skeleton-line.medium{width:60%;height:18px}.skeleton-btn{width:100%;height:44px;margin-top:auto;border-radius:var(--radius-md);background:linear-gradient(90deg,#6366f11a,#6366f12e,#6366f11a);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out}.no-rooms{text-align:center;padding:var(--spacing-3xl);color:var(--text-secondary)}.no-rooms p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.no-rooms .text-muted{font-size:var(--font-size-base);color:var(--text-muted)}@media (max-width: 1024px){.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}}@media (max-width: 768px){.lobby-page{padding:var(--spacing-md)}.lobby-header{padding:var(--spacing-xl)}.lobby-title{font-size:var(--font-size-3xl)}.lobby-stats{gap:var(--spacing-md)}.stat-item{min-width:120px;padding:var(--spacing-sm) var(--spacing-md)}.stat-value{font-size:var(--font-size-2xl)}.rooms-section{padding:var(--spacing-lg)}.rooms-header{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.btn-refresh{width:100%}.rooms-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}@media (max-width: 480px){.lobby-title{font-size:var(--font-size-2xl)}.stat-item{min-width:100px}.stat-value{font-size:var(--font-size-xl)}.room-name{font-size:var(--font-size-lg)}.btn-create-room{width:100%}}.room-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:var(--spacing-2xl);display:flex;align-items:center;justify-content:center}.room-container{width:100%;max-width:700px}.room-header{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-xl);text-align:center}.room-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;margin:0 0 var(--spacing-xl) 0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.room-title:before{content:"🎲";font-size:1.2em}.room-info{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.room-info-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-default);min-width:100px}.room-info-item.entry-fee{position:relative}.room-info-item.entry-fee .room-info-value:before{content:"🪙 "}.room-info-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--text-primary)}.room-info-item.players .room-info-value{color:var(--primary)}.room-info-item.entry-fee .room-info-value{color:var(--orange)}.room-info-item.points-limit .room-info-value{color:var(--accent)}.room-info-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.room-status-wrapper{margin-bottom:var(--spacing-xl)}.badge-lg{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-base)}.room-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.btn-invite{min-width:160px}.btn-start{min-width:180px}.btn-leave{min-width:120px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}.btn-leave:hover:not(:disabled){background:#ef444426;border-color:var(--red);color:var(--red)}.players-section{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl);border:1px solid var(--border-default);box-shadow:var(--shadow-lg)}.players-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center;margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-default)}.players-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.player-card{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:2px solid var(--border-default);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);transition:all var(--transition-normal)}.player-card.connected{border-color:var(--primary);background:#6366f114}.player-card.empty{opacity:.5;border-style:dashed}.player-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:2px solid var(--border-default)}.player-card.connected .player-avatar{background:var(--primary);border-color:var(--primary)}.player-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center}.player-card.empty .player-name{color:var(--text-muted);font-weight:var(--font-weight-normal)}.player-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted)}.player-card.connected .player-status{color:var(--green)}@media (max-width: 768px){.room-page{padding:var(--spacing-lg);align-items:flex-start;padding-top:var(--spacing-2xl)}.room-header{padding:var(--spacing-xl)}.room-title{font-size:var(--font-size-xl)}.room-info{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.room-info-item{flex-direction:row;justify-content:space-between;padding:var(--spacing-md)}.room-actions{flex-direction:column}.btn-invite,.btn-start,.btn-leave{width:100%}.players-grid{grid-template-columns:1fr}}@media (max-width: 480px){.room-title{font-size:var(--font-size-lg)}.player-avatar{width:48px;height:48px;font-size:1.4rem}}.turn-timer{width:60px;height:60px;flex-shrink:0;pointer-events:auto;background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px;border-radius:50%;border:1px solid var(--border-default);box-shadow:var(--shadow-lg)}.timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-bg{fill:none;stroke:#ffffff1a;stroke-width:6}.timer-progress{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .1s linear,stroke .3s ease}.timer-text{fill:var(--text-primary);font-size:24px;font-weight:700;text-anchor:middle;dominant-baseline:central;transform:rotate(90deg);transform-origin:50% 50%}.turn-timer.green .timer-progress{stroke:#22c55e}.turn-timer.green .timer-text{fill:#22c55e}.turn-timer.yellow .timer-progress{stroke:#eab308}.turn-timer.yellow .timer-text{fill:#eab308}.turn-timer.red .timer-progress{stroke:#ef4444;animation:timerPulse .5s ease-in-out infinite}.turn-timer.red .timer-text{fill:#ef4444;animation:timerPulse .5s ease-in-out infinite}.turn-timer.opponent .timer-bg{stroke:#ffffff0d}.turn-timer.opponent .timer-text{fill:#ffffff4d;font-size:20px}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.game-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.game-header{background:var(--bg-card);border-bottom:1px solid var(--border-default);padding:var(--spacing-md) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.game-info{display:flex;gap:var(--spacing-xl);align-items:center}.game-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.turn-indicator{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.turn-indicator.my-turn{background:var(--green);color:#fff;animation:pulse 1.5s ease-in-out infinite}.turn-indicator.opponent-turn{background:var(--bg-secondary);color:var(--text-muted)}.btn-exit{background:transparent;border:2px solid var(--red);color:var(--red);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal)}.btn-exit:hover{background:var(--red);color:#fff}.turn-banner{width:100%;padding:var(--spacing-md) var(--spacing-xl);display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:1px;transition:all .3s ease}.turn-banner.my-turn{background:linear-gradient(90deg,#22c55e26,#22c55e40,#22c55e26);border-bottom:3px solid var(--green);color:var(--green);animation:turnPulse 2s ease-in-out infinite}.turn-banner.opponent-turn{background:linear-gradient(90deg,#6366f114,#6366f11f,#6366f114);border-bottom:3px solid var(--primary);color:var(--text-muted)}.turn-text{font-size:var(--font-size-xl)}.turn-phase{background:#ffffff1a;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary)}@keyframes turnPulse{0%,to{box-shadow:0 4px 20px #22c55e26}50%{box-shadow:0 4px 30px #22c55e4d}}.game-board{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg);gap:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.opponent-area{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-default)}.opponent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.player-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.player-name:before{content:"👤 "}.player-points{background:var(--bg-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);color:var(--text-secondary)}.opponent-cards{display:flex;justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap}.center-area{background:linear-gradient(135deg,var(--surface-secondary) 0%,var(--surface-primary) 50%,var(--surface-accent) 100%);border-radius:var(--radius-xl);padding:var(--spacing-2xl);display:flex;justify-content:center;align-items:center;gap:var(--spacing-3xl);min-height:200px;position:relative;border:2px solid var(--border-strong);box-shadow:var(--shadow-xl),inset 0 2px 8px #ffffff08}.center-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.03) 0%,transparent 70%);border-radius:var(--radius-xl);pointer-events:none}.deck-pile,.discard-pile{position:relative;z-index:1}.pile-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.pile-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.5)}.deck-pile button,.discard-pile button{background:none;border:none;cursor:pointer;padding:0;transition:all var(--transition-normal);position:relative}.deck-pile button:hover:not(:disabled),.discard-pile button:hover:not(:disabled){transform:translateY(-10px) scale(1.05);filter:brightness(1.1)}.deck-pile button:not(:disabled),.discard-pile button:not(:disabled){animation:subtleGlow 2s ease-in-out infinite}.deck-pile button:disabled,.discard-pile button:disabled{opacity:.5;cursor:not-allowed}.deck-count{position:absolute;top:-10px;right:-10px;background:var(--primary);color:#fff;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-black);font-size:var(--font-size-sm);border:3px solid white;box-shadow:var(--shadow-md)}.player-area{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-default);transition:all var(--transition-normal)}.player-area.my-turn{border:2px solid var(--primary);animation:borderPulse 2s ease-in-out infinite;background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,var(--bg-card) 50%)}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.player-cards{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg);min-height:140px}.player-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.action-hint{width:100%;text-align:center;padding:var(--spacing-md);background:#6366f11a;border:2px solid var(--primary);border-radius:var(--radius-md);color:var(--primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.action-hint.warning{background:#f973161a;border-color:var(--orange);color:var(--orange)}.btn-action{padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;border:none;transition:all var(--transition-normal);min-width:160px;position:relative;overflow:hidden}.btn-action:not(:disabled){animation:pulse 2s ease-in-out infinite}.btn-action:not(:disabled):hover{animation:none;filter:brightness(1.1)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-discard{background:var(--red);color:#fff}.btn-discard:hover:not(:disabled){background:var(--red-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-knock{background:var(--orange);color:#fff}.btn-knock:hover:not(:disabled){background:var(--orange-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card{width:90px;height:125px;border-radius:var(--radius-md);background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:var(--shadow-md);transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;pointer-events:none}.card:hover{transform:translateY(-10px) scale(1.05);box-shadow:var(--shadow-lg);z-index:10}.card.selected{transform:translateY(-15px) scale(1.08);box-shadow:0 0 0 4px var(--primary),var(--shadow-xl);z-index:20}.card-back{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;cursor:default}.card-back:hover{transform:none}@media (max-width: 1024px){.card{width:75px;height:105px}.center-area{gap:var(--spacing-xl);padding:var(--spacing-xl)}}@media (max-width: 768px){.game-header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.game-info{flex-direction:column;gap:var(--spacing-sm);width:100%}.game-board{padding:var(--spacing-md)}.card{width:65px;height:90px}.center-area{flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg);min-height:auto}.player-cards,.opponent-cards{gap:4px}.player-actions{flex-direction:column}.btn-action{width:100%}}@media (max-width: 480px){.card{width:55px;height:75px}.game-title{font-size:var(--font-size-base)}.pile-label{font-size:var(--font-size-sm)}}.game-container-3d{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);overflow:hidden}.game-3d-frame{width:95%;max-width:1200px;height:85vh;height:85dvh;background:linear-gradient(135deg,var(--bg-dark) 0%,var(--bg-primary) 50%,var(--bg-secondary) 100%);border-radius:16px;border:2px solid var(--border-strong);box-shadow:0 8px 32px #0009,inset 0 0 30px #6366f10d;position:relative;overflow:hidden;animation:framePulse 4s ease-in-out infinite}@keyframes framePulse{0%,to{border-color:var(--border-strong);box-shadow:0 8px 32px #0009,inset 0 0 30px #6366f10d}50%{border-color:#6366f166;box-shadow:0 8px 32px #0009,inset 0 0 30px #6366f114}}.game-3d-frame canvas{width:100%!important;height:100%!important;display:block;touch-action:none;border-radius:12px}.game-ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-lg);z-index:10}.game-scores{display:flex;justify-content:space-between;gap:var(--spacing-md);pointer-events:auto}.score-item{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:120px}.score-item.opponent{border-color:#ef44444d}.score-item.player{border-color:#22c55e4d}.player-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--font-weight-semibold)}.player-score{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--primary)}.action-hint-3d{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-xl);border:2px solid var(--primary);box-shadow:var(--shadow-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center;max-width:80%;pointer-events:auto;animation:fadeIn .3s ease}.action-hint-3d.warning{border-color:var(--red);animation:pulse 1.5s ease-in-out infinite}.game-actions-3d{display:flex;gap:var(--spacing-lg);justify-content:center;pointer-events:auto}.game-actions-3d .btn-action{min-width:150px}@media (max-width: 768px){.game-container-3d{padding:var(--spacing-sm)}.game-3d-frame{width:98%;height:90vh;height:90dvh;border-width:2px}.game-ui-overlay{padding:var(--spacing-md)}.score-item{min-width:100px;padding:var(--spacing-xs) var(--spacing-md)}.player-label{font-size:var(--font-size-xs)}.player-score{font-size:var(--font-size-lg)}.action-hint-3d{font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-lg);max-width:90%}.game-actions-3d{flex-direction:column;width:100%}.game-actions-3d .btn-action{width:100%;min-width:unset}}@media (max-width: 480px){.game-scores{gap:var(--spacing-sm)}.score-item{min-width:80px;padding:var(--spacing-xs) var(--spacing-sm)}.player-score{font-size:var(--font-size-base)}.action-hint-3d{font-size:var(--font-size-sm)}}.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);box-shadow:var(--shadow-lg);min-width:250px;max-width:400px;pointer-events:auto;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.toast-enter{animation:toastSlideIn .3s ease-out}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.toast-success{border-color:var(--success);background:linear-gradient(135deg,rgba(34,197,94,.2) 0%,var(--bg-card) 100%)}.toast-error{border-color:var(--error);background:linear-gradient(135deg,rgba(239,68,68,.2) 0%,var(--bg-card) 100%)}.toast-info{border-color:var(--info);background:linear-gradient(135deg,rgba(59,130,246,.2) 0%,var(--bg-card) 100%)}.toast-warning{border-color:var(--warning);background:linear-gradient(135deg,rgba(255,152,0,.2) 0%,var(--bg-card) 100%)}.toast-icon{font-size:var(--font-size-xl);flex-shrink:0}.toast-message{flex:1;font-size:var(--font-size-base)}@media (max-width: 768px){.toast-container{top:60px;right:10px;left:10px}.toast{min-width:unset;width:100%}}.sound-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;border:2px solid var(--purple);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-normal);font-size:1.5rem;display:flex;align-items:center;justify-content:center;z-index:1000}.sound-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-xl);border-color:var(--purple-light)}.sound-toggle.enabled{background:linear-gradient(135deg,rgba(139,92,246,.2) 0%,var(--bg-card) 100%)}.sound-toggle.disabled{opacity:.6;border-color:var(--text-muted)}@media (max-width: 768px){.sound-toggle{bottom:15px;right:15px;width:45px;height:45px;font-size:1.3rem}}.card{width:80px;height:110px;border-radius:var(--radius-card);position:relative;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.card:hover{transform:translateY(-12px) scale(1.03);box-shadow:var(--shadow-card-hover);z-index:10}.card:active{transform:translateY(-8px) scale(1.01);transition-duration:.1s}.card.selected{transform:translateY(-16px) scale(1.05);box-shadow:var(--shadow-card-selected);border:3px solid var(--gold);z-index:20;animation:pulse 2s ease-in-out infinite}.card-front{background:linear-gradient(135deg,#fff,#fafafa);border:2px solid var(--border-dark);display:flex;flex-direction:column;justify-content:space-between;padding:8px;color:#000;box-shadow:inset 0 1px 2px #fffc;height:100%;border-radius:var(--radius-card)}.card-front.red{color:#dc2626}.card-front.black{color:#1a1a1a}.card-front[style*="color: gold"]{color:var(--gold-dark)!important;font-weight:var(--font-weight-bold)}.card-image{background:#fff;border:2px solid var(--border-dark);padding:0;overflow:hidden;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:calc(var(--radius-card) - 2px);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.card-back-img{background:#fff;border:2px solid var(--border-dark);padding:0;overflow:hidden;cursor:default;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-back-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:calc(var(--radius-card) - 2px);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.card-back-img:hover{transform:none;box-shadow:var(--shadow-card);cursor:default}.card-back{background:linear-gradient(135deg,var(--border-dark) 0%,var(--border-light) 50%,var(--border-dark) 100%);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);cursor:default;border-radius:var(--radius-card);position:relative;overflow:hidden}.card-back:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid var(--gold);border-radius:4px;opacity:.5}.card-back:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid var(--gold);border-radius:2px;opacity:.3}.card-back:hover{transform:none;box-shadow:var(--shadow-card)}.card-pattern{font-size:3.5rem;opacity:.6;text-shadow:0 2px 4px rgba(0,0,0,.3);position:relative;z-index:1}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:var(--font-weight-bold);gap:2px}.card-corner.top-left{align-self:flex-start}.card-corner.bottom-right{align-self:flex-end;transform:rotate(180deg)}.card-value{font-size:1.2rem;font-weight:var(--font-weight-bold);text-shadow:0 1px 2px rgba(0,0,0,.1)}.card-suit{font-size:1rem;line-height:1}.card-suit-emoji{font-size:1.2rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.card-center{display:flex;align-items:center;justify-content:center;flex:1;position:relative}.card-suit-large{font-size:3rem;opacity:.25;text-shadow:0 2px 4px rgba(0,0,0,.05)}.card-suit-large-emoji{font-size:3.5rem;opacity:.35;filter:grayscale(10%) drop-shadow(0 2px 4px rgba(0,0,0,.1))}.card.small{width:60px;height:85px}.card.large{width:100px;height:140px}.card.xl{width:120px;height:165px}.card.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5);pointer-events:none}.card.special{animation:specialGlow 2s ease-in-out infinite}.card.joker{position:relative;overflow:hidden}.card.joker:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.4) 50%,transparent 100%);animation:shimmer 3s linear infinite;pointer-events:none}@keyframes specialGlow{0%,to{box-shadow:var(--shadow-card),0 0 10px #d4af374d}50%{box-shadow:var(--shadow-card-hover),0 0 20px #d4af3799,0 0 30px #d4af374d}}.card.highlighted{border-color:var(--success);box-shadow:var(--shadow-card),0 0 12px #22c55e66}.card.error{border-color:var(--error);box-shadow:var(--shadow-card),0 0 12px #ef444466;animation:shake .5s ease}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.card.flipping{animation:flip .6s ease-in-out}.card.drawing{animation:dealCard .5s ease}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.card.floating{animation:float 3s ease-in-out infinite}@media (max-width: 768px){.card{width:65px;height:90px}.card-value{font-size:1rem}.card-suit{font-size:.85rem}.card-suit-emoji{font-size:1rem}.card-suit-large{font-size:2.5rem}.card-suit-large-emoji{font-size:3rem}.card-pattern{font-size:2.8rem}.card:hover{transform:translateY(-8px) scale(1.02)}.card.selected{transform:translateY(-12px) scale(1.04)}}@media (max-width: 480px){.card{width:55px;height:75px}.card-value{font-size:.9rem}.card-suit{font-size:.75rem}.card-suit-emoji{font-size:.9rem}.card-suit-large{font-size:2rem}.card-suit-large-emoji{font-size:2.5rem}.card-pattern{font-size:2.2rem}.card:hover{transform:translateY(-6px) scale(1.01)}.card.selected{transform:translateY(-10px) scale(1.03)}}.card:focus{outline:3px solid var(--gold);outline-offset:3px}.card:focus:not(:focus-visible){outline:none}.card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media (prefers-reduced-motion: reduce){.card,.card:hover,.card.selected{animation:none;transition:none;transform:none}.card.drawing,.card.flipping,.card.floating,.card.special{animation:none}}@media (max-width: 768px){.card{-webkit-transform:translateZ(0);transform:translateZ(0)}}@media print{.card{box-shadow:none;border:1px solid #000;break-inside:avoid}.card:hover,.card.selected{transform:none;box-shadow:none}}.result-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .5s ease-out;position:relative;overflow:hidden}.result-page.winner:before,.result-page.winner:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;pointer-events:none;animation:float 4s ease-in-out infinite,sparkle 2s ease-in-out infinite}.result-page.winner:before{top:10%;left:10%;background:radial-gradient(circle,rgba(16,185,129,.4) 0%,transparent 70%)}.result-page.winner:after{bottom:10%;right:10%;background:radial-gradient(circle,rgba(245,158,11,.4) 0%,transparent 70%);animation-delay:2s}.result-page.loser:before,.result-page.loser:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;pointer-events:none;animation:float 5s ease-in-out infinite;opacity:.3}.result-page.loser:before{top:15%;right:15%;background:radial-gradient(circle,rgba(239,68,68,.3) 0%,transparent 70%)}.result-page.loser:after{bottom:20%;left:20%;background:radial-gradient(circle,rgba(168,85,247,.3) 0%,transparent 70%);animation-delay:2.5s}.result-container{max-width:700px;width:100%;position:relative;z-index:1}.result-header{text-align:center;margin-bottom:var(--spacing-3xl);animation:fadeInUp .6s ease-out}.result-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-black);text-transform:uppercase;margin-bottom:var(--spacing-md);letter-spacing:3px;position:relative}.result-title.winner{color:var(--green);animation:neonPulse 2s ease-in-out infinite,float 3s ease-in-out infinite;text-shadow:0 0 20px var(--green),0 0 40px var(--green),0 0 60px var(--green)}.result-title.winner:before{content:"🏆 ";font-size:5rem;display:block;margin-bottom:var(--spacing-md);animation:rotate3D 4s ease-in-out infinite}.result-title.loser{color:var(--red);animation:breathe 3s ease-in-out infinite;text-shadow:0 0 15px var(--red),0 0 30px var(--red)}.result-title.loser:before{content:"💔 ";font-size:4rem;display:block;margin-bottom:var(--spacing-md);animation:pulse 2s ease-in-out infinite}.result-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);font-weight:var(--font-weight-bold);letter-spacing:2px;text-transform:uppercase}.result-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--spacing-3xl) var(--spacing-2xl);border:3px solid;box-shadow:var(--shadow-xl),var(--shadow-inset-light);margin-bottom:var(--spacing-2xl);animation:fadeInUp .8s ease-out .2s both;position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;animation:shine 3s ease-in-out infinite;pointer-events:none}.result-card.winner{border-color:var(--green);background:linear-gradient(135deg,rgba(16,185,129,.15) 0%,var(--bg-card) 50%,rgba(245,158,11,.1) 100%);box-shadow:var(--shadow-xl),var(--shadow-glow-green),var(--shadow-inset-light)}.result-card.winner:before{background:linear-gradient(90deg,transparent,rgba(16,185,129,.3),transparent)}.result-card.loser{border-color:var(--red);background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--bg-card) 100%)}.result-card.loser:before{background:linear-gradient(90deg,transparent,rgba(239,68,68,.2),transparent)}.result-icon{font-size:6rem;text-align:center;margin-bottom:var(--spacing-xl)}.result-icon.winner{animation:rotate3D 6s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(16,185,129,.6))}.result-icon.loser{animation:pulse 2.5s ease-in-out infinite;filter:drop-shadow(0 0 15px rgba(239,68,68,.5))}.result-message{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);text-align:center;margin-bottom:var(--spacing-2xl);text-transform:uppercase;letter-spacing:2px}.result-message.winner{color:var(--green);text-shadow:var(--shadow-glow-green)}.result-message.loser{color:var(--red)}.result-player{background:#1e2332b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-2xl);border-radius:var(--radius-lg);text-align:center;margin-bottom:var(--spacing-2xl);border:2px solid rgba(255,255,255,.1)}.result-player-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);color:var(--orange);margin-bottom:var(--spacing-md);text-shadow:var(--shadow-glow-orange)}.result-player-status{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1.5px;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);display:inline-block}.result-player-status.winner{color:#000;background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);box-shadow:var(--shadow-glow-green)}.result-player-status.loser{color:#fff;background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);box-shadow:var(--shadow-md)}.result-player-rank{font-size:var(--font-size-5xl);font-weight:var(--font-weight-black);color:var(--red);margin-top:var(--spacing-lg);text-shadow:var(--text-shadow-lg)}.economy-section{background:#1e2332b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-2xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2xl);border:2px solid rgba(212,175,55,.4);box-shadow:var(--shadow-md)}.economy-section h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--gold);margin-bottom:var(--spacing-xl);text-align:center;text-transform:uppercase;letter-spacing:1.5px;text-shadow:var(--shadow-glow-gold)}.economy-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.economy-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#0003;border-radius:var(--radius-md);font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.economy-row:hover{background:#0000004d;transform:translate(5px)}.economy-row.total{border-top:2px solid rgba(255,255,255,.2);margin-top:var(--spacing-md);padding-top:var(--spacing-lg);font-weight:var(--font-weight-black);background:#d4af371a}.economy-value{font-weight:var(--font-weight-black);font-size:var(--font-size-2xl);font-family:monospace}.economy-value.positive{color:var(--green);text-shadow:var(--shadow-glow-green);animation:neonPulse 2s ease-in-out infinite}.economy-value.negative{color:var(--red)}.economy-value.neutral{color:var(--gold)}.economy-hint{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);font-style:italic}.economy-loading,.economy-error{text-align:center;padding:var(--spacing-2xl)}.economy-loading .loading-spinner{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md);animation:spin 2s linear infinite}.economy-loading p{color:var(--text-secondary);font-size:var(--font-size-lg)}.economy-error p{color:var(--red);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.stat-box{background:#1e2332b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-xl);border-radius:var(--radius-lg);text-align:center;border:2px solid rgba(255,255,255,.1);transition:all var(--transition-normal)}.stat-box:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:var(--shadow-lg)}.stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);color:var(--purple);margin-bottom:var(--spacing-sm);text-shadow:var(--shadow-glow-purple);font-family:monospace}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--font-weight-bold);letter-spacing:1px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);animation:fadeInUp 1s ease-out .4s both}.btn-play-again{grid-column:span 2;font-size:var(--font-size-xl);padding:var(--spacing-xl) var(--spacing-3xl)}@media (max-width: 768px){.result-page{padding:var(--spacing-lg)}.result-page:before,.result-page:after{width:150px;height:150px}.result-title{font-size:var(--font-size-3xl)}.result-title.winner:before,.result-title.loser:before{font-size:3rem}.result-subtitle{font-size:var(--font-size-lg)}.result-card{padding:var(--spacing-2xl) var(--spacing-lg)}.result-icon{font-size:4rem}.result-message{font-size:var(--font-size-xl)}.result-player-name{font-size:var(--font-size-2xl)}.economy-section{padding:var(--spacing-lg)}.economy-value{font-size:var(--font-size-xl)}.result-stats{grid-template-columns:1fr;gap:var(--spacing-md)}.stat-value{font-size:var(--font-size-3xl)}.result-actions{grid-template-columns:1fr;gap:var(--spacing-md)}.btn-play-again{grid-column:span 1}}@media (max-width: 480px){.result-title{font-size:var(--font-size-2xl)}.result-message{font-size:var(--font-size-lg)}.economy-row{flex-direction:column;gap:var(--spacing-xs);text-align:center}}@media (prefers-reduced-motion: reduce){.result-page,.result-header,.result-card,.result-actions{animation:none}.result-page:before,.result-page:after{animation:none}.result-title,.result-icon,.stat-box{animation:none!important}.economy-value.positive{animation:none}.stat-box:hover{transform:none}}.profile-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%)}.profile-header{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 30px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-md);border-bottom:2px solid rgba(255,255,255,.1)}.profile-header h2{color:var(--orange);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.profile-main{max-width:900px;margin:0 auto;padding:40px 20px}.profile-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),var(--shadow-inset-light);border:2px solid rgba(255,255,255,.1);animation:fadeInUp .6s ease-out}.profile-avatar{text-align:center;padding-bottom:30px;border-bottom:2px solid rgba(255,255,255,.1);margin-bottom:30px}.avatar-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;font-size:4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:var(--shadow-lg),var(--shadow-glow-purple);border:3px solid rgba(168,85,247,.3)}.profile-avatar h1{color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);margin-bottom:8px}.profile-email{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:15px}.profile-level{display:inline-block;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);color:#000;padding:8px 20px;border-radius:var(--radius-full);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-md)}.profile-stats{margin-bottom:30px}.profile-stats h2{color:var(--orange);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin-bottom:20px;text-align:center;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.stat-item{background:#1e233299;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:20px;text-align:center;transition:all var(--transition-normal)}.stat-item:hover{border-color:var(--purple);transform:translateY(-4px);box-shadow:var(--shadow-lg);background:#1e2332cc}.stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);color:var(--purple);margin-bottom:8px;text-shadow:var(--shadow-glow-purple)}.stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.profile-actions{text-align:center;margin-bottom:30px}.btn-logout{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;border:none;padding:15px 40px;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.5px}.btn-logout:hover{background:linear-gradient(135deg,var(--red-light) 0%,var(--red) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.coming-soon{background:#a855f71a;border:2px dashed var(--purple);border-radius:var(--radius-lg);padding:25px;text-align:center}.coming-soon h3{color:var(--purple);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:15px}.coming-soon ul{list-style:none;padding:0;color:var(--text-secondary)}.coming-soon li{padding:8px 0;font-size:var(--font-size-base)}.profile-loading,.profile-error{text-align:center;padding:60px 20px;background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid rgba(255,255,255,.1)}.loading-spinner{font-size:4rem;margin-bottom:20px;animation:spin 2s linear infinite}.profile-error p{color:var(--red);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:20px}.btn-retry{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;border:none;padding:12px 30px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.btn-retry:hover{background:linear-gradient(135deg,var(--purple-light) 0%,var(--purple) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-xp{color:var(--text-secondary);font-size:var(--font-size-base);margin-top:10px;font-weight:var(--font-weight-semibold)}.profile-wallet{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid rgba(255,255,255,.1)}.profile-wallet h2{color:var(--orange);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin-bottom:20px;text-align:center;text-transform:uppercase}.wallet-balance{text-align:center;margin-bottom:20px}.balance-amount{font-size:var(--font-size-5xl);font-weight:var(--font-weight-black);color:var(--gold);text-shadow:var(--shadow-glow-gold);animation:breathe 4s ease-in-out infinite}.wallet-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.wallet-stat{background:#1e233299;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:15px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-normal)}.wallet-stat:hover{border-color:var(--gold);transform:translate(5px);background:#1e2332cc}.wallet-stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.wallet-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.wallet-stat-value.positive{color:var(--green)}.wallet-stat-value.negative{color:var(--red)}.stats-extra{margin-top:20px;padding-top:20px;border-top:2px solid rgba(255,255,255,.1)}.stat-row{display:flex;justify-content:space-between;padding:12px 20px;background:#1e233299;border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);margin-bottom:10px;transition:all var(--transition-normal)}.stat-row:hover{border-color:var(--purple);transform:translate(5px);background:#1e2332cc}.stat-row span:first-child{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.stat-highlight{color:var(--purple);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.profile-history{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid rgba(255,255,255,.1)}.profile-history h2{color:var(--orange);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin-bottom:20px;text-align:center;text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:15px;padding:15px 20px;border-radius:var(--radius-md);transition:all var(--transition-normal);border:2px solid transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.history-item.victory{background:#10b9811a;border-color:#10b9814d}.history-item.defeat{background:#ef44441a;border-color:#ef44444d}.history-item:hover{transform:translate(5px);box-shadow:var(--shadow-md)}.history-result{font-weight:var(--font-weight-bold);font-size:var(--font-size-base);text-transform:uppercase}.history-item.victory .history-result{color:var(--green)}.history-item.defeat .history-result{color:var(--red)}.history-score{font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center}.history-coins{font-weight:var(--font-weight-bold);text-align:center}.history-item.victory .history-coins{color:var(--green)}.history-item.defeat .history-coins{color:var(--red)}.history-date{color:var(--text-muted);font-size:var(--font-size-sm);text-align:right}.history-more{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);margin-top:15px;font-style:italic}.profile-quick-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.btn-friends,.btn-ranking{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;border:2px solid transparent}.btn-friends{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;border:none}.btn-friends:hover{background:linear-gradient(135deg,var(--purple-light) 0%,var(--purple) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-purple)}.btn-ranking{background:linear-gradient(135deg,var(--gold) 0%,var(--orange) 100%);color:#000}.btn-ranking:hover{background:linear-gradient(135deg,var(--orange) 0%,var(--gold) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-gold)}.history-filters{display:flex;gap:10px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);background:#1e233299;color:var(--text-secondary);border:2px solid rgba(255,255,255,.1)}.filter-btn:hover{border-color:var(--purple);color:var(--text-primary)}.filter-btn.active{background:var(--purple);color:#fff;border-color:var(--purple)}.filter-btn.wins.active{background:var(--green);border-color:var(--green)}.filter-btn.losses.active{background:var(--red);border-color:var(--red)}.history-pagination{text-align:center;margin-top:20px}.btn-load-more{padding:12px 30px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;border:none}.btn-load-more:hover:not(:disabled){background:linear-gradient(135deg,var(--purple-light) 0%,var(--purple) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.history-empty{text-align:center;color:var(--text-muted);font-style:italic;padding:20px}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-avatar{width:120px;height:120px;border-radius:50%;margin:0 auto 20px}.skeleton-name{width:200px;height:32px;margin:0 auto 12px}.skeleton-email{width:250px;height:20px;margin:0 auto 15px}.skeleton-level{width:100px;height:36px;margin:0 auto;border-radius:var(--radius-full)}.skeleton-title{width:200px;height:28px;margin:0 auto 20px}.skeleton-balance{width:180px;height:48px;margin:0 auto 20px}.skeleton-stat{height:60px}.skeleton-stat-box{height:100px;border-radius:var(--radius-lg)}@media (max-width: 768px){.profile-card{padding:25px 20px}.avatar-circle{width:100px;height:100px;font-size:3rem}.profile-avatar h1{font-size:var(--font-size-2xl)}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:var(--font-size-3xl)}.balance-amount{font-size:var(--font-size-4xl)}.wallet-stats{grid-template-columns:1fr}.history-item{grid-template-columns:1fr;gap:8px}.history-score,.history-coins,.history-date{text-align:left}}.ranking-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%)}.ranking-main{max-width:900px;margin:0 auto;padding:40px 20px}.ranking-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.ranking-header h1{color:var(--gold);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);text-shadow:var(--shadow-glow-gold);flex:1;text-align:center}.btn-back{color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:10px 20px;border-radius:var(--radius-md);background:#ffffff0d;border:2px solid rgba(255,255,255,.1);transition:all var(--transition-normal)}.btn-back:hover{color:var(--text-primary);border-color:var(--purple);transform:translate(-5px)}.ranking-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.tab-btn{padding:12px 24px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);background:#1e233299;color:var(--text-secondary);border:2px solid rgba(255,255,255,.1)}.tab-btn:hover{border-color:var(--purple);color:var(--text-primary)}.tab-btn.active{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;border-color:var(--purple);box-shadow:var(--shadow-glow-purple)}.ranking-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid rgba(255,255,255,.1);animation:fadeInUp .5s ease-out}.ranking-podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;margin-bottom:40px;padding:20px}.podium-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;border-radius:var(--radius-lg);background:#1e233299;border:2px solid rgba(255,255,255,.1);transition:all var(--transition-normal);position:relative}.podium-item.gold{border-color:var(--gold);box-shadow:0 0 30px #ffd7004d;transform:scale(1.1)}.podium-item.silver{border-color:silver;box-shadow:0 0 20px #c0c0c04d}.podium-item.bronze{border-color:#cd7f32;box-shadow:0 0 20px #cd7f324d}.podium-item.is-me{background:#6366f133;border-color:var(--purple)}.podium-badge{font-size:2.5rem;margin-bottom:10px}.podium-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:10px;overflow:hidden}.podium-avatar img{width:100%;height:100%;object-fit:cover}.podium-name{color:var(--text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);margin-bottom:5px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-value{color:var(--gold);font-weight:var(--font-weight-black);font-size:var(--font-size-lg)}.podium-stand{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:80%;height:20px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.podium-item.gold .podium-stand{background:linear-gradient(135deg,var(--gold),#ffd700);height:30px}.podium-item.silver .podium-stand{background:linear-gradient(135deg,silver,#e8e8e8);height:20px}.podium-item.bronze .podium-stand{background:linear-gradient(135deg,#cd7f32,#daa520);height:15px}.ranking-table{display:flex;flex-direction:column;gap:8px}.ranking-row{display:grid;grid-template-columns:50px 50px 1fr auto auto;align-items:center;gap:15px;padding:15px 20px;background:#1e233299;border:2px solid rgba(255,255,255,.05);border-radius:var(--radius-md);transition:all var(--transition-normal)}.ranking-row:hover{border-color:#ffffff1a;transform:translate(5px);background:#1e2332cc}.ranking-row.is-me{background:#6366f126;border-color:var(--purple)}.rank-position{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--text-muted);text-align:center}.rank-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:1.2rem;overflow:hidden}.rank-avatar img{width:100%;height:100%;object-fit:cover}.rank-name{color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.rank-stats{color:var(--text-muted);font-size:var(--font-size-sm)}.rank-value{color:var(--purple);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);text-align:right}.ranking-loading,.ranking-error{text-align:center;padding:40px;background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid rgba(255,255,255,.1)}.ranking-skeleton{display:flex;flex-direction:column;gap:10px}.skeleton-row{height:60px;border-radius:var(--radius-md)}.ranking-error p{color:var(--red);font-size:var(--font-size-lg);margin-bottom:20px}.ranking-empty{text-align:center;padding:40px;color:var(--text-muted)}@media (max-width: 768px){.ranking-header{flex-direction:column;gap:15px}.ranking-header h1{font-size:var(--font-size-2xl)}.ranking-podium{flex-direction:column;align-items:center}.podium-item{width:100%;max-width:200px}.podium-item.gold{transform:scale(1);order:1!important}.podium-item.silver{order:2!important}.podium-item.bronze{order:3!important}.ranking-row{grid-template-columns:40px 40px 1fr auto;gap:10px;padding:12px 15px}.rank-stats{display:none}.ranking-tabs{gap:5px}.tab-btn{padding:10px 15px;font-size:var(--font-size-sm)}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%)}.error-boundary-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:50px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid rgba(239,68,68,.3);text-align:center;max-width:500px;width:100%;animation:fadeInUp .5s ease-out}.error-icon{font-size:5rem;margin-bottom:20px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-boundary-card h1{color:var(--red);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);margin-bottom:15px}.error-message{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:25px;line-height:1.6}.error-details{background:#0000004d;border-radius:var(--radius-md);padding:15px;margin-bottom:25px;text-align:left}.error-details summary{color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);margin-bottom:10px}.error-details pre{color:var(--red);font-size:var(--font-size-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:15px;justify-content:center}.error-boundary .btn-retry{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;border:none;padding:14px 28px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal)}.error-boundary .btn-retry:hover{background:linear-gradient(135deg,var(--purple-light) 0%,var(--purple) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.error-boundary .btn-home{background:transparent;color:var(--text-secondary);border:2px solid rgba(255,255,255,.2);padding:14px 28px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal)}.error-boundary .btn-home:hover{border-color:var(--purple);color:var(--text-primary);transform:translateY(-2px)}@media (max-width: 768px){.error-boundary-card{padding:30px 20px}.error-icon{font-size:4rem}.error-actions{flex-direction:column}}:root{--bg-primary: #1a1d2e;--bg-secondary: #242838;--bg-tertiary: #2d3348;--bg-dark: #13151f;--bg-card: rgba(36, 40, 56, .9);--bg-card-hover: rgba(45, 51, 72, .95);--surface-primary: #1e3a5f;--surface-secondary: #162d4a;--surface-accent: #2a4d7a;--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--orange: #f97316;--orange-light: #fb923c;--orange-dark: #ea580c;--accent: #14b8a6;--accent-light: #2dd4bf;--accent-dark: #0d9488;--purple: #8b5cf6;--purple-light: #a78bfa;--purple-dark: #7c3aed;--green: #22c55e;--green-light: #4ade80;--green-dark: #16a34a;--red: #ef4444;--red-light: #f87171;--red-dark: #dc2626;--blue: #3b82f6;--blue-light: #60a5fa;--blue-dark: #2563eb;--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-accent: #f97316;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--shadow-card: 0 4px 12px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .4);--shadow-card-selected: 0 12px 32px rgba(99, 102, 241, .3), 0 0 0 3px var(--primary);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow-primary: 0 0 20px rgba(99, 102, 241, .4);--shadow-glow-accent: 0 0 20px rgba(20, 184, 166, .4);--shadow-glow-orange: 0 0 20px rgba(249, 115, 22, .4);--shadow-inset: inset 0 2px 8px rgba(0, 0, 0, .2);--shadow-inset-light: inset 0 0 30px rgba(255, 255, 255, .03);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--radius-card: 10px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-sans: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--text-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--text-shadow-md: 0 2px 4px rgba(0, 0, 0, .4);--text-shadow-lg: 0 4px 8px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dealCard{0%{opacity:0;transform:translateY(-50px) scale(.5) rotate(-10deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes discardCard{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(50px) scale(.8)}}@keyframes subtleGlow{0%,to{box-shadow:0 0 8px #6366f14d}50%{box-shadow:0 0 16px #6366f180}}@keyframes borderPulse{0%,to{border-color:var(--primary);box-shadow:0 0 #6366f14d}50%{border-color:var(--primary-light);box-shadow:0 0 0 6px #6366f100}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.pulse{animation:pulse 2s ease-in-out infinite}.deal-animation{animation:dealCard .4s ease-out}.discard-animation{animation:discardCard .3s ease-in forwards}.subtle-glow{animation:subtleGlow 2s ease-in-out infinite}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}.float{animation:float 3s ease-in-out infinite}.fade-in-up{animation:fadeInUp .5s ease-out}.fade-in-right{animation:fadeInRight .5s ease-out}.slide-in{animation:slideIn .4s ease-out}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-align:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.btn:active:after{width:250px;height:250px;opacity:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:after{display:none}.btn-orange{background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-orange:hover:not(:disabled){background:linear-gradient(135deg,var(--orange-light) 0%,var(--orange) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-orange)}.btn-orange:active:not(:disabled){transform:translateY(0)}.btn-purple{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-purple:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-primary)}.btn-purple:active:not(:disabled){transform:translateY(0)}.btn-green{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-green:hover:not(:disabled){background:linear-gradient(135deg,var(--green-light) 0%,var(--green) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 20px #22c55e66}.btn-green:active:not(:disabled){transform:translateY(0)}.btn-blue{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-blue:hover:not(:disabled){background:linear-gradient(135deg,var(--blue-light) 0%,var(--blue) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 20px #3b82f666}.btn-blue:active:not(:disabled){transform:translateY(0)}.btn-outline{background:transparent;color:var(--text-secondary);border:2px solid var(--border-strong)}.btn-outline:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);text-transform:uppercase}.badge-green{background:#22c55e26;color:var(--green);border:1px solid rgba(34,197,94,.3)}.badge-red{background:#ef444426;color:var(--red);border:1px solid rgba(239,68,68,.3)}.badge-orange{background:#f9731626;color:var(--orange);border:1px solid rgba(249,115,22,.3)}.badge-purple{background:#6366f126;color:var(--primary);border:1px solid rgba(99,102,241,.3)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);transition:all var(--transition-normal)}.card:hover{background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.text-orange{color:var(--orange)}.text-purple{color:var(--primary)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.font-bold{font-weight:var(--font-weight-bold)}.font-black{font-weight:var(--font-weight-black)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-default);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){html{font-size:14px}.btn{padding:var(--spacing-sm) var(--spacing-lg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
