@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-page{align-items:center;background:linear-gradient(135deg,#0a0a0f,#1a1a2e 50%,#16213e);color:#fff;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 1rem;position:relative}.bg-grid{animation:gridMove 20s linear infinite;background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:50px 50px}.bg-grid,.floating-orbs{inset:0;pointer-events:none;position:absolute;z-index:0}.floating-orbs{overflow:hidden}.orb{animation:orbFloat 20s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.4;position:absolute}.orb-1{animation-duration:25s;background:radial-gradient(circle,#ff6b6b 0,#0000 70%);height:400px;left:-100px;top:-100px;width:400px}.orb-2{animation-delay:-5s;animation-duration:30s;background:radial-gradient(circle,#4ecdc4 0,#0000 70%);bottom:-100px;height:350px;right:-100px;width:350px}.orb-3{animation-delay:-10s;animation-duration:35s;background:radial-gradient(circle,#ffe66d 0,#0000 70%);height:300px;right:10%;top:50%;width:300px}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.home-container{align-items:center;display:flex;flex-direction:column;gap:3rem;max-width:900px;opacity:0;position:relative;text-align:center;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;width:100%;z-index:1}.home-container.visible{opacity:1;transform:translateY(0)}.hero-section{flex-direction:column;gap:2rem;width:100%}.hero-section,.logo-section{align-items:center;display:flex}.logo-section{animation:logoSlideIn .8s ease-out;justify-content:center}.logo-wrapper{display:inline-block;position:relative}.logo-image{filter:drop-shadow(0 20px 60px rgba(0,0,0,.8));height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-height:500px;max-width:800px;object-fit:contain;transition:transform .3s ease,filter .3s ease;width:auto}.logo-image:hover{filter:drop-shadow(0 25px 70px rgba(0,0,0,.9));transform:scale(1.02)}@keyframes logoSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.logo-fallback{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2rem}.fallback-icon{animation:iconPulse 2s ease-in-out infinite;font-size:4rem}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.fallback-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-size:2.5rem;font-weight:700;margin:0}.title-section{align-items:center;display:flex;flex-direction:column;gap:1rem}.main-title{display:flex;flex-wrap:wrap;font-family:Space Grotesk,sans-serif;font-size:clamp(3rem,8vw,5rem);font-weight:700;gap:1rem;justify-content:center;letter-spacing:-.02em;line-height:1.1;margin:0}.title-gradient{-webkit-text-fill-color:#0000;animation:gradientShift 3s ease infinite;background:linear-gradient(135deg,#fff,#e0e0e0 50%,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;position:relative}.title-gradient:after{-webkit-text-fill-color:#0000;animation:titleGlow 3s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;content:"";inset:0;opacity:0;position:absolute;z-index:-1}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes titleGlow{0%,to{filter:blur(20px);opacity:0}50%{filter:blur(10px);opacity:.3}}.subtitle{color:#ffffffb3;font-size:clamp(1rem,2vw,1.25rem);font-weight:400;letter-spacing:.02em;margin:0}.version-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;color:#fffc;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-top:.5rem;padding:.4rem 1rem;text-transform:uppercase}.stats-container{flex-wrap:wrap;gap:1.5rem;justify-content:center;width:100%}.stat-card,.stats-container{align-items:center;display:flex}.stat-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;gap:1rem;min-width:140px;padding:1.25rem 1.75rem;transition:all .3s ease}.stat-card:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 10px 30px #0000004d;transform:translateY(-2px)}.stat-icon{font-size:1.75rem;line-height:1}.stat-content{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.stat-number{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.75rem;font-weight:700;line-height:1}.stat-label{color:#fff9;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.actions-section{display:flex;flex-direction:column;gap:1rem;max-width:400px;width:100%}.action-btn{align-items:center;border:none;border-radius:14px;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;gap:.75rem;justify-content:center;letter-spacing:.02em;overflow:hidden;padding:1.25rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.primary-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 10px 30px #ff6b6b4d;color:#fff}.primary-btn:hover{background:linear-gradient(135deg,#ff7b7b,#ff6a7f);box-shadow:0 15px 40px #ff6b6b66;transform:translateY(-2px)}.primary-btn:active{transform:translateY(0)}.secondary-btn{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;box-shadow:0 10px 30px #0003;color:#fff}.secondary-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 15px 40px #0000004d;transform:translateY(-2px)}.secondary-btn:active{transform:translateY(0)}.btn-icon{font-size:1.5rem;line-height:1}.btn-text{font-size:1.125rem;font-weight:600}.btn-ripple{animation:ripple .6s ease-out;background:#ffffff4d;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(4)}}.action-btn:active .btn-ripple{animation:ripple .6s ease-out}.home-footer{gap:1rem;justify-content:center;margin-top:1rem;padding:1rem}.footer-link,.home-footer{align-items:center;display:flex}.footer-link{background:#0000;border:none;border-radius:8px;color:#fff9;cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.footer-link:hover{background:#ffffff0d;color:#ffffffe6}.footer-link span{font-size:1rem}.footer-divider{background:#fff3;height:20px;width:1px}@media (max-width:768px){.home-page{padding:1.5rem 1rem}.home-container{gap:2rem}.logo-image{max-height:350px;max-width:100%}.main-title{font-size:2.5rem;gap:.5rem}.stats-container{flex-direction:column;gap:1rem}.stat-card{justify-content:center;width:100%}.actions-section{max-width:100%}.action-btn{font-size:1rem;padding:1rem 1.5rem}}@media (max-width:480px){.home-page{padding:1rem .75rem}.home-container{gap:1.5rem}.logo-image{max-height:250px;max-width:100%}.main-title{font-size:2rem}.subtitle{font-size:.9375rem}.stat-card{min-width:auto;padding:1rem 1.25rem}.stat-number{font-size:1.5rem}.action-btn{font-size:.9375rem;padding:.875rem 1.25rem}.btn-icon{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-page{background:linear-gradient(135deg,#0a0a0f,#1a1a2e 50%,#16213e);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;padding:0;position:relative}.admin-page:before{animation:gridMove 20s linear infinite;background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:50px 50px;content:"";inset:0;pointer-events:none;position:fixed;z-index:0}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.admin-header{padding:2rem 1rem 1.5rem;position:relative;text-align:center;z-index:1}.back-to-home{align-items:center;border-radius:8px;color:#ffffffb3;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;left:1.5rem;padding:.5rem 1rem;position:absolute;text-decoration:none;top:1.5rem;transition:all .2s ease}.back-to-home:hover{background:#ffffff0d;color:#fff}.admin-logo{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem}.admin-logo-image{filter:drop-shadow(0 20px 60px rgba(0,0,0,.5));height:auto;max-height:300px;max-width:600px;object-fit:contain;width:auto}.admin-header h1{color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.admin-subtitle{color:#ffffffb3;font-size:1rem;margin:0 0 1rem}.connection-warning{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:12px;color:#ff6b6b;display:inline-block;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.25rem}.admin-main{margin:0 auto;max-width:1200px;padding:0 1.5rem 3rem;position:relative;z-index:1}.mode-toggle-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:2rem;padding:1.5rem;text-align:center}.mode-toggle-container{align-items:center;display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem}.mode-label{color:#ffffff80;font-size:1rem;font-weight:600;transition:color .3s ease}.mode-label.active{color:#fff}.mode-toggle-switch{background:#ffffff1a;border:1px solid #fff3;border-radius:16px;cursor:pointer;height:32px;position:relative;transition:all .3s ease;width:60px}.mode-toggle-switch.advanced{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-color:#ff6b6b}.toggle-slider{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003;height:24px;left:4px;position:absolute;top:4px;transition:transform .3s ease;width:24px}.mode-toggle-switch.advanced .toggle-slider{transform:translateX(28px)}.mode-description{color:#fff9;font-size:.875rem;margin:0}.tabs-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding:.5rem;scrollbar-width:thin}.tab-btn{background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;min-width:120px;padding:.875rem 1.25rem;transition:all .3s ease;white-space:nowrap}.tab-btn:hover:not(.disabled){background:#ffffff0d;color:#ffffffe6}.tab-btn.active{background:#ffffff1a;box-shadow:0 4px 12px #0003;color:#fff}.tab-btn.disabled{cursor:not-allowed;opacity:.3}.tab-content{min-height:400px}.admin-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:2rem;padding:2rem;transition:all .3s ease}.admin-section:hover{border-color:#ffffff26;box-shadow:0 8px 32px #0000004d}.section-title{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#ffffffe6;font-size:.9375rem;margin-bottom:.75rem}.form-input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif;font-size:1rem;padding:.875rem 1.25rem;transition:all .3s ease;width:100%}.form-input:hover{background:#ffffff14;border-color:#fff3}.form-input:focus{background:#ffffff1a;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc41a;outline:none}.form-input.error{background:#ff6b6b1a;border-color:#ff6b6b}.form-input::placeholder{color:#fff6}.button-group{display:flex;flex-wrap:wrap;gap:.75rem}.button-group button{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:600;min-width:120px;padding:.875rem 1.25rem;transition:all .3s ease}.button-group button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.button-group button.active{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b4d}.button-group button:disabled{cursor:not-allowed;opacity:.4}.number-input-group{align-items:center;display:flex;gap:.75rem}.number-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;height:40px;justify-content:center;transition:all .2s ease;width:40px}.number-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:scale(1.05)}.number-btn:disabled{cursor:not-allowed;opacity:.3}.number-input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;padding:.75rem;text-align:center;transition:all .2s ease;width:80px}.number-input:focus{background:#ffffff1a;border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.count-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;min-width:80px;text-align:center}.player-count-control{gap:2rem;margin:1.5rem 0}.count-btn,.player-count-control{align-items:center;display:flex;justify-content:center}.count-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;height:48px;transition:all .3s ease;width:48px}.count-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.count-btn:disabled{cursor:not-allowed;opacity:.3}.role-category{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.role-category-mafia{background:#ff6b6b0d;border-color:#ff6b6b4d}.role-category-town{background:#4ecdc40d;border-color:#4ecdc44d}.role-category-independent{background:#ffe66d0d;border-color:#ffe66d4d}.category-title{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:.05em;margin:0 0 1.25rem;text-transform:uppercase}.category-title-mafia{color:#ff6b6b}.category-title-town{color:#4ecdc4}.category-title-independent{color:#ffe66d}.roles-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.role-config-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.25rem;transition:all .3s ease}.role-config-card:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.role-category-mafia .role-config-card{border-color:#ff6b6b33}.role-category-town .role-config-card{border-color:#4ecdc433}.role-category-independent .role-config-card{border-color:#ffe66d33}.role-header{margin-bottom:1rem}.role-info h4{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:600;margin:0 0 .5rem}.role-meta{align-items:center;color:#fff9;display:flex;font-size:.8125rem;justify-content:space-between;margin-bottom:.5rem}.role-power{color:#4ecdc4;font-weight:600}.role-controls{gap:1rem}.role-btn,.role-controls{align-items:center;display:flex;justify-content:center}.role-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;height:32px;transition:all .2s ease;width:32px}.role-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:scale(1.1)}.role-btn:disabled{cursor:not-allowed;opacity:.3}.role-count{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;min-width:40px;text-align:center}.power-balance-chart{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-top:1.5rem;padding:1.75rem}.chart-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.chart-title{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.balance-status{border:1px solid;border-radius:12px;font-size:.8125rem;font-weight:600;padding:.375rem .875rem}.balance-status.balanced{background:#4ecdc41a;border-color:#4ecdc44d;color:#4ecdc4}.balance-status.moderate{background:#ffe66d1a;border-color:#ffe66d4d;color:#ffe66d}.balance-status.unbalanced{background:#ff6b6b1a;border-color:#ff6b6b4d;color:#ff6b6b}.team-labels-row{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1rem}.team-label-item{flex:1 1}.team-name{font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.mafia-label .team-name{color:#ff6b6b}.town-label .team-name{color:#4ecdc4}.team-stats{color:#fff9;font-size:.75rem}.power-bar-container-combined{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;height:3rem;overflow:hidden;width:100%}.power-bar{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .6s ease}.mafia-bar{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.town-bar{background:linear-gradient(135deg,#4ecdc4,#3db8ab)}.power-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:600;text-shadow:0 2px 4px #00000080;z-index:2}.create-room-footer{border-top:1px solid #ffffff1a;margin-top:3rem;padding-top:2rem}.btn-create-room{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:14px;box-shadow:0 10px 30px #ff6b6b4d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;gap:.75rem;justify-content:center;padding:1.25rem 2rem;transition:all .3s ease;width:100%}.btn-create-room:hover:not(:disabled){background:linear-gradient(135deg,#ff7b7b,#ff6a7f);box-shadow:0 15px 40px #ff6b6b66;transform:translateY(-2px)}.btn-create-room:disabled{cursor:not-allowed;opacity:.5;transform:none}.create-room-hint{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#ffffffb3;font-size:.875rem;margin-top:1rem;padding:1rem}.validation-checklist{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.validation-checklist li{font-size:.875rem;padding:.5rem}.validation-checklist li.valid{color:#4ecdc4}.validation-checklist li.invalid{color:#ff6b6b}.room-created{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:4rem 2rem;text-align:center}.room-created h2{color:#4ecdc4;font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;margin:2rem 0}.room-codes{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0;max-width:800px;width:100%}.code-display{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:2rem}.code-display label{color:#ffffffb3;display:block;font-size:1rem;font-weight:500;margin-bottom:1rem}.code-value{color:#fff;font-family:Space Grotesk,monospace;font-size:2rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.5rem}.code-display button{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.875rem 1.25rem;transition:all .2s ease;width:100%}.code-display button:hover{background:#ffffff26;border-color:#ffffff4d}.tooltip-trigger{cursor:pointer;display:inline-block;margin-left:.5rem;position:relative}.tooltip-icon{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#ffffffb3;display:inline-flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;transition:all .2s ease;width:20px}.tooltip-icon:hover{background:#ffffff26;border-color:#ffffff4d}.tooltip-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;inset:0;position:fixed;z-index:9998}.tooltip-popup{animation:popupSlideIn .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0ff2;border:1px solid #ffffff1a;border-radius:16px;display:flex;flex-direction:column;left:50%;max-height:80vh;max-width:500px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:9999}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tooltip-popup-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.tooltip-popup-title{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;margin:0}.tooltip-popup-close{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.tooltip-popup-close:hover{background:#ffffff26;border-color:#ffffff4d}.tooltip-popup-content{flex:1 1;overflow-y:auto;padding:1.5rem}.tooltip-popup-content p{color:#fffc;font-size:1rem;line-height:1.6;margin:0}.error-message{background:#ff6b6b1a;border:1px solid #ff6b6b4d;color:#ff6b6b}.error-message,.success-message{display:block;font-size:.875rem;margin-top:.75rem;padding:.75rem 1rem}.success-message{background:#4ecdc41a;border:1px solid #4ecdc44d;border-radius:8px;color:#4ecdc4}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.admin-header{padding:1.5rem 1rem 1rem}.back-to-home{display:inline-block;margin-bottom:1rem;position:static}.admin-main{padding:0 1rem 2rem}.admin-section{padding:1.5rem}.roles-grid{grid-template-columns:1fr}.tabs-container{gap:.4rem;padding:.5rem}.tab-btn{font-size:.8125rem;min-width:100px;padding:.75rem 1rem}.player-count-control{gap:1.5rem}}@media (max-width:480px){.admin-header h1{font-size:1.75rem}.section-title{font-size:1.25rem}.tooltip-popup{max-width:none;width:95%}}.join-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.join-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;width:100%}.join-container h1{color:#333;margin-bottom:30px;text-align:center}.room-info{background:#f0f0f0;border-radius:10px;margin-bottom:20px;padding:15px;text-align:center}.room-info h3{color:#333;margin-bottom:10px}.room-info p{color:#666;margin:5px 0}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.error-message{background:#fee;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px;text-align:center}.join-button{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:10px;padding:15px;transition:all .3s;width:100%}.join-button:hover:not(:disabled){box-shadow:0 10px 20px #f5576c66;transform:translateY(-2px)}.join-button:disabled{cursor:not-allowed;opacity:.6}.game-page{min-height:100vh;padding:20px}.game-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:800px;padding:30px}.game-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.game-header h1{color:#333;margin:0}.room-name{font-size:1.2rem}.room-name,.waiting-message{color:#666;margin-bottom:20px;text-align:center}.waiting-message{background:#f0f0f0;border-radius:10px;padding:20px}.players-section h2{color:#333;margin-bottom:15px}.no-players{padding:40px}.player-item{transition:all .3s}.player-item.you{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:600}.role-card-section{display:flex;justify-content:center;margin:30px 0}.role-card{cursor:pointer;height:280px;perspective:1000px;width:200px}.role-card-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.role-card.flipped .role-card-inner{transform:rotateY(180deg)}.role-card-back,.role-card-front{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:15px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;height:100%;justify-content:center;position:absolute;width:100%}.role-card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-card-back{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;transform:rotateY(180deg)}.card-back-logo{font-size:4rem;margin-bottom:20px}.role-card-back h3,.role-card-front p{margin:10px 0;text-align:center}.game-phase{background:#f0f0f0;border-radius:10px;margin-bottom:20px;padding:20px;text-align:center}.leave-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px;transition:all .3s;width:100%}.leave-button:hover{background:#c82333;transform:translateY(-2px)}.night-actions-section,.voting-section{background:#f8f9fa;border-radius:10px;margin:30px 0;padding:20px}.night-actions-section h3,.voting-section h3{color:#333;margin-bottom:15px}.targets-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:15px}.target-button{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:.9rem;padding:12px;transition:all .3s}.target-button:hover:not(:disabled){border-color:#667eea;transform:translateY(-2px)}.target-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.target-button:disabled{cursor:not-allowed;opacity:.6}.action-confirmed{color:#28a745;font-weight:600;margin-top:15px;text-align:center}.investigation-result{background:#fff3cd;border:2px solid #ffc107;border-radius:10px;margin:20px 0;padding:20px}.investigation-result h3{color:#856404;margin-bottom:10px}.role-emoji{font-size:4rem;margin-bottom:10px}.role-name-fa{color:#666;font-size:1.2rem;margin:10px 0}.role-team{color:#999;font-size:.9rem;margin-top:10px}.room-management-page{min-height:100vh;padding:20px}.room-management-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:800px;padding:30px}.room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.room-header h1{color:#333;margin:0}.room-info-section{background:#f8f9fa;border-radius:10px;margin-bottom:30px;padding:20px}.room-info-section h2{color:#333;margin-bottom:10px}.room-info-section p{color:#666;margin:5px 0}.players-section{margin-bottom:30px}.players-section h3{color:#333;margin-bottom:15px}.no-players{color:#999;font-style:italic;padding:20px;text-align:center}.players-list{grid-gap:10px;display:grid;gap:10px}.player-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;padding:15px}.player-item.disconnected{opacity:.6}.room-actions{display:flex;flex-direction:column;gap:10px}.action-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px;transition:all .3s}.action-button:hover{box-shadow:0 10px 20px #667eea66;transform:translateY(-2px)}.action-button.start-game{background:linear-gradient(135deg,#28a745,#20c997);font-size:1.1rem;font-weight:700}.admin-dashboard-page{min-height:100vh;padding:20px}.admin-dashboard-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:1000px;padding:30px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.admin-header h1{color:#333;margin:0}.connection-status{border-radius:20px;font-size:.9rem;font-weight:600;padding:8px 16px}.connection-status.connected{background:#d4edda;color:#155724}.connection-status.disconnected{background:#f8d7da;color:#721c24}.admin-section{background:#f8f9fa;border-radius:10px;margin-bottom:30px;padding:20px}.admin-section h2{color:#333;margin-bottom:20px}.master-reset-form{display:flex;gap:10px}.password-input{border:2px solid #ddd;border-radius:8px;flex:1 1;font-size:1rem;padding:12px}.password-input:focus{border-color:#667eea;outline:none}.reset-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s}.reset-button:hover:not(:disabled){background:#c82333;transform:translateY(-2px)}.reset-button:disabled{cursor:not-allowed;opacity:.6}.no-rooms{color:#999;font-style:italic;padding:40px;text-align:center}.rooms-list{grid-gap:15px;display:grid;gap:15px}.room-item{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:10px;display:flex;gap:20px;padding:15px}.room-code{color:#667eea;font-size:1.5rem;font-weight:700;min-width:100px}.room-details{flex:1 1}.room-details p{color:#666;margin:5px 0}.back-button{background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:1rem;padding:12px;transition:all .3s;width:100%}.back-button:hover{background:#e0e0e0}.help-page{align-items:center;background:radial-gradient(circle at 50% 50%,#8b000026 0,#000000f2 60%),linear-gradient(180deg,#000000fa,#140000fc);color:#f5f5f5;display:flex;font-family:Crimson Text,Georgia,serif;justify-content:center;min-height:100vh;padding:2rem 1rem}.help-container{max-width:800px;text-align:center;width:100%}.back-link{color:#d4af37;display:inline-block;font-size:.9375rem;margin-bottom:2rem;text-decoration:none;transition:all .2s ease}.back-link:hover{text-shadow:0 0 10px #d4af37cc}.help-container h1{color:#d4af37;font-family:Cinzel,Georgia,serif;font-size:2.5rem;margin-bottom:1rem;text-shadow:0 0 15px #d4af3780}.help-container p{color:#e0e0e0;font-size:1.125rem;margin-bottom:2rem}.btn-home{background:#8b000066;border:2px solid #d4af3780;border-radius:8px;color:#d4af37;cursor:pointer;font-family:Crimson Text,Georgia,serif;font-size:1rem;font-weight:600;padding:.875rem 1.75rem;transition:all .3s ease}.btn-home:hover{background:#8b000099;border-color:#d4af37;box-shadow:0 4px 16px #d4af374d;transform:translateY(-2px)}.App{min-height:100vh;width:100%}
/*# sourceMappingURL=main.38d38184.css.map*/