: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}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.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}.game-hub-control-row--relative{position:relative}.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--blue.active{background-color:#1d4ed8;box-shadow:0 .267vw #1e40af,0 .4vw 1.067vw #2563eb80;transform:translateY(.267vw)}.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--locked{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}.game-btn--locked:hover{background-color:#64748b;box-shadow:0 .533vw #475569,0 .8vw 1.333vw #0000004d}.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}.spz-to-ply-container{width:100%;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:5.333vw 2.667vw;display:flex;flex-direction:column;align-items:center}.spz-to-ply-header{text-align:center;margin-bottom:5.333vw}.spz-to-ply-header h1{color:#fff;font-size:4.267vw;font-weight:700;margin-bottom:1.6vw;text-shadow:0 .267vw 1.333vw rgba(0,0,0,.3)}.spz-to-ply-header p{color:#ffffffb3;font-size:2.133vw}.spz-to-ply-content{width:100%;max-width:80vw;background:#ffffff0d;border-radius:2.133vw;padding:4.267vw;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);border:1px solid rgba(255,255,255,.1)}.spz-scene-selector h3,.spz-file-upload h3{color:#fff;font-size:2.4vw;font-weight:600;margin-bottom:2.667vw}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(21.333vw,1fr));gap:2.133vw}.scene-card{display:flex;flex-direction:column;align-items:center;gap:1.067vw;padding:2.667vw 2.133vw;background:#ffffff14;border:.267vw solid rgba(255,255,255,.1);border-radius:1.6vw;cursor:pointer;transition:all .2s ease;color:#fff}.scene-card:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-.267vw)}.scene-card.selected{background:#3b82f633;border-color:#3b82f6}.scene-card:disabled{opacity:.5;cursor:not-allowed;transform:none}.scene-icon{font-size:4.267vw}.scene-label{font-size:1.867vw;font-weight:600;text-align:center}.spz-divider{display:flex;align-items:center;margin:4.267vw 0;color:#fff6;font-size:1.867vw;font-weight:600}.spz-divider:before,.spz-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.spz-divider span{padding:0 2.133vw}.upload-area{display:flex;flex-direction:column;align-items:center;gap:1.6vw}.upload-btn{padding:1.867vw 3.733vw;background:#3b82f6;color:#fff;border:none;border-radius:1.333vw;font-size:2vw;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 .533vw 1.6vw #3b82f64d}.upload-btn:hover{background:#2563eb;transform:translateY(-1px)}.upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.file-name{color:#fff9;font-size:1.733vw}.spz-progress{display:flex;flex-direction:column;align-items:center;gap:2.133vw;margin-top:4.267vw;padding:3.2vw;background:#3b82f61a;border-radius:1.6vw;border:1px solid rgba(59,130,246,.2)}.progress-spinner{width:5.333vw;height:5.333vw;border:.4vw solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spz-progress p{color:#fff;font-size:1.867vw;text-align:center}.spz-error{display:flex;align-items:flex-start;gap:1.6vw;margin-top:3.2vw;padding:2.133vw;background:#ef444426;border-radius:1.333vw;border:1px solid rgba(239,68,68,.3)}.error-icon{font-size:2.667vw}.spz-error p{color:#fca5a5;font-size:1.867vw;margin:0}.spz-success{display:flex;flex-direction:column;align-items:center;gap:2.133vw;margin-top:3.2vw;padding:3.2vw;background:#10b98126;border-radius:1.6vw;border:1px solid rgba(16,185,129,.3)}.success-icon{font-size:4.267vw}.spz-success p{color:#6ee7b7;font-size:2.133vw;font-weight:600;margin:0}.cleanup-btn{padding:1.067vw 2.133vw;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:1.067vw;font-size:1.733vw;cursor:pointer;transition:all .2s ease}.cleanup-btn:hover{background:#ffffff26}.spz-to-ply-back-container{margin-top:4.267vw}.spz-to-ply-back-container .btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:1.333vw;padding:1.6vw 3.2vw;font-weight:600;text-decoration:none;transition:all .2s ease}.spz-to-ply-back-container .btn:hover{background:#ffffff26}.ai-music-floating-wrapper{position:fixed;bottom:3.2vw;right:3.2vw;z-index:10000;will-change:transform;touch-action:none}.ai-music-floating-button{position:relative;width:20vw;min-width:20vw;height:7.467vw;border-radius:3.733vw;background:linear-gradient(135deg,#1a1035,#0d0520);border:.267vw solid rgba(139,92,246,.5);display:flex;align-items:center;justify-content:center;gap:2.4vw;cursor:grab;pointer-events:auto;box-shadow:0 0 2.667vw #8b5cf666,0 0 5.333vw #8b5cf633,inset 0 0 2.667vw #8b5cf61a;transition:all .3s ease;backdrop-filter:blur(1.333vw);-webkit-backdrop-filter:blur(1.333vw);padding:0 1.867vw}.ai-music-floating-button:hover{transform:scale(1.05);box-shadow:0 0 4vw #8b5cf699,0 0 8vw #8b5cf64d,inset 0 0 4vw #8b5cf633}.ai-music-floating-button.playing{animation:ai-music-float-pulse 2s ease-in-out infinite}.ai-music-floating-button.dragging{cursor:grabbing;transform:scale(1.05)}.ai-music-glow-ring{position:absolute;top:-.533vw;right:-.533vw;bottom:-.533vw;left:-.533vw;border-radius:4.8vw;border:.267vw solid rgba(139,92,246,.3)}.ai-music-glow-ring:before{content:"";position:absolute;top:-1.067vw;right:-1.067vw;bottom:-1.067vw;left:-1.067vw;border-radius:5.333vw;background:radial-gradient(ellipse,rgba(139,92,246,.15) 0%,transparent 70%);animation:ai-music-glow-pulse 2s ease-in-out infinite}.ai-music-bubble-1,.ai-music-bubble-2,.ai-music-bubble-3{position:absolute;border-radius:50%;background:#8b5cf633;animation:ai-music-bubble-rise 3s ease-in-out infinite}.ai-music-bubble-1{width:.8vw;height:.8vw;top:-1.333vw;left:20%;animation-delay:0s}.ai-music-bubble-2{width:.667vw;height:.667vw;top:-1.067vw;left:50%;transform:translate(-50%);animation-delay:1s}.ai-music-bubble-3{width:.8vw;height:.8vw;top:-1.333vw;right:20%;animation-delay:2s}.ai-music-control-btn{background:none;border:none;color:#c8b4ffe6;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;z-index:2;width:4.267vw;height:4.267vw;border-radius:2.133vw;flex-shrink:0}.ai-music-control-btn svg{width:2.133vw;height:2.133vw;filter:drop-shadow(0 0 .533vw rgba(139,92,246,.5))}.ai-music-control-btn:hover{color:#fff;background:#8b5cf633;transform:scale(1.1)}.ai-music-control-btn:hover svg{filter:drop-shadow(0 0 1.067vw rgba(139,92,246,.8))}.ai-music-control-btn:active{transform:scale(.95)}.ai-music-float-label{position:absolute;bottom:unset;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.067vw;background:#1a1035e6;-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);padding:.533vw 2.133vw;border-radius:2.667vw;border:1px solid rgba(139,92,246,.3);white-space:nowrap}.ai-music-label-pulse{display:inline-block;width:1.067vw;height:1.067vw;border-radius:50%;background:#8b5cf6;box-shadow:0 0 1.067vw #8b5cf6cc;animation:ai-music-pulse-dot 1.5s ease-in-out infinite}.ai-music-label-text{color:#c8b4ffe6;font-size:1.733vw;font-weight:500}.ai-music-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(1.067vw);-webkit-backdrop-filter:blur(1.067vw);z-index:9999;display:flex;align-items:center;justify-content:center;animation:ai-music-fade-in .3s ease}.ai-music-panel{position:relative;width:56vw;max-height:90vh;background:linear-gradient(180deg,#1a1035f2,#0d0520fa);backdrop-filter:blur(2.667vw);-webkit-backdrop-filter:blur(2.667vw);border-radius:3.2vw;border:1px solid rgba(139,92,246,.3);box-shadow:0 2.667vw 8vw #00000080,0 0 5.333vw #8b5cf633,inset 0 1px #ffffff0d;overflow-y:auto;overflow-x:hidden;animation:ai-music-panel-slide-up .4s cubic-bezier(.16,1,.3,1);overscroll-behavior:contain}.ai-music-panel::-webkit-scrollbar{width:.533vw}.ai-music-panel::-webkit-scrollbar-track{background:transparent}.ai-music-panel::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:.267vw}.ai-music-panel-header{display:flex;align-items:center;justify-content:space-between;padding:2.667vw 3.2vw 1.6vw;position:sticky;top:0;background:linear-gradient(180deg,#1a1035fa,#1a1035e6);-webkit-backdrop-filter:blur(1.333vw);backdrop-filter:blur(1.333vw);z-index:2;opacity:.8}.ai-music-panel-title{display:flex;align-items:center;gap:1.067vw;font-size:2.133vw;font-weight:600;color:#c8b4fff2}.ai-music-ai-badge{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;font-size:1.467vw;font-weight:700;padding:.267vw 1.067vw;border-radius:1.333vw;letter-spacing:.5px}.ai-music-close-btn{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:#c8b4ffcc;cursor:pointer;padding:1.067vw;border-radius:1.6vw;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ai-music-close-btn:hover{background:#8b5cf633;color:#fff}.ai-music-panel-cover-section{display:flex;justify-content:center;padding:3.2vw;position:relative}.ai-music-panel-cover-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.ai-music-panel-cover{width:26.667vw;height:26.667vw;border-radius:2.667vw;object-fit:cover;position:relative;z-index:2;box-shadow:0 1.067vw 4.267vw #0006;transition:transform .3s ease;animation:ai-music-cover-rotate 20s linear infinite}.ai-music-panel-cover:hover{transform:scale(1.03)}.ai-music-visualizer-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none}.ai-music-panel-info{padding:0 3.2vw 2.133vw;text-align:center}.ai-music-panel-title-text{font-size:2.933vw;font-weight:700;color:#fff;margin:0 0 .533vw;line-height:1.3}.ai-music-panel-artist{font-size:2vw;color:#c8b4ffb3;margin:0 0 1.6vw}.ai-music-panel-ai-info{display:flex;flex-direction:column;gap:1.067vw;align-items:center}.ai-music-ai-tag{display:inline-flex;align-items:center;gap:.8vw;background:linear-gradient(135deg,#8b5cf633,#3b82f633);border:1px solid rgba(139,92,246,.3);color:#c8b4ffe6;font-size:1.733vw;padding:.533vw 1.867vw;border-radius:2.133vw}.ai-music-ai-icon{font-size:1.6vw}.ai-music-prompt{font-size:1.6vw;color:#a08cc899;line-height:1.5;max-width:42.667vw;overflow:hidden;text-overflow:ellipsis}.ai-music-panel-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.8vw;padding:0 3.2vw 2.133vw}.ai-music-tag{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:#c8b4ffb3;font-size:1.6vw;padding:.4vw 1.333vw;border-radius:1.6vw}.ai-music-panel-progress{display:flex;align-items:center;gap:1.333vw;padding:0 3.2vw 2.133vw}.ai-music-time-text{font-size:1.6vw;color:#c8b4ff99;min-width:4.8vw;text-align:center;font-variant-numeric:tabular-nums}.ai-music-progress-bar{flex:1;height:.533vw;background:#8b5cf626;border-radius:.267vw;cursor:pointer;position:relative;overflow:visible;transition:height .2s ease}.ai-music-progress-bar:hover{height:.8vw}.ai-music-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#3b82f6);border-radius:.267vw;position:relative;transition:width .1s linear}.ai-music-progress-fill:after{content:"";position:absolute;right:-.667vw;top:50%;transform:translateY(-50%);width:1.6vw;height:1.6vw;border-radius:50%;background:#8b5cf6;box-shadow:0 0 1.333vw #8b5cf699;opacity:0;transition:opacity .2s ease}.ai-music-progress-bar:hover .ai-music-progress-fill:after{opacity:1}.ai-music-panel-controls{display:flex;align-items:center;justify-content:center;gap:2.133vw;padding:1.067vw 3.2vw 2.133vw}.ai-music-panel-btn{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:#c8b4ffcc;cursor:pointer;padding:1.333vw;border-radius:1.867vw;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ai-music-panel-btn:hover{background:#8b5cf633;color:#fff;transform:scale(1.08)}.ai-music-panel-btn:active{transform:scale(.95)}.ai-music-panel-btn.active{background:#8b5cf64d;color:#fff;box-shadow:0 0 1.6vw #8b5cf64d}.ai-music-panel-play-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;color:#fff;border-radius:50%;width:8.533vw;height:8.533vw;display:flex;align-items:center;justify-content:center;box-shadow:0 0 2.667vw #8b5cf666;transition:all .2s ease}.ai-music-panel-play-btn:hover{transform:scale(1.1);box-shadow:0 0 4vw #8b5cf699}.ai-music-panel-play-btn:active{transform:scale(.95)}.ai-music-panel-volume{display:flex;align-items:center;gap:1.333vw;padding:0 3.2vw 2.133vw}.ai-music-volume-icon{color:#c8b4ff99;flex-shrink:0}.ai-music-volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.533vw;background:#8b5cf626;border-radius:.267vw;outline:none}.ai-music-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:1.867vw;height:1.867vw;border-radius:50%;background:#8b5cf6;cursor:pointer;box-shadow:0 0 1.067vw #8b5cf680}.ai-music-volume-slider::-moz-range-thumb{width:1.867vw;height:1.867vw;border-radius:50%;background:#8b5cf6;cursor:pointer;border:none;box-shadow:0 0 1.067vw #8b5cf680}.ai-music-volume-text{font-size:1.6vw;color:#c8b4ff99;min-width:4.8vw;text-align:right}.ai-music-panel-playlist{padding:2.133vw 3.2vw 3.2vw;border-top:1px solid rgba(139,92,246,.1)}.ai-music-playlist-title{font-size:1.867vw;font-weight:600;color:#c8b4ffcc;margin:0 0 1.6vw}.ai-music-playlist-list{display:flex;flex-direction:column;gap:1.067vw}.ai-music-playlist-item{display:flex;align-items:center;gap:1.6vw;padding:1.333vw 1.6vw;border-radius:1.6vw;background:#8b5cf60d;border:1px solid rgba(139,92,246,.1);cursor:pointer;transition:all .2s ease}.ai-music-playlist-item:hover{background:#8b5cf626;border-color:#8b5cf64d;transform:translate(.533vw)}.ai-music-playlist-item.playing{background:linear-gradient(135deg,#8b5cf633,#3b82f626);border-color:#8b5cf666;box-shadow:0 0 1.6vw #8b5cf633}.ai-music-playlist-cover{width:5.867vw;height:5.867vw;border-radius:1.067vw;object-fit:cover;flex-shrink:0}.ai-music-playlist-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.267vw}.ai-music-playlist-name{font-size:1.867vw;font-weight:500;color:#f0dcffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-music-playlist-artist{font-size:1.6vw;color:#a08cc899}.ai-music-playing-indicator{display:flex;align-items:flex-end;gap:.267vw;height:2.133vw}.ai-music-eq-bar{width:.4vw;background:linear-gradient(180deg,#8b5cf6,#3b82f6);border-radius:1px;animation:ai-music-eq .8s ease-in-out infinite;box-shadow:0 0 .8vw #8b5cf666}.ai-music-eq-bar:nth-child(1){height:1.067vw;animation-delay:0s}.ai-music-eq-bar:nth-child(2){height:1.6vw;animation-delay:.2s}.ai-music-eq-bar:nth-child(3){height:.8vw;animation-delay:.4s}@keyframes ai-music-float-pulse{0%,to{box-shadow:0 0 20px #8b5cf666,0 0 40px #8b5cf633}50%{box-shadow:0 0 30px #8b5cf699,0 0 60px #8b5cf64d,0 0 80px #8b5cf626}}@keyframes ai-music-glow-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ai-music-glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes ai-music-bubble-rise{0%{transform:translateY(0) scale(1);opacity:.6}to{transform:translateY(-20px) scale(.5);opacity:0}}@keyframes ai-music-pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}@keyframes ai-music-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ai-music-panel-slide-up{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ai-music-cover-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ai-music-eq{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.5)}}@media(max-width:480px){.ai-music-panel{width:calc(100vw - 32px);max-height:85vh;border-radius:20px}.ai-music-floating-button{width:150px;height:56px}}@media(min-width:768px){.ai-music-panel{width:480px}}@media(min-width:1024px){.ai-music-panel{width:520px}}@media(min-width:1440px){.ai-music-panel{width:560px}}@media(min-width:1920px){.ai-music-panel{width:840px}}@media(min-width:2200px){.ai-music-panel{width:1040px}}@media(min-width:2560px){.ai-music-panel{width:1240px}}@media(min-width:3000px){.ai-music-panel{width:1440px}}.submit-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99999;display:flex;align-items:center;gap:1.333vw;padding:2.133vw 3.733vw;border-radius:1.6vw;font-size:2vw;font-weight:500;color:#fff;box-shadow:0 1.067vw 3.2vw #0000004d;max-width:90vw;animation:toastFadeIn .3s ease-out}.submit-toast.success{background-color:#10b981}.submit-toast.error{background-color:#ef4444}.submit-toast.info{background-color:#3b82f6}.submit-toast-content{display:flex;align-items:center;gap:1.333vw}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.video-action-btn.submit,.action-btn.submit{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;color:#fff!important;font-weight:600!important;transition:all .2s ease!important}.video-action-btn.submit:hover,.action-btn.submit:hover{transform:translateY(-1px);box-shadow:0 .533vw 1.6vw #10b98166!important}.video-action-btn.submit:active,.action-btn.submit:active{transform:translateY(0)}
