#loadingModal.modal-overlay{background:#00000026!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#loadingModal .modal-glass{backdrop-filter:blur(10rem)!important;-webkit-backdrop-filter:blur(10rem)!important}#loadingModal .modal-glass{display:flex;flex-direction:column-reverse;align-items:center;gap:2rem}#loadingModal .loading-modal-wrapper{display:flex;flex-direction:column;align-items:center;width:100%}.loading-modal-loader{display:flex;align-items:center;justify-content:center;padding:1rem 0}.loader{width:3rem;height:3rem;margin:auto;position:relative}.loader:before{content:"";width:3rem;height:.3125rem;background:var(--red-primary);opacity:.3;position:absolute;top:3.75rem;left:0;border-radius:50%;animation:shadow .5s linear infinite;filter:blur(.125rem)}.loader:after{content:"";width:100%;height:100%;background:linear-gradient(135deg,var(--red-light) 0%,var(--red-primary) 50%,var(--red-dark) 100%);animation:bxSpin .5s linear infinite;position:absolute;top:0;left:0;border-radius:.25rem;box-shadow:0 0 1rem var(--red-shadow-md)}@keyframes bxSpin{17%{border-bottom-right-radius:.1875rem}25%{transform:translateY(.5625rem) rotate(22.5deg)}50%{transform:translateY(1.125rem) scaleY(.9) rotate(45deg);border-bottom-right-radius:2.5rem}75%{transform:translateY(.5625rem) rotate(67.5deg)}to{transform:translateY(0) rotate(90deg)}}@keyframes shadow{0%,to{transform:scale(1)}50%{transform:scaleX(1.2)}}@media (max-width: 48rem){#loadingModal.modal-overlay{background:#00000026!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#loadingModal .modal-glass{backdrop-filter:blur(10rem)!important;-webkit-backdrop-filter:blur(10rem)!important}.loader{width:2.5rem;height:2.5rem}.loader:before{width:2.5rem;height:.25rem;top:3.125rem}}@media (max-width: 30rem){#loadingModal.modal-overlay{background:#00000026!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#loadingModal .modal-glass{backdrop-filter:blur(10rem)!important;-webkit-backdrop-filter:blur(10rem)!important}.loader{width:2rem;height:2rem}.loader:before{width:2rem;height:.1875rem;top:2.5rem}}.error-toast{position:fixed;bottom:2.5rem;left:1.25rem;right:1.25rem;padding:1.5rem;background:var(--red-bg-alpha-09);backdrop-filter:blur(1rem);-webkit-backdrop-filter:blur(1rem);border:.125rem solid rgba(255,255,255,.2);border-radius:var(--border-radius-md);color:var(--text-on-accent);text-align:center;z-index:1000;opacity:0;pointer-events:none;font-size:1.25rem;font-weight:900;text-transform:uppercase;letter-spacing:.0625rem;transform:translateY(2rem) scale(.9);transition:all .5s var(--ease-rubber);box-shadow:0 1rem 3rem var(--red-shadow-lg)}.error-toast.active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}@media (max-width: 48rem){.error-toast{bottom:0;left:0;right:0;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;transform:translateY(100%);padding:1.5rem 1.25rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.error-toast.active{transform:translateY(0)}}.error-toast-content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem .75rem}.error-toast-content i{font-size:1.25rem}.error-toast-message{display:inline;text-align:center}.error-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;min-height:1.75rem;padding:.2rem .5rem;background:#333;color:#fff;font-size:1rem;font-weight:900;border-radius:999rem}@media (max-width: 30rem){.error-toast{padding:1.25rem 1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));font-size:1rem}}.accordion{transition:var(--anim-rubber)}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 2rem;background:transparent;border:none;cursor:pointer;color:var(--text-primary);font-size:1.125rem;font-weight:900;text-align:left;transition:var(--anim-rubber);text-transform:uppercase;letter-spacing:.0625rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.accordion-header:hover{transform:translateY(-.0625rem);color:var(--red-primary)}.accordion-header:active{transform:translateY(.0625rem) scale(.98);transition:transform .15s var(--ease-rubber)}.accordion-title{flex:1;display:flex;align-items:center;gap:.5rem}.accordion-badge{padding:.25rem .75rem;border-radius:999rem;background:var(--bg-tertiary);color:var(--text-primary);font-weight:900;font-size:.875rem;min-width:2rem;text-align:center;transition:var(--anim-rubber)}.accordion-header:hover .accordion-badge{background:var(--red-primary);color:var(--text-on-accent);transform:scale(1.05)}.accordion.expanded>.accordion-header .accordion-badge{background:var(--red-primary);color:var(--text-on-accent)}.accordion.expanded>.accordion-header{color:var(--red-primary)}.accordion.expanded>.accordion-header i{color:var(--red-primary)}.accordion-header i:last-child{font-size:.875rem;color:var(--text-secondary);transition:var(--anim-rubber);flex-shrink:0}.accordion-header:hover i:last-child{color:var(--red-primary);transform:scale(1.1)}.accordion.expanded>.accordion-header i:last-child{color:var(--red-primary)}.accordion-content{padding:0 1.5rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s var(--ease-rubber),opacity .3s var(--ease-rubber),padding .4s var(--ease-rubber)}.accordion-content.expanded{max-height:none;opacity:1;padding:0 1.5rem 1.5rem;overflow:visible;transition:max-height .4s var(--ease-rubber),opacity .3s var(--ease-rubber),padding .4s var(--ease-rubber)}.accordion-content.expanded .accordion-content-inner{animation:slideDown .3s var(--ease-rubber)}.accordion-content.collapsed{max-height:0;opacity:0;padding:0 1.5rem;overflow:hidden;transition:max-height .4s var(--ease-rubber),opacity .3s var(--ease-rubber),padding .4s var(--ease-rubber)}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (max-width: 48rem){.accordion-header{padding:1rem 1.75rem;font-size:1rem}.accordion-content.expanded{padding:0 1.25rem 1.25rem}.accordion-content.collapsed{padding:0 1.25rem}}@media (max-width: 30rem){.accordion-header{padding:.875rem 1.5rem;font-size:.9375rem}.accordion-content.expanded{padding:0 1rem 1rem}.accordion-content.collapsed{padding:0 1rem}}@media (hover: none) and (pointer: coarse){.accordion:not(.expanded)>.accordion-header:hover{transform:none!important;color:var(--text-primary)!important}.accordion:not(.expanded)>.accordion-header:hover i:last-child{color:var(--text-secondary)!important;transform:none!important}.accordion:not(.expanded)>.accordion-header:hover .accordion-badge{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;transform:none!important}.accordion-header:active{transform:translateY(.125rem) scale(.97)!important}}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--bg-dark: #d0d0d0;--red-primary: #ff4535;--red-light: #ff6d5f;--red-dark: #c42e1f;--red-accent: #ff523f;--red-text-gradient: linear-gradient(180deg, var(--red-light) 0%, var(--red-primary) 50%, var(--red-dark) 100%);--accent-gray: #e2e8f0;--accent-gray-light: #f8fafc;--gray-light: #f8fafc;--gray-medium: #94a3b8;--gray-dark: #555555;--btn-main-bg: linear-gradient(180deg, #ff6d5f 0%, #ff4535 100%);--btn-main-shadow: #cc2e22;--btn-secondary-bg: linear-gradient(180deg, #555555 0%, #333333 100%);--btn-secondary-shadow: #4a4a4a;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #888888;--text-main: #1a1a1a;--text-on-accent: #ffffff;--border-color: rgba(0, 0, 0, .1);--border-light: rgba(0, 0, 0, .15);--rubber-shadow: 0 .5rem 0 rgba(0, 0, 0, .15);--bg-glass: rgba(255, 255, 255, .8);--bg-glass-strong: rgba(255, 255, 255, .95);--bg-glass-subtle: rgba(255, 255, 255, .3);--glass-blur: blur(2.5rem);--glass-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, .15);--bg-image-opacity: .9;--glass-shadow-strong: 0 1.5rem 4rem 0 rgba(0, 0, 0, .25);--accent-red: #ff4535;--accent-red-light: #ff6d5f;--success: #34c759;--warning: #ff9f0a;--danger: #ff4535;--green-primary: #28a745;--green-light: #34c759;--green-dark: #1e7e34;--green-accent: #2dce5a;--btn-green-bg: linear-gradient(180deg, #34c759 0%, #28a745 100%);--btn-green-shadow: #1e7e34;--green-shadow-sm: rgba(40, 167, 69, .2);--green-shadow-md: rgba(40, 167, 69, .3);--green-shadow-lg: rgba(40, 167, 69, .4);--green-bg-alpha-15: rgba(40, 167, 69, .15);--role-mafia-bg: #3a3a3a;--role-godfather-bg: #1a1a1a;--role-civilian-bg: #dc3545;--role-sheriff-bg: #0d7fb8;--role-mistress-bg: #e83e8c;--role-maniac-bg: #fd7e14;--role-doctor-bg: #28a745;--ease-rubber: cubic-bezier(.68, -.6, .32, 1.6);--anim-rubber: .5s var(--ease-rubber);--anim-fast: .2s cubic-bezier(.4, 0, .2, 1);--anim-normal: .3s cubic-bezier(.4, 0, .2, 1);--anim-slow: .5s cubic-bezier(.4, 0, .2, 1);--border-radius-lg: 2.5rem;--border-radius-md: 1.5rem;--border-radius-sm: 1rem;--game-page-header-height-desktop: 5.5rem;--game-page-scroll-padding-top-desktop: 5.5rem;--game-page-content-padding-top-desktop: .5rem;--game-page-header-margin-bottom-desktop: 1.25rem;--shadow-sm: 0 .125rem .5rem rgba(0, 0, 0, .1);--shadow-md: 0 .25rem 1.25rem rgba(0, 0, 0, .15);--shadow-lg: 0 .5rem 2.5rem rgba(0, 0, 0, .2);--shadow-red: 0 .25rem 1.5rem rgba(255, 69, 53, .3);--shadow-gray: 0 .25rem 1.5rem rgba(0, 0, 0, .1);--red-shadow-sm: rgba(255, 69, 53, .2);--red-shadow-md: rgba(255, 69, 53, .3);--red-shadow-lg: rgba(255, 69, 53, .4);--red-shadow-xl: rgba(255, 69, 53, .5);--red-shadow-xxl: rgba(255, 69, 53, .6);--red-bg-alpha-05: rgba(255, 69, 53, .05);--red-bg-alpha-08: rgba(255, 69, 53, .08);--red-bg-alpha-09: rgba(255, 69, 53, .9)}.night-theme{color-scheme:dark;--bg-primary: #2a2a2a;--bg-secondary: #353535;--bg-tertiary: #404040;--bg-dark: #1f1f1f;--red-primary: #ff4535;--red-light: #ff6d5f;--red-dark: #c42e1f;--red-accent: #ff523f;--red-text-gradient: linear-gradient(180deg, var(--red-light) 0%, var(--red-primary) 50%, var(--red-dark) 100%);--accent-gray: #4a4a4a;--accent-gray-light: #2f2f2f;--gray-light: #555555;--gray-medium: #888888;--gray-dark: #cccccc;--btn-main-bg: linear-gradient(180deg, #ff6d5f 0%, #ff4535 100%);--btn-main-shadow: #cc2e22;--btn-secondary-bg: linear-gradient(180deg, #555555 0%, #404040 100%);--btn-secondary-shadow: #2a2a2a;--text-primary: #e8e8e8;--text-secondary: #cccccc;--text-muted: #999999;--text-main: #f5f5f5;--text-on-accent: #ffffff;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--rubber-shadow: 0 .5rem 0 rgba(0, 0, 0, .4);--bg-glass: rgba(53, 53, 53, .85);--bg-glass-strong: rgba(53, 53, 53, .95);--bg-glass-subtle: rgba(53, 53, 53, .5);--glass-blur: blur(2.5rem);--glass-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, .6);--bg-image-opacity: .15;--glass-shadow-strong: 0 1.5rem 4rem 0 rgba(0, 0, 0, .8);--shadow-sm: 0 .125rem .5rem rgba(0, 0, 0, .4);--shadow-md: 0 .25rem 1.25rem rgba(0, 0, 0, .5);--shadow-lg: 0 .5rem 2.5rem rgba(0, 0, 0, .7);--shadow-red: 0 .25rem 1.5rem rgba(255, 69, 53, .4);--shadow-gray: 0 .25rem 1.5rem rgba(0, 0, 0, .4);--red-shadow-sm: rgba(255, 69, 53, .2);--red-shadow-md: rgba(255, 69, 53, .3);--red-shadow-lg: rgba(255, 69, 53, .4);--red-shadow-xl: rgba(255, 69, 53, .5);--red-shadow-xxl: rgba(255, 69, 53, .6);--red-bg-alpha-05: rgba(255, 69, 53, .05);--red-bg-alpha-08: rgba(255, 69, 53, .08);--red-bg-alpha-09: rgba(255, 69, 53, .9);--green-primary: #28a745;--green-light: #34c759;--green-dark: #1e7e34;--green-accent: #2dce5a;--btn-green-bg: linear-gradient(180deg, #34c759 0%, #28a745 100%);--btn-green-shadow: #1e7e34;--green-shadow-sm: rgba(40, 167, 69, .2);--green-shadow-md: rgba(40, 167, 69, .3);--green-shadow-lg: rgba(40, 167, 69, .4);--green-bg-alpha-15: rgba(40, 167, 69, .15);--role-mafia-bg: #3a3a3a;--role-godfather-bg: #1a1a1a;--role-civilian-bg: #dc3545;--role-sheriff-bg: #0d7fb8;--role-mistress-bg: #e83e8c;--role-maniac-bg: #fd7e14;--role-doctor-bg: #28a745}.glass-panel{background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.25rem solid var(--bg-primary);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-lg)}.glass-panel-strong{background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.375rem solid var(--bg-primary);box-shadow:var(--glass-shadow-strong);border-radius:var(--border-radius-lg)}.glass-button{background:var(--bg-tertiary);border:none;color:var(--text-primary);border-radius:var(--border-radius-md);transition:var(--anim-rubber);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.625rem;font-size:1rem;font-weight:800;letter-spacing:.0313rem;text-transform:uppercase;line-height:1;padding:.75rem 1.5rem;margin:0;font-family:inherit;box-shadow:0 .25rem #00000026}.glass-button:hover{transform:translateY(-.125rem) scale(1.02);background:var(--bg-secondary)}.glass-button:active{transform:translateY(.125rem) scale(.98);box-shadow:0 .0625rem #00000026}.gold-button{background:var(--btn-main-bg);color:var(--text-on-gold);border:none;border-radius:var(--border-radius-md);cursor:pointer;box-shadow:0 .375rem 0 var(--btn-main-shadow);display:flex;align-items:center;justify-content:center;gap:.625rem;font-size:1.125rem;font-weight:900;letter-spacing:.0313rem;text-transform:uppercase;line-height:1;padding:1rem 2rem;margin:0;font-family:inherit;transition:var(--anim-rubber);text-shadow:0 .125rem .25rem rgba(0,0,0,.3)}.gold-button:hover{transform:translateY(-.25rem) scale(1.03);box-shadow:0 .625rem 0 var(--btn-main-shadow)}.gold-button:active{transform:translateY(.125rem) scale(.97);box-shadow:0 .125rem 0 var(--btn-main-shadow)}.glass-input{background:var(--bg-secondary);border:.1875rem solid var(--bg-tertiary);border-radius:var(--border-radius-md);color:var(--text-primary);padding:1rem 1.25rem;font-size:.875rem;font-weight:800;text-transform:uppercase;letter-spacing:.125rem;font-family:inherit;width:100%;transition:var(--anim-rubber);box-shadow:inset 0 .25rem .5rem #0000001a}.glass-input:focus{background:var(--bg-primary);border-color:var(--red-accent);outline:none;transform:scale(1.02);box-shadow:inset 0 .125rem .25rem #0000001a,0 0 1rem var(--red-shadow-sm)}.text-gold{background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gold{background:var(--gold-gradient)}.shadow-gold{box-shadow:0 4px 16px #d4af3766}#night-stars-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:0;transition:opacity 2s ease-in-out}#night-stars-canvas.visible{opacity:1}body.transitioning-theme,body.transitioning-theme .glass-panel,body.transitioning-theme .glass-panel-strong,body.transitioning-theme .glass-button,body.transitioning-theme .glass-input,body.transitioning-theme .btn,body.transitioning-theme .card,body.transitioning-theme .game-stage-header,body.transitioning-theme .lobby-section,body.transitioning-theme .player-item,body.transitioning-theme .player-card,body.transitioning-theme .player-turn-info,body.transitioning-theme .role-assignment-content,body.transitioning-theme h1,body.transitioning-theme h2,body.transitioning-theme h3,body.transitioning-theme p,body.transitioning-theme span{transition:background-color 2s cubic-bezier(.4,0,.2,1),color 2s cubic-bezier(.4,0,.2,1),border-color 2s cubic-bezier(.4,0,.2,1),box-shadow 2s cubic-bezier(.4,0,.2,1)}.night-theme body:before{filter:blur(.5rem) brightness(.3)}.night-moon{position:fixed;top:8%;left:50%;transform:translate(-50%);width:6rem;height:6rem;border-radius:50%;background:linear-gradient(135deg,#f4f4f4,#e8e8e8);box-shadow:0 0 2rem #fff9,0 0 4rem #fff6,0 0 6rem #fff3,inset -.8rem -.8rem 1.5rem #c8c8c84d;opacity:0;pointer-events:none;z-index:-1;animation:moon-appear 2s ease-out forwards}@keyframes moon-appear{0%{opacity:0}to{opacity:1}}@keyframes moon-disappear{0%{opacity:1}to{opacity:0}}.night-moon:before{content:"";position:absolute;top:30%;left:25%;width:1rem;height:1rem;border-radius:50%;background:#c8c8c866;box-shadow:1.5rem -.5rem 0 .3rem #c8c8c84d,.5rem 1rem 0 .5rem #c8c8c840}@media (max-width: 48rem){.night-moon{width:4rem;height:4rem;top:5%}.night-moon:before{width:.6rem;height:.6rem}}@media (max-width: 48rem){#night-stars-canvas{transition:opacity 1.5s ease-in-out}body.transitioning-theme .glass-panel,body.transitioning-theme .glass-panel-strong,body.transitioning-theme .glass-button,body.transitioning-theme .glass-input,body.transitioning-theme .btn,body.transitioning-theme .card{transition:background-color 1.2s cubic-bezier(.4,0,.2,1),color 1.2s cubic-bezier(.4,0,.2,1),border-color 1.2s cubic-bezier(.4,0,.2,1),box-shadow 1.2s cubic-bezier(.4,0,.2,1)}}.universal-button{border:none;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;font-family:inherit;font-size:2rem;font-weight:900;letter-spacing:.0313rem;text-transform:uppercase;line-height:1;padding:0;margin:0;transition:transform .2s var(--ease-rubber),box-shadow .2s var(--ease-rubber),background .2s ease;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-shadow:0 .125rem .25rem rgba(0,0,0,.3)}@media (hover: none) and (pointer: coarse){.universal-button:hover:not(:active){transform:none!important}.universal-button.btn-red:hover:not(:active){box-shadow:0 0 1.5rem var(--red-shadow-md)!important;background:var(--btn-main-bg)!important}.universal-button.btn-black:hover:not(:active){box-shadow:0 0 1rem #0000004d!important;background:linear-gradient(180deg,#555,#333)!important}.universal-button.btn-gray:hover:not(:active){box-shadow:0 0 1rem #0000001a!important;background:linear-gradient(180deg,#d0d0d0,#b5b5b5)!important}.universal-button.btn-green:hover:not(:active){box-shadow:0 0 1rem var(--green-shadow-md)!important;background:var(--btn-green-bg)!important}}.universal-button{width:100%;height:5.5rem}.universal-button .btn-text,.universal-button .btn-icon{font-size:2rem}@media (min-width: 64rem){.universal-button{font-size:1.6rem;height:5rem}.universal-button .btn-text,.universal-button .btn-icon{font-size:1.6rem}}.universal-button.btn-red{background:var(--btn-main-bg);color:var(--text-on-accent);box-shadow:0 0 1.5rem var(--red-shadow-md)}.universal-button.btn-red:hover:not(:disabled):not(:active){box-shadow:0 0 1.75rem var(--red-shadow-lg);transform:translateY(-.125rem) scale(1.01)}.universal-button.btn-red:active:not(:disabled){transform:translateY(.125rem) scale(.95);box-shadow:0 0 .5rem var(--red-shadow-sm)}.universal-button.btn-red:focus:not(:disabled){outline:none}.universal-button.btn-black{background:var(--btn-secondary-bg);color:var(--text-on-accent);box-shadow:0 0 1rem #0000004d}.universal-button.btn-black:hover:not(:disabled):not(:active){transform:translateY(-.125rem) scale(1.01);background:linear-gradient(180deg,#666,#444);box-shadow:0 0 1.25rem #0006}.universal-button.btn-black:active:not(:disabled){transform:translateY(.125rem) scale(.95);box-shadow:0 0 .5rem #0003}.universal-button.btn-black:focus:not(:disabled){outline:none}.universal-button.btn-gray{background:linear-gradient(180deg,#d0d0d0,#b5b5b5);color:#1a1a1a;box-shadow:0 0 1rem #0000001a;text-shadow:none}.universal-button.btn-gray:hover:not(:disabled):not(:active){transform:translateY(-.125rem) scale(1.01);background:linear-gradient(180deg,#e0e0e0,#c5c5c5);box-shadow:0 0 1.25rem #0000001f}.universal-button.btn-gray:active:not(:disabled){transform:translateY(.125rem) scale(.95);box-shadow:0 0 .5rem #0000001a}.universal-button.btn-gray:focus:not(:disabled){outline:none}.universal-button.btn-green{background:var(--btn-green-bg);color:var(--text-on-accent);box-shadow:0 0 1.5rem var(--green-shadow-md)}.universal-button.btn-green:hover:not(:disabled):not(:active){box-shadow:0 0 1.75rem var(--green-shadow-lg);transform:translateY(-.125rem) scale(1.01)}.universal-button.btn-green:active:not(:disabled){transform:translateY(.125rem) scale(.95);box-shadow:0 0 .5rem var(--green-shadow-sm)}.universal-button.btn-green:focus:not(:disabled){outline:none}.universal-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:0 0 .5rem #0000001a!important}.universal-button.locked-button:disabled{background:linear-gradient(180deg,#3a3a3a,#2a2a2a);color:#888;opacity:.6;box-shadow:0 0 .5rem #0003!important;text-shadow:none}.universal-button.locked-button:disabled .btn-text{color:#888}.universal-button .btn-icon{display:inline-flex;align-items:center;font-size:inherit}.universal-button .btn-text{display:inline-block;font-size:inherit}@media (max-width: 48rem){.universal-button{height:5rem;font-size:1.5rem}.universal-button .btn-text,.universal-button .btn-icon{font-size:1.5rem}}@media (max-width: 30rem){.universal-button{height:4.5rem;font-size:1.25rem}.universal-button .btn-text,.universal-button .btn-icon{font-size:1.25rem}}.counter{display:grid;grid-template-columns:3rem 1fr 3rem;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--border-radius-md);background:var(--bg-tertiary);transition:opacity .4s cubic-bezier(.68,-.6,.32,1.6),transform .4s cubic-bezier(.68,-.6,.32,1.6),max-height .4s cubic-bezier(.68,-.6,.32,1.6);transform-origin:top;max-height:10rem;overflow:hidden}.counter[data-disabled=true]{opacity:.3;transform:scale(.95);pointer-events:none}.counter .counter-btn.universal-button{width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important;border-radius:50%!important;font-size:2.5rem!important;padding:0!important;flex-shrink:0;transition:transform .15s var(--ease-rubber),box-shadow .15s var(--ease-rubber),background .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.counter .counter-btn.universal-button .btn-text{font-size:2.5rem!important;font-weight:900!important}.counter .counter-btn.universal-button:active:not(:disabled){transform:translateY(.0625rem) scale(.9)!important}.counter .counter-btn.universal-button.btn-red:active:not(:disabled){box-shadow:0 0 .5rem var(--red-shadow-sm)!important}.counter .counter-btn.universal-button.btn-black:active:not(:disabled){box-shadow:0 0 .5rem #0003!important}.counter .counter-btn.universal-button.btn-gray:active:not(:disabled){box-shadow:0 0 .5rem #0000001a!important}@media (hover: none) and (pointer: coarse){.counter .counter-btn.universal-button{-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation;font-size:3rem!important;width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important}.counter .counter-btn.universal-button .btn-text{font-size:3rem!important;font-weight:900!important}.counter .counter-btn.universal-button:active:not(:disabled){transform:translateY(.0625rem) scale(.9)!important;transition:transform .1s ease,box-shadow .1s ease,background .1s ease}.counter{grid-template-columns:3rem 1fr 3rem}}.counter .counter-value{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900!important;color:var(--text-primary);min-width:2rem;text-align:center;user-select:none;-webkit-user-select:none}.toggle-slider{display:flex;background:var(--bg-tertiary);padding:.375rem;border-radius:var(--border-radius-md);border:.125rem solid var(--bg-dark);gap:0;position:relative;box-shadow:inset 0 .5rem 1rem #0000001a;overflow:hidden;z-index:1}.toggle-slider:before{content:"";position:absolute;top:.375rem;left:.375rem;width:calc(50% - .375rem);height:calc(100% - .75rem);background:var(--btn-main-bg);border-radius:calc(var(--border-radius-md) - .5rem);box-shadow:0 0 1rem var(--red-shadow-md);transition:transform .35s var(--ease-rubber);z-index:0}.toggle-slider-3:before{width:calc(33.333% - .25rem)}.toggle-slider-4:before{width:calc(25% - .1875rem)}.toggle-slider-2:has(.toggle-slider-item:nth-child(2) input:checked):before{transform:translate(100%)}.toggle-slider-3:has(.toggle-slider-item:nth-child(2) input:checked):before{transform:translate(100%)}.toggle-slider-3:has(.toggle-slider-item:nth-child(3) input:checked):before{transform:translate(200%)}.toggle-slider-4:has(.toggle-slider-item:nth-child(2) input:checked):before{transform:translate(100%)}.toggle-slider-4:has(.toggle-slider-item:nth-child(3) input:checked):before{transform:translate(200%)}.toggle-slider-4:has(.toggle-slider-item:nth-child(4) input:checked):before{transform:translate(300%)}.toggle-slider-item{flex:1;position:relative;z-index:2}.toggle-slider-item input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{height:5.5rem}.toggle-slider-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent;border:none;cursor:pointer;transition:color .25s ease,transform .25s var(--ease-rubber);font-family:inherit;font-size:1.75rem;font-weight:900;letter-spacing:.0156rem;text-transform:uppercase;line-height:1.2;color:var(--text-muted);-webkit-user-select:none;user-select:none;margin:0;padding:0 .5rem;text-shadow:none;text-align:center;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.start-page .toggle-slider-label,.start-page .modal-glass .toggle-slider-label,#createGameModal .toggle-slider-label,#joinGameModal .toggle-slider-label{font-size:.9rem}@media (min-width: 64rem){#addPlayerModal .toggle-slider-label{font-size:1.25rem}}.toggle-slider-wrapper:has(.locked-option-right) .toggle-slider-item:last-child .toggle-slider-label{color:#a0a0a0;cursor:not-allowed;pointer-events:none}.toggle-slider-item input:not(:checked)+.toggle-slider-label:hover{color:var(--text-secondary);transform:scale(1.02)}.toggle-slider-wrapper:has(.locked-option-right) .toggle-slider-item:last-child .toggle-slider-label:hover{color:#a0a0a0;transform:none}.toggle-slider-item input:checked+.toggle-slider-label{color:#fff;transform:scale(1.05);text-shadow:0 .125rem .25rem rgba(0,0,0,.3)}@keyframes slider-bounce-right{0%{transform:translate(0)}20%{transform:translate(12%)}40%{transform:translate(-4%)}60%{transform:translate(1.5%)}80%{transform:translate(-.5%)}to{transform:translate(0)}}@keyframes slider-bounce-left{0%{transform:translate(0)}20%{transform:translate(-12%)}40%{transform:translate(4%)}60%{transform:translate(-1.5%)}80%{transform:translate(.5%)}to{transform:translate(0)}}.toggle-slider.bounce-right:before{animation:slider-bounce-right .4s cubic-bezier(.34,1.56,.64,1)}.toggle-slider.bounce-left:before{animation:slider-bounce-left .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slider-bounce-pos-0{0%,to{transform:translate(0)}20%{transform:translate(3%)}40%{transform:translate(-1%)}60%{transform:translate(1.5%)}80%{transform:translate(-.5%)}}@keyframes slider-bounce-pos-1{0%,to{transform:translate(100%)}20%{transform:translate(103%)}40%{transform:translate(99%)}60%{transform:translate(101.5%)}80%{transform:translate(99.5%)}}@keyframes slider-bounce-pos-2{0%,to{transform:translate(200%)}20%{transform:translate(203%)}40%{transform:translate(199%)}60%{transform:translate(201.5%)}80%{transform:translate(199.5%)}}@keyframes slider-bounce-pos-3{0%,to{transform:translate(300%)}20%{transform:translate(303%)}40%{transform:translate(299%)}60%{transform:translate(301.5%)}80%{transform:translate(299.5%)}}.toggle-slider.bounce-pos-0:before{animation:slider-bounce-pos-0 .4s cubic-bezier(.34,1.56,.64,1)}.toggle-slider.bounce-pos-1:before{animation:slider-bounce-pos-1 .4s cubic-bezier(.34,1.56,.64,1)}.toggle-slider.bounce-pos-2:before{animation:slider-bounce-pos-2 .4s cubic-bezier(.34,1.56,.64,1)}.toggle-slider.bounce-pos-3:before{animation:slider-bounce-pos-3 .4s cubic-bezier(.34,1.56,.64,1)}.toggle-slider-item .toggle-slider-lock-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;background:var(--btn-main-bg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:1;filter:drop-shadow(0 .125rem .25rem rgba(220,38,38,.5)) drop-shadow(0 0 .5rem rgba(220,38,38,.3));pointer-events:none}@media (min-width: 64rem){.toggle-slider{height:5rem}.toggle-slider-label{font-size:1.5rem;letter-spacing:.0156rem}.modal-glass .toggle-slider{height:5rem}.modal-glass .toggle-slider-label{font-size:1.5rem;letter-spacing:.0156rem}.start-page .toggle-slider-label,.start-page .modal-glass .toggle-slider-label,#createGameModal .toggle-slider-label,#joinGameModal .toggle-slider-label{font-size:1rem}}@media (max-width: 48rem){.toggle-slider{height:5rem}.toggle-slider-label{font-size:1.3rem;letter-spacing:.0156rem}.modal-glass .toggle-slider{height:5rem}.modal-glass .toggle-slider-label{font-size:1.3rem;letter-spacing:.0156rem}}@media (max-width: 30rem){.toggle-slider{height:4.5rem}.toggle-slider-label{font-size:1.1rem;letter-spacing:.0156rem}.modal-glass .toggle-slider{height:4.5rem}.modal-glass .toggle-slider-label{font-size:1.1rem;letter-spacing:.0156rem}}.toggle-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.toggle-switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;margin:0}.toggle-switch-track{position:relative;width:2.5rem;height:1.5rem;border-radius:999rem;background:var(--bg-tertiary);border:.125rem solid var(--bg-dark);box-shadow:inset 0 .25rem .5rem #0000001a;transition:background .3s cubic-bezier(.68,-.6,.32,1.6),border-color .3s cubic-bezier(.68,-.6,.32,1.6),box-shadow .3s cubic-bezier(.68,-.6,.32,1.6),transform .2s cubic-bezier(.68,-.6,.32,1.6);display:flex;align-items:center}.toggle-switch-thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:var(--bg-secondary);box-shadow:0 .125rem .375rem #0000004d;transition:transform .4s cubic-bezier(.68,-.6,.32,1.6),box-shadow .3s ease;will-change:transform}.toggle-switch input:checked+.toggle-switch-track{background:var(--btn-main-bg);border-color:#fff3;box-shadow:inset 0 .125rem .25rem #0003,0 0 1rem var(--red-shadow-md)}.toggle-switch input:checked+.toggle-switch-track .toggle-switch-thumb{transform:translate(1rem) scale(1.1);box-shadow:0 .125rem .5rem #0006}.toggle-switch:hover .toggle-switch-track{transform:scale(1.05)}.toggle-switch:active .toggle-switch-track{transform:scale(.98)}.toggle-switch input:checked:hover+.toggle-switch-track .toggle-switch-thumb{box-shadow:0 .125rem .5rem #00000080,0 0 .75rem #ffffff80}.toggle-switch input:disabled+.toggle-switch-track{opacity:.5;cursor:not-allowed;pointer-events:none}.toggle-switch input:disabled~*{pointer-events:none}.toggle-switch:has(input:disabled){cursor:not-allowed;opacity:.5}@keyframes switch-deny{0%{transform:translate(0)}20%{transform:translate(.25rem)}40%{transform:translate(-.15rem)}60%{transform:translate(.0625rem)}80%{transform:translate(-.03125rem)}to{transform:translate(0)}}.toggle-switch-deny .toggle-switch-track{animation:switch-deny .4s cubic-bezier(.34,1.56,.64,1)}.loading-bar{width:100%;position:relative}.loading-bar-container{position:relative;width:100%}.loading-bar-track{width:100%;height:5.5rem;background:var(--bg-tertiary);border-radius:var(--border-radius-md);border:.125rem solid var(--bg-dark);box-shadow:inset 0 .5rem 1rem #0000001a;position:relative;overflow:hidden;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem)}.loading-bar-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--btn-main-bg);border-radius:var(--border-radius-md);box-shadow:0 0 1.5rem var(--red-shadow-md);transition:width .5s var(--ease-rubber);position:relative;overflow:hidden}.loading-bar-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shine 2s infinite}@keyframes shine{0%{left:-100%}to{left:100%}}.loading-bar-shine{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 50%,rgba(0,0,0,.1) 100%);pointer-events:none}.loading-bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:1rem;width:calc(100% - 2rem);z-index:2;pointer-events:none}.loading-bar-phrase{font-size:1.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.0313rem;color:var(--text-primary);text-shadow:0 .125rem .25rem rgba(255,255,255,1),0 .25rem .5rem rgba(255,255,255,.8),0 .0625rem .125rem rgba(0,0,0,.5),0 0 .5rem rgba(0,0,0,.3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;transition:opacity .3s ease}.loading-bar-percent{font-size:1.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.0313rem;color:var(--text-primary);text-shadow:0 .125rem .25rem rgba(255,255,255,1),0 .25rem .5rem rgba(255,255,255,.8),0 .0625rem .125rem rgba(0,0,0,.5),0 0 .5rem rgba(0,0,0,.3);min-width:4rem;text-align:right;transition:opacity .3s ease}.loading-bar-track:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,var(--red-bg-alpha-05) 0%,transparent 70%);opacity:0;animation:pulse-track 2s infinite ease-in-out;pointer-events:none}@keyframes pulse-track{0%,to{opacity:0}50%{opacity:1}}@media (min-width: 64rem){.loading-bar-track{height:5rem}.loading-bar-phrase{font-size:1.4rem}.loading-bar-percent{font-size:1.4rem;min-width:3.5rem}}@media (max-width: 48rem){.loading-bar-track{height:5rem}.loading-bar-phrase{font-size:1.3rem}.loading-bar-percent{font-size:1.3rem;min-width:3.5rem}.loading-bar-text{gap:.75rem;width:calc(100% - 1.5rem)}}@media (max-width: 30rem){.loading-bar-track{height:4.5rem}.loading-bar-phrase{font-size:1.1rem}.loading-bar-percent{font-size:1.1rem;min-width:3rem}.loading-bar-text{gap:.5rem;width:calc(100% - 1rem);flex-direction:column}.loading-bar-percent{text-align:center}}@keyframes loading-bar-appear{0%{opacity:0;transform:scale(.95) translateY(.5rem)}to{opacity:1;transform:scale(1) translateY(0)}}.loading-bar{animation:loading-bar-appear .5s var(--ease-rubber)}@keyframes phrase-change{0%{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.loading-bar-phrase{animation:phrase-change .5s ease}.close-button{width:3rem;height:3rem;min-width:3rem;min-height:3rem;border-radius:50%;border:none;background:var(--btn-main-bg);color:var(--text-on-accent);padding:0;margin:0;box-shadow:0 0 1.5rem var(--red-shadow-md);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .3s var(--ease-rubber),box-shadow .3s var(--ease-rubber);transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:inherit;color-scheme:light;-webkit-text-fill-color:var(--text-on-accent)}.close-button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;position:relative;transition:transform .3s var(--ease-rubber);transform-origin:center center}.close-button-icon svg{width:1.75rem;height:1.75rem;display:block;flex-shrink:0}.close-button:hover:not(:disabled):not(:active) .close-button-icon{transform:rotate(15deg)}.close-button:hover:not(:disabled):not(:active){box-shadow:0 0 2rem var(--red-shadow-xl)}.close-button:active:not(:disabled) .close-button-icon,.close-button.is-pressed .close-button-icon{transform:rotate(135deg)}.close-button:active:not(:disabled){box-shadow:0 0 1rem var(--red-shadow-sm)}.close-button:focus:not(:disabled){outline:none}.close-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:0 0 .5rem #0000001a!important}@media (hover: none) and (pointer: coarse){.close-button:hover:not(:active){box-shadow:0 0 1.5rem var(--red-shadow-md)!important}.close-button:hover:not(:active) .close-button-icon{transform:none!important}.close-button:active:not(:disabled) .close-button-icon{transform:rotate(135deg)!important}}@media (max-width: 30rem){.close-button{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.close-button-icon svg{width:1.5rem;height:1.5rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease-out;color-scheme:light;-webkit-tap-highlight-color:transparent}.modal-overlay.active{opacity:1;pointer-events:auto}@media (max-width: 48rem){.modal-overlay{background:#0000004d;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}.modal-glass{width:100%;max-width:26rem;padding:0;position:relative;transform:scale(.8) translateY(2rem);transition:transform .5s var(--ease-rubber);backdrop-filter:blur(10rem);-webkit-backdrop-filter:blur(10rem);border:.125rem solid rgba(0,0,0,.1);border-radius:var(--border-radius-lg);box-shadow:0 1.5rem 4rem #0003,inset 0 0 3rem #ffffff80;color-scheme:light;-webkit-transform:scale(.8) translateY(2rem);overflow:hidden}.modal-glass:not(.modal-glass-scrollable){padding:3rem 2.5rem 2.5rem}.modal-glass-scrollable{display:flex;flex-direction:column;padding:0;max-height:90vh}@media (min-width: 64rem){.modal-scrollable .modal-glass{max-width:36rem}}.modal-scroll-body{overflow-y:auto;flex:1;min-height:0;padding:3rem 1.5rem 1.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.modal-scroll-body::-webkit-scrollbar{display:none}.modal-overlay.active .modal-glass{transform:scale(1) translateY(0);-webkit-transform:scale(1) translateY(0)}.modal-glass .close-button{position:absolute;top:.75rem;right:.75rem;z-index:10;flex-shrink:0;width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}.modal-glass .close-button .close-button-icon svg{width:1.25rem;height:1.25rem}.modal-title{font-size:2rem;font-weight:900;text-align:center;color:var(--text-primary);text-transform:uppercase}.modal-glass-scrollable .modal-title{font-size:1.5rem}.modal-glass .toggle-slider-label{line-height:1.2;white-space:normal;padding:0 .5rem;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:break-word}.modal-actions{display:flex;flex-direction:column;gap:1.25rem;margin-top:2.5rem}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.875rem;text-transform:uppercase;letter-spacing:.125rem;color:var(--text-secondary);font-weight:800;margin-bottom:.75rem;padding-left:.5rem}.large-input{font-size:1.125rem!important;padding:1rem 1.25rem!important;text-transform:none!important}.name-input-wrapper{position:relative;width:100%}.name-input{font-size:1.25rem!important;font-weight:900!important;padding:1rem 4rem 1rem 1.25rem!important;text-transform:none!important;color:var(--text-primary)!important}.name-char-counter{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--btn-main-bg);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;color:var(--text-on-accent);box-shadow:0 0 .75rem var(--red-shadow-md);flex-shrink:0}.player-avatar{width:6rem;height:6rem;border-radius:50%;background:var(--bg-tertiary);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border:.25rem solid var(--bg-primary);box-shadow:var(--glass-shadow);margin:-.5rem .75rem -.5rem -.25rem;transition:background .3s var(--ease-rubber),box-shadow .3s var(--ease-rubber)}body[data-colorize-roles=true] .player-card.inactive .player-avatar[data-role]{background:var(--bg-tertiary)!important;box-shadow:var(--glass-shadow)!important;border-color:var(--bg-primary)!important}body[data-colorize-roles=true] .player-avatar[data-role=mafia]{background:var(--role-mafia-bg);box-shadow:0 0 1rem #3a3a3a80,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=godfather]{background:var(--role-godfather-bg);box-shadow:0 0 1rem #1a1a1acc,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=civilian]{background:var(--role-civilian-bg);box-shadow:0 0 1rem #dc354580,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=sheriff]{background:var(--role-sheriff-bg);box-shadow:0 0 1rem #0d7fb880,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=mistress]{background:var(--role-mistress-bg);box-shadow:0 0 1rem #e83e8c80,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=maniac]{background:var(--role-maniac-bg);box-shadow:0 0 1rem #fd7e1480,var(--glass-shadow)}body[data-colorize-roles=true] .player-avatar[data-role=doctor]{background:var(--role-doctor-bg);box-shadow:0 0 1rem #28a74580,var(--glass-shadow)}.player-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.player-avatar.icon-green,.player-avatar.icon-red{display:flex;align-items:center;justify-content:center}.player-avatar.icon-green i{font-size:2.5rem;color:var(--green-primary)}.player-avatar.icon-red i{font-size:2.5rem;color:var(--red-primary)}.player-avatar.disconnected{position:relative;isolation:isolate}.player-avatar.disconnected .player-avatar-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.player-avatar.disconnected .player-avatar-image-wrap .player-avatar-image{filter:blur(4px)}.player-avatar.disconnected .fa-plug-circle-exclamation{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--red-primary);filter:drop-shadow(0 0 .5rem rgba(0,0,0,.95)) drop-shadow(0 2px 4px rgba(0,0,0,.9)) drop-shadow(0 0 .75rem var(--red-shadow-lg));z-index:1}.player-avatar.disconnected .fa-plug-circle-exclamation:before{background:var(--red-text-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (min-width: 64rem){.player-avatar.icon-green i,.player-avatar.icon-red i{font-size:2.25rem}}@media (max-width: 48rem){.player-avatar.icon-green i,.player-avatar.icon-red i{font-size:2rem}}@media (max-width: 30rem){.player-avatar.icon-green i,.player-avatar.icon-red i{font-size:1.75rem}}@media (min-width: 64rem){.player-avatar{width:5.5rem;height:5.5rem;margin-top:-.5rem;margin-bottom:-.5rem}}@media (max-width: 48rem){.player-avatar{width:4.25rem;height:4.25rem;margin:-.5rem .5rem -.5rem -.25rem}}@media (max-width: 30rem){.player-avatar{width:4.75rem;height:4.75rem;margin:-.375rem .5rem -.375rem -.125rem}}:root{color-scheme:light}@font-face{font-family:Arteks;src:url(/assets/fonts/Arteks%20Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Arteks;src:url(/assets/fonts/Arteks%20Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Feast of Flesh;src:url(/assets/fonts/Feast%20of%20Flesh%20%D0%A1.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Arteks,sans-serif;background-color:var(--bg-primary);color:var(--text-main);min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.pwa-standalone html{height:100svh;height:100dvh}.pwa-standalone body{height:100svh;height:100dvh;box-sizing:border-box}.pwa-standalone #app{height:100%;min-height:0}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/assets/background/webp/background_m.webp);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:var(--bg-image-opacity);z-index:-1;pointer-events:none;filter:none;transition:filter 2s cubic-bezier(.4,0,.2,1),opacity 2s cubic-bezier(.4,0,.2,1),background-image .3s ease;will-change:filter,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}@media (max-width: 48rem){body:not(:has(.start-page)):before{background-image:none;filter:none;background-color:var(--bg-primary)}}html{overscroll-behavior-y:contain}html:has(body:has(.start-page)),html:has(body:has(.game-page.results-stage)){overflow:hidden;background-color:var(--bg-primary)}body:has(.start-page),body:has(.game-page.results-stage){overflow:hidden}input,textarea,select,button{font-family:inherit}#app{min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain}.pwa-standalone body:has(.start-page),.pwa-standalone body:has(.game-page.results-stage){overflow:hidden;height:100%;min-height:100dvh;background-color:var(--bg-primary)}.pwa-standalone body:has(.start-page) #app,.pwa-standalone body:has(.game-page.results-stage) #app{overflow:hidden;height:100%;min-height:100%}.scrollable{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}@supports (overscroll-behavior-y: bounce){body,html,#app,.scrollable{overscroll-behavior-y:bounce}}@keyframes overscroll-bounce-top{0%{transform:translateY(0)}50%{transform:translateY(1rem)}to{transform:translateY(0)}}@keyframes overscroll-bounce-bottom{0%{transform:translateY(0)}50%{transform:translateY(-1rem)}to{transform:translateY(0)}}*{scroll-behavior:smooth}@media (max-width: 48rem){body,html,#app,.scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}.container{max-width:75rem;margin:0 auto;padding:1rem}.btn{padding:1rem 2rem;border:none;border-radius:var(--border-radius-md);font-size:1.125rem;font-weight:800;cursor:pointer;transition:var(--anim-rubber);background:var(--btn-main-bg);color:var(--text-on-accent);box-shadow:0 .375rem 0 var(--btn-main-shadow);text-transform:uppercase;letter-spacing:.0625rem;position:relative;display:inline-flex;align-items:center;justify-content:center;text-shadow:0 .125rem .25rem rgba(0,0,0,.1)}.btn:hover{transform:translateY(-.25rem) scale(1.03);box-shadow:0 .625rem 0 var(--btn-main-shadow)}.btn:active{transform:translateY(.125rem) scale(.97);box-shadow:0 .125rem 0 var(--btn-main-shadow)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 .125rem 0 var(--btn-main-shadow)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:.125rem solid var(--btn-secondary-shadow);box-shadow:0 .3125rem 0 var(--btn-secondary-shadow)}.btn-secondary:hover{background:var(--btn-secondary-bg);border-color:var(--red-primary);box-shadow:0 .4375rem 0 var(--btn-secondary-shadow)}.btn-secondary:active{box-shadow:0 .0625rem 0 var(--btn-secondary-shadow)}.input{padding:1rem 1.25rem;border:.1875rem solid var(--bg-tertiary);border-radius:var(--border-radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-family:inherit;width:100%;transition:var(--anim-rubber);box-shadow:inset 0 .25rem .5rem #0006}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;border-color:var(--gray-medium);background:var(--bg-primary);transform:scale(1.01);box-shadow:0 0 1.5rem #ffffff0d,inset 0 .125rem .25rem #0000004d}.card{background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);padding:2.5rem;margin-bottom:2rem;border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow);transition:var(--anim-rubber)}.card:hover{transform:translateY(-.375rem);box-shadow:var(--glass-shadow-strong)}h1,h2,h3,h4,h5,h6{margin-bottom:1.5rem;font-weight:900;color:var(--text-primary);line-height:1.2}h1{font-size:2.5rem;text-transform:uppercase}h2{font-size:2rem}h3{font-size:1.5rem}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05);opacity:1}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes rubber-band{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-bounce{animation:bounce-in .6s var(--ease-rubber) both}.animate-rubber{animation:rubber-band .6s var(--ease-rubber)}.animate-fade-in{animation:fade-in .5s ease-out both}.animate-slide-up{animation:slide-up .6s var(--ease-rubber) both}.animate-slide-down{animation:slide-down .6s var(--ease-rubber) both}.animate-slide-left{animation:slide-left .6s var(--ease-rubber) both}.animate-slide-right{animation:slide-right .6s var(--ease-rubber) both}.animate-scale-in{animation:scale-in .5s var(--ease-rubber) both}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}.animate-delay-7{animation-delay:.7s}.animate-delay-8{animation-delay:.8s}.animate-fade-slide-up{animation:fade-in .5s ease-out,slide-up .6s var(--ease-rubber);animation-fill-mode:both}.animate-fade-scale{animation:fade-in .5s ease-out,scale-in .5s var(--ease-rubber);animation-fill-mode:both}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 64rem){.container{max-width:60rem;padding:.875rem}.animate-slide-up{animation:slide-up .5s var(--ease-rubber) both}.animate-fade-slide-up{animation:fade-in .4s ease-out,slide-up .5s var(--ease-rubber);animation-fill-mode:both}}@media (max-width: 48rem){.container{padding:.5rem}.card{padding:1.5rem}h1{font-size:2rem}h2{font-size:1.75rem}.animate-slide-up{animation:slide-up .4s var(--ease-rubber) both}.animate-scale-in{animation:scale-in .4s var(--ease-rubber) both}.animate-fade-slide-up{animation:fade-in .3s ease-out,slide-up .4s var(--ease-rubber);animation-fill-mode:both}.animate-delay-1{animation-delay:.05s}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.animate-delay-6{animation-delay:.3s}.animate-delay-7{animation-delay:.35s}.animate-delay-8{animation-delay:.4s}}@media (max-width: 30rem){.container{padding:.25rem}h1{font-size:1.75rem}h2{font-size:1.5rem}.btn{padding:.875rem 1.5rem;font-size:1rem}.animate-slide-up{animation:slide-up .3s var(--ease-rubber) both}.animate-scale-in{animation:scale-in .3s var(--ease-rubber) both}.animate-fade-slide-up{animation:fade-in .25s ease-out,slide-up .3s var(--ease-rubber);animation-fill-mode:both}}@media (min-width: 48.0625rem) and (orientation: portrait){body:before{background-image:url(/assets/background/webp/background_m.webp)}body:not(.night-theme):not(:has(.start-page)):before{background-image:url(/assets/background/webp/background_m_blur.webp);filter:none;-webkit-filter:none}}@media (min-width: 48.0625rem) and (orientation: landscape){body:before{background-image:url(/assets/background/webp/background_pc.webp)}body:not(.night-theme):not(:has(.start-page)):before{background-image:url(/assets/background/webp/background_pc_blur.webp);filter:none;-webkit-filter:none}}.lobby-page{min-height:100vh;min-height:100dvh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));padding-top:6rem}.lobby-page>.lobby-container{position:relative;z-index:1}.lobby-container{display:flex;flex-direction:column;gap:2rem}.lobby-page .game-header-container{max-width:75rem;padding-left:1rem;padding-right:1rem}@media (max-width: 64rem){.lobby-page .game-header-container{max-width:60rem;padding-left:.875rem;padding-right:.875rem}}@media (max-width: 48rem){.lobby-page .game-header-container{padding-left:.5rem;padding-right:.5rem}}@media (max-width: 30rem){.lobby-page .game-header-container{padding-left:.25rem;padding-right:.25rem}}.lobby-header-back-wrap{position:absolute;left:0;top:50%;transform:translateY(-50%)}.lobby-header-back-btn{min-width:2.75rem!important;width:2.75rem!important;height:2.75rem!important;padding:0!important;border-radius:50%!important;box-sizing:border-box}.lobby-header-back-btn .btn-icon{margin:0!important;font-size:1.25rem}.lobby-header-back-btn .btn-text{display:none}.lobby-header-back-btn:hover .btn-icon i{transform:scale(1.1)}.lobby-header-back-btn:active .btn-icon i{transform:scale(.9)}.lobby-header-back-btn .btn-icon i{transition:transform .3s var(--ease-rubber)}@media (min-width: 64rem){.lobby-header-back-btn{min-width:3.25rem!important;width:3.25rem!important;height:3.25rem!important}.lobby-header-back-btn .btn-icon{font-size:1.5rem}}@media (max-width: 30rem){.lobby-header-back-btn{min-width:2.625rem!important;width:2.625rem!important;height:2.625rem!important}.lobby-header-back-btn .btn-icon{font-size:1rem}}.lobby-header-copy-btn{min-width:2.75rem!important;width:2.75rem!important;height:2.75rem!important;padding:0!important;border-radius:50%!important;box-sizing:border-box;background:var(--btn-main-bg)!important;box-shadow:0 0 1.5rem var(--red-shadow-md)}.lobby-header-copy-btn .btn-icon{margin:0!important;font-size:1.25rem}.lobby-header-copy-btn .btn-text{display:none}.lobby-header-copy-btn:hover .btn-icon i{transform:scale(1.1)}.lobby-header-copy-btn:active .btn-icon i{transform:scale(.9)}.lobby-header-copy-btn .btn-icon i{transition:transform .3s var(--ease-rubber)}@media (min-width: 64rem){.lobby-header-copy-btn{min-width:3.25rem!important;width:3.25rem!important;height:3.25rem!important}.lobby-header-copy-btn .btn-icon{font-size:1.5rem}}@media (max-width: 30rem){.lobby-header-copy-btn{min-width:2.625rem!important;width:2.625rem!important;height:2.625rem!important}.lobby-header-copy-btn .btn-icon{font-size:1rem}}.lobby-section{display:flex;flex-direction:column;gap:1.25rem}.lobby-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lobby-section-title{margin:0;font-size:1.5rem}.lobby-section-count{padding:.25rem .75rem;border-radius:999rem;background:var(--bg-tertiary);color:var(--text-primary);font-weight:900}.add-player-container{display:flex;justify-content:center}.player-card{width:100%;padding:1rem;display:flex;flex-direction:column;gap:1rem;justify-content:center;box-sizing:border-box}.player-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0;align-items:flex-start;text-align:left;justify-content:center}.player-avatar-clickable{cursor:pointer}.player-avatar-clickable:hover .player-avatar{box-shadow:0 0 1.5rem var(--red-shadow-md)}.player-badges{display:flex;align-items:center;gap:.5rem}.player-remove-btn{width:3rem;height:3rem;min-width:3rem;min-height:3rem;border-radius:50%;border:none;background:var(--btn-main-bg);color:var(--text-on-accent);padding:0;margin:0;box-shadow:0 0 1.5rem var(--red-shadow-md);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .3s var(--ease-rubber),box-shadow .3s var(--ease-rubber);transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:inherit;color-scheme:light;-webkit-text-fill-color:var(--text-on-accent)}.player-remove-btn i{display:inline-flex;align-items:center;justify-content:center;line-height:1;position:relative;transition:transform .3s var(--ease-rubber);transform-origin:center center;font-size:1.75rem}.player-remove-btn:hover:not(:disabled):not(:active) i{transform:rotate(15deg)}.player-remove-btn:hover:not(:disabled):not(:active){box-shadow:0 0 2rem var(--red-shadow-xl)}.player-remove-btn:active:not(:disabled) i{transform:rotate(135deg)}.player-remove-btn:active:not(:disabled){box-shadow:0 0 1rem var(--red-shadow-sm)}.player-remove-btn:focus:not(:disabled){outline:none}.player-remove-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:0 0 .5rem #0000001a!important}@media (hover: none) and (pointer: coarse){.player-remove-btn:hover:not(:active){box-shadow:0 0 1.5rem var(--red-shadow-md)!important}.player-remove-btn:hover:not(:active) i{transform:none!important}.player-remove-btn:active:not(:disabled) i{transform:rotate(135deg)!important}}@media (max-width: 30rem){.player-remove-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.player-remove-btn i{font-size:1.5rem}}.moderator-check{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.moderator-check span{text-transform:uppercase;letter-spacing:.0625rem;font-size:1rem;font-weight:700}.lobby-page .player-card .player-name{font-size:1.875rem;font-weight:900;color:var(--text-primary);transition:color .5s cubic-bezier(.68,-.6,.32,1.6),text-shadow .5s cubic-bezier(.68,-.6,.32,1.6),transform .3s cubic-bezier(.68,-.6,.32,1.6)}.player-tags{display:flex;flex-wrap:wrap;gap:.5rem}.player-host-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:999rem;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.625rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.player-tag{padding:.375rem .75rem;border-radius:999rem;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:800;text-transform:uppercase;letter-spacing:.0313rem;font-size:.75rem}.player-tag-accent{background:var(--red-primary);color:var(--text-on-accent)}.moderator-check{display:flex;align-items:center;gap:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.0313rem;color:var(--text-secondary);cursor:pointer}.lobby-settings{display:grid;gap:1.5rem}.settings-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.settings-title{font-size:1.125rem;font-weight:900;text-transform:uppercase;letter-spacing:.0625rem}.advanced-settings-btn{width:100%}.advanced-settings-modal-content{display:flex;flex-direction:column;gap:1.5rem}.settings-checkbox-title{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:900;text-transform:uppercase;letter-spacing:.0625rem;color:var(--text-primary);cursor:pointer}.lobby-toggle{width:100%}.roles-grid{display:grid;gap:1rem}.roles-grid-player{grid-template-columns:repeat(2,1fr)}.roles-grid-player .role-card-full-width{grid-column:1 / -1}.role-card{padding:1rem;border-radius:var(--border-radius-md);background:var(--bg-secondary);border:.125rem solid var(--bg-tertiary);display:flex;flex-direction:column;gap:.75rem;transition:border-color .3s ease,background .3s ease}.role-header{display:flex;align-items:center;gap:.75rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:.0313rem}.role-title{font-size:1.125rem;font-weight:900;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);text-transform:uppercase;transition:color .4s cubic-bezier(.68,-.6,.32,1.6),transform .3s cubic-bezier(.68,-.6,.32,1.6)}.role-title:hover{transform:scale(1.03)}.role-card:has(.toggle-switch input:checked) .role-title{color:var(--text-primary);transform:scale(1.05)}.role-card:has(.toggle-switch input:checked) .role-title:hover{transform:scale(1.08)}.role-lock-icon{display:inline-block;margin-left:.5rem;font-size:1rem;background:var(--btn-main-bg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:1;filter:drop-shadow(0 .125rem .25rem rgba(220,38,38,.5)) drop-shadow(0 0 .5rem rgba(220,38,38,.3));vertical-align:middle;transform:translateY(-.15rem)}.role-card-locked .role-title{color:var(--text-muted)}.role-names-grid{display:grid;gap:1.25rem}.role-name-item{display:flex;flex-direction:column;gap:.75rem}.role-name-toggle{width:100%}.role-name-toggle .toggle-slider-label{line-height:1.2;white-space:normal;padding:0 .5rem;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:break-word}@media (max-width: 48rem){.role-name-toggle .toggle-slider-label{font-size:1.1rem}}@media (max-width: 30rem){.role-name-toggle .toggle-slider-label{font-size:.9rem}}.lobby-actions{display:flex;flex-direction:column;gap:1rem}.lobby-start-btn,.lobby-leave-btn{width:100%}.lobby-start-btn{color:var(--text-on-accent)}.player-moderator-badge{padding:.375rem .75rem;border-radius:999rem;background:var(--red-primary);color:var(--text-on-accent);font-weight:800;text-transform:uppercase;letter-spacing:.0313rem;font-size:.75rem;text-align:center}.role-card-active{border-width:.125rem;border-color:var(--red-primary);background:var(--bg-secondary)}.role-card-disabled{opacity:.4;pointer-events:none}.role-card-disabled .role-title{text-decoration:line-through;cursor:not-allowed}.role-view-only{display:flex;flex-direction:column;gap:.75rem}.role-view-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.role-title-active{color:var(--text-primary)!important;font-weight:900;text-shadow:none}.role-count-badge{padding:.25rem .625rem;border-radius:999rem;background:var(--red-primary);color:var(--text-on-accent);font-weight:900;font-size:.875rem;min-width:2.5rem;text-align:center}.moderator-section{overflow:visible}.moderator-empty-state{width:100%;padding:1.05rem 1.5rem;display:flex;align-items:center;justify-content:center;background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.25rem solid var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow)}.moderator-empty-text{margin:.75rem 0rem!important;font-size:1.375rem;font-weight:800;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.0625rem;width:100%}@media (min-width: 64rem){.lobby-page{padding-top:7.5rem}}@media (max-width: 48rem){.lobby-page{padding-top:5.5rem}.players-grid,.roles-grid-player{grid-template-columns:1fr}.player-card{padding:.875rem}.player-card-content{gap:.75rem}.lobby-page .player-card .player-name{font-size:1.625rem}.moderator-check,.moderator-check span{font-size:.875rem}}@media (max-width: 30rem){.lobby-page{padding-top:5rem}.player-card{padding:.75rem}.lobby-page .player-card .player-name{font-size:1.625rem}.moderator-check,.moderator-check span{font-size:.8125rem}}.game-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden}.pwa-standalone .game-page{min-height:100%}.game-page .game-header-container{max-width:75rem;padding-left:1rem;padding-right:1rem}@media (max-width: 64rem){.game-page .game-header-container{max-width:60rem;padding-left:.875rem;padding-right:.875rem}}@media (max-width: 48rem){.game-page .game-header-container{padding-left:.5rem;padding-right:.5rem}}@media (max-width: 30rem){.game-page .game-header-container{padding-left:.25rem;padding-right:.25rem}}.game-page-content-area{flex:1;min-height:0;position:relative}.game-page-content-slot{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.game-page-content-slot .scrollable{flex:1;min-height:0;position:relative;z-index:1;overflow-y:auto;overflow-x:hidden;padding:6rem 1rem 1rem;padding-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}.sticky-footer{position:fixed;bottom:0;left:0;right:0;height:calc(8rem + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:100}.sticky-footer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;backdrop-filter:blur(1rem);-webkit-backdrop-filter:blur(1rem);mask-image:linear-gradient(to top,black 0%,black 40%,transparent 100%);-webkit-mask-image:linear-gradient(to top,black 0%,black 40%,transparent 100%);z-index:-1}.sticky-footer .container{width:100%;max-width:64rem;margin:0 auto;padding:0}.sticky-footer .sleeping-city-footer-hint{margin-bottom:1rem}.game-header-settings-row{display:flex;justify-content:flex-end;align-items:center;width:100%}.game-page-header-wrap-settings-only .game-header{height:calc(4rem + env(safe-area-inset-top,0px));min-height:calc(4rem + env(safe-area-inset-top,0px))}@media (min-width: 64rem){.game-page-content-slot .scrollable{padding-top:var(--game-page-scroll-padding-top-desktop)}}.host-actions{display:flex;justify-content:center}@media (max-width: 48rem){.sticky-footer .sleeping-city-footer-hint{margin-left:1rem;margin-right:1rem}.game-page-header-wrap-settings-only .game-header{height:calc(3.5rem + env(safe-area-inset-top,0px));min-height:calc(3.5rem + env(safe-area-inset-top,0px))}.game-page-content-slot .scrollable{padding:5.5rem .875rem .875rem;padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.sticky-footer{height:calc(7rem + env(safe-area-inset-bottom,0px));padding-bottom:calc(.875rem + env(safe-area-inset-bottom,0px))}}@media (max-width: 30rem){.sticky-footer .sleeping-city-footer-hint{margin-left:.75rem;margin-right:.75rem}.game-page-header-wrap-settings-only .game-header{height:calc(3rem + env(safe-area-inset-top,0px));min-height:calc(3rem + env(safe-area-inset-top,0px))}.game-page-content-slot .scrollable{padding:5rem .75rem .75rem;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.sticky-footer{height:calc(6.5rem + env(safe-area-inset-bottom,0px));padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}}.game-page.results-stage .sticky-footer{animation-delay:.55s}.pwa-standalone .game-page.results-stage{min-height:100%}.pwa-standalone .game-page.results-stage .game-page-content-area{overflow:hidden}.role-assignment-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:10rem}.player-turn-info{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem}.player-role-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.role-label{font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.0625rem}.role-name{font-size:1.75rem;font-weight:900;color:var(--red-primary);text-transform:uppercase;letter-spacing:.125rem;text-shadow:0 .125rem .25rem rgba(0,0,0,.3)}.turn-announcement{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-align:center;line-height:1.4}.turn-announcement strong{color:var(--red-primary)}@media (max-width: 48rem){.role-assignment-content{padding:1.5rem;min-height:8rem}.player-turn-info{padding:1.25rem;gap:1.25rem}.role-label{font-size:.9375rem}.role-name{font-size:1.5rem}.turn-announcement{font-size:1.25rem}}@media (max-width: 30rem){.role-assignment-content{padding:1rem;min-height:6rem}.player-turn-info{padding:1rem;gap:1rem}.role-label{font-size:.875rem}.role-name{font-size:1.25rem}.turn-announcement{font-size:1.125rem}}.player-card.clickable{cursor:pointer;transition:transform .25s var(--ease-rubber),box-shadow .25s var(--ease-rubber);position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.player-card.clickable:hover:not(:disabled):not(:active){transform:translateY(-.0625rem) scale(1.005);box-shadow:var(--glass-shadow)}.player-card.clickable:active:not(:disabled){transform:translateY(.0625rem) scale(.98);box-shadow:var(--glass-shadow);transition:transform .15s var(--ease-rubber),box-shadow .15s var(--ease-rubber)}.player-card.clickable.selected{border:.25rem solid var(--red-primary)!important;background:#dc35451a!important}.player-card.blood-texture{position:relative;background-color:#dc354526!important;overflow:hidden}.player-card.blood-texture:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/images/textures/blood.png);background-size:cover;background-position:center 30%;background-repeat:no-repeat;opacity:.7;mix-blend-mode:normal;pointer-events:none;z-index:0}.player-card.blood-texture:active:before,.player-card.blood-texture:hover:before{opacity:.7}.player-card.blood-texture .player-card-content,.player-card.blood-texture .player-info,.player-card.blood-texture .player-name,.player-card.blood-texture .player-role-revealed,.player-card.blood-texture .player-center-badge{position:relative;z-index:1}.player-card.clickable.selected.blood-texture,.player-card.killed{position:relative;background-color:#dc354526!important;overflow:hidden}.player-card.killed:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/images/textures/blood.png);background-size:cover;background-position:center 30%;background-repeat:no-repeat;opacity:.7;mix-blend-mode:normal;pointer-events:none;z-index:0}.player-card.killed .player-card-content,.player-card.killed .player-info,.player-card.killed .player-name,.player-card.killed .player-role-revealed,.player-card.killed .player-center-badge{position:relative;z-index:1}.player-card.healing-texture{position:relative;background-color:#28a7451a!important;overflow:hidden}.player-card.healing-texture:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/images/textures/healing.png);background-size:cover;background-position:center 30%;background-repeat:no-repeat;opacity:.5;mix-blend-mode:normal;pointer-events:none;z-index:0}.player-card.healing-texture .player-card-content,.player-card.healing-texture .player-info,.player-card.healing-texture .player-name,.player-card.healing-texture .player-role-revealed,.player-card.healing-texture .player-center-badge{position:relative;z-index:1}.player-card.blood-texture.healing-texture:before{display:none}.player-card.blood-texture.healing-texture:after{opacity:.5}.player-card.clickable:disabled{opacity:.5;cursor:not-allowed}.player-card.inactive{opacity:.5;pointer-events:none;cursor:default}.player-card.inactive .player-card-content{opacity:.7;filter:grayscale(.7)}.player-card.inactive.killed:before{opacity:.7!important;filter:none!important}.player-card.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.player-card.distracted{opacity:.6}.player-card .player-card-content{align-items:center}.player-card .player-info{align-items:flex-start;text-align:left;justify-content:center}.player-card .player-name{font-size:1.5rem}.player-card .player-role-revealed{text-align:left}@keyframes player-card-rubber-appear{0%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.06)}70%{transform:scale(.97)}85%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.players-grid.animate-cards .player-card-wrapper{animation:player-card-rubber-appear .55s var(--ease-rubber) both}.players-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.players-grid.single-column{grid-template-columns:1fr}.glass-panel>.players-grid.single-column{padding:1rem}.player-card{width:100%;padding:1rem;display:flex;flex-direction:column;gap:1rem;justify-content:center;box-sizing:border-box;position:relative}.player-card,.player-card.glass-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--bg-secondary)!important;background-color:var(--bg-secondary)!important;opacity:1!important}.player-card-content{display:flex;align-items:center;gap:1rem;flex:1}.player-info{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.player-name{font-size:1.5rem;font-weight:900;color:var(--text-primary)}.player-role-revealed{font-size:1rem;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.0625rem}.voting-actions,.night-action-actions{display:flex;justify-content:center}.skip-action-card{padding:1rem 1.5rem;cursor:pointer;transition:transform .25s var(--ease-rubber),box-shadow .25s var(--ease-rubber);position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:.25rem solid rgba(255,255,255,.2);background:var(--bg-glass-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow)}.skip-action-card:hover:not(:active){transform:translateY(-.0625rem) scale(1.005);box-shadow:var(--glass-shadow)}.skip-action-card:active{transform:translateY(.0625rem) scale(.98);box-shadow:var(--glass-shadow);transition:transform .15s var(--ease-rubber),box-shadow .15s var(--ease-rubber)}.skip-action-card.selected{border:.25rem solid var(--red-primary);background:#dc35451a}.skip-action-content{display:flex;align-items:center;justify-content:center}.skip-action-text{font-size:1.125rem;font-weight:900;color:var(--text-primary);letter-spacing:.0625rem;text-transform:uppercase}.skip-action-card.selected .skip-action-text{color:var(--red-primary)}@media (max-width: 48rem){.lobby-section .players-grid{grid-template-columns:1fr!important}.players-grid:not(.single-column){grid-template-columns:1fr!important}.player-card{padding:.875rem}.player-name{font-size:1.125rem}.player-role-revealed{font-size:.875rem}}.players-compact-container{display:flex;flex-direction:column;gap:1rem;width:100%}@media (min-width: 48.0625rem){.players-compact-container{width:50%;max-width:37.5rem;margin:0 auto;min-width:62.5rem}.players-compact-container.two-columns-layout{width:100%;max-width:100%;margin:0;min-width:62.5rem}}@media (max-width: 48rem){.players-compact-container{max-width:100%;gap:.875rem}}.players-grid{transition:all .3s var(--ease-rubber)}@media (hover: none) and (pointer: coarse){.player-card-wrapper.draggable.dragging{opacity:0;visibility:hidden;position:absolute;left:-9999px}.player-card-wrapper.draggable.drag-over{transform:translateY(-.75rem) scale(1.03)}}@media (max-width: 30rem){.lobby-section .players-grid{grid-template-columns:1fr!important}.player-card{padding:.75rem}.player-name{font-size:1.25rem}.player-role-revealed{font-size:.8125rem}.players-compact-container{gap:.75rem}}@media (hover: none) and (pointer: coarse){.player-card.clickable:hover:not(:disabled):not(:active){transform:none!important;box-shadow:var(--glass-shadow)!important}.player-card.clickable:active:not(:disabled){transform:translateY(.125rem) scale(.97)!important;box-shadow:var(--glass-shadow)!important}.skip-action-card:hover:not(:active){transform:none!important;box-shadow:var(--glass-shadow)!important}.skip-action-card:active{transform:translateY(.125rem) scale(.97)!important;box-shadow:var(--glass-shadow)!important}}.player-card-wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:0}.player-card.expanded:not(.selected){border:.25rem solid var(--red-primary);background:#dc35451a}.player-card.nominated{background:#dc35451a!important}.player-card.timer-active{border:.25rem solid var(--red-primary);background:#dc35451a;animation:player-card-blink-border 1.2s ease-in-out infinite}.player-card.timer-active .avatar-badge,.player-card.timer-active .vote-count-badge-large{animation:player-card-blink-badge 1.2s ease-in-out infinite}@keyframes player-card-blink-border{0%,to{border-color:#dc35454d}50%{border-color:var(--red-primary)}}@keyframes player-card-blink-badge{0%,to{opacity:.45}50%{opacity:1}}.player-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.player-name-suffix{display:inline-flex;align-items:center;margin-left:.375rem}.player-card.player-name-banned .player-name{color:var(--red-primary)!important}.player-avatar-wrap{position:relative;flex-shrink:0}.avatar-badge{position:absolute;top:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;width:1.25rem;height:1.25rem}.avatar-badge-top-right{top:0;right:0;bottom:auto;left:auto;transform:translate(-25%,-25%)}.avatar-badge-bottom-right{top:auto;right:0;bottom:0;left:auto;transform:translate(-25%,25%)}@media (min-width: 48.0625rem){.avatar-badge-top-right{transform:translate(-40%,-25%)}.avatar-badge-bottom-right{transform:translate(-40%,25%)}}.player-avatar-wrap .foul-badge,.player-avatar-wrap .foul-badge-ban,.player-avatar-wrap .spoken-check-badge,.player-avatar-wrap .timer-mic-badge{width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;padding:0;font-size:.6875rem;opacity:1;background:var(--btn-main-bg);background-color:var(--btn-main-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);box-shadow:0 0 0 .125rem var(--bg-primary)}.player-avatar-wrap .spoken-check-badge{background:var(--btn-green-bg);background-color:var(--btn-green-bg);box-shadow:0 0 0 .125rem var(--bg-primary)}.player-avatar-wrap .timer-mic-badge{background:var(--btn-main-bg);background-color:var(--btn-main-bg)}.player-avatar-wrap .timer-mic-badge i{font-size:.6875rem}.player-avatar-wrap .foul-badge:not(.foul-badge-ban){font-size:.875rem;font-weight:900}.player-avatar-wrap .foul-badge-ban i{font-size:1rem}.player-avatar-wrap .spoken-check-badge i{font-size:.6875rem}.foul-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .375rem;border-radius:50%;background:var(--btn-main-bg);color:var(--text-on-accent);font-size:1rem;font-weight:900;line-height:1}.foul-badge-ban{padding:0;font-size:1rem}.foul-badge-ban i{font-size:1rem}.player-center-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0;margin-left:auto}.spoken-check-badge{width:3rem;height:3rem;min-width:3rem;min-height:3rem;border-radius:50%;background:var(--btn-green-bg);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;box-shadow:0 0 1.5rem var(--green-shadow-md);line-height:1}.spoken-check-badge i{font-size:1.5rem}@media (max-width: 48rem){.player-card-actions{padding:.625rem;gap:.4375rem}.player-card-action-btn{height:3.5rem;font-size:1rem}.player-card-action-btn .btn-text,.player-card-action-btn .btn-icon{font-size:1rem}}@media (max-width: 30rem){.player-card-actions{padding:.5rem;gap:.375rem}.player-card-action-btn{height:3rem;font-size:.875rem}.player-card-action-btn .btn-text,.player-card-action-btn .btn-icon{font-size:.875rem}}.player-name-row{display:flex;align-items:center;justify-content:space-between;gap:.625rem;width:100%}.player-number-badge{position:absolute;top:50%;right:1rem;transform:translateY(-50%);font-size:4rem;font-weight:900;color:var(--text-secondary);opacity:.06;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2}.player-number-badge.draggable-number{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;opacity:.15;transition:opacity .2s ease,transform .2s ease;z-index:10}.player-number-badge.draggable-number:hover{opacity:.3;transform:translateY(-50%) scale(1.1)}.player-number-badge.draggable-number:active{cursor:grabbing;opacity:.4;transform:translateY(-50%) scale(.95)}.player-badges{display:flex;align-items:center;gap:.5rem;margin-left:auto}.player-card.disconnected{opacity:.85}@media (max-width: 48rem){.vote-count-badge-large,.spoken-check-badge{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;font-size:1.25rem}.spoken-check-badge i{font-size:1.25rem}}@media (max-width: 30rem){.vote-count-badge-large,.spoken-check-badge{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;font-size:1.125rem}.spoken-check-badge i{font-size:1.125rem}}.player-card-wrapper.draggable{transition:transform .2s var(--ease-rubber),opacity .2s ease}.player-card-wrapper.draggable.drag-over{transform:translateY(-.5rem) scale(1.02);transition:transform .2s var(--ease-rubber)}.player-card-wrapper.draggable.drag-over:before{content:"";position:absolute;top:-.25rem;left:-.25rem;right:-.25rem;bottom:-.25rem;border:.25rem dashed var(--red-primary);border-radius:var(--border-radius-lg);pointer-events:none;animation:dragOverPulse .6s ease-in-out infinite}@keyframes dragOverPulse{0%,to{opacity:.6}50%{opacity:1}}.drop-indicator{width:100%;height:.125rem;border-top:.125rem dashed var(--red-primary);margin:.5rem 0;animation:dropIndicatorPulse .8s ease-in-out infinite;position:relative}@keyframes dropIndicatorPulse{0%,to{opacity:.6}50%{opacity:1}}.drag-ghost{position:fixed;pointer-events:none;z-index:10000;transform:translate(-50%,-50%) rotate(3deg) scale(1.05);filter:drop-shadow(0 .5rem 1rem rgba(0,0,0,.3));transition:transform .1s ease-out;will-change:transform}.drag-ghost .dragging-ghost{opacity:.9;transform:scale(1)}.players-grid{position:relative;transition:all .3s var(--ease-rubber)}.player-card-wrapper{transition:transform .3s var(--ease-rubber),opacity .3s ease}.player-card-wrapper.draggable.dragging{opacity:0;visibility:hidden;position:absolute;left:-9999px;pointer-events:none}@media (hover: none) and (pointer: coarse){.player-card-wrapper.draggable.dragging{opacity:0;visibility:hidden;position:absolute;left:-9999px}.drag-ghost{transform:translate(-50%,-50%) rotate(2deg) scale(1.08)}}.preparation-hint{margin-bottom:1.25rem;padding:1rem 1.5rem;text-align:center;background:var(--bg-glass-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg)}.preparation-hint p{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 48rem){.preparation-hint{padding:.875rem 1.25rem}.preparation-hint p{font-size:.875rem}}.player-card-wrapper{position:relative}@media (max-width: 48rem){.player-card-wrapper.draggable,.player-card-wrapper.draggable .player-card{touch-action:pan-y}.player-number-badge.draggable-number{opacity:.2;font-size:3.5rem}.player-number-badge.draggable-number:active{opacity:.5}}.universal-button.next-stage-btn{display:flex;width:100%;max-width:90vw;margin:0 auto}@media (max-width: 48rem){.universal-button.next-stage-btn{width:auto;max-width:90vw;margin:0 auto;padding-left:2rem;padding-right:2rem}}@media (max-width: 30rem){.universal-button.next-stage-btn{width:auto;max-width:90vw;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}}.history-item{display:flex;flex-direction:column;gap:.75rem}.history-killed,.history-healed,.history-protected,.history-checked{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--border-radius-md);font-size:1rem;font-weight:500}.history-killed{background:#dc354526;color:var(--red-primary);border:.125rem solid rgba(220,53,69,.3)}.history-killed i{color:var(--red-primary)}.history-healed{background:#28a74526;color:#28a745;border:.125rem solid rgba(40,167,69,.3)}.history-healed i{color:#28a745}.history-protected{background:#007bff26;color:#007bff;border:.125rem solid rgba(0,123,255,.3)}.history-protected i{color:#007bff}.history-checked{background:#ffc10726;color:#ffc107;border:.125rem solid rgba(255,193,7,.3)}.history-checked i{color:#ffc107}.night-history-calm{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:var(--border-radius-md);font-size:1rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.0625rem;text-align:center}@media (max-width: 48rem){.history-killed,.history-healed,.history-protected,.history-checked{padding:.625rem .875rem;font-size:.875rem}}.settings-button{min-width:2.75rem!important;width:2.75rem!important;height:2.75rem!important;padding:0!important;border-radius:50%!important;box-sizing:border-box}.settings-button .btn-icon{margin:0!important;font-size:1.25rem}.settings-button .btn-text{display:none}.settings-button:hover .btn-icon i{transform:rotate(90deg)}.settings-button:active .btn-icon i{transform:rotate(90deg) scale(.9)}.settings-button .btn-icon i{transition:transform .3s var(--ease-rubber)}@media (min-width: 64rem){.settings-button{min-width:3.25rem!important;width:3.25rem!important;height:3.25rem!important}.settings-button .btn-icon{font-size:1.5rem}}.settings-content{padding:0;display:flex;flex-direction:column;gap:1.5rem}.settings-placeholder{padding:2rem 1.5rem;text-align:center;font-size:1rem;font-weight:700;color:var(--text-secondary);margin:0}.settings-option{display:flex;flex-direction:column;gap:.5rem}.settings-label{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-glass-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow);cursor:pointer;transition:var(--anim-rubber)}.settings-label:hover{transform:translateY(-.0625rem);box-shadow:var(--glass-shadow-strong)}.settings-label-text{font-size:1rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.0625rem}.settings-leave-btn{width:100%;font-size:1.125rem;padding:1rem 1.5rem;text-transform:uppercase;letter-spacing:.0625rem}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.25rem solid var(--bg-primary);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-lg);transition:background .2s ease,box-shadow .2s ease}.setting-item:hover{background:var(--bg-glass-strong);box-shadow:var(--glass-shadow-strong)}.setting-label{font-size:1.125rem;font-weight:700;color:var(--text-primary);flex:1;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.0625rem}@media (max-width: 48rem){.settings-button{min-width:2.75rem!important;width:2.75rem!important;height:2.75rem!important}.settings-button .btn-icon{font-size:1.125rem}.setting-label{font-size:1rem}.settings-label{padding:.875rem 1.25rem}.settings-label-text{font-size:.9375rem}.settings-leave-btn{font-size:1rem;padding:.875rem 1.25rem}.settings-option-two-columns{display:none}}@media (max-width: 30rem){.settings-button{min-width:2.625rem!important;width:2.625rem!important;height:2.625rem!important}.settings-button .btn-icon{font-size:1rem}.setting-item{padding:.875rem 1.25rem}.setting-label{font-size:.9375rem}.settings-label{padding:.75rem 1rem}.settings-label-text{font-size:.875rem}.settings-leave-btn{font-size:.9375rem;padding:.75rem 1rem}}@media (hover: none) and (pointer: coarse){.settings-button:hover .btn-icon i{transform:none}.settings-button:active .btn-icon i{transform:rotate(90deg) scale(.9)}.setting-item:hover{background:var(--bg-glass);box-shadow:var(--glass-shadow)}.settings-label:hover{transform:none!important;box-shadow:var(--glass-shadow)!important}}.stage-hint{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;margin-bottom:2rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow)}.hint-icon{flex-shrink:0;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;background:var(--red-primary);border-radius:var(--border-radius-md);color:var(--text-on-accent);font-size:1.5rem}.hint-content{flex:1}.hint-content h3{margin-bottom:.5rem;font-size:1.25rem;color:var(--text-primary)}.hint-content p{margin:0;font-size:1rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 48rem){.stage-hint{padding:1.25rem;gap:1.25rem;margin-bottom:1.5rem}.hint-icon{width:3rem;height:3rem;font-size:1.25rem}.hint-content h3{font-size:1.125rem}.hint-content p{font-size:.9375rem}}@media (max-width: 30rem){.stage-hint{padding:1rem;gap:1rem;flex-direction:column;align-items:center;text-align:center}.hint-icon{width:2.5rem;height:2.5rem;font-size:1.125rem}.hint-content h3{font-size:1rem}.hint-content p{font-size:.875rem}}.role-assignment-status{display:flex;flex-direction:column;gap:.5rem}.status-check{color:#28a745;font-size:1.125rem}.status-check i{color:#28a745}.status-waiting{color:var(--text-secondary);font-size:1.125rem}.status-waiting i{color:var(--text-secondary)}.status-waiting-text{font-size:.875rem;color:var(--text-secondary);font-weight:500}.player-role-revealed{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.player-role-revealed i{color:var(--red-primary);font-size:.75rem}.single-device-stage{min-height:25rem;display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.role-assignment-centered{min-height:calc(100vh - 12rem);min-height:calc(100dvh - 12rem)}.single-device-instructions{width:100%;max-width:32rem;display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}.role-assignment-content{max-width:28rem;gap:1rem}.instruction-icon{width:5rem;height:5rem;border-radius:50%;background:linear-gradient(135deg,#dc262633,#dc26261a);border:.125rem solid rgba(220,38,38,.3);display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--accent-red)}.instruction-icon-success{background:linear-gradient(135deg,#28a74533,#28a7451a);border-color:#28a7454d;color:var(--green-primary)}.instruction-title{font-size:2rem;font-weight:900;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:-.1rem}.instruction-text{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0}.instruction-text strong{color:var(--text-primary);font-weight:900}.role-assignment-avatar{width:10rem;height:10rem;border-radius:50%;object-fit:cover;border:.375rem solid rgba(255,69,53,.3);box-shadow:0 .5rem 2rem #0000004d,0 0 2rem #ff453533;transition:transform .3s var(--ease-rubber)}.role-assignment-avatar-empty{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--text-muted)}.role-assignment-avatar-greeting,.role-assignment-avatar-empty.role-assignment-avatar-greeting{border-color:var(--bg-primary);box-shadow:0 .5rem 2rem #0000004d}.single-device-instructions.role-assignment-content{background:var(--bg-glass-subtle);backdrop-filter:blur(.3rem);-webkit-backdrop-filter:blur(.3rem);border:.25rem solid var(--bg-primary);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-lg);padding:2.5rem}@media (min-width: 48.0625rem){.role-assignment-after-reveal-section.role-assignment-has-role-bg:before{width:64rem;height:64rem;opacity:.5}}.role-assignment-player-name{font-size:1.75rem;font-weight:900;color:var(--accent-red);text-transform:uppercase;letter-spacing:-.1rem;margin:0rem;text-shadow:0 .125rem .25rem rgba(0,0,0,.2)}.role-assignment-next-player{font-size:1.5rem;font-weight:900;color:var(--text-primary);margin:0rem}.role-assignment-content-after-reveal .role-assignment-next-player,.role-assignment-content-prepare .role-assignment-next-player{font-size:2rem;font-weight:900;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.1rem;margin:0rem}.role-assignment-content-all-revealed .instruction-title{font-size:1.625rem}.role-assignment-after-reveal-section{position:relative;overflow:visible}.role-assignment-content-after-reveal{position:relative;z-index:1}.role-assignment-after-reveal-section.role-assignment-has-role-bg:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56rem;height:56rem;background-image:var(--role-bg-image);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.35;pointer-events:none;z-index:0}.role-assignment-success-icon{width:6rem;height:6rem;border-radius:50%;background:linear-gradient(135deg,#28a74540,#28a74526);border:.25rem solid rgba(40,167,69,.4);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--green-primary);box-shadow:0 0 1.5rem #28a7454d}.instruction-text-small{font-size:1rem;color:var(--text-secondary);line-height:1.5;margin:0}.instruction-text-small strong{color:var(--text-primary);font-weight:900}.player-role-reveal-card{width:100%;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#dc26261a,#dc26260d);border:.125rem solid rgba(220,38,38,.3);border-radius:var(--border-radius-lg)}.role-reveal-icon{width:4rem;height:4rem;border-radius:50%;background:linear-gradient(135deg,#dc26264d,#dc262633);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--accent-red)}.role-reveal-name{font-size:1.75rem;font-weight:900;color:var(--text-primary);text-transform:uppercase;letter-spacing:.125rem}@media (max-width: 48rem){.player-role-revealed{font-size:.8125rem}.single-device-stage{padding:2rem 1.5rem;min-height:20rem}.single-device-instructions.role-assignment-content{padding:1.5rem}.role-assignment-centered{min-height:calc(100vh - 10rem);min-height:calc(100dvh - 10rem)}.instruction-icon{width:4rem;height:4rem;font-size:2rem}.instruction-title{font-size:1.5rem}.instruction-text{font-size:1.125rem}.instruction-text-small{font-size:.9375rem}.player-role-reveal-card{padding:2rem 1.5rem}.role-reveal-icon{width:3.5rem;height:3.5rem;font-size:1.75rem}.role-reveal-name{font-size:1.5rem}.role-assignment-avatar{width:8rem;height:8rem}.role-assignment-content-greeting .role-assignment-avatar,.role-assignment-content-greeting .role-assignment-avatar-empty{width:14rem;height:14rem}.role-assignment-content-greeting .role-assignment-avatar-empty{font-size:5.5rem}.role-assignment-content-greeting .instruction-title,.role-assignment-content-after-reveal .instruction-title,.role-assignment-content-prepare .instruction-title{font-size:2.25rem}.role-assignment-content-all-revealed .instruction-title{font-size:1.5rem}.role-assignment-content-after-reveal .role-assignment-next-player,.role-assignment-content-prepare .role-assignment-next-player{font-size:2.25rem}.role-assignment-avatar-empty{font-size:3rem}.role-assignment-player-name{font-size:1.25rem}.role-assignment-next-player{font-size:1rem}.role-assignment-success-icon{width:5rem;height:5rem;font-size:2.5rem}.role-assignment-after-reveal-section.role-assignment-has-role-bg:before{width:44rem;height:44rem}}@media (max-width: 30rem){.role-assignment-avatar{width:7rem;height:7rem}.role-assignment-content-greeting .role-assignment-avatar,.role-assignment-content-greeting .role-assignment-avatar-empty{width:12rem;height:12rem}.role-assignment-content-greeting .role-assignment-avatar-empty{font-size:4.5rem}.role-assignment-content-greeting .instruction-title,.role-assignment-content-after-reveal .instruction-title,.role-assignment-content-prepare .instruction-title{font-size:2rem}.role-assignment-content-all-revealed .instruction-title{font-size:1.375rem}.role-assignment-content-after-reveal .role-assignment-next-player,.role-assignment-content-prepare .role-assignment-next-player{font-size:2rem}.role-assignment-avatar-empty{font-size:2.5rem}.role-assignment-player-name{font-size:1rem}.role-assignment-next-player{font-size:.9375rem}.role-assignment-success-icon{width:4.5rem;height:4.5rem;font-size:2rem}.instruction-title{font-size:1.375rem}.instruction-text{font-size:1rem}.single-device-instructions.role-assignment-content{padding:1rem}.role-assignment-after-reveal-section.role-assignment-has-role-bg:before{width:40rem;height:40rem}}.lobby-section p{margin-bottom:1.5rem;font-size:1.125rem;color:var(--text-secondary);line-height:1.5}.night-action-moderator{margin-bottom:2rem}.night-action-moderator h2{margin-bottom:1rem;font-size:1.75rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.night-action-moderator h2 i{color:var(--red-primary)}.action-description{margin-bottom:1.5rem;font-size:1.125rem;color:var(--text-secondary)}.role-players{margin-bottom:1.5rem;padding:1rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-md);border:.125rem solid rgba(255,255,255,.1)}.role-players p{margin-bottom:.75rem;font-weight:600;color:var(--text-primary)}.role-players-list{display:flex;flex-wrap:wrap;gap:.75rem}.role-player-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:var(--border-radius-md);color:var(--text-primary);font-weight:500}.role-player-item i{color:var(--red-primary)}.action-targets-moderator{margin-bottom:1.5rem}.action-targets-moderator h3{margin-bottom:1rem;font-size:1.25rem;color:var(--text-primary)}.night-zero-info{margin-bottom:1rem;padding:.875rem 1rem;background:#ffc10726;border:.125rem solid rgba(255,193,7,.3);border-radius:var(--border-radius-md);color:#ffc107;display:flex;align-items:center;gap:.5rem}.night-zero-info i{color:#ffc107}.targets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem}.target-btn-moderator{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.125rem solid rgba(255,255,255,.1);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--anim-rubber);box-shadow:var(--glass-shadow)}.target-btn-moderator:hover:not(:disabled){transform:translateY(-.25rem);box-shadow:var(--glass-shadow-strong);border-color:var(--red-primary)}.target-btn-moderator.selected{background:var(--red-primary);color:var(--text-on-accent);border-color:var(--red-primary)}.target-btn-moderator:disabled{opacity:.5;cursor:not-allowed}.target-btn-moderator.distracted{border-color:#ffc10780}.target-btn-moderator i{font-size:1.5rem}.target-btn-moderator.skip{grid-column:1 / -1;max-width:15rem;margin:0 auto}.last-target-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#dc354533;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:500;color:var(--red-primary)}.current-action-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#28a74526;border:.125rem solid rgba(40,167,69,.3);border-radius:var(--border-radius-md);color:#28a745;font-weight:600}.current-action-info i{color:#28a745;font-size:1.25rem}.voting-stage,.voting-section{width:100%}.voting-stage h2,.voting-section h2{margin-bottom:1.5rem;font-size:1.75rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.voting-stage h2 i,.voting-section h2 i{color:var(--red-primary)}.voting-players-container{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.votes-display{margin-bottom:2rem;padding:1.5rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-md);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow)}.vote-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;margin-bottom:.5rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm)}.vote-target{font-weight:600;color:var(--text-primary)}.vote-count{color:var(--red-primary);font-weight:700}.no-votes{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic}.voting-result{margin-top:2rem;padding:1.5rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-md);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow)}.result-eliminated{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#dc354526;border:.125rem solid rgba(220,53,69,.3);border-radius:var(--border-radius-md);color:var(--red-primary);font-size:1.125rem;font-weight:600}.result-eliminated i{color:var(--red-primary);font-size:1.5rem}.result-tie{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#ffc10726;border:.125rem solid rgba(255,193,7,.3);border-radius:var(--border-radius-md);color:#ffc107;font-size:1.125rem;font-weight:600}.result-tie>i{color:#ffc107;font-size:1.5rem;margin-bottom:.5rem}.result-tie>span{display:flex;align-items:center;gap:.75rem}.tie-candidates{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius-md)}.tie-candidates p{margin-bottom:.75rem;color:var(--text-primary);font-weight:600}.tie-candidates ul{list-style:none;padding:0;margin:0}.tie-candidates li{padding:.5rem .75rem;margin-bottom:.5rem;background:var(--bg-glass-strong);border-radius:var(--border-radius-sm);color:var(--text-primary);font-weight:500}.tie-resolution{margin-top:1rem;padding-top:1rem;border-top:.125rem solid rgba(255,255,255,.1)}.tie-resolution p{margin-bottom:1rem;color:var(--text-primary);font-weight:600}.tie-buttons{display:flex;gap:1rem;flex-wrap:wrap}.tie-resolve-btn{flex:1;min-width:12rem}.final-decision-candidates{margin-bottom:2rem;padding:1.5rem;background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-md);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow)}.final-decision-candidates p{margin-bottom:1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.final-decision-candidates ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.final-decision-candidates li{padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);color:var(--text-primary);font-weight:600}.final-decision-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.final-decision-card{width:100%;padding:2rem 1.5rem;cursor:pointer;transition:transform .25s var(--ease-rubber),box-shadow .25s var(--ease-rubber);position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:.25rem solid rgba(255,255,255,.2);background:var(--bg-glass-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:12rem}.final-decision-card:hover:not(:active){transform:translateY(-.25rem) scale(1.02);box-shadow:var(--glass-shadow-strong);border-color:var(--red-primary)}.final-decision-card:active{transform:translateY(.0625rem) scale(.98);box-shadow:var(--glass-shadow);transition:transform .15s var(--ease-rubber),box-shadow .15s var(--ease-rubber)}.final-decision-card.selected{border:.25rem solid var(--red-primary);background:#dc354526}.final-decision-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;position:relative}.final-decision-card i{font-size:3rem;color:var(--red-primary)}.final-decision-card.selected i{color:var(--text-on-accent)}.final-decision-card-title{font-size:1.25rem;font-weight:900;color:var(--text-primary);text-align:center;letter-spacing:.0625rem;text-transform:uppercase}.final-decision-card.selected .final-decision-card-title{color:var(--text-on-accent)}.final-decision-card .vote-count-badge-large{position:absolute;top:1rem;right:1rem}.player-card-expanded-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.25,.46,.45,.94),padding .35s cubic-bezier(.25,.46,.45,.94);padding:0;margin:0;-webkit-transition:grid-template-rows .35s cubic-bezier(.25,.46,.45,.94),padding .35s cubic-bezier(.25,.46,.45,.94)}.player-card-expanded-content.expanded{grid-template-rows:1fr;padding:.5rem 0 0}.player-card-expanded-inner{min-height:0;overflow:hidden}.player-card-expanded-content .player-card-actions{box-shadow:none;opacity:0;transform:translateY(-.25rem);transition:opacity .25s ease .25s,transform .25s cubic-bezier(.25,.46,.45,.94) .25s;-webkit-transition:opacity .25s ease .25s,transform .25s cubic-bezier(.25,.46,.45,.94) .25s}.player-card-expanded-content.expanded .player-card-actions{opacity:1;transform:translateY(0);transition-delay:.2s}.player-card-expanded-content.collapsed .player-card-actions{opacity:0;transform:translateY(-.25rem);transition-delay:0s}.player-card-actions{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-glass-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-md);border:.0625rem solid rgba(255,255,255,.08);box-shadow:var(--shadow-sm)}.player-card-action-btn{width:100%;height:4rem;font-size:1.25rem}.player-card-action-btn .btn-text,.player-card-action-btn .btn-icon{font-size:1.25rem}.vote-counter{width:100%;margin:.5rem 0}.vote-counter .counter{background:var(--bg-glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:.125rem solid rgba(255,255,255,.1);box-shadow:var(--glass-shadow)}.vote-count-badge-large{width:3rem;height:3rem;min-width:3rem;min-height:3rem;border-radius:50%;background:var(--btn-main-bg);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;box-shadow:0 0 1.5rem var(--red-shadow-md);flex-shrink:0;line-height:1}@media (max-width: 48rem){.lobby-section p{font-size:1rem}.night-action-moderator h2{font-size:1.5rem}.targets-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.875rem}.target-btn-moderator{padding:1rem;font-size:.9375rem}.voting-players-container,.votes-display,.voting-result{padding:1.25rem}.result-eliminated,.result-tie{font-size:1rem}.tie-buttons{flex-direction:column}.tie-resolve-btn{width:100%;min-width:100%}.final-decision-cards{grid-template-columns:1fr;gap:1rem}.final-decision-card{padding:1.5rem 1.25rem;min-height:10rem}.final-decision-card i{font-size:2.5rem}.final-decision-card-title{font-size:1.125rem}.player-card-actions{padding:.625rem;gap:.4375rem}.player-card-action-btn{height:3.5rem;font-size:1rem}.player-card-action-btn .btn-text,.player-card-action-btn .btn-icon{font-size:1rem}.vote-count-badge-large{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;font-size:1.25rem}}@media (max-width: 30rem){.night-action-moderator h2{font-size:1.25rem}.targets-grid{grid-template-columns:1fr}.target-btn-moderator.skip{max-width:100%}.voting-players-container,.voting-result{padding:1rem}.result-eliminated,.result-tie{font-size:.9375rem}.final-decision-card{padding:1.25rem 1rem;min-height:9rem}.final-decision-card i{font-size:2rem}.final-decision-card-title{font-size:1rem}.player-card-actions{padding:.5rem;gap:.375rem}.player-card-action-btn{height:3rem;font-size:.875rem}.player-card-action-btn .btn-text,.player-card-action-btn .btn-icon{font-size:.875rem}.vote-count-badge-large{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;font-size:1.125rem}}@media (hover: none) and (pointer: coarse){.final-decision-card:hover:not(:active){transform:none!important;box-shadow:var(--glass-shadow)!important}.final-decision-card:active{transform:translateY(.125rem) scale(.97)!important;box-shadow:var(--glass-shadow)!important}}
