*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden}:root{--primary: #00d4aa;--primary-dark: #00b894;--secondary: #6c5ce7;--accent: #fd79a8;--success: #00b894;--warning: #fdcb6e;--danger: #e17055;--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .3)}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,.h1{font-size:3rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--space-lg)}h2,.h2{font-size:2.25rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--space-md)}h3,.h3{font-size:1.5rem;font-weight:600;line-height:1.4;margin-bottom:var(--space-sm)}h4,.h4{font-size:1.25rem;font-weight:500;line-height:1.4;margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-sm);color:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,170,.05) 0%,rgba(108,92,231,.05) 100%);z-index:-1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:12px 24px;font-size:.875rem;font-weight:500;font-family:var(--font-family);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden;white-space:nowrap;user-select:none}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 16px #00d4aa4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00d4aa66}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);backdrop-filter:blur(20px)}.btn-secondary:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#00a085 100%);color:#fff;box-shadow:0 4px 16px #00b8944d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00b89466}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#d63031 100%);color:#fff;box-shadow:0 4px 16px #e170554d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px #e1705566}.btn-large{padding:16px 32px;font-size:1rem;border-radius:var(--radius-lg)}.btn-small{padding:8px 16px;font-size:.75rem}.form-group{margin-bottom:var(--space-lg)}.form-control{width:100%;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:.875rem;backdrop-filter:blur(20px);transition:all .2s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00d4aa1a;background:rgba(255,255,255,.08)}.form-control::placeholder{color:var(--text-muted)}label{display:block;font-weight:500;margin-bottom:var(--space-xs);color:var(--text-primary)}.hero{text-align:center;padding:var(--space-2xl) 0;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%);margin-top:0}#player-game-container .hero{margin-bottom:var(--space-xl)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(0,212,170,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(108,92,231,.1) 0%,transparent 50%);z-index:0}.hero-content{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.hero-title{font-size:4rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-lg);letter-spacing:-.03em}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-xl);line-height:1.6}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);margin:var(--space-2xl) 0}.action-card{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,170,.05) 0%,rgba(108,92,231,.05) 100%);z-index:-1}.action-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:var(--shadow-xl)}.action-card h3{color:var(--text-primary);margin-bottom:var(--space-sm);font-size:1.5rem;font-weight:600}.action-card p{color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.buzzer-button{background:linear-gradient(135deg,var(--danger) 0%,#d63031 100%);color:#fff;border:none;border-radius:50%;width:200px;height:200px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin:var(--space-lg) auto;box-shadow:0 8px 32px #e170554d;position:relative;overflow:hidden}.buzzer-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 12px 48px #e1705566}.buzzer-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.game-status{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;margin:var(--space-lg) 0}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-open{background:rgba(0,184,148,.2);color:var(--success);border:1px solid rgba(0,184,148,.3)}.status-locked{background:rgba(253,203,110,.2);color:var(--warning);border:1px solid rgba(253,203,110,.3)}.status-buzzed{background:rgba(225,112,85,.2);color:var(--danger);border:1px solid rgba(225,112,85,.3)}.players-list{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin:var(--space-lg) 0}.player-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--glass-border);transition:all .2s ease}.player-item:hover{background:rgba(255,255,255,.05);border-radius:var(--radius-sm)}.player-item:last-child{border-bottom:none}.player-name{font-weight:500;color:var(--text-primary);flex:1}.winner-badge{background:linear-gradient(135deg,var(--success) 0%,#00a085 100%);color:#fff;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;margin-right:var(--space-sm)}.btn-danger{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-danger:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.admin-header{text-align:center;margin-bottom:var(--space-2xl)}.admin-header h1{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm)}.admin-header p{font-size:1.125rem;color:var(--text-secondary)}.game-info{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl)}.game-details{display:grid;gap:var(--space-md)}.detail-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--glass-border)}.detail-item:last-child{border-bottom:none}.detail-item strong{color:var(--text-primary);font-weight:600;min-width:120px}.game-code,.admin-token{font-family:var(--font-mono);background:var(--bg-tertiary);padding:4px 8px;border-radius:var(--radius-sm);font-size:.875rem}.game-controls{text-align:center;margin:var(--space-xl) 0}.control-hint{color:var(--text-secondary);font-size:.875rem;margin-top:var(--space-sm)}.waiting-state{text-align:center}.waiting-message{color:var(--text-primary);font-size:1.125rem;font-weight:500;margin-bottom:var(--space-lg)}.share-section{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-top:var(--space-xl)}.share-link{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-md)}.share-link input{flex:1;background:var(--bg-tertiary);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-mono);font-size:.875rem}.error{background:rgba(225,112,85,.1);border:1px solid rgba(225,112,85,.3);color:var(--danger);padding:var(--space-lg);border-radius:var(--radius-md);margin:var(--space-lg) 0}.winner-message{color:var(--success);font-size:1.5rem;font-weight:700;margin:var(--space-lg) 0;text-align:center}@media (max-width: 768px){.container{padding:0}.glass-card,.admin-header,.player-header,.teams-section,.game-controls,.waiting-state{margin-left:var(--space-md);margin-right:var(--space-md)}.glass-card:has(.features-grid),.glass-card:has(.steps){padding-left:0;padding-right:0;margin-left:0;margin-right:0}.hero-title{font-size:2.5rem}.action-cards{grid-template-columns:1fr}.share-link{flex-direction:column;align-items:stretch}.buzzer-button{width:150px;height:150px;font-size:1.25rem}.game-details{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}@media (max-width: 480px){.hero-title{font-size:2rem}.buzzer-button{width:120px;height:120px;font-size:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in{animation:fadeIn .6s ease-out}.pulse{animation:pulse 2s infinite}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-xs)}.mb-2{margin-bottom:var(--space-sm)}.mb-3{margin-bottom:var(--space-md)}.mb-4{margin-bottom:var(--space-lg)}.mb-5{margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mt-3{margin-top:var(--space-md)}.mt-4{margin-top:var(--space-lg)}.mt-5{margin-top:var(--space-xl)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:800px;gap:var(--space-lg);justify-content:center;margin:0 auto}.feature{text-align:center;padding:var(--space-lg)}.feature-icon{font-size:2rem;margin-bottom:var(--space-md);color:var(--primary)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:800px;gap:var(--space-lg);list-style:none;counter-reset:step-counter;padding:0;margin:0 auto}.step{text-align:center;padding:var(--space-lg);position:relative;counter-increment:step-counter}.step:before{content:counter(step-counter);width:60px;height:60px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto var(--space-md);box-shadow:0 4px 16px #00d4aa4d}.step h4{color:var(--text-primary);margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:600}.step p{color:var(--text-secondary);line-height:1.6}.teams-section{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin:var(--space-lg) 0}.teams-section h3{color:var(--text-primary);margin-bottom:var(--space-lg);font-size:1.5rem;font-weight:600}.team-management{margin-bottom:var(--space-lg)}.team-form{display:flex;gap:var(--space-md);align-items:center}.team-form .form-group{margin-bottom:0;flex:1;display:flex;gap:var(--space-md);align-items:center}.team-form .form-control{margin-bottom:0}.no-teams{text-align:center;padding:var(--space-xl);color:var(--text-secondary)}.teams-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.team-item{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);transition:all .2s ease}.team-item:hover{background:rgba(255,255,255,.08);border-color:var(--primary)}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.team-header h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.team-members{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.team-member{background:var(--primary);color:#fff;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.no-members{color:var(--text-muted);font-size:.875rem;font-style:italic;margin:0}.team-box{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:all .3s ease;position:relative;overflow:visible}.team-box:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,170,.05) 0%,rgba(108,92,231,.05) 100%);z-index:-1;border-radius:var(--radius-lg);overflow:hidden}.team-box:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 8px 32px #00d4aa33}.team-box .team-header h4{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--space-sm) 0}.team-box .team-members{margin-bottom:var(--space-sm)}.team-box .team-member{background:var(--primary);color:#fff;padding:6px 12px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;display:inline-block;margin:2px}.join-hint{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin:var(--space-sm) 0 0 0}.team-actions{text-align:center;margin-top:var(--space-lg)}.team-actions .btn{margin:0 var(--space-xs)}.team-winner{border-color:var(--success)!important;background:rgba(0,184,148,.1)!important;box-shadow:0 4px 16px #00b89433!important}.team-winner-badge{background:linear-gradient(135deg,var(--success) 0%,#00a085 100%);color:#fff;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-right:var(--space-sm);box-shadow:0 2px 8px #00b8944d}.winner-player{background:linear-gradient(135deg,var(--success) 0%,#00a085 100%)!important;color:#fff!important;font-weight:600!important;box-shadow:0 2px 8px #00b8944d!important;animation:pulse 2s infinite}.winner-team{color:var(--success);font-weight:600;font-style:italic;margin-left:var(--space-xs)}.team-disabled{opacity:.6;cursor:not-allowed!important;pointer-events:none}.team-disabled:hover{transform:none!important;border-color:var(--glass-border)!important;box-shadow:none!important}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--glass-border);padding:var(--space-lg);text-align:center;margin-top:var(--space-2xl)}.app-footer p{color:var(--text-secondary);font-size:.875rem;margin:0}.app-footer a{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s ease}.app-footer a:hover{color:var(--primary-dark);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus,input:focus,a:focus{outline:2px solid var(--primary);outline-offset:2px}.skip-link{position:absolute;top:-9999px;left:6px;background:var(--primary);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000}.skip-link:focus{top:6px}.toast{position:fixed;top:20px;right:20px;background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);color:var(--text-primary);font-weight:500;box-shadow:var(--glass-shadow);z-index:1000;transform:translate(100%);transition:all .3s ease;max-width:300px;opacity:0;pointer-events:none}.toast.show{transform:translate(0);opacity:1;pointer-events:auto}.toast.success{border-left:4px solid var(--success)}.toast.info{border-left:4px solid var(--primary)}.toast.warning{border-left:4px solid var(--warning)}.toast.danger{border-left:4px solid var(--danger)}.toast-content{display:flex;align-items:center;gap:var(--space-sm)}.toast-icon{font-size:1.2em}.toast-message{flex:1}@media (max-width: 768px){.toast{top:10px;right:10px;left:10px;max-width:none}}.team-points{margin:var(--space-md) 0;padding:var(--space-md);background:rgba(255,255,255,.1);border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.2)}.points-display{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.points-label{font-weight:600;color:var(--text-primary)}.points-value{font-size:1.2em;font-weight:700;color:var(--primary);background:rgba(255,255,255,.2);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);min-width:2em;text-align:center}.points-controls{display:flex;gap:var(--space-xs);flex-wrap:wrap}.points-controls .btn{font-size:.8em;padding:var(--space-xs) var(--space-sm);min-width:2.5em}.team-points-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700;border:2px solid white;box-shadow:0 2px 4px #0003}
