.datetime-wheel-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-end;justify-content:center;animation:datetime-wheel-picker-fade-in .3s ease}@keyframes datetime-wheel-picker-fade-in{0%{opacity:0}to{opacity:1}}.datetime-wheel-picker-container{width:100%;max-width:428px;background:var(--background-dark);border-radius:24px 24px 0 0;max-height:70vh;display:flex;flex-direction:column;animation:datetime-wheel-picker-slide-up .3s ease;box-shadow:0 -4px 24px #0006}@keyframes datetime-wheel-picker-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.datetime-wheel-picker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#211111f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px 24px 0 0}.datetime-wheel-picker-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;flex:1;text-align:center;font-family:var(--font-display)}.datetime-wheel-picker-cancel,.datetime-wheel-picker-confirm{background:none;border:none;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s ease;min-width:60px}.datetime-wheel-picker-cancel{color:#b89d9fcc}.datetime-wheel-picker-cancel:hover{background:#ffffff0d;color:var(--text-primary)}.datetime-wheel-picker-confirm{color:var(--primary)}.datetime-wheel-picker-confirm:hover{background:#ea2a331a}.datetime-wheel-picker-wheels{display:flex;padding:20px 0 40px;overflow:hidden;position:relative;min-height:350px}.datetime-wheel-picker-wheels:before{content:"";position:absolute;top:50%;left:0;right:0;height:52px;transform:translateY(-50%);background:linear-gradient(to bottom,transparent 0%,rgba(234,42,51,.15) 20%,rgba(234,42,51,.15) 80%,transparent 100%);pointer-events:none;z-index:1;border-top:1px solid rgba(234,42,51,.4);border-bottom:1px solid rgba(234,42,51,.4);border-radius:8px}.datetime-wheel-picker-wheel{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.datetime-wheel-picker-wheel-label{font-size:12px;font-weight:600;color:#b89d9fb3;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.datetime-wheel-picker-wheel-scroll{width:100%;height:260px;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:104px 0;position:relative;scroll-snap-type:y mandatory}.datetime-wheel-picker-wheel-scroll::-webkit-scrollbar{display:none}.datetime-wheel-picker-wheel-item{height:52px;min-height:52px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;color:#b89d9f99;cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;scroll-snap-align:center;flex-shrink:0}.datetime-wheel-picker-wheel-item:hover{color:#b89d9fe6;background:#ffffff05}.datetime-wheel-picker-wheel-item.selected{color:var(--text-primary);font-weight:700;font-size:20px;z-index:2}.datetime-wheel-picker-wheel-item-content{display:flex;align-items:center;gap:8px}.datetime-wheel-picker-today-badge{font-size:10px;padding:2px 6px;background:var(--primary);color:var(--text-primary);border-radius:4px;font-weight:600;opacity:.8}.datetime-wheel-picker-wheel:first-child .datetime-wheel-picker-wheel-item{font-size:16px}.datetime-wheel-picker-wheel:first-child .datetime-wheel-picker-wheel-item.selected{font-size:18px}.demo-activity-detail-modal .ant-modal-content{background:var(--background-dark);border-radius:0;padding:0;max-height:100vh;overflow:hidden}.demo-activity-detail-modal .ant-modal-body{padding:0;max-height:100vh;overflow:hidden}.demo-detail-container{display:flex;flex-direction:column;height:100%;max-height:100vh;overflow:hidden;background:var(--background-dark)}.demo-detail-handle{width:48px;height:6px;border-radius:3px;background:#fff3;margin:12px auto 8px}.demo-detail-header{display:flex;justify-content:space-between;align-items:center;padding:8px 24px}.demo-detail-header-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.demo-detail-close-button{width:32px;height:32px;border-radius:50%;background:#ffffff1a;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.demo-detail-close-button:hover{background:#fff3}.demo-detail-hero{position:relative;width:100%;height:384px;overflow:hidden}.demo-detail-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.demo-detail-hero-placeholder{width:100%;height:100%;background:var(--surface-dark)}.demo-detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(33,17,17,.8),var(--background-dark))}.demo-detail-status-badge{position:absolute;bottom:48px;left:20px;z-index:10}.demo-detail-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-lg)}.demo-detail-badge-open{background:var(--primary);color:var(--text-primary);box-shadow:0 4px 15px #ea2a3366}.demo-detail-badge-full{background:#ef4444e6;color:var(--text-primary)}.demo-detail-content{flex:1;overflow-y:auto;padding:16px 24px 120px;-webkit-overflow-scrolling:touch}.demo-detail-content::-webkit-scrollbar{display:none}.demo-detail-title-section{margin-top:16px;margin-bottom:32px}.demo-detail-badge-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.demo-detail-theme-badge{padding:4px 12px;border-radius:var(--radius-full);background:#ea2a3333;border:1px solid rgba(234,42,51,.3);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.demo-detail-rating{display:flex;align-items:center;gap:4px}.demo-detail-rating-score{font-size:14px;font-weight:700;color:#f59e0b}.demo-detail-title{font-size:30px;font-weight:700;line-height:1.2;margin:8px 0;color:var(--text-primary);font-family:var(--font-display)}.demo-detail-title .demo-detail-title-primary{color:var(--primary)}.demo-detail-subtitle{font-size:14px;color:#fff9;line-height:1.6;margin:0;max-width:90%}.demo-detail-gallery{margin:32px 0;padding-left:0}.demo-gallery-container{display:flex;gap:16px;overflow-x:auto;padding-right:24px;scrollbar-width:none;-ms-overflow-style:none}.demo-gallery-container::-webkit-scrollbar{display:none}.demo-gallery-item{flex-shrink:0;width:160px;height:224px;border-radius:var(--radius-lg);overflow:hidden;position:relative;border:1px solid var(--white-border);box-shadow:var(--shadow-lg);cursor:pointer;transition:transform .5s ease}.demo-gallery-item:hover{transform:scale(1.1)}.demo-gallery-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:transform .5s ease}.demo-gallery-item:hover .demo-gallery-image{transform:scale(1.1)}.demo-gallery-overlay{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent)}.demo-gallery-label{position:absolute;bottom:12px;left:12px;font-size:12px;font-weight:500;color:#ffffffe6}.demo-detail-info-cards{display:flex;flex-direction:column;gap:12px;margin:24px 0;padding:0 4px}.demo-info-card{display:flex;align-items:center;gap:16px;background:#ffffff0d;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--white-border)}.demo-info-card-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.demo-info-card-icon .material-symbols-outlined{font-size:24px}.demo-info-card-content{flex:1}.demo-info-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.demo-info-card-subtitle{font-size:12px;color:#fff6;margin:0;display:flex;align-items:center;gap:4px;line-height:1.5}.demo-info-card-stars{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.demo-info-card-stars .material-symbols-outlined{font-size:14px!important;color:#fbbf24!important;line-height:1;vertical-align:baseline;display:inline-block}.demo-info-card-avatar-wrapper{position:relative;flex-shrink:0}.demo-info-card-avatar{width:48px;height:48px;border-radius:50%;background:#374151;background-size:cover;background-position:center;border:2px solid rgba(245,158,11,.5);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--text-primary)}.demo-info-card-avatar-badge{position:absolute;bottom:-4px;right:-4px;background:#f59e0b;color:#000;font-size:8px;font-weight:700;padding:2px 6px;border-radius:var(--radius-full)}.demo-info-card-arrow{color:#fff3;font-size:20px;flex-shrink:0}.demo-detail-participants{margin:32px 0;padding:20px;border-radius:var(--radius-2xl);background:#ffffff0d;border:1px solid var(--white-border)}.demo-participants-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.demo-participants-header-left{display:flex;flex-direction:column;gap:4px}.demo-participants-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-display)}.demo-participants-lock{font-size:12px;color:var(--primary);font-weight:500;display:flex;align-items:center;gap:4px}.demo-participants-count{text-align:right}.demo-participants-count-number{font-size:24px;font-weight:700;color:var(--text-primary)}.demo-participants-count-total{font-size:14px;color:#fff6}.demo-participants-empty{text-align:center;padding:40px 20px;color:var(--text-gray)}.demo-participants-list{display:flex;flex-direction:column;gap:16px}.demo-participant-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05)}.demo-participant-item:last-child{border-bottom:none;padding-bottom:0}.demo-participant-host{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.demo-participant-avatar-large{width:48px;height:48px;border-radius:50%;background:#374151;background-size:cover;background-position:center;border:2px solid var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--text-primary);flex-shrink:0;position:relative}.demo-participant-host .demo-participant-avatar-large{border-color:#f59e0b}.demo-participant-info{flex:1;min-width:0}.demo-participant-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.demo-participant-name{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-display);display:flex;align-items:center;gap:6px}.demo-participant-sequence{font-size:11px;font-weight:600;color:#fff6;background:#ffffff14;padding:2px 6px;border-radius:4px;font-family:var(--font-mono, monospace)}.demo-participant-host-badge{padding:2px 6px;border-radius:4px;background:var(--primary);color:var(--text-primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.demo-participant-wechat-row{display:flex;align-items:center;gap:8px}.demo-participant-wechat{background:#ffffff1a;padding:2px 8px;border-radius:4px;font-size:12px;font-family:monospace;color:#fff9}.demo-participant-copy-button{width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:#fff6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.demo-participant-copy-button:hover{background:#ffffff1a;color:var(--primary)}.demo-participant-copy-button .material-symbols-outlined{font-size:18px}.demo-detail-registration{margin:32px 0;padding:0 0 24px}.demo-registration-label{display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3;margin-bottom:8px}.demo-registration-form{display:flex;flex-direction:column;gap:12px}.demo-registration-input-wrapper{position:relative}.demo-registration-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#ffffff4d;font-size:20px;pointer-events:none}.demo-registration-input{width:100%;border-radius:var(--radius-full);border:0;background:#ffffff0d;padding:14px 16px 14px 48px;color:var(--text-primary);font-size:14px;outline:none;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.demo-registration-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #ea2a3333;background:#ffffff14}.demo-registration-input::placeholder{color:#fff3}.demo-registration-button{width:100%;height:48px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-primary);font-size:14px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-sm);transition:all .3s ease}.demo-registration-button:hover{background:var(--primary-dark);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.demo-registration-button:active{transform:scale(.98)}.demo-registration-hint{text-align:center;font-size:12px;color:#ffffff4d;margin:4px 0 0}.demo-detail-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:428px;padding:16px;padding-bottom:max(24px,env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(21,10,10,.98) 0%,rgba(21,10,10,.95) 70%,transparent 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px;z-index:1000;box-shadow:0 -4px 20px #0006;pointer-events:auto}.demo-footer-delete-button{width:48px;height:48px;border-radius:50%;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.demo-footer-delete-button:hover{background:#ef444440;border-color:#ef444480;color:#fca5a5;transform:scale(1.05)}.demo-footer-delete-button:active{transform:scale(.95)}.demo-footer-delete-button .material-symbols-outlined{font-size:24px}.demo-footer-edit-button{flex:1;height:52px;border-radius:var(--radius-full);background:var(--primary);color:#fff;font-size:16px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #ea2a334d}.demo-footer-edit-button:hover{background:#b91c1c;box-shadow:0 6px 20px #ea2a3366;transform:translateY(-1px)}.demo-footer-edit-button:active{transform:scale(.98)}.demo-footer-edit-button .material-symbols-outlined{font-size:20px}.demo-auth-modal .ant-modal-content{background:var(--background-dark);border-radius:0;padding:0;max-height:100vh;overflow:hidden}.demo-auth-modal .ant-modal-body{padding:0;max-height:100vh;overflow:hidden}.demo-auth-container{display:flex;flex-direction:column;height:100%;max-height:100vh;overflow:hidden;background:var(--background-dark);position:relative}.demo-auth-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px;position:relative;z-index:10}.demo-auth-back-button{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.demo-auth-back-button:hover{background:#ffffff1a}.demo-auth-title{font-size:18px;font-weight:700;color:var(--text-primary);text-align:center;flex:1;padding-right:40px;font-family:var(--font-display)}.demo-auth-stepper{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0}.demo-auth-step{height:6px;border-radius:3px;transition:all .3s ease}.demo-auth-step-active{width:24px;background:var(--primary);box-shadow:var(--shadow-glow-sm)}.demo-auth-step-inactive{width:6px;background:#fff3}.demo-auth-content{flex:1;overflow-y:auto;padding:0 20px 120px;-webkit-overflow-scrolling:touch}.demo-auth-content::-webkit-scrollbar{display:none}.demo-auth-step-title{font-size:28px;font-weight:700;line-height:1.2;color:var(--text-primary);margin:8px 0;font-family:var(--font-display)}.demo-auth-step-desc{font-size:14px;color:#fff9;line-height:1.6;margin-bottom:24px}.demo-auth-field{margin-bottom:20px}.demo-auth-label{display:flex;flex-direction:column;gap:6px}.demo-auth-label-text{font-size:14px;font-weight:500;color:#ffffffb3}.demo-auth-input-wrapper{position:relative;display:flex;align-items:center}.demo-auth-input{width:100%;height:48px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);background:var(--surface-dark);color:var(--text-primary);padding:0 16px 0 48px;font-size:16px;transition:all .3s ease;outline:none}.demo-auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #ea2a3333;background:var(--surface-active)}.demo-auth-input::placeholder{color:#ffffff4d}.demo-auth-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#ffffff4d;font-size:20px;pointer-events:none}.demo-auth-input-wrapper:focus-within .demo-auth-input-icon{color:var(--primary)}.demo-auth-code-section{margin-bottom:32px}.demo-auth-code-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6px}.demo-auth-send-code-button{background:var(--primary);border:none;color:#fff;font-size:14px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;padding:10px 20px;border-radius:8px;box-shadow:0 2px 8px #ea2a334d;white-space:nowrap;min-width:120px}.demo-auth-send-code-button:hover:not(:disabled){background:#c91d1d;box-shadow:0 4px 12px #ea2a3366;transform:translateY(-1px)}.demo-auth-send-code-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #ea2a334d}.demo-auth-send-code-button:disabled{background:#94a3b84d;color:#94a3b8cc;cursor:not-allowed;box-shadow:none;transform:none}.demo-auth-code-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.demo-auth-code-input{width:100%;height:56px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);background:var(--surface-dark);color:var(--text-primary);text-align:center;font-size:20px;font-weight:700;transition:all .3s ease;outline:none}.demo-auth-code-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #ea2a3333;background:var(--surface-active)}.demo-auth-code-resend{text-align:right;font-size:11px;color:#fff6;margin-top:8px}.demo-auth-code-resend-time{color:var(--primary)}.demo-auth-divider{width:100%;height:1px;background:#ffffff1a;margin:32px 0}.demo-auth-step-section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px;font-family:var(--font-display)}.demo-auth-step-section-icon{color:var(--primary);font-size:20px}.demo-auth-password-wrapper{position:relative}.demo-auth-password-toggle{position:absolute;right:0;top:0;height:100%;padding:0 16px;background:transparent;border:none;color:#fff6;cursor:pointer;display:flex;align-items:center;transition:color .3s ease}.demo-auth-password-toggle:hover{color:var(--text-primary)}.demo-auth-footer{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,var(--background-dark),rgba(33,17,17,.8),transparent);z-index:20}.demo-auth-submit-button{width:100%;height:56px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-primary);font-size:16px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-glow);transition:all .3s ease}.demo-auth-submit-button:hover{background:var(--primary-dark);box-shadow:var(--shadow-glow-lg);transform:translateY(-1px)}.demo-auth-submit-button:active{transform:scale(.98)}.demo-auth-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.demo-auth-terms{text-align:center;font-size:12px;color:#fff6;margin-top:16px}.demo-auth-terms-link{color:#ffffffb3;text-decoration:underline}.demo-difficulty-modal .ant-modal-content{background:var(--surface-dark);border-radius:var(--radius-xl);border:1px solid var(--border-dark);box-shadow:0 8px 32px #000c;padding:0;overflow:hidden}.demo-difficulty-modal .ant-modal-body{padding:24px}.demo-difficulty-header{margin-bottom:16px}.demo-difficulty-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px;font-family:var(--font-display)}.demo-difficulty-desc{font-size:14px;color:var(--text-secondary)}.demo-difficulty-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.demo-difficulty-option{position:relative;display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border-dark);background:#21181880;cursor:pointer;transition:all .3s ease}.demo-difficulty-option:hover{border-color:#fff3;background:#ffffff0d}.demo-difficulty-option-checked{border-color:#fff6;background:#362b2b}.demo-difficulty-option-hell{border-color:#ea2a3366;background:#ea2a330d;box-shadow:0 0 15px #ea2a330d}.demo-difficulty-option-hell:hover{border-color:#ea2a33cc;background:#ea2a331a}.demo-difficulty-radio{width:20px;height:20px;border:2px solid var(--border-dark);border-radius:50%;background:transparent;position:relative;flex-shrink:0;transition:all .3s ease}.demo-difficulty-option input[type=radio]{position:absolute;opacity:0;cursor:pointer}.demo-difficulty-option input[type=radio]:checked+.demo-difficulty-radio{border-color:var(--text-primary);background:var(--text-primary)}.demo-difficulty-option-hell input[type=radio]:checked+.demo-difficulty-radio{border-color:var(--primary);background:var(--primary)}.demo-difficulty-option-content{flex:1}.demo-difficulty-option-name{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:2px;font-family:var(--font-display)}.demo-difficulty-option-hell .demo-difficulty-option-name{color:var(--primary)}.demo-difficulty-option-checked .demo-difficulty-option-name{color:var(--text-primary)}.demo-difficulty-option-desc{font-size:14px;color:var(--text-secondary)}.demo-difficulty-option-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.demo-difficulty-icon-novice{color:#10b981;background:#10b9811a}.demo-difficulty-icon-normal{color:#60a5fa;background:#60a5fa1a}.demo-difficulty-icon-hard{color:#f59e0b;background:#f59e0b1a}.demo-difficulty-icon-hell{color:var(--primary);background:#ea2a3333}.demo-difficulty-confirm-button{width:100%;height:48px;border-radius:var(--radius-full);background:var(--text-primary);color:#000;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:all .3s ease}.demo-difficulty-confirm-button:hover{background:#ffffffe6;transform:translateY(-1px)}.demo-difficulty-confirm-button:active{transform:scale(.98)}.demo-register-modal .ant-modal-content{background:var(--surface-dark);border-radius:var(--radius-xl);border:1px solid var(--border-dark);box-shadow:0 8px 32px #000c;padding:0;overflow:hidden}.demo-register-modal .ant-modal-body{padding:24px}.demo-register-header-visual{width:100%;height:96px;border-radius:var(--radius-xl);background:linear-gradient(to bottom right,rgba(234,42,51,.2),var(--surface-dark));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:-12px;border:1px solid rgba(255,255,255,.05)}.demo-register-header-icon{width:48px;height:48px;border-radius:50%;background:var(--surface-dark);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:10}.demo-register-header-icon .material-symbols-outlined{font-size:24px;color:var(--primary)}.demo-register-title{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;margin:16px 0 4px;font-family:var(--font-display)}.demo-register-desc{font-size:14px;color:var(--text-secondary);text-align:center;padding:0 16px;margin-bottom:24px}.demo-register-input-wrapper{position:relative;margin-bottom:16px}.demo-register-input{width:100%;height:48px;border-radius:var(--radius-full);border:1px solid var(--border-dark);background:#0a0505;color:var(--text-primary);padding:0 16px 0 48px;font-size:14px;transition:all .3s ease;outline:none}.demo-register-input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.demo-register-input::placeholder{color:#fff3}.demo-register-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:20px;transition:color .3s ease}.demo-register-input-wrapper:focus-within .demo-register-input-icon{color:var(--primary)}.demo-register-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.demo-register-cancel-button{height:44px;border-radius:var(--radius-full);border:1px solid var(--border-dark);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.demo-register-cancel-button:hover{background:#ffffff0d;border-color:#ffffff4d;color:var(--text-primary)}.demo-register-submit-button{height:44px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-primary);font-size:14px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 15px #ea2a3366;transition:all .3s ease}.demo-register-submit-button:hover{background:#b91c1c}.demo-register-submit-button:active{transform:scale(.95)}.demo-activity-level-selector{display:flex;gap:8px;width:100%}.demo-activity-level-option{flex:1;height:44px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);background:var(--surface-dark);color:#fff9;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.demo-activity-level-option:hover{border-color:#fff3;background:#ffffff0d;color:#fffc}.demo-activity-level-option.active{border-color:var(--primary);background:#ea2a3326;color:var(--primary);font-weight:600}.demo-activity-level-option.active:hover{background:#ea2a3340;border-color:var(--primary)}.demo-create-activity-modal .ant-modal-content{background:var(--background-dark);border-radius:0;padding:0;max-height:100vh;overflow:hidden}.demo-create-activity-modal .ant-modal-body{padding:0;max-height:100vh;overflow:hidden}.demo-create-activity-container{display:flex;flex-direction:column;height:100%;max-height:100vh;overflow:hidden;background:var(--background-dark);position:relative}.demo-create-activity-header{position:sticky;top:0;z-index:10;background:var(--background-dark);background:#211111f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);padding:16px;display:flex;align-items:center;justify-content:space-between}.demo-create-activity-close-button{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.demo-create-activity-close-button:hover{background:#ffffff1a}.demo-create-activity-title{font-size:18px;font-weight:700;color:var(--text-primary);text-align:center;flex:1;padding-right:40px;font-family:var(--font-display)}.demo-create-activity-content{flex:1;overflow-y:auto;padding:20px 16px 180px;-webkit-overflow-scrolling:touch}.demo-create-activity-content::-webkit-scrollbar{display:none}.demo-create-activity-section{margin-bottom:20px}.demo-create-activity-section-inline{display:flex;gap:12px;margin-bottom:20px}.demo-create-activity-label{display:flex;flex-direction:column;width:100%;position:relative}.demo-create-activity-label-text{font-size:14px;font-weight:600;color:#b89d9fe6;margin-bottom:10px;margin-left:4px;transition:color .3s ease;letter-spacing:.3px}.demo-create-activity-label:focus-within .demo-create-activity-label-text{color:var(--primary)}.demo-create-activity-input{width:100%;height:52px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:var(--surface-dark);color:var(--text-primary);padding:0 20px;font-size:15px;font-weight:400;transition:all .3s ease;outline:none}.demo-create-activity-input:hover{border-color:#ffffff1f;background:#39202099}.demo-create-activity-input:focus{background:#392020cc;border-color:var(--primary);box-shadow:0 0 0 3px #ea2a3326}.demo-create-activity-input::placeholder{color:#b89d9f}.demo-create-activity-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled){background:var(--surface-dark)!important}.demo-create-activity-select{width:100%;height:52px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:var(--surface-dark);color:var(--text-primary);padding:0 48px 0 20px;font-size:15px;font-weight:400;transition:all .3s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.demo-create-activity-select:hover{border-color:#ffffff1f;background:#39202099}.demo-create-activity-select:focus{background:#392020cc;border-color:var(--primary);box-shadow:0 0 0 3px #ea2a3326}.demo-create-activity-select-wrapper{position:relative}.demo-create-activity-select-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#b89d9f;pointer-events:none;font-size:20px}.demo-create-activity-date-wrapper{position:relative}.demo-create-activity-date-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#b89d9f;pointer-events:none;font-size:20px}.demo-create-activity-city-label{flex:0 0 calc(33.333% - 8px)}.demo-create-activity-address-label{flex:0 0 calc(66.666% - 4px)}.demo-create-activity-participants-section{margin-bottom:24px;padding-top:8px}.demo-create-activity-participants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;margin-left:4px}.demo-create-activity-participants-label{font-size:16px;font-weight:500;color:#b89d9f}.demo-create-activity-participants-value{font-size:18px;font-weight:700;color:var(--primary)}.demo-create-activity-participants-value-small{font-size:14px;font-weight:400;color:#b89d9f}.demo-create-activity-slider-container{background:var(--surface-dark);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:8px}.demo-create-activity-slider-wrapper{position:relative;width:100%;height:24px;display:flex;align-items:center}.demo-create-activity-slider{width:100%;height:4px;background:#4a3636;border-radius:2px;position:relative;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.demo-create-activity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 0 4px #ea2a3333;position:relative;z-index:10}.demo-create-activity-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 0 4px #ea2a3333;border:none;position:relative;z-index:10}.demo-create-activity-slider-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:#886d6f;padding:0 4px}.demo-create-activity-textarea{width:100%;min-height:100px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:var(--surface-dark);color:var(--text-primary);padding:16px;font-size:15px;font-weight:400;font-family:inherit;resize:vertical;transition:all .3s ease;outline:none;line-height:1.5}.demo-create-activity-textarea:hover{border-color:#ffffff1f;background:#39202099}.demo-create-activity-textarea:focus{background:#392020cc;border-color:var(--primary);box-shadow:0 0 0 3px #ea2a3326}.demo-create-activity-textarea::placeholder{color:#b89d9f}.demo-create-activity-photos-section{margin-bottom:24px}.demo-create-activity-photos-label{font-size:16px;font-weight:500;color:#b89d9f;margin-bottom:8px;margin-left:4px}.demo-create-activity-photos-label-small{font-size:12px;font-weight:400;opacity:.7}.demo-create-activity-modal .ant-upload-list{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;margin:0}.demo-create-activity-modal .ant-upload-list::-webkit-scrollbar{display:none}.demo-create-activity-modal .ant-upload-list-item{width:96px!important;height:96px!important;border-radius:var(--radius-xl)!important;background:var(--surface-dark)!important;border:2px solid transparent!important;margin:0!important;padding:0!important;overflow:hidden;flex-shrink:0}.demo-create-activity-modal .ant-upload-list-item:hover{border-color:#ea2a3380!important}.demo-create-activity-modal .ant-upload-list-item-thumbnail{width:100%!important;height:100%!important;opacity:.9;transition:opacity .3s ease}.demo-create-activity-modal .ant-upload-list-item:hover .ant-upload-list-item-thumbnail{opacity:1}.demo-create-activity-modal .ant-upload-list-item-actions{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:#000c;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:all .3s ease}.demo-create-activity-modal .ant-upload-list-item-actions:hover{background:var(--primary)}.demo-create-activity-modal .ant-upload-list-item-actions .anticon{color:var(--text-primary);font-size:16px}.demo-create-activity-modal .ant-upload-select{width:96px!important;height:96px!important;border-radius:var(--radius-xl)!important;background:var(--surface-dark)!important;border:2px dashed #4a3636!important;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;margin:0!important}.demo-create-activity-modal .ant-upload-select:hover{border-color:var(--primary)!important;background:#4a3636!important}.demo-create-activity-modal .ant-upload-select .anticon{color:#886d6f;font-size:36px}.demo-create-activity-modal .ant-upload-select:hover .anticon{color:var(--primary)}.demo-create-activity-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:428px;padding:24px 16px 16px;padding-bottom:max(20px,env(safe-area-inset-bottom));background:linear-gradient(to top,var(--background-dark) 0%,rgba(33,17,17,.98) 80%,transparent 100%);z-index:100;pointer-events:none;box-shadow:0 -4px 20px #0006}.demo-create-activity-footer-content{width:100%;pointer-events:auto}.demo-create-activity-submit-button{width:100%;height:52px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-primary);font-size:16px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 16px #ea2a3359;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.5px}.demo-create-activity-submit-button:hover{background:#c91d1d;box-shadow:0 6px 24px #ea2a3373;transform:translateY(-1px)}.demo-create-activity-submit-button:active{transform:translateY(0) scale(.98)}.demo-create-activity-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.demo-tag-color-selector{display:flex;gap:12px;align-items:center}.demo-tag-color-option{width:40px;height:40px;border-radius:50%;border:3px solid rgba(255,255,255,.2);cursor:pointer;transition:all .3s ease;position:relative;flex-shrink:0;box-shadow:0 2px 8px #0003}.demo-tag-color-option:hover{transform:scale(1.15);border-color:#ffffff80;box-shadow:0 4px 12px #0000004d}.demo-tag-color-option.active{border-color:#fff;border-width:4px;box-shadow:0 0 0 3px #ffffff80,0 4px 16px #0006;transform:scale(1.2)}.demo-tag-color-option.active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:18px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)}.demo-tag-color-green{background:#22c55e}.demo-tag-color-green.active{background:#22c55e;box-shadow:0 0 0 3px #22c55e4d,0 4px 16px #22c55e66}.demo-tag-color-yellow{background:#facc15}.demo-tag-color-yellow.active{background:#facc15;box-shadow:0 0 0 3px #facc154d,0 4px 16px #facc1566}.demo-tag-color-red{background:#ea2a33}.demo-tag-color-red.active{background:#ea2a33;box-shadow:0 0 0 3px #ea2a334d,0 4px 16px #ea2a3366}.landing-app{width:100%;max-width:100%;min-height:100vh;padding:0 0 100px;display:flex;flex-direction:column;gap:0;margin:0;background:var(--background-dark);color:var(--text-primary)}.demo-top-nav{position:sticky;top:0;left:0;right:0;z-index:50;width:100%;background:var(--background-dark);background:#211111cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--white-border);padding:12px 16px;margin:0}.demo-nav-content{display:flex;align-items:center;justify-content:space-between;max-width:100%}.demo-nav-left{display:flex;align-items:center;gap:12px}.demo-logo-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(to bottom right,var(--primary),#8b0000);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-sm)}.demo-logo-icon .material-symbols-outlined{color:var(--text-primary);font-size:20px}.demo-nav-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary);font-family:var(--font-display);line-height:1.2}.demo-nav-title-primary{color:var(--primary);font-size:20px;font-weight:700;letter-spacing:-.3px;font-family:var(--font-display)}.demo-nav-right{display:flex;align-items:center;gap:8px}.demo-nav-right .demo-button{background:var(--surface-light);border:1px solid var(--white-border-light);color:#ffffffe6;font-size:14px;font-weight:600;padding:8px 20px;height:auto}.demo-nav-right .demo-button:hover{background:#392020cc;border-color:var(--white-border-medium);color:var(--text-primary)}.demo-login-button{background:var(--primary)!important;color:#fff!important;box-shadow:0 2px 8px #ea2a334d!important;border:none!important}.demo-login-button:hover{background:#b91c1c!important;box-shadow:0 4px 12px #ea2a3366!important}.demo-main-content{flex:1;display:flex;flex-direction:column;gap:32px;padding-top:24px}.demo-hero-carousel{width:100%;padding:0 16px;overflow:hidden}.demo-hero-carousel .demo-carousel-autoplay.ant-carousel{height:208px;border-radius:var(--radius-xl);overflow:hidden}.demo-hero-carousel .ant-carousel .slick-slide{height:208px}.demo-hero-carousel .ant-carousel .slick-slide>div{height:100%}.demo-hero-carousel .ant-carousel .slick-dots{bottom:12px}.demo-hero-carousel .ant-carousel .slick-dots li button{background:#fff6}.demo-hero-carousel .ant-carousel .slick-dots li.slick-active button{background:var(--primary)}.demo-carousel-slide{width:100%;height:208px;border-radius:var(--radius-xl);position:relative;overflow:hidden;cursor:pointer}.demo-carousel-slide:hover .demo-carousel-bg{transform:scale(1.05)}.demo-carousel-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:transform .7s ease}.demo-carousel-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--background-dark),rgba(33,17,17,.4),transparent);opacity:.9}.demo-carousel-content{position:absolute;bottom:0;left:0;padding:20px;width:100%;z-index:1}.demo-carousel-badge{display:inline-block;padding:4px 10px;border-radius:6px;background:var(--primary);color:var(--text-primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.demo-carousel-title{font-size:24px;font-weight:700;line-height:1.2;margin:0 0 4px;color:var(--text-primary);font-family:var(--font-display)}.demo-carousel-desc{font-size:14px;color:#ffffffb3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-activity-center{display:flex;flex-direction:column;gap:16px;padding:0 16px}.demo-activity-manager{display:flex;flex-direction:column;gap:16px}.demo-activity-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.demo-section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-display)}.demo-filter-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-light);border:1px solid var(--white-border);color:var(--text-gray-light);cursor:pointer;transition:all .3s ease}.demo-filter-button:hover{background:var(--surface-dark);border-color:var(--white-border-light);color:var(--text-primary)}.demo-filter-button .material-symbols-outlined{font-size:20px}.demo-filter-chips{display:flex;gap:12px;padding:0 4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.demo-filter-chips::-webkit-scrollbar{display:none}.demo-filter-chip{flex-shrink:0;height:36px;padding:0 20px;border-radius:var(--radius-full);background:var(--surface-light);border:1px solid var(--white-border);color:var(--text-gray-medium);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:var(--font-display)}.demo-filter-chip:hover{background:#392020cc;border-color:var(--white-border-light);color:var(--text-primary)}.demo-filter-chip-active{background:var(--primary);color:var(--text-primary);border:none;box-shadow:var(--shadow-glow-sm);font-weight:600}.demo-create-activity-wrapper{padding:0 4px;display:flex;justify-content:flex-end}.demo-create-button{border-radius:var(--radius-full);height:36px;padding:0 20px;font-weight:600}.demo-activity-list{display:flex;flex-direction:column;gap:12px;padding:0 4px}.demo-activity-card{position:relative;overflow:hidden;border-radius:16px;background:var(--surface-dark);border:1px solid rgba(255,255,255,.05);padding:16px;transition:all .3s ease;cursor:pointer;box-shadow:0 1px 2px #0000000d,0 0 20px #0003}.demo-activity-card:active{transform:scale(.98)}.demo-activity-card-content{display:flex;gap:16px;align-items:flex-start;height:100%}.demo-activity-card-image{position:relative;width:96px;height:96px;flex-shrink:0;border-radius:12px;overflow:hidden;background:#1f2937;box-shadow:inset 0 2px 4px #0000000f}.demo-activity-image-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.demo-activity-image-placeholder{width:100%;height:100%;background:var(--surface-light)}.demo-activity-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d}.demo-activity-badge-beginner{position:absolute;top:4px;left:4px;background:#22c55ee6;color:#000;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:1}.demo-activity-badge-expert{position:absolute;top:4px;left:4px;background:#ea2a33e6;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:1}.demo-activity-badge-mixed{position:absolute;top:4px;left:4px;background:#facc15e6;color:#000;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:1}.demo-activity-card-info{flex:1;display:flex;flex-direction:column;gap:0;min-width:0;justify-content:space-between;height:100%}.demo-activity-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0}.demo-activity-card-title{font-size:18px;font-weight:700;line-height:1.3;margin:0;color:var(--text-primary);font-family:var(--font-display);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-activity-status-badge{font-size:12px;font-weight:600;color:var(--primary);background:#ea2a331a;padding:2px 8px;border-radius:4px;flex-shrink:0;margin-left:8px}.demo-activity-meta{display:flex;align-items:center;gap:4px;margin-top:4px;margin-bottom:0;font-size:12px;color:#94a3b8;flex-wrap:wrap;line-height:1.5}.demo-activity-meta-icon{font-size:14px!important;color:#94a3b8!important;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;line-height:1;flex-shrink:0}.demo-activity-meta-text{color:#94a3b8;font-size:12px;line-height:1.5;white-space:nowrap}.demo-activity-meta-separator{font-size:12px;color:#94a3b8;margin:0 4px;line-height:1;flex-shrink:0}.demo-activity-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:0;gap:12px}.demo-activity-players-section{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.demo-activity-players-header{display:flex;justify-content:space-between;align-items:center}.demo-activity-players-label{font-size:12px;font-weight:500;color:#94a3b8}.demo-activity-players-count{font-size:12px;font-weight:700;color:var(--primary)}.demo-activity-players-progress{height:6px;width:100%;background:#f3f4f61a;border-radius:9999px;overflow:hidden}@media (prefers-color-scheme: dark){.demo-activity-players-progress{background:#0006}}.demo-activity-players-progress-bar{height:100%;background:var(--primary);border-radius:9999px;transition:width .3s ease}.demo-join-button{height:36px;padding:0 20px;border-radius:9999px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;box-shadow:0 10px 15px -3px #ea2a334d,0 4px 6px -2px #ea2a3333;transition:all .3s ease;flex-shrink:0}.demo-join-button:hover{background:#b91c1c;box-shadow:var(--shadow-glow)}.demo-join-button:disabled{opacity:.5;cursor:not-allowed}.demo-join-count{opacity:.8;font-weight:400;margin-left:4px}.demo-join-button-full{background:var(--surface-light);border:1px solid var(--white-border-light);color:var(--text-gray-medium);box-shadow:none}.demo-join-button-full:hover{background:#392020cc;border-color:var(--white-border-light);color:var(--text-primary)}.demo-join-button-cancel{background:transparent;border:1px solid var(--white-border);color:var(--text-gray-medium);box-shadow:none}.demo-join-button-cancel:hover{background:var(--surface-light);border-color:var(--white-border-light);color:var(--text-primary)}.demo-activity-card-actions-top{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:100}.demo-action-button{width:36px;height:36px;border-radius:50%;background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d}.demo-action-button:hover{background:#ffffff40;transform:scale(1.1);box-shadow:0 4px 12px #0006}.demo-action-button-edit{background:#3b82f633;border-color:#3b82f666;color:#60a5fa}.demo-action-button-edit:hover{background:#3b82f64d;border-color:#3b82f699;color:#93c5fd}.demo-action-button-danger{background:#ea2a3333;border-color:#ea2a3366;color:#f87171}.demo-action-button-danger:hover{background:#ea2a3366;border-color:#ea2a3399;color:#fca5a5}.demo-action-button .material-symbols-outlined{font-size:20px}.demo-recent-scripts{display:flex;flex-direction:column;gap:16px;padding:0 16px 32px}.demo-scripts-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.demo-see-all-link{font-size:12px;font-weight:600;color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:2px;transition:color .3s ease}.demo-see-all-link:hover{color:var(--primary-dark)}.demo-scripts-list{display:flex;flex-direction:column;gap:8px;padding:0 4px}.demo-script-card{background:var(--surface-dark);border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 2px #0000000d}.demo-script-card:active{transform:scale(.98)}.demo-script-icon-wrapper{flex-shrink:0}.demo-script-icon{width:48px;height:48px;border-radius:50%;background:#ea580c1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.demo-script-icon .material-symbols-outlined{font-size:24px;color:#ea580c}.demo-script-icon-blue{background:#3b82f61a!important}.demo-script-icon-blue .material-symbols-outlined{color:#3b82f6!important}.demo-script-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.demo-script-name{font-size:14px;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-display);line-height:1.4}.demo-script-description{font-size:12px;color:#94a3b8;margin:0;line-height:1.4}.demo-script-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:6px;flex-shrink:0}.demo-script-badge-featured{background:#22c55e1a;color:#22c55e}.demo-script-arrow{font-size:20px;color:#9ca3af;transform:rotate(180deg);flex-shrink:0}.demo-script-actions{display:flex;gap:6px;flex-shrink:0;margin-left:auto}.demo-script-action-button{height:28px;padding:0 12px;border-radius:9999px;font-size:11px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;white-space:nowrap}.demo-script-create-button{background:var(--surface-light);border:1px solid rgba(255,255,255,.1);color:#94a3b8}.demo-script-create-button:hover{background:#392020cc;border-color:#fff3;color:var(--text-primary)}.demo-script-join-button{background:var(--surface-light);border:1px solid rgba(255,255,255,.1);color:#94a3b8}.demo-script-join-button:hover{background:#392020cc;border-color:#fff3;color:var(--text-primary)}.demo-scripts-empty{text-align:center;padding:40px 20px;color:var(--text-gray)}.demo-quick-simulation-bar{position:fixed;bottom:0;left:0;right:0;width:100%;background:#180e0e;border-top:1px solid rgba(255,255,255,.05);padding:16px 24px;z-index:50;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s ease}.demo-quick-simulation-bar:hover{background:#1f1212}.demo-quick-simulation-content{display:flex;align-items:center;gap:12px}.demo-quick-simulation-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(to bottom right,var(--primary),#f97316);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ea2a3340}.demo-quick-simulation-icon .material-symbols-outlined{font-size:20px;color:var(--text-primary)}.demo-quick-simulation-info{display:flex;flex-direction:column}.demo-quick-simulation-title{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-display)}.demo-quick-simulation-subtitle{font-size:10px;color:#fff6}.demo-quick-simulation-toggle{width:40px;height:40px;border-radius:50%;background:#ffffff0d;border:none;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.demo-quick-simulation-toggle:hover{background:#ffffff1a;color:var(--text-primary)}.demo-quick-sim-section{position:relative;width:100%;margin:24px 0;overflow:hidden}.demo-quick-sim-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1a0505}.demo-quick-sim-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#ea28311a,#000c);pointer-events:none}.demo-quick-sim-container{position:relative;z-index:10;padding:24px 20px}.demo-quick-sim-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.demo-quick-sim-header-left{flex:1;z-index:20}.demo-quick-sim-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.demo-quick-sim-bolt-icon{font-size:28px;color:#fbbf24;text-shadow:0 0 10px rgba(250,204,21,.6)}.demo-quick-sim-title{font-size:24px;font-weight:900;color:#fff;font-style:italic;letter-spacing:.05em;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0;font-family:var(--font-display)}.demo-quick-sim-subtitle{font-size:30px;font-weight:700;background:linear-gradient(to right,#fff,#9ca3af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:8px 0;font-family:var(--font-display)}.demo-quick-sim-desc{font-size:12px;color:#fecacab3;font-weight:500;max-width:160px;margin:0;line-height:1.4}.demo-quick-sim-card-3d{width:96px;height:128px;position:relative;margin-right:16px;margin-top:8px;perspective:1000px}.demo-quick-sim-card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#1f2937;border-radius:8px;border:1px solid rgba(255,255,255,.2);background-size:cover;background-position:center}.demo-quick-sim-card-1{transform:rotateY(-15deg) rotate(-5deg) translateZ(10px);box-shadow:-10px 10px 20px #00000080,0 0 15px #ea283166}.demo-quick-sim-card-2{transform:rotateY(-15deg) rotate(5deg) translateZ(30px) translate(20px);box-shadow:-10px 10px 20px #00000080,0 0 15px #ea283166;background:linear-gradient(to top,rgba(127,29,29,.8),transparent)}.demo-quick-sim-card-progress{position:absolute;bottom:8px;left:8px;right:8px;height:4px;background:#fff3;border-radius:9999px;overflow:hidden}.demo-quick-sim-card-progress-bar{height:100%;background:#fbbf24;box-shadow:0 0 5px #facc15;border-radius:9999px}.demo-quick-sim-difficulties{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.demo-quick-sim-difficulty{position:relative;background:var(--surface-dark);border:1px solid rgba(255,255,255,.1);padding:12px;border-radius:12px;text-align:left;cursor:pointer;transition:all .3s ease;overflow:hidden}.demo-quick-sim-difficulty:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease}.demo-quick-sim-difficulty:nth-child(1):before{background:linear-gradient(to bottom right,rgba(34,197,94,.2),transparent)}.demo-quick-sim-difficulty:nth-child(2):before{background:linear-gradient(to bottom right,rgba(59,130,246,.2),transparent)}.demo-quick-sim-difficulty:nth-child(3):before{background:linear-gradient(to bottom right,rgba(168,85,247,.2),transparent)}.demo-quick-sim-difficulty:nth-child(4):before{background:linear-gradient(to bottom right,rgba(239,68,68,.3),transparent)}.demo-quick-sim-difficulty:hover{border-color:#facc1580}.demo-quick-sim-difficulty:hover:before{opacity:1}.demo-quick-sim-difficulty-active{border-color:#facc1580}.demo-quick-sim-difficulty-active:before{opacity:1}.demo-quick-sim-difficulty-number{display:block;font-size:24px;font-weight:700;color:#fff;margin-bottom:4px;transition:color .3s ease}.demo-quick-sim-difficulty:hover .demo-quick-sim-difficulty-number,.demo-quick-sim-difficulty-active .demo-quick-sim-difficulty-number{color:#fbbf24}.demo-quick-sim-difficulty:nth-child(1):hover .demo-quick-sim-difficulty-number,.demo-quick-sim-difficulty:nth-child(1).demo-quick-sim-difficulty-active .demo-quick-sim-difficulty-number{color:#22c55e}.demo-quick-sim-difficulty:nth-child(2):hover .demo-quick-sim-difficulty-number,.demo-quick-sim-difficulty:nth-child(2).demo-quick-sim-difficulty-active .demo-quick-sim-difficulty-number{color:#3b82f6}.demo-quick-sim-difficulty:nth-child(3):hover .demo-quick-sim-difficulty-number,.demo-quick-sim-difficulty:nth-child(3).demo-quick-sim-difficulty-active .demo-quick-sim-difficulty-number{color:#a855f7}.demo-quick-sim-difficulty:nth-child(4):hover .demo-quick-sim-difficulty-number,.demo-quick-sim-difficulty:nth-child(4).demo-quick-sim-difficulty-active .demo-quick-sim-difficulty-number{color:#ef4444}.demo-quick-sim-difficulty-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fffc}.demo-quick-sim-difficulty:nth-child(1) .demo-quick-sim-difficulty-label{color:#22c55ecc}.demo-quick-sim-difficulty:nth-child(2) .demo-quick-sim-difficulty-label{color:#3b82f6cc}.demo-quick-sim-difficulty:nth-child(3) .demo-quick-sim-difficulty-label{color:#a855f7cc}.demo-quick-sim-difficulty:nth-child(4) .demo-quick-sim-difficulty-label{color:#ef4444cc}.demo-quick-sim-enter-button{width:100%;padding:14px;background:linear-gradient(to right,#c2151c,#ea2831);color:#fff;border-radius:12px;font-weight:700;font-size:16px;border:1px solid rgba(239,68,68,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 20px #ea283166;transition:all .3s ease}.demo-quick-sim-enter-button:hover{box-shadow:0 0 30px #ea283199;transform:translateY(-1px)}.demo-quick-sim-enter-button:active{transform:scale(.98)}.demo-quick-sim-enter-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.demo-quick-sim-enter-button-subtitle{font-size:14px;opacity:.8;font-weight:400}.demo-quick-sim-enter-button-icon{font-size:20px;transition:transform .3s ease}.demo-quick-sim-enter-button:hover .demo-quick-sim-enter-button-icon{transform:translate(4px)}.demo-difficulty-popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;animation:fadeIn .3s ease-out}.demo-difficulty-popup-content{width:100%;max-width:428px;max-height:70vh;margin:0 16px;background:var(--surface-dark);border:1px solid var(--border-dark);border-radius:var(--radius-lg);box-shadow:0 8px 32px #000c;overflow-y:auto;overflow-x:hidden;animation:slideUp .4s ease-out}.demo-difficulty-popup-header-section{padding:24px 24px 8px}.demo-difficulty-popup-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-difficulty-popup-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#ffffff14;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease}.demo-difficulty-popup-close:hover{background:#ffffff26;color:var(--text-primary)}.demo-difficulty-popup-title{font-size:24px;font-weight:700;color:var(--text-primary);font-family:var(--font-display);line-height:1.2;letter-spacing:-.015em;margin:0}.demo-difficulty-popup-desc{font-size:14px;color:var(--text-secondary);margin:4px 0 0;line-height:1.4}.demo-difficulty-popup-intro{margin:0 16px 16px;padding:16px;background:linear-gradient(135deg,#ea2a3314,#21181866);border:1px solid rgba(234,42,51,.15);border-radius:var(--radius-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.demo-difficulty-popup-intro-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.demo-difficulty-popup-intro-icon{font-size:18px;color:var(--primary);opacity:.9}.demo-difficulty-popup-intro-title{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.demo-difficulty-popup-intro-content{display:flex;flex-direction:column;gap:10px}.demo-difficulty-popup-intro-text{font-size:13px;color:var(--text-secondary);line-height:1.75;margin:0;text-align:left;letter-spacing:.01em}.demo-difficulty-popup-intro-highlight{color:var(--primary);font-weight:600;background:#ea2a331a;padding:1px 4px;border-radius:3px}.demo-difficulty-popup-options{display:flex;flex-direction:column;gap:12px;padding:16px}.demo-difficulty-popup-option-item{position:relative;display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border-dark);background:#21181880;cursor:pointer;transition:all .3s ease}.demo-difficulty-popup-option-item:hover{border-color:#fff3;background:#ffffff0d}.demo-difficulty-popup-option-item:has(:checked){border-color:#fff6;background:#362b2b}.demo-difficulty-popup-option-item.demo-difficulty-popup-option-active{border-color:#fff6;background:#362b2b}.demo-difficulty-popup-option-hell{border-color:#ea2a3366;background:#ea2a330d}.demo-difficulty-popup-option-hell:hover{border-color:#ea2a33cc;background:#ea2a331a;box-shadow:0 0 15px #ea2a330d}.demo-difficulty-popup-option-hell:has(:checked),.demo-difficulty-popup-option-hell.demo-difficulty-popup-option-active{border-color:var(--primary);background:#ea2a3333;box-shadow:0 0 15px #ea2a330d}.demo-difficulty-popup-option-novice{border-color:#10b98166;background:#10b9810d}.demo-difficulty-popup-option-novice:hover{border-color:#10b981cc;background:#10b9811a;box-shadow:0 0 15px #10b9810d}.demo-difficulty-popup-option-novice:has(:checked),.demo-difficulty-popup-option-novice.demo-difficulty-popup-option-active{border-color:#10b981;background:#10b98133;box-shadow:0 0 15px #10b9810d}.demo-difficulty-popup-option-easy{border-color:#60a5fa66;background:#60a5fa0d}.demo-difficulty-popup-option-easy:hover{border-color:#60a5facc;background:#60a5fa1a;box-shadow:0 0 15px #60a5fa0d}.demo-difficulty-popup-option-easy:has(:checked),.demo-difficulty-popup-option-easy.demo-difficulty-popup-option-active{border-color:#60a5fa;background:#60a5fa33;box-shadow:0 0 15px #60a5fa0d}.demo-difficulty-popup-option-advanced{border-color:#f59e0b66;background:#f59e0b0d}.demo-difficulty-popup-option-advanced:hover{border-color:#f59e0bcc;background:#f59e0b1a;box-shadow:0 0 15px #f59e0b0d}.demo-difficulty-popup-option-advanced:has(:checked),.demo-difficulty-popup-option-advanced.demo-difficulty-popup-option-active{border-color:#f59e0b;background:#f59e0b33;box-shadow:0 0 15px #f59e0b0d}.demo-difficulty-popup-radio{width:20px;height:20px;border:2px solid var(--border-dark);background:transparent;border-radius:50%;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:all .3s ease;flex-shrink:0;position:relative}.demo-difficulty-popup-radio:checked{border-color:var(--text-primary);background:var(--text-primary)}.demo-difficulty-popup-option-novice .demo-difficulty-popup-radio{border-color:#10b98180}.demo-difficulty-popup-option-novice .demo-difficulty-popup-radio:checked,.demo-difficulty-popup-option-novice:has(:checked) .demo-difficulty-popup-radio{border-color:#10b981;background:#10b981}.demo-difficulty-popup-option-easy .demo-difficulty-popup-radio{border-color:#60a5fa80}.demo-difficulty-popup-option-easy .demo-difficulty-popup-radio:checked,.demo-difficulty-popup-option-easy:has(:checked) .demo-difficulty-popup-radio{border-color:#60a5fa;background:#60a5fa}.demo-difficulty-popup-option-advanced .demo-difficulty-popup-radio{border-color:#f59e0b80}.demo-difficulty-popup-option-advanced .demo-difficulty-popup-radio:checked,.demo-difficulty-popup-option-advanced:has(:checked) .demo-difficulty-popup-radio{border-color:#f59e0b;background:#f59e0b}.demo-difficulty-popup-option-hell .demo-difficulty-popup-radio{border-color:#ea2a3380}.demo-difficulty-popup-option-hell .demo-difficulty-popup-radio:checked,.demo-difficulty-popup-option-hell:has(:checked) .demo-difficulty-popup-radio{border-color:var(--primary);background:var(--primary)}.demo-difficulty-popup-option-content{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.demo-difficulty-popup-option-text{flex:1;display:flex;flex-direction:column;gap:2px}.demo-difficulty-popup-option-title{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.4;margin:0;transition:color .3s ease}.demo-difficulty-popup-option-novice .demo-difficulty-popup-option-title{color:#10b981}.demo-difficulty-popup-option-novice:has(:checked) .demo-difficulty-popup-option-title,.demo-difficulty-popup-option-novice.demo-difficulty-popup-option-active .demo-difficulty-popup-option-title{color:var(--text-primary)}.demo-difficulty-popup-option-easy .demo-difficulty-popup-option-title{color:#60a5fa}.demo-difficulty-popup-option-easy:has(:checked) .demo-difficulty-popup-option-title,.demo-difficulty-popup-option-easy.demo-difficulty-popup-option-active .demo-difficulty-popup-option-title{color:var(--text-primary)}.demo-difficulty-popup-option-advanced .demo-difficulty-popup-option-title{color:#f59e0b}.demo-difficulty-popup-option-advanced:has(:checked) .demo-difficulty-popup-option-title,.demo-difficulty-popup-option-advanced.demo-difficulty-popup-option-active .demo-difficulty-popup-option-title{color:var(--text-primary)}.demo-difficulty-popup-option-hell .demo-difficulty-popup-option-title{color:var(--primary)}.demo-difficulty-popup-option-hell:has(:checked) .demo-difficulty-popup-option-title,.demo-difficulty-popup-option-hell.demo-difficulty-popup-option-active .demo-difficulty-popup-option-title{color:var(--text-primary)}.demo-difficulty-popup-option-subtitle{font-size:14px;font-weight:400;color:var(--text-secondary);line-height:1.4;margin:0;transition:color .3s ease}.demo-difficulty-popup-option-novice .demo-difficulty-popup-option-subtitle{color:#10b981b3}.demo-difficulty-popup-option-novice:has(:checked) .demo-difficulty-popup-option-subtitle,.demo-difficulty-popup-option-novice.demo-difficulty-popup-option-active .demo-difficulty-popup-option-subtitle{color:#10b981e6}.demo-difficulty-popup-option-easy .demo-difficulty-popup-option-subtitle{color:#60a5fab3}.demo-difficulty-popup-option-easy:has(:checked) .demo-difficulty-popup-option-subtitle,.demo-difficulty-popup-option-easy.demo-difficulty-popup-option-active .demo-difficulty-popup-option-subtitle{color:#60a5fae6}.demo-difficulty-popup-option-advanced .demo-difficulty-popup-option-subtitle{color:#f59e0bb3}.demo-difficulty-popup-option-advanced:has(:checked) .demo-difficulty-popup-option-subtitle,.demo-difficulty-popup-option-advanced.demo-difficulty-popup-option-active .demo-difficulty-popup-option-subtitle{color:#f59e0be6}.demo-difficulty-popup-option-hell .demo-difficulty-popup-option-subtitle{color:#ea2a33b3}.demo-difficulty-popup-option-hell:has(:checked) .demo-difficulty-popup-option-subtitle,.demo-difficulty-popup-option-hell.demo-difficulty-popup-option-active .demo-difficulty-popup-option-subtitle{color:#ea2a33e6}.demo-difficulty-popup-option-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;flex-shrink:0;transition:all .3s ease}.demo-difficulty-popup-option-icon svg{width:20px;height:20px}.demo-difficulty-popup-option-icon.anticon{font-size:20px}.demo-difficulty-popup-icon-novice{color:#10b981;background:#10b9811a}.demo-difficulty-popup-icon-easy{color:#60a5fa;background:#60a5fa1a}.demo-difficulty-popup-icon-advanced{color:#f59e0b;background:#f59e0b1a}.demo-difficulty-popup-icon-hell{color:var(--primary);background:#ea2a3333}.demo-difficulty-popup-actions{padding:16px 24px 24px}.demo-difficulty-popup-confirm{width:100%;height:48px;border-radius:var(--radius-full);background:var(--text-primary);color:#000;font-size:14px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.demo-difficulty-popup-confirm:hover{background:#e5e5e5;transform:scale(.98)}.demo-difficulty-popup-confirm:active{transform:scale(.96)}.demo-difficulty-popup-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.demo-fab-button{position:fixed;bottom:100px;right:16px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--text-primary);box-shadow:var(--shadow-glow);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.demo-fab-button:hover{transform:scale(1.1);box-shadow:0 0 20px #ea2a3380}.demo-fab-button:disabled{opacity:.5;cursor:not-allowed}.demo-fab-button .material-symbols-outlined{font-size:28px}.demo-filter-drawer .ant-drawer-content-wrapper{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.demo-filter-drawer .ant-drawer-body{padding:0}.demo-filter-container{display:flex;flex-direction:column;height:100%;background:var(--background-dark)}.demo-filter-handle{width:48px;height:6px;border-radius:3px;background:#fff3;margin:12px auto}.demo-filter-header{display:flex;align-items:center;justify-content:space-between;padding:8px 24px}.demo-filter-title{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;flex:1;font-family:var(--font-display)}.demo-filter-close-button{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:28px}.demo-filter-close-button:hover{background:#ffffff1a;color:var(--text-primary)}.demo-filter-content{flex:1;overflow-y:auto;padding:24px 24px 120px;-webkit-overflow-scrolling:touch}.demo-filter-content::-webkit-scrollbar{display:none}.demo-filter-section{margin-bottom:24px}.demo-filter-section-label{display:block;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-left:4px;font-family:var(--font-display)}.demo-filter-select{width:100%;height:64px;background:var(--text-primary);background:var(--surface-dark);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:0 48px 0 20px;font-size:18px;color:var(--text-primary);transition:all .3s ease;outline:none}.demo-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #ea2a3333}.demo-filter-datepicker{width:100%;height:64px;background:var(--surface-dark);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:0 20px;font-size:18px;color:var(--text-primary)}.demo-filter-time-buttons{display:flex;flex-wrap:wrap;gap:12px}.demo-filter-time-button{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-full);background:var(--surface-dark);border:1px solid rgba(255,255,255,.1);color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.demo-filter-time-button:hover{border-color:#fff3;background:#ffffff0d}.demo-filter-time-button-active{background:#ea2a331a;border-color:var(--primary);color:var(--primary);font-weight:700;box-shadow:0 0 15px #ea2a3333}.demo-filter-time-button .material-symbols-outlined{font-size:18px}.demo-filter-footer{position:absolute;bottom:0;left:0;right:0;width:100%;background:var(--background-dark);padding:24px 24px 32px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:16px}.demo-filter-reset-button{padding:16px 24px;border-radius:var(--radius-full);background:transparent;border:none;color:#fff9;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.demo-filter-reset-button:hover{color:var(--text-primary)}.demo-filter-confirm-button{flex:1;height:56px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-primary);font-size:18px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 15px #ea2a334d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.demo-filter-confirm-button:hover{background:#b91c1c;box-shadow:0 6px 20px #ea2a3366}.demo-filter-confirm-button:active{transform:scale(.98)}@media (min-width: 481px){.landing-app{max-width:1200px;padding:0 20px 60px}.landing-header{padding:20px 28px}}@media (min-width: 1025px){.landing-app{max-width:1400px;padding:0 24px 60px}.landing-header{padding:20px 32px}}.landing-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--purple-primary),var(--purple-dark));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0;padding:20px 24px;margin-bottom:0;border:none;border-bottom:2px solid rgba(255,255,255,.1);z-index:1001;box-shadow:0 4px 20px #8b5cf64d}.landing-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.landing-header>div{position:relative;z-index:1}.landing-header h1{margin:0 0 6px;font-size:28px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,gold,orange,gold,orange,gold);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,215,0,.5),0 2px 4px rgba(0,0,0,.3),0 4px 8px rgba(255,215,0,.2);animation:goldShine 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(255,215,0,.4))}@keyframes goldShine{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.landing-header p{margin:0;color:#ffffffe6;font-size:14px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.15)}.landing-header .app-button{background:#fff3!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-header .app-button:hover{background:#ffffff4d!important;border-color:#ffffff80!important;color:#fff!important}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.quick-game-btn{background:var(--purple-dark)!important;border:1px solid var(--purple-dark)!important;color:#fff!important;transition:all .3s ease!important}.quick-game-btn:hover{background:var(--purple-primary)!important;border-color:var(--purple-primary)!important;transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}.quick-game-btn .anticon{color:#fff!important}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;cursor:pointer}.section-title{margin:0;font-size:17px;font-weight:700;color:var(--text-strong);letter-spacing:-.3px}.collapse-icon{font-size:14px;color:var(--text-normal);transition:transform .3s ease;-webkit-user-select:none;user-select:none}.script-update-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}.script-item{background:var(--bg-card);border:1px solid #E5E7EB;border-radius:14px;padding:14px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.script-item:hover{background:var(--bg-card-hover);border-color:var(--purple-lighter);transform:translateY(-1px);box-shadow:var(--shadow-md)}.script-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.script-name{font-size:16px;font-weight:700;color:var(--text-strong);letter-spacing:-.2px}.script-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:8px;background:#f59e0b26;color:var(--tag-amber);letter-spacing:.2px;border:1px solid rgba(245,158,11,.3)}.script-badge.new{background:#ec489926;color:var(--tag-pink);border-color:#ec48994d}.script-desc{font-size:13px;line-height:1.6;color:var(--text-normal);margin:8px 0 10px}.script-meta{display:flex;gap:16px;font-size:12px;color:var(--text-faint);margin-top:8px}.script-meta span{display:flex;align-items:center}.landing-modal .ant-modal-mask{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-modal .ant-modal-content{background:linear-gradient(135deg,#ffffff26,#ffffff14);border:1px solid rgba(255,255,255,.18);border-radius:20px;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d inset;animation:modalFadeIn .3s cubic-bezier(.4,0,.2,1)}.landing-modal .ant-modal-header{background:transparent;border-bottom:1px solid #E5E7EB}.landing-modal .ant-modal-title{color:var(--text-strong);font-weight:700}.landing-modal .ant-modal-close{color:var(--text-normal)}.landing-modal .ant-modal-close:hover{color:var(--text-strong);background:var(--bg-card-hover)}.landing-modal .ant-modal-body{padding:18px}.landing-modal .ant-form-item-label>label{color:var(--text-soft)}.landing-modal .ant-input,.landing-modal .ant-input-password,.demo-auth-modal .ant-input,.demo-auth-modal .ant-input-password{background:#0a0505cc!important;border:1px solid var(--border-dark)!important;border-radius:14px;color:var(--text-primary)!important}.landing-modal .ant-input-affix-wrapper,.landing-modal .ant-input-affix-wrapper.ant-input-outlined,.landing-modal .ant-input-affix-wrapper.ant-input-password,.landing-modal .ant-input-affix-wrapper.ant-input-status-success,.landing-modal .ant-input-affix-wrapper.ant-input-status-success.ant-input-outlined,.demo-auth-modal .ant-input-affix-wrapper,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined,.demo-auth-modal .ant-input-affix-wrapper.ant-input-password,.demo-auth-modal .ant-input-affix-wrapper.ant-input-status-success,.demo-auth-modal .ant-input-affix-wrapper.ant-input-status-success.ant-input-outlined{background:#0a0505cc!important;border-color:var(--border-dark)!important;color:var(--text-primary)!important}.landing-modal .ant-input-outlined:focus,.landing-modal .ant-input-outlined:focus-within,.landing-modal .ant-input-outlined:hover,.landing-modal .ant-input-outlined.ant-input-status-error,.landing-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus,.landing-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus-within,.landing-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):hover,.demo-auth-modal .ant-input-outlined:focus,.demo-auth-modal .ant-input-outlined:focus-within,.demo-auth-modal .ant-input-outlined:hover,.demo-auth-modal .ant-input-outlined.ant-input-status-error,.demo-auth-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus,.demo-auth-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus-within,.demo-auth-modal .ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):hover{background:#0a0505cc!important;background-color:#0a0505cc!important}.landing-modal .ant-input-affix-wrapper.ant-input-outlined:focus,.landing-modal .ant-input-affix-wrapper.ant-input-outlined:focus-within,.landing-modal .ant-input-affix-wrapper.ant-input-outlined:hover,.landing-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error,.landing-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus,.landing-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus-within,.landing-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):hover,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined:focus,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined:focus-within,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined:hover,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):focus-within,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-status-error:not(.ant-input-disabled):hover{background:#0a0505cc!important;background-color:#0a0505cc!important}.landing-modal .ant-input-affix-wrapper:hover,.landing-modal .ant-input-affix-wrapper.ant-input-outlined:hover,.landing-modal .ant-input-affix-wrapper.ant-input-password:hover,.demo-auth-modal .ant-input-affix-wrapper:hover,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined:hover,.demo-auth-modal .ant-input-affix-wrapper.ant-input-password:hover{background:#0a0505d9!important;border-color:#fff3!important}.landing-modal .ant-input-affix-wrapper-focused,.landing-modal .ant-input-affix-wrapper.ant-input-affix-wrapper-focused,.landing-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-affix-wrapper-focused,.landing-modal .ant-input-affix-wrapper.ant-input-password.ant-input-affix-wrapper-focused,.landing-modal .ant-input-affix-wrapper.ant-input-status-success.ant-input-affix-wrapper-focused,.demo-auth-modal .ant-input-affix-wrapper-focused,.demo-auth-modal .ant-input-affix-wrapper.ant-input-affix-wrapper-focused,.demo-auth-modal .ant-input-affix-wrapper.ant-input-outlined.ant-input-affix-wrapper-focused,.demo-auth-modal .ant-input-affix-wrapper.ant-input-password.ant-input-affix-wrapper-focused,.demo-auth-modal .ant-input-affix-wrapper.ant-input-status-success.ant-input-affix-wrapper-focused{background:#0a0505e6!important;border-color:var(--primary)!important;box-shadow:0 0 0 2px #ea2a3333!important}.landing-modal .ant-form-item-has-error .ant-input,.landing-modal .ant-form-item-has-error .ant-input-password,.landing-modal .ant-form-item-has-error .ant-input-password input{background:#0a0505cc!important;color:var(--text-primary)!important;border-color:var(--primary)!important}.landing-modal .ant-input:focus,.landing-modal .ant-input-focused,.landing-modal .ant-input-password:focus,.landing-modal .ant-input-password-focused,.landing-modal .ant-input-password input:focus{background:#0a0505e6!important;color:var(--text-primary)!important;border-color:var(--primary)!important;box-shadow:0 0 0 2px #ea2a3333!important}.landing-modal .ant-input-password input{background:transparent!important;color:var(--text-primary)!important}.landing-modal .ant-input-password .ant-input-password-icon,.landing-modal .demo-password-input .ant-input-password-icon,.demo-auth-modal .ant-input-password .ant-input-password-icon,.demo-auth-modal .demo-password-input .ant-input-password-icon{color:var(--text-secondary)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:color .3s ease!important;width:20px!important;height:20px!important;line-height:1!important;position:relative!important}.landing-modal .ant-input-password .ant-input-password-icon:hover,.landing-modal .demo-password-input .ant-input-password-icon:hover,.demo-auth-modal .ant-input-password .ant-input-password-icon:hover,.demo-auth-modal .demo-password-input .ant-input-password-icon:hover{color:var(--primary)!important}.landing-modal .ant-input-password .ant-input-password-icon svg,.landing-modal .demo-password-input .ant-input-password-icon svg,.demo-auth-modal .ant-input-password .ant-input-password-icon svg,.demo-auth-modal .demo-password-input .ant-input-password-icon svg{display:block!important;width:20px!important;height:20px!important;color:inherit!important;fill:currentColor!important}.landing-modal .ant-input::placeholder,.landing-modal .ant-input-password::placeholder,.landing-modal .ant-input-password input::placeholder{color:var(--text-faint)}.landing-modal .ant-btn{border-radius:12px;min-height:44px}.landing-modal .ant-btn-primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-dark));border:none;box-shadow:0 2px 8px #8b5cf64d;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;color:#fff}.landing-modal .ant-btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.landing-modal .ant-btn-primary:active:before{width:300px;height:300px}.landing-modal .ant-btn-primary:hover{box-shadow:0 6px 20px #8b5cf680;transform:translateY(-2px);background:linear-gradient(135deg,var(--purple-dark),var(--purple-primary))}.landing-modal .ant-btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #8b5cf666;transition:all .1s ease}.landing-modal .ant-checkbox-wrapper{color:var(--text-soft)}.landing-modal .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--purple-primary);border-color:var(--purple-primary)}@media (max-width: 375px){.landing-app{padding:0 12px 60px}.landing-header{padding:16px 20px}.landing-header h1{font-size:24px}.landing-header p{font-size:13px}.landing-header h1{font-size:22px}.landing-header p{font-size:14px}.app-card{padding:14px}.section-title{font-size:15px}.script-name{font-size:14px}.script-desc{font-size:12px}}@media (min-width: 376px) and (max-width: 480px){.landing-app{padding:0 14px 60px}}@media (min-width: 481px){.landing-app{padding:20px 16px 60px}}.admin-login-modal .demo-auth-modal-content{display:flex;flex-direction:column;height:100%;max-height:90vh;overflow:hidden}.admin-login-modal .demo-auth-header{position:relative;flex-shrink:0}.admin-login-modal .demo-auth-body{flex:1;overflow-y:auto;padding:0 20px 180px;-webkit-overflow-scrolling:touch}.admin-login-modal .demo-auth-body::-webkit-scrollbar{display:none}.admin-login-modal .demo-auth-footer{position:relative;flex-shrink:0;padding:20px;background:var(--background-dark);border-top:1px solid rgba(255,255,255,.1)}.admin-login-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;box-shadow:0 2px 8px #fbbf244d}.admin-login-security-tip{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:20px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:12px;font-size:13px;color:#93c5fde6}.admin-login-security-icon{font-size:16px;color:#3b82f6;flex-shrink:0}.admin-login-security-text{line-height:1.4}.admin-login-input-wrapper,.admin-login-password-wrapper{position:relative}.admin-login-input-wrapper:before,.admin-login-password-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#fbbf24,#f59e0b);border-radius:2px 0 0 2px;z-index:1}.admin-login-input.ant-input:focus,.admin-login-input.ant-input-focused,.admin-login-input.ant-input-password:focus,.admin-login-input.ant-input-password-focused{border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf241a}.admin-login-error-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:12px;color:#fbbf24e6;animation:fadeIn .3s ease}.admin-login-error-icon{font-size:16px;color:#f59e0b;flex-shrink:0}.admin-login-error-text{line-height:1.4}.admin-login-lock-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-top:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;animation:shake .5s ease}.admin-login-lock-icon{font-size:20px;color:#ef4444;margin-top:2px;flex-shrink:0}.admin-login-lock-content{flex:1}.admin-login-lock-title{color:#ef4444;font-size:14px;font-weight:700;margin:0 0 6px;line-height:1.4}.admin-login-lock-desc{color:#ef4444d9;font-size:12px;margin:0;line-height:1.5}.admin-login-lock-countdown{display:inline-block;padding:2px 6px;margin:0 2px;background:#ef444433;border-radius:4px;color:#fff;font-weight:700;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;min-width:32px;text-align:center;animation:pulse 1s ease-in-out infinite}.admin-login-submit-button{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important;border:none!important;color:#000!important;font-weight:700!important;box-shadow:0 4px 12px #fbbf244d!important;transition:all .3s ease!important}.admin-login-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#fcd34d,#fbbf24)!important;box-shadow:0 6px 16px #fbbf2466!important;transform:translateY(-2px)!important}.admin-login-submit-button:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}.admin-login-back-button{width:100%;margin-top:12px;padding:12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.admin-login-back-button:hover{background:#ffffff0d;border-color:#fff3;color:#ffffffe6}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.difficulty-option{transition:all .3s ease}.difficulty-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.difficulty-option.selected{box-shadow:0 0 0 2px #1890ff33}.join-room-app{width:100%;max-width:100%;min-height:100vh;padding:20px 16px 60px;display:flex;flex-direction:column;gap:20px;margin:0 auto;background:linear-gradient(180deg,#14192df2,#0a0f23fa)}@media (min-width: 481px){.join-room-app{max-width:600px;padding:32px 24px 60px}}@media (min-width: 1025px){.join-room-app{max-width:640px;padding:40px 32px 60px}}.join-room-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#ffffffd9;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;align-self:flex-start}.join-room-back-btn:hover{background:#ffffff1f;border-color:#fff3;color:#fffffff2;transform:translate(-2px)}.join-room-back-btn:active{transform:translate(-2px) scale(.98)}.join-room-header{background:linear-gradient(135deg,#6366f126,#3b82f61f);border-radius:24px;padding:32px 24px;border:1px solid rgba(99,102,241,.2);box-shadow:0 8px 32px #6366f126;text-align:center;position:relative;overflow:hidden}.join-room-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}.join-room-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:20px;margin-bottom:16px;box-shadow:0 8px 24px #6366f159;position:relative;z-index:1}.join-room-icon .material-symbols-outlined{font-size:36px;color:#fff;font-variation-settings:"FILL" 1,"wght" 400}.join-room-header h1{margin:0 0 12px;font-size:28px;font-weight:800;letter-spacing:-.5px;color:#fff;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.2)}.join-room-header p{margin:0;color:#ffffffbf;font-size:15px;font-weight:400;line-height:1.6;position:relative;z-index:1}.join-room-form .ant-form-item-label>label{color:#ffffffe6;font-size:14px;font-weight:600}.join-room-form .ant-input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px 18px;color:#fff;font-size:15px;-webkit-text-fill-color:#ffffff;transition:all .2s ease}.join-room-form .ant-form-item-has-error .ant-input{background:#6366f11a!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;border-color:#6366f1!important}.join-room-form .ant-input::placeholder{color:#fff6}.join-room-form .ant-input:hover{border-color:#ffffff40;background:#ffffff1a}.join-room-form .ant-input:focus,.join-room-form .ant-input-focused{background:#ffffff1f!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f126!important}.join-room-form .helper{font-size:12px;color:#ffffff80;margin-top:4px;display:block}.join-room-form .ant-btn{border-radius:14px;min-height:50px;font-weight:700;font-size:16px;letter-spacing:.5px}.join-room-form .ant-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;box-shadow:0 8px 24px #6366f166;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.join-room-form .ant-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.join-room-form .ant-btn-primary:hover:before{left:100%}.join-room-form .ant-btn-primary:hover{box-shadow:0 12px 32px #6366f199;transform:translateY(-3px)}.join-room-form .ant-btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 6px 20px #6366f180;transition:all .1s ease}.join-room-form .ant-btn-default{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;transition:all .2s ease}.join-room-form .ant-btn-default:hover{background:#ffffff14;border-color:#ffffff40;color:#ffffffe6}.join-room-form .ant-form-item{margin-bottom:22px}.join-room-form .ant-form-item-explain-error{color:#a5b4fc;font-size:13px;margin-top:6px;font-weight:500}.join-room-app .ant-card,.join-room-app .app-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:24px;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0000004d;padding:28px 24px}.join-room-app .ant-card-head{background:transparent;border-bottom:1px solid rgba(255,255,255,.08);padding:0 0 20px;margin-bottom:20px}.join-room-app .ant-card-head-title{color:#fffffff2;font-weight:700;font-size:18px}.join-room-app .ant-card-body{padding:0;color:#ffffffe6}@media (max-width: 375px){.join-room-app{padding:16px 12px 60px}.join-room-header{padding:24px 18px}.join-room-icon{width:56px;height:56px}.join-room-icon .material-symbols-outlined{font-size:32px}.join-room-header h1{font-size:24px}.join-room-header p{font-size:14px}.join-room-form .ant-input{padding:12px 16px;font-size:14px}.join-room-form .ant-btn{min-height:46px;font-size:15px}}@media (min-width: 376px) and (max-width: 480px){.join-room-app{padding:18px 14px 60px}}.create-room-app{width:100%;max-width:100%;min-height:100vh;padding:20px 16px 60px;display:flex;flex-direction:column;gap:20px;margin:0 auto;background:linear-gradient(180deg,#14192df2,#0a0f23fa)}@media (min-width: 481px){.create-room-app{max-width:600px;padding:32px 24px 60px}}@media (min-width: 1025px){.create-room-app{max-width:640px;padding:40px 32px 60px}}.create-room-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#ffffffd9;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;align-self:flex-start}.create-room-back-btn:hover{background:#ffffff1f;border-color:#fff3;color:#fffffff2;transform:translate(-2px)}.create-room-back-btn:active{transform:translate(-2px) scale(.98)}.create-room-header{background:linear-gradient(135deg,#ff4d6d26,#8a2be21f);border-radius:24px;padding:32px 24px;border:1px solid rgba(255,77,109,.2);box-shadow:0 8px 32px #ff4d6d26;text-align:center;position:relative;overflow:hidden}.create-room-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,77,109,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.create-room-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#ff4d6d,#c9184a);border-radius:20px;margin-bottom:16px;box-shadow:0 8px 24px #ff4d6d59;position:relative;z-index:1}.create-room-icon .material-symbols-outlined{font-size:36px;color:#fff;font-variation-settings:"FILL" 1,"wght" 400}.create-room-header h1{margin:0 0 12px;font-size:28px;font-weight:800;letter-spacing:-.5px;color:#fff;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.2)}.create-room-header p{margin:0;color:#ffffffbf;font-size:15px;font-weight:400;line-height:1.6;position:relative;z-index:1}.create-room-form .ant-form-item-label>label{color:#ffffffe6;font-size:14px;font-weight:600}.create-room-form .ant-input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px 18px;color:#fff;font-size:15px;-webkit-text-fill-color:#ffffff;transition:all .2s ease}.create-room-form .ant-form-item-has-error .ant-input{background:#ff4d6d1a!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;border-color:#ff4d6d!important}.create-room-form .ant-input::placeholder{color:#fff6}.create-room-form .ant-input:hover{border-color:#ffffff40;background:#ffffff1a}.create-room-form .ant-input:focus,.create-room-form .ant-input-focused{background:#ffffff1f!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;border-color:#ff4d6d!important;box-shadow:0 0 0 3px #ff4d6d26!important}.create-room-form .helper{font-size:12px;color:#ffffff80;margin-top:4px;display:block}.create-room-form .ant-btn{border-radius:14px;min-height:50px;font-weight:700;font-size:16px;letter-spacing:.5px}.create-room-form .ant-btn-primary{background:linear-gradient(135deg,#ff4d6d,#c9184a);border:none;box-shadow:0 8px 24px #ff4d6d66;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.create-room-form .ant-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.create-room-form .ant-btn-primary:hover:before{left:100%}.create-room-form .ant-btn-primary:hover{box-shadow:0 12px 32px #ff4d6d99;transform:translateY(-3px)}.create-room-form .ant-btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 6px 20px #ff4d6d80;transition:all .1s ease}.create-room-form .ant-form-item{margin-bottom:22px}.create-room-form .ant-form-item-explain-error{color:#ff6b8a;font-size:13px;margin-top:6px;font-weight:500}.create-room-app .ant-card,.create-room-app .app-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:24px;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0000004d;padding:28px 24px}.create-room-app .ant-card-head{background:transparent;border-bottom:1px solid rgba(255,255,255,.08);padding:0 0 20px;margin-bottom:20px}.create-room-app .ant-card-head-title{color:#fffffff2;font-weight:700;font-size:18px}.create-room-app .ant-card-body{padding:0;color:#ffffffe6}@media (max-width: 375px){.create-room-app{padding:16px 12px 60px}.create-room-header{padding:24px 18px}.create-room-icon{width:56px;height:56px}.create-room-icon .material-symbols-outlined{font-size:32px}.create-room-header h1{font-size:24px}.create-room-header p{font-size:14px}.create-room-form .ant-input{padding:12px 16px;font-size:14px}.create-room-form .ant-btn{min-height:46px;font-size:15px}}@media (min-width: 376px) and (max-width: 480px){.create-room-app{padding:18px 14px 60px}}.player-room-app{width:100%;max-width:100%;min-height:100vh;padding:20px 16px 60px;display:flex;flex-direction:column;gap:16px;margin:0 auto}@media (min-width: 481px){.player-room-app{max-width:1200px;padding:24px 20px 60px}}@media (min-width: 1025px){.player-room-app{max-width:1400px;padding:28px 24px 60px}}.player-room-header{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:20px;padding:20px;margin-bottom:4px;border:1px solid rgba(255,255,255,.1)}.player-room-header h1{margin:0 0 8px;font-size:26px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-strong),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.player-room-header p{margin:0 0 12px;color:var(--text-soft);font-size:15px;font-weight:500}.badge-row{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;background:#ffffff1a;color:var(--text-soft);letter-spacing:.2px}.preview-player-card{flex:1;margin:0 12px;text-align:center;padding:20px;background:#ffffff1a;border-radius:16px;border:2px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;gap:12px}.player-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:var(--text-strong);position:relative}.status-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--card-bg)}.status-dot.online{background:#4caf50}.status-dot.offline{background:#9e9e9e}.circle-seat{font-size:24px;font-weight:700;color:var(--accent)}.player-name{font-size:20px;font-weight:700;color:var(--text-strong)}.medal-badge{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#ffd16633;border:1px solid rgba(255,209,102,.4);border-radius:12px;font-size:12px;cursor:pointer;transition:all .2s ease}.medal-badge:hover{background:#ffd1664d;border-color:#ffd16699;transform:translateY(-2px)}.player-room-modal .ant-modal-mask{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.player-room-modal .ant-modal-content{background:linear-gradient(135deg,#ffffff26,#ffffff14);border:1px solid rgba(255,255,255,.18);border-radius:20px;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d inset;animation:modalFadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.player-room-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}.player-room-modal .ant-modal-title{color:var(--text-strong);font-weight:700}.player-room-modal .ant-modal-close{color:var(--text-soft)}.player-room-modal .ant-modal-close:hover{color:var(--text-strong);background:#ffffff1a}@media (max-width: 375px){.player-room-app{padding:16px 12px 60px}.player-room-header{padding:16px}.player-room-header h1{font-size:22px}.player-room-header p{font-size:14px}.player-avatar{width:70px;height:70px;font-size:28px}.player-name{font-size:18px}.circle-seat{font-size:20px}}@media (min-width: 376px) and (max-width: 480px){.player-room-app{padding:18px 14px 60px}}@media (min-width: 481px){.player-room-app{padding:20px 16px 60px}}.player-room-modal .ant-modal-body{padding:18px;color:var(--text-strong)}.player-room-modal .ant-list-item{border-bottom:1px solid rgba(255,255,255,.1);padding:12px 0}.player-room-modal .ant-empty{color:var(--text-faint)}.phase-title{font-size:18px;font-weight:600;margin-bottom:20px;padding:12px;background:#ffffff0d;border-radius:12px;text-align:center;transition:all .3s;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.phase-title.waiting{background:#ffffff0d}.phase-title.night{background:#8a2be226;border:1px solid rgba(138,43,226,.3)}.phase-title.day{background:#ffc10726;border:1px solid rgba(255,193,7,.3)}.steps-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding-bottom:180px;width:100%;max-width:100%;flex:1;min-height:0;overflow-y:auto}.step-item{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;transition:all .3s;position:relative;cursor:pointer;overflow:hidden;width:100%;box-sizing:border-box}.step-item:active{transform:scale(.95)}.step-item:hover{background:#ffffff1f}.step-number{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#ffffffb3;z-index:1}.step-item.status-suggested .step-number{background:#ffc1074d;border-color:#ffc10799;color:#ffc107;transform:translateY(-50%) scale(1.15)}.step-item.status-operable .step-number{background:#9c27b04d;border-color:#9c27b099;color:#ba68c8}.step-item.status-clickable .step-number{background:#9c27b033;border-color:#9c27b066;color:#ba68c8}.step-item.status-completed .step-number{background:#4caf504d;border-color:#4caf5099;color:#81c784}.step-item.status-completed .step-number:after{content:"✓";font-size:14px}.step-connector{position:absolute;left:20px;top:100%;width:2px;height:12px;background:#ffffff1a;z-index:0}.step-item:last-child .step-connector{display:none}.step-item.status-completed .step-connector{background:#4caf5066}.step-item.status-suggested{border-color:#ffc10799;background:#ffc10726;box-shadow:0 2px 12px #ffc1074d}.step-item.status-operable{border-color:#9c27b099;background:#9c27b026;box-shadow:0 2px 12px #9c27b04d}.step-item.status-clickable{border-color:#9c27b066;background:#9c27b01a}.step-item.status-completed{border-color:#4caf5066;background:#4caf501a;opacity:.7}.step-info{display:flex;align-items:center;gap:12px;flex:1;margin-left:40px}.step-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#ffffff1a;transition:all .3s}.step-item.status-suggested .step-icon{background:#ffc1074d;transform:scale(1.1)}.step-item.status-completed .step-icon{background:#4caf504d}.step-text{flex:1}.step-title{font-size:15px;font-weight:600;margin-bottom:4px}.step-subtitle{font-size:12px;color:#fff9}.step-status{font-size:11px;padding:4px 8px;border-radius:6px;background:#ffffff1a}.step-item.status-suggested .step-status{background:#ffc1074d;color:#ffc107;font-weight:600}.step-item.status-operable .step-status{background:#9c27b04d;color:#ba68c8;font-weight:600}.step-item.status-clickable .step-status{background:#9c27b033;color:#ba68c8}.step-item.status-completed .step-status{background:#4caf504d;color:#81c784}.step-item.status-completed .step-status:before{content:"✓ "}.bottom-action{position:fixed;bottom:56px;left:0;right:0;width:100%;padding:20px;margin:0;background:#1a103af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 20px #0000004d;z-index:99;box-sizing:border-box;display:flex;justify-content:center}.bottom-action-inner{max-width:1200px;width:100%;display:flex;flex-direction:column;gap:12px}.current-action{margin-bottom:12px}.current-action-label{font-size:12px;color:#fff9;margin-bottom:8px;text-align:center}.action-btn{width:100%;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 12px #0003;display:flex;align-items:center;justify-content:center;gap:12px}.action-btn:active{transform:scale(.95)}.action-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.auto-judge-modal .ant-modal-content{background:#1a103af2;color:#fff}.auto-judge-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}.auto-judge-modal .ant-modal-title{color:#fff}.auto-judge-modal .ant-modal-close{color:#ffffffb3}.modal-content{padding:16px 0;display:flex;flex-direction:column}.player-info-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff14;border-radius:8px;margin-bottom:16px;border:1px solid rgba(255,255,255,.1)}.player-seat{font-size:14px;font-weight:600;color:#ffffffe6;padding:4px 12px;background:#ff4f9133;border:1px solid rgba(255,79,145,.4);border-radius:6px}.player-name{font-size:14px;font-weight:500;color:#fffc;flex:1}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top-color:#ff4f91cc;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:#ffffffb3;text-align:center}.modal-footer-close{display:flex;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.wake-text,.judgment-text{background:#ffffff1a;border-radius:12px;padding:16px;margin-bottom:16px;cursor:pointer;transition:all .2s;font-size:14px;line-height:1.6;color:#fff!important}.wake-text:hover,.judgment-text:hover{background:#ffffff26;transform:scale(1.02)}.wake-text:before{content:"📢 "}.judgment-text:before{content:"⚖️ "}.reply-section{margin-top:16px}.reply-section .ant-input{background:#ffffff1a;border-color:#fff3;color:#000}.reply-section .ant-input::placeholder{color:#00000080}.fullscreen-text{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:none;align-items:center;justify-content:center;z-index:10000;cursor:pointer}.fullscreen-text.show{display:flex}.fullscreen-content{color:#fff;font-size:32px;font-weight:700;text-align:center;padding:40px;max-width:90%;word-wrap:break-word;line-height:1.6}.confirm-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.confirm-content{background:#1a103af2;border-radius:12px;padding:24px;max-width:320px;width:90%;color:#fff!important}.confirm-content p{margin-bottom:20px;font-size:14px;color:#fff!important}.confirm-content *{color:#fff!important}.confirm-buttons{display:flex;gap:12px;justify-content:flex-end}.confirm-buttons .ant-btn{min-width:80px}@media (max-width: 375px){.phase-title{font-size:16px;padding:10px;margin-bottom:16px}.steps-list{gap:10px;padding-bottom:160px}.step-item{padding:10px 12px}.step-number{width:20px;height:20px;font-size:11px;left:6px}.step-icon{font-size:20px}.step-title{font-size:14px}.step-subtitle,.step-status{font-size:11px}.bottom-action{padding:12px 16px}.bottom-action-inner{max-width:100%}.bottom-action-title{font-size:13px}.bottom-action-button{font-size:13px;padding:8px 16px}}@media (min-width: 376px) and (max-width: 480px){.phase-title{font-size:17px;padding:11px}.steps-list{gap:11px}.step-item{padding:11px 14px}.bottom-action-inner{max-width:100%}}@media (min-width: 481px) and (max-width: 768px){.bottom-action-inner{max-width:100%}}@media (min-width: 769px){.bottom-action-inner{max-width:1200px}}.host-room-mobile{width:100%;margin:0 auto;height:100vh;background:linear-gradient(135deg,#1a103a,#44235e);color:#fff;display:flex;flex-direction:column;padding-bottom:70px;overflow:hidden}.demo-header{width:100%;background:linear-gradient(135deg,#44235ef2,#1a103af2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0 0 20px 20px;padding:16px;box-shadow:0 4px 12px #0000004d;position:sticky;top:0;z-index:100;box-sizing:border-box}.demo-header-inner{max-width:100%;margin:0 auto}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.demo-header h1{margin:0;font-size:24px;font-weight:800;background:linear-gradient(135deg,#fff,#ff4f91);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.icon-btn{width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:#ffffff2e;transform:scale(1.05)}.next-phase-btn{height:44px;border-radius:12px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#ff4f91,#ff6ba8);border:none}.demo-content{flex:1;overflow-y:auto;padding:16px;position:relative;width:100%;box-sizing:border-box}.demo-content.card-mode-active{padding:0;overflow:hidden}.role-distribution-summary{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:16px}.role-dist-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.role-dist-item{display:flex;flex-direction:column;align-items:center;gap:4px}.role-dist-count{font-size:24px;font-weight:700;line-height:1}.role-dist-label{font-size:12px;opacity:.8}.info-section{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}.phase-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.phase-text{font-size:18px;font-weight:600}.role-dist{font-size:14px;color:#ffffffb3}.script-selector{width:100%;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 16px;color:#fff;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between}.script-selector:hover{background:#ffffff2e}.script-selector .arrow{font-size:12px;color:#ffffffb3}.card-icon{font-size:32px;margin-bottom:4px}.card-title{font-size:14px;font-weight:600}.tab-players-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:20px}.player-card-grid{background:linear-gradient(135deg,#ffffff1f,#ffffff0f);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:10px 8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 16px #0003;min-height:130px;position:relative;overflow:visible}.player-card-grid:hover{background:linear-gradient(135deg,#ffffff2e,#ffffff1f);transform:translateY(-6px);box-shadow:0 8px 24px #0000004d;border-color:#ff4f9180}.player-card-grid.dead{opacity:.7;filter:grayscale(.6);border-color:#ff4d4f4d}.avatar-section{margin-bottom:6px;position:relative}.avatar-circle-grid{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#ff4f91,#ff6ba8);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff;border:3px solid rgba(255,255,255,.4);transition:all .3s ease;position:relative}.player-card-grid:hover .avatar-circle-grid{transform:scale(1.08);box-shadow:0 6px 24px #ff4f9180,0 0 30px #52c41a66}.player-card-grid.alive .avatar-circle-grid{box-shadow:0 4px 16px #ff4f9166,0 0 20px #52c41a4d}.player-card-grid.dead .avatar-circle-grid{opacity:.6;filter:grayscale(.7) brightness(.8);border-color:#ff4d4f66;box-shadow:0 4px 16px #ff4d4f4d,0 0 20px #ff4d4f33}.player-card-grid.refresh-card{cursor:pointer;border:1px dashed rgba(255,255,255,.3);background:linear-gradient(135deg,#ffffff14,#ffffff0a);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transform:none}@media (hover: hover){.player-card-grid.refresh-card:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#ff4f9180;border-style:solid;transform:translateY(-6px)}}.player-card-grid.refresh-card:active{background:linear-gradient(135deg,#ffffff26,#ffffff14);transform:scale(.95);border-color:#ff4f9180;border-style:solid;border-width:1px}.player-card-grid.refresh-card:focus:not(:active){background:linear-gradient(135deg,#ffffff14,#ffffff0a);transform:none;border-color:#ffffff4d;border-style:dashed;border-width:1px}.refresh-avatar{background:linear-gradient(135deg,#ff4f91cc,#ff6ba8cc);border-color:#ff4f9180}@media (hover: hover){.refresh-card:hover .refresh-avatar{background:linear-gradient(135deg,#ff4f91,#ff6ba8);transform:scale(1.08) rotate(180deg);box-shadow:0 6px 24px #ff4f9180}}.refresh-card:active .refresh-avatar{transform:scale(.95);background:linear-gradient(135deg,#ff4f91e6,#ff6ba8e6)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-card-grid.card-mode-card{cursor:pointer;border:1px dashed rgba(255,255,255,.3);background:linear-gradient(135deg,#ffffff14,#ffffff0a);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transform:none}@media (hover: hover){.player-card-grid.card-mode-card:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#ff4f9180;border-style:solid;transform:translateY(-6px)}}.player-card-grid.card-mode-card:active{background:linear-gradient(135deg,#ffffff26,#ffffff14);transform:scale(.95);border-color:#ff4f9180;border-style:solid;border-width:1px}.player-card-grid.card-mode-card:focus:not(:active){transform:none;border-color:#ffffff4d;border-style:dashed;border-width:1px}.card-mode-avatar{background:linear-gradient(135deg,#52c41acc,#8bc34acc);border-color:#52c41a80}@media (hover: hover){.card-mode-card:hover .card-mode-avatar{background:linear-gradient(135deg,#52c41a,#8bc34a);transform:scale(1.08);box-shadow:0 6px 24px #52c41a80}}.card-mode-card:active .card-mode-avatar{transform:scale(.95);background:linear-gradient(135deg,#52c41ae6,#8bc34ae6)}.card-mode-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:0}.card-mode-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#44235ef2,#1a103af2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);z-index:10;flex-shrink:0}.card-mode-back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;height:36px;padding:0 16px;font-size:14px;font-weight:500}.card-mode-back-btn:hover{background:#ffffff26;border-color:#ffffff4d}.card-mode-counter{font-size:16px;font-weight:700;color:#fff;text-align:center}.card-mode-viewport{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px 20px 80px;min-height:0;max-height:100%;box-sizing:border-box}.player-card-large{position:relative;width:340px;max-width:90%;min-height:500px;max-height:calc(100vh - 280px);background:linear-gradient(135deg,#44235ef2,#1a103af2);border:2px solid rgba(255,79,145,.6);border-radius:24px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;box-shadow:0 8px 32px #0006;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;margin:0 auto}.player-card-large.current-card{opacity:1}.card-avatar-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#ff4f91,#ff6ba8);display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;border:4px solid rgba(255,255,255,.4);box-shadow:0 6px 24px #ff4f9180;margin-bottom:24px}.card-name-large{font-size:24px;font-weight:700;color:#fff;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,#fff,#ff6ba8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-seat-large{font-size:18px;font-weight:500;color:#ffffffbf;text-align:center;margin-bottom:32px}.card-role-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.card-role-name{font-size:36px;font-weight:800;color:#fff;text-align:center;padding:16px 24px;border-radius:16px;box-shadow:0 4px 16px #0000004d;min-width:200px}.card-role-name.team-good{background:linear-gradient(135deg,#1890ffe6,#40a9ffe6);box-shadow:0 4px 16px #1890ff66}.card-role-name.team-evil{background:linear-gradient(135deg,#ff4d4fe6,#ff7275e6);box-shadow:0 4px 16px #ff4d4f66}.card-role-meta{font-size:16px;font-weight:500;color:#fffc;text-align:center}.card-marks-section{width:100%;margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.card-marks-label{font-size:14px;font-weight:600;color:#ffffffb3;margin-bottom:12px;text-align:center}.card-marks-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.card-mark-tag{background:#ff4f914d;border:1px solid rgba(255,79,145,.5);color:#fff;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.card-mode-footer{position:fixed;bottom:56px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:linear-gradient(135deg,#44235ef2,#1a103af2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 12px #0000004d;z-index:99;flex-shrink:0}.card-mode-nav-btn{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;height:40px;padding:0 20px;font-size:14px;font-weight:500}.card-mode-nav-btn:hover{background:#ffffff26;border-color:#ffffff4d}.status-badge-corner{position:absolute;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;box-shadow:0 2px 6px #0000004d;border:2px solid rgba(255,255,255,.9);z-index:10}.status-badge-corner.alive-badge{top:-4px;right:-4px}.status-badge-corner.alive-badge.alive{background:#52c41ae6;color:#fff}.status-badge-corner.alive-badge.dead{background:#ff4d4fe6;color:#fff}.status-badge-corner.vote-badge{bottom:-4px;right:-4px;background:#ffffffe6;color:#1a103ae6;font-size:9px}.player-info-grid{width:100%;display:flex;flex-direction:column;gap:3px;align-items:center;margin-bottom:6px}.player-seat-grid{font-size:15px;font-weight:700;background:linear-gradient(135deg,#fff,#ff6ba8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:2px;letter-spacing:.1px;line-height:1.2}.player-card-grid.dead .player-seat-grid{background:linear-gradient(135deg,#ffffffb3,#ff4d4fb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.player-name-grid{font-size:13px;color:#ffffffbf;font-weight:500;letter-spacing:.1px}.role-info-card{width:100%;background:#ffffff14;border-radius:8px;padding:6px 8px;margin-top:auto;text-align:center}.role-name-main{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:.1px;line-height:1.2;padding:5px 8px;border-radius:6px;display:inline-block;min-width:60%}.role-name-main.team-good{background:linear-gradient(135deg,#1890ffcc,#40a9ffcc);box-shadow:0 2px 8px #1890ff4d}.role-name-main.team-evil{background:linear-gradient(135deg,#ff4d4fcc,#ff7275cc);box-shadow:0 2px 8px #ff4d4f4d}.role-meta-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.role-type-text,.team-text{font-size:10px;color:#ffffffb3;font-weight:500}.avatar-status-grid{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;margin-bottom:6px}.status-badge{font-size:10px;padding:3px 8px;border-radius:10px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #00000040;letter-spacing:.2px}.status-badge.alive{background:#52c41a4d;color:#52c41a;border:1px solid rgba(82,196,26,.5)}.status-badge.dead{background:#ff4d4f4d;color:#ff4d4f;border:1px solid rgba(255,77,79,.5)}.status-badge.vote{background:#ffffff26;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.tab-wake{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:500px;position:relative;padding-bottom:200px}.contacts-list{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px;padding-bottom:8px;scrollbar-width:none;flex-shrink:0}.contacts-list::-webkit-scrollbar{display:none}.contact-item{min-width:80px;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;text-align:center;font-size:14px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.contact-item:hover{background:#ffffff26}.contact-item.active{background:linear-gradient(135deg,#ff4f91,#ff6ba8);border-color:#ff4f91;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ff4f91b3}50%{box-shadow:0 0 0 8px #ff4f9100}}.chat-title{text-align:center;font-size:14px;color:#ffffffb3;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.chat-window{flex:1;overflow-y:auto;margin-bottom:12px;padding:12px;background:#0003;border-radius:12px}.message{margin-bottom:12px;display:flex}.message.player{justify-content:flex-start}.message.host{justify-content:flex-end}.message-bubble{max-width:70%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5}.message.player .message-bubble{background:#ffffff26;border:1px solid rgba(255,255,255,.2)}.message.host .message-bubble{background:linear-gradient(135deg,#ff4f91,#ff6ba8);border:none}.ai-prompt{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;margin-bottom:0}.prompt-header{margin-bottom:8px}.prompt-header span{font-size:14px;font-weight:600}.prompt-content{font-size:13px;line-height:1.6;color:#fffc;white-space:pre-line}.bottom-action-area{position:fixed;bottom:56px;left:0;right:0;width:100%;background:linear-gradient(135deg,#44235ef2,#1a103af2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px 16px 0 0;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 12px #0000004d;z-index:99;display:flex;justify-content:center;padding:0}.bottom-action-area-inner{max-width:1200px;width:100%;display:flex;flex-direction:column;gap:12px;padding:12px 16px}.chat-input-area{width:100%;margin:0;padding:0}.chat-input-area-inner{width:100%;display:flex;gap:8px}.chat-input{width:100%;padding:10px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#000;font-size:14px;box-sizing:border-box;resize:none;min-height:80px;line-height:1.5;font-family:inherit}.chat-input::placeholder{color:#00000080}.chat-input:focus{outline:none;border-color:#ff4f9180;background:#ffffff1f;color:#000}.action-buttons{margin-top:0;width:100%}.action-row{display:flex;gap:10px;align-items:center;position:relative}.action-group{display:flex;gap:8px;flex:1}.action-group:first-child{flex:1.2}.action-group:last-child{flex:1}.action-btn{height:48px;border-radius:14px;font-size:15px;font-weight:600;flex:1;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026;letter-spacing:.5px}.action-btn:not(.primary):not(.secondary){background:linear-gradient(135deg,#52c41ad9,#8bc34ad9);color:#fff;border:1px solid rgba(82,196,26,.3)}.action-btn:not(.primary):not(.secondary):hover:not(:disabled){background:linear-gradient(135deg,#52c41af2,#8bc34af2);transform:translateY(-2px);box-shadow:0 4px 12px #52c41a66}.action-btn:not(.primary):not(.secondary):active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #52c41a4d}.action-btn.primary{background:linear-gradient(135deg,#ff4f91,#ff6ba8);color:#fff;border:1px solid rgba(255,79,145,.3);box-shadow:0 2px 8px #ff4f914d}.action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ff5fa1,#ff7bb8);transform:translateY(-2px);box-shadow:0 4px 12px #ff4f9180}.action-btn.primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #ff4f9166}.action-btn.secondary{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:0 2px 8px #0000001a}.action-btn.secondary:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff26}.action-btn.secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #00000026}.action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.action-btn.ant-btn-loading{opacity:.7}.action-divider-vertical{width:1px;height:32px;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.2) 80%,transparent 100%);flex-shrink:0;margin:0 4px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;height:56px;background:linear-gradient(135deg,#44235ef2,#1a103af2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center;padding:0 16px;box-shadow:0 -4px 12px #0000004d;z-index:100}.bottom-nav-inner{max-width:1200px;width:100%;display:flex;justify-content:space-around;align-items:center}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:#fff9;font-size:12px;cursor:pointer;transition:all .2s ease;padding:8px}.nav-item .anticon{font-size:20px}.nav-item.active{color:#ff4f91}.nav-item.active .anticon{transform:scale(1.1)}.nav-item:hover{color:#fffc}.player-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;z-index:200;animation:fadeIn .2s ease}.player-detail-card{width:100%;max-width:500px;margin:0 auto;background:linear-gradient(135deg,#44235efa,#1a103afa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px 20px 0 0;padding:24px;animation:slideUp .3s ease;max-height:80vh;overflow-y:auto}@media (min-width: 769px){.player-detail-card{max-width:600px}}@media (min-width: 1025px){.player-detail-card{max-width:700px}}@keyframes blink{0%,to{opacity:1;background-color:#ff4d4f4d}50%{opacity:.7;background-color:#ff4d4f80}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.detail-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff4f91,#ff6ba8);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 4px 12px #0000004d}.detail-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff4f91,#ff6ba8);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.detail-info{flex:1}.detail-name{font-size:20px;font-weight:700;margin-bottom:8px}.detail-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3}.detail-content{margin-bottom:16px;padding-top:4px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.detail-row .label{color:#ffffffb3;font-size:14px}.detail-row-editable{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);gap:12px}.detail-row-editable .label{color:#ffffffe6;font-size:14px;font-weight:500;flex-shrink:0;min-width:60px}.detail-select{flex:1;min-width:0}.detail-select .ant-select-selector{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;padding:4px 11px!important;min-height:36px!important;transition:all .2s ease!important}.detail-select .ant-select-selection-item{color:#fff!important;font-size:14px!important;line-height:28px!important}.detail-select .ant-select-selection-placeholder{color:#ffffff80!important;font-size:14px!important;line-height:28px!important}.detail-select.ant-select-focused .ant-select-selector{border-color:#ff4f9199!important;box-shadow:0 0 0 2px #ff4f9126!important}.detail-select .ant-select-arrow{color:#ffffffb3!important;font-size:12px!important}.detail-select .ant-select-selection-item{background:#ff4f9140!important;border:1px solid rgba(255,79,145,.4)!important;border-radius:4px!important;color:#fff!important;padding:2px 8px!important;margin:2px 4px 2px 0!important;font-size:13px!important}.detail-select .ant-select-selection-item-remove{color:#fffc!important;font-size:12px!important}.detail-select .ant-select-selection-item-remove:hover{color:#fff!important}.ant-select-dropdown{background:#1a103af2!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;box-shadow:0 4px 16px #0000004d!important;padding:4px!important}.ant-dropdown{z-index:1050}.ant-dropdown-menu{background:linear-gradient(135deg,#44235efa,#1a103afa)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;box-shadow:0 8px 24px #0006!important;padding:8px!important}.ant-dropdown-menu-item{color:#ffffffe6!important;border-radius:6px!important;margin:4px 0!important;padding:8px 12px!important;transition:all .2s ease!important}.ant-dropdown-menu-item:hover{background:#ffffff1a!important;color:#fff!important}.ant-dropdown-menu-item-selected{background:#ff4f914d!important;color:#ff4f91!important;font-weight:600!important}.detail-dropdown-menu{background:linear-gradient(135deg,#44235efa,#1a103afa)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;box-shadow:0 8px 24px #0006!important;padding:8px!important}.detail-dropdown-menu .ant-menu-item{color:#ffffffe6!important;border-radius:6px!important;margin:4px 0!important;padding:8px 12px!important;transition:all .2s ease!important;height:auto!important;line-height:1.5!important}.detail-dropdown-menu .ant-menu-item:hover{background:#ffffff1a!important;color:#fff!important}.detail-dropdown-menu .ant-menu-item-selected,.detail-dropdown-menu .menu-item-selected{background:#ff4f914d!important;color:#ff4f91!important;font-weight:600!important}.detail-dropdown-menu .ant-menu-item-selected:hover,.detail-dropdown-menu .menu-item-selected:hover{background:#ff4f9166!important}.ant-select-item{color:#ffffffe6!important;border-radius:6px!important;margin:2px 0!important;padding:8px 12px!important;font-size:14px!important;line-height:1.5!important;transition:all .15s ease!important}.ant-select-item:hover{background:#ffffff1a!important;color:#fff!important}.ant-select-item-option-selected{background:#ff4f9140!important;color:#fff!important;font-weight:500!important}.ant-select-item-option-active{background:#ffffff1f!important}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}.detail-divider{height:1px;background:#ffffff1a;margin:12px 0;width:100%}.editable-tag{cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:13px;font-weight:500;border-radius:6px;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;border:1px solid transparent;line-height:1.4}.editable-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:#ffffff4d}.tag-arrow{font-size:10px;opacity:.7;transition:transform .2s ease}.editable-tag:hover .tag-arrow{opacity:1;transform:translateY(1px)}.marks-section{margin-bottom:0;width:100%}.marks-label{font-size:13px;font-weight:500;color:#ffffffb3;margin-bottom:8px}.marks-field,.marks-select{width:100%}.marks-select .ant-select-selector{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;min-height:36px!important;padding:4px 8px!important;cursor:pointer!important;transition:all .2s ease!important}.marks-select .ant-select-selection-item{background:#ff4f9140!important;border:1px solid rgba(255,79,145,.4)!important;border-radius:4px!important;color:#fff!important;padding:2px 8px!important;margin:2px 4px 2px 0!important;font-size:13px!important}.marks-select .ant-select-selection-placeholder{color:#ffffff80!important;line-height:28px!important;font-size:14px!important}.marks-select.ant-select-focused .ant-select-selector{border-color:#ff4f9199!important;box-shadow:0 0 0 2px #ff4f9126!important}.detail-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.detail-actions .ant-btn{height:44px;border-radius:12px;font-size:14px;font-weight:600}.action-btn-kick-header{height:36px!important;padding:0 14px!important;font-size:13px!important;font-weight:600!important;background:#ff4d4f26!important;border:1px solid rgba(255,77,79,.4)!important;border-radius:8px!important;color:#ff4d4f!important;box-shadow:0 2px 6px #ff4d4f33!important;flex-shrink:0!important;transition:all .2s ease!important;display:inline-flex!important;align-items:center!important;gap:6px!important}.action-btn-kick-header:hover{background:#ff4d4f40!important;border-color:#ff4d4f99!important;color:#ff4d4f!important;transform:translateY(-1px);box-shadow:0 4px 12px #ff4d4f4d!important}.action-btn-kick-header:active{background:#ff4d4f59!important;transform:translateY(0)}.action-btn-kick-header .anticon{font-size:14px!important}.demo-content::-webkit-scrollbar,.chat-window::-webkit-scrollbar,.player-detail-card::-webkit-scrollbar{width:4px}.demo-content::-webkit-scrollbar-track,.chat-window::-webkit-scrollbar-track,.player-detail-card::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.demo-content::-webkit-scrollbar-thumb,.chat-window::-webkit-scrollbar-thumb,.player-detail-card::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.demo-content::-webkit-scrollbar-thumb:hover,.chat-window::-webkit-scrollbar-thumb:hover,.player-detail-card::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 375px){.demo-header{padding:12px}.demo-header h1{font-size:20px}.demo-content{padding:12px}.tab-players-grid{grid-template-columns:repeat(2,1fr);gap:12px}.player-card-grid{padding:8px 6px;min-height:120px}.avatar-circle-grid{width:56px;height:56px;font-size:22px}.player-seat-grid{font-size:14px}.player-name-grid{font-size:12px}.role-distribution-summary{padding:12px}.card-icon{font-size:28px}.card-title{font-size:12px}.card-avatar-large{width:100px;height:100px;font-size:40px;margin-bottom:20px}.card-name-large{font-size:20px;margin-bottom:6px}.card-seat-large{font-size:16px;margin-bottom:24px}.card-role-name{font-size:28px;padding:12px 20px;min-width:160px}.card-role-meta{font-size:14px}.card-mode-nav-btn{font-size:13px;padding:8px 16px}.bottom-nav{padding:8px;height:52px}.nav-item{font-size:12px;padding:8px 12px}.nav-item .anticon{font-size:18px}.contacts-list{gap:6px;padding-bottom:6px}.contact-item{padding:6px 10px;font-size:12px}.chat-title{font-size:14px;padding:8px}.chat-window{padding:12px}.chat-input-area{padding:8px}.chat-input{font-size:14px;padding:8px 12px}}@media (min-width: 376px) and (max-width: 480px){.demo-content{padding:14px}.tab-players-grid{grid-template-columns:repeat(3,1fr);gap:14px}.player-card-grid{padding:10px 8px}.avatar-circle-grid{width:60px;height:60px;font-size:24px}.player-seat-grid{font-size:15px}.player-name-grid{font-size:13px}.card-avatar-large{width:110px;height:110px;font-size:44px}.card-name-large{font-size:22px}.card-role-name{font-size:32px;padding:14px 22px}}@media (min-width: 481px) and (max-width: 768px){.tab-players-grid{grid-template-columns:repeat(4,1fr);gap:16px}.player-card-grid{padding:12px 10px}.avatar-circle-grid{width:64px;height:64px;font-size:26px}.player-seat-grid{font-size:16px}.player-name-grid{font-size:14px}}@media (min-width: 769px) and (max-width: 1024px){.demo-header{padding-left:20px;padding-right:20px}.demo-header-inner{max-width:1200px;margin:0 auto}.demo-content{max-width:1200px;margin:0 auto;padding:20px}.tab-players-grid{grid-template-columns:repeat(5,1fr);gap:18px}.player-card-grid{padding:14px 12px}.avatar-circle-grid{width:68px;height:68px;font-size:28px}.player-seat-grid{font-size:17px}.player-name-grid{font-size:15px}}@media (min-width: 1025px){.demo-header{padding-left:24px;padding-right:24px}.demo-header-inner{max-width:1400px;margin:0 auto}.demo-content{max-width:1400px;margin:0 auto;padding:24px}.tab-players-grid{grid-template-columns:repeat(6,1fr);gap:20px}.player-card-grid{padding:16px 14px}.avatar-circle-grid{width:72px;height:72px;font-size:30px}.player-seat-grid{font-size:18px}.player-name-grid{font-size:16px}}.quick-game-page{width:100%;min-height:100vh;background:linear-gradient(135deg,#0d0d1a,#1a1a3e,#2d1f4e);color:#fff;display:flex;flex-direction:column;overflow:hidden;position:relative}.background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0d0d1ab3;z-index:0;pointer-events:none}.quick-game-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:8px}.header-left h1{margin:0;font-size:20px;font-weight:700;background:linear-gradient(135deg,#fff,#ff6b9d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-btn{color:#fffc!important}.back-btn:hover{color:#fff!important;background:#ffffff1a!important}.header-right{display:flex;align-items:center;gap:8px}.header-right .ant-btn{color:#fffc}.quick-game-content{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column;position:relative}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#fff9}.player-section{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;z-index:1}.empty-players{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff6}.player-circle-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;overflow:visible;box-sizing:border-box;z-index:1}.player-circle{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:visible}.player-seat{position:absolute;width:50px;height:50px;border-radius:50%;background:#ffffff1a;border:3px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);transition:all .3s ease;cursor:pointer}.player-seat:hover{transform:translate(-50%,-50%) scale(1.1);background:#fff3}.player-seat.dead{opacity:.5;background:#6464644d;border-color:#fff3}.seat-number{font-size:16px;font-weight:700;color:#fff}.character-name{font-size:9px;color:#fffc;white-space:nowrap;max-width:50px;overflow:hidden;text-overflow:ellipsis}.death-mark{position:absolute;top:-5px;right:-5px;font-size:18px;color:#ff4d4f;text-shadow:0 0 5px rgba(255,77,79,.8)}.player-card{position:absolute;perspective:1000px;cursor:pointer;transition:transform .3s ease;overflow:visible;margin-top:40px;margin-bottom:80px}.player-card:hover{transform:translate(-50%,-50%) scale(1.05)!important}.player-card[style*="cursor: not-allowed"]:hover{transform:translate(-50%,-50%)!important}.player-card.dead{opacity:.6}.player-card.evil-card .card-front{border:2px solid rgba(245,34,45,.5)}.player-card.good-card .card-front{border:2px solid rgba(24,144,255,.5)}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;overflow:visible}.player-card.flipped .card-inner{transform:rotateY(180deg)}.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;background:linear-gradient(135deg,#1a1a3e,#2d1f4e);border:none;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;overflow:hidden}.card-back:not([style*=background-image]):before{content:"";position:absolute;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.05) 10px,rgba(255,255,255,.05) 20px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,255,255,.05) 10px,rgba(255,255,255,.05) 20px);border-radius:12px;z-index:0}.card-back-number{position:relative;font-size:32px;font-weight:700;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.8);z-index:2}.card-blood-overlay{position:absolute;top:-5%;left:-5%;width:110%;height:110%;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;overflow:visible}.card-blood-overlay img{width:100%;height:100%;object-fit:cover;opacity:.8}.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;transform:rotateY(180deg);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:none;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;box-shadow:0 4px 12px #0000004d;position:relative;overflow:hidden}.player-card.evil-card .card-front{background:linear-gradient(135deg,#f5222d33,#f5222d1a);border:none}.player-card.good-card .card-front{background:linear-gradient(135deg,#1890ff33,#1890ff1a);border:none}.player-card>.card-seat-badge{position:absolute;top:0;left:0;width:24px;height:24px;background:#4b0082e6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(15px,3vw,18px);font-weight:600;color:#fffffff2;z-index:10;box-shadow:0 2px 4px #0006;border:none;pointer-events:none;transform:translate(-50%,-50%)}.player-card>.card-seat-badge.evil-badge{background:#f5222de6!important}.player-card>.card-seat-badge.good-badge{background:#1890ffe6!important}.card-character-icon{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-height:100px;position:relative;z-index:2}.card-character-icon img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.card-character-name-bar{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#4b0082d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 10px;border-radius:12px;z-index:3;display:flex;align-items:center;justify-content:center;max-width:85%;width:fit-content;min-width:0}.card-character-name-bar.evil-name-bar{background:#f5222dd9!important}.card-character-name-bar.good-name-bar{background:#1890ffd9!important}.card-character-name-text{font-size:clamp(13.5px,3vw,16.5px);font-weight:600;color:#fffffff2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;line-height:1.2;display:inline-block}.card-death-mark{position:absolute;top:6px;left:6px;font-size:28px;color:#ff4d4f;text-shadow:0 0 8px rgba(255,77,79,.8);z-index:4;font-weight:700}.card-death-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;border-radius:12px;z-index:2;pointer-events:none}.dialogue-bubble{position:absolute;width:100%;min-width:0;max-width:none;padding:8px 10px;background:#fff;color:#000;border:1px solid #000000;border-radius:8px;font-size:13px;line-height:1.4;box-shadow:0 2px 8px #00000026;z-index:1000;word-wrap:break-word;animation:bubbleFadeIn .3s ease-in;pointer-events:none;box-sizing:border-box}.dialogue-bubble.emoji-only{width:auto;min-width:auto;padding:6px 8px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}@keyframes bubbleFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialogue-bubble:before{content:"";position:absolute;width:0;height:0;border:8px solid transparent}.dialogue-bubble-right:before{left:-16px;top:calc(var(--arrow-offset, 50%) + 20px);transform:translateY(-50%);border-right-color:#000}.dialogue-bubble-right:after{content:"";position:absolute;left:-15px;top:calc(var(--arrow-offset, 50%) + 20px);transform:translateY(-50%);width:0;height:0;border:7px solid transparent;border-right-color:#fff}.dialogue-bubble-down:before{top:-16px;left:calc(var(--arrow-offset, 50%) + 50%);transform:translate(-50%);border-bottom-color:#000}.dialogue-bubble-down:after{content:"";position:absolute;top:-15px;left:calc(var(--arrow-offset, 50%) + 50%);transform:translate(-50%);width:0;height:0;border:7px solid transparent;border-bottom-color:#fff}.dialogue-bubble-left:before{right:-16px;top:calc(var(--arrow-offset, 50%) + 20px);transform:translateY(-50%);border-left-color:#000}.dialogue-bubble-left:after{content:"";position:absolute;right:-15px;top:calc(var(--arrow-offset, 50%) + 20px);transform:translateY(-50%);width:0;height:0;border:7px solid transparent;border-left-color:#fff}.dialogue-bubble-up:before{bottom:-16px;left:calc(var(--arrow-offset, 50%) + 50%);transform:translate(-50%);border-top-color:#000}.dialogue-bubble-up:after{content:"";position:absolute;bottom:-15px;left:calc(var(--arrow-offset, 50%) + 50%);transform:translate(-50%);width:0;height:0;border:7px solid transparent;border-top-color:#fff}.chat-header-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.chat-header-toggle h3{margin:0}.chat-content{margin-top:12px}.center-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:10}.phase-badge{background:linear-gradient(135deg,#ff6b9d4d,#8a2be24d);border:1px solid rgba(255,107,157,.5);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.phase-badge-top-left{position:fixed;top:80px;left:12px;background:#000;border:1px solid #666666;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff}.phase-badge-top-center{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000;border:1px solid #666666;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;z-index:1000;white-space:nowrap;box-shadow:0 2px 8px #0000004d}.character-distribution-top-right{position:fixed;top:20px;right:0;background:#000;border:1px solid #666666;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;white-space:nowrap;z-index:999;box-shadow:0 2px 8px #0000004d}.winner-badge{border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;white-space:nowrap;animation:pulse 1.5s ease-in-out infinite}.winner-badge.good{background:linear-gradient(135deg,#52c41a66,#52c41a33);border:1px solid rgba(82,196,26,.6);color:#52c41a}.winner-badge.evil{background:linear-gradient(135deg,#f5222d66,#f5222d33);border:1px solid rgba(245,34,45,.6);color:#ff4d4f}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.info-panel{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.info-card{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px}.info-card h3{margin:0 0 10px;font-size:15px;font-weight:600;color:#ffffffe6}.info-card p{margin:0;font-size:14px;color:#ffffffb3;line-height:1.6}.info-card .character{font-size:13px;color:#ffffff80;margin-top:4px}.dawn-card{border-color:#ffc1074d;background:#ffc1071a}.execution-card{border-color:#f5222d4d;background:#f5222d1a}.fake-info-card{border-color:#f5222d4d;background:#f5222d14}.fake-info-card .night-header{background:#f5222d33}.fake-info-card ul{margin:0;padding:0;list-style:none}.fake-info-card li{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.fake-info-card li:last-child{border-bottom:none}.fake-info-card li span{font-size:13px;color:#ffffffb3;line-height:1.5}.chat-card{border-color:#13c2c24d;background:#13c2c214}.chat-group{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.chat-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.chat-header{display:flex;gap:6px;margin-bottom:8px}.chat-messages{display:flex;flex-direction:column;gap:6px;padding-left:8px}.chat-message{font-size:13px;line-height:1.5;padding:6px 10px;border-radius:8px}.chat-message.from-host{background:#1890ff26;border-left:3px solid rgba(24,144,255,.5)}.chat-message.from-player{background:#52c41a26;border-left:3px solid rgba(82,196,26,.5)}.chat-sender{font-weight:600;color:#fffc;margin-right:4px}.chat-content{color:#ffffffb3}.night-group{margin-bottom:12px}.night-group:last-child{margin-bottom:0}.night-header{font-size:13px;font-weight:600;color:#ffffffe6;padding:6px 10px;background:#1890ff33;border-radius:8px;margin-bottom:8px}.night-group ul{margin:0;padding:0 0 0 8px;list-style:none}.night-group li{display:flex;align-items:flex-start;gap:6px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.night-group li:last-child{border-bottom:none}.night-group li .ant-tag{flex-shrink:0}.log-section{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px}.log-section h3{margin:0 0 12px;font-size:15px;font-weight:600;color:#ffffffe6}.log-container{max-height:150px;overflow-y:auto;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.log-container::-webkit-scrollbar{width:4px}.log-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.log-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.empty-log{color:#ffffff4d;text-align:center;padding:20px;font-style:italic}.log-item{padding:4px 0;color:#fff9;border-bottom:1px solid rgba(255,255,255,.03)}.log-item:last-child{border-bottom:none}.action-btn{min-width:140px;height:48px;border-radius:24px;font-size:16px;font-weight:600;border:none;transition:all .3s ease}.action-btn.primary,.action-btn.ant-btn-primary{background:linear-gradient(135deg,#ff4f91,#ff6ba8);box-shadow:0 4px 15px #ff4f9166}.action-btn.primary:hover,.action-btn.ant-btn-primary:hover{background:linear-gradient(135deg,#ff6ba8,#ff8fc4);box-shadow:0 6px 20px #ff4f9180;transform:translateY(-2px)}.action-btn.danger,.action-btn.ant-btn-dangerous{background:linear-gradient(135deg,#dc2626,#ef4444)!important;box-shadow:0 4px 15px #dc262666;border-color:#dc2626!important}.action-btn.danger:hover,.action-btn.ant-btn-dangerous:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)!important;box-shadow:0 6px 20px #dc262680;transform:translateY(-2px);border-color:#b91c1c!important}.action-btn.secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.action-btn.secondary:hover{background:#fff3;border-color:#ffffff4d}.winner-display{font-size:20px;font-weight:700;padding:10px 24px;border-radius:30px;animation:pulse 1.5s ease-in-out infinite}.winner-display.good{background:linear-gradient(135deg,#52c41a4d,#52c41a1a);border:2px solid rgba(82,196,26,.5);color:#52c41a}.winner-display.evil{background:linear-gradient(135deg,#f5222d4d,#f5222d1a);border:2px solid rgba(245,34,45,.5);color:#ff4d4f}.processing-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1000}.processing-main{background:#000c;padding:8px 16px;border-radius:20px;font-size:13px;color:#fffc;display:flex;align-items:center;gap:8px;white-space:nowrap}.announcements-container{display:flex;flex-direction:column;align-items:center;gap:8px}.processing-result-announcement{background:#000c;padding:8px 16px;border-radius:20px;font-size:13px;color:#ffffffe6;white-space:nowrap;text-align:center}.execution-selection-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;color:#fff;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #00000080}.hunter-skill-buttons{touch-action:manipulation}.hunter-skill-btn{width:clamp(52px,14vw,72px);height:clamp(52px,14vw,72px);border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #00000059;transition:transform .15s ease,box-shadow .15s ease}.hunter-skill-btn:active{transform:scale(.95)}.hunter-skill-btn .anticon{font-size:clamp(24px,6vw,36px);color:#fff}.hunter-skill-btn-yes{background:linear-gradient(180deg,#52c41a,#389e0d)}.hunter-skill-btn-yes:hover{box-shadow:0 6px 18px #52c41a80}.hunter-skill-btn-no{background:linear-gradient(180deg,#ff4d4f,#cf1322)}.hunter-skill-btn-no:hover{box-shadow:0 6px 18px #ff4d4f80}.nominee-modal .ant-modal-content{background:linear-gradient(135deg,#1e1e3cfa,#321e50fa);border:1px solid rgba(255,255,255,.15);border-radius:20px}.nominee-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}.nominee-modal .ant-modal-title{color:#fff;font-weight:600}.nominee-modal .ant-modal-close{color:#fff9}.nominee-modal .ant-modal-body{padding:20px}.nominee-selector p{color:#fffc;margin-bottom:16px}.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.seat-btn{height:44px;border-radius:12px;font-size:15px;font-weight:500}.seat-btn.ant-btn-default{background:#ffffff1a;border-color:#fff3;color:#fff}.seat-btn.ant-btn-default:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.seat-btn.ant-btn-primary{background:linear-gradient(135deg,#ff4f91,#ff6ba8);border:none}.nominee-modal .ant-modal-footer{border-top:1px solid rgba(255,255,255,.1);padding:16px 20px}.nominee-modal .ant-modal-footer .ant-btn{border-radius:12px;height:40px;min-width:80px}.nominee-modal .ant-modal-footer .ant-btn-primary{background:linear-gradient(135deg,#ff4f91,#ff6ba8);border:none}.game-intro{text-align:center;padding:20px;max-width:500px;margin:0 auto}.game-intro .intro-icon{font-size:64px;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.game-intro h2{font-size:24px;font-weight:700;background:linear-gradient(135deg,gold,#ff6b9d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.game-intro .intro-story{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;margin-bottom:20px;text-align:left}.game-intro .intro-story p{color:#fffc;font-size:14px;line-height:1.8;margin-bottom:12px}.game-intro .intro-story p:last-child{margin-bottom:0}.game-intro .intro-rules{background:#ff6b9d1a;border:1px solid rgba(255,107,157,.2);border-radius:16px;padding:16px;text-align:left;margin-bottom:20px}.game-intro .intro-rules h3{font-size:15px;font-weight:600;color:#ff6b9d;margin-bottom:10px;margin-top:16px}.game-intro .intro-rules h3:first-child{margin-top:0}.game-intro .intro-rules ul{margin:0;padding:0 0 0 20px;list-style:disc}.game-intro .intro-rules li{color:#ffffffbf;font-size:13px;line-height:1.8;margin-bottom:4px}.game-intro .intro-rules strong{color:#fff}.game-intro .intro-hint{background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:12px;padding:12px;font-size:13px;color:#ffc107}.identity-reveal{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:16px;margin-bottom:16px}.identity-reveal h3{font-size:16px;font-weight:600;color:#fff;margin:0 0 16px;text-align:center}.team-section{margin-bottom:16px;border-radius:12px;overflow:hidden}.team-section:last-child{margin-bottom:0}.team-header{display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:600}.good-section .team-header{background:#1890ff33;color:#1890ff}.evil-section .team-header{background:#f5222d33;color:#ff4d4f}.team-icon{font-size:20px}.team-title{flex:1;font-size:14px}.team-count{font-size:12px;opacity:.8}.player-list{padding:8px 12px}.good-section .player-list{background:#1890ff14}.evil-section .player-list{background:#f5222d14}.player-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;flex-wrap:wrap}.player-item:last-child{border-bottom:none}.player-item.dead{opacity:.5}.player-item .seat{background:#ffffff1a;padding:2px 8px;border-radius:10px;font-weight:600}.player-item.good .seat{background:#1890ff33;color:#1890ff}.player-item.evil .seat{background:#f5222d33;color:#ff4d4f}.player-item .role{color:#fff;font-weight:500}.player-item .disguise{font-size:11px;color:#ffc107e6;background:#ffc10726;padding:2px 6px;border-radius:8px}.player-item .status{font-size:11px;color:#ff4d4fe6}.player-seat .disguise-name{font-size:7px;color:#ffc107e6;white-space:nowrap;position:absolute;bottom:-16px;left:50%;transform:translate(-50%);background:#0009;padding:1px 4px;border-radius:4px}.player-seat.evil-team{box-shadow:0 0 15px #f5222d66}.player-seat.good-team{box-shadow:0 0 15px #1890ff66}.log-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:4px 0;margin-bottom:8px;transition:opacity .2s}.log-header:hover{opacity:.8}.log-header h3{margin:0}.log-section.collapsed .log-container{display:none}.characters-modal .ant-modal-content{background:linear-gradient(135deg,#1e1e3cfa,#321e50fa);border:1px solid rgba(255,255,255,.15);border-radius:20px}.characters-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}.characters-modal .ant-modal-title{color:#fff;font-weight:600}.characters-modal .ant-modal-close{color:#fff9}.characters-modal .ant-modal-body{max-height:60vh;overflow-y:auto;padding:16px}.loading-characters{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:#fff9}.characters-list{display:flex;flex-direction:column;gap:16px}.type-group{background:#ffffff0d;border-radius:12px;padding:12px}.type-group.townsfolk,.type-group.outsider{border-left:3px solid #1890ff}.type-group.minion,.type-group.demon{border-left:3px solid #ff4d4f}.type-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;color:#fff}.char-list{display:flex;flex-direction:column;gap:8px}.char-item{background:#0003;border-radius:8px;padding:10px}.char-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.char-desc{font-size:12px;color:#ffffffa6;line-height:1.6}@media (max-width: 768px){.player-circle-container{padding:8px}.quick-game-content{padding:12px}}@media (max-width: 375px){.quick-game-header h1{font-size:18px}.player-circle-container{padding:5px}.action-btn{min-width:120px;height:44px;font-size:14px}.seat-grid{grid-template-columns:repeat(2,1fr)}.card-inner>.card-seat-badge{width:20px;height:20px;font-size:13.5px;top:-6px;left:-6px}.card-character-name-bar{padding:3px 8px;bottom:6px;max-width:80%}.card-character-name-text{font-size:13.5px}.card-death-mark{font-size:24px;top:5px;left:5px}}.execution-button{position:fixed;bottom:10px;right:10px;width:96px;height:96px;border-radius:50%;border:none;background:transparent;box-shadow:0 4px 12px #0000004d;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;transition:all .3s ease;overflow:hidden;padding:0}.execution-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #0006}.execution-button.active{box-shadow:0 0 30px #f5222d99;animation:pulse 1.5s ease-in-out infinite}.execution-button.disabled,.execution-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.execution-button.disabled:hover,.execution-button:disabled:hover{transform:none;box-shadow:0 4px 12px #0000004d}.execution-button img{width:100%;height:100%;object-fit:contain}@keyframes pulse{0%,to{box-shadow:0 0 20px #f5222d99}50%{box-shadow:0 0 30px #f5222de6}}.player-card.execution-shake{animation:executionShake .5s ease-in-out infinite}@keyframes executionShake{0%,to{transform:translate(-50%,-50%) translateY(-8px) rotate(0)}25%{transform:translate(-50%,-50%) translateY(-8px) rotate(-2deg)}50%{transform:translate(-50%,-50%) translateY(-8px) rotate(0)}75%{transform:translate(-50%,-50%) translateY(-8px) rotate(2deg)}}.header-icon-btn{min-width:40px;height:40px;padding:0 8px;display:flex;align-items:center;justify-content:center}.game-start-modal .ant-modal-content{background:#000!important;color:#fff!important;border:2px solid rgba(255,255,255,.3)!important;border-radius:20px!important;box-shadow:0 8px 32px #000c,0 0 20px #ffffff1a inset!important;overflow:hidden!important}.game-start-modal .ant-modal-info-icon{display:none!important}.game-start-modal .ant-modal-info-content{margin-left:0!important}.game-start-modal .ant-modal-header{background:#000!important;border-bottom:2px solid rgba(255,255,255,.2)!important;border-radius:18px 18px 0 0!important;padding:20px 24px!important}.game-start-modal .ant-modal-title{color:#fff!important;font-weight:700!important;font-size:20px!important;text-align:left!important}.game-start-modal .ant-modal-close{color:#fff!important;font-size:20px!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#ffffff1a!important;transition:all .3s ease!important}.game-start-modal .ant-modal-close:hover{color:#fff!important;background:#fff3!important;transform:scale(1.1)!important;box-shadow:0 0 15px #ffffff4d!important}.game-start-modal .ant-modal-body{background:transparent!important;color:#fff!important;padding:24px!important;text-align:left!important;font-size:16px!important;line-height:1.8!important}.game-start-modal .ant-modal-body *{color:#fff!important}.game-start-modal .ant-modal-footer{background:transparent!important;border-top:2px solid rgba(255,255,255,.2)!important;border-radius:0 0 18px 18px!important;padding:16px 24px!important;text-align:center!important}.game-start-modal .ant-modal-footer .ant-btn{min-width:120px!important;height:44px!important;border-radius:22px!important;font-size:16px!important;font-weight:600!important;border:2px solid rgba(255,255,255,.3)!important;transition:all .3s ease!important}.game-start-modal .ant-modal-footer .ant-btn.ant-btn-primary{border:2px solid #666666!important}.game-start-modal .ant-modal-footer .ant-btn-primary,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-primary,.game-start-modal .ant-modal-footer button.ant-btn-primary,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-color-primary.ant-btn-variant-solid{background:#000!important;color:#ff4d4f!important;border-color:#666!important;box-shadow:0 2px 8px #0000004d!important;text-shadow:none!important}.game-start-modal .ant-modal-footer .ant-btn-primary:hover,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-primary:hover,.game-start-modal .ant-modal-footer button.ant-btn-primary:hover,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-color-primary.ant-btn-variant-solid:hover{background:#1a1a1a!important;color:#ff7875!important;border-color:#888!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0006!important}.game-start-modal .ant-modal-footer .ant-btn-primary:active,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-primary:active,.game-start-modal .ant-modal-footer button.ant-btn-primary:active,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-color-primary.ant-btn-variant-solid:active{background:#0d0d0d!important;color:#ff4d4f!important;border-color:#666!important;transform:translateY(0)!important;box-shadow:0 2px 6px #0000004d!important}.game-start-modal .ant-modal-footer .ant-btn-primary span,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-primary span,.game-start-modal .ant-modal-footer button.ant-btn-primary span,.game-start-modal .ant-modal-footer .ant-btn.ant-btn-color-primary.ant-btn-variant-solid span{color:#ff4d4f!important}.chat-history-modal .ant-modal-content,.game-log-modal .ant-modal-content{background:#000!important;color:#fff!important}.chat-history-modal .ant-modal-header,.game-log-modal .ant-modal-header{background:#000!important;border-bottom:1px solid rgba(255,255,255,.2)!important}.chat-history-modal .ant-modal-title,.game-log-modal .ant-modal-title,.chat-history-modal .ant-modal-close,.game-log-modal .ant-modal-close{color:#fff!important}.chat-history-modal .ant-modal-close:hover,.game-log-modal .ant-modal-close:hover{color:#fffc!important}.chat-history-modal .ant-modal-body,.game-log-modal .ant-modal-body{max-height:70vh;overflow-y:auto;background:#000!important;color:#fff!important}.chat-history-modal .chat-content,.game-log-modal .log-container,.chat-history-modal .night-group,.chat-history-modal .chat-group,.chat-history-modal .chat-message,.chat-history-modal .night-header,.chat-history-modal .chat-header,.chat-history-modal .chat-sender,.chat-history-modal .chat-content-text,.game-log-modal .log-item{color:#fff!important}.empty-chat,.empty-log{text-align:center;padding:40px 20px;color:#ffffff80}@media (min-width: 768px){.quick-game-content{max-width:600px;margin:0 auto}.execution-button{bottom:10px;right:10px}}.victory-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:victoryShowHide 3s ease-in-out}.victory-overlay-good{background:radial-gradient(circle,#1890ff1a,#1890ff4d,#1890ff80 60%,#1890ffcc)}.victory-overlay-evil{background:radial-gradient(circle,#f5222d1a,#f5222d4d,#f5222d80 60%,#f5222dcc)}@keyframes victoryShowHide{0%{opacity:0;transform:scale(.9)}15%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.restart-button{position:fixed;bottom:10px;right:10px;width:80px;height:80px;border-radius:50%;background:#000;border:none;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;transition:all .3s ease;z-index:1000}.restart-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0009}.restart-button:active{transform:scale(.95)}.view-chat-container-top-right{position:fixed;top:70px;right:0;z-index:1000}.view-chat-button-top-right{font-size:14px!important;font-weight:600!important;color:#fff!important;height:32px;display:flex;align-items:center;justify-content:center;background:#000!important;border:1px solid #666!important;position:relative;overflow:hidden}.view-chat-button-top-right:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:marquee 2s infinite}@keyframes marquee{0%{left:-100%}to{left:100%}}.view-chat-button-top-right:hover{background:#1a1a1a!important;border-color:#888!important;color:#fff!important}.view-chat-button-top-right:active{background:#0d0d0d!important;border-color:#666!important;color:#fff!important}.header-exit-button-container{position:fixed;top:20px;left:20px;z-index:1000;width:40px;height:40px;border-radius:50%;background:#0000004d;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.header-exit-button{color:#fff;font-size:18px;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.header-exit-button:hover{color:#fffc}.admin-layout{display:flex;min-height:100vh;background:var(--background-dark, #211111);color:var(--text-primary, #ffffff)}.admin-sidebar{width:280px;background:#111a22;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transform:translate(-100%);transition:transform .3s ease-in-out}@media (min-width: 768px){.admin-sidebar{position:relative;transform:translate(0)}}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-sidebar-logo{display:flex;align-items:center;gap:12px}.admin-sidebar-logo-icon{width:40px;height:40px;border-radius:50%;background:#135bec33;display:flex;align-items:center;justify-content:center;font-size:20px}.admin-sidebar-logo-title{font-size:18px;font-weight:700;color:#fff;margin:0}.admin-sidebar-logo-subtitle{font-size:12px;color:#94a3b8;margin:0}.admin-sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.admin-sidebar-nav-item{display:flex;align-items:center;gap:16px;padding:12px 24px;color:#94a3b8;text-decoration:none;transition:all .2s;border-radius:0}.admin-sidebar-nav-item:hover{background:#ffffff0d;color:#fff}.admin-sidebar-nav-item.active{background:#135bec;color:#fff;box-shadow:0 4px 12px #135bec33}.admin-sidebar-nav-icon{font-size:20px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.admin-sidebar-nav-label{font-size:16px;font-weight:500}.admin-sidebar-footer{padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-logout{display:flex;align-items:center;gap:16px;padding:12px 24px;width:100%;background:transparent;border:none;color:#94a3b8;cursor:pointer;transition:all .2s;text-align:left}.admin-sidebar-logout:hover{background:#ffffff0d;color:#fff}.admin-main{flex:1;display:flex;flex-direction:column;margin-left:0;transition:margin-left .3s ease-in-out}@media (min-width: 768px){.admin-main{margin-left:280px}}.admin-header{position:sticky;top:0;z-index:50;background:#211111f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 24px;display:flex;align-items:center;gap:16px}.admin-menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:#fff;cursor:pointer;border-radius:8px;transition:background .2s}@media (min-width: 768px){.admin-menu-toggle{display:none}}.admin-menu-toggle:hover{background:#ffffff1a}.admin-header-title{flex:1;font-size:20px;font-weight:700;color:#fff;margin:0}.admin-header-actions{display:flex;align-items:center;gap:16px}.admin-header-home-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.admin-header-home-btn:hover{background:#ffffff26;border-color:#ffffff4d}.admin-header-home-btn svg{font-size:16px}@media (max-width: 768px){.admin-header-home-btn span{display:none}.admin-header-home-btn{padding:8px}}.admin-header-user{font-size:14px;color:#94a3b8}.admin-content{flex:1;padding:24px;overflow-y:auto}.admin-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:99}@media (min-width: 768px){.admin-sidebar-overlay{display:none}}.admin-dashboard{display:flex;flex-direction:column;gap:24px}.admin-dashboard-section{display:flex;flex-direction:column;gap:12px}.admin-section-header{display:flex;justify-content:space-between;align-items:center}.admin-section-title{font-size:20px;font-weight:700;color:#fff;margin:0}.admin-section-more{font-size:12px;color:#f4c025;background:transparent;border:none;cursor:pointer;text-decoration:underline}.admin-section-more:hover{color:#f5d047}.admin-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.admin-overview-card{background:#2f2b1d;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:16px;position:relative;overflow:hidden;transition:all .3s}.admin-overview-card:hover{border-color:#ffffff1a;box-shadow:0 4px 12px #0000004d}.admin-overview-card-primary{background:linear-gradient(135deg,#2f2b1d,#f4c0251a)}.admin-overview-card-bg{position:absolute;right:-16px;top:-16px;width:96px;height:96px;border-radius:50%;background:#f4c0251a;filter:blur(40px);transition:all .5s}.admin-overview-card:hover .admin-overview-card-bg{background:#f4c02533}.admin-overview-card-content{position:relative;z-index:10;display:flex;flex-direction:column;gap:8px}.admin-overview-card-header{display:flex;justify-content:space-between;align-items:flex-start}.admin-overview-label{font-size:14px;font-weight:500;color:#fff9}.admin-overview-icon{font-size:20px;color:#ffffffb3}.admin-overview-card-primary .admin-overview-icon{color:#f4c025}.admin-overview-icon-blue{color:#3b82f6}.admin-overview-value{font-size:32px;font-weight:700;color:#fff;line-height:1.2}.admin-overview-trend{display:flex;align-items:center;gap:4px;font-size:12px}.admin-trend-icon{font-size:16px}.admin-trend-up{color:#10b981}.admin-trend-neutral{color:#ffffff80}.admin-trend-text{font-weight:500}.admin-trend-desc{color:#ffffff80;margin-left:4px}.admin-overview-progress{margin-top:8px}.admin-progress-bar{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.admin-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s}.admin-quick-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.admin-quick-access-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#2f2b1d;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s}.admin-quick-access-item:hover{border-color:#f4c02580;background:#ffffff0d;transform:scale(.95)}.admin-quick-access-icon{width:48px;height:48px;border-radius:50%;background:#f4c0251a;display:flex;align-items:center;justify-content:center;color:#f4c025;font-size:24px;transition:all .2s}.admin-quick-access-item:hover .admin-quick-access-icon{background:#f4c025;color:#000}.admin-quick-access-label{font-size:14px;font-weight:600;color:#ffffffe6}.admin-banners{display:flex;flex-direction:column;gap:24px}.admin-banners-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.admin-banners-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-tag-filter{background:#ffffff0d;border-color:#ffffff1a;color:#fff}.admin-tag-filter .ant-select-selector{background:#ffffff0d!important;border-color:#ffffff1a!important;color:#fff!important}.admin-tag-filter .ant-select-selection-item{color:#fff!important}.admin-banners-add-button{background:#ea2a33;border-color:#ea2a33;box-shadow:0 4px 12px #ea2a3333}.admin-banners-add-button:hover{background:#c91e28;border-color:#c91e28}.admin-banners-list{display:flex;flex-direction:column;gap:16px}.admin-banner-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;transition:all .2s}.admin-banner-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003}.admin-banner-card-content{display:flex;gap:16px;align-items:flex-start}.admin-banner-card-image{width:200px;height:112px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#ffffff0d}.admin-banner-card-info{flex:1;display:flex;flex-direction:column;gap:8px}.admin-banner-card-header{display:flex;align-items:center;gap:8px}.admin-banner-card-tags{display:flex;gap:8px;flex-wrap:wrap}.admin-banner-card-title{font-size:16px;font-weight:700;color:#fff;margin:0}.admin-banner-card-description{color:#94a3b8;font-size:14px;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-banner-card-time{display:flex;gap:16px;font-size:12px;color:#94a3b8}.admin-banner-card-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.admin-banner-modal .ant-modal-content{background:#211111;border:1px solid rgba(255,255,255,.1)}.admin-banner-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}.admin-banner-modal .ant-modal-title{color:#fff}.admin-banner-modal .ant-modal-close{color:#94a3b8}.admin-banner-modal .ant-modal-close:hover{color:#fff}.admin-banner-modal .ant-form-item-label>label{color:#fff}.admin-banner-modal .ant-input,.admin-banner-modal .ant-input-password,.admin-banner-modal .ant-select-selector,.admin-banner-modal .ant-picker{background:#ffffff0d;border-color:#ffffff1a;color:#fff}.admin-banner-modal .ant-input::placeholder,.admin-banner-modal .ant-picker-input>input::placeholder{color:#94a3b8}.admin-banner-modal .ant-input:focus,.admin-banner-modal .ant-select-focused .ant-select-selector,.admin-banner-modal .ant-picker-focused{border-color:#ea2a33;box-shadow:0 0 0 2px #ea2a3333}.admin-activities{display:flex;flex-direction:column;gap:24px}.admin-activities-filters{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.admin-filter-tab{flex-shrink:0;height:36px;padding:0 20px;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-filter-tab:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.admin-filter-tab.active{background:#2b8cee;border-color:#2b8cee;color:#fff;box-shadow:0 4px 12px #2b8cee40}.admin-activities-list{display:flex;flex-direction:column;gap:16px}.admin-activity-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;transition:all .2s}.admin-activity-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003}.admin-activity-card-content{display:flex;gap:16px;align-items:flex-start}.admin-activity-card-main{flex:1;display:flex;flex-direction:column;gap:12px}.admin-activity-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-activity-card-title{font-size:16px;font-weight:700;color:#fff;margin:0;flex:1}.admin-activity-card-info{display:flex;flex-wrap:wrap;gap:16px;color:#94a3b8;font-size:14px}.admin-activity-info-item{display:flex;align-items:center;gap:6px}.admin-activity-card-description{color:#94a3b8;font-size:14px;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-activity-card-actions{display:flex;align-items:center;gap:8px}.admin-empty-state{text-align:center;padding:60px 20px;color:#94a3b8}.admin-activities-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0}.admin-pagination-button{padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.admin-pagination-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.admin-pagination-button:disabled{opacity:.5;cursor:not-allowed}.admin-pagination-info{color:#94a3b8;font-size:14px}.admin-quick-game-statistics{display:flex;flex-direction:column;gap:24px}.admin-statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.admin-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px}.admin-stat-card-good{background:#3b82f61a;border-color:#3b82f633}.admin-stat-card-evil{background:#ef44441a;border-color:#ef444433}.admin-stat-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-stat-icon{font-size:20px;color:#94a3b8}.admin-stat-card-good .admin-stat-icon{color:#3b82f6}.admin-stat-card-evil .admin-stat-icon{color:#ef4444}.admin-stat-icon-pulse{animation:pulse 2s infinite;color:#10b981}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-stat-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.admin-stat-value{font-size:32px;font-weight:700;color:#fff;line-height:1.2}.admin-stat-chart-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:24px}.admin-difficulty-stats{display:flex;flex-direction:column;gap:16px}.admin-difficulty-stat-item{padding:16px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.admin-difficulty-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-difficulty-name{font-size:16px;font-weight:600;color:#fff;text-transform:capitalize}.admin-difficulty-percentage{font-size:18px;font-weight:700;color:#3b82f6}.admin-difficulty-stat-details{display:flex;gap:16px;font-size:14px;color:#94a3b8}.admin-daily-trend{display:flex;flex-direction:column;gap:16px}.admin-daily-trend-header{display:flex;justify-content:space-between;align-items:baseline}.admin-daily-trend-title{font-size:14px;color:#94a3b8;margin:0 0 4px}.admin-daily-trend-value{font-size:32px;font-weight:700;color:#0d7ff2;margin:0}.admin-daily-trend-unit{font-size:14px;font-weight:400;color:#94a3b8;margin-left:8px}.admin-daily-trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:180px;padding:16px;background:#ffffff05;border-radius:12px}.admin-daily-trend-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}.admin-daily-trend-bar{width:100%;background:linear-gradient(to top,#0d7ff2,#0d7ff24d);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s}.admin-daily-trend-label{font-size:10px;color:#94a3b8;text-transform:uppercase;font-weight:500}.admin-quick-game-history{display:flex;flex-direction:column;gap:24px}.admin-game-filters{display:flex;flex-direction:column;gap:16px}.admin-filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-filter-group-label{font-size:14px;font-weight:500;color:#94a3b8;white-space:nowrap}.admin-filter-chip{padding:8px 16px;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-filter-chip:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.admin-filter-chip.active{background:#ea2a33;border-color:#ea2a33;color:#fff;box-shadow:0 4px 12px #ea2a3333}.admin-game-list{display:flex;flex-direction:column;gap:16px}.admin-game-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s}.admin-game-card:hover{border-color:#fff3;box-shadow:0 4px 12px #0003;transform:scale(.99)}.admin-game-card-content{display:flex;flex-direction:column;gap:16px}.admin-game-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-game-card-info{display:flex;flex-direction:column;gap:4px}.admin-game-room-id{font-size:16px;font-weight:700;color:#fff}.admin-game-time{font-size:12px;color:#94a3b8}.admin-game-card-tags{display:flex;gap:8px;flex-shrink:0}.admin-game-card-body{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.admin-game-stats{display:flex;gap:16px;font-size:14px;color:#94a3b8}.admin-game-winner{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.admin-game-winner-good{color:#3b82f6}.admin-game-winner-evil{color:#ef4444}.admin-game-winner-failed{color:#f59e0b}.admin-quick-games{display:flex;flex-direction:column}.admin-quick-games-tabs{color:#fff}.admin-quick-games-tabs .ant-tabs-tab{color:#94a3b8}.admin-quick-games-tabs .ant-tabs-tab-active{color:#0d7ff2}.admin-quick-games-tabs .ant-tabs-ink-bar{background:#0d7ff2}.admin-quick-games-tabs .ant-tabs-content-holder{padding-top:24px}:root{--purple-primary: #8B5CF6;--purple-dark: #7C3AED;--purple-light: #A78BFA;--purple-lighter: #C4B5FD;--purple-lightest: #F5F3FF;--text-strong: #1F2937;--text-soft: #4B5563;--text-normal: #6B7280;--text-faint: #9CA3AF;--bg-page: #F5F3FF;--bg-nav: rgba(196, 181, 253, .95);--bg-card: #FFFFFF;--bg-card-hover: #F9FAFB;--btn-primary: #8B5CF6;--btn-primary-hover: #7C3AED;--btn-secondary-border: #8B5CF6;--tag-purple: #8B5CF6;--tag-green: #10B981;--tag-red: #EF4444;--tag-amber: #F59E0B;--tag-pink: #EC4899;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}:root{--primary: #ea2a33;--primary-dark: #c91f27;--primary-light: #da0b0b;--background-light: #f8f6f6;--background-dark: #211111;--background-dark-alt: #1a0f0f;--surface-dark: #2c1a1a;--surface-dark-alt: #2a1818;--surface-light: #392020;--surface-active: #4a3636;--border-dark: #533c3d;--border-dark-alt: #663336;--white-border: rgba(255, 255, 255, .05);--white-border-light: rgba(255, 255, 255, .1);--white-border-medium: rgba(255, 255, 255, .2);--text-primary: #ffffff;--text-secondary: #b89d9f;--text-gray: rgba(255, 255, 255, .4);--text-gray-light: rgba(255, 255, 255, .6);--text-gray-medium: rgba(255, 255, 255, .7);--font-display: "Spline Sans", sans-serif;--font-body: "Noto Sans", sans-serif;--radius-sm: .25rem;--radius: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-2xl: 3rem;--radius-full: 9999px;--shadow-glow: 0 0 15px rgba(218, 11, 11, .3);--shadow-glow-sm: 0 0 8px rgba(218, 11, 11, .2);--shadow-glow-lg: 0 0 20px rgba(234, 42, 51, .3);--shadow-lg: 0 4px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .8);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px}.glass-panel{background:#221010d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.glass-panel-light{background:#22101099;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--background-dark)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--primary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.glow-effect{box-shadow:var(--shadow-glow)}.glow-effect-sm{box-shadow:var(--shadow-glow-sm)}.glow-effect-lg{box-shadow:var(--shadow-glow-lg)}.demo-button{border-radius:var(--radius-full);font-weight:600;transition:all .3s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.demo-button-primary{background:var(--primary);color:var(--text-primary);border:none;box-shadow:var(--shadow-glow-sm)}.demo-button-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.demo-button-secondary{background:var(--surface-dark);color:var(--text-gray-medium);border:1px solid var(--white-border)}.demo-button-secondary:hover{background:var(--surface-light);border-color:var(--white-border-light);color:var(--text-primary)}.demo-input{background:var(--surface-dark);border:1px solid var(--white-border);border-radius:var(--radius-xl);color:var(--text-primary);padding:14px 16px;transition:all .3s ease}.demo-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #ea2a3333;background:var(--surface-active)}.demo-input::placeholder{color:var(--text-gray)}.demo-card{background:var(--surface-dark);border:1px solid var(--white-border);border-radius:var(--radius-xl);transition:all .3s ease}.demo-card:hover{border-color:var(--white-border-light);transform:translateY(-2px)}.demo-card-active{transform:scale(.98)}.demo-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.demo-tag-primary{background:var(--primary);color:var(--text-primary)}.demo-tag-secondary{background:#ffffff0d;color:var(--text-gray-light);border:1px solid var(--white-border)}@media (max-width: 768px){.demo-responsive-hide{display:none}}@media (min-width: 769px){.demo-responsive-show{display:block}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-display),"SF Pro Display","PingFang SC","Segoe UI",-apple-system,BlinkMacSystemFont,"Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-dark);color:var(--text-primary);min-height:100vh}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;justify-content:center}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #ff4d4fb3}50%{opacity:.8;box-shadow:0 0 0 10px #ff4d4f00}}.highlight-pulse{animation:pulse 1.5s infinite}.app-card{background:var(--bg-card);border:1px solid #E5E7EB;border-radius:20px;padding:18px;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.app-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--purple-lighter)}.app-button{border:1px solid var(--btn-secondary-border);border-radius:12px;padding:12px 18px;font-size:14px;font-weight:600;color:var(--purple-primary);background:var(--bg-card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;min-height:44px}.app-button:hover{background:var(--bg-card-hover);border-color:var(--purple-dark);color:var(--purple-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-button.primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-dark));border:none;color:#fff;box-shadow:0 4px 12px #8b5cf64d;font-weight:700;letter-spacing:.3px}.app-button.primary:hover{box-shadow:0 6px 16px #8b5cf666;transform:translateY(-2px);background:linear-gradient(135deg,var(--purple-dark),var(--purple-primary))}.app-button.small{padding:8px 14px;font-size:13px;min-height:36px}.ant-btn.app-button:not(.primary):active,.ant-btn.app-button:not(.primary):focus,.ant-btn.app-button:not(.primary):focus-visible,.ant-btn.app-button:not(.primary).ant-btn-loading{background:var(--bg-card)!important;border-color:var(--btn-secondary-border)!important;color:var(--purple-primary)!important}.ant-btn.app-button.primary:active,.ant-btn.app-button.primary:focus,.ant-btn.app-button.primary:focus-visible,.ant-btn.app-button.primary.ant-btn-loading{background:linear-gradient(135deg,var(--purple-primary),var(--purple-dark))!important;border:none!important;color:#fff!important}.ant-btn.app-button.primary.no-hover:hover{background:linear-gradient(135deg,var(--purple-primary),var(--purple-dark))!important;box-shadow:0 4px 12px #8b5cf64d!important;transform:translateY(0)!important;border:none!important;color:#fff!important}.host-room-modal .ant-modal-content{background:linear-gradient(135deg,#44235ef2,#1a103af2)!important;border:1px solid rgba(255,255,255,.25)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;backdrop-filter:blur(20px) saturate(180%)!important}.host-room-modal .ant-modal-header{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:18px 24px!important}.host-room-modal .ant-modal-title{color:var(--text-strong)!important;font-weight:700!important;font-size:18px!important}.host-room-modal .ant-modal-close{color:var(--text-soft)!important}.host-room-modal .ant-modal-close:hover{color:var(--text-strong)!important;background:#ffffff1a!important}.host-room-modal .ant-modal-body,.host-room-modal .ant-modal-body *,.host-room-modal .ant-modal-body div,.host-room-modal .ant-modal-body span,.host-room-modal .ant-modal-body p,.host-room-modal .ant-modal-body label,.host-room-modal .ant-modal-body h1,.host-room-modal .ant-modal-body h2,.host-room-modal .ant-modal-body h3,.host-room-modal .ant-modal-body h4,.host-room-modal .ant-modal-body h5,.host-room-modal .ant-modal-body h6{color:#fff!important}.host-room-modal .ant-input,.host-room-modal .ant-input-number,.host-room-modal .ant-input-number-input,.host-room-modal textarea.ant-input{color:#000!important;-webkit-text-fill-color:#000000!important}.host-room-modal .ant-select-selector{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;padding:4px 11px!important;min-height:36px!important;transition:all .2s ease!important}.host-room-modal .ant-select-selection-item{color:#fff!important;font-size:14px!important;line-height:28px!important}.host-room-modal .ant-select-selection-placeholder{color:#ffffff80!important;font-size:14px!important;line-height:28px!important}.host-room-modal .ant-select-focused .ant-select-selector{border-color:#ff4f9199!important;box-shadow:0 0 0 2px #ff4f9126!important}.host-room-modal .ant-select-arrow{color:#ffffffb3!important;font-size:12px!important}.host-room-modal .ant-select-dropdown{background:#1a103af2!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;box-shadow:0 4px 16px #0000004d!important;padding:4px!important}.host-room-modal .ant-select-item{color:#ffffffe6!important;border-radius:6px!important;margin:2px 0!important;padding:8px 12px!important;font-size:14px!important;line-height:1.5!important;transition:all .15s ease!important}.host-room-modal .ant-select-item:hover{background:#ffffff1a!important;color:#fff!important}.host-room-modal .ant-select-item-option-selected{background:#ff4f9140!important;color:#fff!important;font-weight:500!important}.host-room-modal .ant-select-item-option-active{background:#ffffff1f!important}.host-room-modal .ant-select-item,.host-room-modal .ant-select-item-option,.host-room-modal .ant-select-item-option-content,.host-room-modal .badge,.host-room-modal .badge-row .badge,.host-room-modal [style*=color],.host-room-modal [style*="var(--text-soft)"],.host-room-modal [style*="var(--text-strong)"]{color:#fff!important}@media (max-width: 375px){.app-card{padding:14px;border-radius:16px}.app-button{padding:10px 16px;font-size:13px;min-height:40px}.app-button.small{padding:6px 12px;font-size:12px;min-height:32px}.host-room-modal .ant-modal-content{margin:10px;max-width:calc(100vw - 20px)!important}.host-room-modal .ant-modal-header{padding:14px 18px!important}.host-room-modal .ant-modal-title{font-size:16px!important}.host-room-modal .ant-modal-body{padding:14px 18px!important}}@media (min-width: 376px) and (max-width: 480px){.app-card{padding:16px}.host-room-modal .ant-modal-content{margin:15px;max-width:calc(100vw - 30px)!important}}@media (max-width: 375px){.host-room-modal .ant-modal-content,.player-room-modal .ant-modal-content{margin:10px;max-width:calc(100vw - 20px)!important}}@media (min-width: 376px) and (max-width: 480px){.host-room-modal .ant-modal-content,.player-room-modal .ant-modal-content{margin:15px;max-width:calc(100vw - 30px)!important}}@media (min-width: 481px) and (max-width: 768px){.host-room-modal .ant-modal-content,.player-room-modal .ant-modal-content{max-width:600px!important}}@media (min-width: 769px) and (max-width: 1024px){.host-room-modal .ant-modal-content,.player-room-modal .ant-modal-content{max-width:700px!important}}@media (min-width: 1025px){.host-room-modal .ant-modal-content,.player-room-modal .ant-modal-content{max-width:800px!important}}
