:root{--game-primary: #3b82f6;--game-secondary: #8b5cf6;--game-accent: #f59e0b;--game-danger: #ef4444;--game-success: #10b981;--game-bg: rgba(15, 23, 42, .85);--game-border: rgba(255, 255, 255, .15)}.animate-slide-up{animation:slideUp .3s ease-out forwards}.animate-pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.9}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}*,*:before,*:after{box-sizing:border-box}html,body{overscroll-behavior-y:none;overscroll-behavior-x:none;overflow-anchor:none;padding:0;margin:0}.page{position:relative;width:100%;max-width:100vw;margin:0 auto;min-height:100vh;background:#fff8e7;overflow-x:hidden}.header{position:fixed;top:0;left:0;width:100%;z-index:50;pointer-events:none}.header-bar{padding:2.133vw;display:flex;justify-content:space-between;align-items:center}.brand{font-size:1.75rem;font-weight:900;color:#1f2937;letter-spacing:-.015em;text-shadow:0 1px 1px rgba(0,0,0,.06)}.brand-accent{color:#3b82f6}.scroll-tip{position:fixed;bottom:17.067vw;left:0;width:100%;text-align:center;pointer-events:none;z-index:20}.scroll-tip__message{display:inline-block;color:#4b5563;font-weight:700;background:#fffc;padding:1.067vw 2.133vw;border-radius:1333.2vw;-webkit-backdrop-filter:saturate(180%) blur(.8vw);backdrop-filter:saturate(180%) blur(.8vw);box-shadow:0 .8vw 2.4vw #00000026;border:1px solid rgba(255,255,255,.6)}.scroll-overlay-top{position:absolute;top:0;left:0;width:1px;pointer-events:none;z-index:-1}.editor-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5100;pointer-events:none}.editor-layer>*{pointer-events:auto}.part-selector{position:absolute;bottom:53.333vw;right:2.133vw;display:flex;flex-direction:column;gap:1.067vw}@media(min-width:768px){.part-selector{bottom:280px}}.part-btn{width:5.333vw;height:5.333vw;border-radius:1333.2vw;box-shadow:0 1.333vw 3.333vw #00000026;border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.6vw;font-weight:700;color:#475569;background:#ffffffe6;transition:transform .12s ease,background .12s ease}.part-btn:hover{background:#fff}.part-btn.is-active{background:#3b82f6;color:#fff;transform:scale(1.1)}.floating-indicator{font-size:1.6vw;padding:.533vw 1.067vw;border-radius:1333.2vw;white-space:nowrap;-webkit-backdrop-filter:saturate(180%) blur(.8vw);backdrop-filter:saturate(180%) blur(.8vw);transition:all .16s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.floating-indicator.is-editing{background:#22c55e;color:#fff}.floating-indicator.is-idle{background:#00000080;color:#fff;animation:bounce 1.5s infinite}.label-box{display:none;padding:.533vw 1.067vw;border-radius:.8vw;box-shadow:0 .267vw 1.067vw #0000000f;border:1px solid #f3f4f6;min-width:13.333vw;text-align:center;transition:all .3s;background:#ffffffe6}.label-box.is-me{background:#fefce8e6;border-color:#facc15}.label-box h3{font-weight:700;color:#374151;font-size:1.333vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-box p{font-size:1.067vw;color:#6b7280;line-height:1.2;margin-top:.267vw}.joystick-container{position:fixed;bottom:10.667vw;right:5.333vw;display:flex;flex-direction:column;align-items:center;gap:1.067vw;pointer-events:auto}.joystick-base{width:13.333vw;height:13.333vw;border-radius:50%;background-color:#fff3;border:.267vw solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);touch-action:none;display:flex;align-items:center;justify-content:center}.joystick-knob{width:5.333vw;height:5.333vw;border-radius:50%;background-color:#fffc;transform:translate(0);pointer-events:none}.room-editor__header-actions{display:flex;gap:1.067vw;margin-bottom:1.067vw;justify-content:space-between}.room-editor__label-row--start{justify-content:flex-start!important}.room-editor__control-group--mb16{margin-bottom:2.133vw}.room-editor__slider-footer{display:flex;justify-content:space-between;font-size:1.333vw;color:#666;margin-top:.533vw}.webgpu-status-bar{position:fixed;bottom:2.667vw;left:2.667vw;background:#00000080;color:#fff;padding:1.067vw 1.6vw;border-radius:1.067vw;font-size:1.6vw;z-index:1000}.webgpu-switch-panel{position:fixed;bottom:2.667vw;left:2.667vw;background:#fff;padding:1.6vw;border-radius:1.6vw;box-shadow:0 .533vw 1.6vw #00000026;z-index:1000;display:flex;flex-direction:column;gap:1.067vw}.webgpu-switch-title{font-size:1.867vw;font-weight:700;color:#333}.webgpu-switch-label{display:flex;align-items:center;gap:1.067vw;cursor:pointer;font-size:1.733vw;color:#666}.webgpu-switch-info{font-size:1.333vw;color:#999}.cursor-pointer{cursor:pointer}.radio-item{display:flex;align-items:center;gap:1.067vw;margin-bottom:1.067vw}.radio-item:last-child{margin-bottom:0}.save-type-tag--small{font-size:1.333vw;color:#6b7280;margin-top:.267vw}.render-quality-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:40}.render-quality-modal-content{background:#111827;padding:2.133vw;border-radius:1.6vw;min-width:29.333vw}.render-quality-modal-title{margin-bottom:1.6vw;color:#e5e7eb;font-weight:600}.render-quality-modal-list{display:flex;flex-direction:column;gap:1.067vw}.flex-row-center-gap8{display:flex;align-items:center;gap:1.067vw}.game-hub-color-popover{position:absolute;bottom:120%;right:0;z-index:1100;background:#1e293b;padding:1.6vw;border-radius:2.133vw;box-shadow:0 1.333vw 5.333vw #000c;border:1px solid rgba(255,255,255,.1)}.react-colorful{width:21.333vw!important;height:21.333vw!important}.react-colorful__saturation{border-radius:1.067vw 1.067vw 0 0!important}.react-colorful__hue{height:1.6vw!important;border-radius:0 0 1.067vw 1.067vw!important;margin-top:1.067vw!important}.react-colorful__last-control{border-radius:0 0 1.067vw 1.067vw!important}.modal-field-group{margin-top:2.133vw}.floor-item{width:100%;padding:0;overflow:hidden;position:relative;background:#000;display:block;margin:0 auto;border-bottom:none}.canvas-full{width:100%;height:100%;display:block}.floor-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.133vw;background:#333}.floor-info-overlay{position:absolute;top:2vw;left:2vw;z-index:10;background:#000000b3;color:#fff;padding:.533vw 1.6vw;border-radius:.8vw;font-size:1.733vw;font-weight:700;pointer-events:none;border:1px solid rgba(255,255,255,.3);box-shadow:0 .533vw 1.6vw #00000080}.multi-canvas-page{background:#000;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0}.rooms-list{width:100%}.empty-state-loading{text-align:center;padding:13.333vw 0;color:#fff}.video-player-page{width:100vw;height:100vh;background-color:#2a2a2a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-family:sans-serif;cursor:pointer}.video-player-mute-overlay{position:absolute;top:2.667vw;background-color:#0009;padding:1.067vw 2.133vw;border-radius:2.667vw;z-index:10;pointer-events:none}.video-player-title{margin-bottom:2.667vw}.video-player-container{width:80%;max-width:106.667vw;box-shadow:0 1.333vw 4vw #00000080;border-radius:1.067vw;overflow:hidden;background-color:transparent}.video-player-video{width:100%;display:block;background-color:transparent}.video-player-info{margin-top:2.667vw;font-size:1.867vw;color:#888}.video-player-back-btn{margin-top:4vw;padding:1.333vw 2.667vw;background-color:#333;border:1px solid #444;color:#fff;border-radius:.533vw;cursor:pointer}.simple-scene-container{width:100%;height:100vh;background:#e5e7eb}.simple-scene-back-container{position:absolute;top:2.133vw;left:2.133vw;z-index:50}.simple-scene-back-link{background:#fff;color:#374151;border-radius:1.067vw;padding:1.067vw 2.133vw;box-shadow:0 .533vw 1.6vw #0000001f;font-weight:700;text-decoration:none;display:inline-block}.game-hub-input{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:.8vw;color:#fff;padding:.533vw 1.067vw;font-size:1.6vw;outline:none;width:100%}@media(max-width:640px){.game-hub{top:auto;bottom:0;left:0;right:0;padding:16px 16px 30px;align-items:center;background:linear-gradient(0deg,#000000e6,#0006,#0000);pointer-events:none}.game-hub>*{pointer-events:auto}.game-hub-nav{width:100%;max-width:400px;justify-content:space-around;order:2;margin-top:10px}.game-hub-panel{width:calc(100vw - 32px);max-width:400px;order:1;box-shadow:0 -10px 40px #00000080}.game-hub-panel__content{max-height:25vh}.game-hub-panel__grid{grid-template-columns:1fr}.game-hub-panel__grid--2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-hub-panel__grid--3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.game-hub-color-preview{width:44px;height:44px;border-radius:10px}.game-hub-color-popover{position:fixed;bottom:80px;left:50%;right:auto;transform:translate(-50%);width:220px;padding:20px;display:flex;justify-content:center;background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.react-colorful{width:180px!important;height:180px!important}}.game-btn{position:relative;display:flex;align-items:center;justify-content:center;height:5.867vw;padding:0 2.133vw;border-radius:1.6vw;font-size:2vw;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;border:none;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);background:linear-gradient(180deg,#ffffff1a,#0000001a);box-shadow:0 .533vw #0003,0 .8vw 1.333vw #0000004d;text-shadow:0 .267vw .533vw rgba(0,0,0,.5);overflow:hidden;white-space:nowrap;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(min-width:641px){.game-btn:not(.game-btn--sm){height:40px;font-size:14px}}@media(min-width:1024px){.game-btn:not(.game-btn--sm){padding:0 20px;height:44px;font-size:15px}}@media(min-width:2000px){.game-btn:not(.game-btn--sm){padding:0 24px;height:48px;font-size:16px}}.game-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff26,#fff0);pointer-events:none}.game-btn:active{transform:translateY(.267vw);box-shadow:0 .267vw #0003,0 .4vw .667vw #0000004d}.game-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.game-btn--blue{background-color:#3b82f6;box-shadow:0 .533vw #1d4ed8,0 .8vw 1.333vw #0000004d}.game-btn--blue:hover{background-color:#2563eb;box-shadow:0 .533vw #1e40af,0 1.067vw 2vw #2563eb66}.game-btn--purple{background-color:#8b5cf6;box-shadow:0 .533vw #6d28d9,0 .8vw 1.333vw #0000004d}.game-btn--purple:hover{background-color:#7c3aed;box-shadow:0 .533vw #5b21b6,0 1.067vw 2vw #7c5cf666}.game-btn--green{background-color:#10b981;box-shadow:0 .533vw #059669,0 .8vw 1.333vw #0000004d}.game-btn--green:hover{background-color:#059669;box-shadow:0 .533vw #047857,0 1.067vw 2vw #10b98166}.game-btn--yellow{background-color:#f59e0b;box-shadow:0 .533vw #d97706,0 .8vw 1.333vw #0000004d;color:#451a03;text-shadow:none}.game-btn--yellow:hover{background-color:#d97706;box-shadow:0 .533vw #b45309,0 1.067vw 2vw #f59e0b66}.game-btn--red{background-color:#ef4444;box-shadow:0 .533vw #dc2626,0 .8vw 1.333vw #0000004d}.game-btn--red:hover{background-color:#dc2626;box-shadow:0 .533vw #b91c1c,0 1.067vw 2vw #ef444466}.game-btn--gray{background-color:#64748b;box-shadow:0 .533vw #475569,0 .8vw 1.333vw #0000004d}.game-btn--gray:hover{background-color:#475569;box-shadow:0 .533vw #334155,0 1.067vw 2vw #64748b66}.game-btn--sm{padding:.8vw 1.333vw;font-size:1.467vw;border-radius:1.067vw;box-shadow:0 .4vw #0003}@media(min-width:1024px){.game-btn--sm{padding:8px 12px;font-size:12px}}@media(min-width:2000px){.game-btn--sm{padding:10px 14px;font-size:13px}}.game-btn--sm:active{transform:translateY(1px);box-shadow:0 1px #0003}.game-ctrl-group{display:flex;flex-direction:column;gap:1.6vw;padding:2.133vw;max-width:24vw}.game-ctrl-title{font-size:1.6vw;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.533vw;text-align:center}.game-sidebar{position:fixed;top:2.667vw;right:2.667vw;z-index:100;display:flex;flex-direction:column;gap:1.6vw}.save-type-selector{margin-top:2.133vw}.save-type-option{display:flex;align-items:center;gap:1.067vw;margin-bottom:1.067vw;cursor:pointer}.save-type-option--last{margin-bottom:0}.save-type-tag{font-size:1.333vw;color:#6b7280;margin-top:.267vw}.modal-header-text{margin-bottom:1.6vw;color:#e5e7eb;font-weight:600}.quality-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:40}.quality-modal{background:#111827;padding:3.2vw;border-radius:1.6vw;border:1px solid rgba(255,255,255,.1);width:100%;max-width:42.667vw;box-shadow:0 1.333vw 3.333vw -.667vw #0000001a,0 1.067vw 1.333vw -.8vw #0000001a}.game-marker-tools{position:fixed;bottom:2.667vw;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:1.6vw;align-items:center}.game-joystick-area{position:fixed;bottom:5.333vw;right:5.333vw;z-index:100}.game-joystick-base{width:16vw;height:16vw;border-radius:50%;background:radial-gradient(circle at center,#ffffff1a,#0006);border:.267vw solid var(--game-border);box-shadow:0 1.067vw 4.267vw #00000080,inset 0 0 2.667vw #00000080;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw)}.game-joystick-thumb{width:6.667vw;height:6.667vw;border-radius:50%;background:linear-gradient(135deg,#475569,#1e293b);border:.267vw solid rgba(255,255,255,.3);box-shadow:0 .533vw 1.333vw #00000080,inset 0 .267vw .667vw #fff3}.game-input{background:#0006;border:1px solid var(--game-border);border-radius:1.067vw;padding:1.067vw 1.6vw;color:#fff;font-size:1.867vw;outline:none;transition:border-color .2s}.game-input:focus{border-color:var(--game-primary);box-shadow:0 0 1.333vw #3b82f64d}@media(max-width:640px){.game-sidebar{top:10px;right:10px;gap:8px}.game-btn{padding:8px 12px;font-size:12px}.game-marker-tools{bottom:80px;flex-wrap:wrap;justify-content:center;width:90%}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1.333vw 2.4vw;border-radius:1333.2vw;font-weight:600;font-size:1.867vw;cursor:pointer;border:none;transition:all .2s ease;color:#fff}.btn:active{transform:scale(.95)}.btn--purple{background:#a855f7}.btn--purple:hover{background:#9333ea}.btn--blue{background:#3b82f6}.btn--blue:hover{background:#2563eb}.btn--green{background:#22c55e}.btn--green:hover{background:#16a34a}.btn--gray{background:#6b7280}.btn--gray:hover{background:#4b5563}.btn--yellow{background:#facc15;color:#422006}.btn--yellow:hover{background:#eab308}.btn--small{padding:.533vw 1.067vw;font-size:1.333vw}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:2.133vw;box-shadow:0 2.667vw 6vw #00000040;width:90%;max-width:66.667vw;max-height:80vh;overflow-y:auto}.modal h2{font-size:2.4vw;font-weight:700;color:#1f2937;padding:2.667vw 3.2vw 0;margin:0}.modal-content{padding:3.2vw}.modal-content label{display:block;font-size:1.867vw;font-weight:600;color:#6b7280;margin-bottom:1.067vw}.modal-content input[type=text]{width:100%;padding:1.6vw;border:1px solid #e5e7eb;border-radius:1.067vw;font-size:1.867vw;box-sizing:border-box}.modal-actions{display:flex;gap:1.6vw;padding:0 3.2vw 3.2vw;justify-content:flex-end}.pose-list{display:flex;flex-direction:column;gap:1.6vw;max-height:40vw;overflow-y:auto}.pose-item{display:flex;justify-content:space-between;align-items:center;padding:2.133vw;background:#f9fafb;border-radius:1.067vw;border:1px solid #e5e7eb}.pose-info h3{font-size:1.867vw;font-weight:700;color:#1f2937;margin:0 0 .533vw}.pose-date{font-size:1.6vw;color:#9ca3af;margin:0}.pose-actions{display:flex;gap:1.067vw}.empty-state{text-align:center;color:#9ca3af;font-size:1.867vw;padding:4.267vw 0}.room-editor{position:absolute;bottom:2.133vw;left:2.133vw;right:2.133vw;background:#fffffff2;-webkit-backdrop-filter:saturate(180%) blur(1.6vw);backdrop-filter:saturate(180%) blur(1.6vw);border-radius:2.133vw;box-shadow:0 2.667vw 6vw #00000040;border:1px solid #e5e7eb;z-index:50;overflow:hidden;max-width:85.333vw;margin:0 auto;display:flex;flex-direction:column;max-height:70vh}.room-editor__tabs{display:flex;border-bottom:1px solid #e5e7eb;flex-shrink:0}.room-editor__tab{flex:1;padding:1.6vw;font-size:1.867vw;font-weight:700;color:#6b7280;transition:background .12s ease,color .12s ease;border:none;background:transparent;cursor:pointer}.room-editor__tab:hover{background:#f9fafb}.room-editor__tab.is-active{background:#eff6ff;color:#2563eb;border-bottom:.267vw solid #3b82f6}.room-editor__close{padding:0 2.133vw;color:#9ca3af;background:transparent;border:none;cursor:pointer;font-size:2.4vw}.room-editor__close:hover{color:#ef4444}.room-editor__content{padding:2.667vw;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.room-editor__heading{font-size:2.133vw;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:1.067vw;margin-bottom:2.133vw}.room-editor__dot{width:1.333vw;height:1.333vw;border-radius:1333.2vw;background:#3b82f6;display:inline-block}.room-editor__part-selector{margin-bottom:2.133vw;border-bottom:1px solid #f3f4f6;padding-bottom:1.6vw;overflow:hidden}.room-editor__part-list{display:flex;gap:1.067vw;overflow-x:auto;padding:.533vw 0 1.6vw;scrollbar-width:none;-ms-overflow-style:none}.room-editor__part-list::-webkit-scrollbar{display:none}.room-editor__part-btn{padding:.8vw 1.6vw;border-radius:1333.2vw;background:#f3f4f6;color:#4b5563;font-size:1.6vw;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s ease}.room-editor__part-btn:hover{background:#e5e7eb}.room-editor__part-btn.is-active{background:#3b82f6;color:#fff;border-color:#2563eb;box-shadow:0 .533vw .8vw -1px #3b82f633}.room-editor__reset-btn{flex:1;padding:1.067vw;border-radius:1.067vw;background:#fff;border:1px solid #e5e7eb;color:#6b7280;font-size:1.6vw;font-weight:600;cursor:pointer;transition:all .2s ease}.room-editor__reset-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.room-editor__reset-btn--all{color:#ef4444;border-color:#fca5a5}.room-editor__reset-btn--all:hover{background:#fef2f2;border-color:#ef4444;color:#b91c1c}.room-editor__control-group{display:flex;flex-direction:column;gap:.533vw;margin-bottom:2.133vw}.room-editor__label-row{display:flex;justify-content:space-between;font-size:1.467vw;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.533vw}.room-editor__slider{width:100%;height:1.6vw;background:#e5e7eb;border-radius:1.067vw;cursor:pointer;accent-color:#3b82f6;-moz-appearance:none;appearance:none;-webkit-appearance:none}.room-editor__slider::-webkit-slider-thumb{-webkit-appearance:none;width:2.667vw;height:2.667vw;border-radius:50%;background:#3b82f6;cursor:pointer;border:.267vw solid white;box-shadow:0 .267vw .533vw #0000001a}.room-editor__tip{font-size:1.6vw;color:#9ca3af;text-align:center;margin-top:1.067vw;margin-bottom:1.067vw}.room-editor__style-panel{display:flex;flex-direction:column;gap:2.667vw}.room-editor__swatches{display:flex;gap:1.333vw;flex-wrap:wrap}.swatch{width:5.333vw;height:5.333vw;border-radius:1333.2vw;border:.4vw solid white;box-shadow:0 0 0 1px #e5e7eb;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;cursor:pointer;padding:0}.swatch--square{border-radius:1.067vw}.swatch.is-active{box-shadow:0 0 0 .267vw #3b82f6;transform:scale(1.05)}@media(max-width:640px){.room-editor{bottom:0;left:0;right:0;border-radius:20px 20px 0 0;max-height:80vh}.room-editor__content{padding:16px}.swatch{width:44px;height:44px}}.spz-viewer-container{width:100%;height:100vh;background:#1a1a1a;position:relative}.spz-viewer-info{position:absolute;top:2.133vw;right:2.133vw;z-index:50;background:#000000b3;color:#fff;padding:1.6vw 2.133vw;border-radius:1.067vw;font-size:1.867vw}.spz-viewer-back-container{position:absolute;top:2.133vw;left:2.133vw;z-index:50}.spz-viewer-back-container .btn{background:#fff;color:#374151;border-radius:1.067vw;padding:1.067vw 2.133vw;box-shadow:0 .533vw 1.6vw #0000001f;font-weight:700;text-decoration:none;display:inline-block}.spz-viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2.667vw 5.333vw;border-radius:1.6vw;font-size:2.4vw;z-index:100}.spz-viewer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#dc2626e6;color:#fff;padding:2.667vw 5.333vw;border-radius:1.6vw;font-size:2.133vw;z-index:100;max-width:80%;text-align:center}.spz-canvas{width:100%;height:100%;display:block}.enter-room-container{display:flex;flex-direction:column;align-items:center;gap:.8vw;pointer-events:none}.enter-room-container .enter-room-btn{background:#ffffff80;color:#007aff;border:.267vw solid rgba(0,122,255,.5);padding:.8vw 2.133vw;border-radius:2.667vw;font-size:1.733vw;cursor:pointer;white-space:nowrap;box-shadow:0 .533vw 2vw #0000001a;font-weight:700;pointer-events:auto;display:flex;align-items:center;gap:.8vw;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw)}.enter-room-container .enter-room-btn:hover{background:#007affe6;color:#fff;transform:scale(1.1);opacity:1;border-color:transparent;box-shadow:0 .8vw 2.667vw #007aff4d}.enter-room-container .enter-room-btn .btn-icon{font-size:2.133vw}.enter-room-container .enter-room-btn .btn-arrow{font-size:1.867vw;opacity:.8}.character-name-label{background:#0009;color:#fff;padding:.533vw 1.333vw;border-radius:1.6vw;font-size:1.6vw;font-weight:700;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.character-name-label.selected{background:#007affcc;border-color:#ffffff80;box-shadow:0 0 1.333vw #007aff80}.game-hub-divider{height:1px;background:#ffffff1a;margin:1.6vw 0}.game-hub-input{width:100%;padding:1.333vw 1.6vw;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1.6vw;color:#fff;font-size:1.867vw;outline:none;transition:all .2s}.game-hub-input:focus{background:#ffffff1a;border-color:var(--game-primary);box-shadow:0 0 0 .267vw #3b82f633}.game-hub-tabs{display:flex;padding:0 2.667vw;gap:2.133vw;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:1.6vw}.game-hub-tabs .game-hub-tab{padding:1.067vw .533vw;background:none;border:none;color:#94a3b8;font-size:1.867vw;font-weight:500;cursor:pointer;position:relative;transition:all .2s}.game-hub-tabs .game-hub-tab:hover{color:#fff}.game-hub-tabs .game-hub-tab.active{color:var(--game-primary, #3b82f6)}.game-hub-tabs .game-hub-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:.267vw;background:var(--game-primary, #3b82f6);border-radius:.267vw}.bundle-editor{display:flex;flex-direction:column;gap:2.133vw;height:100%}.bundle-editor .bundle-editor__header{display:flex;gap:1.6vw;align-items:center}.bundle-editor .bundle-editor__header .bundle-editor__actions{display:flex;gap:1.067vw;flex-shrink:0}.bundle-editor .bundle-editor__main{display:grid;grid-template-columns:1fr 1fr;gap:2.667vw;height:42.667vw}.bundle-editor .bundle-editor__main .bundle-editor__selection,.bundle-editor .bundle-editor__main .bundle-editor__order{display:flex;flex-direction:column;gap:1.333vw;overflow:hidden}.bundle-editor .bundle-editor__main .bundle-editor__selection .pose-list,.bundle-editor .bundle-editor__main .bundle-editor__order .pose-list{flex:1;overflow-y:auto;padding-right:.533vw}.bundle-editor .bundle-editor__main .bundle-editor__selection .pose-list::-webkit-scrollbar,.bundle-editor .bundle-editor__main .bundle-editor__order .pose-list::-webkit-scrollbar{width:.533vw}.bundle-editor .bundle-editor__main .bundle-editor__selection .pose-list::-webkit-scrollbar-thumb,.bundle-editor .bundle-editor__main .bundle-editor__order .pose-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.pose-item--selectable{cursor:pointer;transition:all .2s}.pose-item--selectable:hover{background:#ffffff0d}.pose-item--selectable.selected{border-color:var(--game-primary, #3b82f6);background:#3b82f61a}.pose-item--selectable.selected .pose-item__check{color:var(--game-primary, #3b82f6);font-weight:700}.game-hub-input--sm{padding:.8vw 1.333vw;font-size:1.6vw}.game-hub-color-picker-popover{background:#1e293b;padding:1.6vw;border-radius:2.133vw;border:1px solid rgba(255,255,255,.1);box-shadow:0 1.333vw 3.333vw #00000080}.game-hub-color-picker-overlay{position:fixed;top:-1333.333vw;right:-1333.333vw;bottom:-1333.333vw;left:-1333.333vw;z-index:-1;background:transparent;pointer-events:auto}.spz-config-status{display:flex;flex-direction:column;gap:.533vw;padding:1.067vw 1.333vw;border-radius:1.067vw;border:1px solid rgba(148,163,184,.2);background:#0f172a99}.spz-config-status__label{font-size:1.6vw;color:#94a3b8}.spz-config-status__value{font-size:1.733vw;color:#e2e8f0}.spz-config-status__sub{font-size:1.6vw;color:#9ca3af;font-family:monospace}.spz-config-status.is-empty .spz-config-status__value{color:#fbbf24}.page-container{min-height:100vh;overflow-anchor:none;touch-action:auto}.page-container--dynamic-height{height:var(--total-scroll-height)}.scene-container{position:fixed;top:0;left:0;right:0;height:100vh;z-index:0;touch-action:pan-y;transform:translateZ(0);will-change:transform}.canvas-container{width:100vw;height:100vh;touch-action:pan-y}.global-controls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5000}.user-list-page .game-hub-movement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.067vw}@media(max-width:640px){.user-list-page .game-hub-movement-grid{grid-template-columns:repeat(2,1fr);gap:4px}}@media(min-width:641px){.user-list-page .game-hub-movement-grid{gap:12px}}.room-chat-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.room-chat-page .loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:2.4vw;color:#999}.room-chat-page .loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);display:flex;justify-content:center;align-items:center;z-index:100}.room-chat-page .loading-overlay .loading-content{display:flex;flex-direction:column;align-items:center;gap:2vw}.room-chat-page .loading-overlay .loading-content .loading-spinner{width:5.333vw;height:5.333vw;border:.4vw solid #f3f3f3;border-top:.4vw solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.room-chat-page .loading-overlay .loading-content .loading-text{font-size:2.133vw;color:#666;font-weight:500}.room-chat-page .loading-overlay .loading-content .back-btn-simple{margin-top:1.333vw;padding:1.067vw 2.667vw;background:#3498db;color:#fff;border:none;border-radius:2.667vw;cursor:pointer;font-size:1.867vw;transition:background .2s}.room-chat-page .loading-overlay .loading-content .back-btn-simple:hover{background:#2980b9}.room-chat-page .history-image-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:10000;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease}.room-chat-page .history-image-overlay .fullscreen-image-wrapper{position:relative;max-width:90%;max-height:85%;display:flex;flex-direction:column;align-items:center;gap:2.667vw}.room-chat-page .history-image-overlay .fullscreen-image-wrapper img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 1.333vw 4vw #00000080;border-radius:.533vw}.room-chat-page .history-image-overlay .fullscreen-image-wrapper .fullscreen-actions{display:flex;gap:2.667vw;animation:slideUp .4s ease}.room-chat-page .history-image-overlay .fullscreen-image-wrapper .fullscreen-actions .full-action-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:1.333vw 2.667vw;border-radius:4vw;display:flex;align-items:center;gap:1.067vw;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw)}.room-chat-page .history-image-overlay .fullscreen-image-wrapper .fullscreen-actions .full-action-btn:hover{background:#ffffff4d;transform:translateY(-.267vw)}.room-chat-page .history-image-overlay .fullscreen-image-wrapper .fullscreen-actions .full-action-btn span{font-size:1.867vw;font-weight:500}.room-chat-page .room-main-column{width:100%;position:relative;display:flex;flex-direction:column;flex-shrink:0}.room-chat-page .room-main-column .resize-handle{width:100%;height:2.667vw;position:absolute;bottom:0;left:0;display:flex;justify-content:center;align-items:center;cursor:ns-resize;z-index:22;background:linear-gradient(to top,rgba(0,0,0,.1),transparent)}.room-chat-page .room-main-column .resize-handle .handle-bar{width:5.333vw;height:.533vw;background:#fffc;border-radius:.267vw;box-shadow:0 1px .4vw #0003}.room-chat-page .room-main-column .resize-handle:active .handle-bar{background:#007aff}.room-chat-page .room-header{width:100%;max-height:80vh;padding:2.667vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background-color .4s ease;touch-action:pan-y;-webkit-user-select:none;user-select:none}.room-chat-page .room-header .room-3d-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.room-chat-page .room-header .room-3d-bg canvas{width:100%!important;height:100%!important;display:block}.room-chat-page .room-header .reset-view-btn{position:absolute;bottom:5.333vw;left:2.667vw;z-index:10;width:4.8vw;height:4.8vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 .267vw 1.067vw #0000001a;transition:all .2s}.room-chat-page .room-header .reset-view-btn svg{opacity:.8}.room-chat-page .room-header .reset-view-btn:hover{background:#ffffffe6}.room-chat-page .room-header .reset-view-btn:hover svg{opacity:1}.room-chat-page .room-header .reset-view-btn:active{transform:scale(.9)}.room-chat-page .room-header .side-controls{position:absolute;top:2.667vw;right:2.667vw;z-index:10;display:flex;flex-direction:column;gap:1.6vw;pointer-events:auto}.room-chat-page .room-header .side-controls .camera-btn,.room-chat-page .room-header .side-controls .record-trigger-btn{position:relative;top:auto;right:auto;width:5.867vw;height:5.867vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 .533vw 1.6vw #00000026;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.room-chat-page .room-header .side-controls .camera-btn svg,.room-chat-page .room-header .side-controls .record-trigger-btn svg{width:2.933vw;height:2.933vw}.room-chat-page .room-header .side-controls .camera-btn:hover,.room-chat-page .room-header .side-controls .record-trigger-btn:hover{background:#ffffffe6;transform:scale(1.1)}.room-chat-page .room-header .side-controls .camera-btn:active,.room-chat-page .room-header .side-controls .record-trigger-btn:active{transform:scale(.9) rotate(-15deg)}.room-chat-page .room-header .side-controls .camera-btn.active,.room-chat-page .room-header .side-controls .record-trigger-btn.active{background:#ff3b30;color:#fff}.room-chat-page .room-header .side-controls .record-controls.inline{position:relative;top:auto;right:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:1.067vw;z-index:11}.room-chat-page .room-header .side-controls .record-controls.inline .record-timer{background:#000000bf;color:#fff;padding:.533vw 1.333vw;border-radius:2.133vw;font-size:1.6vw;font-weight:700;line-height:1}.room-chat-page .room-header .side-controls .record-controls.inline .record-toggle-btn{width:4.8vw;height:4.8vw;border-radius:50%;background:#fff;border:none;box-shadow:0 .533vw 1.867vw #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.room-chat-page .room-header .side-controls .record-controls.inline .record-toggle-btn .record-icon{width:1.867vw;height:1.867vw;background:#ff3b30;border-radius:50%;transition:all .2s}.room-chat-page .room-header .side-controls .record-controls.inline .record-toggle-btn:hover{transform:scale(1.06)}.room-chat-page .room-header .side-controls .record-controls.inline .record-toggle-btn:active{transform:scale(.95)}.room-chat-page .room-header .side-controls .record-controls.inline .record-toggle-btn.is-recording .record-icon{width:1.6vw;height:1.6vw;border-radius:.4vw;animation:pulse 1.2s infinite}.room-chat-page .room-header .bubble-gun-controls{position:absolute;left:50%;bottom:3.733vw;transform:translate(-50%);width:30.667vw;z-index:10;display:flex;align-items:center;justify-content:space-between;pointer-events:auto}.room-chat-page .room-header .bubble-gun-controls .bubble-btn,.room-chat-page .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page .room-header .bubble-gun-controls .drone-btn{width:5.867vw;height:5.867vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 .533vw 1.6vw #00000026;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.room-chat-page .room-header .bubble-gun-controls .bubble-btn svg,.room-chat-page .room-header .bubble-gun-controls .bubble-aim-btn svg,.room-chat-page .room-header .bubble-gun-controls .drone-btn svg{width:2.933vw;height:2.933vw}.room-chat-page .room-header .bubble-gun-controls .bubble-btn:hover,.room-chat-page .room-header .bubble-gun-controls .bubble-aim-btn:hover,.room-chat-page .room-header .bubble-gun-controls .drone-btn:hover{background:#ffffffe6;transform:scale(1.1)}.room-chat-page .room-header .bubble-gun-controls .bubble-btn:active,.room-chat-page .room-header .bubble-gun-controls .bubble-aim-btn:active,.room-chat-page .room-header .bubble-gun-controls .drone-btn:active{transform:scale(.9) rotate(-15deg)}.room-chat-page .room-header .bubble-gun-controls .bubble-btn{background:radial-gradient(circle at 30% 30%,#fffffff2,#bae6fdb3 35%,#d8b4fe99 60%,#fde68a80);color:#1f2937}.room-chat-page .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page .room-header .bubble-gun-controls .drone-btn{background:#ffffffd9;color:#1f2937}.room-chat-page .room-header .weather-control-wrapper{position:absolute;bottom:5.333vw;left:9.333vw;z-index:10;display:flex;align-items:center;gap:1.333vw}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn{width:4.8vw;height:4.8vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 .267vw 1.067vw #0000001a;transition:all .2s}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn svg{width:2.667vw;height:2.667vw;opacity:.8}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn.active{background:#2196f3;color:#fff}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn:hover{background:#ffffffe6}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn:hover svg{opacity:1}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn:hover.active{background:#1e88e5}.room-chat-page .room-header .weather-control-wrapper .weather-toggle-btn:active{transform:scale(.9)}.room-chat-page .room-header .weather-control-wrapper .weather-menu{display:flex;gap:.8vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);padding:.533vw;border-radius:2.667vw;box-shadow:0 .267vw 1.067vw #0000001a}.room-chat-page .room-header .weather-control-wrapper .weather-menu button{padding:.533vw 1.6vw;border:none;background:transparent;border-radius:2.133vw;font-size:1.6vw;cursor:pointer;color:#666;transition:all .2s}.room-chat-page .room-header .weather-control-wrapper .weather-menu button.active{background:#2196f3;color:#fff}.room-chat-page .room-header .weather-control-wrapper .weather-menu button:hover:not(.active){background:#0000000d}.room-chat-page .room-header .quality-control-wrapper{position:absolute;bottom:5.333vw;left:15.333vw;z-index:10;display:flex;align-items:center;gap:1.333vw}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn{width:4.8vw;height:4.8vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 .267vw 1.067vw #0000001a;transition:all .2s}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn span{font-size:1.333vw;font-weight:700;opacity:.8}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn.active{background:#2196f3;color:#fff}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn:hover{background:#ffffffe6}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn:hover span{opacity:1}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn:hover.active{background:#1e88e5}.room-chat-page .room-header .quality-control-wrapper .quality-toggle-btn:active{transform:scale(.9)}.room-chat-page .room-header .quality-control-wrapper .quality-menu{display:flex;gap:.8vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);padding:.533vw;border-radius:2.667vw;box-shadow:0 .267vw 1.067vw #0000001a}.room-chat-page .room-header .quality-control-wrapper .quality-menu button{padding:.533vw 1.6vw;border:none;background:transparent;border-radius:2.133vw;font-size:1.6vw;cursor:pointer;color:#666;transition:all .2s}.room-chat-page .room-header .quality-control-wrapper .quality-menu button.active{background:#2196f3;color:#fff}.room-chat-page .room-header .quality-control-wrapper .quality-menu button:hover:not(.active){background:#0000000d}.room-chat-page .room-header .drag-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;color:#fffc;font-size:1.333vw;pointer-events:none;background:#0000004d;padding:.8vw 2.133vw;border-radius:2.667vw;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);animation:fadeOut 3s forwards;animation-delay:2s}.room-chat-page .room-header .joystick-wrapper{position:absolute;top:50%;left:2.667vw;transform:translateY(-50%);z-index:10;pointer-events:auto}.room-chat-page .room-header .joystick-wrapper .joystick-base{width:13.333vw;height:13.333vw;border-radius:50%;background-color:#fff3;border:.267vw solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);touch-action:none;display:flex;align-items:center;justify-content:center}.room-chat-page .room-header .joystick-wrapper .joystick-knob{width:5.333vw;height:5.333vw;border-radius:50%;background-color:#fffc;transform:translate(0);pointer-events:none;box-shadow:0 .267vw 1.333vw #0003}.room-chat-page .room-header .back-btn{position:absolute;top:2.667vw;left:2.667vw;z-index:10;width:5.333vw;height:5.333vw;background:#ffffffb3;-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;box-shadow:0 .533vw 1.6vw #00000014;transition:all .2s cubic-bezier(.4,0,.2,1)}.room-chat-page .room-header .back-btn:hover{background:#ffffffe6;transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #0000001f}.room-chat-page .room-header .back-btn:active{transform:scale(.9) translateY(0)}.room-chat-page .room-header .back-btn svg{width:2.667vw;height:2.667vw}.room-chat-page .chat-sidebar-column{flex:1;display:flex;flex-direction:column;min-height:0;position:relative;z-index:20}.room-chat-page .chat-sidebar-column .room-info-section{padding:2.133vw 2.667vw;background:#fff;position:relative;z-index:21;flex-shrink:0;box-shadow:0 -1.333vw 2.667vw #0000000d}.room-chat-page .chat-sidebar-column .room-info-section .room-info{display:flex;align-items:center;gap:2.133vw}.room-chat-page .chat-sidebar-column .room-info-section .room-info .floor-badge{background:linear-gradient(135deg,#1a1a1a,#444);color:#fff;width:6.933vw;height:6.933vw;border-radius:1.867vw;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 .533vw 1.6vw #00000026}.room-chat-page .chat-sidebar-column .room-info-section .room-info .floor-badge .floor-num{font-size:1.867vw;font-weight:800;line-height:1}.room-chat-page .chat-sidebar-column .room-info-section .room-info .floor-badge .floor-label{font-size:1.6vw;font-weight:700;opacity:.8;margin-top:1px}.room-chat-page .chat-sidebar-column .room-info-section .room-info .user-details{flex:1}.room-chat-page .chat-sidebar-column .room-info-section .room-info .user-details .title-row{display:flex;align-items:center;gap:1.067vw}.room-chat-page .chat-sidebar-column .room-info-section .room-info .user-details .title-row h2{margin:0;font-size:2.667vw;color:#1a1a1a;font-weight:700}.room-chat-page .chat-sidebar-column .room-info-section .room-info .user-details .title-row .online-tag{font-size:1.467vw;background:#f0fdf4;color:#16a34a;padding:.267vw 1.067vw;border-radius:1.333vw;font-weight:600;border:1px solid #dcfce7}.room-chat-page .chat-sidebar-column .room-info-section .room-info .user-details .room-status{margin:.533vw 0 0;font-size:1.867vw;color:#666}.room-chat-page .chat-sidebar-column .chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;position:relative;z-index:20;min-height:0}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview{padding:2vw 2.667vw;background:#f8f9fa;border-top:1px solid #eee;display:flex;align-items:center;gap:2vw;animation:slideUp .3s ease-out}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview .attachment-wrapper{position:relative;width:8vw;height:8vw;border-radius:1.067vw;overflow:hidden;box-shadow:0 .267vw 1.067vw #0000001a}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview .attachment-wrapper img{width:100%;height:100%;object-fit:cover}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview .attachment-wrapper .remove-btn{position:absolute;top:-.267vw;right:-.267vw;width:2.4vw;height:2.4vw;background:#0009;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6vw;cursor:pointer}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview .attachment-wrapper .remove-btn:hover{background:#000}.room-chat-page .chat-sidebar-column .chat-container .pending-attachment-preview .attachment-hint{font-size:1.867vw;color:#666}.room-chat-page .chat-sidebar-column .chat-container .chat-messages{flex:1;overflow-y:auto;padding:3.333vw 2.667vw;display:flex;flex-direction:column;min-height:0}.room-chat-page .chat-sidebar-column .chat-container .chat-messages::-webkit-scrollbar{width:.8vw}.room-chat-page .chat-sidebar-column .chat-container .chat-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:.4vw}.room-chat-page .chat-sidebar-column .chat-container .chat-messages::-webkit-scrollbar-track{background:transparent}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item{max-width:85%;display:flex;flex-direction:column}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item .message-sender{font-size:1.6vw;color:#aaa;margin-bottom:.533vw;padding:0 1.067vw}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item .message-bubble{padding:1.6vw 2.4vw;border-radius:2.667vw;font-size:2vw;line-height:1.5;word-break:break-word;box-shadow:0 .267vw .667vw #00000008}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item.me{align-self:flex-end}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item.me .message-sender{text-align:right}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item.me .message-bubble{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border-bottom-right-radius:.533vw}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item.others{align-self:flex-start}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item.others .message-bubble{background-color:#f2f2f7;color:#1c1c1e;border-bottom-left-radius:.533vw}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item .message-attachment{margin-bottom:1.067vw;border-radius:1.6vw;overflow:hidden;cursor:zoom-in;transition:transform .2s}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item .message-attachment:hover{transform:scale(1.02)}.room-chat-page .chat-sidebar-column .chat-container .chat-messages .message-item .message-attachment img{display:block;width:100%;max-width:32vw;height:auto}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area{padding:2vw 2.667vw;display:flex;gap:1.6vw;background:#fff;border-top:1px solid #f2f2f7;padding-bottom:max(2vw,env(safe-area-inset-bottom));margin-top:auto;z-index:10}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area input{flex:1;padding:1.6vw 2.667vw;background:#f2f2f7;border:none;border-radius:3.333vw;outline:none;font-size:2.133vw;transition:all .2s}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area input:focus{background:#e5e5ea}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border:none;padding:0 2.4vw;border-radius:2.667vw;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.8vw;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 .533vw 1.6vw #007aff33}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn span{font-size:1.867vw}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn svg{width:1.867vw;height:1.867vw;transition:transform .2s}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 .8vw 2.133vw #007aff4d}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn:hover:not(:disabled) svg{transform:translate(.267vw) translateY(-1px)}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn:active:not(:disabled){transform:scale(.95)}.room-chat-page .chat-sidebar-column .chat-container .chat-input-area .send-btn:disabled{background:#e5e5ea;color:#aeaeb2;cursor:not-allowed;box-shadow:none}@media(orientation:landscape){.room-chat-page.is-mobile{flex-direction:row;align-items:stretch}.room-chat-page.is-mobile .room-main-column{flex:1.2;height:100vh;width:auto;flex-shrink:0;border-right:1px solid #f2f2f7;position:relative}.room-chat-page.is-mobile .room-main-column .room-header{width:100%;padding:0;position:relative;overflow:hidden}.room-chat-page.is-mobile .room-main-column .room-header .joystick-wrapper{top:50%;left:15px;transform:translateY(-50%)}.room-chat-page.is-mobile .room-main-column .room-header .joystick-wrapper .joystick-base{width:70px;height:70px}.room-chat-page.is-mobile .room-main-column .room-header .joystick-wrapper .joystick-knob{width:30px;height:30px}.room-chat-page.is-mobile .room-main-column .room-header .back-btn{top:15px;left:15px;width:32px;height:32px}.room-chat-page.is-mobile .room-main-column .room-header .back-btn svg{width:16px;height:16px}.room-chat-page.is-mobile .room-main-column .room-header .reset-view-btn{bottom:15px;left:15px;width:32px;height:32px}.room-chat-page.is-mobile .room-main-column .room-header .reset-view-btn svg{width:16px;height:16px}.room-chat-page.is-mobile .room-main-column .room-header .side-controls{top:15px;right:15px;gap:8px}.room-chat-page.is-mobile .room-main-column .room-header .side-controls .camera-btn,.room-chat-page.is-mobile .room-main-column .room-header .side-controls .record-trigger-btn{width:36px;height:36px}.room-chat-page.is-mobile .room-main-column .room-header .side-controls .camera-btn svg,.room-chat-page.is-mobile .room-main-column .room-header .side-controls .record-trigger-btn svg{width:18px;height:18px}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls{bottom:18px;width:200px}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-btn,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .drone-btn{width:36px;height:36px}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-btn svg,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-aim-btn svg,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .drone-btn svg{width:18px;height:18px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper{bottom:15px;left:55px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-toggle-btn{width:32px;height:32px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-toggle-btn svg{width:16px;height:16px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-menu{padding:2px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-menu button{padding:3px 10px;font-size:11px}.room-chat-page.is-mobile .room-main-column .record-controls{right:15px}.room-chat-page.is-mobile .room-main-column .record-controls .record-toggle-btn{width:48px;height:48px}.room-chat-page.is-mobile .room-main-column .record-controls .record-toggle-btn .record-icon{width:20px;height:20px}.room-chat-page.is-mobile .room-main-column .record-controls .record-toggle-btn.is-recording .record-icon{width:16px;height:16px}.room-chat-page.is-mobile .room-main-column .record-controls .record-timer{font-size:13px;padding:4px 10px}.room-chat-page.is-mobile .room-main-column .resize-handle{display:flex;background:transparent}.room-chat-page.is-mobile .room-main-column .resize-handle .handle-bar{background:#ffffff80}.room-chat-page.is-mobile .chat-sidebar-column{flex:1;height:100vh;min-width:0;display:flex;flex-direction:column;background:#fff}.room-chat-page.is-mobile .chat-sidebar-column .chat-messages{padding:10px}.room-chat-page.is-mobile .chat-sidebar-column .chat-messages .message-item{margin-bottom:10px}.room-chat-page.is-mobile .chat-sidebar-column .chat-messages .message-item .message-sender{font-size:11px;margin-bottom:2px}.room-chat-page.is-mobile .chat-sidebar-column .chat-messages .message-item .message-bubble{padding:8px 12px;font-size:13px;line-height:1.4}.room-chat-page.is-mobile .room-info-section{padding:8px 12px;border-bottom:1px solid #f2f2f7}.room-chat-page.is-mobile .room-info-section .user-details .title-row h2{font-size:16px!important}.room-chat-page.is-mobile .room-info-section .user-details .room-status{font-size:12px!important}.room-chat-page.is-mobile .room-info-section .user-details .online-tag{font-size:10px!important;padding:2px 8px!important}.room-chat-page.is-mobile .room-info-section .room-info{gap:20px}.room-chat-page.is-mobile .room-info-section .floor-badge{width:66px!important;height:66px!important;border-radius:8px}.room-chat-page.is-mobile .room-info-section .floor-badge .floor-num{font-size:12px!important}.room-chat-page.is-mobile .room-info-section .floor-badge .floor-label{font-size:8px!important}.room-chat-page.is-mobile .chat-container{flex:1;min-height:0}.room-chat-page.is-mobile .chat-container .pending-attachment-preview{padding:8px 15px}.room-chat-page.is-mobile .chat-container .pending-attachment-preview .attachment-wrapper{width:40px;height:40px}.room-chat-page.is-mobile .chat-container .pending-attachment-preview .attachment-hint{font-size:12px}.room-chat-page.is-mobile .chat-input-area{padding:6px 10px;gap:6px}.room-chat-page.is-mobile .chat-input-area input{padding:6px 12px;font-size:13px;height:32px}.room-chat-page.is-mobile .chat-input-area input::placeholder{font-size:13px}.room-chat-page.is-mobile .chat-input-area .send-btn{height:34px!important;min-width:72px!important;padding:0 12px!important;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px}.room-chat-page.is-mobile .chat-input-area .send-btn span{font-size:13px!important;display:inline-block}.room-chat-page.is-mobile .chat-input-area .send-btn svg{display:block!important;width:14px!important;height:14px!important;flex-shrink:0;color:inherit}}@media(orientation:landscape)and (max-height:220px){.room-chat-page.is-mobile .room-main-column .room-header .reset-view-btn{left:12px;bottom:10px;width:30px;height:30px}.room-chat-page.is-mobile .room-main-column .room-header .reset-view-btn svg{width:14px;height:14px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper{left:50px;bottom:10px;z-index:12;gap:6px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-toggle-btn{width:30px;height:30px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-toggle-btn svg{width:14px;height:14px}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-menu{position:absolute;left:0;bottom:38px;padding:3px;gap:4px;white-space:nowrap}.room-chat-page.is-mobile .room-main-column .room-header .weather-control-wrapper .weather-menu button{padding:2px 8px;font-size:10px}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls{left:auto;right:10px;bottom:10px;transform:none;width:auto;gap:8px;justify-content:flex-end;z-index:14}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-btn,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .drone-btn{width:32px;height:32px}.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-btn svg,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .bubble-aim-btn svg,.room-chat-page.is-mobile .room-main-column .room-header .bubble-gun-controls .drone-btn svg{width:16px;height:16px}}@media(max-height:560px){.video-preview-overlay{align-items:flex-start;padding:8px 0}.video-preview-overlay .video-preview-card{height:calc(100vh - 16px);max-height:calc(100vh - 16px);border-radius:12px}.video-preview-overlay .video-preview-card .video-header{padding:10px 14px}.video-preview-overlay .video-preview-card .video-actions{padding:10px 12px;position:sticky;bottom:0;z-index:10}.video-preview-overlay .video-preview-card .video-actions .video-action-btn{padding:8px 16px;font-size:14px}}.room-chat-page.is-pc{max-width:none;flex-direction:row;background:#fff;align-items:stretch}.room-chat-page.is-pc .room-main-column{flex:1;height:100vh;background:#f2f2f7;border-right:1px solid #f2f2f7;position:relative;display:flex;flex-direction:column;align-items:stretch}.room-chat-page.is-pc .room-main-column .room-header{width:100%;position:relative;background:#f2f2f7;overflow:hidden}.room-chat-page.is-pc .room-main-column .resize-handle{display:flex;background:#00000005;position:relative;bottom:auto;left:auto}.room-chat-page.is-pc .room-main-column .resize-handle:hover{background:#0000000d}.room-chat-page.is-pc .chat-sidebar-column{flex:1;height:100vh;display:flex;flex-direction:column;background:#fff;position:relative;z-index:30;min-width:0}.room-chat-page.is-pc .room-info-section{padding:24px 32px;background:#fff;border-bottom:1px solid #f2f2f7}.room-chat-page.is-pc .room-info-section .user-details .user-name{font-size:20px;font-weight:700;color:#1c1c1e}.room-chat-page.is-pc .room-info-section .user-details .user-status{font-size:13px;color:#8e8e93;margin-top:4px}.room-chat-page.is-pc .room-info-section .user-details .online-tag{font-size:12px;background:#eefdf5;color:#10b981;padding:4px 12px;border-radius:20px;font-weight:600;border:1px solid rgba(16,185,129,.1);display:inline-flex;align-items:center;gap:4px;margin-left:12px;vertical-align:middle}.room-chat-page.is-pc .room-info-section .user-details .online-tag:before{content:"";width:6px;height:6px;background:#10b981;border-radius:50%;display:inline-block}.room-chat-page.is-pc .chat-container{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;background:#f8f9fa}.room-chat-page.is-pc .chat-container .chat-messages{width:100%;padding:32px;box-sizing:border-box;flex:1;max-height:none;overflow-y:auto;margin:0}.room-chat-page.is-pc .chat-container .chat-messages .message-item{max-width:90%;margin-bottom:24px}.room-chat-page.is-pc .chat-container .chat-messages .message-item .message-sender{padding:0 4px;margin-bottom:8px;font-weight:500;color:#8e8e93;font-size:13px}.room-chat-page.is-pc .chat-container .chat-messages .message-item .message-bubble{padding:12px 16px;font-size:15px;line-height:1.5;max-width:500px;box-shadow:0 .267vw 1.067vw #0000000a}.room-chat-page.is-pc .chat-container .chat-input-area{width:100%;padding:24px 32px 40px;box-sizing:border-box;background:#fff;border-top:1px solid #f2f2f7;margin:0;flex-shrink:0;display:flex;align-items:center;gap:16px}.room-chat-page.is-pc .chat-container .chat-input-area input{flex:1;height:44px;font-size:15px;padding:0 20px;background:#f2f2f7;border-radius:22px;border:1px solid transparent;transition:all .2s}.room-chat-page.is-pc .chat-container .chat-input-area input:focus{background:#fff;border-color:#007aff;box-shadow:0 0 0 .533vw #007aff1a}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border:none;cursor:pointer;width:100px;height:44px;border-radius:22px;margin-top:0;flex-shrink:0;transition:all .2s}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn span{font-size:15px;font-weight:600;line-height:1;white-space:nowrap}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn svg{width:16px!important;height:16px!important;color:#fff;flex-shrink:0}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn:hover{opacity:.9;transform:translateY(-1px)}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn:active{transform:scale(.98)}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn:disabled{background:#e5e5ea;color:#aeaeb2;cursor:not-allowed}.room-chat-page.is-pc .chat-container .chat-input-area .send-btn:disabled svg{color:#aeaeb2}.room-chat-page.is-pc .room-header .back-btn{top:3.2vw;left:3.2vw;width:6.4vw;height:6.4vw}.room-chat-page.is-pc .room-header .back-btn svg{width:2.667vw!important;height:2.667vw!important}.room-chat-page.is-pc .room-header .reset-view-btn{left:3.2vw;bottom:3.2vw;width:6.4vw;height:6.4vw}.room-chat-page.is-pc .room-header .reset-view-btn svg{width:2.667vw!important;height:2.667vw!important}.room-chat-page.is-pc .room-header .side-controls{top:3.2vw;right:3.2vw;gap:2.133vw}.room-chat-page.is-pc .room-header .side-controls .camera-btn,.room-chat-page.is-pc .room-header .side-controls .record-trigger-btn{width:6.4vw;height:6.4vw}.room-chat-page.is-pc .room-header .side-controls .camera-btn svg,.room-chat-page.is-pc .room-header .side-controls .record-trigger-btn svg{width:2.667vw!important;height:2.667vw!important}.room-chat-page.is-pc .room-header .bubble-gun-controls{bottom:3.2vw;width:34.667vw}.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-btn,.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page.is-pc .room-header .bubble-gun-controls .drone-btn{width:6.4vw;height:6.4vw}.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-btn svg,.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-aim-btn svg,.room-chat-page.is-pc .room-header .bubble-gun-controls .drone-btn svg{width:2.667vw!important;height:2.667vw!important}.room-chat-page.is-pc .room-header .weather-control-wrapper{left:11.733vw;bottom:3.2vw}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-toggle-btn{width:6.4vw;height:6.4vw}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-toggle-btn svg{width:2.667vw!important;height:2.667vw!important}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-menu{bottom:8vw;padding:.8vw}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-menu button{padding:.8vw 2.133vw;font-size:1.867vw}.room-chat-page.is-pc .room-header .drag-hint{font-size:1.6vw;padding:1.333vw 3.733vw;background:#0006;border-radius:4vw}.room-chat-page.is-pc .record-controls{right:4vw;bottom:4vw}.room-chat-page.is-pc .record-controls .record-toggle-btn{width:8.533vw;height:8.533vw}.room-chat-page.is-pc .record-controls .record-toggle-btn .record-icon{width:3.733vw;height:3.733vw}.room-chat-page.is-pc .record-controls .record-toggle-btn.is-recording .record-icon{width:3.2vw;height:3.2vw}.room-chat-page.is-pc .record-controls .record-timer{font-size:2.4vw;padding:1.067vw 2.4vw}.room-chat-page.is-pc .photo-actions .action-btn{width:5.867vw;height:5.867vw}.room-chat-page.is-pc .photo-actions .action-btn svg{width:3.2vw!important;height:3.2vw!important}.room-chat-page.is-pc .fullscreen-actions .full-action-btn{padding:1.6vw 3.733vw}.room-chat-page.is-pc .fullscreen-actions .full-action-btn svg{width:3.733vw!important;height:3.733vw!important}.room-chat-page.is-pc .fullscreen-actions .full-action-btn span{font-size:2.133vw}.room-chat-page.is-pc .video-preview-card .video-header{padding:2.667vw 3.333vw}.room-chat-page.is-pc .video-preview-card .video-header h3{font-size:2.933vw}.room-chat-page.is-pc .video-preview-card .video-actions{padding:3.333vw;gap:2.667vw}.room-chat-page.is-pc .video-preview-card .video-actions .video-action-btn{padding:1.6vw 4.267vw;font-size:2.267vw}.room-chat-page.is-pc .video-preview-card .video-actions .video-action-btn svg{width:3.2vw!important;height:3.2vw!important}@media(min-width:800px){.room-chat-page.is-pc .room-header .back-btn{top:24px!important;left:24px!important;width:52px!important;height:52px!important}.room-chat-page.is-pc .room-header .back-btn svg{width:22px!important;height:22px!important}.room-chat-page.is-pc .room-header .reset-view-btn{left:24px!important;bottom:24px!important;width:52px!important;height:52px!important}.room-chat-page.is-pc .room-header .reset-view-btn svg{width:22px!important;height:22px!important}.room-chat-page.is-pc .room-header .side-controls{top:24px!important;right:24px!important;gap:16px!important}.room-chat-page.is-pc .room-header .side-controls .camera-btn,.room-chat-page.is-pc .room-header .side-controls .record-trigger-btn{width:52px!important;height:52px!important}.room-chat-page.is-pc .room-header .side-controls .camera-btn svg,.room-chat-page.is-pc .room-header .side-controls .record-trigger-btn svg{width:22px!important;height:22px!important}.room-chat-page.is-pc .room-header .bubble-gun-controls{bottom:24px!important;width:280px!important}.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-btn,.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-aim-btn,.room-chat-page.is-pc .room-header .bubble-gun-controls .drone-btn{width:52px!important;height:52px!important}.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-btn svg,.room-chat-page.is-pc .room-header .bubble-gun-controls .bubble-aim-btn svg,.room-chat-page.is-pc .room-header .bubble-gun-controls .drone-btn svg{width:22px!important;height:22px!important}.room-chat-page.is-pc .room-header .weather-control-wrapper{left:92px!important;bottom:24px!important}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-toggle-btn{width:52px!important;height:52px!important}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-toggle-btn svg{width:22px!important;height:22px!important}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-menu{bottom:64px!important;padding:6px!important}.room-chat-page.is-pc .room-header .weather-control-wrapper .weather-menu button{padding:6px 16px!important;font-size:14px!important}.room-chat-page.is-pc .record-controls{right:24px!important;bottom:24px!important}.room-chat-page.is-pc .record-controls .record-toggle-btn{width:60px!important;height:60px!important}.room-chat-page.is-pc .record-controls .record-toggle-btn .record-icon{width:24px!important;height:24px!important}.room-chat-page.is-pc .record-controls .record-toggle-btn.is-recording .record-icon{width:20px!important;height:20px!important}.room-chat-page.is-pc .record-controls .record-timer{font-size:16px!important;padding:6px 16px!important}.room-chat-page.is-pc .room-header .joystick-wrapper{top:50%!important;left:20px!important;transform:translateY(-50%)!important}.room-chat-page.is-pc .room-header .joystick-wrapper .joystick-base{width:90px!important;height:90px!important}.room-chat-page.is-pc .room-header .joystick-wrapper .joystick-knob{width:36px!important;height:36px!important}}@media(min-width:2000px){.room-chat-page.is-pc{max-width:none}}.photo-animation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#0000001a;animation:flashFade .5s ease-out forwards}.photo-animation-overlay .photo-card{--start-x: 0px;--start-y: 0px;position:absolute;width:37.333vw;padding:1.6vw;background:#fff;box-shadow:0 2.667vw 6.667vw #0000004d;border-radius:.533vw;transform-origin:center;animation:photoFlyIn 3.5s cubic-bezier(.19,1,.22,1) forwards}.photo-animation-overlay .photo-card .photo-inner{position:relative;display:flex;flex-direction:column;gap:1.333vw}.photo-animation-overlay .photo-card .photo-inner img{width:100%;height:auto;display:block;border-radius:.267vw}.photo-animation-overlay .photo-card .photo-inner .photo-frame-text{font-family:"Cursive",serif;font-size:1.867vw;color:#666;text-align:center;padding-bottom:.667vw}@keyframes flashFade{0%{background:#fffc}to{background:#0000}}@keyframes photoFlyIn{0%{left:var(--start-x);top:var(--start-y);transform:translate(-50%,-50%) scale(.1) rotate(0);opacity:0}15%{left:50%;top:50%;transform:translate(-50%,-50%) scale(1.1) rotate(-5deg);opacity:1}20%{transform:translate(-50%,-50%) scale(1) rotate(3deg)}25%{transform:translate(-50%,-50%) scale(1) rotate(-2deg)}30%{transform:translate(-50%,-50%) scale(1) rotate(1deg)}to{left:50%;top:50%;transform:translate(-50%,-50%) scale(1) rotate(1deg);opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.photo-animation-overlay.active{pointer-events:auto;background:#0006;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw)}.photo-animation-overlay .photo-card .photo-actions{display:flex;justify-content:center;gap:2vw;margin-top:1.333vw;padding-top:1.333vw;border-top:1px solid #eee}.photo-animation-overlay .photo-card .photo-actions .action-btn{width:5.333vw;height:5.333vw;border-radius:50%;border:none;background:#f0f0f0;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.photo-animation-overlay .photo-card .photo-actions .action-btn:hover{background:#e0e0e0;transform:translateY(-.267vw)}.photo-animation-overlay .photo-card .photo-actions .action-btn.download:hover{color:#34c759}.photo-animation-overlay .photo-card .photo-actions .action-btn.send{background:#007aff;color:#fff}.photo-animation-overlay .photo-card .photo-actions .action-btn.send:hover{background:#0056b3}.photo-animation-overlay .photo-card .photo-actions .action-btn.close:hover{color:#ff3b30}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.record-controls{position:absolute;top:50%;right:2.667vw;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:1.6vw;z-index:10000;pointer-events:auto}.record-controls .record-timer{background:#000000bf;color:#fff;padding:.8vw 1.867vw;border-radius:2.667vw;font-size:2vw;font-weight:700;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);box-shadow:0 .533vw 2vw #0000004d;letter-spacing:.5px}.record-controls .record-toggle-btn{width:8.533vw;height:8.533vw;border-radius:50%;background:#fff;border:none;box-shadow:0 1.067vw 3.333vw #00000040;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.record-controls .record-toggle-btn .record-icon{width:3.467vw;height:3.467vw;background:#ff3b30;border-radius:50%;transition:all .3s ease}.record-controls .record-toggle-btn:hover{transform:scale(1.1) translateY(-.267vw);box-shadow:0 1.6vw 4vw #0000004d}.record-controls .record-toggle-btn:active{transform:scale(.95)}.record-controls .record-toggle-btn.is-recording .record-icon{border-radius:.8vw;width:2.933vw;height:2.933vw;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1;box-shadow:0 0 #ff3b3066}50%{transform:scale(.85);opacity:.8;box-shadow:0 0 0 10px #ff3b3000}to{transform:scale(1);opacity:1;box-shadow:0 0 #ff3b3000}}.video-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);display:flex;justify-content:center;align-items:center;z-index:10001;animation:fadeIn .3s ease}.video-preview-overlay .video-preview-card{width:90%;max-width:106.667vw;max-height:90vh;position:relative;background:#fff;border-radius:2.133vw;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2.667vw 6.667vw #00000080}.video-preview-overlay .video-preview-card .video-header{padding:2vw 2.667vw;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.video-preview-overlay .video-preview-card .video-header h3{margin:0;font-size:2.4vw;color:#333}.video-preview-overlay .video-preview-card .video-header .close-btn{background:none;border:none;font-size:3.733vw;color:#999;cursor:pointer;line-height:1}.video-preview-overlay .video-preview-card .video-header .close-btn:hover{color:#666}.video-preview-overlay .video-preview-card .video-content{background:#000;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.video-preview-overlay .video-preview-card .video-content video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.video-preview-overlay .video-preview-card .video-actions{padding:2.667vw;flex-shrink:0;display:flex;justify-content:center;gap:2vw;position:relative;z-index:5;background:#fff}.video-preview-overlay .video-preview-card .video-actions .video-action-btn{padding:1.333vw 3.2vw;border-radius:4vw;font-size:2vw;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:1.067vw;transition:all .2s}.video-preview-overlay .video-preview-card .video-actions .video-action-btn.download{background:#007aff;color:#fff;border:none}.video-preview-overlay .video-preview-card .video-actions .video-action-btn.download:hover{background:#0056b3;transform:translateY(-.267vw)}.video-preview-overlay .video-preview-card .video-actions .video-action-btn.close{background:#f2f2f7;color:#333;border:none}.video-preview-overlay .video-preview-card .video-actions .video-action-btn.close:hover{background:#e5e5ea}.multi-canvas-page :root{--game-primary: #3b82f6;--game-secondary: #8b5cf6;--game-accent: #f59e0b;--game-danger: #ef4444;--game-success: #10b981;--game-bg: rgba(10, 15, 30, .98);--game-border: rgba(255, 255, 255, .2)}.multi-canvas-page .game-hub{position:absolute;top:2.667vw;left:2.667vw;display:flex;flex-direction:column;gap:1.6vw;pointer-events:auto;z-index:100}.multi-canvas-page .game-hub-nav{display:flex;gap:1.067vw;background:#0f172ad9;-webkit-backdrop-filter:blur(2.133vw);backdrop-filter:blur(2.133vw);padding:.8vw;border-radius:1.6vw;border:1px solid rgba(255,255,255,.15);pointer-events:auto}.multi-canvas-page .game-hub-nav__item{padding:1.067vw 2.133vw;border-radius:1.067vw;font-size:1.733vw;font-weight:700;color:#94a3b8;background:transparent;border:none;cursor:pointer;transition:all .2s}.multi-canvas-page .game-hub-nav__item:hover{color:#fff;background:#ffffff0d}.multi-canvas-page .game-hub-nav__item.is-active{color:#fff;background:#3b82f6;box-shadow:0 .533vw 1.6vw #3b82f64d}.multi-canvas-page .game-page{width:100vw;height:100vh;overflow:hidden;position:fixed;top:0;left:0;background-color:#1a1a1a;touch-action:none}.multi-canvas-page .game-hub-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5000;display:flex;flex-direction:column}.multi-canvas-page .game-hub-overlay .game-btn{padding:1.333vw 2.133vw;border-radius:1.6vw;font-size:1.733vw;font-weight:700;cursor:pointer;transition:all .2s;border:none;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;gap:1.067vw;box-shadow:0 .533vw 1.6vw #0003}@media(min-width:1024px){.multi-canvas-page .game-hub-overlay .game-btn{padding:12px 20px;font-size:14px}}@media(min-width:2000px){.multi-canvas-page .game-hub-overlay .game-btn{padding:14px 24px;font-size:15px}}.multi-canvas-page .game-hub-overlay .game-btn--blue{background:#3b82f6}.multi-canvas-page .game-hub-overlay .game-btn--blue:hover{background:#2563eb}.multi-canvas-page .game-hub-overlay .game-btn--purple{background:#8b5cf6}.multi-canvas-page .game-hub-overlay .game-btn--purple:hover{background:#7c3aed}.multi-canvas-page .game-hub-overlay .game-btn--green{background:#10b981}.multi-canvas-page .game-hub-overlay .game-btn--green:hover{background:#059669}.multi-canvas-page .game-hub-overlay .game-btn--red{background:#ef4444}.multi-canvas-page .game-hub-overlay .game-btn--red:hover{background:#dc2626}.multi-canvas-page .game-hub-overlay .game-btn--gray{background:#475569}.multi-canvas-page .game-hub-overlay .game-btn--gray:hover{background:#334155}.multi-canvas-page .game-hub-overlay .game-btn--sm{padding:.8vw 1.6vw;font-size:1.6vw;border-radius:1.067vw}@media(min-width:1024px){.multi-canvas-page .game-hub-overlay .game-btn--sm{padding:8px 14px;font-size:13px}}@media(min-width:2000px){.multi-canvas-page .game-hub-overlay .game-btn--sm{padding:10px 16px;font-size:14px}}.multi-canvas-page .game-hub-overlay .game-btn--xs{padding:.533vw 1.067vw;font-size:1.467vw;border-radius:.8vw}@media(min-width:1024px){.multi-canvas-page .game-hub-overlay .game-btn--xs{padding:6px 10px;font-size:12px}}@media(min-width:2000px){.multi-canvas-page .game-hub-overlay .game-btn--xs{padding:8px 12px;font-size:13px}}.multi-canvas-page .game-hub-overlay .game-btn--circle{width:9.067vw;height:9.067vw;min-width:9.067vw;min-height:9.067vw;flex-shrink:0;aspect-ratio:1 / 1;border-radius:50%;padding:0;font-size:1.733vw;line-height:1.2;background:#0f172ae6;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:pre-wrap;word-break:break-all}.multi-canvas-page .game-hub-overlay .game-btn--circle.active{background:var(--game-primary);box-shadow:0 0 2.667vw #3b82f680}@media(max-width:640px){.multi-canvas-page .game-hub-overlay .game-btn--circle{width:60px;height:60px;min-width:60px;min-height:60px;font-size:12px}}.multi-canvas-page .game-hub-bottom-right{position:absolute;bottom:5.333vw;right:2.667vw;display:flex;flex-direction:column;gap:2.667vw;pointer-events:auto}@media(max-width:640px){.multi-canvas-page .game-hub-bottom-right{bottom:30px;right:15px;gap:16px}}.multi-canvas-page .game-btn{padding:1.333vw 2.133vw;border-radius:1.6vw;font-size:1.733vw;font-weight:700;cursor:pointer;transition:all .2s;border:none;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;gap:1.067vw;box-shadow:0 .533vw 1.6vw #0003}.multi-canvas-page .game-btn--blue{background:#3b82f6}.multi-canvas-page .game-btn--blue:hover{background:#2563eb}.multi-canvas-page .game-btn--purple{background:#8b5cf6}.multi-canvas-page .game-btn--purple:hover{background:#7c3aed}.multi-canvas-page .game-btn--green{background:#10b981}.multi-canvas-page .game-btn--green:hover{background:#059669}.multi-canvas-page .game-btn--red{background:#ef4444}.multi-canvas-page .game-btn--red:hover{background:#dc2626}.multi-canvas-page .game-btn--gray{background:#475569}.multi-canvas-page .game-btn--gray:hover{background:#334155}.multi-canvas-page .game-btn--sm{padding:.8vw 1.6vw;font-size:1.6vw;border-radius:1.067vw}.multi-canvas-page .game-btn--xs{padding:.533vw 1.067vw;font-size:1.467vw;border-radius:.8vw}.multi-canvas-page .game-btn--circle{width:9.067vw;height:9.067vw;min-width:9.067vw;min-height:9.067vw;flex-shrink:0;aspect-ratio:1 / 1;border-radius:50%;padding:0;font-size:1.733vw;line-height:1.2;background:#0f172ae6;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:pre-wrap;word-break:break-all}.multi-canvas-page .game-btn--circle.active{background:var(--game-primary);box-shadow:0 0 2.667vw #3b82f680}@media(max-width:640px){.multi-canvas-page .game-btn--circle{width:60px;height:60px;min-width:60px;min-height:60px;font-size:12px}}.multi-canvas-page .game-hub-panel{position:absolute;bottom:13.333vw;right:2.667vw;width:42.667vw;background:#0f172af2;-webkit-backdrop-filter:blur(3.2vw) saturate(200%);backdrop-filter:blur(3.2vw) saturate(200%);border:1px solid rgba(255,255,255,.15);border-radius:1.6vw;box-shadow:0 2.667vw 6.667vw #0009;padding:2.133vw;gap:1.6vw;pointer-events:auto;z-index:6000;color:#f8fafc;animation:panelSlideUp .35s cubic-bezier(.16,1,.3,1) forwards;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease;max-height:calc(100vh - 16vw);display:flex;flex-direction:column;overflow:hidden}.multi-canvas-page .game-hub-panel.is-dragging{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172afa;box-shadow:0 3.333vw 8vw #000000b3;transition:transform 0s!important}.multi-canvas-page .game-hub-panel button{pointer-events:auto!important}@media(orientation:landscape)and (max-height:500px){.multi-canvas-page .game-hub-panel{bottom:10px;right:10px;max-height:calc(100vh - 20px);width:300px;gap:4px;padding:10px}}.multi-canvas-page .game-hub-panel__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.8vw;margin-bottom:.533vw;border-bottom:1px solid rgba(255,255,255,.05);cursor:move;-webkit-user-select:none;user-select:none}.multi-canvas-page .game-hub-panel__header-title{display:flex;align-items:center;gap:1.067vw}.multi-canvas-page .game-hub-panel__header .drag-icon{color:#ffffff4d;flex-shrink:0}.multi-canvas-page .game-hub-panel__header h3{font-size:1.867vw;font-weight:700;color:#3b82f6;margin:0;opacity:.9}.multi-canvas-page .game-hub-panel__content{flex:1;max-height:50vh;overflow-y:auto;padding-right:.533vw}@media(orientation:landscape)and (max-height:500px){.multi-canvas-page .game-hub-panel__content{max-height:none}}.multi-canvas-page .game-hub-panel__content::-webkit-scrollbar{width:.533vw}.multi-canvas-page .game-hub-panel__content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.multi-canvas-page .game-hub-panel__close{background:#ffffff0d;border:none;color:#94a3b8;font-size:2.4vw;width:3.733vw;height:3.733vw;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;line-height:1;transition:all .2s}.multi-canvas-page .game-hub-panel__close:hover{color:#fff;background:#ffffff26}.multi-canvas-page .game-hub-panel__title{font-size:1.6vw;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:1.067vw;margin-bottom:.533vw}.multi-canvas-page .game-hub-panel__divider{height:1px;background:#ffffff1a;margin:1.067vw 0}.multi-canvas-page .game-hub-panel__grid{display:grid;gap:1.067vw}.multi-canvas-page .game-hub-panel__grid--4col{grid-template-columns:repeat(4,1fr)}.multi-canvas-page .game-hub-panel__grid--3col{grid-template-columns:repeat(3,1fr)}.multi-canvas-page .game-hub-panel__grid--2col{grid-template-columns:repeat(2,1fr)}.multi-canvas-page .game-hub-panel__grid--parts{display:flex;flex-wrap:wrap;gap:.8vw;justify-content:center}.multi-canvas-page .game-hub-panel__grid--actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1.333vw;margin-top:.533vw}.multi-canvas-page .game-hub-movement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.067vw;background:#ffffff08;padding:1.333vw;border-radius:1.6vw}.multi-canvas-page .game-hub-control-group{display:flex;flex-direction:column;gap:1.067vw;background:#ffffff08;padding:1.333vw;border-radius:1.6vw;margin-bottom:1.6vw}.multi-canvas-page .game-hub-swatches{display:flex;flex-wrap:wrap;gap:1.067vw;padding:.533vw 0}.multi-canvas-page .game-hub-swatch{width:3.733vw;height:3.733vw;border-radius:50%;border:.267vw solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);padding:0}.multi-canvas-page .game-hub-swatch:hover{transform:scale(1.1);border-color:#ffffff80}.multi-canvas-page .game-hub-swatch.active{border-color:#3b82f6;transform:scale(1.15);box-shadow:0 0 0 .267vw #3b82f680,0 0 2vw #3b82f64d;position:relative}.multi-canvas-page .game-hub-swatch.active:after{content:"";position:absolute;top:-.533vw;left:-.533vw;right:-.533vw;bottom:-.533vw;border:.267vw solid white;border-radius:inherit;pointer-events:none}.multi-canvas-page .game-hub-swatch--square{border-radius:.8vw}.multi-canvas-page .game-hub-label-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.267vw}.multi-canvas-page .game-hub-label-row--large .game-hub-label{font-size:1.867vw;color:#fff}.multi-canvas-page .game-hub-label-row--large .game-hub-value{font-size:1.333vw}.multi-canvas-page .game-hub-value{font-size:1.6vw;color:#fff;font-weight:700;background:#3b82f633;padding:.267vw .8vw;border-radius:.533vw}.multi-canvas-page .game-hub-slider{width:100%;height:.8vw;background:#ffffff1a;border-radius:.4vw;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;margin:1.333vw 0}.multi-canvas-page .game-hub-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.4vw;height:2.4vw;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 .267vw .8vw #0006;border:.267vw solid var(--game-primary);transition:all .2s}.multi-canvas-page .game-hub-slider::-webkit-slider-thumb:hover{transform:scale(1.1);background:#f8fafc}.multi-canvas-page .game-hub-label{font-size:1.6vw;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.multi-canvas-page .game-hub-control-row{display:flex;align-items:center;justify-content:space-between;gap:1.6vw;min-height:4.8vw}.multi-canvas-page .game-hub-control-row--wrap{flex-wrap:wrap}.multi-canvas-page .game-hub-control-row--relative{position:relative}.multi-canvas-page .game-hub-control-row--stack{flex-direction:column;align-items:stretch;gap:1.067vw;min-height:auto}.multi-canvas-page .game-hub-slider-container{display:flex;align-items:center;gap:1.067vw;width:100%}.multi-canvas-page .game-hub-slider-container .game-hub-slider{flex:1;margin:0}.multi-canvas-page .game-hub-slider-container .game-btn{flex-shrink:0;width:3.733vw;height:3.733vw;padding:0}.multi-canvas-page .game-hub-footer{margin-top:2.133vw;display:flex;flex-direction:column;gap:1.6vw;padding-bottom:1.333vw}.multi-canvas-page .game-hub-color-preview{width:4.267vw;height:4.267vw;flex-shrink:0;border-radius:1.067vw;border:.267vw solid rgba(255,255,255,.3);cursor:pointer;box-shadow:0 .267vw 1.333vw #0000004d;transition:transform .2s;background-color:var(--marker-color, transparent)}.multi-canvas-page .game-hub-color-preview:active{transform:scale(.9)}.multi-canvas-page .game-switch{position:relative;display:inline-block;width:4.8vw;height:2.667vw}.multi-canvas-page .game-switch input{opacity:0;width:0;height:0}.multi-canvas-page .game-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.3s;border-radius:2.667vw;border:1px solid rgba(255,255,255,.1)}.multi-canvas-page .game-switch__slider:before{position:absolute;content:"";height:1.867vw;width:1.867vw;left:.267vw;bottom:.267vw;background-color:#94a3b8;transition:.3s;border-radius:50%;box-shadow:0 .267vw .533vw #0003}input:checked+.multi-canvas-page .game-switch__slider{background-color:#3b82f64d;border-color:#3b82f680}input:checked+.multi-canvas-page .game-switch__slider:before{transform:translate(2.133vw);background-color:#3b82f6;box-shadow:0 0 1.067vw #3b82f699}input:focus+.multi-canvas-page .game-switch__slider{box-shadow:0 0 1px #3b82f6}.multi-canvas-page .game-hub-item-stack{display:flex;flex-direction:column;gap:1.6vw}@media(orientation:landscape)and (max-height:500px){.multi-canvas-page .game-hub-item-stack{gap:8px}}.multi-canvas-page .game-hub-item-stack--full{width:100%}.multi-canvas-page .game-hub-empty{text-align:center;padding:4.267vw;color:#94a3b8;font-size:1.867vw}.multi-canvas-page .game-hub-item{display:flex;flex-direction:column;align-items:stretch;gap:1.067vw;padding:1.6vw;background:#ffffff0d;border-radius:1.6vw;border:1px solid rgba(255,255,255,.05);transition:all .2s;margin-bottom:1.6vw}.multi-canvas-page .game-hub-item:hover{background:#ffffff1a;border-color:#ffffff1a}.multi-canvas-page .pose-list::-webkit-scrollbar{width:.533vw}.multi-canvas-page .pose-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.multi-canvas-page .game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2.667vw;pointer-events:auto}.multi-canvas-page .game-modal{width:100%;max-width:53.333vw;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:3.2vw;box-shadow:0 3.333vw 6.667vw -1.6vw #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalPop .3s cubic-bezier(.34,1.56,.64,1)}.multi-canvas-page .game-modal--large{max-width:66.667vw}.multi-canvas-page .game-modal__header{padding:2.667vw 3.2vw;font-size:2.4vw;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}.multi-canvas-page .game-modal__content{padding:3.2vw;max-height:70vh;overflow-y:auto}.multi-canvas-page .game-modal__footer{padding:2.133vw 3.2vw;background:#0003;display:flex;justify-content:flex-end;gap:1.6vw}.multi-canvas-page .game-modal__text{color:#94a3b8;line-height:1.6;font-size:1.867vw;margin:0}.multi-canvas-page .avatar-selector-floating{position:fixed;top:5.333vw;left:50%;transform:translate3d(-50%,0,0);width:64vw;max-width:94.667vw;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:2.133vw;pointer-events:auto;animation:selectorSlideUp .5s cubic-bezier(.16,1,.3,1)}.multi-canvas-page .avatar-selector-floating .avatar-selector-close{position:absolute;top:-1.333vw;right:-1.333vw;width:4.267vw;height:4.267vw;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);z-index:10}.multi-canvas-page .avatar-selector-floating .avatar-selector-close:hover{background:#ef4444cc;color:#fff;transform:rotate(90deg)}@media(max-width:640px){.multi-canvas-page .avatar-selector-floating{top:20px}}.multi-canvas-page .avatar-selector-title{font-size:1.867vw;color:#94a3b8;text-transform:uppercase;letter-spacing:.3em;font-weight:800;text-shadow:0 0 1.333vw rgba(255,255,255,.3);display:flex;align-items:center;gap:1.6vw}.multi-canvas-page .avatar-selector-title .mystic-icon{color:#60a5fa;animation:pulse 2s infinite}.multi-canvas-page .avatar-selector-track{display:flex;gap:2.667vw;padding:1.333vw 2.667vw;overflow-x:auto;width:100%;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);touch-action:pan-x;pointer-events:auto;-webkit-overflow-scrolling:touch}.multi-canvas-page .avatar-selector-track::-webkit-scrollbar{display:none}.multi-canvas-page .avatar-card{flex:0 0 18.667vw;height:24vw;background:#0f172a99;-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);border:1px solid rgba(255,255,255,.1);border-radius:2.133vw;position:relative;cursor:pointer;transition:all .4s cubic-bezier(.19,1,.22,1);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:2.133vw;-webkit-user-select:none;user-select:none;pointer-events:auto}.multi-canvas-page .avatar-card:hover{transform:translateY(-1.067vw) scale(1.05);background:#0f172acc;border-color:#ffffff4d}.multi-canvas-page .avatar-card:hover .avatar-card__glitch{opacity:.3}.multi-canvas-page .avatar-card.active{background:#0f172ae6;border-color:var(--accent-color);animation:mysticGlow 3s infinite;transform:translateY(-.533vw) scale(1.02)}.multi-canvas-page .avatar-card.active .avatar-card__name{color:#fff}.multi-canvas-page .avatar-card.active .avatar-card__desc{color:#cbd5e1;opacity:1}.multi-canvas-page .avatar-card__glitch{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent,var(--accent-color),transparent);opacity:0;transition:opacity .3s;pointer-events:none;animation:glitchAnim .2s infinite}.multi-canvas-page .avatar-card__content{position:relative;z-index:2;pointer-events:none}.multi-canvas-page .avatar-card__name{font-size:2vw;font-weight:800;color:#94a3b8;margin-bottom:.533vw;transition:color .3s}.multi-canvas-page .avatar-card__desc{font-size:1.333vw;color:#64748b;line-height:1.4;opacity:.8;transition:opacity .3s}.multi-canvas-page .avatar-card__glow{position:absolute;bottom:-2.667vw;left:50%;transform:translate(-50%);width:80%;height:5.333vw;background:var(--accent-color);filter:blur(3.333vw);opacity:.4;pointer-events:none}.multi-canvas-page .game-hub-joystick-container{position:fixed;bottom:5.333vw;left:5.333vw;z-index:5001;pointer-events:auto}@media(max-width:640px){.multi-canvas-page .game-hub-joystick-container{bottom:30px;left:20px}}.multi-canvas-page .game-hub-joystick{width:16vw;height:16vw;background:#ffffff0d;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:.267vw solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;touch-action:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.multi-canvas-page .game-hub-joystick.active{background:#ffffff26;border-color:#ffffff4d;transform:scale(1.05)}.multi-canvas-page .game-hub-joystick.marker-mode,.multi-canvas-page .game-hub-joystick.asset-mode{border-color:var(--game-accent)}.multi-canvas-page .game-hub-joystick.marker-mode.active,.multi-canvas-page .game-hub-joystick.asset-mode.active{box-shadow:0 0 2.667vw #f59e0b33}@media(max-width:640px){.multi-canvas-page .game-hub-joystick{width:100px;height:100px}}@media(min-width:1200px){.multi-canvas-page .game-hub-joystick{width:180px;height:180px}}.multi-canvas-page .game-hub-joystick-knob{width:5.333vw;height:5.333vw;background:#fff9;border-radius:50%;box-shadow:0 .533vw 1.6vw #0000004d;pointer-events:none;transition:transform .1s ease-out,background .3s,box-shadow .3s}@media(min-width:1200px){.multi-canvas-page .game-hub-joystick-knob{width:50px;height:50px}}.multi-canvas-page .game-hub-joystick-knob.active{background:#fffffff2;box-shadow:0 1.067vw 2.667vw #0006;transition:none}.marker-mode .multi-canvas-page .game-hub-joystick-knob,.asset-mode .multi-canvas-page .game-hub-joystick-knob{background:var(--game-accent)}.marker-mode .multi-canvas-page .game-hub-joystick-knob.active,.asset-mode .multi-canvas-page .game-hub-joystick-knob.active{background:#fbbf24}.multi-canvas-page .rooms-list{width:100%;display:block}.multi-canvas-page .rooms-list.is-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#000}.multi-canvas-page .floor-item{width:100%;padding:0;overflow:hidden;position:relative;background:#000;display:block;margin:0 auto;border-bottom:none}.multi-canvas-page .canvas-full{width:100%;height:100%;display:block}.multi-canvas-page .pose-list{display:flex;flex-direction:column;gap:1.6vw;max-height:40vh;overflow-y:auto;padding-right:1.067vw}.multi-canvas-page .pose-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1.6vw;padding:1.6vw;display:flex;justify-content:space-between;align-items:center}.multi-canvas-page .pose-item__info{display:flex;flex-direction:column}.multi-canvas-page .pose-item__name{color:#fff;font-weight:700;font-size:1.867vw}.multi-canvas-page .pose-item__date{color:#94a3b8;font-size:1.467vw;margin-top:.267vw}.multi-canvas-page .pose-item__actions{display:flex;gap:1.067vw}.multi-canvas-page .color-swatch{width:100%;aspect-ratio:1;border-radius:1.067vw;cursor:pointer;transition:transform .2s}.multi-canvas-page .color-swatch:hover{transform:scale(1.1)}.multi-canvas-page .marker-list-container{display:flex;flex-direction:column;gap:1.067vw}.multi-canvas-page .marker-list{display:flex;flex-direction:column;gap:.8vw;max-height:20vw;overflow-y:auto;padding-right:.533vw}.multi-canvas-page .marker-list::-webkit-scrollbar{width:.533vw}.multi-canvas-page .marker-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.multi-canvas-page .marker-list-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:.8vw 1.333vw;border-radius:1.067vw;font-size:1.6vw;color:#e2e8f0}.multi-canvas-page .marker-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:18.667vw}.multi-canvas-page .marker-list-empty{text-align:center;color:#64748b;font-size:1.6vw;padding:1.333vw 0}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(orientation:landscape)and (max-height:500px){.multi-canvas-page .game-hub-bottom-right{bottom:10px;right:10px;gap:8px;flex-direction:row-reverse;flex-wrap:wrap;justify-content:flex-start;max-width:400px;z-index:5002}.multi-canvas-page .game-btn--circle{width:44px;height:44px;min-width:44px;min-height:44px;font-size:9px;padding:2px}.multi-canvas-page .game-hub-joystick-container{bottom:20px;left:20px}.multi-canvas-page .game-hub-joystick{width:80px;height:80px}.multi-canvas-page .game-hub-panel{bottom:20px;right:10px;width:300px;max-height:calc(100vh - 40px);padding:10px}.multi-canvas-page .game-hub-panel__content{max-height:calc(100vh - 80px)}}.static-user-list-page{background:#000;color:#fff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.static-user-list-page .page-header{text-align:center;margin-bottom:6.667vw}.static-user-list-page .page-header h1{font-size:3.733vw;margin-bottom:1.067vw;color:#fff}.static-user-list-page .page-header p{color:#666;font-size:1.867vw}.static-user-list-page .rooms-container{display:flex;flex-direction:column;align-items:center;gap:0}.static-user-list-page .floor-card{position:relative;width:100vw;height:47.333vw;background:#050505;overflow:hidden}.static-user-list-page .floor-card .room-image-wrapper{position:relative;width:100%;height:100%}.static-user-list-page .floor-card .room-image-container{width:100%;height:100%;position:relative}.static-user-list-page .floor-card .room-image-container .room-static-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.static-user-list-page .floor-card .room-image-container .loading-overlay,.static-user-list-page .floor-card .room-image-container .error-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a0a;color:#444;font-size:1.6vw;gap:1.333vw}.static-user-list-page .floor-card .room-image-container .spinner{width:3.2vw;height:3.2vw;border:.267vw solid #222;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.static-user-list-page .floor-card .info-overlay{position:absolute;top:2vw;left:2vw;z-index:10;background:#000000b3;color:#fff;padding:.533vw 1.6vw;border-radius:.8vw;font-size:1.733vw;font-weight:700;pointer-events:none;border:1px solid rgba(255,255,255,.2);box-shadow:0 .533vw 1.6vw #00000080;opacity:0;transition:opacity .3s ease}.static-user-list-page .floor-card .action-buttons{position:absolute;bottom:2.667vw;right:2.667vw;display:flex;gap:1.333vw;opacity:0;transition:opacity .3s ease;z-index:10}.static-user-list-page .floor-card.my-room-card .action-buttons{opacity:1}.static-user-list-page .floor-card .enter-room-btn,.static-user-list-page .floor-card .home-btn{padding:1.333vw 3.2vw;border-radius:2.667vw;border:none;font-size:1.867vw;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 .533vw 1.6vw #0000004d;letter-spacing:1px}.static-user-list-page .floor-card .enter-room-btn{background:#ffffffe6;color:#333}.static-user-list-page .floor-card .enter-room-btn:hover{background:#fff;transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #0006}.static-user-list-page .floor-card .home-btn{background:#4f46e5e6;color:#fff}.static-user-list-page .floor-card .home-btn:hover{background:#4f46e5;transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #4f46e566}.static-user-list-page .floor-card:hover .room-static-img{transform:scale(1.05)}.static-user-list-page .floor-card:hover .info-overlay,.static-user-list-page .floor-card:hover .action-buttons{opacity:1}.static-user-list-page .scroll-loader{padding:5.333vw 0;display:flex;justify-content:center;align-items:center;width:100vw;margin:0 auto;min-height:26.667vw}.static-user-list-page .scroll-loader .loading-status{display:flex;align-items:center;gap:1.333vw;color:#444;font-size:1.733vw}.static-user-list-page .scroll-loader .end-status{color:#333;font-size:1.733vw}.static-user-list-page .scroll-loader .spinner.small{width:2.133vw;height:2.133vw}.CharacterControl .avatar-selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.067vw;margin-top:1.067vw}.CharacterControl .avatar-selection-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1.067vw;padding:1.333vw;cursor:pointer;display:flex;justify-content:space-between;align-items:center;position:relative}.CharacterControl .avatar-selection-item__name{font-size:1.733vw;font-weight:600;color:#cbd5e1;z-index:1}.CharacterControl .avatar-selection-item__dot{width:1.067vw;height:1.067vw;border-radius:50%;background:var(--accent-color);box-shadow:0 0 1.333vw var(--accent-color);opacity:.5}.CharacterControl .avatar-selection-item:hover{background:#ffffff1a;border-color:#fff3}.CharacterControl .avatar-selection-item.active{background:rgba(var(--accent-color),.1);border-color:var(--accent-color);box-shadow:0 0 2vw #0003}.CharacterControl .avatar-selection-item.active .avatar-selection-item__name{color:#fff}.CharacterControl .avatar-selection-item.active .avatar-selection-item__dot{opacity:1;transform:scale(1.2)}.CharacterControl .position-adjustment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.333vw;margin-top:1.333vw}.CharacterControl .position-adjustment-grid .game-btn{height:5.333vw;font-size:1.867vw;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;border-radius:1.067vw;display:flex;align-items:center;justify-content:center}.CharacterControl .position-adjustment-grid .game-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff4d}.CharacterControl .position-adjustment-grid .game-btn:active,.CharacterControl .position-adjustment-grid .game-btn.active{background:#9333ea!important;color:#fff!important;border-color:#a855f7!important;transform:translateY(1px);box-shadow:0 0 1.333vw #9333ea80}.spz-editing{padding:1.067vw 0}.spz-fence-controls,.spz-position-controls{display:flex;flex-direction:column;gap:.8vw;margin-top:1.067vw}.spz-fence-row{display:flex;align-items:center;gap:1.067vw}.spz-fence-row span{min-width:4.267vw;font-size:1.6vw;color:#9ca3af}.spz-fence-actions{margin-top:1.067vw}.spz-preview-btn{margin-top:2.133vw;padding-top:1.6vw;border-top:1px solid #374151}.spz-section{margin-bottom:1.067vw;border-bottom:1px solid #374151;padding-bottom:1.067vw}.spz-section:last-child{border-bottom:none}.spz-section-header{display:flex;justify-content:space-between;align-items:center;padding:1.067vw 0;cursor:pointer;font-size:1.867vw;font-weight:500;color:#e5e7eb}.spz-section-header:hover{color:#3b82f6}.spz-collapse-icon{font-size:1.333vw;color:#9ca3af;transition:transform .2s}.spz-collapse-icon.collapsed{transform:rotate(-90deg)}.spz-section-content{padding:1.067vw 0}.spz-flip-row{display:flex;align-items:center;justify-content:space-between;margin-top:1.067vw}.spz-fence-toggle-row{margin-bottom:1.333vw;display:flex;align-items:center;gap:1.067vw}.spz-fence-list{display:flex;gap:1.067vw;margin-bottom:1.333vw;flex-wrap:wrap}.spz-fence-current-info{margin-bottom:1.067vw;font-size:1.467vw;color:#9ca3af;display:flex;align-items:center;justify-content:space-between}.spz-fence-buttons{margin-top:1.067vw}.spz-button-label{display:block;font-size:1.467vw;color:#9ca3af;margin-bottom:.533vw}.spz-button-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.533vw}.spz-button-grid button{padding:.8vw 0;font-size:1.467vw;border-radius:.533vw;background:#ffffff1a;border:none;color:#e5e7eb;cursor:pointer;transition:background .2s}.spz-button-grid button:hover{background:#fff3}.spz-button-grid button:active{background:#3b82f680}.spz-switch{position:relative;display:inline-block;width:4.8vw;height:2.667vw}.spz-switch input{opacity:0!important;width:0!important;height:0!important;position:absolute;pointer-events:none}.spz-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.3s;border-radius:2.667vw;border:1px solid rgba(255,255,255,.1)}.spz-switch__slider:before{position:absolute;content:"";height:1.867vw;width:1.867vw;left:.267vw;bottom:.267vw;background-color:#94a3b8;transition:.3s;border-radius:50%;box-shadow:0 .267vw .533vw #0003}input:checked+.spz-switch__slider{background-color:#3b82f64d;border-color:#3b82f680}input:checked+.spz-switch__slider:before{transform:translate(2.133vw);background-color:#3b82f6;box-shadow:0 0 1.067vw #3b82f699}input:focus+.spz-switch__slider{box-shadow:0 0 1px #3b82f6}@media(max-width:480px){.spz-fence-list button{flex:1 0 auto;min-width:60px;text-align:center;justify-content:center}}.UnifiedSpzControl{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5000;pointer-events:none;display:flex;justify-content:center;align-items:center}.UnifiedSpzControl .game-hub-panel--spz-unified{max-height:min(82vh,114.667vw);overflow:hidden;pointer-events:auto;display:flex;flex-direction:column;padding:1.6vw;gap:0;background:#0f172afa;-webkit-backdrop-filter:blur(2.667vw);backdrop-filter:blur(2.667vw);box-shadow:0 1.333vw 5.333vw #00000080;transition:transform .1s ease-out;will-change:auto}.UnifiedSpzControl .game-hub-panel--spz-unified.is-dragging{transition:none;will-change:transform}.UnifiedSpzControl .spz-compact-content{overflow-y:auto;padding-right:.8vw;display:flex;flex-direction:column;gap:1.6vw;width:100%;box-sizing:border-box}.UnifiedSpzControl .spz-module-block{display:flex;flex-direction:column;gap:1.333vw}.UnifiedSpzControl .spz-control-section{display:flex;flex-direction:column;gap:1.067vw;background:#ffffff08;border-radius:1.067vw;padding:1.067vw;border:1px solid rgba(255,255,255,.05)}.UnifiedSpzControl .spz-control-row{display:flex;align-items:center;justify-content:space-between;gap:1.6vw;min-height:3.733vw}.UnifiedSpzControl .spz-label{font-size:1.733vw;color:#cbd5e1;font-weight:500}.UnifiedSpzControl .spz-label-fixed{font-size:1.733vw;color:#cbd5e1;font-weight:500;width:8vw;flex-shrink:0}.UnifiedSpzControl .spz-select-compact{height:3.733vw;padding:0 1.067vw;font-size:1.733vw;border-radius:.8vw;background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;flex:1;max-width:21.333vw}.UnifiedSpzControl .spz-select-compact:focus{border-color:#3b82f6;outline:none}.UnifiedSpzControl .spz-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.533vw}.UnifiedSpzControl .spz-section-title{font-size:1.6vw;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.UnifiedSpzControl .spz-header-actions{display:flex;align-items:center;gap:.8vw}.UnifiedSpzControl .spz-header-actions .spz-label{margin:0;line-height:1;display:flex;align-items:center}.UnifiedSpzControl .spz-header-actions .game-switch{margin:0;display:inline-flex;align-items:center}.UnifiedSpzControl .game-hub-slider{flex:1;height:.8vw;background:#fff3;border-radius:.4vw;margin:0;min-width:8vw;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.UnifiedSpzControl .game-hub-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.133vw;height:2.133vw;border-radius:50%;background:#3b82f6;cursor:pointer;border:.267vw solid white;box-shadow:0 0 .533vw #0000004d;margin-top:-.667vw;position:relative;z-index:2}.UnifiedSpzControl .game-hub-slider::-webkit-slider-runnable-track{width:100%;height:.8vw;background:#fff3;border-radius:.4vw;border:none}.UnifiedSpzControl .spz-slider-row{display:flex;align-items:center;justify-content:flex-start;gap:1.6vw;width:100%}.UnifiedSpzControl .spz-input-xs{width:6.667vw;height:3.2vw;padding:0 .533vw;font-size:1.6vw;text-align:center;border-radius:.533vw;background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#fff}.UnifiedSpzControl .spz-input-xs:focus{border-color:#3b82f6;background:#00000080}.UnifiedSpzControl .spz-axis-group{display:flex;flex-direction:column;gap:.533vw;width:100%}.UnifiedSpzControl .spz-axis-label{font-size:1.467vw;color:#64748b;text-transform:uppercase;font-weight:600}.UnifiedSpzControl .spz-axis-grid{display:grid;grid-template-columns:1fr;gap:1.067vw}.UnifiedSpzControl .spz-axis-item{display:flex;align-items:center;gap:.8vw;background:#0003;border-radius:.533vw;padding:.267vw .533vw}.UnifiedSpzControl .spz-axis-name{font-size:1.467vw;color:#94a3b8;width:2.133vw;text-align:center;font-weight:600}.UnifiedSpzControl .spz-axis-item .spz-input-xs{flex:0 0 6.667vw;width:6.667vw;text-align:right}.UnifiedSpzControl .spz-axis-item .spz-input-xs:focus{border-color:#3b82f6;background:#00000080}.UnifiedSpzControl .spz-fence-chip-list{display:flex;flex-wrap:wrap;gap:1.067vw}.AssetManagement .game-hub-panel--edit{width:42.667vw}.AssetManagement .asset-item{display:flex;flex-direction:column;align-items:center;gap:1.067vw;padding:1.6vw;background:#ffffff0d;border-radius:1.6vw;cursor:pointer;transition:all .2s}.AssetManagement .asset-item:hover{background:#ffffff1a;transform:translateY(-.267vw)}.AssetManagement .asset-item .asset-icon{font-size:4.267vw}.AssetManagement .asset-item .asset-label{font-size:1.6vw;color:#cbd5e1}.AssetManagement .game-hub-helper-text{margin:0 0 1.067vw;font-size:1.6vw;line-height:1.4;color:#94a3b8}.AssetManagement .game-hub-movement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.067vw;margin-top:1.067vw}.dance-game-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;display:flex;flex-direction:column;justify-content:space-between}.dance-game-container .webcam-container{position:absolute;bottom:2.667vw;right:2.667vw;width:10.667vw;height:16vw;border:.267vw solid rgba(0,255,255,.5);border-radius:1.6vw;overflow:hidden;z-index:50;pointer-events:auto;background:#00000080}.dance-game-container .webcam-container canvas{width:100%;height:100%;object-fit:cover}@media(max-width:600px){.dance-game-container .webcam-container{width:60px;height:90px;bottom:10px;right:10px}}.dance-game-container .game-ui-layer{position:relative;width:100%;height:100%}.dance-game-container .game-ui-layer .close-btn{position:absolute;top:2.667vw;right:2.667vw;padding:1.067vw 2.133vw;background:#ff0000b3;color:#fff;border:none;border-radius:.533vw;cursor:pointer;pointer-events:auto;font-weight:700;z-index:20}.dance-game-container .game-ui-layer .close-btn:hover{background:red}.dance-game-container .game-ui-layer .score-panel{position:absolute;top:2.667vw;left:2.667vw;background:#0009;padding:1.333vw 2.667vw;border-radius:1.067vw;border:.267vw solid #00ffff;color:#0ff;text-align:center}.dance-game-container .game-ui-layer .score-panel .label{font-size:1.867vw;opacity:.8}.dance-game-container .game-ui-layer .score-panel .value{font-size:4.267vw;font-weight:700;text-shadow:0 0 1.333vw #00ffff}.dance-game-container .game-ui-layer .moves-scroll{position:absolute;bottom:29.333vw;right:2.667vw;width:13.333vw;height:53.333vw;overflow:hidden;display:flex;flex-direction:column-reverse;pointer-events:none}.dance-game-container .game-ui-layer .moves-scroll .scroll-item{width:10.667vw;height:10.667vw;margin-bottom:1.333vw;border-radius:50%;overflow:hidden;border:.267vw solid #ff00ff;background:#00000080;animation-name:scrollUp;animation-timing-function:linear;animation-fill-mode:forwards;position:relative}.dance-game-container .game-ui-layer .moves-scroll .scroll-item img{width:100%;height:100%;object-fit:cover}.dance-game-container .game-ui-layer .score-feedback-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;animation:popIn .5s ease-out forwards}.dance-game-container .game-ui-layer .score-feedback-container.perfect{color:#ff0;text-shadow:0 0 2.667vw #ffff00}.dance-game-container .game-ui-layer .score-feedback-container.good{color:#0f0;text-shadow:0 0 2.667vw #00ff00}.dance-game-container .game-ui-layer .score-feedback-container.ok{color:#0ff;text-shadow:0 0 2.667vw #00ffff}.dance-game-container .game-ui-layer .score-feedback-container.miss{color:red;text-shadow:0 0 2.667vw #ff0000}.dance-game-container .game-ui-layer .score-feedback-container .score-feedback-text{font-size:8.533vw;font-weight:900;font-style:italic}.dance-game-container .game-ui-layer .score-feedback-container .score-value{font-size:4.267vw;font-weight:700}.dance-game-container .game-ui-layer .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;pointer-events:auto;z-index:100;padding:2.667vw;box-sizing:border-box}.dance-game-container .game-ui-layer .overlay h1{font-size:6.4vw;margin-bottom:2.667vw;text-shadow:0 0 2.667vw #00ffff;color:#0ff}@media(max-width:600px){.dance-game-container .game-ui-layer .overlay h1{font-size:32px}}.dance-game-container .game-ui-layer .overlay .difficulty{font-size:3.2vw;margin-bottom:5.333vw;color:#f0f}@media(max-width:600px){.dance-game-container .game-ui-layer .overlay .difficulty{font-size:18px}}.dance-game-container .game-ui-layer .overlay button{padding:2vw 5.333vw;font-size:3.2vw;background:transparent;border:.267vw solid #00ffff;color:#0ff;cursor:pointer;transition:all .3s;text-transform:uppercase;font-weight:700;margin:1.333vw}@media(max-width:600px){.dance-game-container .game-ui-layer .overlay button{padding:12px 30px;font-size:18px}}.dance-game-container .game-ui-layer .overlay button:hover{background:#0ff;color:#000;box-shadow:0 0 2.667vw #0ff}.dance-game-container .game-ui-layer .overlay.result-wrapper{background:#0009}.dance-game-container .game-ui-layer .overlay.result{background:transparent;transform-origin:center center}@media(max-height:600px){.dance-game-container .game-ui-layer .overlay.result{transform:scale(.8)}}@media(max-height:500px){.dance-game-container .game-ui-layer .overlay.result{transform:scale(.65)}}@media(min-width:2000px){.dance-game-container .game-ui-layer .overlay.result{transform:scale(.85)}}@media(min-width:2400px){.dance-game-container .game-ui-layer .overlay.result{transform:scale(.75)}}@media(min-width:3000px){.dance-game-container .game-ui-layer .overlay.result{transform:scale(.65)}}.dance-game-container .game-ui-layer .overlay.result .final-score{font-family:Russo One,Impact,sans-serif;font-size:13.333vw;line-height:1;font-weight:700;background:linear-gradient(to bottom,#fff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 2.667vw #00ffff);margin:2.667vw 0;animation:glowPulse 2s infinite alternate}@media(max-width:600px){.dance-game-container .game-ui-layer .overlay.result .final-score{font-size:64px}}.dance-game-container .game-ui-layer .overlay.result .rank-container{margin:2.667vw 0}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank{font-family:Black Ops One,Impact,sans-serif;font-size:5.333vw;text-transform:uppercase;margin:1.333vw 0 5.333vw;position:relative;display:inline-block;font-weight:900}@media(max-width:600px){.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank{font-size:28px}}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank:before,.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank:after{content:"-";color:#fff;margin:0 1.333vw;opacity:.5}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank.s-rank{color:gold;text-shadow:0 0 2vw #ffd700}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank.a-rank{color:#f0f;text-shadow:0 0 2vw #ff00ff}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank.b-rank{color:#0ff;text-shadow:0 0 2vw #00ffff}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank.c-rank{color:#0f0;text-shadow:0 0 2vw #00ff00}.dance-game-container .game-ui-layer .overlay.result .rank-container .score-rank.d-rank{color:#f33;text-shadow:0 0 2vw #ff3333}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scrollUp{0%{transform:translateY(100px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-300px);opacity:0}}@keyframes glowPulse{0%{filter:drop-shadow(0 0 10px #00ffff)}to{filter:drop-shadow(0 0 30px #00ffff)}}.dance-selection-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;z-index:2000;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(.667vw);backdrop-filter:blur(.667vw);pointer-events:auto}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dance-selection-modal-overlay .dance-selection-modal{width:90%;max-width:120vw;height:70vh;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:2.133vw;border:1px solid rgba(0,255,255,.5);box-shadow:0 0 6.667vw #000c,0 0 2.667vw #0ff3;position:relative;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;animation:modalFadeIn .3s cubic-bezier(.175,.885,.32,1.275)}.dance-selection-modal-overlay .dance-selection-modal.qr-modal{width:min(85vw,42.667vw);height:auto;max-width:85vw;max-height:calc(100vh - 2.667vw);padding:1.333vw;align-items:center}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .modal-header{border-bottom:none;background:transparent;padding:0 0 .533vw;flex-direction:column;align-items:center;justify-content:center;width:100%}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .modal-header h2{font-size:2.133vw;text-align:center;margin-bottom:.267vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .modal-header p{text-align:center;margin:0!important;font-size:1.467vw;opacity:.8}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .close-btn{top:.8vw;right:.8vw;width:3.2vw;height:3.2vw;font-size:2.133vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content{display:flex;flex-direction:column;align-items:center;width:100%}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-code-wrapper{background:#fff;width:min(100%,25.6vw);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:.8vw;border-radius:1.067vw;box-shadow:0 0 1.333vw #0ff3;margin-bottom:.533vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-instruction{color:#ffffffb3;font-size:1.467vw;margin-bottom:.533vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status{display:flex;align-items:center;gap:.8vw;background:#0000004d;padding:.4vw 1.067vw;border-radius:1.6vw;border:1px solid rgba(255,255,255,.1)}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status .status-indicator{width:.8vw;height:.8vw;border-radius:50%}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status .status-indicator.pending{background-color:#fc0;box-shadow:0 0 .8vw #fc0;animation:pulse 1s infinite}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status .status-indicator.connected{background-color:#0f0;box-shadow:0 0 .8vw #0f0}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status span{color:#ffffffe6;font-size:1.467vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-actions{width:100%;display:flex;gap:1.067vw;justify-content:center;margin-top:.8vw}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-actions .qr-action-btn{min-width:10.667vw;padding:.667vw 1.333vw;border-radius:.533vw;border:none;background:linear-gradient(90deg,#0ff,#7c3aed);color:#fff;font-size:1.6vw;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-actions .qr-action-btn:hover{transform:translateY(-1px);opacity:.92}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-actions .qr-action-btn.qr-action-btn--ghost{background:#ffffff1f;border:1px solid rgba(255,255,255,.22)}@media(max-height:860px){.dance-selection-modal-overlay .dance-selection-modal.qr-modal .modal-header h2{font-size:20px}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-code-wrapper{width:min(100%,190px)}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .connection-status{padding:7px 12px}.dance-selection-modal-overlay .dance-selection-modal.qr-modal .qr-content .qr-action-btn{min-width:104px;font-size:13px}}.dance-selection-modal-overlay .dance-selection-modal .close-btn{position:absolute;top:2vw;right:2.667vw;width:5.333vw;height:5.333vw;display:flex;align-items:center;justify-content:center;font-size:3.733vw;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;z-index:10;transition:all .3s;padding-bottom:0;line-height:1}.dance-selection-modal-overlay .dance-selection-modal .close-btn:hover{background:#f0f3;color:#f0f;border-color:#f0f;transform:rotate(90deg)}.dance-selection-modal-overlay .dance-selection-modal .modal-header{padding:2vw 3.333vw;border-bottom:1px solid rgba(0,255,255,.2);background:#0003;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}@media(min-width:768px){.dance-selection-modal-overlay .dance-selection-modal .modal-header{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:15px;padding-right:60px}}.dance-selection-modal-overlay .dance-selection-modal .modal-header h2{font-size:3.2vw;color:#0ff;margin:0;text-shadow:0 0 2vw rgba(0,255,255,.6);letter-spacing:.267vw;font-weight:800}.dance-selection-modal-overlay .dance-selection-modal .modal-header p{color:#a0a0ff;margin-top:.667vw;font-size:1.733vw;opacity:.8}@media(min-width:768px){.dance-selection-modal-overlay .dance-selection-modal .modal-header p{margin-top:0}}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content{flex:1;width:100%;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:2.667vw}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content::-webkit-scrollbar{width:1.067vw}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content::-webkit-scrollbar-track{background:#0000004d}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content::-webkit-scrollbar-thumb{background:#00ffff4d;border-radius:.533vw}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content::-webkit-scrollbar-thumb:hover{background:#0ff9}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(26.667vw,1fr));gap:2vw}@media(min-width:1200px){.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards{grid-template-columns:repeat(4,1fr);gap:20px}}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card{min-width:0;background-color:#14142399;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);border:1px solid rgba(0,255,255,.3);border-radius:1.333vw;overflow:hidden;box-shadow:0 1.333vw 4vw #00000080;transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;position:relative;display:flex;flex-direction:column}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card:hover{transform:translateY(-.667vw);border-color:#f0f;box-shadow:0 2vw 5.333vw #0009,0 0 2.667vw #ff00ff4d}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card:hover .select-btn{background:linear-gradient(90deg,#f0f,#a0f);color:#fff}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card:hover .dance-thumbnail img{transform:scale(1.1)}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail{height:20vw;background:#000;position:relative;overflow:hidden}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(45deg,#1a1a2e,#16213e);color:#555}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-image-placeholder i{font-size:4.8vw;margin-bottom:1.067vw;background:linear-gradient(to bottom,#0ff,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 1.333vw rgba(0,255,255,.3))}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-image-placeholder span{font-size:1.6vw;color:#fff9;text-align:center;padding:0 2vw;font-weight:500}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info{position:absolute;bottom:0;left:0;width:100%;padding:1.333vw;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.6) 60%,transparent 100%);display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .difficulty{display:flex;align-items:center}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .difficulty-badge{padding:.4vw 1.067vw;border-radius:1.333vw;font-size:1.333vw;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 .267vw .667vw #0000004d;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);white-space:nowrap}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .difficulty-badge.easy{background:#0f03;color:#0f0;border:1px solid #00ff00}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .difficulty-badge.medium{background:#ff03;color:#ff0;border:1px solid #ffff00}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .difficulty-badge.hard{background:#f003;color:#f44;border:1px solid #ff0000}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .duration{color:#ffffffe6;font-size:1.467vw;display:flex;align-items:center;gap:.533vw;font-weight:500;background:#00000080;padding:.267vw .8vw;border-radius:1.067vw;white-space:nowrap}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .dance-thumbnail .dance-info .duration i{font-size:1.6vw}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card h3{padding:1.6vw 1.6vw .533vw;margin:0;color:#fff;font-size:2.133vw;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 .267vw .533vw rgba(0,0,0,.5)}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card p{padding:0 1.6vw;margin:0 0 1.6vw;color:#fff9;font-size:1.6vw;line-height:1.4;max-height:4.533vw;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .dance-card .select-btn{margin-top:auto;width:100%;padding:1.333vw;background:#00ffff0d;border:none;border-top:1px solid rgba(255,255,255,.1);color:#0ff;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all .3s;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.8vw;font-size:1.733vw}.dance-selection-modal-overlay .dance-selection-modal .dance-list-content .dance-cards .loading-indicator{text-align:center;padding:2.667vw;color:#00ffffb3;font-size:1.867vw;text-transform:uppercase;letter-spacing:.267vw;font-weight:600;animation:loading-pulse 1.5s infinite ease-in-out}@keyframes loading-pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes pulse{0%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.5;transform:scale(.9)}}:root{--game-primary: #3b82f6;--game-secondary: #8b5cf6;--game-accent: #f59e0b;--game-danger: #ef4444;--game-success: #10b981;--game-bg: rgba(10, 15, 30, .98);--game-border: rgba(255, 255, 255, .2)}.game-hub{position:absolute;top:2.667vw;left:2.667vw;display:flex;flex-direction:column;gap:1.6vw;pointer-events:auto;z-index:100}.game-hub-nav{display:flex;gap:1.067vw;background:#0f172ad9;-webkit-backdrop-filter:blur(2.133vw);backdrop-filter:blur(2.133vw);padding:.8vw;border-radius:1.6vw;border:1px solid rgba(255,255,255,.15);pointer-events:auto}.game-hub-nav__item{padding:1.067vw 2.133vw;border-radius:1.067vw;font-size:1.733vw;font-weight:700;color:#94a3b8;background:transparent;border:none;cursor:pointer;transition:all .2s}.game-hub-nav__item:hover{color:#fff;background:#ffffff0d}.game-hub-nav__item.is-active{color:#fff;background:#3b82f6;box-shadow:0 .533vw 1.6vw #3b82f64d}.game-page{width:100vw;height:100vh;overflow:hidden;position:fixed;top:0;left:0;background-color:#1a1a1a;touch-action:none}.game-hub-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5000;display:flex;flex-direction:column}.game-hub-overlay .game-btn{padding:1.333vw 2.133vw;border-radius:1.6vw;font-size:1.733vw;font-weight:700;cursor:pointer;transition:all .2s;border:none;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;gap:1.067vw;box-shadow:0 .533vw 1.6vw #0003}@media(min-width:1024px){.game-hub-overlay .game-btn{padding:12px 20px;font-size:14px}}@media(min-width:2000px){.game-hub-overlay .game-btn{padding:14px 24px;font-size:15px}}.game-hub-overlay .game-btn--blue{background:#3b82f6}.game-hub-overlay .game-btn--blue:hover{background:#2563eb}.game-hub-overlay .game-btn--purple{background:#8b5cf6}.game-hub-overlay .game-btn--purple:hover{background:#7c3aed}.game-hub-overlay .game-btn--green{background:#10b981}.game-hub-overlay .game-btn--green:hover{background:#059669}.game-hub-overlay .game-btn--red{background:#ef4444}.game-hub-overlay .game-btn--red:hover{background:#dc2626}.game-hub-overlay .game-btn--gray{background:#475569}.game-hub-overlay .game-btn--gray:hover{background:#334155}.game-hub-overlay .game-btn--sm{padding:.8vw 1.6vw;font-size:1.6vw;border-radius:1.067vw}@media(min-width:1024px){.game-hub-overlay .game-btn--sm{padding:8px 14px;font-size:13px}}@media(min-width:2000px){.game-hub-overlay .game-btn--sm{padding:10px 16px;font-size:14px}}.game-hub-overlay .game-btn--xs{padding:.533vw 1.067vw;font-size:1.467vw;border-radius:.8vw}@media(min-width:1024px){.game-hub-overlay .game-btn--xs{padding:6px 10px;font-size:12px}}@media(min-width:2000px){.game-hub-overlay .game-btn--xs{padding:8px 12px;font-size:13px}}.game-hub-overlay .game-btn--circle{width:9.067vw;height:9.067vw;min-width:9.067vw;min-height:9.067vw;flex-shrink:0;aspect-ratio:1 / 1;border-radius:50%;padding:0;font-size:1.733vw;line-height:1.2;background:#0f172ae6;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:pre-wrap;word-break:break-all}.game-hub-overlay .game-btn--circle.active{background:var(--game-primary);box-shadow:0 0 2.667vw #3b82f680}@media(max-width:640px){.game-hub-overlay .game-btn--circle{width:60px;height:60px;min-width:60px;min-height:60px;font-size:12px}}.game-hub-bottom-right{position:absolute;bottom:5.333vw;right:2.667vw;display:flex;flex-direction:column;gap:2.667vw;pointer-events:auto}@media(max-width:640px){.game-hub-bottom-right{bottom:30px;right:15px;gap:16px}}.game-btn{padding:1.333vw 2.133vw;border-radius:1.6vw;font-size:1.733vw;font-weight:700;cursor:pointer;transition:all .2s;border:none;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;gap:1.067vw;box-shadow:0 .533vw 1.6vw #0003}.game-btn--blue{background:#3b82f6}.game-btn--blue:hover{background:#2563eb}.game-btn--purple{background:#8b5cf6}.game-btn--purple:hover{background:#7c3aed}.game-btn--green{background:#10b981}.game-btn--green:hover{background:#059669}.game-btn--red{background:#ef4444}.game-btn--red:hover{background:#dc2626}.game-btn--gray{background:#475569}.game-btn--gray:hover{background:#334155}.game-btn--sm{padding:.8vw 1.6vw;font-size:1.6vw;border-radius:1.067vw}.game-btn--xs{padding:.533vw 1.067vw;font-size:1.467vw;border-radius:.8vw}.game-btn--circle{width:9.067vw;height:9.067vw;min-width:9.067vw;min-height:9.067vw;flex-shrink:0;aspect-ratio:1 / 1;border-radius:50%;padding:0;font-size:1.733vw;line-height:1.2;background:#0f172ae6;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:pre-wrap;word-break:break-all}.game-btn--circle.active{background:var(--game-primary);box-shadow:0 0 2.667vw #3b82f680}@media(max-width:640px){.game-btn--circle{width:60px;height:60px;min-width:60px;min-height:60px;font-size:12px}}@keyframes panelSlideDown{0%{opacity:0;transform:translate3d(-50%,-20px,0) scale(.98)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}@keyframes panelSlideUp{0%{opacity:0}to{opacity:1}}@keyframes panelFadeIn{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.game-hub-panel{position:absolute;bottom:13.333vw;right:2.667vw;width:42.667vw;background:#0f172af2;-webkit-backdrop-filter:blur(3.2vw) saturate(200%);backdrop-filter:blur(3.2vw) saturate(200%);border:1px solid rgba(255,255,255,.15);border-radius:1.6vw;box-shadow:0 2.667vw 6.667vw #0009;padding:2.133vw;gap:1.6vw;pointer-events:auto;z-index:6000;color:#f8fafc;animation:panelSlideUp .35s cubic-bezier(.16,1,.3,1) forwards;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease;max-height:calc(100vh - 16vw);display:flex;flex-direction:column;overflow:hidden}.game-hub-panel.is-dragging{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172afa;box-shadow:0 3.333vw 8vw #000000b3;transition:transform 0s!important}.game-hub-panel button{pointer-events:auto!important}@media(orientation:landscape)and (max-height:500px){.game-hub-panel{bottom:10px;right:10px;max-height:calc(100vh - 20px);width:300px;gap:4px;padding:10px}}.game-hub-panel__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.8vw;margin-bottom:.533vw;border-bottom:1px solid rgba(255,255,255,.05);cursor:move;-webkit-user-select:none;user-select:none}.game-hub-panel__header-title{display:flex;align-items:center;gap:1.067vw}.game-hub-panel__header .drag-icon{color:#ffffff4d;flex-shrink:0}.game-hub-panel__header h3{font-size:1.867vw;font-weight:700;color:#3b82f6;margin:0;opacity:.9}.game-hub-panel__content{flex:1;max-height:50vh;overflow-y:auto;padding-right:.533vw}@media(orientation:landscape)and (max-height:500px){.game-hub-panel__content{max-height:none}}.game-hub-panel__content::-webkit-scrollbar{width:.533vw}.game-hub-panel__content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.game-hub-panel__close{background:#ffffff0d;border:none;color:#94a3b8;font-size:2.4vw;width:3.733vw;height:3.733vw;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;line-height:1;transition:all .2s}.game-hub-panel__close:hover{color:#fff;background:#ffffff26}.game-hub-panel__title{font-size:1.6vw;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:1.067vw;margin-bottom:.533vw}.game-hub-panel__divider{height:1px;background:#ffffff1a;margin:1.067vw 0}.game-hub-panel__grid{display:grid;gap:1.067vw}.game-hub-panel__grid--4col{grid-template-columns:repeat(4,1fr)}.game-hub-panel__grid--3col{grid-template-columns:repeat(3,1fr)}.game-hub-panel__grid--2col{grid-template-columns:repeat(2,1fr)}.game-hub-panel__grid--parts{display:flex;flex-wrap:wrap;gap:.8vw;justify-content:center}.game-hub-panel__grid--actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1.333vw;margin-top:.533vw}.game-hub-movement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.067vw;background:#ffffff08;padding:1.333vw;border-radius:1.6vw}.game-hub-control-group{display:flex;flex-direction:column;gap:1.067vw;background:#ffffff08;padding:1.333vw;border-radius:1.6vw;margin-bottom:1.6vw}.game-hub-swatches{display:flex;flex-wrap:wrap;gap:1.067vw;padding:.533vw 0}.game-hub-swatch{width:3.733vw;height:3.733vw;border-radius:50%;border:.267vw solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);padding:0}.game-hub-swatch:hover{transform:scale(1.1);border-color:#ffffff80}.game-hub-swatch.active{border-color:#3b82f6;transform:scale(1.15);box-shadow:0 0 0 .267vw #3b82f680,0 0 2vw #3b82f64d;position:relative}.game-hub-swatch.active:after{content:"";position:absolute;top:-.533vw;left:-.533vw;right:-.533vw;bottom:-.533vw;border:.267vw solid white;border-radius:inherit;pointer-events:none}.game-hub-swatch--square{border-radius:.8vw}.game-hub-label-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.267vw}.game-hub-label-row--large .game-hub-label{font-size:1.867vw;color:#fff}.game-hub-label-row--large .game-hub-value{font-size:1.333vw}.game-hub-value{font-size:1.6vw;color:#fff;font-weight:700;background:#3b82f633;padding:.267vw .8vw;border-radius:.533vw}.game-hub-slider{width:100%;height:.8vw;background:#ffffff1a;border-radius:.4vw;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;margin:1.333vw 0}.game-hub-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.4vw;height:2.4vw;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 .267vw .8vw #0006;border:.267vw solid var(--game-primary);transition:all .2s}.game-hub-slider::-webkit-slider-thumb:hover{transform:scale(1.1);background:#f8fafc}.game-hub-label{font-size:1.6vw;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.game-hub-control-row{display:flex;align-items:center;justify-content:space-between;gap:1.6vw;min-height:4.8vw}.game-hub-control-row--wrap{flex-wrap:wrap}.game-hub-control-row--relative{position:relative}.game-hub-control-row--stack{flex-direction:column;align-items:stretch;gap:1.067vw;min-height:auto}.game-hub-slider-container{display:flex;align-items:center;gap:1.067vw;width:100%}.game-hub-slider-container .game-hub-slider{flex:1;margin:0}.game-hub-slider-container .game-btn{flex-shrink:0;width:3.733vw;height:3.733vw;padding:0}.game-hub-footer{margin-top:2.133vw;display:flex;flex-direction:column;gap:1.6vw;padding-bottom:1.333vw}.game-hub-color-preview{width:4.267vw;height:4.267vw;flex-shrink:0;border-radius:1.067vw;border:.267vw solid rgba(255,255,255,.3);cursor:pointer;box-shadow:0 .267vw 1.333vw #0000004d;transition:transform .2s;background-color:var(--marker-color, transparent)}.game-hub-color-preview:active{transform:scale(.9)}.game-switch{position:relative;display:inline-block;width:4.8vw;height:2.667vw}.game-switch input{opacity:0;width:0;height:0}.game-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.3s;border-radius:2.667vw;border:1px solid rgba(255,255,255,.1)}.game-switch__slider:before{position:absolute;content:"";height:1.867vw;width:1.867vw;left:.267vw;bottom:.267vw;background-color:#94a3b8;transition:.3s;border-radius:50%;box-shadow:0 .267vw .533vw #0003}input:checked+.game-switch__slider{background-color:#3b82f64d;border-color:#3b82f680}input:checked+.game-switch__slider:before{transform:translate(2.133vw);background-color:#3b82f6;box-shadow:0 0 1.067vw #3b82f699}input:focus+.game-switch__slider{box-shadow:0 0 1px #3b82f6}.game-hub-item-stack{display:flex;flex-direction:column;gap:1.6vw}@media(orientation:landscape)and (max-height:500px){.game-hub-item-stack{gap:8px}}.game-hub-item-stack--full{width:100%}.game-hub-empty{text-align:center;padding:4.267vw;color:#94a3b8;font-size:1.867vw}.game-hub-item{display:flex;flex-direction:column;align-items:stretch;gap:1.067vw;padding:1.6vw;background:#ffffff0d;border-radius:1.6vw;border:1px solid rgba(255,255,255,.05);transition:all .2s;margin-bottom:1.6vw}.game-hub-item:hover{background:#ffffff1a;border-color:#ffffff1a}.pose-list{display:flex;flex-direction:column;gap:1.6vw;max-height:40vh;overflow-y:auto;padding-right:1.067vw}.pose-list::-webkit-scrollbar{width:.533vw}.pose-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.pose-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1.6vw;padding:1.6vw;display:flex;justify-content:space-between;align-items:center}.pose-item__info{display:flex;flex-direction:column}.pose-item__name{color:#fff;font-weight:700;font-size:1.867vw}.pose-item__date{color:#94a3b8;font-size:1.467vw;margin-top:.267vw}.pose-item__actions{display:flex;gap:1.067vw}.marker-list{display:flex;flex-direction:column;gap:.8vw;max-height:20vw;overflow-y:auto;padding-right:.533vw}.marker-list::-webkit-scrollbar{width:.533vw}.marker-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.267vw}.marker-list-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:.8vw 1.333vw;border-radius:1.067vw;font-size:1.6vw;color:#e2e8f0}.marker-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:18.667vw}.marker-list-empty{text-align:center;color:#64748b;font-size:1.6vw;padding:1.333vw 0}.game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(.533vw);backdrop-filter:blur(.533vw);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2.667vw;pointer-events:auto}.game-modal{width:100%;max-width:53.333vw;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:3.2vw;box-shadow:0 3.333vw 6.667vw -1.6vw #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalPop .3s cubic-bezier(.34,1.56,.64,1)}.game-modal--large{max-width:66.667vw}.game-modal__header{padding:2.667vw 3.2vw;font-size:2.4vw;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}.game-modal__content{padding:3.2vw;max-height:70vh;overflow-y:auto}.game-modal__footer{padding:2.133vw 3.2vw;background:#0003;display:flex;justify-content:flex-end;gap:1.6vw}.game-modal__text{color:#94a3b8;line-height:1.6;font-size:1.867vw;margin:0}@keyframes modalPop{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes selectorSlideUp{0%{opacity:0;transform:translate3d(-50%,40px,0) scale(.95)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}@keyframes glitchAnim{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes mysticGlow{0%{box-shadow:0 0 15px var(--accent-color)}50%{box-shadow:0 0 30px var(--accent-color),0 0 50px #fff3}to{box-shadow:0 0 15px var(--accent-color)}}.avatar-selector-floating{position:fixed;top:5.333vw;left:50%;transform:translate3d(-50%,0,0);width:64vw;max-width:94.667vw;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:2.133vw;pointer-events:auto;animation:selectorSlideUp .5s cubic-bezier(.16,1,.3,1)}.avatar-selector-floating .avatar-selector-close{position:absolute;top:-1.333vw;right:-1.333vw;width:4.267vw;height:4.267vw;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);z-index:10}.avatar-selector-floating .avatar-selector-close:hover{background:#ef4444cc;color:#fff;transform:rotate(90deg)}@media(max-width:640px){.avatar-selector-floating{top:20px}}.avatar-selector-title{font-size:1.867vw;color:#94a3b8;text-transform:uppercase;letter-spacing:.3em;font-weight:800;text-shadow:0 0 1.333vw rgba(255,255,255,.3);display:flex;align-items:center;gap:1.6vw}.avatar-selector-title .mystic-icon{color:#60a5fa;animation:pulse 2s infinite}.avatar-selector-track{display:flex;gap:2.667vw;padding:1.333vw 2.667vw;overflow-x:auto;width:100%;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);touch-action:pan-x;pointer-events:auto;-webkit-overflow-scrolling:touch}.avatar-selector-track::-webkit-scrollbar{display:none}.avatar-card{flex:0 0 18.667vw;height:24vw;background:#0f172a99;-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);border:1px solid rgba(255,255,255,.1);border-radius:2.133vw;position:relative;cursor:pointer;transition:all .4s cubic-bezier(.19,1,.22,1);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:2.133vw;-webkit-user-select:none;user-select:none;pointer-events:auto}.avatar-card:hover{transform:translateY(-1.067vw) scale(1.05);background:#0f172acc;border-color:#ffffff4d}.avatar-card:hover .avatar-card__glitch{opacity:.3}.avatar-card.active{background:#0f172ae6;border-color:var(--accent-color);animation:mysticGlow 3s infinite;transform:translateY(-.533vw) scale(1.02)}.avatar-card.active .avatar-card__name{color:#fff}.avatar-card.active .avatar-card__desc{color:#cbd5e1;opacity:1}.avatar-card__glitch{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent,var(--accent-color),transparent);opacity:0;transition:opacity .3s;pointer-events:none;animation:glitchAnim .2s infinite}.avatar-card__content{position:relative;z-index:2;pointer-events:none}.avatar-card__name{font-size:2vw;font-weight:800;color:#94a3b8;margin-bottom:.533vw;transition:color .3s}.avatar-card__desc{font-size:1.333vw;color:#64748b;line-height:1.4;opacity:.8;transition:opacity .3s}.avatar-card__glow{position:absolute;bottom:-2.667vw;left:50%;transform:translate(-50%);width:80%;height:5.333vw;background:var(--accent-color);filter:blur(3.333vw);opacity:.4;pointer-events:none}.game-hub-joystick-container{position:fixed;bottom:5.333vw;left:5.333vw;z-index:5001;pointer-events:auto}@media(max-width:640px){.game-hub-joystick-container{bottom:30px;left:20px}}.game-hub-joystick{width:16vw;height:16vw;background:#ffffff0d;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:.267vw solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;touch-action:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.game-hub-joystick.active{background:#ffffff26;border-color:#ffffff4d;transform:scale(1.05)}.game-hub-joystick.marker-mode,.game-hub-joystick.asset-mode{border-color:var(--game-accent)}.game-hub-joystick.marker-mode.active,.game-hub-joystick.asset-mode.active{box-shadow:0 0 2.667vw #f59e0b33}@media(max-width:640px){.game-hub-joystick{width:100px;height:100px}}@media(min-width:1200px){.game-hub-joystick{width:180px;height:180px}}.game-hub-joystick-knob{width:5.333vw;height:5.333vw;background:#fff9;border-radius:50%;box-shadow:0 .533vw 1.6vw #0000004d;pointer-events:none;transition:transform .1s ease-out,background .3s,box-shadow .3s}@media(min-width:1200px){.game-hub-joystick-knob{width:50px;height:50px}}.game-hub-joystick-knob.active{background:#fffffff2;box-shadow:0 1.067vw 2.667vw #0006;transition:none}.marker-mode .game-hub-joystick-knob,.asset-mode .game-hub-joystick-knob{background:var(--game-accent)}.marker-mode .game-hub-joystick-knob.active,.asset-mode .game-hub-joystick-knob.active{background:#fbbf24}.third-person-view-container{width:100vw;height:100vh;position:relative;overflow:hidden}.third-person-page{width:100vw;height:100vh;overflow:hidden;position:fixed;top:0;left:0}@media(orientation:landscape){.third-person-page .game-hub-bottom-right{bottom:15px!important;right:15px!important;display:flex!important;flex-direction:row-reverse!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:flex-end!important;gap:10px!important;max-width:85vw!important;width:auto!important;height:auto!important;padding:0!important;background:none!important}.third-person-page .game-btn--circle{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;font-size:11px!important;margin:0!important}}@media(orientation:landscape)and (max-height:480px){.third-person-page .game-hub-bottom-right{bottom:8px!important;right:8px!important;gap:6px!important}.third-person-page .game-btn--circle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:10px!important}.third-person-page .game-hub-joystick-container{bottom:10px!important;left:10px!important;transform:scale(.75)!important;transform-origin:bottom left!important}}.third-person-page .editor-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6000}.third-person-page .editor-layer>*{pointer-events:auto}.third-person-page .SpzControl--mainworld .game-hub-panel--spz-mainworld{max-height:min(74vh,93.333vw)}.third-person-page .SpzControl--mainworld .game-hub-panel__content{overflow-y:auto;padding-right:.533vw}.third-person-page .SpzControl--mainworld .game-hub-panel__content::-webkit-scrollbar{width:.8vw}.third-person-page .SpzControl--mainworld .game-hub-panel__content::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:1.067vw}.third-person-page .SpzControl--mainworld .game-hub-control-group{gap:1.333vw}.third-person-page .SpzControl--mainworld .spz-mainworld-actions{display:grid;grid-template-columns:1fr 1fr;gap:1.067vw;margin-bottom:.533vw}.third-person-page .SpzControl--mainworld .spz-mainworld-axis-title{font-size:1.6vw;font-weight:700;color:#e2e8f0;letter-spacing:.04em;margin-top:.267vw}.third-person-page .SpzControl--mainworld .spz-mainworld-axis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.067vw}.third-person-page .SpzControl--mainworld .spz-mainworld-axis-item{margin-bottom:0;padding:1.333vw}.third-person-page .SpzControl--mainworld .spz-mainworld-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 11.733vw;align-items:center;gap:1.067vw}.third-person-page .SpzControl--mainworld .spz-mainworld-slider-row .game-hub-slider{margin:0}.third-person-page .SpzControl--mainworld .spz-mainworld-slider-row .game-hub-input{margin:0;text-align:right}@media(max-width:640px){.third-person-page .SpzControl--mainworld .spz-mainworld-axis-grid{grid-template-columns:1fr}.third-person-page .SpzControl--mainworld .spz-mainworld-slider-row{grid-template-columns:minmax(0,1fr) 80px}}:root{--mirror-size-sm: 46.667vw;--mirror-size-md: 66.667vw;--mirror-size-lg: 80vw;--frame-color: #2d3748;--frame-width: 2.133vw}*{box-sizing:border-box}.convex-mirror-container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100vh;min-height:100vh;background-color:transparent}.mirror-outer-ring{position:relative;width:100vw;height:100vh;border-radius:0;box-shadow:0 2.667vw 6.667vw #00000080;transition:width .4s ease,height .4s ease}.mirror-frame{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;z-index:50;pointer-events:none;border:var(--frame-width) solid #3a3a3a;box-shadow:-.267vw -.267vw .533vw #fff3,.533vw .533vw 1.333vw #0009,inset .267vw .267vw .533vw #ffffff26,inset 0 0 2.667vw #000c}.mirror-canvas{position:absolute;width:100%;height:100%;z-index:2;object-fit:cover;transform:scaleX(-1);top:0;left:0}.mirror-inner-content{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;overflow:hidden;background-color:#000;z-index:10;display:block;-webkit-mask-image:none;box-shadow:inset 0 0 4vw #000c,inset 0 0 13.333vw #0006;transform-style:preserve-3d;perspective:133.333vw}.mirror-barrel-distortion{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;z-index:4;pointer-events:none;background:radial-gradient(circle at center,#ffffff1a,#0000000d,#00000026);box-shadow:inset 0 0 13.333vw #0003,inset 0 0 26.667vw #0000001a,0 0 6.667vw #ffffff0d;transform:perspective(266.667vw) rotateY(0) translateZ(1.333vw);opacity:.6;background-blend-mode:overlay,soft-light}.mirror-avatar{position:absolute;width:100%;height:100%;object-fit:contain;z-index:3;transition:transform .5s ease-out,filter .5s ease-out;transform:scaleX(-1);clip-path:none;filter:none;top:0;left:0;right:0;bottom:0}.mirror-video{position:absolute;width:auto;height:100%;object-fit:contain;z-index:2;transition:opacity .6s cubic-bezier(.4,0,.2,1),filter .5s ease-out;transform:scaleX(-1);clip-path:none;filter:none;background-color:#000}.mirror-video.camera-on{opacity:1}.mirror-video.camera-off{opacity:0}.mirror-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;border-radius:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.1) 40%,rgba(0,0,0,.4) 70%,rgba(0,0,0,.8) 90%,rgba(0,0,0,.95) 100%);filter:blur(.267vw);display:none}.mirror-surface-reflection{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:31;border-radius:0;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0 60%,#ffffff0d);mix-blend-mode:overlay;display:none}.mirror-glossy-highlight{position:absolute;top:5%;left:10%;width:40%;height:25%;background:radial-gradient(ellipse at center,#fff9,#fff0 70%);border-radius:50%;transform:rotate(-45deg) scale(1.1);filter:blur(2vw);pointer-events:none;z-index:32;opacity:.8;box-shadow:0 0 2.667vw #ffffff4d;display:none}.mirror-bounce-light{position:absolute;bottom:5%;right:15%;width:45%;height:15%;background:radial-gradient(ellipse at center,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:50%;transform:rotate(10deg);filter:blur(2vw);pointer-events:none;z-index:32;display:none}.mirror-overlay-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:40;pointer-events:none;-webkit-backdrop-filter:blur(.4vw);backdrop-filter:blur(.4vw);background-color:#0000004d;border-radius:0}.mirror-scanner{position:absolute;width:100%;height:.267vw;background:linear-gradient(90deg,transparent,#00ffaa,transparent);animation:scan 2s ease-in-out infinite;opacity:.5;z-index:35}.mirror-loading-text{color:#e5e7eb;font-family:monospace;font-weight:600;font-size:2.133vw;background:#0009;padding:.8vw 1.867vw;border-radius:2.667vw;border:1px solid rgba(255,255,255,.1);text-shadow:0 .267vw .533vw rgba(0,0,0,.5);letter-spacing:1px}.mirror-error-box{background:#140000d9;padding:2.667vw;border-radius:2.133vw;text-align:center;border:1px solid rgba(248,113,113,.3);max-width:70%}.mirror-error-title{display:block;color:#f87171;font-weight:700;margin-bottom:.533vw;font-size:2.347vw}.mirror-error-message{color:#d1d5db;font-size:1.813vw}@keyframes scan{0%{transform:translateY(-150px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(150px);opacity:0}}@font-face{font-family:Black Ops One;font-style:normal;font-weight:400;font-display:swap;src:url(/css/blackopsone/v21/qWcsB6-ypo7xBdr6Xshe96H3aDbbtwkh.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Black Ops One;font-style:normal;font-weight:400;font-display:swap;src:url(/css/blackopsone/v21/qWcsB6-ypo7xBdr6Xshe96H3aDTbtwkh.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Black Ops One;font-style:normal;font-weight:400;font-display:swap;src:url(/css/blackopsone/v21/qWcsB6-ypo7xBdr6Xshe96H3aDXbtwkh.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Black Ops One;font-style:normal;font-weight:400;font-display:swap;src:url(/css/blackopsone/v21/qWcsB6-ypo7xBdr6Xshe96H3aDvbtw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(/russoone/v18/Z9XUDmZRWg6M1LvRYsHOy8mJrrg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(/russoone/v18/Z9XUDmZRWg6M1LvRYsHOwcmJrrg.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(/russoone/v18/Z9XUDmZRWg6M1LvRYsHOz8mJ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg-gradient-start: #6a05ad;--color-bg-gradient-end: #00bfff;--color-primary-accent: #ff0077;--color-secondary-accent: #00eaff;--color-tertiary-accent: #ffdf00;--color-text-light: #ffffff;--color-text-dark: #333333;--color-overlay-alpha: rgba(255, 255, 255, .1);--neon-pink: #ff0077;--neon-blue: #00eaff;--neon-blue-light: #67e8f9;--neon-blue-transparent: rgba(6, 182, 212, .5);--red: #ef4444;--red-light: #fee2e2;--red-transparent: rgba(239, 68, 68, .5);--magic-circle-main-length: 283;--magic-circle-sub-length: 220;--bg-primary: #171717;--bg-secondary: rgba(0, 0, 0, .3);--bg-tertiary: rgba(0, 0, 0, .8);--text-primary: #ffffff;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--gray-800: #1f2937;--gray-700: #374151;--gray-600: #4b5563;--gray-500: #6b7280;--border-color: #20252e}.pose-detector-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top left,rgba(255,0,119,.1) 0%,transparent 50%),radial-gradient(circle at bottom right,rgba(0,234,255,.1) 0%,transparent 50%);animation:bg-aura 15s infinite alternate;pointer-events:none;z-index:0}.pose-detector-container{justify-content:flex-start;height:auto;background:linear-gradient(120deg,var(--color-bg-gradient-start) 0%,var(--color-bg-gradient-end) 100%);color:var(--color-text-light);font-family:Russo One,sans-serif;padding:0;box-sizing:border-box;overflow-y:auto;position:relative;background-image:url('data:image/svg+xml;utf8,<svg width="100%" height="100%" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="star" width="10" height="10" patternUnits="userSpaceOnUse"><circle cx="5" cy="5" r="1" fill="rgba(255,255,255,0.2)"/></pattern></defs><rect width="100%" height="100%" fill="url(#star)"/></svg>');background-size:6.667vw 6.667vw;background-blend-mode:overlay;@keyframes bg-aura{0%{background-position:0% 0%,100% 100%}to{background-position:100% 100%,0% 0%}}@keyframes status-glow-connected{0%,to{box-shadow:0 0 1.333vw var(--color-tertiary-accent),0 0 2.667vw #ffdf0080}50%{box-shadow:0 0 .667vw var(--color-tertiary-accent),0 0 1.333vw #ffdf004d}}@keyframes status-glow-active{0%,50%,to{box-shadow:0 0 1.6vw var(--color-secondary-accent),0 0 3.333vw #00eaffb3}25%,75%{box-shadow:0 0 2vw var(--color-secondary-accent),0 0 4vw #00eaffe6}}@keyframes status-glow-disconnected{0%,to{box-shadow:0 0 1.333vw var(--color-primary-accent),0 0 2.667vw #ff007780}50%{box-shadow:0 0 .667vw var(--color-primary-accent),0 0 1.333vw #ff00774d}}@keyframes border-pulse{0%,to{box-shadow:0 0 2.667vw var(--color-primary-accent),0 0 5.333vw #ff007780}50%{box-shadow:0 0 3.333vw var(--color-secondary-accent),0 0 6.667vw #00eaff99}}@keyframes scan-line{0%{transform:translateY(-100%);opacity:.3}50%{opacity:.8}to{transform:translateY(100%);opacity:.3}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(2.667vw)}to{opacity:1;transform:translateY(0)}}@keyframes draw-circle{0%{stroke-dashoffset:var(--magic-circle-main-length)}to{stroke-dashoffset:0}}@keyframes draw-circle-reverse{0%{stroke-dashoffset:0}to{stroke-dashoffset:var(--magic-circle-sub-length)}}@keyframes color-pulse{0%{stroke:var(--color-primary-accent)}50%{stroke:var(--color-secondary-accent)}to{stroke:var(--color-primary-accent)}}@keyframes color-pulse-alt{0%{stroke:var(--color-secondary-accent)}50%{stroke:var(--color-tertiary-accent)}to{stroke:var(--color-secondary-accent)}}min-height:100vh;background-color:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:var(--text-primary);@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(1.333vw)}to{opacity:1;transform:translateY(0)}}}.pose-detector-container .status-container{text-align:center;margin-bottom:3.333vw;width:100%;max-width:66.667vw;z-index:1;position:relative}.pose-detector-container .status-container h1{font-size:5.973vw;margin-bottom:2vw;color:var(--color-text-light);text-shadow:0 0 1.333vw var(--color-primary-accent),0 0 2.667vw rgba(255,0,119,.6);letter-spacing:.4vw;font-weight:900;line-height:1.2}.pose-detector-container .status{font-size:2.347vw;padding:2vw 3.333vw;border-radius:2vw;margin-bottom:2.667vw;font-weight:700;transition:all .4s ease-in-out;word-break:break-word;background-color:#ffffff26;-webkit-backdrop-filter:blur(1.067vw);backdrop-filter:blur(1.067vw);border:.267vw solid transparent;box-shadow:0 0 2vw #0003;position:relative;overflow:hidden}.pose-detector-container .status.connected{color:var(--color-tertiary-accent);border-color:var(--color-tertiary-accent);box-shadow:0 0 1.333vw var(--color-tertiary-accent),0 0 2.667vw #ffdf0080;animation:status-glow-connected 2s infinite alternate}.pose-detector-container .status.connected.device-connected{color:var(--color-secondary-accent);border-color:var(--color-secondary-accent);box-shadow:0 0 1.6vw var(--color-secondary-accent),0 0 3.333vw #00eaffb3;animation:status-glow-active 1.5s infinite}.pose-detector-container .status.disconnected{color:var(--color-primary-accent);border-color:var(--color-primary-accent);box-shadow:0 0 1.333vw var(--color-primary-accent),0 0 2.667vw #ff007780;animation:status-glow-disconnected 2.5s infinite alternate}.pose-detector-container .reconnect-btn,.pose-detector-container .toggle-camera-btn-main,.pose-detector-container .toggle-camera-facing-btn{border:none;padding:1.867vw 4vw;border-radius:4vw;font-size:2.347vw;font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);letter-spacing:.2vw;text-transform:uppercase;position:relative;overflow:hidden;box-shadow:0 .667vw 2vw #0003;margin:0 .667vw 2vw}.pose-detector-container .reconnect-btn:before,.pose-detector-container .toggle-camera-btn-main:before,.pose-detector-container .toggle-camera-facing-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:all .6s}.pose-detector-container .reconnect-btn:hover:before,.pose-detector-container .toggle-camera-btn-main:hover:before,.pose-detector-container .toggle-camera-facing-btn:hover:before{left:100%}.pose-detector-container .reconnect-btn{background:linear-gradient(45deg,var(--color-secondary-accent),var(--color-primary-accent));color:var(--color-text-light);box-shadow:0 0 2vw var(--color-secondary-accent)}.pose-detector-container .reconnect-btn:hover{transform:translateY(-.4vw) scale(1.03);box-shadow:0 1.067vw 3.333vw #00eaff66,0 0 4vw var(--color-secondary-accent)}.pose-detector-container .toggle-camera-btn-main{background:linear-gradient(45deg,#a7008f,var(--color-primary-accent));color:var(--color-text-light);box-shadow:0 0 2vw var(--color-primary-accent)}.pose-detector-container .toggle-camera-btn-main:hover{transform:translateY(-.4vw) scale(1.03);box-shadow:0 1.067vw 3.333vw #f076,0 0 4vw var(--color-primary-accent)}.pose-detector-container .toggle-camera-btn-main[style*="background-color: rgb(255, 71, 87)"]{background:linear-gradient(45deg,#00b0ff,var(--color-secondary-accent))!important;color:var(--color-text-light)!important;box-shadow:0 0 2vw var(--color-secondary-accent)!important}.pose-detector-container .toggle-camera-facing-btn{background:linear-gradient(45deg,#ffa200,var(--color-tertiary-accent));color:var(--color-text-dark);box-shadow:0 0 2vw var(--color-tertiary-accent)}.pose-detector-container .toggle-camera-facing-btn:hover{transform:translateY(-.4vw) scale(1.03);box-shadow:0 1.067vw 3.333vw #ffdf0066,0 0 4vw var(--color-tertiary-accent)}.pose-detector-container .toggle-camera-btn-main:disabled,.pose-detector-container .toggle-camera-facing-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;background:#555!important;color:#ccc!important}.pose-detector-container .camera-container{position:relative;width:100%;max-height:73.333vw;max-width:46.667vw;margin:2.667vw auto;border-radius:2.667vw;box-shadow:0 0 3.333vw #0009;overflow:hidden;background-color:#0003;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);border:none;animation:border-pulse 3s infinite alternate}.pose-detector-container .camera-container video{width:100%;max-height:86.667vw;max-width:66.667vw;object-fit:contain;display:block;position:relative;z-index:5;border-radius:2.133vw;filter:brightness(1) contrast(1);transform:scaleX(-1)}.pose-detector-container .magic-circle-anim{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8;z-index:9;transform:rotate(0);transition:opacity .5s ease}.pose-detector-container .magic-circle-anim .circle-main{stroke:var(--color-primary-accent);stroke-dasharray:var(--magic-circle-main-length);stroke-dashoffset:0;animation:draw-circle 4s infinite linear,color-pulse 3s infinite alternate}.pose-detector-container .magic-circle-anim .circle-sub{stroke:var(--color-secondary-accent);stroke-dasharray:var(--magic-circle-sub-length);stroke-dashoffset:var(--magic-circle-sub-length);animation:draw-circle-reverse 4s infinite linear,color-pulse-alt 3s infinite alternate}.pose-detector-container .magic-circle-anim .star-burst{fill:var(--color-tertiary-accent);filter:url(#glow-anim-filter)}.pose-detector-container .detector-footer{margin-top:5.333vw;font-size:2.133vw;opacity:.8;color:var(--color-text-light);text-shadow:0 0 1.067vw rgba(255,255,255,.3);letter-spacing:.5px;display:flex;align-items:center;gap:1.067vw;animation:fade-in-up 1s forwards .5s}.pose-detector-container .downloadable-frames-container{margin-top:4vw;padding:2.667vw;background-color:#ffffff1a;border-radius:1.333vw;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);border:1px solid rgba(255,255,255,.2)}.pose-detector-container .downloadable-frames-container h3{color:var(--color-tertiary-accent);text-align:center;margin-bottom:2vw;font-size:2.4vw;text-shadow:0 0 1.333vw rgba(255,223,0,.5)}.pose-detector-container .download-buttons{display:flex;flex-direction:column;gap:1.333vw;align-items:center}.pose-detector-container .download-button{background-color:#2ed573;color:#fff;border:none;padding:1.333vw 2.667vw;border-radius:.667vw;cursor:pointer;font-size:1.867vw;transition:all .3s ease;box-shadow:0 .533vw .8vw #0000001a}.pose-detector-container .download-button:hover{background-color:#26de81;transform:translateY(-.267vw);box-shadow:0 .8vw 1.6vw #00000026}.pose-detector-container .download-button:active{transform:translateY(0)}.pose-detector-container .header{width:100%;padding:2.133vw;display:flex;justify-content:space-between;align-items:center;z-index:50;padding:5.333vw;background-color:#000;transition:all .3s ease}.pose-detector-container .header.minimal-fixed{position:fixed;top:0;left:0;width:100%;padding:1.333vw 2.667vw;background-color:#000000e6;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);box-shadow:0 .267vw 1.333vw #00000080;z-index:2000}.pose-detector-container .header.minimal-fixed .header-logo{gap:.8vw}.pose-detector-container .header.minimal-fixed .header-dot{width:1.6vw;height:1.6vw;margin-left:0}.pose-detector-container .header.minimal-fixed .header-title{font-size:2.4vw;margin-left:1.333vw}.pose-detector-container .header.minimal-fixed .header-status{font-size:1.867vw}.pose-detector-container .header-logo{display:flex;align-items:center;gap:1.067vw}.pose-detector-container .header-dot{width:2.4vw;height:2.4vw;margin-left:2.667vw;border-radius:50%;background-color:var(--neon-pink);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.pose-detector-container .header-title{font-size:4vw;font-weight:700;margin-left:2.667vw;letter-spacing:.05em;background:linear-gradient(to right,var(--neon-pink),var(--neon-blue));-webkit-background-clip:text;background-clip:text;color:transparent}.pose-detector-container .header-status{display:flex;gap:2.133vw;font-size:2.133vw;color:var(--text-secondary);align-items:center}.pose-detector-container .status-indicator{display:flex;align-items:center;gap:.533vw}.pose-detector-container .status-indicator.connected{color:#a6f634}.pose-detector-container .status-indicator.disconnected{color:#fe7dff}.pose-detector-container .status-dot{width:1.067vw;height:1.067vw;border-radius:50%}.pose-detector-container .status-dot.connected{background-color:#10b981}.pose-detector-container .status-dot.connecting{background-color:#eab308;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.pose-detector-container .status-dot.disconnected{background-color:#ef4444}.pose-detector-container .main-content{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;padding:0}.pose-detector-container .command-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;pointer-events:none}.pose-detector-container .command-text{background-color:#000000b3;-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);border:1px solid var(--neon-blue-transparent);color:var(--neon-blue);padding:2.133vw 4.267vw;border-radius:2.133vw;font-size:3.2vw;font-weight:700;box-shadow:0 0 4vw #00ffff4d;animation:bounce 1s infinite}.pose-detector-container .reconnect-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:1000;margin-top:0;width:auto}.pose-detector-container .reconnect-button{background-color:#ff4d4f;color:#fff;padding:1.333vw 2.667vw;font-size:2.133vw;border-radius:1.067vw;border:none;box-shadow:0 .267vw 1.067vw #0003}.pose-detector-container .footer{width:100%;background-color:var(--bg-tertiary);-webkit-backdrop-filter:blur(1.6vw);backdrop-filter:blur(1.6vw);position:fixed;bottom:0;left:0;border-top:1px solid var(--border-color);z-index:999;transition:all .3s ease-in-out}.pose-detector-container .footer.expanded{padding:2.133vw 2.133vw 4.267vw;max-height:53.333vw}.pose-detector-container .footer.collapsed{padding:2.133vw;max-height:8vw}.pose-detector-container .footer-container{max-width:119.467vw;margin:0 auto;position:relative}.pose-detector-container .footer-toggle{margin:0 auto;width:21.867vw;height:3.2vw;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:color .3s ease}.pose-detector-container .footer-toggle:hover{color:var(--text-primary)}.pose-detector-container .chat-area{margin-bottom:3.2vw;height:12.8vw;overflow-y:auto;gap:1.067vw;padding:0 1.067vw;scroll-behavior:smooth;display:flex;flex-direction:column}.pose-detector-container .chat-empty{color:var(--text-tertiary);text-align:center;font-size:1.867vw;margin-top:4.267vw}.pose-detector-container .message{display:flex;max-width:80%;padding:.8vw 1.6vw;border-radius:1.067vw;font-size:1.867vw}.pose-detector-container .message.user{justify-content:flex-end}.pose-detector-container .message.ai,.pose-detector-container .message.system{justify-content:flex-start}.pose-detector-container .message-content{max-width:100%}.pose-detector-container .message.user .message-content{background-color:#06b6d433;color:var(--neon-blue);border:1px solid rgba(6,182,212,.3)}.pose-detector-container .message.ai .message-content{background-color:#ec489933;color:var(--neon-pink);border:1px solid rgba(236,72,153,.3)}.pose-detector-container .message.system .message-content{background-color:#6b728033;color:var(--text-secondary)}.pose-detector-container .buttons-container{display:flex;justify-content:center;gap:3.2vw;margin-top:4vw}.pose-detector-container .button{padding:1.333vw 3.2vw;border-radius:1333.2vw;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:1.067vw;border:1px solid var(--gray-600);background-color:var(--gray-800);color:var(--text-secondary);font-size:2.4vw;white-space:nowrap;height:6.4vw}.pose-detector-container .button:hover{background-color:var(--gray-700)}.pose-detector-container .button.listening{background-color:var(--red-light);color:var(--red);border:1px solid var(--red-transparent)}.pose-detector-container .button.listening:hover{background-color:#ef44444d}.pose-detector-container .button.camera-on{background-color:var(--neon-blue-light);color:var(--neon-blue);border:1px solid var(--neon-blue-transparent);box-shadow:0 0 2vw #06b6d433}.pose-detector-container .button.camera-on:hover{background-color:#06b6d44d}.pose-detector-container .listening-indicator{display:flex;width:1.6vw;height:1.6vw;position:relative}.pose-detector-container .listening-indicator-ping{position:absolute;width:100%;height:100%;border-radius:50%;background-color:var(--red);opacity:.75;animation:ping 2s cubic-bezier(0,0,.2,1) infinite}.pose-detector-container .listening-indicator-dot{position:relative;width:100%;height:100%;border-radius:50%;background-color:var(--red)}.pose-detector-container .button svg{width:3.2vw;height:3.2vw;margin-top:.267vw}.pose-detector-container .footer-toggle svg{width:4.8vw;height:4.8vw}.pose-detector-container .instructions{margin-top:2.133vw;text-align:center}.pose-detector-container .instructions-line{font-size:1.333vw;color:var(--text-tertiary);margin-top:.533vw}.pose-detector-container .instructions-line:first-child{margin-top:0}.pose-detector-container .status-indicator.primary{margin-right:1.333vw}.pose-detector-container .camera-container.hidden{display:none}.pose-detector-container .button.convex-mirror-toggle{margin-right:1.333vw}.pose-detector-container .buttons-container{width:100%}.pose-detector-container .success-notification{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9999;color:#fff;flex-direction:column;animation:fadeIn .3s ease-out}.pose-detector-container .success-icon{font-size:8vw;margin-bottom:2.667vw}.pose-detector-container .success-title{font-size:3.2vw;font-weight:700}.pose-detector-container .success-subtitle{font-size:2.133vw;margin-top:1.333vw;opacity:.8}.pose-detector-container .effect-selector-container{position:relative;width:37.333vw;margin:0}.pose-detector-container .buttons-container .button{width:37.333vw;justify-content:center}.pose-detector-container .effect-selector-trigger{display:flex;align-items:center;padding:1.333vw 2.667vw 1.333vw 12vw;border-radius:4vw;font-size:2.4vw;font-weight:700;cursor:pointer;transition:all .3s ease;background-color:var(--gray-800);color:var(--text-secondary);border:1px solid var(--gray-600);box-shadow:0 .667vw 2vw #0003;-webkit-user-select:none;user-select:none}.pose-detector-container .effect-selector-trigger:hover{border-color:var(--text-secondary);transform:translateY(-.267vw)}.pose-detector-container .effect-selector-trigger.active{background-color:#00eaff26;color:var(--color-secondary-accent);border-color:var(--color-secondary-accent);box-shadow:0 0 2vw #00eaff4d}.pose-detector-container .effect-selector-trigger .arrow{font-size:2.133vw;transition:transform .3s ease;margin-right:1.333vw}.pose-detector-container .effect-selector-trigger .arrow.open{transform:rotate(180deg)}.pose-detector-container .effect-selector-dropdown{position:absolute;bottom:calc(100% + 1.333vw);left:0;width:100%;background-color:#1f2937f2;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);border:1px solid var(--gray-600);border-radius:2vw;overflow:hidden;z-index:100;box-shadow:0 .667vw 2.667vw #00000080;animation:dropdownFadeIn .2s ease-out}.pose-detector-container .effect-option{padding:1.6vw 2vw;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-weight:600;text-align:center}.pose-detector-container .effect-option:hover{background-color:#ffffff1a;color:var(--text-primary)}.pose-detector-container .effect-option.selected{color:var(--color-secondary-accent);background-color:#00eaff1a}.video-pose-analyzer{min-height:100vh;padding:2.667vw;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.video-pose-analyzer h1{text-align:center;margin-bottom:4vw;font-size:4.267vw;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:5.333vw;gap:1.333vw}.step{display:flex;flex-direction:column;align-items:center;gap:1.067vw;opacity:.5;transition:opacity .3s ease}.step.active{opacity:1}.step-number{width:5.333vw;height:5.333vw;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2.4vw}.step-label{font-size:1.867vw;color:#a0aec0}.step.active .step-label{color:#fff}.step-line{width:8vw;height:.267vw;background:#4a5568;margin:0 1.333vw 3.2vw}.toast-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.toast-content{background:#2d3748;padding:2.667vw 5.333vw;border-radius:1.6vw;box-shadow:0 1.333vw 3.333vw #00000080;display:flex;align-items:center;gap:2vw;border:1px solid rgba(255,255,255,.1);transform:translateY(0);animation:slideUp .3s ease}.toast-icon{font-size:3.2vw}.toast-message{color:#fff;font-size:2.133vw;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.step-content{max-width:160vw;margin:0 auto}.upload-section{text-align:center;margin-bottom:4vw}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:2vw 5.333vw;font-size:2.4vw;border-radius:4vw;cursor:pointer;transition:all .3s ease;font-weight:600;box-shadow:0 .533vw 2vw #667eea66}.upload-btn:hover{transform:translateY(-.4vw);box-shadow:0 1.067vw 3.333vw #667eea80}.thumbnail-settings-container{display:flex;gap:4vw;background:#ffffff08;padding:3.333vw;border-radius:1.6vw;border:1px solid rgba(255,255,255,.1)}.thumbnail-source-section{flex:2;display:flex;flex-direction:column}.thumbnail-preview-section{flex:1;display:flex;flex-direction:column;gap:3.333vw;border-left:1px solid rgba(255,255,255,.1);padding-left:4vw}.thumbnail-settings-container h4{color:#a0aec0;font-size:1.867vw;margin-bottom:2vw;text-transform:uppercase;letter-spacing:1px}.video-capture-wrapper{background:#000;border-radius:1.067vw;overflow:hidden;box-shadow:0 .533vw .8vw #0000004d;display:flex;flex-direction:column}.video-capture-wrapper .video-container{width:100%;max-width:none;margin:0;aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center;border-radius:0}.video-capture-wrapper video{max-width:100%;max-height:100%;object-fit:contain}.mini-timeline{padding:1.333vw 0;background:#000;border-top:1px solid rgba(255,255,255,.1);max-width:none;margin:0;display:block!important}.mini-timeline .timeline{height:1.333vw;background:#2d3748;border-radius:.667vw;margin:1.333vw;cursor:pointer;position:relative;display:block}.mini-timeline .timeline-progress{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:.667vw;pointer-events:none}.mini-timeline .timeline-handle{width:2.4vw;height:2.4vw;background:#fff;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 1.333vw #667eea80;cursor:grab;z-index:20}.mini-timeline .controls{display:flex;justify-content:space-between;align-items:center;margin-top:1.333vw;padding:0 1.333vw}.mini-timeline .control-btn{background:transparent;border:1px solid #4a5568;color:#e2e8f0;padding:1.067vw 2vw;height:4.8vw;border-radius:.533vw;font-size:1.733vw;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mini-timeline .control-btn:hover{background:#2d3748;border-color:#718096}.mini-timeline .capture-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-weight:600;padding:0 2.667vw;height:4.8vw}.mini-timeline .capture-btn:hover{transform:translateY(-1px);box-shadow:0 .267vw 1.333vw #764ba266}.upload-option{margin-bottom:2.667vw}.custom-file-upload{display:inline-block;padding:1.333vw 2.667vw;cursor:pointer;background:#2d3748;color:#fff;border-radius:.8vw;font-size:1.867vw;transition:background .2s;border:1px solid #4a5568;text-align:center;width:100%}.custom-file-upload:hover{background:#4a5568}.custom-file-upload input[type=file]{display:none}.file-hint{font-size:1.6vw;color:#718096;margin-top:1.067vw;text-align:center}.thumbnail-preview-box{width:100%;aspect-ratio:16/9;background:#000;border:1px solid rgba(255,255,255,.1);border-radius:1.067vw;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.thumbnail-preview-box img{width:100%;height:100%;object-fit:contain}.empty-preview{color:#718096;font-size:1.867vw;display:flex;flex-direction:column;align-items:center;gap:1.333vw}.empty-preview:before{content:"📷";font-size:3.2vw;opacity:.5}@media(max-width:900px){.thumbnail-settings-container{flex-direction:column}.thumbnail-preview-section{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-left:0;padding-top:25px}}.recent-videos h3{margin-bottom:2vw;color:#a0aec0;font-size:2.133vw}.video-list{display:flex;flex-direction:column;gap:1.333vw}.video-item{display:flex;justify-content:space-between;align-items:center;padding:1.6vw 2.133vw;background:#ffffff14;border-radius:1.067vw;cursor:pointer;transition:all .2s ease}.video-item:hover{background:#ffffff1f;transform:translate(.667vw)}.video-name{color:#e2e8f0;font-size:1.867vw}.video-size{color:#718096;font-size:1.6vw}.video-editor{background:#ffffff0d;border-radius:2.667vw;padding:4vw;width:100%;max-width:133.333vw;margin:0 auto}.video-container{position:relative;width:100%;max-width:100%;margin:0 auto 2.667vw;border-radius:1.6vw;overflow:hidden;background:#000;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}.video-container video{width:100%;height:100%;display:block;object-fit:contain}.timeline-container{max-width:100%;margin:0 auto}.time-display{display:flex;justify-content:center;gap:1.067vw;margin-bottom:2vw;font-family:Courier New,monospace;font-size:2.4vw;color:#a0aec0}.timeline{position:relative;height:6.667vw;background:#ffffff1a;border-radius:1.067vw;cursor:pointer;overflow:visible;-webkit-user-select:none;user-select:none}.timeline.dragging{cursor:grabbing}.timeline-progress{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);opacity:.3;border-radius:1.067vw;transition:width .1s linear}.timeline-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:2.133vw;height:2.133vw;background:#fff;border-radius:50%;box-shadow:0 .267vw 1.333vw #0000004d;cursor:grab;z-index:10}.timeline-handle:active{cursor:grabbing}.frame-marker{position:absolute;top:0;width:.533vw;height:100%;background:#48bb78;transform:translate(-50%);border-radius:.267vw}.controls{display:flex;justify-content:center;gap:2vw;margin-top:2.667vw}.control-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:1.6vw 3.2vw;font-size:1.867vw;border-radius:1.067vw;cursor:pointer;transition:all .2s ease}.control-btn:hover{background:#fff3}.capture-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none}.capture-btn:hover{transform:translateY(-.267vw);box-shadow:0 .533vw 2vw #48bb7866}.selected-frames{margin-top:4vw}.selected-frames h3{margin-bottom:2.667vw;color:#a0aec0;font-size:2.133vw}.frames-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20vw,1fr));gap:2vw;margin-bottom:2.667vw}.frame-item{position:relative;border-radius:1.333vw;overflow:hidden;background:#0000004d}.frame-item img{width:100%;height:auto;display:block}.frame-info{position:absolute;bottom:0;left:0;right:0;padding:1.067vw;background:linear-gradient(transparent,#000c);display:flex;justify-content:space-between;align-items:center}.frame-info span{font-size:1.6vw;color:#fff}.remove-btn{background:#e53e3e;color:#fff;border:none;padding:.533vw 1.067vw;font-size:1.467vw;border-radius:.533vw;cursor:pointer}.remove-btn:hover{background:#c53030}.download-section{display:flex;justify-content:center;align-items:center;gap:2.667vw;margin-top:5.333vw;flex-wrap:wrap}.download-btn,.process-btn,.reset-btn{padding:0 4vw;font-size:2.133vw;border-radius:1.067vw;border:none;cursor:pointer;font-weight:500;transition:all .2s ease;height:6.667vw;display:flex;align-items:center;justify-content:center}.download-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;box-shadow:0 .533vw 2vw #48bb784d}.download-btn:hover{transform:translateY(-.267vw);box-shadow:0 1.067vw 2.667vw #48bb7866}.process-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 .533vw 2vw #667eea4d;width:100%;max-width:53.333vw;margin:2.667vw auto 0}.process-btn:hover:not(:disabled){transform:translateY(-.267vw);box-shadow:0 1.067vw 3.333vw #667eea66}.process-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.reset-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#a0aec0}.reset-btn:hover{background:#ffffff1a;color:#fff;border-color:#fff6}.download-section .download-btn,.download-section .process-btn{min-width:32vw;margin:0;width:auto;max-width:none}.download-section .reset-btn{margin:0;min-width:16vw}.processing-step{display:flex;justify-content:center;align-items:center;min-height:53.333vw}.processing-indicator{text-align:center;color:#a0aec0}.submit-actions{display:flex;justify-content:center;align-items:center;gap:2.667vw;margin-top:4vw}.submit-actions .back-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#a0aec0;padding:2vw 5.333vw;font-size:2.4vw;border-radius:4vw;cursor:pointer;transition:all .3s ease;font-weight:600;box-shadow:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;min-width:16vw;text-shadow:none;height:auto;margin:0}.submit-actions .back-btn:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#fff6}.submit-actions .back-btn:disabled{opacity:.6;cursor:not-allowed}.submit-actions .upload-btn{margin:0}.spinner{width:8vw;height:8vw;border:.533vw solid rgba(255,255,255,.1);border-top:.533vw solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2.667vw}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-indicator p{font-size:2.4vw;margin-bottom:2.667vw;color:#a0aec0}.progress-bar{width:40vw;height:1.067vw;background:#ffffff1a;border-radius:.533vw;overflow:hidden;margin:0 auto 1.333vw}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.progress-text{font-size:1.867vw;color:#718096}.results-step h2{text-align:center;margin-bottom:4vw;color:#e2e8f0}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(26.667vw,1fr));gap:2.667vw;margin-bottom:4vw}.result-item{background:#ffffff0d;border-radius:1.6vw;overflow:hidden}.result-item img{width:100%;height:auto;display:block}.result-info{padding:1.6vw;display:flex;justify-content:space-between;align-items:center}.result-id{font-size:1.867vw;color:#e2e8f0;font-weight:500}.result-status{font-size:1.6vw;padding:.533vw 1.067vw;border-radius:.533vw}.result-status.success{background:#48bb7833;color:#48bb78}.result-status.failed{background:#e53e3e33;color:#e53e3e}.download-section{display:flex;justify-content:center;gap:2.667vw;flex-wrap:wrap}.download-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:2vw 5.333vw;font-size:2.133vw;border-radius:1.333vw;cursor:pointer;font-weight:600;transition:all .3s ease}.download-btn:hover{transform:translateY(-.267vw);box-shadow:0 1.067vw 3.333vw #48bb7866}.reset-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:2vw 5.333vw;font-size:2.133vw;border-radius:1.333vw;cursor:pointer;font-weight:600;transition:all .3s ease}.reset-btn:hover{background:#fff3}.error-message{background:#e53e3e33;color:#fc8181;padding:1.6vw 2.667vw;border-radius:1.067vw;margin-bottom:2.667vw;text-align:center;border:1px solid rgba(229,62,62,.3)}@media(max-width:768px){.video-pose-analyzer{padding:15px}.video-pose-analyzer h1{font-size:24px}.step-indicator{gap:5px}.step-number{width:32px;height:32px;font-size:14px}.step-label{font-size:12px}.step-line{width:30px}.video-editor{padding:15px}.frames-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.controls{flex-direction:column}.control-btn{width:100%}}.upload-status{margin-top:2vw;padding:1.333vw;border-radius:1.067vw;text-align:center;background:#ffffff1a;color:#a0aec0}.upload-status.success{background:#48bb7833;color:#48bb78}.upload-status.error{background:#f5656533;color:#f56565}.upload-status a{color:#667eea;text-decoration:underline}.submit-step{max-width:80vw;margin:0 auto;background:#ffffff0d;padding:5.333vw;border-radius:2.667vw;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);box-shadow:0 1.067vw 4.267vw #0003}.submit-step h2{text-align:center;margin-bottom:4vw;font-size:3.733vw;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.submit-form{display:flex;flex-direction:column;gap:3.2vw}.form-group{display:flex;flex-direction:column;gap:1.067vw;text-align:left}.form-group label{color:#e2e8f0;font-size:2.133vw;font-weight:500;margin-left:.533vw}.form-group input,.form-group textarea{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:1.6vw;padding:2.133vw;color:#fff;font-size:2.133vw;transition:all .3s ease;width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#0000004d;box-shadow:0 0 0 .4vw #667eea33}.form-group textarea{resize:vertical;min-height:16vw}.submit-form .upload-section{margin-top:2.667vw;padding-top:2.667vw;border-top:1px solid rgba(255,255,255,.1)}.instruction-text{color:#a0aec0;font-size:1.867vw;margin-bottom:2.667vw}.submit-form .upload-btn{width:100%;padding:2.133vw;font-size:2.4vw;letter-spacing:1px;display:flex;justify-content:center;align-items:center;text-align:center}.submit-form .upload-btn:disabled{opacity:.7;cursor:not-allowed;background:linear-gradient(135deg,#4a5568,#2d3748);box-shadow:none;transform:none}.success-message{text-align:center;padding:5.333vw 2.667vw;animation:fadeIn .5s ease-out}.success-icon{width:10.667vw;height:10.667vw;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:5.333vw;color:#fff;margin:0 auto 3.2vw;box-shadow:0 1.333vw 3.333vw #48bb7866;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}.success-message h3{font-size:3.2vw;color:#fff;margin-bottom:1.6vw}.success-message p{color:#a0aec0;font-size:2.133vw;margin-bottom:4.267vw}.success-message .reset-btn{display:flex;margin:0 auto;justify-content:center;align-items:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.login-page{min-height:100vh;position:relative;overflow-x:hidden;overflow-y:auto;background-color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.login-page .bg-circle{position:fixed;border-radius:50%;filter:blur(16vw);z-index:0;pointer-events:none}.login-page .bg-circle-1{width:80vw;height:80vw;top:-26.667vw;left:-26.667vw;background:radial-gradient(circle,rgba(99,102,241,.6) 0%,transparent 70%)}.login-page .bg-circle-2{width:80vw;height:80vw;right:-26.667vw;bottom:-26.667vw;background:radial-gradient(circle,rgba(236,72,153,.6) 0%,transparent 70%)}.login-page .bg-circle-3{width:53.333vw;height:53.333vw;top:20%;right:-20vw;background:radial-gradient(circle,rgba(59,130,246,.6) 0%,transparent 70%)}.login-page .login-container{position:relative;z-index:1;width:100%;max-width:90.667vw;min-height:100vh;margin:0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:8vw 4.8vw 10.667vw}.login-page .auth-shell{width:100%;display:flex;flex-direction:column}.login-page .header-logo{text-align:center;margin-bottom:5.333vw}.login-page .header-logo .logo-icon{width:21.333vw;height:21.333vw;margin:0 auto 4.267vw;border-radius:5.333vw;background:#fff;color:#6366f1;display:flex;align-items:center;justify-content:center;box-shadow:0 1.067vw 5.333vw #fff3}.login-page .header-logo .logo-icon svg{width:10.667vw;height:10.667vw}.login-page .header-logo h1{margin:0 0 2.133vw;color:#fff;font-size:8.533vw;font-weight:700;letter-spacing:.32vw;line-height:1.1}.login-page .header-logo p{margin:0;color:#ffffffb3;font-size:4.267vw;line-height:1.3}.login-page .form-card{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8.533vw;padding:6.4vw;-webkit-backdrop-filter:blur(2.667vw);backdrop-filter:blur(2.667vw);box-shadow:0 3.2vw 8vw #0003}.login-page .tabs{display:flex;padding:1.067vw;margin-bottom:6.4vw;background:#0003;border-radius:4.267vw}.login-page .tabs .tab{flex:1;padding:3.2vw 0;border-radius:3.2vw;text-align:center;font-size:4.267vw;font-weight:600;color:#ffffff80;cursor:pointer;transition:all .3s}.login-page .tabs .tab.active{background:#ffffff26;color:#fff;box-shadow:0 .8vw 2.4vw #0000001a}.login-page .input-group{position:relative;margin-bottom:4.267vw}.login-page .input-group .input-icon{position:absolute;top:50%;left:4.267vw;z-index:2;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);color:#ffffff80}.login-page .input-group .input-icon svg{width:4.8vw;height:4.8vw}.login-page .input-group.flex-row{display:flex;gap:3.2vw}.login-page .input-group.flex-row .input-with-icon-wrapper{position:relative;flex:1}.login-page .input-group.flex-row .send-code-btn{flex:0 0 auto;padding:0 5.333vw;border:.267vw solid rgba(255,255,255,.4);border-radius:4.267vw;background:transparent;color:#fff;font-size:3.733vw;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s}.login-page .input-group.flex-row .send-code-btn:disabled{color:#ffffff80;border-color:#fff3;cursor:not-allowed}.login-page .input-group.flex-row .send-code-btn:not(:disabled):hover{background:#ffffff1a}.login-page .input-group input,.login-page .input-group select{width:100%;padding:4.267vw 5.333vw;box-sizing:border-box;border:.267vw solid rgba(255,255,255,.2);border-radius:4.267vw;outline:none;background:#ffffff1a;color:#fff;font-size:4.267vw;transition:all .3s ease}.login-page .input-group input.with-icon,.login-page .input-group select.with-icon{padding-left:12vw}.login-page .input-group input::placeholder,.login-page .input-group select::placeholder{color:#ffffff80}.login-page .input-group input:focus,.login-page .input-group select:focus{border-color:#ffffff80;background:#ffffff26}.login-page .input-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.login-page .input-group select option{background:#1e293b;color:#fff}.login-page .input-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.login-page .avatar-picker{margin-bottom:4vw}.login-page .avatar-picker p{margin:0 0 1.6vw .8vw;color:#ffffffb3;font-size:3.2vw}.login-page .avatar-picker .avatar-list{display:flex;flex-wrap:wrap;gap:2.133vw}.login-page .avatar-picker .avatar-list .avatar-item{width:10.667vw;height:10.667vw;border:.533vw solid transparent;border-radius:5.333vw;cursor:pointer;transition:all .2s}.login-page .avatar-picker .avatar-list .avatar-item.selected{border-color:#6366f1;transform:scale(1.1)}.login-page .error-msg{display:flex;align-items:center;gap:1.6vw;margin-bottom:4.8vw;padding:2.4vw 3.2vw;border:1px solid rgba(239,68,68,.3);border-radius:2.4vw;background:#ef44441a;color:#f87171;font-size:3.2vw}.login-page .submit-btn{width:100%;padding:3.733vw;border:none;border-radius:3.733vw;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:4.267vw;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 1.6vw 4vw #6366f14d}.login-page .submit-btn:hover{transform:translateY(-.533vw);box-shadow:0 2.133vw 5.333vw #6366f166}.login-page .submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.cs-chat-container{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#f5f5f5;max-width:100vw;margin:0 auto}.cs-chat-loading,.cs-chat-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;background:#f5f5f5;gap:2.133vw}.cs-loading-spinner{width:5.333vw;height:5.333vw;border:.4vw solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cs-loading-spinner+p,.cs-chat-error p{color:#666;font-size:1.867vw}.cs-error-icon{width:6.4vw;height:6.4vw;background:#ff4d4f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.2vw;font-weight:700}.cs-chat-error button{margin-top:1.067vw;padding:1.067vw 3.2vw;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:3.2vw;cursor:pointer;box-shadow:0 .533vw 1.333vw #667eea4d}.cs-chat-header{display:flex;align-items:center;justify-content:space-between;padding:1.6vw 2.133vw;padding-top:calc(1.6vw + env(safe-area-inset-top));background:#1a1a2e;color:#fff;border-bottom:none;position:sticky;top:0;z-index:10;box-shadow:0 .267vw 1.333vw #0000001a}.cs-header-left{display:flex;align-items:center;gap:1.067vw}.cs-header-right{display:flex;justify-content:flex-end;align-items:center;width:100%;padding:1.333vw 2.133vw;box-sizing:border-box;background:#fff;border-bottom:1px solid #ebebeb;position:sticky;top:0;z-index:20}.cs-back-btn{background:none;border:none;padding:.533vw;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.cs-back-btn:hover{background:#ffffff1a}.cs-header-info{display:flex;align-items:center}.cs-header-info h1{font-size:2.133vw;font-weight:700;color:#fff;margin:0}.cs-status-dot{width:1.067vw;height:1.067vw;border-radius:50%;margin-right:1.067vw}.cs-status-dot.online{background-color:#2ed573;box-shadow:0 0 .8vw #2ed57399}.cs-status-dot.offline{background-color:#ff4757}.cs-header-actions{display:flex;align-items:center}.cs-end-btn{padding:.533vw 1.6vw;background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e;border-radius:.533vw;font-size:1.733vw;font-weight:500;cursor:pointer;transition:all .2s}.cs-end-btn:hover{background:#ffccc7;color:#ff4d4f;border-color:#ff7875}.cs-scroll-bottom-btn{position:fixed;bottom:10.667vw;right:2.133vw;width:5.333vw;height:5.333vw;background:#fff;border:none;border-radius:50%;box-shadow:0 .267vw 1.067vw #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;color:#666;z-index:100}.cs-scroll-bottom-btn:hover{transform:scale(1.1);box-shadow:0 .533vw 1.6vw #0003;color:#667eea}.cs-scroll-bottom-btn:active{transform:scale(.95)}.cs-chat-messages{position:relative;flex:1;overflow-y:auto;padding:1.6vw 2.133vw 2.133vw;display:flex;flex-direction:column;gap:1.6vw}.cs-loading-more,.cs-no-more{text-align:center;padding:1.6vw;color:#999;font-size:1.6vw;display:flex;align-items:center;justify-content:center;gap:1.067vw}.cs-reconnecting-banner{display:flex;align-items:center;justify-content:center;gap:1.067vw;padding:1.333vw 2.133vw;background:#fff7e6;color:#d46b08;font-size:1.733vw;border-radius:1.067vw;margin-bottom:1.067vw}.cs-reconnecting-icon{display:inline-block;animation:rotate 1s linear infinite}.cs-offline-tip{position:sticky;top:0;background:#fff7e6;color:#d46b08;font-size:1.733vw;padding:1.333vw 2.133vw;text-align:center;border-radius:1.067vw;margin-bottom:1.067vw;z-index:10}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs-loading-spinner-small{width:2.133vw;height:2.133vw;border:.267vw solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.cs-empty-hint{text-align:center;padding:8vw 2.667vw;color:#999;font-size:1.867vw}.cs-message{display:flex;max-width:75%}.cs-message.own{align-self:flex-end;flex-direction:row-reverse}.cs-message.other{align-self:flex-start}.cs-message.failed .cs-bubble{border:1px solid #ff4d4f}.cs-message-content{display:flex;flex-direction:column;gap:.533vw}.cs-message.own .cs-message-content{align-items:flex-end}.cs-sender-name{font-size:1.6vw;color:#667eea;font-weight:500;margin-left:1.6vw}.cs-bubble{position:relative;padding:1.333vw 1.867vw;border-radius:2.4vw;font-size:2vw;line-height:1.5;word-break:break-word}.cs-message.own .cs-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:.533vw;box-shadow:0 .267vw 1.067vw #667eea33}.cs-message.other .cs-bubble{background:#fff;color:#1a1a1a;border-bottom-left-radius:.533vw;box-shadow:0 .267vw 1.067vw #0000000d}.cs-bubble p{margin:0}.cs-error-tag{position:absolute;top:-1.067vw;right:-1.067vw;width:2.4vw;height:2.4vw;background:#ff4d4f;color:#fff;border-radius:50%;font-size:1.6vw;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:help}.cs-message-meta{display:flex;align-items:center;gap:.8vw;font-size:1.467vw;color:#999;margin:0 .533vw}.cs-time{color:#bbb}.cs-sending{color:#999}.cs-failed{color:#ff4d4f}.cs-chat-input{display:flex;align-items:center;padding:1.6vw 2.133vw;padding-bottom:calc(1.6vw + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8e8e8;gap:1.6vw;box-shadow:0 -.267vw 1.333vw #00000008}.cs-chat-input input{flex:1;padding:1.6vw 2.133vw;border:1px solid #e0e0e0;border-radius:3.2vw;font-size:2vw;outline:none;transition:border-color .2s;background:#f8f9fa}.cs-chat-input input:focus{border-color:#667eea;background:#fff}.cs-chat-input input:disabled{background:#f5f5f5;color:#999}.cs-send-btn{width:5.867vw;height:5.867vw;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 .533vw 1.333vw #667eea4d}.cs-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 .8vw 1.867vw #667eea66}.cs-send-btn:disabled{background:#d9d9d9;cursor:not-allowed}.cs-leave-message{flex:1;display:flex;flex-direction:column;padding:2.667vw;overflow-y:auto}.cs-offline-notice{background:#fff;border-radius:2.133vw;padding:3.2vw;text-align:center;margin-bottom:2.667vw;box-shadow:0 .267vw 1.067vw #0000000f}.cs-offline-icon{font-size:6.4vw;margin-bottom:2.133vw}.cs-offline-notice h2{font-size:2.4vw;font-weight:600;color:#1a1a1a;margin:0 0 1.6vw}.cs-offline-notice p{font-size:1.867vw;color:#666;margin:0 0 1.6vw}.cs-worktime-list{background:#f8f9fa;border-radius:1.6vw;padding:2.133vw;margin:2.133vw 0}.cs-worktime-item{display:flex;justify-content:space-between;padding:1.067vw 0;font-size:1.867vw;color:#333;border-bottom:1px solid #eee}.cs-worktime-item:last-child{border-bottom:none}.cs-leave-hint{color:#d46b08!important;font-size:1.733vw!important}.cs-leave-form{background:#fff;border-radius:2.133vw;padding:2.667vw;box-shadow:0 .267vw 1.067vw #0000000f}.cs-leave-form textarea{width:100%;padding:1.6vw;border:1px solid #e8e8e8;border-radius:1.6vw;font-size:1.867vw;resize:vertical;outline:none;margin-bottom:1.6vw}.cs-leave-form textarea:focus{border-color:#667eea}.cs-submit-btn{width:100%;padding:1.867vw;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:1.6vw;font-size:2vw;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 .533vw 1.6vw #667eea4d}.cs-submit-btn:hover:not(:disabled){transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #667eea66}.cs-submit-btn:disabled{background:#d9d9d9;cursor:not-allowed}.cs-leave-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5.333vw;text-align:center}.cs-success-icon{width:8.533vw;height:8.533vw;background:#52c41a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:4.267vw;margin-bottom:2.667vw}.cs-leave-success h2{font-size:2.667vw;font-weight:600;color:#1a1a1a;margin:0 0 1.6vw}.cs-leave-success p{font-size:1.867vw;color:#666;margin:0 0 3.2vw}.cs-leave-success button{padding:1.6vw 4.267vw;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:3.2vw;font-size:2vw;font-weight:600;cursor:pointer;box-shadow:0 .533vw 1.6vw #667eea4d;transition:all .2s}.cs-leave-success button:hover{transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #667eea66}.cs-send-btn svg{transform:translate(.267vw)}@media(max-width:480px){.cs-message{max-width:85%}.cs-chat-header h1{font-size:16px}}.cs-header-actions{display:flex;gap:1.067vw}.cs-end-btn{padding:.8vw 1.6vw;background:#fff1f0;color:#ff4d4f;border:1px solid #ffccc7;border-radius:.533vw;font-size:1.733vw;cursor:pointer;transition:all .2s}.cs-end-btn:hover{background:#ff4d4f;color:#fff;border-color:#ff4d4f}.cs-system-message{text-align:center;padding:1.067vw 2.133vw;margin:1.067vw 0}.cs-system-content{display:inline-block;padding:.8vw 2.133vw;background:#f5f5f5;color:#666;font-size:1.6vw;border-radius:1.6vw}
