.app[data-v-564bc791]{min-height:100vh}.qr-scanner[data-v-d252faec]{display:flex;flex-direction:column;gap:1rem}.camera-container[data-v-d252faec]{position:relative;width:100%;max-width:400px;aspect-ratio:1;background:#000;border-radius:12px;overflow:hidden}.camera-view[data-v-d252faec]{width:100%;height:100%;object-fit:cover}.camera-overlay[data-v-d252faec]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3}.no-camera[data-v-d252faec]{padding:2rem;text-align:center;background:var(--color-surface);border-radius:12px;color:var(--color-text-muted)}.upload-fallback[data-v-d252faec]{text-align:center}.divider[data-v-d252faec]{display:flex;align-items:center;gap:1rem;color:var(--color-text-muted);font-size:.85rem}.divider[data-v-d252faec]:before,.divider[data-v-d252faec]:after{content:"";flex:1;height:1px;background:var(--color-text-muted);opacity:.3}.quick-buttons[data-v-d252faec]{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.btn-quick[data-v-d252faec]{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--color-text-muted);background:transparent;color:var(--color-text);font-size:.9rem;cursor:pointer;transition:all .2s}.btn-quick[data-v-d252faec]:hover{border-color:var(--color-secondary);background:var(--color-secondary);color:#fff}.json-input-container[data-v-d252faec]{display:flex;flex-direction:column;gap:.5rem}.json-input[data-v-d252faec]{width:100%;padding:.75rem;border:2px solid var(--color-text-muted);border-radius:8px;background:var(--color-background);color:var(--color-text);font-family:Consolas,Monaco,monospace;font-size:.9rem;resize:vertical}.json-input[data-v-d252faec]:focus{outline:none;border-color:var(--color-secondary)}.json-input[data-v-d252faec]::placeholder{color:var(--color-text-muted);opacity:.7}.btn-submit[data-v-d252faec]{align-self:flex-end}.json-error[data-v-d252faec]{color:#e74c3c;font-size:.85rem;margin:0}.json-hint[data-v-d252faec]{color:var(--color-text-muted);font-size:.75rem;margin:0;text-align:right}.btn-primary[data-v-d252faec],.btn-secondary[data-v-d252faec]{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary[data-v-d252faec]{background:var(--color-secondary);color:#fff;border:none}.btn-primary[data-v-d252faec]:hover{background:#2980b9}.btn-secondary[data-v-d252faec]{background:transparent;color:var(--color-text);border:2px solid var(--color-text-muted)}.btn-secondary[data-v-d252faec]:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.audio-recorder[data-v-bdc78d29]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.record-button[data-v-bdc78d29]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:50px;border:none;font-size:1.1rem;cursor:pointer;transition:all .3s;background:var(--color-surface);color:var(--color-text);box-shadow:0 2px 8px #0000001a}.record-button[data-v-bdc78d29]:hover{transform:scale(1.05)}.record-button.recording[data-v-bdc78d29]{background:#e74c3c;color:#fff;animation:pulse-bg-bdc78d29 1.5s infinite}@keyframes pulse-bg-bdc78d29{0%,to{box-shadow:0 0 #e74c3c66}50%{box-shadow:0 0 0 15px #e74c3c00}}.icon[data-v-bdc78d29]{font-size:1.5rem}.recording-indicator[data-v-bdc78d29]{display:flex;align-items:center;gap:.5rem;color:#e74c3c;font-size:.9rem}.pulse[data-v-bdc78d29]{width:10px;height:10px;background:#e74c3c;border-radius:50%;animation:pulse-bdc78d29 1s infinite}@keyframes pulse-bdc78d29{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.audio-player[data-v-32b2b71c]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.audio-player.autoplay-blocked[data-v-32b2b71c]{justify-content:center;border-color:var(--color-accent);animation:pulse-border-32b2b71c 1.5s infinite}@keyframes pulse-border-32b2b71c{0%,to{border-color:var(--color-accent)}50%{border-color:#f39c124d}}.big-play-button[data-v-32b2b71c]{padding:.75rem 2rem;background:var(--color-accent);color:#000;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.big-play-button[data-v-32b2b71c]:hover{transform:scale(1.05);background:#f1c40f}.play-button[data-v-32b2b71c]{width:44px;height:44px;border-radius:50%;border:none;background:var(--color-secondary);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.play-button[data-v-32b2b71c]:hover{transform:scale(1.1);background:#2980b9}.progress-container[data-v-32b2b71c]{flex:1;display:flex;flex-direction:column;gap:.25rem}.progress-bar[data-v-32b2b71c]{height:6px;background:#fff3;border-radius:3px;overflow:hidden}.progress-fill[data-v-32b2b71c]{height:100%;background:var(--color-secondary);border-radius:3px;transition:width .1s linear}.time[data-v-32b2b71c]{font-size:.75rem;color:#fff9}.speaker-icon[data-v-32b2b71c]{font-size:1.5rem;opacity:.6;transition:opacity .2s}.speaker-icon.playing[data-v-32b2b71c]{opacity:1;animation:pulse-speaker-32b2b71c 1s infinite}@keyframes pulse-speaker-32b2b71c{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chat-history[data-v-2eb108dc]{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:1rem;background:var(--color-surface);border-radius:12px;scroll-behavior:smooth}.empty-state[data-v-2eb108dc]{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.message[data-v-2eb108dc]{padding:1rem;border-radius:12px;animation:slideIn-2eb108dc .3s ease-out}@keyframes slideIn-2eb108dc{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.assistant[data-v-2eb108dc]{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;margin-right:2rem}.message.user[data-v-2eb108dc]{background:var(--color-background);margin-left:2rem}.message-header[data-v-2eb108dc]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.role-icon[data-v-2eb108dc]{font-size:1.2rem}.role-name[data-v-2eb108dc]{font-weight:600}.timestamp[data-v-2eb108dc]{margin-left:auto;opacity:.6;font-size:.75rem}.message-content[data-v-2eb108dc]{line-height:1.6;white-space:pre-wrap}.chat-history[data-v-2eb108dc]::-webkit-scrollbar{width:6px}.chat-history[data-v-2eb108dc]::-webkit-scrollbar-track{background:transparent}.chat-history[data-v-2eb108dc]::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px}.game-view[data-v-0b87c142]{min-height:100vh;padding:1rem}.scenario-select[data-v-0b87c142]{max-width:800px;margin:0 auto;text-align:center;padding:2rem 0}.scenario-select h1[data-v-0b87c142]{font-size:3rem;color:var(--color-primary);margin-bottom:.5rem;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle[data-v-0b87c142]{color:var(--color-text-muted);font-size:1.25rem;margin-bottom:2rem}.scenario-list[data-v-0b87c142]{display:grid;gap:1.5rem}.scenario-card[data-v-0b87c142]{background:var(--color-surface);border-radius:16px;padding:2rem;text-align:left;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative;overflow:hidden}.scenario-card[data-v-0b87c142]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3498db,#9b59b6);transform:scaleX(0);transition:transform .3s}.scenario-card[data-v-0b87c142]:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000026;border-color:var(--color-secondary)}.scenario-card[data-v-0b87c142]:hover:before{transform:scaleX(1)}.scenario-card h2[data-v-0b87c142]{color:var(--color-primary);margin-bottom:.5rem}.scenario-card p[data-v-0b87c142]{color:var(--color-text-muted);line-height:1.5}.play-hint[data-v-0b87c142]{display:inline-block;margin-top:1rem;color:var(--color-secondary);font-weight:600}.game-active[data-v-0b87c142]{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.game-header[data-v-0b87c142]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.scenario-badge[data-v-0b87c142]{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600}.btn-exit[data-v-0b87c142]{background:transparent;border:1px solid var(--color-text-muted);color:var(--color-text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s}.btn-exit[data-v-0b87c142]:hover{border-color:#e74c3c;color:#e74c3c}.audio-section[data-v-0b87c142]{min-height:60px}.no-audio-hint[data-v-0b87c142]{display:flex;align-items:center;justify-content:center;padding:1rem;background:#3498db1a;border-radius:12px;color:var(--color-text-muted);font-size:.9rem}.loading-indicator[data-v-0b87c142]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;color:var(--color-text-muted)}.spinner[data-v-0b87c142]{width:20px;height:20px;border:2px solid var(--color-text-muted);border-top-color:var(--color-secondary);border-radius:50%;animation:spin-0b87c142 1s linear infinite}@keyframes spin-0b87c142{to{transform:rotate(360deg)}}.error-message[data-v-0b87c142]{background:#fee;border:1px solid #e74c3c;color:#c0392b;padding:1rem;border-radius:8px;text-align:center}.input-section[data-v-0b87c142]{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-surface);border-radius:16px;position:sticky;bottom:1rem}.text-input-container[data-v-0b87c142]{display:flex;gap:.5rem}.text-input-container input[data-v-0b87c142]{flex:1;padding:1rem;border:2px solid var(--color-background);border-radius:12px;font-size:1rem;transition:border-color .2s}.text-input-container input[data-v-0b87c142]:focus{outline:none;border-color:var(--color-secondary)}.btn-send[data-v-0b87c142]{width:50px;height:50px;border-radius:12px;border:none;background:var(--color-secondary);color:#fff;font-size:1.25rem;cursor:pointer;transition:all .2s}.btn-send[data-v-0b87c142]:hover:not(:disabled){background:#2980b9}.btn-send[data-v-0b87c142]:disabled{opacity:.5;cursor:not-allowed}.action-buttons[data-v-0b87c142]{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-scan[data-v-0b87c142]{padding:1rem 2rem;border-radius:50px;border:2px solid var(--color-text-muted);background:transparent;color:var(--color-text);font-size:1rem;cursor:pointer;transition:all .2s}.btn-scan[data-v-0b87c142]:hover,.btn-scan.active[data-v-0b87c142]{border-color:var(--color-secondary);color:var(--color-secondary)}.scanner-container[data-v-0b87c142]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-background);border-radius:12px}.scanner-error[data-v-0b87c142]{color:#e74c3c;font-size:.9rem}.ending-overlay[data-v-0b87c142]{background:linear-gradient(135deg,#2c3e50f2,#34495ef2);border-radius:16px;padding:2.5rem;text-align:center;border:2px solid rgba(52,152,219,.3);animation:fadeInUp-0b87c142 .6s ease-out}@keyframes fadeInUp-0b87c142{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ending-content[data-v-0b87c142]{display:flex;flex-direction:column;align-items:center;gap:1rem}.ending-icon[data-v-0b87c142]{font-size:3rem;animation:pulse-0b87c142 2s ease-in-out infinite}@keyframes pulse-0b87c142{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ending-title[data-v-0b87c142]{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:.05em}.btn-new-game[data-v-0b87c142]{margin-top:1rem;padding:1rem 2.5rem;border-radius:50px;border:none;background:linear-gradient(135deg,#3498db,#9b59b6);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;letter-spacing:.02em}.btn-new-game[data-v-0b87c142]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3498db66}.loading[data-v-0b87c142]{padding:2rem;color:var(--color-text-muted)}:root{--color-primary: #2c3e50;--color-secondary: #3498db;--color-accent: #9b59b6;--color-background: #0f0f1a;--color-surface: #1a1a2e;--color-text: #ecf0f1;--color-text-muted: #95a5a6;--font-family: "Segoe UI", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-family);background:var(--color-background);background-image:radial-gradient(ellipse at top,rgba(52,152,219,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(155,89,182,.1) 0%,transparent 50%);color:var(--color-text);line-height:1.6;min-height:100vh}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}::selection{background:var(--color-secondary);color:#fff}
