.toast-container{position:fixed!important;top:20px;right:20px;z-index:10000!important;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-bf75adb0]{padding:12px 20px 16px;border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:250px;max-width:400px;animation:slideIn-bf75adb0 .3s ease-out;position:relative;overflow:hidden;pointer-events:auto}.toast-close[data-v-bf75adb0]{position:absolute;top:8px;right:8px;background:#0000001a;border:1px solid currentColor;border-radius:4px;font-size:12px;line-height:1;color:currentColor;cursor:pointer;padding:4px 8px;opacity:.7;transition:opacity .2s,background .2s}.toast-close[data-v-bf75adb0]:hover{opacity:1;background:#00000026}.toast-close[data-v-bf75adb0]:focus{outline:2px solid currentColor;outline-offset:2px;opacity:1}.toast-error[data-v-bf75adb0]{background-color:#fee;color:#c33;border:1px solid #fcc}.toast-success[data-v-bf75adb0]{background-color:#efe;color:#3c3;border:1px solid #cfc}.toast-progress-bar[data-v-bf75adb0]{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#0000001a;overflow:hidden}.toast-progress-fill[data-v-bf75adb0]{height:100%;width:100%;background-color:currentColor;opacity:.3;animation:progressCountdown-bf75adb0 linear forwards}@keyframes slideIn-bf75adb0{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes progressCountdown-bf75adb0{0%{transform:translate(0)}to{transform:translate(-100%)}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;position:relative}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;height:100dvh;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}#app:before{content:"";position:fixed;inset:0;background:#000000d9;z-index:0;pointer-events:none}#app>*{position:relative;z-index:1}.landing-page[data-v-7aa253a6]{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px}.container[data-v-7aa253a6]{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.title[data-v-7aa253a6]{font-size:2.5rem;font-weight:700;margin-bottom:10px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle[data-v-7aa253a6]{color:#666;text-align:center;margin-bottom:30px;font-size:1.1rem}.room-input-section[data-v-7aa253a6]{display:flex;flex-direction:column;gap:20px}.input-group[data-v-7aa253a6]{display:flex;flex-direction:column;gap:8px}.input-group label[data-v-7aa253a6]{font-size:.9rem;font-weight:600;color:#333}.room-input[data-v-7aa253a6]{padding:14px 18px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;outline:none;transition:border-color .3s}.room-input[data-v-7aa253a6]:focus{border-color:#667eea}.room-input-locked[data-v-7aa253a6]{background-color:#f5f5f5;cursor:not-allowed;opacity:.8}.button-group[data-v-7aa253a6]{display:flex;gap:12px}.btn[data-v-7aa253a6]{flex:1;padding:14px 24px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.btn[data-v-7aa253a6]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-7aa253a6]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-secondary[data-v-7aa253a6]{background:#f0f0f0;color:#333}@media(max-width:480px){.container[data-v-7aa253a6]{padding:30px 20px}.title[data-v-7aa253a6]{font-size:2rem}.button-group[data-v-7aa253a6]{flex-direction:column}}.chat-interface[data-v-55a359b3]{display:flex;flex-direction:column;height:100%;background:#fff}.chat-interface.chat-history-hidden[data-v-55a359b3]{height:auto}.chat-messages[data-v-55a359b3]{flex:1;overflow-y:auto;padding:16px;background:#f5f5f5}.message[data-v-55a359b3]{margin-bottom:16px;padding:12px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.system-message[data-v-55a359b3]{background:#e3f2fd;border-left:3px solid #2196f3}.party-bot-message[data-v-55a359b3]{background:linear-gradient(135deg,#5a6fd8,#6a3f8a);color:#fffffff2;border-left:4px solid #d4af37;box-shadow:0 4px 12px #667eea33;position:relative;overflow:hidden}.party-bot-message[data-v-55a359b3]:before{content:"✨";position:absolute;top:8px;right:12px;font-size:1.2rem;opacity:.6;animation:sparkle-55a359b3 2s ease-in-out infinite}@keyframes sparkle-55a359b3{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.message-header[data-v-55a359b3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.message-user[data-v-55a359b3]{font-weight:600;font-size:.9rem;color:#333}.system-message .message-user[data-v-55a359b3]{color:#1976d2}.party-bot-message .message-user[data-v-55a359b3]{color:#d4af37;text-shadow:0 1px 2px rgba(0,0,0,.3);font-size:1rem}.message-time[data-v-55a359b3]{font-size:.75rem;color:#999}.party-bot-message .message-time[data-v-55a359b3]{color:#fffc}.message-text[data-v-55a359b3]{color:#333;line-height:1.5;word-wrap:break-word;white-space:pre-line}.party-bot-message .message-text[data-v-55a359b3]{color:#fffffff2;font-weight:400}.empty-chat[data-v-55a359b3]{text-align:center;padding:40px 20px;color:#999}.chat-input-container[data-v-55a359b3]{border-top:1px solid #e0e0e0;padding:12px;background:#fff}.chat-input-wrapper[data-v-55a359b3]{display:flex;align-items:center;gap:8px}.connection-indicator[data-v-55a359b3]{width:12px;height:12px;border-radius:50%;background:#999;flex-shrink:0;transition:background-color .3s}.connection-indicator.connected[data-v-55a359b3]{background:#4caf50;animation:pulse-55a359b3 2s infinite}@keyframes pulse-55a359b3{0%,to{opacity:1}50%{opacity:.5}}.button-group[data-v-55a359b3]{display:flex;gap:0;align-items:stretch;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #667eea33}.toggle-chat-button[data-v-55a359b3]{padding:10px 12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-right:1px solid rgba(255,255,255,.2);cursor:pointer;font-size:1rem;color:#fff;transition:all .3s;min-width:40px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.5;font-weight:600;margin:0}.chat-input[data-v-55a359b3]{flex:1;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;outline:none;transition:border-color .3s}.chat-input[data-v-55a359b3]:focus{border-color:#667eea}.chat-input[data-v-55a359b3]:disabled{background:#f5f5f5;cursor:not-allowed}.send-button[data-v-55a359b3]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s;box-sizing:border-box;line-height:1.5;display:flex;align-items:center;justify-content:center;margin:0}.send-button[data-v-55a359b3]:disabled{opacity:.5;cursor:not-allowed}.song-lists-modal-overlay[data-v-65576246]{position:fixed;inset:0;background:#000000e6;display:flex;align-items:stretch;justify-content:stretch;z-index:3000;overflow:hidden}.song-lists-modal-content[data-v-65576246]{width:100%;height:100%;background:#1e1e1ef2;display:flex;flex-direction:column;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.song-lists-close-btn-top[data-v-65576246]{position:absolute;top:20px;right:20px;width:40px;height:40px;padding:0;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;line-height:1}.song-lists-header[data-v-65576246]{padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.song-lists-header h2[data-v-65576246]{color:#fff;margin:0 0 12px;font-size:1.5rem;font-weight:600}.song-lists-pills[data-v-65576246]{display:flex;flex-wrap:wrap;gap:6px;max-height:200px;overflow-y:auto}.list-pill[data-v-65576246]{padding:4px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fffc;cursor:pointer;font-size:.85rem;transition:all .2s;white-space:nowrap}.list-pill.active[data-v-65576246]{background:#64b5f64d;border-color:#64b5f699;color:#fff;font-weight:600}.song-lists-body[data-v-65576246]{flex:1;padding:20px 24px;overflow-y:auto;min-height:0}.songs-container[data-v-65576246]{display:flex;flex-direction:column;gap:4px}.song-item[data-v-65576246]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .2s}.song-info[data-v-65576246]{color:#fff;font-size:1rem;flex:1;display:flex;align-items:center}.song-singer[data-v-65576246]{color:#fffc;font-weight:500}.song-separator[data-v-65576246]{color:#ffffff80;margin:0 4px}.song-title[data-v-65576246]{color:#fffffff2;font-weight:400}.quick-add-btn[data-v-65576246]{padding:6px 16px;background:#4caf5033;border:1px solid rgba(76,175,80,.4);border-radius:6px;color:#4caf50;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.already-added[data-v-65576246]{color:#ffffff80;font-size:.85rem;font-style:italic}.empty-list[data-v-65576246]{text-align:center;color:#ffffff80;padding:60px 20px;font-size:1.1rem}.karaoke-view[data-v-2745857f]{height:100%;display:flex;flex-direction:column}.loading-state[data-v-2745857f]{text-align:center;color:#ffffffe6;padding:60px 20px;font-size:1.1rem;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-spinner[data-v-2745857f]{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fffc;border-radius:50%;animation:loading-spin-2745857f .8s linear infinite}@keyframes loading-spin-2745857f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-2745857f]{text-align:center;color:#ffffffe6;padding:60px 20px;font-size:1.1rem}.hint[data-v-2745857f]{font-size:.9rem;margin-top:8px;opacity:.9}.playlist[data-v-2745857f]{flex:1;overflow-y:auto;padding:8px}.add-song-hint[data-v-2745857f]{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:12px}.add-song-hint p[data-v-2745857f]{margin:0;color:#fffffff2;font-size:.9rem;line-height:1.5}.playlist-item[data-v-2745857f]{background:#ffffff1a;border-radius:8px;padding:12px 16px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px;transition:all .3s;position:relative;overflow:hidden}.playlist-item.pending-delete[data-v-2745857f]{background:#f4433633;border:1px solid rgba(244,67,54,.5)}.song-header[data-v-2745857f]{display:flex;align-items:center;gap:12px}.song-number[data-v-2745857f]{font-weight:600;color:#fffffff2;min-width:50px;text-align:center}.song-title[data-v-2745857f]{font-weight:500;color:#fff;font-size:1rem}.song-singer[data-v-2745857f]{font-size:.85rem;color:#ffffffe6}.song-actions[data-v-2745857f]{display:flex;gap:4px;justify-content:flex-end}.action-btn[data-v-2745857f]{padding:8px 12px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .2s;min-width:40px;display:flex;align-items:center;justify-content:center;line-height:1}.action-btn[data-v-2745857f]:disabled{opacity:.3;cursor:not-allowed}.action-btn-first[data-v-2745857f],.action-btn-up[data-v-2745857f],.action-btn-down[data-v-2745857f]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.action-btn-first[data-v-2745857f]{font-size:1.2rem}.action-btn-up[data-v-2745857f],.action-btn-down[data-v-2745857f]{font-size:1.3rem}.delete-btn[data-v-2745857f]{background:#ffffff26;border-color:#ffffff40;padding:8px 12px}.delete-icon[data-v-2745857f]{display:inline-block;width:16px;height:16px;position:relative;color:#fffffff2}.delete-icon[data-v-2745857f]:before,.delete-icon[data-v-2745857f]:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;background:currentColor;border-radius:1px}.delete-icon[data-v-2745857f]:before{transform:translate(-50%,-50%) rotate(45deg)}.delete-icon[data-v-2745857f]:after{transform:translate(-50%,-50%) rotate(-45deg)}.cancel-btn[data-v-2745857f]{background:#4caf5040;border-color:#4caf5066;font-size:.85rem;font-weight:500;padding:8px 12px;min-width:50px}.delete-progress-bar[data-v-2745857f]{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#0003;overflow:hidden}.delete-progress-fill[data-v-2745857f]{height:100%;width:100%;background-color:#f44336;animation:deleteCountdown-2745857f linear forwards}@keyframes deleteCountdown-2745857f{0%{transform:translate(0)}to{transform:translate(-100%)}}.chord-btn[data-v-2745857f]{font-size:.9rem;font-weight:600}.youtube-btn[data-v-2745857f]{text-decoration:none;color:#fff;display:flex;align-items:center;justify-content:center;padding:8px}.youtube-btn svg[data-v-2745857f]{width:20px;height:20px;display:block}.chord-spinner[data-v-2745857f]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fffc;border-radius:50%;animation:chord-spin-2745857f .8s linear infinite}.chord-error-icon[data-v-2745857f]{font-size:1rem;color:#ff6b6b;display:inline-block}@keyframes chord-spin-2745857f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chord-modal-overlay[data-v-2745857f]{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px 0;overflow-y:auto}.chord-modal-content[data-v-2745857f]{display:flex;flex-direction:column;align-items:center;max-width:100%;width:100%;max-height:100dvh;position:relative;padding-top:70px}.chord-image[data-v-2745857f]{width:auto;height:auto;max-width:100vw;object-fit:contain;margin-bottom:20px;border-radius:8px;box-shadow:0 4px 20px #00000080}.chord-qr-container[data-v-2745857f]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;padding:16px;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chord-qr-code[data-v-2745857f]{width:200px;height:200px;border-radius:8px;background:#fff;padding:8px}.chord-close-btn[data-v-2745857f]{padding:12px 32px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chord-close-btn-top[data-v-2745857f]{position:absolute;top:20px;right:20px;width:40px;height:40px;padding:0;background:#ffffff80;border:2px solid rgba(255,255,255,.9);border-radius:50%;color:#333;cursor:pointer;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;line-height:1;text-shadow:0 1px 2px rgba(255,255,255,.8)}.modal-overlay[data-v-55c6bdaf]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-55c6bdaf]{background:#fff;padding:0;border-radius:0;width:100%;height:100%;overflow-y:auto;box-shadow:none}.modal-header[data-v-55c6bdaf]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;background:#f8f9fa;border-radius:0}.modal-header h2[data-v-55c6bdaf]{margin:0;font-size:22px;color:#333}.close-btn[data-v-55c6bdaf]{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-body[data-v-55c6bdaf]{padding:24px}.modal-footer[data-v-55c6bdaf]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f8f9fa;border-radius:0}.config-section[data-v-8434ce10]{margin-bottom:24px}.config-section label[data-v-8434ce10]{display:block;margin-bottom:12px;color:#333;font-weight:500}.player-count-controls[data-v-8434ce10]{display:flex;align-items:center;gap:16px;justify-content:center}.count-control-btn[data-v-8434ce10]{width:40px;height:40px;border:1px solid rgba(0,0,0,.2);background:#0000000d;color:#333;border-radius:6px;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.count-control-btn[data-v-8434ce10]:disabled{opacity:.5;cursor:not-allowed}.player-count-display[data-v-8434ce10]{min-width:80px;text-align:center;color:#333;font-weight:700;font-size:1.2rem}.empty-config[data-v-8434ce10]{padding:20px;text-align:center;color:#666;background:#00000008;border-radius:8px;margin-bottom:12px}.current-config-grid[data-v-8434ce10]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px}.role-card[data-v-8434ce10]{background:#0000000d;border-radius:8px;cursor:pointer;transition:all .2s;overflow:hidden;position:relative}.role-image-card[data-v-8434ce10]{aspect-ratio:3 / 4;display:flex;flex-direction:column;padding:0;position:relative}.role-image[data-v-8434ce10]{width:100%;flex:1;object-fit:cover;display:block}.role-name-overlay[data-v-8434ce10]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000d9,#0009);color:#fff;padding:8px;font-size:.85rem;text-align:center;font-weight:500;min-height:32px;display:flex;align-items:center;justify-content:center}.config-summary[data-v-8434ce10]{padding:8px 12px;background:#4caf5026;border-radius:6px;text-align:center;color:#2e7d32;font-size:.9rem}.no-preset-hint[data-v-8434ce10]{padding:12px;text-align:center;color:#666;background:#00000008;border-radius:6px;font-size:.9rem}.no-configured-roles[data-v-8434ce10]{padding:12px;text-align:center;color:#666;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:6px;font-size:.9rem}.preset-buttons[data-v-8434ce10]{display:flex;gap:12px;flex-wrap:wrap}.preset-btn[data-v-8434ce10]{padding:12px 16px;background:#0000000d;color:#333;border:1px solid rgba(0,0,0,.15);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:8px;min-width:150px}.preset-btn.history-preset[data-v-8434ce10]{background:#4caf5026;border-color:#4caf504d}.loading-configs[data-v-8434ce10]{padding:12px;text-align:center;color:#666;font-size:.9rem}.preset-title[data-v-8434ce10]{font-weight:700;font-size:1rem;color:#333}.preset-roles[data-v-8434ce10]{display:flex;flex-wrap:wrap;gap:6px;font-size:.85rem}.preset-role-tag[data-v-8434ce10]{background:#00000014;padding:4px 8px;border-radius:4px;color:#333}.available-roles-grid[data-v-8434ce10]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.available-role[data-v-8434ce10]{border:2px solid rgba(33,150,243,.4)}.available-role.disabled[data-v-8434ce10]{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.config-full-message[data-v-8434ce10]{padding:20px;text-align:center;color:#666;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;font-size:1rem;font-weight:500}.role-count-overlay[data-v-8434ce10]{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:#4caf50f2;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;z-index:5;box-shadow:0 2px 4px #0000004d}.cancel-btn[data-v-8434ce10],.start-btn[data-v-8434ce10]{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.cancel-btn[data-v-8434ce10]{background:#0000000d;color:#333}.start-btn[data-v-8434ce10]{background:#4caf50;color:#fff}.start-btn[data-v-8434ce10]:disabled{opacity:.5;cursor:not-allowed}.no-preferences[data-v-8434ce10]{padding:12px;text-align:center}.add-preference-btn[data-v-8434ce10]{padding:8px 16px;background:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.3);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.add-preference-btn[data-v-8434ce10]:hover{background:#2196f333}.preferences-list[data-v-8434ce10]{display:flex;flex-direction:column;gap:8px}.preference-item[data-v-8434ce10]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#4caf501a;border-radius:6px;font-size:.9rem}.preference-label[data-v-8434ce10]{font-weight:500;color:#333}.preference-roles[data-v-8434ce10]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.preference-role-image[data-v-8434ce10]{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.preference-role-img[data-v-8434ce10]{width:60px;height:80px;object-fit:cover;border-radius:6px;border:2px solid rgba(76,175,80,.3)}.preference-role-name[data-v-8434ce10]{font-size:.75rem;color:#2e7d32;text-align:center}.remove-preference-btn[data-v-8434ce10]{background:#f443361a;color:#f44336;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-preference-btn[data-v-8434ce10]:hover{background:#f4433633}.add-preference-form[data-v-8434ce10]{margin-top:12px;padding:16px;background:#00000008;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.form-row[data-v-8434ce10]{margin-bottom:16px}.form-row label[data-v-8434ce10]{display:block;margin-bottom:8px;color:#333;font-size:.9rem}.player-select[data-v-8434ce10]{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.2);border-radius:6px;background:#fff;font-size:.9rem;color:#333}.player-button-group[data-v-8434ce10]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:8px}.player-button[data-v-8434ce10]{padding:10px 16px;border:2px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;outline:none}.player-button[data-v-8434ce10]:hover{border-color:#2196f380;background:#2196f30d;color:#2196f3}.player-button.selected[data-v-8434ce10]{border-color:#2196f3;background:#2196f3;color:#fff;box-shadow:0 2px 4px #2196f34d}.player-button.selected[data-v-8434ce10]:hover{background:#1976d2;border-color:#1976d2}.role-selection-grid[data-v-8434ce10]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.role-selection-item[data-v-8434ce10]{display:flex;flex-direction:column;cursor:pointer;position:relative;border-radius:8px;overflow:hidden;transition:all .2s}.role-selection-item[data-v-8434ce10]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.role-selection-item.selected .role-selection-content[data-v-8434ce10]{border-color:#4caf50;border-width:4px;background:#4caf501a}.role-selection-item:not(.selected) .role-selection-img[data-v-8434ce10]{filter:grayscale(100%);opacity:.6}.role-selection-checkbox[data-v-8434ce10]{position:absolute;top:4px;right:4px;width:28px;height:28px;z-index:1;cursor:pointer;accent-color:#4CAF50}.role-selection-content[data-v-8434ce10]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:2px solid rgba(0,0,0,.2);border-radius:8px;background:#00000005;transition:all .2s}.role-selection-img[data-v-8434ce10]{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;display:block}.role-selection-name[data-v-8434ce10]{font-size:.75rem;color:#333;text-align:center;font-weight:500}.form-actions[data-v-8434ce10]{display:flex;gap:8px;justify-content:flex-end}.confirm-preference-btn[data-v-8434ce10],.cancel-preference-btn[data-v-8434ce10]{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.confirm-preference-btn[data-v-8434ce10]{background:#4caf50;color:#fff}.confirm-preference-btn[data-v-8434ce10]:disabled{opacity:.5;cursor:not-allowed}.cancel-preference-btn[data-v-8434ce10]{background:#0000000d;color:#333}.role-card-container[data-v-779ee1f2]{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;perspective:1000px}.role-card-container.dead[data-v-779ee1f2],.role-card-container.dead .card-image[data-v-779ee1f2]{filter:grayscale(100%)}.role-card-container.confirmed[data-v-779ee1f2]{opacity:.6}.role-card-inner[data-v-779ee1f2]{position:relative;width:100%;aspect-ratio:3 / 4;transform-style:preserve-3d;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.role-card-front[data-v-779ee1f2]{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;border-radius:8px;overflow:hidden}.card-image[data-v-779ee1f2]{width:100%;height:100%;object-fit:cover;display:block}.player-number-overlay[data-v-779ee1f2]{position:absolute;inset:50% 0 auto;width:100%;min-height:60px;background:#000000bf;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:2.5rem;z-index:10;box-shadow:0 2px 4px #0000004d;transform:translateY(-50%);padding:8px}.player-number-text[data-v-779ee1f2]{display:block;line-height:1;font-size:2.5rem}.swipe-hint-inline[data-v-779ee1f2],.tap-hint-inline[data-v-779ee1f2]{display:flex;align-items:center;gap:8px;font-size:1rem;opacity:.9}.pointer-icon[data-v-779ee1f2]{width:18px;height:18px;display:inline-block;vertical-align:middle;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.swipe-pointer[data-v-779ee1f2]{animation:swipe-hand-move-779ee1f2 1.5s ease-in-out infinite}.tap-pointer[data-v-779ee1f2]{animation:tap-press-inline-779ee1f2 1.5s ease-in-out infinite}.hint-text-inline[data-v-779ee1f2]{font-size:.9rem;color:#ffffffe6;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5);white-space:nowrap}@keyframes swipe-hand-move-779ee1f2{0%,to{transform:translate(-15px);opacity:.8}50%{transform:translate(15px);opacity:1}}@keyframes tap-press-inline-779ee1f2{0%,to{transform:scale(1) translateY(0);opacity:.8}25%{transform:scale(.9) translateY(3px);opacity:.9}50%{transform:scale(1.1) translateY(-3px);opacity:1}75%{transform:scale(1) translateY(0);opacity:.9}}.werewolf-view[data-v-68841fcd]{height:100%;display:flex;flex-direction:column}.loading-state[data-v-68841fcd]{text-align:center;color:#fff9;padding:60px 20px;font-size:1.1rem;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-spinner[data-v-68841fcd]{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fffc;border-radius:50%;animation:loading-spin-68841fcd .8s linear infinite}@keyframes loading-spin-68841fcd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.not-started-state[data-v-68841fcd]{text-align:center;color:#fff9;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.title[data-v-68841fcd]{font-size:2rem;font-weight:700;color:#ffffffe6}.hint[data-v-68841fcd]{font-size:1.1rem;opacity:.7}.waiting-hint[data-v-68841fcd]{font-size:1rem;opacity:.6}.start-game-btn[data-v-68841fcd]{padding:12px 24px;font-size:1.1rem;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.game-started[data-v-68841fcd]{flex:1;overflow-y:auto;padding:16px}.players-section[data-v-68841fcd]{margin-bottom:32px}.section-title[data-v-68841fcd]{font-size:1.3rem;font-weight:700;color:#ffffffe6;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid rgba(255,255,255,.2)}.players-grid[data-v-68841fcd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.player-card[data-v-68841fcd]{background:#ffffff1a;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.player-card.confirmed[data-v-68841fcd]{opacity:.6}.player-card.dead[data-v-68841fcd]{background:#8b00004d;text-decoration:line-through}.player-header[data-v-68841fcd]{display:flex;justify-content:space-between;align-items:center}.player-number[data-v-68841fcd]{font-weight:700;color:#ffffffe6}.dead-badge[data-v-68841fcd]{background:#ff000080;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem}.player-actions[data-v-68841fcd]{display:flex;flex-direction:column;gap:8px}.view-role-btn[data-v-68841fcd],.mark-dead-btn[data-v-68841fcd]{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.view-role-btn[data-v-68841fcd]{background:#2196f3;color:#fff;padding:12px 24px;font-size:1.1rem}.mark-dead-btn[data-v-68841fcd]{background:#ff00004d;color:#fff}.mark-dead-btn.mark-alive[data-v-68841fcd]{background:#4caf504d}.role-modal-overlay[data-v-68841fcd]{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000}.role-modal-content[data-v-68841fcd]{position:relative;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.role-display[data-v-68841fcd]{display:flex;flex-direction:column;align-items:center;gap:24px}.role-image[data-v-68841fcd]{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.role-name[data-v-68841fcd]{font-size:2rem;font-weight:700;color:#fff;text-align:center}.confirm-hint[data-v-68841fcd]{font-size:1.2rem;color:#fffc;text-align:center;margin-top:16px;animation:pulse-68841fcd 2s ease-in-out infinite}@keyframes pulse-68841fcd{0%,to{opacity:.7}50%{opacity:1}}.loading-role[data-v-68841fcd]{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}.all-roles-revealed[data-v-68841fcd]{padding:16px}.controls-bar[data-v-68841fcd]{margin-bottom:24px;display:flex;justify-content:center}.toggle-all-btn[data-v-68841fcd]{padding:12px 24px;background:#2196f3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s}.toggle-all-btn[data-v-68841fcd]:hover{background:#1976d2}.role-cards-grid[data-v-68841fcd]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role-card-container[data-v-68841fcd]{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;perspective:1000px}.role-card-container.dead[data-v-68841fcd],.role-card-container.dead .card-image[data-v-68841fcd]{filter:grayscale(100%)}.role-card-inner[data-v-68841fcd]{position:relative;width:100%;aspect-ratio:3 / 4;transform-style:preserve-3d;cursor:pointer}.role-card-front[data-v-68841fcd],.role-card-back[data-v-68841fcd]{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s;transform-style:preserve-3d;border-radius:8px;overflow:hidden}.role-card-front[data-v-68841fcd]{transform:rotateY(0)}.role-card-back[data-v-68841fcd]{transform:rotateY(180deg)}.role-card-container.flipped .role-card-front[data-v-68841fcd]{transform:rotateY(-180deg)}.role-card-container.flipped .role-card-back[data-v-68841fcd]{transform:rotateY(0)}.card-image[data-v-68841fcd]{width:100%;height:100%;object-fit:cover;display:block}.player-number-overlay[data-v-68841fcd]{position:absolute;bottom:0;left:0;right:0;width:100%;height:32px;background:#000000bf;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;z-index:10;box-shadow:0 2px 4px #0000004d;border-radius:0 0 8px 8px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pre-reveal-roles .player-number-overlay[data-v-68841fcd]{top:50%;bottom:auto;transform:translateY(-50%);font-size:2.5rem;height:60px;border-radius:0}.player-number-overlay span[data-v-68841fcd]{display:block;line-height:1}.role-count-overlay[data-v-68841fcd]{position:absolute;bottom:0;left:0;right:0;width:100%;height:32px;background:#000000bf;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;z-index:10;box-shadow:0 2px 4px #0000004d;border-radius:0 0 8px 8px}.role-count-overlay span[data-v-68841fcd]{display:block;line-height:1}.role-card-caption[data-v-68841fcd]{font-weight:700;color:#ffffffe6;font-size:1rem;text-align:center;margin-top:8px}.pre-reveal-roles[data-v-68841fcd]{padding:16px}.pre-reveal-section[data-v-68841fcd]{margin-bottom:32px}.pre-reveal-cards-grid[data-v-68841fcd]{display:grid;grid-template-columns:1fr;gap:16px}.pre-reveal-roles .role-card-inner[data-v-68841fcd]{cursor:pointer}.pre-reveal-roles .role-card-back[data-v-68841fcd]{display:none}.pre-reveal-cards-grid .confirmed[data-v-68841fcd]{opacity:.6}.card-dead-btn[data-v-68841fcd]{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;background:#ff00004d;color:#fff}.card-dead-btn[data-v-68841fcd]:hover{background:#ff000080}.card-dead-btn.mark-alive[data-v-68841fcd]{background:#4caf504d}.card-dead-btn.mark-alive[data-v-68841fcd]:hover{background:#4caf5080}.config-section[data-v-ccb9fddd]{margin-bottom:24px}.config-section label[data-v-ccb9fddd]{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:15px}.topic-input[data-v-ccb9fddd]{width:100%;padding:10px 12px;font-size:14px;border:2px solid #ddd;border-radius:8px;transition:border-color .2s}.topic-input[data-v-ccb9fddd]:focus{outline:none}.topic-buttons[data-v-ccb9fddd]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.topic-btn[data-v-ccb9fddd]{padding:6px 12px;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.topic-btn.selected[data-v-ccb9fddd]{background:#4caf50;border-color:#4caf50;color:#fff}.difficulty-buttons[data-v-ccb9fddd],.word-count-buttons[data-v-ccb9fddd]{display:flex;gap:6px;flex-wrap:wrap}.difficulty-btn[data-v-ccb9fddd],.word-count-btn[data-v-ccb9fddd]{padding:6px 12px;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.difficulty-btn.selected[data-v-ccb9fddd],.word-count-btn.selected[data-v-ccb9fddd]{background:#4caf50;border-color:#4caf50;color:#fff}.config-summary[data-v-ccb9fddd]{background:#f8f9fa;padding:16px;border-radius:8px;margin-top:20px}.summary-item[data-v-ccb9fddd]{display:flex;justify-content:space-between;margin-bottom:8px}.summary-item[data-v-ccb9fddd]:last-child{margin-bottom:0}.summary-label[data-v-ccb9fddd]{font-weight:600;color:#555}.summary-value[data-v-ccb9fddd]{color:#333}.cancel-btn[data-v-ccb9fddd],.start-btn[data-v-ccb9fddd]{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s}.cancel-btn[data-v-ccb9fddd]{background:#e0e0e0;color:#333}.start-btn[data-v-ccb9fddd]{background:#4caf50;color:#fff}.start-btn[data-v-ccb9fddd]:disabled{background:#ccc;cursor:not-allowed}.word-modal-overlay[data-v-ef8e5d51]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:2000}.word-modal-content[data-v-ef8e5d51]{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:60px 40px;box-sizing:border-box}.close-btn[data-v-ef8e5d51]{position:absolute;top:20px;right:20px;background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:clamp(24px,3vw,40px);cursor:pointer;padding:12px 20px;border-radius:8px;transition:all .2s;z-index:10}.close-btn[data-v-ef8e5d51]:hover{background:#ffffff4d;border-color:#ffffff80}.word-display[data-v-ef8e5d51]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;width:100%;max-width:100%;padding:0 20px;box-sizing:border-box}.word-chinese[data-v-ef8e5d51]{font-size:clamp(60px,20vw,300px);font-weight:700;line-height:1.1;margin-bottom:clamp(20px,5vh,60px);text-shadow:0 4px 20px rgba(0,0,0,.5);word-break:break-word;overflow-wrap:break-word;max-width:100%}.word-english[data-v-ef8e5d51]{font-size:clamp(40px,12vw,200px);font-weight:600;line-height:1.1;opacity:.9;text-shadow:0 4px 20px rgba(0,0,0,.5);word-break:break-word;overflow-wrap:break-word;max-width:100%}.keyboard-hint[data-v-ef8e5d51]{position:absolute;bottom:20px;right:20px;color:#ffffff80;font-size:14px;font-weight:400;z-index:10}@media(max-width:768px){.word-modal-content[data-v-ef8e5d51]{padding:40px 20px}.close-btn[data-v-ef8e5d51]{top:10px;right:10px;padding:8px 16px}.keyboard-hint[data-v-ef8e5d51]{bottom:10px;right:10px;font-size:12px}}.articulate-container[data-v-2f657a9d]{display:flex;flex-direction:column;height:100%;padding:20px}.loading-state[data-v-2f657a9d],.not-started-state[data-v-2f657a9d]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.spinner[data-v-2f657a9d]{border:3px solid #f3f3f3;border-top:3px solid #4CAF50;border-radius:50%;width:40px;height:40px;animation:spin-2f657a9d 1s linear infinite;margin-bottom:16px}@keyframes spin-2f657a9d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-message[data-v-2f657a9d]{text-align:center;padding:40px;background:#f8f9fa;border-radius:12px}.empty-message h3[data-v-2f657a9d]{margin:0 0 12px;color:#333}.empty-message p[data-v-2f657a9d]{margin:0;color:#666}.game-view[data-v-2f657a9d]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.game-content[data-v-2f657a9d]{max-width:600px;width:100%}.current-word-section[data-v-2f657a9d]{text-align:center;margin-bottom:40px}.word-label[data-v-2f657a9d]{font-size:18px;color:#666;margin-bottom:16px;font-weight:500}.current-word[data-v-2f657a9d]{font-size:48px;font-weight:700;color:#333;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;box-shadow:0 4px 20px #667eea4d;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s}.current-word[data-v-2f657a9d]:hover{transform:scale(1.02);box-shadow:0 6px 25px #667eea66}.word-chinese[data-v-2f657a9d]{font-size:48px;line-height:1.2;margin-bottom:8px}.word-english[data-v-2f657a9d]{font-size:36px;line-height:1.2;opacity:.9}.game-complete-section[data-v-2f657a9d]{text-align:center;margin-bottom:40px;padding:40px;background:#f8f9fa;border-radius:16px}.complete-icon[data-v-2f657a9d]{font-size:64px;margin-bottom:16px}.game-complete-section h2[data-v-2f657a9d]{margin:0 0 8px;color:#333}.game-complete-section p[data-v-2f657a9d]{margin:0;color:#666}.stats-section[data-v-2f657a9d]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.stat-item[data-v-2f657a9d]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.stat-item.correct[data-v-2f657a9d]{border-left:4px solid #4CAF50}.stat-item.passed[data-v-2f657a9d]{border-left:4px solid #FF9800}.stat-item.remaining[data-v-2f657a9d]{border-left:4px solid #2196F3}.stat-icon[data-v-2f657a9d]{font-size:18px;font-weight:700}.stat-item.correct .stat-icon[data-v-2f657a9d]{color:#4caf50}.stat-item.passed .stat-icon[data-v-2f657a9d]{color:#ff9800}.stat-item.remaining .stat-icon[data-v-2f657a9d]{color:#2196f3}.stat-content[data-v-2f657a9d]{flex:1}.stat-label[data-v-2f657a9d]{font-size:12px;color:#666;margin-bottom:2px}.stat-value[data-v-2f657a9d]{font-size:18px;font-weight:700;color:#333}.action-buttons[data-v-2f657a9d]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.action-btn[data-v-2f657a9d]{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;color:#fff;width:100%}.correct-btn[data-v-2f657a9d]{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 12px #4caf504d}.pass-btn[data-v-2f657a9d]{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 12px #ff98004d}.action-btn[data-v-2f657a9d]:disabled{background:#e0e0e0;color:#999;cursor:not-allowed;box-shadow:none}.btn-icon[data-v-2f657a9d]{font-size:18px}.game-info[data-v-2f657a9d]{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:16px;background:#f8f9fa;border-radius:8px}.info-item[data-v-2f657a9d]{display:flex;gap:6px}.info-label[data-v-2f657a9d]{font-weight:600;color:#666}.info-value[data-v-2f657a9d]{color:#333}@media(max-width:600px){.current-word[data-v-2f657a9d]{min-height:100px;padding:16px}.word-chinese[data-v-2f657a9d]{font-size:36px}.word-english[data-v-2f657a9d]{font-size:28px}.stat-value[data-v-2f657a9d]{font-size:16px}.stat-label[data-v-2f657a9d]{font-size:11px}.stat-icon[data-v-2f657a9d],.action-btn[data-v-2f657a9d],.btn-icon[data-v-2f657a9d]{font-size:16px}}.room-view[data-v-77227d7a]{display:flex;flex-direction:column;height:100dvh;background:linear-gradient(135deg,#667eea,#764ba2)}.room-header[data-v-77227d7a]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);position:relative;z-index:100}.room-header h2[data-v-77227d7a]{color:#fff;font-size:1.5rem;margin:0}.room-name-container[data-v-77227d7a]{position:relative}.room-name-clickable[data-v-77227d7a]{cursor:pointer;transition:opacity .2s}.room-name-clickable[data-v-77227d7a]:hover{opacity:.8}.qrcode-dropdown[data-v-77227d7a]{position:absolute;top:calc(100% + 12px);left:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:20px;z-index:5000;min-width:200px}.qrcode-content[data-v-77227d7a]{display:flex;flex-direction:column;align-items:center;gap:12px}.qrcode-image[data-v-77227d7a]{width:200px;height:200px;cursor:pointer;border-radius:8px}.qrcode-hint[data-v-77227d7a]{margin:0;font-size:.85rem;color:#666;text-align:center}.header-menu[data-v-77227d7a]{position:relative}.menu-toggle[data-v-77227d7a]{padding:8px 12px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .3s;display:flex;align-items:center;justify-content:center;min-width:40px}.dropdown-menu[data-v-77227d7a]{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:3000;overflow:hidden}.menu-section[data-v-77227d7a]{padding:8px 0}.menu-label[data-v-77227d7a]{padding:8px 16px;font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.menu-item[data-v-77227d7a]{width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:.95rem;color:#333;transition:background-color .2s;display:block}.menu-item.disabled[data-v-77227d7a]{opacity:.5;cursor:not-allowed;color:#999}.menu-item.active[data-v-77227d7a]{background:#e3f2fd;color:#1976d2;font-weight:600}.menu-item-danger[data-v-77227d7a]{color:#d32f2f}.menu-divider[data-v-77227d7a]{height:1px;background:#e0e0e0;margin:4px 0}.room-content[data-v-77227d7a]{display:flex;flex-direction:column;flex:1;overflow:hidden}.activities-section[data-v-77227d7a]{flex:1;min-height:0;padding:20px;overflow-y:auto;background:#ffffff0d;position:relative}.activity-header[data-v-77227d7a]{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center}.activity-header-actions[data-v-77227d7a]{display:flex;gap:8px;align-items:center}.activity-header h3[data-v-77227d7a]{color:#fff;font-size:1.3rem;margin:0;font-weight:600}.activity-header-btn[data-v-77227d7a]{padding:6px 12px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.activity-header-btn.new-game-btn[data-v-77227d7a]{background:#4caf50;border-color:#4caf50}.activity-header-btn.random-songs-btn[data-v-77227d7a]{background:linear-gradient(135deg,#ff6b9d,#c44569);border-color:#ff6b9d80;box-shadow:0 2px 8px #ff6b9d4d}.activity-header-btn.random-songs-btn[data-v-77227d7a]:hover:not(:disabled){background:linear-gradient(135deg,#ff8ab3,#d45a7f);box-shadow:0 4px 12px #ff6b9d66;transform:translateY(-1px)}.activity-header-btn.random-songs-btn[data-v-77227d7a]:disabled{opacity:.6;cursor:not-allowed;transform:none}.activities-placeholder[data-v-77227d7a]{text-align:center;color:#fffc;padding:40px 20px}.activities-placeholder p[data-v-77227d7a]{margin:10px 0;font-size:1.1rem}.activities-placeholder .hint[data-v-77227d7a]{font-size:.9rem;opacity:.7}.participants-view[data-v-77227d7a]{display:flex;flex-direction:column;height:100%}.participants-list[data-v-77227d7a]{flex:1;overflow-y:auto;padding:10px 0}.participant-item[data-v-77227d7a]{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:4px 0;background:#ffffff1a;border-radius:8px;color:#fff;transition:background-color .2s}.participant-icon[data-v-77227d7a]{font-size:1.2rem}.participant-name[data-v-77227d7a]{flex:1;font-size:1rem;font-weight:500}.participant-badge[data-v-77227d7a]{padding:4px 8px;background:#4caf504d;border:1px solid rgba(76,175,80,.5);border-radius:12px;font-size:.75rem;font-weight:600;color:#4caf50;margin-left:8px}.owner-badge[data-v-77227d7a]{background:#ffc1074d;border:1px solid rgba(255,193,7,.5);color:#ffc107}.empty-state[data-v-77227d7a]{text-align:center;color:#fff9;padding:60px 20px;font-size:1.1rem}.participants-count[data-v-77227d7a]{padding:12px 16px;text-align:center;color:#fffc;font-size:.9rem;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.dialog-overlay[data-v-77227d7a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-content[data-v-77227d7a]{background:#fff;border-radius:12px;padding:24px;min-width:300px;max-width:90%;box-shadow:0 8px 32px #0000004d}.dialog-content h3[data-v-77227d7a]{margin:0 0 16px;font-size:1.25rem;color:#333}.dialog-input[data-v-77227d7a]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:16px;outline:none;transition:border-color .3s;box-sizing:border-box}.dialog-input[data-v-77227d7a]:focus{border-color:#667eea}.dialog-actions[data-v-77227d7a]{display:flex;gap:12px;justify-content:flex-end}.btn-dialog[data-v-77227d7a]{padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel[data-v-77227d7a]{background:#f5f5f5;color:#333}.btn-dialog.btn-primary[data-v-77227d7a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-dialog.btn-primary[data-v-77227d7a]:disabled{opacity:.5;cursor:not-allowed}.chat-section[data-v-77227d7a]{flex:1;min-height:0;display:flex;flex-direction:column;background:#ffffff1a;border-top:1px solid rgba(255,255,255,.2)}.chat-section[data-v-77227d7a]:has(.chat-history-hidden){flex:0 0 auto}@media(min-width:768px){.room-content[data-v-77227d7a]{flex-direction:row}.activities-section[data-v-77227d7a]{border-right:1px solid rgba(255,255,255,.2)}.chat-section[data-v-77227d7a]{border-top:none}}@media(max-width:767px){.chat-section[data-v-77227d7a]:has(.chat-history-hidden){max-height:none}}.upload-view[data-v-5ce4181b]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.password-prompt[data-v-5ce4181b]{display:flex;align-items:center;justify-content:center;min-height:100vh}.password-dialog[data-v-5ce4181b]{background:#fff;border-radius:12px;padding:32px;min-width:300px;max-width:400px;box-shadow:0 8px 32px #0000004d}.password-dialog h2[data-v-5ce4181b]{margin:0 0 20px;color:#333;font-size:1.5rem}.password-input[data-v-5ce4181b]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:16px;box-sizing:border-box}.password-input[data-v-5ce4181b]:focus{outline:none;border-color:#667eea}.password-actions[data-v-5ce4181b]{display:flex;gap:12px;justify-content:flex-end}.upload-interface[data-v-5ce4181b]{max-width:1200px;margin:0 auto;background:#fffffff2;border-radius:12px;padding:24px;box-shadow:0 8px 32px #0003}.upload-header[data-v-5ce4181b]{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.upload-header h2[data-v-5ce4181b]{margin:0 0 12px;color:#333;font-size:1.8rem}.btn-back[data-v-5ce4181b]{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;margin-bottom:12px}.btn-back[data-v-5ce4181b]:hover{background:#5568d3;transform:translateY(-1px)}.current-path[data-v-5ce4181b]{display:flex;align-items:center;gap:12px;color:#666;font-size:.95rem}.btn-up[data-v-5ce4181b]{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-up[data-v-5ce4181b]:hover{background:#5568d3}.upload-section[data-v-5ce4181b]{margin-bottom:32px}.upload-buttons[data-v-5ce4181b]{display:flex;gap:12px;margin-bottom:20px}.upload-btn[data-v-5ce4181b]{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.upload-btn[data-v-5ce4181b]:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.upload-btn-directory[data-v-5ce4181b]{background:#2196f3}.upload-btn-directory[data-v-5ce4181b]:hover{background:#1976d2}.upload-progress[data-v-5ce4181b]{margin-top:16px}.progress-bar-container[data-v-5ce4181b]{width:100%;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-bar[data-v-5ce4181b]{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);transition:width .3s;border-radius:12px}.progress-text[data-v-5ce4181b]{margin:0;color:#666;font-size:.9rem}.upload-result[data-v-5ce4181b]{margin-top:16px;padding:12px;border-radius:8px}.success-message[data-v-5ce4181b]{color:#4caf50;font-weight:600;margin-bottom:8px}.error-message[data-v-5ce4181b]{color:#f44336;margin-top:8px}.error-message ul[data-v-5ce4181b]{margin:8px 0 0 20px;padding:0}.file-list-section[data-v-5ce4181b]{margin-top:32px}.file-list-section h3[data-v-5ce4181b]{margin:0 0 16px;color:#333;font-size:1.3rem}.loading[data-v-5ce4181b],.empty-state[data-v-5ce4181b]{text-align:center;padding:40px;color:#999;font-size:1.1rem}.file-list[data-v-5ce4181b]{display:flex;flex-direction:column;gap:8px}.file-item[data-v-5ce4181b]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f5f5;border-radius:8px;transition:all .2s}.file-item[data-v-5ce4181b]:hover{background:#eee}.file-item-dir[data-v-5ce4181b]{background:#e3f2fd}.file-item-dir[data-v-5ce4181b]:hover{background:#bbdefb}.file-icon[data-v-5ce4181b]{font-size:1.2rem}.file-name[data-v-5ce4181b]{flex:1;cursor:pointer;color:#333;font-weight:500}.file-name[data-v-5ce4181b]:hover{color:#667eea;text-decoration:underline}.file-size[data-v-5ce4181b]{color:#666;font-size:.9rem;min-width:80px;text-align:right}.btn-delete[data-v-5ce4181b]{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px 8px;opacity:.6;transition:opacity .2s}.btn-delete[data-v-5ce4181b]:hover{opacity:1}.btn-primary[data-v-5ce4181b]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600}.btn-primary[data-v-5ce4181b]:hover{opacity:.9}@media(max-width:768px){.upload-interface[data-v-5ce4181b]{padding:16px}.upload-buttons[data-v-5ce4181b]{flex-direction:column}.upload-btn[data-v-5ce4181b]{width:100%}}
