*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;position:relative;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a,button{-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{align-items:center;display:flex;gap:15px;justify-content:space-between;margin:0 auto;max-width:1200px}.header-left{flex:1 1}.header-logo{color:#fff;font-size:1.2rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{gap:10px}.header-right,.user-info{align-items:center;display:flex}.user-info{flex-wrap:wrap;gap:12px}.user-greeting{color:#fff;font-size:.9rem;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-link-button,.logout-button{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.login-link-button:hover,.logout-button:hover{background:#ffffff4d;transform:translateY(-1px)}.login-link-button:active,.logout-button:active{transform:translateY(0)}@media (min-width:768px){.app-header{padding:18px 30px}.header-logo{font-size:1.4rem}.user-greeting{font-size:1rem;max-width:200px}.login-link-button,.logout-button{font-size:1rem;padding:10px 20px}}@media (min-width:1024px){.app-header{padding:20px 40px}.header-logo{font-size:1.6rem}.user-greeting{font-size:1.05rem;max-width:250px}}.intro-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;display:flex;justify-content:center;min-height:100vh;overflow-x:hidden;padding:15px}.intro-container{animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:100%;padding:20px;width:100%}.intro-header{border-bottom:3px solid #667eea;margin-bottom:25px;padding-bottom:20px;text-align:center}.intro-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0 0 8px}.intro-subtitle{color:#666;font-size:1rem;font-style:italic;margin:0}.intro-content{display:flex;flex-direction:column;gap:25px}.intro-section{animation:fadeIn .8s ease-out}.intro-section h2{border-bottom:2px solid #e0e0e0;color:#764ba2;font-size:1.4rem;margin:0 0 12px;padding-bottom:8px}.intro-section p{color:#555;font-size:.95rem;line-height:1.7;margin:10px 0}.carousel-container{align-items:center;display:flex;gap:10px;margin:20px 0;position:relative}.carousel-wrapper{border-radius:12px;box-shadow:0 4px 15px #0000001a;flex:1 1;overflow:hidden}.carousel-track{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.carousel-slide{background:#f8f9ff;border-radius:12px;display:flex;flex-direction:column;min-width:100%}.step-image-placeholder{background:linear-gradient(135deg,#e8ebff,#f0f2ff);border-radius:12px 12px 0 0;flex-direction:column;height:180px;position:relative;width:100%}.step-image-placeholder,.step-number-badge{align-items:center;display:flex;justify-content:center}.step-number-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 8px #667eea4d;color:#fff;font-size:1.2rem;font-weight:700;height:40px;left:15px;position:absolute;top:15px;width:40px}.placeholder-content{color:#999;font-size:1rem;font-weight:500}.carousel-slide .step-content{padding:20px;text-align:center}.carousel-slide .step-content h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 10px}.carousel-slide .step-content p{color:#666;font-size:.95rem;line-height:1.6;margin:0}.carousel-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.8rem;font-weight:700;height:45px;justify-content:center;transition:transform .2s,box-shadow .2s,opacity .2s;width:45px;z-index:10}.carousel-button:hover{box-shadow:0 6px 18px #667eea80;transform:scale(1.1)}.carousel-button:active{transform:scale(.95)}.carousel-button:disabled{cursor:not-allowed;opacity:.5}.carousel-indicators{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:15px}.indicator{background:#d0d0d0;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:background .3s,transform .2s;width:10px}.indicator:hover{transform:scale(1.2)}.indicator.active{background:#667eea;border-radius:5px;transform:scale(1.3);width:30px}.features-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;list-style:none;margin:15px 0;padding:0}.features-list li{background:#f8f9ff;border-radius:8px;color:#555;font-size:.95rem;padding:12px;transition:background .2s,transform .2s}.features-list li:hover{background:#eef0ff;transform:translateX(5px)}.intro-actions{border-top:2px solid #e0e0e0;margin-top:25px;padding-top:25px;text-align:center}.btn-primary{border-radius:50px;font-size:1.1rem;max-width:300px;padding:14px 30px;transition:transform .2s,box-shadow .2s;width:100%}.btn-primary:hover{box-shadow:0 6px 20px #667eea80}@media (min-width:768px){.intro-page{padding:30px}.intro-container{border-radius:20px;max-width:700px;padding:35px}.intro-title{font-size:2.5rem}.intro-subtitle{font-size:1.2rem}.intro-section h2{font-size:1.7rem}.intro-section p{font-size:1.05rem}.step-image-placeholder{height:220px}.carousel-button{font-size:2rem;height:50px;width:50px}.features-list{grid-template-columns:repeat(2,1fr)}.btn-primary{padding:15px 40px;width:auto}}@media (min-width:1024px){.intro-container{max-width:900px;padding:40px}.intro-title{font-size:3rem}.intro-subtitle{font-size:1.3rem}.intro-content{gap:35px}.step-image-placeholder{height:250px}.step-number-badge{font-size:1.5rem;height:50px;width:50px}.features-list{grid-template-columns:repeat(3,1fr)}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow-x:hidden;padding:15px}.login-container{animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:100%;padding:25px 20px;position:relative;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.back-button{align-items:center;background:#f0f0f0;border:none;color:#666;display:flex;font-size:.85rem;gap:4px;left:15px;padding:8px 14px;position:absolute;top:15px;transition:background .2s,transform .2s}.back-button:hover{background:#e0e0e0}.back-button:active{transform:scale(.95)}.login-header{margin-bottom:25px;padding-top:10px;text-align:center}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0 0 8px}.login-header p{color:#666;font-size:.95rem;margin:0}.login-form{display:flex;flex-direction:column;gap:18px}.form-group label{color:#555;font-size:.9rem;font-weight:500}.form-group input{-webkit-appearance:none;appearance:none;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:14px 16px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input::placeholder{color:#aaa}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:8px;padding:16px;touch-action:manipulation;transition:transform .2s,box-shadow .2s;width:100%}.submit-button:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{border-left:3px solid #c33;font-size:.9rem;margin-top:10px}.success-message{background-color:#efe;border-left:3px solid #3c3;border-radius:8px;color:#3c3;font-size:.9rem;margin-top:10px;padding:12px}.toggle-mode{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.toggle-mode p{color:#666;font-size:.95rem;margin:0}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;touch-action:manipulation}.link-button:hover{color:#764ba2}.link-button:active{opacity:.7}@media (min-width:768px){.login-page{padding:30px}.login-container{border-radius:20px;max-width:450px;padding:40px}.back-button{font-size:.9rem;left:20px;padding:8px 16px;top:20px}.login-header{margin-bottom:30px}.login-header h1{font-size:2.2rem;margin-bottom:10px}.login-header p{font-size:1rem}.login-form{gap:20px}.form-group label{font-size:.95rem}.form-group input{padding:12px 16px}.submit-button{margin-top:10px;padding:14px}.toggle-mode{margin-top:25px;padding-top:25px}}@media (min-width:1024px){.login-container{max-width:500px;padding:50px}}.games-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:20px}.games-container{margin:0 auto;max-width:1200px}.games-header{margin-bottom:30px;text-align:center}.games-header h1{color:#2c3e50;font-size:2rem;margin-bottom:10px}.games-subtitle{color:#7f8c8d;font-size:1.1rem}.games-content{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px}.games-placeholder{padding:60px 20px;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:20px}.games-placeholder h2{color:#2c3e50;font-size:1.5rem;margin-bottom:10px}.games-placeholder p{color:#7f8c8d;font-size:1rem;margin-bottom:30px}.btn-primary{border:none;border-radius:25px;font-weight:600;transition:all .3s}.btn-primary:hover{box-shadow:0 6px 20px #667eea99}.btn-primary:active{transform:translateY(0)}.games-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.games-list-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.games-list{grid-gap:20px;display:grid;gap:20px}.game-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s}.game-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.game-card-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:12px}.game-card-header h3{color:#2c3e50;flex:1 1;font-size:1.3rem;margin:0}.game-percentage{border-radius:15px;font-size:.85rem;padding:4px 12px}.game-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#555;display:-webkit-box;font-size:.95rem;line-height:1.5;margin-bottom:15px;overflow:hidden}.game-meta{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:15px;padding-top:15px}.game-meta-item{align-items:center;display:flex;font-size:.85rem;gap:6px}.meta-label{color:#7f8c8d;font-weight:500}.meta-value{color:#2c3e50;font-weight:600}.game-card-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:15px;padding-top:15px}.btn-delete,.btn-edit,.btn-join{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .3s}.btn-join{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.btn-join:hover{box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.btn-join:active{transform:translateY(0)}.btn-edit{background:#fff;border:2px solid #667eea;color:#667eea}.btn-edit:hover{background:#f5f5f5;transform:translateY(-2px)}.btn-edit:active{transform:translateY(0)}.btn-delete{background:#e74c3c;border:2px solid #e74c3c;color:#fff}.btn-delete:hover{background:#c0392b;border-color:#c0392b;box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.btn-delete:active{transform:translateY(0)}@media (min-width:768px){.games-page{padding:30px}.games-header h1{font-size:2.5rem}.games-content{padding:40px}.games-placeholder{padding:80px 20px}.placeholder-icon{font-size:5rem}}@media (min-width:1024px){.games-page{padding:40px}.games-header h1{font-size:3rem}.games-content{padding:50px}.games-list{grid-template-columns:repeat(2,1fr)}.game-card-header h3{font-size:1.4rem}}@media (min-width:1200px){.games-list{grid-template-columns:repeat(3,1fr)}}.create-game-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:20px}.create-game-container{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:0 auto;max-width:800px;padding:30px}.create-game-header{margin-bottom:30px;text-align:center}.create-game-header h1{color:#2c3e50;font-size:2rem;margin-bottom:10px}.create-game-header p{color:#7f8c8d;font-size:1rem}.create-game-form{display:flex;flex-direction:column;gap:20px}@media (min-width:768px){.create-game-page{padding:30px}.create-game-container{padding:40px}.create-game-header h1{font-size:2.5rem}.form-actions{justify-content:flex-end}}@media (min-width:1024px){.create-game-page{padding:40px}.create-game-container{padding:50px}.create-game-header h1{font-size:3rem}}.edit-game-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:20px}.edit-game-container{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:0 auto;max-width:800px;padding:30px}.edit-game-header{margin-bottom:30px;text-align:center}.edit-game-header h1{color:#2c3e50;font-size:2rem;margin-bottom:10px}.edit-game-header p{color:#7f8c8d;font-size:1rem}.edit-game-form{gap:20px}.edit-game-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#2c3e50;font-size:1rem;font-weight:600}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group input:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{min-height:80px;resize:vertical}.form-help{color:#7f8c8d;font-size:.85rem;margin-top:-4px}.acts-section{border-top:2px solid #e0e0e0;margin-top:10px;padding-top:20px}.acts-section h3{color:#2c3e50;font-size:1.3rem;margin-bottom:15px}.slides-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.slides-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.slides-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.btn-add-slide{align-items:center;background:#fff;border:2px solid #667eea;border-radius:50%;color:#667eea;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .3s;width:40px}.btn-add-slide:hover:not(:disabled){background:#667eea;color:#fff;transform:scale(1.1)}.btn-add-slide:disabled{cursor:not-allowed;opacity:.5}.plus-icon{font-weight:300;line-height:1}.slides-empty{background:#f8f9fa;border-radius:8px;color:#7f8c8d;padding:40px 20px;text-align:center}.slides-list{display:flex;flex-direction:column;gap:20px}.slide-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px}.slide-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.slide-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.slide-actions{display:flex;gap:8px}.btn-move-slide,.btn-remove-slide{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#667eea;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.btn-move-slide:hover:not(:disabled),.btn-remove-slide:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.btn-move-slide:disabled,.btn-remove-slide:disabled{cursor:not-allowed;opacity:.4}.btn-remove-slide{border-color:#e74c3c;color:#e74c3c}.btn-remove-slide:hover:not(:disabled){background:#e74c3c;border-color:#e74c3c;color:#fff}.slide-content{display:flex;flex-direction:column;gap:15px}.image-preview{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;margin-top:10px;min-height:200px;padding:10px}.image-preview img{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.image-error{color:#e74c3c;padding:20px;text-align:center}.upload-progress{background:#f0f0f0;border-radius:4px;color:#667eea;font-size:.9rem;margin-top:8px;padding:10px;text-align:center}.btn-remove-image{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:10px;padding:6px 12px;transition:all .2s}.btn-remove-image:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.btn-remove-image:disabled{cursor:not-allowed;opacity:.5}input[type=file]{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px;width:100%}input[type=file]:disabled{cursor:not-allowed;opacity:.6}.form-actions{border-top:2px solid #e0e0e0;gap:15px;justify-content:flex-end;margin-top:10px;padding-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:12px 30px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}@media (min-width:768px){.edit-game-page{padding:30px}.edit-game-container{padding:40px}.edit-game-header h1{font-size:2.5rem}.form-actions{justify-content:flex-end}}@media (min-width:1024px){.edit-game-page{padding:40px}.edit-game-container{padding:50px}.edit-game-header h1{font-size:3rem}}.join-game-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:20px}.join-game-container{margin:0 auto;max-width:800px}.join-game-header{margin-bottom:30px;text-align:center}.back-button{background:#fffc;border:2px solid #e0e0e0;border-radius:20px;color:#2c3e50;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:20px;padding:8px 16px;transition:all .3s}.back-button:hover{background:#fff;border-color:#667eea;transform:translateY(-1px)}.join-game-header h1{color:#2c3e50;font-size:2rem;margin-bottom:10px}.join-game-header p{color:#7f8c8d;font-size:1rem}.join-game-content{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px}.game-info-card{display:flex;flex-direction:column;gap:25px}.game-info-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;gap:15px;justify-content:space-between;padding-bottom:20px}.game-info-header h2{color:#2c3e50;flex:1 1;font-size:1.8rem;margin:0}.game-percentage{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:1rem;font-weight:600;padding:6px 16px;white-space:nowrap}.game-acts-preview h3,.game-info-description h3,.game-info-details h3{color:#2c3e50;font-size:1.3rem;margin-bottom:12px}.game-info-description p{color:#555;font-size:1rem;line-height:1.6}.game-slideshow-preview{border-bottom:2px solid #e0e0e0;display:flex;flex-direction:column;gap:15px;padding:20px;width:100%}.game-slideshow-container{align-items:center;background:#fffc;border-radius:8px;display:flex;gap:10px;min-height:300px;padding:15px;position:relative}.game-slideshow-nav{align-items:center;background:#667eea33;border:2px solid #667eea4d;border-radius:50%;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s;width:40px;z-index:10}.game-slideshow-nav:hover:not(:disabled){background:#667eea4d;border-color:#667eea80;transform:scale(1.1)}.game-slideshow-nav:disabled{cursor:not-allowed;opacity:.3}.game-slideshow-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;text-align:center}.game-slide-image-container{align-items:center;background:#0000000d;border-radius:8px;display:flex;height:300px;justify-content:center;margin-bottom:10px;max-width:500px;overflow:hidden;width:100%}.game-slide-image{background:#00000005;height:100%;object-fit:contain;width:100%}.game-slide-image-placeholder{align-items:center;background:#00000005;color:#0000004d;display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.game-slide-title{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0;padding:0 10px}.game-slide-description{color:#555;font-size:1rem;line-height:1.5;margin:0;max-width:600px;padding:0 10px}.game-slideshow-indicators{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.game-slideshow-indicator{background:#0000;border:2px solid #667eea80;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .3s;width:10px}.game-slideshow-indicator:hover{background:#667eea4d;border-color:#667eeab3}.game-slideshow-indicator.active{background:#667eea;border-color:#667eea;transform:scale(1.2)}.game-slideshow-counter{color:#7f8c8d;font-size:.85rem;font-weight:500;text-align:center}@media (min-width:768px){.game-slideshow-container{min-height:350px;padding:20px}.game-slide-image-container{height:350px;max-width:600px}.game-slide-title{font-size:1.4rem}.game-slide-description{font-size:1.1rem}.game-slideshow-nav{font-size:1.4rem;height:45px;width:45px}}.game-info-details{background:#f8f9fa;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:20px}.info-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.info-item:last-child{border-bottom:none}.info-label{color:#7f8c8d;font-size:.95rem;font-weight:500}.info-value{color:#2c3e50;font-size:.95rem;font-weight:600}.game-acts-section{border-top:2px solid #e0e0e0;padding-top:20px}.acts-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.acts-section-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.btn-add-act{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:35px;justify-content:center;line-height:1;padding:0;transition:all .3s;width:35px}.btn-add-act:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.acts-empty{color:#7f8c8d;font-size:.95rem;padding:20px;text-align:center}.acts-list{display:flex;flex-direction:column;gap:15px}.act-preview{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;padding:15px;position:relative}.act-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.act-number-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 12px}.act-actions{gap:8px}.act-actions,.btn-edit-act{align-items:center;display:flex}.btn-edit-act{background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:28px;justify-content:center;padding:0;transition:all .3s;width:28px}.btn-edit-act:hover{background:#2980b9;transform:scale(1.1)}.btn-delete-act{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:all .3s;width:28px}.btn-delete-act:hover{background:#c0392b;transform:scale(1.1)}.act-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:10px 0 8px}.act-content{color:#555;font-size:.95rem;line-height:1.5;margin:0}.act-slideshow-preview{display:flex;flex-direction:column;gap:15px;margin-top:10px;width:100%}.act-slideshow-container{align-items:center;background:#fffc;border-radius:8px;display:flex;gap:10px;min-height:250px;padding:15px;position:relative}.act-slideshow-nav{align-items:center;background:#667eea33;border:2px solid #667eea4d;border-radius:50%;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s;width:40px;z-index:10}.act-slideshow-nav:hover:not(:disabled){background:#667eea4d;border-color:#667eea80;transform:scale(1.1)}.act-slideshow-nav:disabled{cursor:not-allowed;opacity:.3}.act-slideshow-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;text-align:center}.act-slide-image-container{align-items:center;background:#0000000d;border-radius:8px;display:flex;height:200px;justify-content:center;margin-bottom:10px;max-width:400px;overflow:hidden;width:100%}.act-slide-image{background:#00000005;height:100%;object-fit:contain;width:100%}.act-slide-image-placeholder{align-items:center;background:#00000005;color:#0000004d;display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.act-slide-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0;padding:0 10px}.act-slide-description{color:#555;font-size:.9rem;line-height:1.5;margin:0;max-width:500px;padding:0 10px}.act-slideshow-indicators{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.act-slideshow-indicator{background:#0000;border:2px solid #667eea80;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .3s;width:10px}.act-slideshow-indicator:hover{background:#667eea4d;border-color:#667eeab3}.act-slideshow-indicator.active{background:#667eea;border-color:#667eea;transform:scale(1.2)}.act-slideshow-counter{color:#7f8c8d;font-size:.85rem;font-weight:500;text-align:center}@media (min-width:768px){.act-slideshow-container{min-height:300px;padding:20px}.act-slide-image-container{height:250px;max-width:500px}.act-slide-title{font-size:1.2rem}.act-slide-description{font-size:1rem}.act-slideshow-nav{font-size:1.4rem;height:45px;width:45px}}.game-roles-section{border-top:2px solid #e0e0e0;padding-top:20px}.roles-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.roles-section-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.btn-add-role{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:35px;justify-content:center;line-height:1;padding:0;transition:all .3s;width:35px}.btn-add-role:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.roles-empty{color:#7f8c8d;font-size:.95rem;padding:20px;text-align:center}.roles-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding:0}@media (max-width:768px){.roles-list{gap:15px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.roles-list{gap:15px;grid-template-columns:1fr}}.role-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;padding:20px;position:relative;text-align:center;transition:all .3s}.role-card:hover{border-color:#667eea;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.role-card-image{align-items:center;display:flex;height:100px;justify-content:center;margin-bottom:15px;position:relative;width:100px}.role-card-image img{object-fit:cover}.role-card-image img,.role-card-placeholder{border:3px solid #667eea;border-radius:50%;height:100%;width:100%}.role-card-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:2.5rem;justify-content:center}.role-card-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:15px;word-break:break-word}.role-card-actions{display:flex;gap:10px;justify-content:center;width:100%}.btn-copy-role,.btn-delete-role,.btn-edit-role{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;max-width:100px;padding:8px 16px;transition:all .3s}.btn-edit-role{background:#3498db;color:#fff}.btn-edit-role:hover{background:#2980b9;box-shadow:0 2px 8px #3498db4d;transform:translateY(-1px)}.btn-copy-role{background:#8e44ad;color:#fff}.btn-copy-role:hover{background:#732d91;box-shadow:0 2px 8px #8e44ad4d;transform:translateY(-1px)}.btn-delete-role{background:#e74c3c;color:#fff}.btn-delete-role:hover{background:#c0392b;box-shadow:0 2px 8px #e74c3c4d;transform:translateY(-1px)}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.role-modal{max-width:800px}.modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:#e0e0e0;border:none;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:32px;justify-content:center;line-height:1;padding:0;transition:all .3s;width:32px}.modal-close:hover{background:silver;transform:scale(1.1)}.act-form{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px}.act-form .form-group{display:flex;flex-direction:column;gap:8px}.act-form .form-group label{color:#2c3e50;font-size:1rem;font-weight:600}.act-form .form-group input,.act-form .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.act-form .form-group input:focus,.act-form .form-group textarea:focus{border-color:#667eea;outline:none}.act-form .form-group input:disabled,.act-form .form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.act-form .form-group textarea{min-height:120px;resize:vertical}.role-form{gap:25px;padding:20px}.form-section,.role-form{display:flex;flex-direction:column}.form-section{border-bottom:1px solid #e0e0e0;gap:15px;padding-bottom:20px}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 10px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.role-form .form-group{display:flex;flex-direction:column;gap:8px}.role-form .form-group label{color:#2c3e50;font-size:1rem;font-weight:600}.role-form .form-group input,.role-form .form-group select,.role-form .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.role-form .form-group input[type=color]{cursor:pointer;height:50px;padding:4px}.role-form .form-group input:focus,.role-form .form-group select:focus,.role-form .form-group textarea:focus{border-color:#667eea;outline:none}.role-form .form-group input:disabled,.role-form .form-group select:disabled,.role-form .form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.role-form .form-group textarea{min-height:80px;resize:vertical}.role-form .form-group small{color:#7f8c8d;font-size:.85rem;margin-top:4px}.role-form .upload-progress{background:#f0f0f0;border-radius:4px;color:#667eea;font-size:.9rem;margin-top:8px;padding:10px;text-align:center}.role-form .image-preview{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin-top:10px;min-height:200px;padding:10px}.role-form .image-preview img{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.role-form .image-error{color:#e74c3c;padding:20px;text-align:center}.role-form .btn-remove-image{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:10px;padding:6px 12px;transition:all .2s}.role-form .btn-remove-image:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.role-form .btn-remove-image:disabled{cursor:not-allowed;opacity:.5}.role-form input[type=file]{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px;width:100%}.role-form input[type=file]:disabled{cursor:not-allowed;opacity:.6}.checkbox-group,.checkbox-group label{align-items:center;display:flex}.checkbox-group label{cursor:pointer;font-weight:500;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;margin:0;width:auto}.modal-actions{border-top:2px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding-top:10px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.95rem;padding:12px}.act-slides-section{margin-top:10px}.act-slides-section .slides-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.act-slides-section .slides-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.act-slides-section .btn-add-slide{align-items:center;background:#fff;border:2px solid #667eea;border-radius:50%;color:#667eea;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .3s;width:40px}.act-slides-section .btn-add-slide:hover:not(:disabled){background:#667eea;color:#fff;transform:scale(1.1)}.act-slides-section .btn-add-slide:disabled{cursor:not-allowed;opacity:.5}.act-slides-section .plus-icon{font-weight:300;line-height:1}.act-slides-section .slides-empty{background:#f8f9fa;border-radius:8px;color:#7f8c8d;padding:40px 20px;text-align:center}.act-slides-section .slides-list{display:flex;flex-direction:column;gap:20px}.act-slides-section .slide-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px}.act-slides-section .slide-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.act-slides-section .slide-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.act-slides-section .slide-actions{display:flex;gap:8px}.act-slides-section .btn-move-slide,.act-slides-section .btn-remove-slide{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#667eea;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.act-slides-section .btn-move-slide:hover:not(:disabled),.act-slides-section .btn-remove-slide:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.act-slides-section .btn-move-slide:disabled,.act-slides-section .btn-remove-slide:disabled{cursor:not-allowed;opacity:.4}.act-slides-section .btn-remove-slide{border-color:#e74c3c;color:#e74c3c}.act-slides-section .btn-remove-slide:hover:not(:disabled){background:#e74c3c;border-color:#e74c3c;color:#fff}.act-slides-section .slide-content{display:flex;flex-direction:column;gap:15px}.act-slides-section .image-preview{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;margin-top:10px;min-height:200px;padding:10px}.act-slides-section .image-preview img{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.act-slides-section .image-error{color:#e74c3c;padding:20px;text-align:center}.act-slides-section .upload-progress{background:#f0f0f0;border-radius:4px;color:#667eea;font-size:.9rem;margin-top:8px;padding:10px;text-align:center}.act-slides-section .btn-remove-image{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:10px;padding:6px 12px;transition:all .2s}.act-slides-section .btn-remove-image:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.act-slides-section .btn-remove-image:disabled{cursor:not-allowed;opacity:.5}.act-slides-section input[type=file]{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px;width:100%}.act-slides-section input[type=file]:disabled{cursor:not-allowed;opacity:.6}.instances-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;margin:30px 0;padding:20px}.instances-section h3{color:#2c3e50;font-size:1.3rem;margin-bottom:10px}.instances-description{color:#7f8c8d;font-size:.9rem;margin-bottom:20px}.instances-loading{color:#7f8c8d;padding:20px;text-align:center}.instances-list{margin-bottom:15px}.instance-card,.instances-list{display:flex;flex-direction:column;gap:12px}.instance-card{align-items:stretch;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:15px;transition:all .3s}.instance-card:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea33;transform:translateY(-2px)}.instance-card.selected{background:#f0f4ff;border-color:#667eea}.instance-main{align-items:center;display:flex;gap:12px;justify-content:space-between}.instance-info h4{color:#2c3e50;font-size:1rem;margin:0 0 8px}.instance-details{align-items:center;display:flex;font-size:.85rem;gap:15px}.instance-actions{display:flex;justify-content:flex-end}.btn-delete-instance{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s}.btn-delete-instance:hover{background:#c0392b;box-shadow:0 3px 8px #e74c3c4d;transform:translateY(-1px)}.btn-delete-instance:active{transform:translateY(0)}.btn-delete-instance:focus{box-shadow:0 0 0 3px #e74c3c40;outline:none}.btn-delete-instance:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.instance-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:uppercase}.instance-status.status-active{background:#4caf50;color:#fff}.instance-status.status-waiting{background:#ff9800;color:#fff}.instance-status.status-completed{background:#9e9e9e;color:#fff}.instance-status.status-cancelled{background:#f44336;color:#fff}.instance-players{color:#7f8c8d}.instance-selected-indicator{color:#667eea;font-size:1.5rem;font-weight:700}.instances-empty{background:#fff;border:2px dashed #e0e0e0;border-radius:8px;color:#7f8c8d;padding:30px;text-align:center}.btn-create-instance{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .3s;width:100%}.btn-create-instance:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.btn-create-instance:active:not(:disabled){transform:translateY(0)}.btn-create-instance:disabled{cursor:not-allowed;opacity:.6}.join-actions{border-top:2px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.btn-join-large,.btn-secondary{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:12px 30px;transition:all .3s}.btn-join-large{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 4px 15px #11998e66;color:#fff}.btn-join-large:hover:not(:disabled){box-shadow:0 6px 20px #11998e99;transform:translateY(-2px)}.btn-join-large:active:not(:disabled){transform:translateY(0)}.btn-join-large:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.games-error,.games-loading{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:60px 20px;text-align:center}.error-icon,.loading-spinner{font-size:3rem}.games-error p{color:#c33;font-size:1rem;margin-bottom:20px}@media (min-width:768px){.join-game-page{padding:30px}.join-game-content{padding:40px}.join-game-header h1{font-size:2.5rem}.game-info-header h2{font-size:2.2rem}}@media (min-width:1024px){.join-game-page{padding:40px}.join-game-content{padding:50px}.join-game-header h1{font-size:3rem}.game-info-header h2{font-size:2.5rem}}.chat-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff1a;border-radius:15px;display:flex;flex-direction:column;height:400px;overflow:hidden}.chat-header{background:#0003;border-bottom:2px solid #ffffff1a;padding:15px}.chat-header h3{color:#fff;font-size:1.1rem;margin:0}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:15px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.chat-empty{align-items:center;color:#fff9;display:flex;font-size:.9rem;height:100%;justify-content:center}.chat-message{background:#ffffff1a;border-left:3px solid #ffffff4d;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:10px}.chat-message.own-message{align-self:flex-end;background:#667eea4d;border-left-color:#667eeacc;max-width:80%}.message-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.message-user{color:#ffffffe6;font-size:.85rem;font-weight:600}.message-type{background:#fff3;border-radius:8px;color:#fffc;font-size:.7rem;padding:2px 6px;text-transform:uppercase}.message-content{word-wrap:break-word;color:#fff;font-size:.95rem;line-height:1.4}.message-time{align-self:flex-end;color:#fff9;font-size:.75rem}.chat-input-form{background:#0003;border-top:2px solid #ffffff1a;display:flex;gap:10px;padding:15px}.chat-input{background:#ffffff1a;border:2px solid #fff3;border-radius:20px;color:#fff;flex:1 1;font-size:.95rem;padding:10px 15px}.chat-input::placeholder{color:#ffffff80}.chat-input:focus{background:#ffffff26;border-color:#667eeacc;outline:none}.chat-input:disabled{cursor:not-allowed;opacity:.5}.chat-send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .3s}.chat-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.player-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff1a;border-radius:15px;overflow:hidden}.player-list-header{background:#0003;border-bottom:2px solid #ffffff1a;padding:15px}.player-list-header h3{color:#fff;font-size:1.1rem;margin:0}.player-list-content{max-height:300px;overflow-y:auto;padding:10px}.player-list-content::-webkit-scrollbar{width:6px}.player-list-content::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.player-list-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.player-list-empty{color:#fff9;font-size:.9rem;padding:20px;text-align:center}.player-item{align-items:center;background:#ffffff1a;border-radius:10px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .3s}.player-item:hover{background:#ffffff26}.player-item.current-player{background:#667eea4d;border:2px solid #667eea80}.player-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;overflow:hidden;position:relative;width:40px}.player-avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.player-avatar-initial{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.player-info{min-width:0}.player-name{color:#fff;font-size:.95rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-you{color:#ffffffb3;font-weight:400}.player-role{color:#ffffffb3;font-size:.85rem;font-style:italic}.player-status-indicator{flex-shrink:0}.status-dot{background:#4caf50;border-radius:50%;display:inline-block;height:10px;width:10px}.status-dot.online{background:#4caf50;box-shadow:0 0 8px #4caf5099}.status-dot.offline{background:#e53935;box-shadow:0 0 8px #e539358c}.inventory-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff1a;border-radius:15px;overflow:hidden}.inventory-header{align-items:center;background:#0003;border-bottom:2px solid #ffffff1a;display:flex;justify-content:space-between;padding:15px}.inventory-header h3{color:#fff;font-size:1.1rem;margin:0}.btn-add-item{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;transition:all .3s;width:30px}.btn-add-item:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.btn-add-item:disabled{cursor:not-allowed;opacity:.5}.acquire-item-form{background:#0003;border-bottom:2px solid #ffffff1a;display:flex;flex-direction:column;gap:10px;padding:15px}.form-input,.form-textarea{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;font-family:inherit;font-size:.9rem;padding:10px}.form-input::placeholder,.form-textarea::placeholder{color:#ffffff80}.form-input:focus,.form-textarea:focus{background:#ffffff26;border-color:#667eeacc;outline:none}.form-input:disabled,.form-textarea:disabled{cursor:not-allowed;opacity:.5}.form-actions{display:flex;gap:10px}.btn-acquire,.btn-cancel{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:8px;transition:all .3s}.btn-cancel{background:#fff3;color:#fff}.btn-cancel:hover{background:#ffffff4d}.btn-acquire{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-acquire:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-acquire:disabled{cursor:not-allowed;opacity:.5}.inventory-items{max-height:300px;overflow-y:auto;padding:15px}.inventory-items::-webkit-scrollbar{width:6px}.inventory-items::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.inventory-items::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.inventory-empty,.inventory-loading{color:#fff9;font-size:.9rem;padding:20px;text-align:center}.inventory-item{background:#ffffff1a;border-left:3px solid #667eeacc;border-radius:10px;margin-bottom:8px;padding:12px}.item-info{display:flex;flex-direction:column;gap:4px}.item-name{color:#fff;font-size:.95rem;font-weight:600}.item-description{color:#fffc;font-size:.85rem;line-height:1.4}.item-acquired{color:#fff9;font-size:.75rem}.game-progress{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff1a;border-radius:15px;padding:20px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h3{color:#fff;font-size:1.2rem;margin:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.active{background:#4caf504d;border:1px solid #4caf5080;color:#4caf50}.progress-section{margin-bottom:0}.progress-label{color:#ffffffe6;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.progress-bar-container{background:#0000004d;border:2px solid #ffffff1a;border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:8px;height:100%;transition:width .3s ease}.gameplay-page{--gothic-bg-start:#09040e;--gothic-bg-end:#1b0f1f;--gothic-overlay:#0d0716e6;--gothic-panel:#150f1ad9;--gothic-panel-border:#c31b4140;--gothic-panel-glow:#e1416e40;--gothic-primary:#e9415a;--gothic-primary-dark:#781527;--gothic-secondary:#5b285a;--gothic-gold:#c2a36a;--gothic-text:#f7f4f1;--gothic-text-muted:#e5e0dcb8;--gothic-text-soft:#e5e0dc8c;--gothic-success:#49a078;--gothic-danger:#e9415a;--gothic-warning:#c2a36a2e;background:radial-gradient(circle at top,#e9415a14,#0000 55%),radial-gradient(circle at 20% 80%,#5b285a26,#0000 60%),linear-gradient(135deg,var(--gothic-bg-start) 0,var(--gothic-bg-end) 100%);color:var(--gothic-text);display:flex;flex-direction:column;min-height:calc(100vh - 80px)}.gameplay-page:before{animation:apparitionPulse 22s ease-in-out infinite alternate;background:radial-gradient(circle at 50% 30%,#e9415a14,#0000 45%);content:"";filter:blur(60px);inset:0;opacity:.6;pointer-events:none;position:fixed}.gameplay-header{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(90deg,#0c0712f2,#120a18bf);border-bottom:1px solid #e9415a26;box-shadow:0 18px 40px #0a061059;display:flex;justify-content:space-between;padding:18px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:1060}.gameplay-header-left{align-items:center;display:flex;gap:16px}.btn-back{background:linear-gradient(135deg,#771b42e6,#380d28e6);border:1px solid #e9415a59;border-radius:999px;box-shadow:0 8px 22px #e9415a40;color:var(--gothic-text);cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:8px 18px;text-transform:uppercase;transition:all .3s ease}.btn-back:hover{background:linear-gradient(135deg,#e9415ad9,#771b42d9);box-shadow:0 12px 28px #e9415a59;transform:translateY(-1px)}.gameplay-header h1{animation:gothicFlicker 12s infinite;color:var(--gothic-text);font-family:Playfair Display,Times New Roman,serif;font-size:1.65rem;letter-spacing:.06em;margin:0;text-shadow:0 4px 14px #e9415a40;text-transform:uppercase}.gameplay-header-right{align-items:center;display:flex;gap:14px;position:relative;z-index:1052}.btn-apply-roles{background:linear-gradient(135deg,#e9415af2,#771b42f2);border:1px solid #e9415a73;border-radius:999px;box-shadow:0 12px 30px #e9415a59;color:var(--gothic-text);cursor:pointer;font-size:.92rem;font-weight:700;letter-spacing:.08em;padding:10px 22px;text-transform:uppercase;transition:all .3s ease}.btn-apply-roles:hover{border-color:#e9415a99;box-shadow:0 20px 42px #e9415a73;transform:translateY(-2px) scale(1.01)}.btn-apply-roles:active{box-shadow:0 10px 28px #e9415a4d;transform:translateY(0)}.btn-start-game{background:linear-gradient(135deg,#49a078f2,#1e6048eb);border:1px solid #49a07880;border-radius:999px;box-shadow:0 12px 30px #49a07852;color:var(--gothic-text);cursor:pointer;font-size:.9rem;font-weight:700;letter-spacing:.08em;padding:10px 22px;text-transform:uppercase;transition:all .3s ease}.btn-start-game:hover:not(:disabled){border-color:#49a078a6;box-shadow:0 20px 42px #49a07873;transform:translateY(-2px) scale(1.01)}.btn-start-game:active:not(:disabled){box-shadow:0 10px 28px #49a0784d;transform:translateY(0)}.btn-start-game:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.connection-status{background:#22182acc;border:1px solid #e9415a40;border-radius:999px;font-size:.82rem;letter-spacing:.12em;padding:6px 14px;text-transform:uppercase}.connection-status.connected{background:#49a0782e;border-color:#49a07866;color:#abdbc5}.connection-status.disconnected{background:#e9415a2e;border-color:#e9415a66;color:#f1a2af}.gameplay-warning{background:#e9415a1f;border-bottom:1px solid #e9415a47;color:var(--gothic-text-muted);font-size:.9rem;letter-spacing:.04em;padding:12px 22px;text-align:center}.gameplay-content{display:flex;flex:1 1;flex-direction:column;gap:24px;overflow-y:auto}.gameplay-content,.gameplay-main{box-sizing:border-box;padding:24px;position:relative;width:100%}.gameplay-main{background:var(--gothic-panel);border:1px solid var(--gothic-panel-border);border-radius:18px;box-shadow:0 28px 55px #09040e66,0 0 55px #e9415a14;flex:1 1;overflow-x:hidden;overflow:hidden}.gameplay-main:before{animation:veinGlow 18s ease-in-out infinite alternate;background:radial-gradient(circle at top left,#e9415a14,#0000 55%);border-radius:inherit;content:"";inset:0;opacity:.85;pointer-events:none;position:absolute}.gameplay-controls{align-items:center;border-bottom:1px solid #e9415a33;display:flex;gap:15px;margin-bottom:24px;padding-bottom:24px;position:relative;z-index:2}.start-feedback{flex-basis:100%;font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-top:10px;text-transform:uppercase}.start-feedback.success{color:#a7e3c3}.start-feedback.error{color:var(--gothic-danger)}.gameplay-info{display:flex;flex-direction:column;gap:24px}.game-content-tabs{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0c0612cc;border:1px solid #e9415a33;border-radius:14px;box-shadow:0 18px 38px #09040e7a;margin-top:22px;overflow:hidden}.tabs-header{-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,#120a18eb,#09040ee6);border-bottom:1px solid #e9415a33;box-shadow:inset 0 -6px 14px #e9415a1a;display:flex;flex-wrap:wrap;gap:0;overflow-x:auto}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--gothic-text-soft);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.12em;padding:12px 22px;position:relative;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.tab-button:hover{background:#e9415a14;color:var(--gothic-text)}.tab-button.active{background:#e9415a2e;border-bottom-color:var(--gothic-primary);box-shadow:inset 0 -6px 12px #e9415a26;color:var(--gothic-text)}.tab-button.disabled,.tab-button:disabled{color:#c7c0bc59;cursor:not-allowed;opacity:.4}.tab-button.disabled:hover,.tab-button:disabled:hover{background:#0000;color:#c7c0bc59}.tabs-content{box-sizing:border-box;min-height:150px;overflow-x:hidden;padding-bottom:22px;position:relative;width:100%}.tabs-content:before{background:radial-gradient(circle at top,#e9415a0d,#0000 60%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.role-summary-panel{display:flex;flex-direction:column;gap:20px;padding:24px}.role-summary-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.role-summary-header h2{color:var(--gothic-text);font-size:1.4rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.role-alignment-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.1em;padding:6px 14px;text-transform:uppercase}.role-alignment-badge.good{background:#49a07840;border-color:#49a0788c;color:#cce7d9}.role-alignment-badge.bad{background:#e9415a38;border-color:#e9415a99;color:#f7b7c1}.role-summary-content{display:flex;flex-direction:column;gap:22px}@media (min-width:768px){.role-summary-content{align-items:flex-start;flex-direction:row}}.role-summary-image-wrapper{align-items:center;background:#120a18e6;border:1px solid #e9415a40;border-radius:18px;cursor:pointer;display:flex;height:180px;justify-content:center;min-width:180px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;width:180px}.role-summary-image-wrapper:hover{box-shadow:0 18px 38px #e9415a33;transform:scale(1.02)}.role-summary-image{height:100%;object-fit:cover;width:100%}.role-summary-image-placeholder{align-items:center;background:linear-gradient(135deg,#e9415a14,#49a07814);color:#e9415aa6;display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.role-summary-details{display:flex;flex:1 1;flex-direction:column;gap:18px}.role-summary-name{color:var(--gothic-text);font-size:1.6rem;letter-spacing:.04em;margin:0}.role-summary-section h4{color:#e9415ad9;font-size:.9rem;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.role-summary-section p{color:var(--gothic-text-muted);line-height:1.6;margin:0}.tab-panel h2{color:var(--gothic-text);font-family:Playfair Display,Times New Roman,serif;font-size:1.35rem;letter-spacing:.04em;margin-bottom:16px;text-shadow:0 4px 12px #e9415a33}.tab-panel h2,.tab-panel p{word-wrap:break-word;box-sizing:border-box;max-width:100%;overflow-wrap:break-word}.tab-panel p{color:var(--gothic-text-muted);font-size:1rem;line-height:1.8;margin:0}.tab-panel .no-content{color:#e1d5cf73;font-style:italic}.game-slideshow{display:flex;flex-direction:column;gap:22px;width:100%}.slideshow-container{align-items:center;background:radial-gradient(circle at top left,#e9415a14,#0a0612d9);border-radius:14px;box-shadow:0 18px 38px #09040e73;box-sizing:border-box;display:flex;gap:18px;min-height:420px;padding:12px;position:relative;width:100%}.slideshow-container:after{animation:spectralSweep 28s linear infinite;background:linear-gradient(120deg,#e9415a14,#0000 65%);border-radius:inherit;content:"";inset:0;mix-blend-mode:screen;opacity:.7;pointer-events:none;position:absolute}.slideshow-nav{align-items:center;background:linear-gradient(135deg,#e9415ae6,#771b42d9);border:1px solid #e9415a66;border-radius:999px;box-shadow:0 14px 30px #e9415a47;color:var(--gothic-text);cursor:pointer;display:flex;flex-shrink:0;font-size:1.6rem;height:50px;justify-content:center;min-height:44px;min-width:44px;transition:all .35s ease;width:50px;z-index:10}.slideshow-nav:hover:not(:disabled){background:linear-gradient(135deg,#e9415afa,#771b42f2);border-color:#e9415a99;box-shadow:0 18px 38px #e9415a59;transform:translateY(-2px) scale(1.05)}.slideshow-nav:disabled{cursor:not-allowed;opacity:.25}.slideshow-content{flex:1 1;flex-direction:column;gap:22px;min-width:0;position:relative;text-align:center;width:100%;z-index:1}.slide-image-container,.slideshow-content{align-items:center;box-sizing:border-box;display:flex}.slide-image-container{aspect-ratio:1;background:linear-gradient(135deg,#1c0d24f2,#0a0610f2);border:1px solid #e9415a33;border-radius:18px;box-shadow:inset 0 0 45px #e9415a1f;justify-content:center;margin:0 auto 18px;max-width:100%;overflow:hidden;width:min(95vw,720px)}.slide-image{animation:slowZoom 26s ease-in-out infinite alternate;filter:saturate(1.1) contrast(1.05);height:100%;mix-blend-mode:normal;object-fit:cover;width:100%}.slide-image-placeholder{align-items:center;background:#160c1ccc;color:#e9415a59;display:flex;font-size:4rem;height:100%;justify-content:center;width:100%}.slide-title{color:var(--gothic-text);font-family:Playfair Display,Times New Roman,serif;font-size:1.9rem;font-weight:600;letter-spacing:.05em;max-width:100%;text-transform:uppercase}.slide-description,.slide-title{word-wrap:break-word;box-sizing:border-box;margin:0;overflow-wrap:break-word;padding:0 22px}.slide-description{color:var(--gothic-text-muted);font-size:1.08rem;line-height:1.7;max-width:780px;width:100%}.slideshow-indicators{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.slideshow-indicator{background:#0000;border:2px solid #e9415a59;border-radius:50%;cursor:pointer;height:12px;padding:0;transition:all .3s ease;width:12px}.slideshow-indicator:hover{background:#e9415a4d;border-color:#e9415a99}.slideshow-indicator.active{animation:emberPulse 3.4s ease-in-out infinite;background:var(--gothic-primary);border-color:var(--gothic-primary);box-shadow:0 0 12px #e9415a66;transform:scale(1.15)}.slideshow-counter{color:var(--gothic-text-soft);font-size:.92rem;font-weight:600;letter-spacing:.08em;text-align:center;text-transform:uppercase}@media (max-width:768px){.tabs-header{gap:0}.tab-button{flex:1 1;font-size:.85rem;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 16px}.gameplay-content{padding:10px}.gameplay-main{padding:15px}.tabs-content{box-sizing:border-box;overflow-x:hidden;padding:10px;width:100%}.tab-panel h2{font-size:1.1rem}.tab-panel h2,.tab-panel p{word-wrap:break-word;overflow-wrap:break-word}.tab-panel p{font-size:.9rem}.slideshow-container{box-sizing:border-box;flex-wrap:nowrap;gap:8px;min-height:auto;padding:10px;width:100%}.slide-image-container{aspect-ratio:1;margin:0 auto 15px;max-width:100%;width:100%}.slide-title{font-size:1.2rem;margin-bottom:10px}.slide-description,.slide-title{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;padding:0 10px}.slide-description{font-size:.9rem;line-height:1.5}.slideshow-nav{box-shadow:0 10px 20px #e9415a40;font-size:1.05rem;height:38px;min-height:38px;min-width:38px;width:38px}.slideshow-content{gap:15px;padding:0 6px}.slideshow-content,.tab-panel{box-sizing:border-box;width:100%}.tab-panel{overflow-x:hidden}.game-slideshow{box-sizing:border-box;max-width:100%;width:100%}}@media (max-width:480px){.gameplay-content{padding:5px}.gameplay-main{padding:10px}.tabs-content{padding:8px}.slideshow-container{gap:5px;padding:8px}.slide-image-container{margin:0 auto 10px}.slide-title{font-size:1rem;margin-bottom:8px;padding:0 8px}.slide-description{font-size:.85rem;line-height:1.4;padding:0 8px}.slideshow-nav{font-size:.9rem;height:32px;min-height:32px;min-width:32px;width:32px}.slideshow-content{gap:10px;padding:0}.tab-panel h2{font-size:1rem}.tab-panel p{font-size:.85rem}}@media (min-width:768px){.slideshow-container{min-height:500px;padding:18px}.slide-image-container{height:auto;width:min(80vw,680px)}.slide-title{font-size:2.2rem}.slide-description{font-size:1.18rem}.slideshow-nav{font-size:1.9rem;height:60px;width:60px}}@media (min-width:1024px){.slide-image-container{height:auto;width:min(70vw,720px)}.slide-title{font-size:2.4rem}.slide-description{font-size:1.28rem}}.game-roles-section{margin-top:30px}.game-roles-section h2{color:var(--gothic-text);font-family:Playfair Display,Times New Roman,serif;font-size:1.32rem;letter-spacing:.05em;margin-bottom:20px;text-transform:uppercase}.game-roles-list{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));padding:0}@media (min-width:768px){.game-roles-list{gap:22px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.game-role-card{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(160deg,#23122ae0,#130b1aeb);border:1px solid #e9415a47;border-radius:14px;box-shadow:0 14px 35px #09040e73;color:inherit;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:16px;position:relative;text-align:center;text-decoration:none;transition:all .35s ease}.game-role-card:after{background:radial-gradient(circle,#e9415a38,#0000 60%);content:"";inset:-120% 35% 50% -20%;opacity:.6;pointer-events:none;position:absolute;transform:rotate(15deg)}.game-role-card:hover{border-color:#e9415a73;box-shadow:0 22px 45px #09040e99;transform:translateY(-4px) scale(1.01)}.role-info-modal{background:#0c0612f2;border-radius:28px;display:flex;flex-direction:column;max-width:900px;overflow:hidden;padding:0;width:95vw}.role-info-modal .modal-header{background:#120a18f2;border-bottom:none;padding:18px 24px}.role-info-body{display:grid;grid-template-columns:1fr;padding:0;position:relative}@media (min-width:768px){.role-info-body{grid-template-columns:58% 42%}}.role-info-image-wrapper{align-items:center;background:#000;display:flex;justify-content:center;max-height:65vh;position:relative;width:100%}.role-info-image-wrapper img{background:#000;height:100%;object-fit:contain;width:100%}.role-info-image-placeholder{align-items:center;background:radial-gradient(circle at center,#e9415a26,#0000 55%);color:#e9415aa6;display:flex;font-size:5rem;height:100%;justify-content:center;width:100%}.role-info-description{background:#120a18eb;border-left:1px solid #e9415a33;display:flex;flex-direction:column;gap:18px;padding:32px 28px;position:relative}.role-info-description .modal-close{background:#0000;border:none;color:#e9415aa6;cursor:pointer;font-size:1.6rem;position:absolute;right:12px;top:12px;transition:color .3s ease}.role-info-description .modal-close:hover{color:#e9415ae6}.role-info-description h2{color:var(--gothic-text);font-size:1.45rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.role-info-description h3{color:#e9415ad9;font-size:.95rem;letter-spacing:.12em;margin:0;text-transform:uppercase}.role-info-description p{color:var(--gothic-text);font-size:.98rem;line-height:1.7;margin:0}.snackbar{align-items:center;animation:snackbarFade .35s ease forwards;background:#120a18f2;border:1px solid #e9415a59;border-radius:12px;bottom:24px;box-shadow:0 22px 40px #09040e73;color:var(--gothic-text);display:flex;font-size:.92rem;gap:12px;max-width:320px;padding:14px 18px;position:fixed;right:24px;z-index:1200}.snackbar.success{background:#0e1e18f2;border-color:#49a07873}.snackbar.error{background:#2c0c16f2;border-color:#e9415a73}.snackbar-close{background:#0000;border:none;color:#e9415ab3;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;transition:color .25s ease}.snackbar-close:hover{color:#e9415a}@keyframes snackbarFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.snackbar{bottom:16px;justify-content:space-between;left:16px;max-width:none;right:16px}.role-info-modal{border-radius:20px}.role-info-image-wrapper{max-height:50vh}.role-info-body{grid-template-columns:1fr}.role-info-description{border-left:none;border-top:1px solid #e9415a33;padding:26px 20px 32px}.role-info-description h2{font-size:1.25rem}.role-info-description p{font-size:.94rem}}.game-role-card-image{align-items:center;border:2px solid #e9415a47;border-radius:50%;box-shadow:0 10px 25px #e9415a2e;display:flex;height:90px;justify-content:center;margin-bottom:14px;overflow:hidden;position:relative;width:90px}@media (min-width:768px){.game-role-card-image{height:110px;margin-bottom:16px;width:110px}}.game-role-card-image img{filter:contrast(1.05) saturate(1.1);height:100%;object-fit:cover;width:100%}.game-role-card-placeholder{align-items:center;background:linear-gradient(135deg,#e9415acc,#5b285ad9);color:#09040ee6;display:flex;font-size:2.1rem;height:100%;justify-content:center;width:100%}.game-role-card-title{color:var(--gothic-text);font-size:.98rem;font-weight:700;letter-spacing:.04em;line-height:1.35;margin-bottom:10px;text-transform:uppercase;word-break:break-word}@media (min-width:768px){.game-role-card-title{font-size:1.05rem}}.game-role-card-player{border-top:1px solid #e9415a38;color:var(--gothic-text-muted);font-size:.86rem;margin-top:10px;padding-top:10px}.player-assignment{align-items:center;display:flex;gap:8px;justify-content:space-between}.player-assignment.bad .player-assigned{color:var(--gothic-danger)}.player-assigned{color:var(--gothic-success);font-weight:600}.assignment-alignment{border:1px solid #0000;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.12em;line-height:1;padding:3px 10px;text-transform:uppercase}.assignment-alignment.good{background:#49a07840;border-color:#49a0788c;color:#cce7d9}.assignment-alignment.bad{background:#e9415a38;border-color:#e9415a99;color:#f7b7c1}.no-player{color:#e5e0dc8c;font-size:.8rem;font-style:italic}.gameplay-sidebar{display:flex;flex-direction:column;gap:18px}.gameplay-error,.gameplay-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 80px);padding:40px}.error-icon,.loading-spinner{font-size:4rem;margin-bottom:20px}.gameplay-error p{color:var(--gothic-text);font-size:1.08rem;margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#e9415af2,#771b42f2);border:1px solid #e9415a66;border-radius:28px;box-shadow:0 16px 35px #e9415a59;color:var(--gothic-text);cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.08em;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.btn-primary:hover{border-color:#e9415a8c;box-shadow:0 24px 45px #e9415a73;transform:translateY(-2px)}.btn-apply-roles,.btn-current-act,.btn-primary,.btn-start-game{overflow:hidden;position:relative}.btn-apply-roles:after,.btn-current-act:after,.btn-primary:after,.btn-start-game:after{animation:heartbeatGlow 6s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffff26,#0000 45%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.btn-apply-roles:hover:after,.btn-current-act:hover:after,.btn-primary:hover:after,.btn-start-game:hover:after{opacity:.45}@media (min-width:768px){.gameplay-content{flex-direction:row;padding:30px}.gameplay-main{flex:2 1}.gameplay-sidebar{flex:1 1;min-width:300px}.gameplay-header h1{font-size:2rem}}@media (min-width:1024px){.gameplay-content{margin:0 auto;max-width:1400px;padding:40px;width:100%}.gameplay-main{padding:30px}.gameplay-sidebar{min-width:350px}}.role-assignment-modal{max-width:720px}.role-assignment-content{background:#120a18f2;max-height:60vh;overflow-y:auto;padding:22px}.no-players-message{color:#e5e0dc8c;font-size:1rem;padding:40px 20px;text-align:center}.role-assignment-list{display:flex;flex-direction:column;gap:16px}.role-assignment-item{align-items:center;background:#190e1ed9;border:1px solid #e9415a40;border-radius:12px;box-shadow:0 10px 28px #09040e66;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.role-assignment-item:hover{background:#23122af2;border-color:#e9415a66;transform:translateY(-2px)}.player-info{align-items:center;display:flex;flex:1 1;gap:12px}.player-name{color:var(--gothic-text);font-size:1rem;font-weight:600}.player-badge{color:var(--gothic-gold);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.role-select{background:#0c0612e6;border:1px solid #e9415a47;border-radius:10px;box-shadow:inset 0 0 22px #e9415a1f;color:var(--gothic-text);cursor:pointer;font-size:.94rem;min-width:210px;padding:8px 12px;transition:all .3s ease}.role-select:hover{border-color:#e9415a80}.role-select:focus{border-color:#e9415a99;box-shadow:0 0 0 3px #e9415a2e;outline:none}.role-select:disabled{background:#190e1eb3;cursor:not-allowed;opacity:.6}.role-select option:disabled{background-color:#190e1ed9;color:#c7c0bc73;font-style:italic}.role-assignment-modal .modal-actions{background:#120a18f2;border-top:1px solid #e9415a38;display:flex;gap:16px;justify-content:flex-end;padding:20px 22px}.role-assignment-modal .btn-secondary{background:#23122ae6;border:1px solid #c7c0bc40;border-radius:10px;color:#e5e0dcd9;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.05em;padding:10px 20px;transition:all .3s ease}.role-assignment-modal .btn-secondary:hover:not(:disabled){background:#2d1834f2;border-color:#c7c0bc66}.role-assignment-modal .btn-primary{background:linear-gradient(135deg,#e9415af2,#771b42f2);border:1px solid #e9415a73;border-radius:10px;box-shadow:0 12px 28px #e9415a59;color:var(--gothic-text);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.06em;overflow:hidden;padding:10px 22px;position:relative;transition:all .3s ease}.role-assignment-modal .btn-primary:hover:not(:disabled){box-shadow:0 18px 36px #e9415a73;transform:translateY(-2px)}.role-assignment-modal .btn-primary:after{animation:heartbeatGlow 6.8s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffff1f,#0000 45%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.role-assignment-modal .btn-primary:hover:after{opacity:.4}.role-assignment-modal .btn-primary:disabled,.role-assignment-modal .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.role-assignment-modal .error-message{background:#e9415a26;border:1px solid #e9415a47;border-radius:10px;color:#ffccd2f2;font-size:.92rem;margin:0 22px 20px;padding:12px 20px}@media (max-width:768px){.role-assignment-item{align-items:flex-start;flex-direction:column;gap:12px}.role-select{min-width:0;min-width:auto;width:100%}.gameplay-header{flex-wrap:wrap;gap:12px}.gameplay-header-right{justify-content:space-between;width:100%}}.act-progression-control{display:inline-block;position:relative;z-index:1053}.btn-current-act{align-items:center;background:linear-gradient(135deg,#49a078f2,#2c6348f2);border:1px solid #49a07880;border-radius:999px;box-shadow:0 12px 28px #49a0784d;color:var(--gothic-text);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;letter-spacing:.06em;padding:10px 20px;text-transform:uppercase;transition:all .3s ease}.btn-current-act:hover:not(:disabled){box-shadow:0 18px 36px #49a07861;transform:translateY(-2px)}.btn-current-act:disabled{cursor:not-allowed;opacity:.6}.act-dropdown{background:#120a18fa;border:1px solid #e9415a47;border-radius:12px;box-shadow:0 16px 38px #09040e73;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);z-index:1054}.act-option{background:#0000;border:none;border-bottom:1px solid #e9415a2e;color:var(--gothic-text);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.05em;padding:12px 20px;text-align:left;transition:all .22s ease;width:100%}.act-option:last-child{border-bottom:none}.act-option:hover:not(:disabled){background:#e9415a26;color:var(--gothic-text)}.act-option.active{background:linear-gradient(135deg,#e9415ad9,#771b42d9);color:var(--gothic-text);font-weight:700}.act-option:disabled{background:#190e1eb3;cursor:not-allowed;opacity:.45}@media (max-width:768px){.act-dropdown{left:0;min-width:190px;right:auto}.btn-current-act{font-size:.85rem;padding:8px 16px}}@keyframes apparitionPulse{0%{opacity:.45;transform:scale(1)}50%{opacity:.65;transform:scale(1.05)}to{opacity:.4;transform:scale(.99)}}@keyframes gothicFlicker{0%,to{opacity:.96;text-shadow:0 4px 14px #e9415a40}45%{opacity:1;text-shadow:0 4px 18px #e9415a66,0 0 12px #e9415a59}48%{opacity:.82;text-shadow:none}50%{opacity:1;text-shadow:0 0 10px #e9415a99}53%{opacity:.88;text-shadow:0 4px 16px #e9415a4d}}@keyframes veinGlow{0%{opacity:.6}50%{opacity:.9}to{opacity:.55}}@keyframes spectralSweep{0%{opacity:.45;transform:translateX(-35%) rotate(0deg)}50%{opacity:.7;transform:translateX(0) rotate(2deg)}to{opacity:.45;transform:translateX(35%) rotate(-1deg)}}@keyframes slowZoom{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.08) translateZ(0)}}@keyframes emberPulse{0%,to{box-shadow:0 0 8px #e9415a4d;opacity:.8;transform:scale(1)}50%{box-shadow:0 0 16px #e9415a99;opacity:1;transform:scale(1.2)}}@keyframes heartbeatGlow{0%,to{opacity:0;transform:scale(.95)}50%{opacity:.3;transform:scale(1.05)}}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.app-content{flex:1 1}
/*# sourceMappingURL=main.c3bb39d8.css.map*/