.public-home{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg)}.container{max-width:600px;width:100%}.hero{text-align:center;margin-bottom:var(--spacing-3xl)}.hero-title{font-size:var(--font-size-6xl);font-weight:800;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);animation-delay:.2s}.content{animation-delay:.4s}.game-description{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl);border:1px solid var(--color-border-light)}.game-description h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.features{list-style:none;margin-top:var(--spacing-lg);padding:0}.features li{padding:var(--spacing-sm) 0;font-size:var(--font-size-lg)}.actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}@media (max-width: 768px){.hero-title{font-size:var(--font-size-5xl)}.hero-subtitle{font-size:var(--font-size-lg)}.game-description{padding:var(--spacing-lg)}}.qr-display{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.qr-container{background:#fff;padding:var(--spacing-md);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.qr-text{font-size:var(--font-size-xl);font-weight:600;margin:0}.qr-url{font-size:var(--font-size-lg);color:var(--color-primary);margin:0;font-family:var(--font-family-mono)}.timer{display:inline-flex;align-items:center;justify-content:center}.timer-value{font-size:var(--font-size-5xl);font-weight:700;font-family:var(--font-family-mono);color:var(--color-primary);text-shadow:0 0 20px rgba(72,144,230,.5)}.timer.warning .timer-value{color:var(--color-warning);animation:pulse 1s ease-in-out infinite}.timer.danger .timer-value{color:var(--color-error);animation:pulse .5s ease-in-out infinite}@media (max-width: 768px){.timer-value{font-size:var(--font-size-4xl)}}.top-players{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-light)}.title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);text-align:center}.no-players{text-align:center;color:var(--color-text-muted);padding:var(--spacing-xl) 0}.players-list{display:flex;flex-direction:column;gap:var(--spacing-sm);position:relative}.player-item{display:flex;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .3s ease,background-color .3s ease;position:relative;overflow:hidden;transform:translateY(calc(var(--position) * 0px))}.player-item.new{animation:slideInRight .5s ease-out forwards}.player-item.up{animation:pulseUp .6s ease-out}.player-item.down{animation:pulseDown .6s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes pulseUp{0%{background-color:var(--color-bg-secondary)}50%{background-color:var(--color-success-bg);transform:scale(1.02)}to{background-color:var(--color-bg-secondary);transform:scale(1)}}@keyframes pulseDown{0%{background-color:var(--color-bg-secondary)}50%{background-color:var(--color-error-bg);transform:scale(.98)}to{background-color:var(--color-bg-secondary);transform:scale(1)}}.player-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:transparent;transition:background-color var(--transition-base)}.player-item:hover{transform:translate(4px)}.position-gold:before{background-color:gold}.position-silver:before{background-color:silver}.position-bronze:before{background-color:#cd7f32}.position{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;margin-right:var(--spacing-md)}.player-info{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.nickname{font-size:var(--font-size-lg);font-weight:500}.status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.disconnected{opacity:.6}.score{display:flex;align-items:baseline;gap:var(--spacing-xs)}.score-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.score-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.position-indicator{position:absolute;right:-30px;font-size:var(--font-size-xl);font-weight:700;animation:slideIndicator .6s ease-out forwards}.position-indicator.up{color:var(--color-success)}.position-indicator.down{color:var(--color-error)}.position-indicator.new{color:var(--color-primary)}@keyframes slideIndicator{0%{right:-30px;opacity:0}50%{right:10px;opacity:1}to{right:10px;opacity:0}}@media (max-width: 768px){.player-item{padding:var(--spacing-sm)}.position{width:32px;height:32px;font-size:var(--font-size-lg)}.nickname{font-size:var(--font-size-base)}.score-value{font-size:var(--font-size-lg)}}.public-game{min-height:100vh;padding:var(--spacing-xl)}.loading-state{display:flex;align-items:center;justify-content:center}.message{text-align:center;font-size:var(--font-size-xl);color:var(--color-text-muted)}.no-game-state{text-align:center;padding:var(--spacing-3xl) 0}.no-game-state h1{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-lg)}.waiting-state{text-align:center;animation:fadeIn .5s ease-in-out}.game-name{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xl);color:var(--color-primary)}.qr-section{margin:var(--spacing-2xl) 0}.players-count{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-2xl)}.count-number{font-size:var(--font-size-5xl);font-weight:700;color:var(--color-secondary)}.count-label{font-size:var(--font-size-xl);color:var(--color-text-secondary)}.in-progress-state{animation:slideUp .3s ease-out}.game-header{text-align:center;margin-bottom:var(--spacing-2xl)}.game-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.game-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-border-light);transition:transform var(--transition-base)}.stat-card:hover{transform:translateY(-2px)}.stat-card.success{border-color:var(--color-success);background-color:var(--color-success-bg)}.stat-card.error{border-color:var(--color-error);background-color:var(--color-error-bg)}.stat-value{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-base);color:var(--color-text-secondary)}.top-players-section{max-width:600px;margin:0 auto}.finished-state{text-align:center;animation:fadeIn .5s ease-in-out}.finished-state h1{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-2xl)}.final-stats{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.stat-group h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.stat-group p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.top-players-final{max-width:600px;margin:0 auto}.answer-popup{position:fixed;top:30%;left:50%;transform:translate(-50%) translateY(-10px) scale(.95);background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-2xl);box-shadow:0 10px 40px #0003;opacity:0;transition:all .3s ease-out;z-index:1000;border:2px solid;max-width:400px;width:90%}.answer-popup.show{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.answer-popup.correct{border-color:var(--color-success);background-color:var(--color-success-bg)}.answer-popup.incorrect{border-color:var(--color-error);background-color:var(--color-error-bg)}.answer-player{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-sm)}.answer-result{font-size:var(--font-size-2xl);font-weight:700}.animated-number{transition:all .5s ease-out}.game-stats.animated .stat-card{animation:pulse .3s ease-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.progress-bar-container{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--radius-lg)}.progress-label{text-align:center;font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.progress-bar{height:20px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;position:absolute;top:0;transition:width .5s ease-out}.progress-fill.correct{background:var(--color-success);left:0}.progress-fill.incorrect{background:var(--color-error);right:0}@media (max-width: 768px){.public-game{padding:var(--spacing-md)}.game-name{font-size:var(--font-size-3xl)}.count-number{font-size:var(--font-size-5xl)}.stat-value,.game-header h1{font-size:var(--font-size-3xl)}.answer-popup{width:90%;max-width:350px}}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);max-width:600px;margin:0 auto}.option-button{position:relative;padding:var(--spacing-xl);min-height:120px;background-color:var(--color-bg-elevated);border:3px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);overflow:hidden;display:flex;align-items:center;justify-content:center}.option-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,transparent,transparent);opacity:0;transition:opacity var(--transition-base)}.option-button:not(.disabled):hover{transform:scale(1.02);border-color:var(--color-primary);box-shadow:0 0 20px #4890e64d}.option-button:not(.disabled):active{transform:scale(.98)}.option-button.disabled{cursor:not-allowed;opacity:.8}.option-button.correct{background-color:var(--color-success-bg);border-color:var(--color-success);animation:correctPulse .3s ease-in-out}.option-button.correct:before{background:radial-gradient(circle at center,var(--color-success),transparent);opacity:.3}.option-button.wrong{background-color:var(--color-error-bg);border-color:var(--color-error);animation:shake .3s ease-in-out}.option-button.unselected{opacity:.5}.option-button.pending{background-color:var(--color-pending-bg);border-color:var(--color-pending);animation:pendingShake .3s ease-in-out}.option-button.pending:before{background:radial-gradient(circle at center,var(--color-pending),transparent);opacity:.3}.option-text{font-size:var(--font-size-2xl);font-weight:600;z-index:1;position:relative}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@keyframes pendingShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@media (max-width: 768px){.options-grid{gap:var(--spacing-sm)}.option-button{min-height:100px;padding:var(--spacing-lg)}.option-text{font-size:var(--font-size-xl)}}@media (max-width: 480px){.option-button{min-height:80px;padding:var(--spacing-md)}.option-text{font-size:var(--font-size-lg)}}.player-page{min-height:100vh;padding:var(--spacing-lg);display:flex;align-items:center;justify-content:center}.registration-state{text-align:center;animation:slideUp .3s ease-out}.registration-state h1{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.registration-form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:400px;margin:0 auto}.registration-form input{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-lg);text-align:center}.error-message{color:var(--color-error);font-size:var(--font-size-base);margin:0;font-weight:500}.error-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.connection-status{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all .3s ease}.connection-status.connected{display:none}.status-indicator{width:8px;height:8px;border-radius:50%;transition:all .3s ease}.connection-status.connected .status-indicator{background-color:var(--color-success);animation:pulse 2s infinite}.connection-status.connecting{background-color:#fbbf241a;color:var(--color-warning)}.connection-status.connecting .status-indicator{background-color:var(--color-warning);animation:pulse 1s infinite}.connection-status.disconnected{background-color:#ef44441a;color:var(--color-error)}.connection-status.disconnected .status-indicator{background-color:var(--color-error)}.connection-detail{display:none;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.connection-status.disconnected+.connection-detail,.connection-status.connecting+.connection-detail{display:flex}.backend-url{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:monospace;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-elevated);border-radius:var(--radius-sm)}.connection-help{font-size:var(--font-size-sm);color:var(--color-warning);font-style:italic}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.error-container{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.error-container .btn-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.waiting-state{text-align:center;animation:fadeIn .3s ease-in-out}.waiting-state h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl)}.waiting-tip{margin-top:var(--spacing-xl);color:var(--color-text-secondary)}.playing-state{width:100%;animation:slideUp .3s ease-out}.game-header{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.player-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.nickname{font-size:var(--font-size-xl);font-weight:600}.score{font-size:var(--font-size-lg);color:var(--color-primary);font-weight:600}.progress{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center}.question-section{text-align:center}.question{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);min-height:80px;display:flex;align-items:center;justify-content:center}.feedback{font-size:var(--font-size-2xl);font-weight:700;margin-top:var(--spacing-xl);animation:slideUp .3s ease-out}.feedback.correct{color:var(--color-success)}.feedback.wrong{color:var(--color-error)}.summary-state{text-align:center;animation:fadeIn .5s ease-in-out}.summary-state h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xl)}.final-stats{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.final-stats h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);color:var(--color-primary)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}.stat-item:last-child{border-bottom:none}.stat-label{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.stat-value{font-size:var(--font-size-xl);font-weight:700}.stat-value.success{color:var(--color-success)}.stat-value.error{color:var(--color-error)}.score-formula{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-bg-subtle);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.score-formula p{margin:0;line-height:1.8;color:var(--color-text-secondary)}.score-formula strong{color:var(--color-text-primary)}.formula-calculation{display:block;margin-top:var(--spacing-sm);font-family:monospace;font-size:var(--font-size-lg);color:var(--color-primary);font-weight:700}@media (max-width: 768px){.player-page{padding:var(--spacing-md)}.registration-state h1{font-size:var(--font-size-4xl)}.question{font-size:var(--font-size-2xl);min-height:60px}}.manager-page{min-height:100vh;padding:var(--spacing-xl)}.manager-page.loading{display:flex;align-items:center;justify-content:center}.manager-header{margin-bottom:var(--spacing-2xl)}.manager-content{display:grid;gap:var(--spacing-xl);max-width:1200px}.player-stats{grid-column:span 2}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg)}.stat{text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-primary)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.controls{grid-column:span 2}.control-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.message{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;font-weight:500}@media (max-width: 768px){.manager-page{padding:var(--spacing-md)}.control-buttons{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-page{min-height:100vh;padding:var(--spacing-xl)}.admin-page.loading{display:flex;align-items:center;justify-content:center}.auth-required{text-align:center;max-width:500px;margin:0 auto;padding-top:var(--spacing-3xl)}.auth-required h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}.auth-required p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.admin-header{margin-bottom:var(--spacing-2xl)}.header-info h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.user-info{color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-md)}.btn-logout{background:none;border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-logout:hover{border-color:var(--color-error);color:var(--color-error)}.admin-content{display:grid;gap:var(--spacing-xl);max-width:1200px}.game-status{grid-column:span 2}.status-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.status-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.status-item:last-child{border-bottom:none}.label{font-weight:500;color:var(--color-text-secondary)}.value{font-weight:600;font-size:var(--font-size-lg)}.state-waiting{color:var(--color-warning)}.state-in_progress{color:var(--color-success)}.state-finished{color:var(--color-primary)}.games-management{grid-column:span 2}.new-game-form{background-color:var(--color-bg-secondary);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.new-game-form h3,.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.form-group input{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.games-list{margin-top:var(--spacing-xl)}.games-list h3{margin-bottom:var(--spacing-md)}.games-grid{display:grid;gap:var(--spacing-md)}.game-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.game-name{font-weight:500;font-size:var(--font-size-lg)}.game-actions{display:flex;gap:var(--spacing-sm)}.no-games{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl)}.managers-management{grid-column:span 2}.managers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.managers-header h3{margin:0}.managers-list{display:grid;gap:var(--spacing-sm)}.manager-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.manager-email{font-family:var(--font-family-mono)}.message{grid-column:span 2;padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;font-weight:500}.message.success{background-color:var(--color-success-bg);color:var(--color-success)}.message.error{background-color:var(--color-error-bg);color:var(--color-error)}.links{grid-column:span 2;display:flex;gap:var(--spacing-md);justify-content:center}.link-button{display:inline-flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-bg-elevated);border-radius:var(--radius-md);transition:all var(--transition-base)}.link-button:hover{transform:translate(4px);background-color:var(--color-bg-secondary)}@media (max-width: 768px){.admin-page{padding:var(--spacing-md)}.form-row{grid-template-columns:1fr}.game-item,.manager-item{flex-direction:column;gap:var(--spacing-sm)}.links{flex-direction:column}}.error-display{padding:var(--spacing-xl);text-align:center;animation:fadeIn .3s ease-in-out}.error-display--full{min-height:100vh;display:flex;align-items:center;justify-content:center}.error-content{max-width:600px;margin:0 auto;background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-error-light);box-shadow:0 4px 6px #0000001a}.error-icon{font-size:4rem;margin-bottom:var(--spacing-lg);filter:grayscale(.2)}.error-title{font-size:var(--font-size-2xl);color:var(--color-error);margin-bottom:var(--spacing-md)}.error-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.error-actions{text-align:left;margin-bottom:var(--spacing-xl);background-color:var(--color-bg-base);border-radius:var(--radius-md);padding:var(--spacing-lg)}.error-actions h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.action-list{list-style:none;padding:0;margin:0}.action-item{padding:var(--spacing-sm) 0;color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.action-bullet{color:var(--color-primary);font-weight:700;flex-shrink:0}.btn-retry{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.retry-icon{font-size:1.2em;display:inline-block;transition:transform .3s ease}.btn-retry:hover .retry-icon{transform:rotate(360deg)}.error-details{margin-top:var(--spacing-xl);text-align:left;background-color:var(--color-bg-base);border-radius:var(--radius-md);padding:var(--spacing-lg)}.error-details summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-text-secondary)}.error-stack{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-dark);border-radius:var(--radius-sm);font-size:var(--font-size-xs);overflow-x:auto;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.error-display{padding:var(--spacing-md)}.error-content{padding:var(--spacing-lg)}.error-icon{font-size:3rem}.error-title{font-size:var(--font-size-xl)}.error-message{font-size:var(--font-size-base)}}.error-boundary{width:100%;min-height:100%}.persistent-error-notice{text-align:center;padding:var(--spacing-lg);margin-top:var(--spacing-xl)}.persistent-error-notice p{max-width:500px;margin:0 auto;font-size:var(--font-size-sm)}.link{color:var(--color-primary);text-decoration:underline}.link:hover{color:var(--color-primary-dark)}:root{--color-bg: #000000;--color-bg-secondary: #0a0a0a;--color-bg-elevated: #1a1a1a;--color-text: #ffffff;--color-text-secondary: #b0b0b0;--color-text-muted: #666666;--color-primary: #4890e6;--color-primary-hover: #5ba0f6;--color-primary-active: #3880d6;--color-secondary: #9145ac;--color-secondary-hover: #a155bc;--color-secondary-active: #81359c;--color-success: #00ff00;--color-success-bg: rgba(0, 255, 0, .1);--color-error: #ff0000;--color-error-bg: rgba(255, 0, 0, .1);--color-warning: #ffaa00;--color-warning-bg: rgba(255, 170, 0, .1);--color-pending: #ffd700;--color-pending-bg: rgba(255, 215, 0, .15);--color-border: #333333;--color-border-light: #222222;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--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-size-6xl: 3.75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-xs: 0;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;min-height:44px;padding:var(--spacing-sm) var(--spacing-lg)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover)}.btn-secondary:active:not(:disabled){background-color:var(--color-secondary-active)}.btn-outline{background-color:transparent;border:2px solid var(--color-border);color:var(--color-text)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-large{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl);min-height:56px}.btn-block{width:100%}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--color-text);background-color:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);width:100%;outline:none;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-sm{max-width:640px}.container-lg{max-width:1400px}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.font-mono{font-family:var(--font-family-mono)}.card{background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-light)}@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{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease-in-out}.animate-slideUp{animation:slideUp var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.no-game-state{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:var(--spacing-xl)}.no-game-container{max-width:600px;animation:fadeIn var(--transition-slow) ease-in-out}.no-game-container h1{font-size:var(--font-size-3xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.no-game-container p{font-size:var(--font-size-xl);color:var(--color-text-muted);margin-bottom:var(--spacing-xl)}.retry-button{background-color:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;transition:all var(--transition-base)}.retry-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}@media (max-width: 768px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3,.no-game-container h1{font-size:var(--font-size-2xl)}.no-game-container p{font-size:var(--font-size-lg)}}
