.chat-panel{display:flex;flex-direction:column;height:100%;background:#1a1a2ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;border:1px solid rgba(139,92,246,.2);overflow:hidden;box-shadow:0 8px 32px #0006}.chat-header{padding:1rem 1.25rem;background:linear-gradient(135deg,#8b5cf626,#22d3ee1a);border-bottom:1px solid rgba(139,92,246,.2)}.chat-header h3{margin:0;font-family:Cinzel,serif;font-size:.875rem;color:var(--color-accent-gold, #ffd700);text-transform:uppercase;letter-spacing:.15em;text-shadow:0 0 20px rgba(255,215,0,.3)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.625rem}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted, #64748b);text-align:center;padding:2rem}.chat-empty:before{content:"💬";font-size:2.5rem;margin-bottom:1rem;opacity:.5}.chat-empty p{margin:.25rem 0}.chat-hint{font-size:.75rem;color:var(--color-text-muted, #64748b);font-style:italic}.phase-divider{display:flex;align-items:center;justify-content:center;margin:.75rem 0;position:relative}.phase-divider:before,.phase-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4),transparent)}.phase-divider span{font-family:Cinzel,serif;font-size:.6875rem;font-weight:600;color:var(--color-primary-light, #a78bfa);background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);padding:.375rem 1rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.1em;margin:0 .75rem;border:1px solid rgba(139,92,246,.3)}.chat-message{padding:.75rem 1rem;background:#0a0a1266;border-radius:.75rem;border:1px solid transparent;transition:all .2s ease;animation:messageSlide .3s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message:hover{background:#0a0a1299;border-color:#8b5cf61a}.chat-message.system{background:linear-gradient(135deg,#8b5cf61a,#22d3ee0d);border-left:3px solid var(--color-primary, #8b5cf6);font-style:italic}.chat-message.system .message-content{color:var(--color-text-secondary, #cbd5e1)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.message-author{font-weight:600;font-size:.8125rem;color:var(--color-primary-light, #a78bfa)}.message-author.is-me{color:var(--color-success, #4ade80)}.message-time{font-size:.6875rem;color:var(--color-text-muted, #64748b)}.message-content{font-size:.875rem;color:var(--color-text-primary, #f8fafc);line-height:1.5;word-wrap:break-word}.system-icon{margin-right:.5rem;opacity:.8}.chat-input-form{display:flex;gap:.625rem;padding:1rem;background:#0a0a1299;border-top:1px solid rgba(139,92,246,.15)}.chat-input{flex:1;padding:.75rem 1rem;background:#0a0a1299;border:2px solid rgba(139,92,246,.2);border-radius:.75rem;color:var(--color-text-primary, #f8fafc);font-size:.875rem;transition:all .25s ease}.chat-input::placeholder{color:var(--color-text-muted, #64748b)}.chat-input:hover{border-color:#8b5cf666}.chat-input:focus{outline:none;border-color:var(--color-primary, #8b5cf6);background:#0a0a12cc;box-shadow:0 0 0 4px #8b5cf626,0 0 20px #8b5cf633}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--color-primary, #8b5cf6) 0%,var(--color-primary-dark, #7c3aed) 100%);color:#fff;border:none;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.05em}.chat-send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px #8b5cf680}.chat-send-button:active:not(:disabled){transform:translateY(0)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.role-card-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a12e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.role-card{position:relative;width:420px;max-height:85vh;overflow-y:auto;background:linear-gradient(145deg,#1a1a2efa,#1e1e35fa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:1.5rem;border:2px solid rgba(139,92,246,.4);padding:2rem;box-shadow:0 0 60px #8b5cf64d,0 25px 50px #00000080,inset 0 1px #ffffff0d;animation:cardSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes cardSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-button{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);border-radius:50%;color:var(--color-text-secondary, #cbd5e1);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#8b5cf666;color:#fff;transform:rotate(90deg)}.role-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.role-icon{width:90px;height:90px;border-radius:50%;border:3px solid;background-size:cover;background-position:center;background-color:#8b5cf633;box-shadow:0 0 30px #8b5cf666;animation:iconPulse 3s ease-in-out infinite}@keyframes iconPulse{0%,to{box-shadow:0 0 20px #8b5cf64d}50%{box-shadow:0 0 40px #8b5cf699}}.role-icon.illuminated{border-color:var(--color-illuminated, #60a5fa);box-shadow:0 0 30px #60a5fa66}.role-icon.umbral{border-color:var(--color-umbral, #f87171);box-shadow:0 0 30px #f8717166}.role-icon.neutral{border-color:var(--color-neutral, #a1a1aa);box-shadow:0 0 30px #a1a1aa4d}.role-title{flex:1}.role-name{font-family:Cinzel,serif;font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 .375rem;text-shadow:0 2px 10px rgba(0,0,0,.5)}.role-faction{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.role-faction.illuminated{color:var(--color-illuminated, #60a5fa);text-shadow:0 0 15px rgba(96,165,250,.5)}.role-faction.umbral{color:var(--color-umbral, #f87171);text-shadow:0 0 15px rgba(248,113,113,.5)}.role-faction.neutral{color:var(--color-neutral, #a1a1aa)}.role-lore{margin-bottom:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#0000004d,#8b5cf60d);border-radius:.75rem;border-left:3px solid var(--color-primary, #8b5cf6)}.role-lore p{margin:0;font-size:.9375rem;font-style:italic;color:var(--color-text-secondary, #cbd5e1);line-height:1.6}.role-abilities h3,.win-condition h3{font-family:Cinzel,serif;font-size:.875rem;color:var(--color-accent-gold, #ffd700);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.15em;text-shadow:0 0 15px rgba(255,215,0,.3)}.ability-item{padding:1rem;margin-bottom:.75rem;background:#0a0a1280;border-radius:.75rem;border:1px solid rgba(139,92,246,.15);transition:all .2s ease}.ability-item:hover{border-color:#8b5cf64d;background:#0a0a12b3}.ability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ability-name{font-weight:600;font-size:.9375rem;color:#fff}.ability-timing{font-size:.6875rem;font-weight:600;color:var(--color-primary-light, #a78bfa);background:#8b5cf633;padding:.25rem .75rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}.ability-description{font-size:.875rem;color:var(--color-text-secondary, #cbd5e1);margin:0 0 .375rem;line-height:1.5}.ability-uses{font-size:.75rem;color:var(--color-warning, #fbbf24);font-weight:500}.role-stats{display:flex;justify-content:center;gap:2.5rem;margin:1.5rem 0;padding:1rem;background:#0a0a1266;border-radius:.75rem;border:1px solid rgba(139,92,246,.1)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-size:.6875rem;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.1em}.stat-value{font-family:Cinzel,serif;font-size:1.25rem;font-weight:700;color:var(--color-primary-light, #a78bfa)}.role-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.role-tag{font-size:.6875rem;font-weight:500;color:var(--color-text-secondary, #cbd5e1);background:#8b5cf626;padding:.375rem .875rem;border-radius:1rem;border:1px solid rgba(139,92,246,.2);text-transform:capitalize}.win-condition{padding:1.25rem;background:linear-gradient(135deg,#4ade801a,#22c55e0d);border:1px solid rgba(74,222,128,.3);border-radius:.75rem}.win-condition p{margin:0;font-size:.9375rem;color:var(--color-success, #4ade80);line-height:1.5}.player-list{background:#1a1a2ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;border:1px solid rgba(139,92,246,.2);overflow:hidden;box-shadow:0 8px 32px #0006}.player-list-title{margin:0;padding:1rem 1.25rem;font-family:Cinzel,serif;font-size:.875rem;color:var(--color-accent-gold, #ffd700);text-transform:uppercase;letter-spacing:.15em;background:linear-gradient(135deg,#ffd7001a,#8b5cf61a);border-bottom:1px solid rgba(139,92,246,.2);text-shadow:0 0 20px rgba(255,215,0,.3)}.player-list-section{padding:.75rem}.section-title{margin:0 0 .5rem .5rem;font-size:.6875rem;font-weight:600;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.1em}.dead-section{border-top:1px solid rgba(248,113,113,.2);margin-top:.5rem;padding-top:.75rem}.dead-section .section-title{color:var(--color-danger, #f87171);text-shadow:0 0 10px rgba(248,113,113,.3)}.player-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.player-list-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:#0a0a1266;border-radius:.75rem;border:1px solid transparent;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.player-list-item:hover:not(.dead){background:#8b5cf626;border-color:#8b5cf64d;transform:translate(4px)}.player-list-item.selected{background:#8b5cf640;border:1px solid var(--color-primary, #8b5cf6);box-shadow:0 0 20px #8b5cf64d,inset 0 0 20px #8b5cf61a}.player-list-item.is-me{background:#4ade801a;border-color:#4ade804d}.player-list-item.is-me.selected{background:#4ade8033;border-color:var(--color-success, #4ade80);box-shadow:0 0 20px #4ade804d}.player-list-item.dead{opacity:.5;cursor:default;filter:grayscale(50%)}.player-list-item.dead .player-name{text-decoration:line-through;text-decoration-color:var(--color-danger, #f87171)}.player-info{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.player-avatar{position:relative;flex-shrink:0}.avatar-circle{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary, #8b5cf6) 0%,var(--color-primary-dark, #7c3aed) 100%);background-size:cover;background-position:center;border:2px solid rgba(139,92,246,.4);box-shadow:0 0 10px #8b5cf64d;transition:all .25s ease}.player-list-item:hover .avatar-circle{border-color:#8b5cf6b3;box-shadow:0 0 15px #8b5cf680}.bot-indicator{position:absolute;top:-4px;right:-4px;font-size:.875rem;background:#0a0a12e6;border-radius:50%;padding:2px;border:1px solid rgba(139,92,246,.3)}.player-details{display:flex;flex-direction:column;min-width:0;gap:.125rem}.player-name{font-size:.9375rem;font-weight:500;color:var(--color-text-primary, #f8fafc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-tag{margin-left:.375rem;font-size:.6875rem;font-weight:700;color:var(--color-success, #4ade80);text-transform:uppercase;letter-spacing:.05em}.status-icon{font-size:.875rem;margin-left:.25rem}.status-icon.silenced{color:var(--color-warning, #fbbf24);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.role-badge{display:inline-block;padding:.125rem .625rem;font-size:.625rem;font-weight:700;color:#fff;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #0000004d}.role-badge.illuminated{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.role-badge.umbral{background:linear-gradient(135deg,#f87171,#ef4444)}.role-badge.neutral{background:linear-gradient(135deg,#a1a1aa,#71717a)}.vote-count{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#f8717133,#ef44444d);padding:.375rem .75rem;border-radius:1rem;border:1px solid rgba(248,113,113,.5);box-shadow:0 0 15px #f8717133;animation:voteGlow 2s ease-in-out infinite}@keyframes voteGlow{0%,to{box-shadow:0 0 10px #f8717133}50%{box-shadow:0 0 20px #f8717166}}.vote-number{font-size:.9375rem;font-weight:700;color:var(--color-danger, #f87171);text-shadow:0 0 10px rgba(248,113,113,.5)}.vote-icon{font-size:.8125rem}.forest-event-overlay{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #00000080,0 0 40px var(--event-glow, rgba(139, 92, 246, .3));max-width:90%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:eventSlideDown .5s cubic-bezier(.34,1.56,.64,1)}@keyframes eventSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-30px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.forest-event-overlay:hover{transform:translate(-50%) scale(1.02);box-shadow:0 12px 40px #0009,0 0 50px var(--event-glow, rgba(139, 92, 246, .4))}.forest-event-overlay.blood-moon{--event-glow: rgba(220, 38, 38, .4);background:linear-gradient(145deg,#7f1d1df2,#991b1be6);border:2px solid rgba(248,113,113,.6)}.forest-event-overlay.blood-moon .event-icon{animation:bloodMoonPulse 2s ease-in-out infinite}@keyframes bloodMoonPulse{0%,to{filter:drop-shadow(0 0 10px rgba(248,113,113,.5))}50%{filter:drop-shadow(0 0 20px rgba(248,113,113,.8))}}.forest-event-overlay.spirit-fog{--event-glow: rgba(156, 163, 175, .4);background:linear-gradient(145deg,#4b5563f2,#6b7280e6);border:2px solid rgba(156,163,175,.6)}.forest-event-overlay.tranquil-night{--event-glow: rgba(59, 130, 246, .4);background:linear-gradient(145deg,#1e3a8af2,#2563ebe6);border:2px solid rgba(96,165,250,.6)}.forest-event-overlay.tree-whisper{--event-glow: rgba(34, 197, 94, .4);background:linear-gradient(145deg,#14532df2,#166534e6);border:2px solid rgba(74,222,128,.6)}.forest-event-overlay.starfall{--event-glow: rgba(245, 158, 11, .4);background:linear-gradient(145deg,#78350ff2,#b45309e6);border:2px solid rgba(251,191,36,.6)}.forest-event-overlay.starfall .event-icon{animation:starfallTwinkle 1.5s ease-in-out infinite}@keyframes starfallTwinkle{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(251,191,36,.5))}50%{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(251,191,36,.8))}}.forest-event-overlay.void-eclipse{--event-glow: rgba(124, 58, 237, .5);background:linear-gradient(145deg,#1e1b4bf2,#4c1d95e6);border:2px solid rgba(167,139,250,.6)}.forest-event-overlay.void-eclipse .event-icon{animation:voidPulse 3s ease-in-out infinite}@keyframes voidPulse{0%,to{filter:drop-shadow(0 0 15px rgba(167,139,250,.5)) brightness(1)}50%{filter:drop-shadow(0 0 25px rgba(167,139,250,.8)) brightness(1.2)}}.forest-event-overlay.expanded{min-width:340px;max-width:420px}.forest-event-overlay.collapsed{padding:.875rem 1.25rem}.event-icon{font-size:2.25rem;line-height:1;flex-shrink:0}.forest-event-overlay.collapsed .event-icon{font-size:1.5rem}.event-content{flex:1;min-width:0}.event-name{margin:0 0 .5rem;font-family:Cinzel,serif;font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.event-description{margin:0 0 1rem;font-size:.9375rem;color:#ffffffe6;line-height:1.5}.dismiss-button{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:#ffffffe6;background:#0000004d;border:1px solid rgba(255,255,255,.3);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.dismiss-button:hover{background:#00000080;border-color:#ffffff80;transform:translateY(-1px)}.event-collapsed-content{display:flex;align-items:center}.event-name-small{font-family:Cinzel,serif;font-size:.9375rem;font-weight:600;color:#fff;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.4)}.forest-event-overlay.exiting{animation:eventSlideUp .3s ease-in forwards}@keyframes eventSlideUp{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.night-action-panel{padding:1.5rem;background:#1a1a2ef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;border:1px solid rgba(139,92,246,.4);max-width:420px;box-shadow:0 0 40px #8b5cf64d,0 8px 32px #00000080;animation:panelSlideUp .4s ease-out}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.night-action-panel h3{margin:0 0 1rem;font-family:Cinzel,serif;font-size:1.125rem;color:var(--color-accent-gold, #ffd700);text-transform:uppercase;letter-spacing:.1em;text-shadow:0 0 20px rgba(255,215,0,.4);text-align:center}.night-action-panel h3:before,.night-action-panel h3:after{content:"✦";margin:0 .5rem;opacity:.6}.ability-list{display:flex;flex-direction:column;gap:.625rem}.ability-btn{padding:1rem 1.25rem;background:linear-gradient(135deg,#8b5cf626,#8b5cf61a);border:1px solid rgba(139,92,246,.3);border-radius:.75rem;color:var(--color-text-primary, #f8fafc);cursor:pointer;text-align:left;transition:all .25s ease;position:relative;overflow:hidden}.ability-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.2),transparent);transition:left .4s ease}.ability-btn:hover:not(:disabled):before{left:100%}.ability-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf640,#8b5cf626);border-color:#8b5cf680;transform:translate(4px);box-shadow:0 0 20px #8b5cf633}.ability-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(50%)}.ability-btn.selected{background:linear-gradient(135deg,#8b5cf666,#7c3aed4d);border-color:var(--color-primary, #8b5cf6);box-shadow:0 0 25px #8b5cf666,inset 0 0 20px #8b5cf61a}.ability-btn.selected:after{content:"✓";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-success, #4ade80);font-size:1.25rem;font-weight:700}.ability-name{display:block;font-weight:600;font-size:.9375rem;margin-bottom:.25rem}.ability-description{display:block;font-size:.8125rem;color:var(--color-text-secondary, #cbd5e1)}.target-selection{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(139,92,246,.2)}.target-selection h4{font-family:Cinzel,serif;font-size:.875rem;color:var(--color-primary-light, #a78bfa);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.1em}.selected-target{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:.75rem;margin-bottom:1rem}.selected-target-name{font-weight:600;color:var(--color-success, #4ade80)}.action-submit{width:100%;margin-top:1rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-primary, #8b5cf6) 0%,var(--color-primary-dark, #7c3aed) 100%);color:#fff;border:none;border-radius:.75rem;cursor:pointer;font-family:Cinzel,serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:all .25s ease;position:relative;overflow:hidden}.action-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.action-submit:hover:not(:disabled):before{left:100%}.action-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #8b5cf680,0 10px 20px #0000004d}.action-submit:active:not(:disabled){transform:translateY(0)}.action-submit:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-tertiary, #1a1a2e)}.submitted-message{text-align:center;padding:1.5rem;animation:successPulse 2s ease-in-out infinite}@keyframes successPulse{0%,to{opacity:1}50%{opacity:.7}}.submitted-message:before{content:"✓";display:block;font-size:2.5rem;color:var(--color-success, #4ade80);margin-bottom:.5rem;text-shadow:0 0 20px rgba(74,222,128,.5)}.submitted-message p{font-family:Cinzel,serif;font-size:1rem;color:var(--color-success, #4ade80);margin:0}.no-ability-message{text-align:center;padding:2rem;color:var(--color-text-muted, #64748b);font-style:italic}.game-page{width:100vw;height:100vh;position:relative;overflow:hidden;background:var(--color-bg-primary, #0a0a12)}.game-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 20%,rgba(139,92,246,.1) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(34,211,238,.08) 0%,transparent 50%);pointer-events:none;z-index:0}.game-page.night{background:linear-gradient(180deg,#050510,#0a0a1a,#0f0f24)}.game-page.night:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#00003326;pointer-events:none;z-index:2;animation:nightPulse 8s ease-in-out infinite}@keyframes nightPulse{0%,to{opacity:.15}50%{opacity:.25}}.game-page.day{background:linear-gradient(180deg,#12121f,#1a1a2e,#12121f)}.game-page.day:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,215,0,.05) 0%,transparent 50%);pointer-events:none;z-index:2}.game-page.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loading-spinner{width:60px;height:60px;border:3px solid rgba(139,92,246,.2);border-top-color:var(--color-primary, #8b5cf6);border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 30px #8b5cf64d}.loading-text{font-family:Cinzel,serif;font-size:1.125rem;color:var(--color-text-secondary, #cbd5e1);animation:pulse 2s ease-in-out infinite}.game-canvas-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.game-ui-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;pointer-events:none}.game-header{position:absolute;top:0;left:0;right:0;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:linear-gradient(to bottom,rgba(10,10,18,.95) 0%,rgba(10,10,18,.7) 70%,transparent 100%);z-index:20}.phase-info{display:flex;flex-direction:column;gap:.125rem}.day-number{font-family:Cinzel,serif;font-size:1.5rem;font-weight:700;color:var(--color-accent-gold, #ffd700);text-shadow:0 0 20px rgba(255,215,0,.5)}.phase-name{font-size:.75rem;font-weight:600;color:var(--color-text-secondary, #cbd5e1);text-transform:uppercase;letter-spacing:.15em}.header-center{display:flex;align-items:center;gap:1rem}.role-button{padding:.625rem 1.25rem;background:#1a1a2ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(139,92,246,.4);border-radius:.75rem;color:var(--color-primary-light, #a78bfa);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.05em}.role-button:hover{background:#8b5cf64d;border-color:var(--color-primary, #8b5cf6);color:#fff;box-shadow:0 0 20px #8b5cf666;transform:translateY(-2px)}.left-panel{position:absolute;top:80px;left:1rem;width:280px;bottom:120px;overflow-y:auto;z-index:15}.right-panel{position:absolute;top:80px;right:1rem;width:320px;bottom:120px;display:flex;flex-direction:column;z-index:15}.bottom-panel{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1.5rem;background:linear-gradient(to top,rgba(10,10,18,.95) 0%,rgba(10,10,18,.7) 70%,transparent 100%);display:flex;justify-content:center;gap:1rem;z-index:20}.vote-panel{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:#1a1a2ee6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;border:1px solid rgba(139,92,246,.3);box-shadow:0 8px 32px #0006}.vote-panel.silenced{opacity:.5;pointer-events:none}.vote-panel h4{font-family:Cinzel,serif;font-size:.875rem;color:var(--color-accent-gold, #ffd700);text-transform:uppercase;letter-spacing:.1em;margin:0}.selected-target-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#8b5cf633;border-radius:.5rem;border:1px solid rgba(139,92,246,.3)}.selected-target-info span{font-weight:600;color:var(--color-primary-light, #a78bfa)}.vote-button,.accuse-button,.abstain-button{padding:.875rem 2rem;font-size:.9375rem;font-weight:700;border:none;border-radius:.75rem;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.05em}.vote-button:hover,.accuse-button:hover,.abstain-button:hover{transform:translateY(-2px)}.vote-button,.accuse-button{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 4px 15px #f871714d}.vote-button:hover,.accuse-button:hover{box-shadow:0 6px 25px #f8717180}.abstain-button{background:linear-gradient(135deg,#71717a,#52525b);color:#fff}.abstain-button:hover{box-shadow:0 6px 20px #71717a66}.trial-panel{padding:1.5rem;background:#1a1a2ef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;border:2px solid rgba(248,113,113,.5);box-shadow:0 0 40px #f8717133,0 8px 32px #00000080;animation:trialPulse 3s ease-in-out infinite}@keyframes trialPulse{0%,to{box-shadow:0 0 30px #f8717133,0 8px 32px #00000080}50%{box-shadow:0 0 50px #f8717166,0 8px 32px #00000080}}.trial-header{text-align:center;margin-bottom:1.25rem}.trial-header h3{font-family:Cinzel,serif;font-size:1.25rem;color:var(--color-danger, #f87171);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .25rem;text-shadow:0 0 15px rgba(248,113,113,.5)}.trial-header p{font-size:.875rem;color:var(--color-text-secondary, #cbd5e1);margin:0}.trial-votes{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.25rem}.vote-count{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;border-radius:.75rem;min-width:80px}.vote-count .count-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.vote-count .count-value{font-family:Cinzel,serif;font-size:1.5rem;font-weight:700}.vote-count.guilty{background:linear-gradient(135deg,#f8717133,#ef44444d);border:1px solid rgba(248,113,113,.4);color:var(--color-danger, #f87171)}.vote-count.innocent{background:linear-gradient(135deg,#4ade8033,#22c55e4d);border:1px solid rgba(74,222,128,.4);color:var(--color-success, #4ade80)}.vote-count.abstain{background:linear-gradient(135deg,#a1a1aa33,#71717a4d);border:1px solid rgba(161,161,170,.4);color:var(--color-neutral, #a1a1aa)}.trial-buttons{display:flex;justify-content:center;gap:.75rem}.trial-button{padding:.875rem 1.75rem;font-size:.9375rem;font-weight:700;color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.05em}.trial-button:hover{transform:translateY(-2px)}.trial-button.guilty{background:linear-gradient(135deg,#f87171,#dc2626)}.trial-button.guilty:hover{box-shadow:0 6px 25px #f8717180}.trial-button.innocent{background:linear-gradient(135deg,#4ade80,#22c55e)}.trial-button.innocent:hover{box-shadow:0 6px 25px #4ade8080}.trial-button.abstain{background:linear-gradient(135deg,#71717a,#52525b)}.phase-timer{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#1a1a2ee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.75rem;border:1px solid rgba(139,92,246,.3)}.timer-icon{font-size:1.125rem}.timer-value{font-family:Cinzel,serif;font-size:1.25rem;font-weight:700;color:var(--color-text-primary, #f8fafc);min-width:3rem;text-align:center}.phase-timer.low{border-color:#fbbf2480;animation:timerPulse 1s ease-in-out infinite}.phase-timer.low .timer-value{color:var(--color-warning, #fbbf24)}.phase-timer.critical{border-color:#f8717199;animation:timerPulse .5s ease-in-out infinite}.phase-timer.critical .timer-value{color:var(--color-danger, #f87171);text-shadow:0 0 10px rgba(248,113,113,.5)}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}:root{--color-bg-primary: #0a0a12;--color-bg-secondary: #12121f;--color-bg-tertiary: #1a1a2e;--color-bg-card: rgba(26, 26, 46, .85);--color-bg-card-solid: #1e1e35;--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-dark: #7c3aed;--color-primary-glow: rgba(139, 92, 246, .5);--color-accent-gold: #ffd700;--color-accent-gold-light: #ffe566;--color-accent-silver: #e0e7ff;--color-accent-cyan: #22d3ee;--color-accent-emerald: #34d399;--color-accent-rose: #fb7185;--color-illuminated: #60a5fa;--color-illuminated-glow: rgba(96, 165, 250, .4);--color-umbral: #f87171;--color-umbral-glow: rgba(248, 113, 113, .4);--color-neutral: #a1a1aa;--color-neutral-glow: rgba(161, 161, 170, .3);--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f87171;--color-info: #38bdf8;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--color-text-glow: rgba(248, 250, 252, .9);--border-color: rgba(139, 92, 246, .2);--border-color-hover: rgba(139, 92, 246, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px var(--color-primary-glow);--shadow-glow-gold: 0 0 30px rgba(255, 215, 0, .4);--shadow-glow-cyan: 0 0 20px rgba(34, 211, 238, .4);--glass-bg: rgba(26, 26, 46, .7);--glass-border: rgba(139, 92, 246, .15);--glass-blur: blur(12px);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Cinzel", Georgia, 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: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(34,211,238,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(255,215,0,.05) 0%,transparent 70%),linear-gradient(180deg,#0a0a12,#12121f,#0a0a12);z-index:-2;animation:backgroundShift 20s ease-in-out infinite}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 40px 70px,rgba(139,92,246,.4),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,215,0,.3),transparent),radial-gradient(2px 2px at 130px 80px,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 160px 120px,rgba(34,211,238,.4),transparent);background-size:200px 200px;z-index:-1;animation:floatParticles 60s linear infinite;opacity:.6;pointer-events:none}@keyframes backgroundShift{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(15deg)}}@keyframes floatParticles{0%{transform:translateY(0)}to{transform:translateY(-200px)}}ul,ol{list-style:none}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-gold)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{font-family:inherit;font-size:inherit;border:none;background:none;color:inherit}input:focus,textarea:focus,button:focus{outline:none}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-glow{text-shadow:0 0 20px var(--color-primary-glow)}.text-gold{color:var(--color-accent-gold);text-shadow:0 0 20px rgba(255,215,0,.5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-weight:600;font-size:var(--font-size-base);border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow),var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--color-text-primary);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn-secondary:hover:not(:disabled){background:#8b5cf633;border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.btn-danger{background:linear-gradient(135deg,var(--color-danger) 0%,#dc2626 100%);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #f8717180}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){color:var(--color-primary-light);border-color:var(--border-color);background:#8b5cf61a}.btn-gold{background:linear-gradient(135deg,gold,#fa0);color:#1a1a2e;font-weight:700;border:1px solid rgba(255,255,255,.3)}.btn-gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-gold)}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-full)}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow),var(--shadow-lg)}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent-cyan),var(--color-primary));border-radius:inherit;z-index:-1;opacity:0;transition:opacity var(--transition-base)}.card-glow:hover:before{opacity:.5}.input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#0a0a1299;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.input:hover{border-color:var(--border-color-hover)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow),var(--shadow-glow);background:#0a0a12cc}.input::placeholder{color:var(--color-text-muted)}.input-group{position:relative}.input-group .input{padding-right:3.5rem}.input-group-btn{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-xl)}.loading-spinner{width:60px;height:60px;border:3px solid rgba(139,92,246,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 20px var(--color-primary-glow)}.loading-spinner:after{content:"";position:absolute;width:40px;height:40px;border:3px solid transparent;border-top-color:var(--color-accent-gold);border-radius:50%;animation:spin .8s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:var(--font-family-display);font-size:var(--font-size-lg);color:var(--color-text-secondary);animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a0a1280;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-dark));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-primary-light),var(--color-primary))}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative}.login-container{width:100%;max-width:440px;animation:fadeInUp .8s ease-out}.login-header{text-align:center;margin-bottom:var(--spacing-3xl)}.login-header h1{font-family:var(--font-family-display);font-size:var(--font-size-5xl);font-weight:700;background:linear-gradient(135deg,var(--color-accent-gold) 0%,var(--color-accent-gold-light) 50%,var(--color-accent-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 30px rgba(255,215,0,.5));animation:titleGlow 3s ease-in-out infinite;margin-bottom:var(--spacing-md)}.login-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-style:italic}.login-form{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.login-form h2{font-family:var(--font-family-display);font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-text-primary)}.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#0a0a1299;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow)}.login-form button[type=submit]{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-weight:600;font-size:var(--font-size-lg);border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-base);margin-top:var(--spacing-lg)}.login-form button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.error-message{background:#f871711a;border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);text-align:center}.auth-toggle{text-align:center;margin-top:var(--spacing-xl)}.auth-toggle button{color:var(--color-primary-light);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.auth-toggle button:hover{color:var(--color-accent-gold)}.home-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.home-header{margin-bottom:var(--spacing-3xl);animation:fadeInUp .6s ease-out}.game-title{font-family:var(--font-family-display);font-size:clamp(3rem,8vw,5rem);font-weight:700;background:linear-gradient(135deg,var(--color-accent-gold) 0%,#fff 50%,var(--color-accent-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 40px rgba(255,215,0,.6));animation:titleGlow 3s ease-in-out infinite;margin-bottom:var(--spacing-md)}.game-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);font-style:italic;letter-spacing:.1em}.home-content{width:100%;max-width:500px;animation:fadeInUp .8s ease-out .2s both}.user-greeting{margin-bottom:var(--spacing-2xl)}.user-greeting p{font-family:var(--font-family-display);font-size:var(--font-size-xl);color:var(--color-primary-light)}.lobby-actions{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.create-lobby-btn{width:100%;padding:var(--spacing-lg) var(--spacing-2xl);background:linear-gradient(135deg,var(--color-accent-gold) 0%,#ffaa00 100%);color:#1a1a2e;font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:700;border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.create-lobby-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shimmer 3s infinite}.create-lobby-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-glow-gold),var(--shadow-lg)}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.join-lobby{display:flex;gap:var(--spacing-sm);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border);padding:var(--spacing-sm)}.join-lobby input{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:var(--font-family-display);text-align:center;text-transform:uppercase;letter-spacing:.2em}.join-lobby input::placeholder{color:var(--color-text-muted);text-transform:none;letter-spacing:.05em}.join-lobby button{padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-weight:600;border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-base)}.join-lobby button:hover:not(:disabled){box-shadow:var(--shadow-glow)}.home-nav{display:flex;justify-content:center;gap:var(--spacing-lg)}.home-nav button{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-fast);border-radius:var(--radius-md)}.home-nav button:hover{color:var(--color-primary-light);background:#8b5cf61a}.home-footer{position:absolute;bottom:var(--spacing-xl);left:0;right:0;text-align:center;animation:fadeIn 1s ease-out .5s both}.home-footer p{font-style:italic;color:var(--color-text-muted);font-size:var(--font-size-sm)}.lobby-page{min-height:100vh;padding:var(--spacing-xl);display:flex;flex-direction:column}.lobby-page.loading{align-items:center;justify-content:center}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);animation:fadeInUp .5s ease-out}.lobby-header h1{font-family:var(--font-family-display);font-size:var(--font-size-3xl);color:var(--color-accent-gold);text-shadow:0 0 20px rgba(255,215,0,.4)}.lobby-code{display:flex;align-items:center;gap:var(--spacing-md);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid var(--glass-border)}.lobby-code span{font-family:var(--font-family-display);font-size:var(--font-size-xl);letter-spacing:.2em;color:var(--color-accent-cyan)}.lobby-code button{padding:var(--spacing-sm) var(--spacing-md);background:#22d3ee33;color:var(--color-accent-cyan);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition-fast)}.lobby-code button:hover{background:#22d3ee4d;box-shadow:var(--shadow-glow-cyan)}.lobby-content{flex:1;display:grid;grid-template-columns:1fr 300px;gap:var(--spacing-2xl);animation:fadeInUp .6s ease-out .1s both}.players-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);padding:var(--spacing-xl)}.players-section h2{font-family:var(--font-family-display);font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.player-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.player-list .player{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#0a0a1280;border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--transition-base)}.player-list .player:hover{border-color:var(--border-color);background:#8b5cf61a}.player-list .player.ready{border-color:var(--color-success);background:#4ade801a}.player-name{font-weight:500;display:flex;align-items:center;gap:var(--spacing-sm)}.player-status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.player.ready .player-status{color:var(--color-success)}.lobby-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.start-btn{width:100%;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-success) 0%,#22c55e 100%);color:#fff;font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-base)}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #4ade8080}.start-btn:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.add-bot-btn,.ready-btn{width:100%;padding:var(--spacing-md);background:var(--glass-bg);border:1px solid var(--border-color);color:var(--color-text-primary);font-weight:500;border-radius:var(--radius-lg);transition:all var(--transition-base)}.add-bot-btn:hover,.ready-btn:hover{border-color:var(--color-primary);background:#8b5cf633}.leave-btn{width:100%;padding:var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.leave-btn:hover{color:var(--color-danger)}.profile-page{min-height:100vh;padding:var(--spacing-xl);max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);animation:fadeInUp .5s ease-out}.profile-header .back-btn{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.profile-header .back-btn:hover{color:var(--color-primary-light)}.profile-header h1{font-family:var(--font-family-display);font-size:var(--font-size-3xl);color:var(--color-accent-gold)}.profile-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.profile-info{display:flex;align-items:center;gap:var(--spacing-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);padding:var(--spacing-xl);animation:fadeInUp .6s ease-out .1s both}.avatar-section{flex-shrink:0}.avatar-placeholder{width:100px;height:100px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:700;color:#fff;box-shadow:var(--shadow-glow)}.user-details h2{font-family:var(--font-family-display);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.user-email{color:var(--color-text-muted)}.stats-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);padding:var(--spacing-xl);animation:fadeInUp .7s ease-out .2s both}.stats-section h3{font-family:var(--font-family-display);font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.stat-card{background:#0a0a1280;border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;border:1px solid var(--border-color);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.stat-value{display:block;font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:700;color:var(--color-primary-light);margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.actions-section{animation:fadeInUp .8s ease-out .3s both}.logout-btn{width:100%;padding:var(--spacing-md);background:transparent;border:1px solid var(--color-danger);color:var(--color-danger);font-weight:500;border-radius:var(--radius-lg);transition:all var(--transition-base)}.logout-btn:hover{background:#f871711a}.game-page{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.game-page.night{--overlay-color: rgba(0, 0, 51, .3)}.game-page.day{--overlay-color: rgba(255, 215, 0, .1)}.game-canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.game-ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}.game-ui-overlay>*{pointer-events:auto}.game-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(to bottom,rgba(10,10,18,.9),transparent)}.phase-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.day-number{font-family:var(--font-family-display);font-size:var(--font-size-2xl);color:var(--color-accent-gold);text-shadow:0 0 20px rgba(255,215,0,.5)}.phase-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.15em}.role-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-primary-light);font-weight:600;transition:all var(--transition-base)}.role-button:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow)}.left-panel{position:absolute;top:80px;left:var(--spacing-md);width:300px;max-height:calc(100vh - 200px);overflow-y:auto}.right-panel{position:absolute;top:80px;right:var(--spacing-md);width:340px;max-height:calc(100vh - 200px)}.bottom-panel{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:700px;padding:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary-glow)}50%{box-shadow:0 0 30px var(--color-primary-glow),0 0 50px #8b5cf64d}}@keyframes titleGlow{0%,to{filter:drop-shadow(0 0 30px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 50px rgba(255,215,0,.8)) drop-shadow(0 0 80px rgba(255,215,0,.4))}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-glow{animation:glow 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}@media (max-width: 768px){.lobby-content{grid-template-columns:1fr}.lobby-actions{position:fixed;bottom:0;left:0;right:0;padding:var(--spacing-md);background:var(--color-bg-primary);border-top:1px solid var(--border-color)}.left-panel,.right-panel{width:100%;position:relative;top:auto;left:auto;right:auto;max-height:none}.game-title{font-size:2.5rem}}
