.loading-screen[data-v-17b63c97]{position:fixed;top:0;left:0;width:100%;height:100%;background:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:9999;font-family:Microsoft YaHei,sans-serif}.loading-content[data-v-17b63c97]{text-align:center;color:#e0e0e0;max-width:400px;padding:40px}.loading-icon[data-v-17b63c97]{margin-bottom:30px}.spinner[data-v-17b63c97]{width:40px;height:40px;border:3px solid #333;border-top:3px solid #888;border-radius:50%;animation:spin-17b63c97 1s linear infinite;margin:0 auto}@keyframes spin-17b63c97{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-title[data-v-17b63c97]{font-size:18px;font-weight:400;margin:0 0 20px;color:#e0e0e0}.progress-container[data-v-17b63c97]{margin-bottom:20px}.progress-bar[data-v-17b63c97]{width:100%;height:4px;background:#333;border-radius:2px;overflow:hidden;margin-bottom:10px}.progress-fill[data-v-17b63c97]{height:100%;background:#888;transition:width .3s ease;border-radius:2px}.progress-text[data-v-17b63c97]{font-size:12px;color:#aaa;margin:0}.failed-text[data-v-17b63c97]{font-size:11px;color:#777;margin:5px 0 0}.error-message[data-v-17b63c97]{background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:15px;margin-top:20px}.error-message p[data-v-17b63c97]{color:#aaa;margin:0 0 10px;font-size:12px}.retry-button[data-v-17b63c97]{background:#555;color:#e0e0e0;border:none;padding:6px 12px;border-radius:3px;cursor:pointer;font-size:12px;transition:background .3s ease}.retry-button[data-v-17b63c97]:hover{background:#666}@media (max-width: 768px){.loading-content[data-v-17b63c97]{padding:20px;max-width:300px}.loading-title[data-v-17b63c97]{font-size:16px}.spinner[data-v-17b63c97]{width:32px;height:32px}}.settings-modal-overlay[data-v-5d13e337]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto}.settings-modal-content[data-v-5d13e337]{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 4px 20px var(--shadow-normal);overflow:hidden}.settings-header[data-v-5d13e337]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-primary)}.settings-title[data-v-5d13e337]{color:var(--text-accent);margin:0;font-size:16px;font-weight:400}.settings-close-btn[data-v-5d13e337]{background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;transition:background .2s ease}.settings-close-btn[data-v-5d13e337]:hover{background:var(--interactive-hover)}.settings-close-btn svg[data-v-5d13e337]{width:20px;height:20px}.settings-tabs[data-v-5d13e337]{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.settings-tab[data-v-5d13e337]{flex:1;padding:12px 16px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .2s ease;border-bottom:2px solid transparent}.settings-tab[data-v-5d13e337]:hover{color:var(--text-primary);background:var(--interactive-normal)}.settings-tab.active[data-v-5d13e337]{color:var(--text-accent);border-bottom-color:var(--text-accent);background:var(--bg-secondary)}.settings-content[data-v-5d13e337]{flex:1;overflow-y:auto;padding:16px}.settings-tab-panel[data-v-5d13e337]{animation:fadeIn-5d13e337 .2s ease}@keyframes fadeIn-5d13e337{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-section[data-v-5d13e337]{width:100%}.section-title[data-v-5d13e337]{color:var(--text-primary);font-size:14px;margin:0 0 12px;font-weight:400;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}.audio-control-group[data-v-5d13e337]{margin-bottom:14px}.audio-control-label[data-v-5d13e337]{display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);font-size:13px;margin-bottom:6px}.audio-value[data-v-5d13e337]{color:var(--text-accent);font-size:13px}.audio-slider[data-v-5d13e337]{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.audio-slider[data-v-5d13e337]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--text-accent);border-radius:50%;cursor:pointer}.audio-slider[data-v-5d13e337]::-moz-range-thumb{width:18px;height:18px;background:var(--text-accent);border-radius:50%;cursor:pointer;border:none}.audio-checkbox-group[data-v-5d13e337]{display:flex;flex-direction:column;gap:10px;margin-top:16px}.audio-checkbox-label[data-v-5d13e337]{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:14px;cursor:pointer}.audio-checkbox[data-v-5d13e337]{width:18px;height:18px;cursor:pointer;accent-color:var(--text-accent)}.language-control-group[data-v-5d13e337]{margin-bottom:14px}.language-control-label[data-v-5d13e337]{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text-primary);font-size:13px;margin-bottom:0}.language-select[data-v-5d13e337]{flex:0 0 auto;min-width:120px;padding:6px 28px 6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;outline:none;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d4c4b0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.language-select[data-v-5d13e337]:hover{border-color:var(--border-secondary);background-color:var(--interactive-normal)}.language-select[data-v-5d13e337]:focus{border-color:var(--text-accent);background-color:var(--interactive-hover)}.log-container[data-v-5d13e337]{display:flex;flex-direction:column;height:400px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.log-header[data-v-5d13e337]{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.log-btn[data-v-5d13e337]{padding:6px 12px;background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s ease}.log-btn[data-v-5d13e337]:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.log-content[data-v-5d13e337]{flex:1;overflow-y:auto;padding:12px;font-family:Courier New,monospace;font-size:12px}.log-item[data-v-5d13e337]{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--border-primary)}.log-item[data-v-5d13e337]:last-child{border-bottom:none}.log-time[data-v-5d13e337]{color:var(--text-muted);min-width:80px}.log-message[data-v-5d13e337]{color:var(--text-primary);flex:1}.log-item.info .log-message[data-v-5d13e337]{color:var(--text-primary)}.log-item.action .log-message[data-v-5d13e337]{color:var(--text-accent)}.log-empty[data-v-5d13e337]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.settings-footer[data-v-5d13e337]{padding:16px;border-top:1px solid var(--border-primary);display:flex;justify-content:center;gap:12px}.settings-footer-btn[data-v-5d13e337]{padding:10px 24px;background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.settings-footer-btn[data-v-5d13e337]:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.settings-footer-btn[data-v-5d13e337]:active{background:var(--interactive-active)}.back-to-title-btn[data-v-5d13e337]{background:var(--text-accent);color:var(--bg-primary);border-color:var(--text-accent)}.back-to-title-btn[data-v-5d13e337]:hover{background:var(--text-accent);opacity:.9;border-color:var(--text-accent)}.exit-btn[data-v-5d13e337]{background:var(--interactive-normal);color:var(--text-primary);border-color:var(--border-primary)}.exit-btn[data-v-5d13e337]:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}@media (max-width: 480px){.save-slots-grid[data-v-5d13e337]{grid-template-columns:1fr}.settings-modal-content[data-v-5d13e337]{width:95%;max-height:90vh}}.progress-modal-overlay[data-v-67fca0ff]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-modal-content[data-v-67fca0ff]{background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-primary, #333);border-radius:8px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.progress-header[data-v-67fca0ff]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-primary, #333)}.progress-title[data-v-67fca0ff]{font-size:20px;font-weight:500;color:var(--text-primary, #fff);margin:0}.progress-close-btn[data-v-67fca0ff]{background:transparent;border:none;color:var(--text-secondary, #999);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s;width:32px;height:32px}.progress-close-btn[data-v-67fca0ff]:hover{color:var(--text-primary, #fff)}.progress-close-btn svg[data-v-67fca0ff]{width:20px;height:20px}.progress-content[data-v-67fca0ff]{padding:24px;overflow-y:auto;flex:1}.progress-empty[data-v-67fca0ff]{text-align:center;padding:60px 20px;color:var(--text-secondary, #999)}.progress-list[data-v-67fca0ff]{display:flex;flex-direction:column;gap:12px}.progress-item[data-v-67fca0ff]{background:var(--bg-secondary, #252525);border:1px solid var(--border-primary, #333);border-radius:6px;padding:16px;transition:all .2s}.progress-item[data-v-67fca0ff]:hover{border-color:var(--border-secondary, #555);background:var(--bg-tertiary, #2a2a2a)}.progress-item-header[data-v-67fca0ff]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-chapter-name[data-v-67fca0ff]{font-size:16px;font-weight:500;color:var(--text-primary, #fff)}.progress-time[data-v-67fca0ff]{font-size:14px;color:var(--text-secondary, #999)}.progress-item-actions[data-v-67fca0ff]{display:flex;gap:8px}.progress-btn[data-v-67fca0ff]{padding:8px 16px;border:1px solid var(--border-primary, #333);background:transparent;color:var(--text-primary, #fff);cursor:pointer;border-radius:4px;font-size:14px;transition:all .2s}.progress-btn.continue[data-v-67fca0ff]{flex:1}.progress-btn.continue[data-v-67fca0ff]:hover{background:var(--interactive-hover, #3a3a3a);border-color:var(--border-secondary, #555)}.hint-modal-overlay[data-v-6b19e1ba]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn-6b19e1ba .2s ease}@keyframes fadeIn-6b19e1ba{0%{opacity:0}to{opacity:1}}.hint-modal-content[data-v-6b19e1ba]{width:90%;max-width:500px;max-height:80vh;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 20px var(--shadow-normal);animation:slideUp-6b19e1ba .3s ease}@keyframes slideUp-6b19e1ba{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hint-modal-header[data-v-6b19e1ba]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary)}.hint-modal-title[data-v-6b19e1ba]{color:var(--text-accent);font-size:18px;margin:0;font-weight:400}.hint-modal-close-btn[data-v-6b19e1ba]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:24px;height:24px}.hint-modal-close-btn[data-v-6b19e1ba]:hover{color:var(--text-primary);background:var(--interactive-normal);border-radius:4px}.hint-modal-close-btn svg[data-v-6b19e1ba]{width:18px;height:18px}.hint-modal-content-body[data-v-6b19e1ba]{flex:1;overflow-y:auto;padding:24px}.hint-placeholder[data-v-6b19e1ba]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.placeholder-text[data-v-6b19e1ba]{color:var(--text-primary);font-size:16px;margin:0 0 12px}.placeholder-desc[data-v-6b19e1ba]{color:var(--text-muted);font-size:14px;margin:0;line-height:1.6}.record-modal-overlay[data-v-fd7e4c6f]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn-fd7e4c6f .2s ease}@keyframes fadeIn-fd7e4c6f{0%{opacity:0}to{opacity:1}}.record-modal-content[data-v-fd7e4c6f]{width:90%;max-width:500px;max-height:80vh;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 20px var(--shadow-normal);animation:slideUp-fd7e4c6f .3s ease}@keyframes slideUp-fd7e4c6f{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.record-modal-header[data-v-fd7e4c6f]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary)}.record-modal-title[data-v-fd7e4c6f]{color:var(--text-accent);font-size:18px;margin:0;font-weight:400}.record-modal-close-btn[data-v-fd7e4c6f]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:24px;height:24px}.record-modal-close-btn[data-v-fd7e4c6f]:hover{color:var(--text-primary);background:var(--interactive-normal);border-radius:4px}.record-modal-close-btn svg[data-v-fd7e4c6f]{width:18px;height:18px}.record-modal-content-body[data-v-fd7e4c6f]{flex:1;overflow-y:auto;padding:24px}.record-placeholder[data-v-fd7e4c6f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.placeholder-text[data-v-fd7e4c6f]{color:var(--text-primary);font-size:16px;margin:0 0 12px}.placeholder-desc[data-v-fd7e4c6f]{color:var(--text-muted);font-size:14px;margin:0;line-height:1.6}.dialogue-list[data-v-fd7e4c6f]{display:flex;flex-direction:column;gap:16px}.dialogue-item[data-v-fd7e4c6f]{padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;transition:all .2s ease}.dialogue-item[data-v-fd7e4c6f]:hover{background:var(--interactive-normal);border-color:var(--border-secondary)}.dialogue-speaker[data-v-fd7e4c6f]{color:var(--text-accent);font-size:14px;font-weight:500;margin-bottom:8px}.dialogue-text[data-v-fd7e4c6f]{color:var(--text-primary);font-size:15px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}:root{--bg-primary: #171616;--bg-secondary: #352f2a;--bg-tertiary: #403a34;--text-primary: #e8e2db;--text-secondary: #c4b8a9;--text-muted: #9a8f84;--text-accent: #d4c4b0;--border-primary: #4a453f;--border-secondary: #5a544d;--border-light: #6a635b;--interactive-normal: #3a342e;--interactive-hover: #4a453f;--interactive-active: #5a544d;--overlay-bg: rgba(42, 38, 34, .9);--overlay-light: rgba(53, 47, 42, .3);--shadow-subtle: rgba(0, 0, 0, .15);--shadow-normal: rgba(0, 0, 0, .25);--paper-texture: radial-gradient(circle at 20% 80%, rgba(120, 100, 80, .05) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(120, 100, 80, .03) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(120, 100, 80, .02) 0%, transparent 50%), repeating-linear-gradient( 45deg, transparent, transparent 100px, rgba(120, 100, 80, .005) 100px, rgba(120, 100, 80, .005) 101px )}html,body{margin:0;padding:0;background:var(--bg-primary)!important;background-image:var(--paper-texture)!important;color:var(--text-primary)!important;touch-action:manipulation;-ms-touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#app{background:var(--bg-primary)!important;background-image:var(--paper-texture)!important;min-height:100vh}*,*:before,*:after{box-sizing:border-box}.game-container{width:100%;height:100vh;position:relative;background:var(--bg-primary);background-image:var(--paper-texture);color:var(--text-primary);font-family:微软雅黑,Segoe UI,Arial,sans-serif;overflow:hidden}.theater-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;background:var(--bg-primary)}.theater-layer.blackout{background:#000;transition:background .5s ease-in-out}.scene-display{position:absolute;top:env(safe-area-inset-top,20px);left:0;width:100%;height:calc(100% - env(safe-area-inset-top,20px));display:flex;flex-direction:column;align-items:stretch}.scene-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.scene-overlay-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.scene-info-overlay{position:absolute;top:0;left:0;width:100%;padding:16px;display:flex;flex-direction:column;justify-content:flex-start;pointer-events:none}.location-title{color:var(--text-accent);font-size:18px;margin-bottom:8px;font-weight:400;text-align:center}.scene-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:16px;text-align:center}.scene-elements{width:90%;padding:8px 12px;margin:8px auto;pointer-events:auto;box-sizing:border-box}.elements-title{color:var(--text-primary);font-size:14px;margin-bottom:8px;font-weight:400}.elements-list{list-style:none;padding:0;margin:0}.area-element,.character-element,.scene-element{color:var(--text-secondary);font-size:14px;padding:8px;line-height:1.4;display:flex;justify-content:space-between;align-items:center}.area-element:last-child,.character-element:last-child,.scene-element:last-child{border-bottom:none}.element-name{flex:1;margin-right:8px}.character-actions{display:flex;gap:6px}.element-action-btn{padding:4px 8px;background:var(--interactive-normal);border:1px solid var(--border-primary);color:var(--text-primary);font-size:11px;border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative}.element-action-btn:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.element-action-btn:active{background:var(--interactive-active)}.element-action-btn.has-notification{position:relative}.element-action-btn .red-dot{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:#f44;border-radius:50%;border:2px solid var(--bg-primary);animation:pulse-red 2s ease-in-out infinite}@keyframes pulse-red{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.area-element.investigated{opacity:.7}.area-element.investigated .element-name{color:var(--text-muted)}.element-action-btn.investigated{background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border-primary);cursor:pointer}.element-action-btn.investigated:hover{background:var(--accent-color);color:var(--text-primary);border-color:var(--accent-color)}.element-action-btn:disabled{cursor:not-allowed;opacity:.6}.empty-hint{color:var(--text-muted);font-size:12px;padding:8px 12px;text-align:center;font-style:italic}.sprite-canvas{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dialogue-overlay{position:absolute;bottom:5%;left:0;width:100%;height:40%;z-index:2;background:transparent;opacity:0;pointer-events:none;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:opacity,transform;transition:opacity .3s ease-out,transform .3s ease-out}.dialogue-overlay.show{opacity:1;visibility:visible;pointer-events:auto;animation:dialogueSlideIn .3s ease-out}@keyframes dialogueSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialogue-canvas{width:100%;height:100%;display:block;pointer-events:auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.bottom-interaction-button{display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:opacity .3s ease}.bottom-interaction-button:active{opacity:.7}.triangle-icon{display:flex;align-items:center;justify-content:center;transition:all .3s ease}.triangle-icon svg{width:100%;height:100%;fill:#ffffff26;transition:transform .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.triangle-icon.inactive svg{opacity:0;pointer-events:none}.triangle-icon.skip svg{fill:#d4c4b040;animation:blink 1.5s ease-in-out infinite}.triangle-icon.continue svg{fill:#9a8f8440;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.dialogue-box-container{position:absolute;bottom:16px;left:16px;right:16px;pointer-events:auto}.dialogue-box{background:var(--bg-secondary);border:2px solid var(--border-secondary);border-radius:16px;padding:16px 20px;box-shadow:0 4px 20px var(--shadow-normal);position:relative;min-height:80px}.dialogue-text{color:var(--text-primary);font-size:18px;line-height:1.6;margin-bottom:12px;min-height:24px}.dialogue-continue{position:absolute;bottom:8px;right:12px;color:var(--text-muted);font-size:11px;animation:pulse 1.5s infinite;cursor:pointer}.dialogue-typing{position:absolute;bottom:8px;right:12px;color:var(--text-accent);font-size:11px;animation:typing-blink 1s infinite;cursor:pointer}@keyframes typing-blink{0%,50%{opacity:1}51%,to{opacity:.5}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.ui-panel{position:fixed;bottom:0;left:0;width:100%;height:45%;z-index:101;background:#171616cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px var(--shadow-normal);transition:transform .4s cubic-bezier(.4,0,.2,1);overflow-y:auto}.ui-panel.ui-visible{transform:translateY(0)}.ui-panel.ui-hidden{transform:translateY(100%)}.ui-overlay-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;z-index:100;pointer-events:auto;transition:background .3s ease}.ui-toggle-btn{position:absolute;left:50%;top:-40px;transform:translate(-50%);width:80px;height:40px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-bottom:none;border-radius:20px 20px 0 0;color:var(--text-primary);font-size:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;z-index:102}.ui-toggle-btn:hover{background:var(--interactive-hover);height:45px;top:-45px}.ui-toggle-btn.in-theater{background:var(--bg-tertiary)}.ui-content{width:100%;height:100%;padding:16px;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.action-buttons{position:sticky;bottom:0;left:0;width:100%;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;pointer-events:auto;background:#171616e6;border-top:1px solid var(--border-primary);margin-top:auto}.action-btn{padding:12px 16px;background:var(--interactive-normal);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:16px;text-align:center;white-space:nowrap;border-radius:6px}.action-btn:hover,.action-btn:active{background:var(--interactive-hover);border-color:var(--border-secondary)}.system-menu{position:absolute;top:16px;right:16px;display:flex;gap:8px;pointer-events:auto}.settings-btn,.clues-btn{padding:8px 12px;background:var(--interactive-normal);border:none;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-size:12px;border-radius:6px}.settings-btn:hover,.clues-btn:hover{background:var(--interactive-hover);color:var(--text-primary);outline:none;border:none;box-shadow:none}.settings-btn-container{position:absolute;z-index:250;pointer-events:auto}.settings-btn{padding:8px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 1px 2px rgba(0,0,0,.3))}.settings-btn:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4));outline:none;border:none;box-shadow:none}.settings-btn:active,.settings-btn:focus{outline:none;border:none;box-shadow:none}.settings-btn-container.system-button{position:fixed}.settings-btn.system-button{padding:8px;background:transparent;border:none;color:#ffffffe6;opacity:.8;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.settings-btn.system-button:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}.settings-btn.system-button:active{transform:scale(.95);opacity:.9}.settings-icon{flex-shrink:0;stroke-width:2}.items-menu-btn-container{position:absolute;z-index:250;pointer-events:auto}.items-menu-btn{padding:8px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 1px 2px rgba(0,0,0,.3))}.items-menu-btn:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.items-icon{flex-shrink:0;stroke-width:2}@media (orientation: portrait){.items-menu-btn,.hint-btn,.record-btn{border:2px solid var(--border-primary)!important;border-radius:8px;background:#3a342e1a!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.items-menu-btn:hover,.hint-btn:hover,.record-btn:hover{border-color:var(--border-light)!important;background:#4a453f33!important}}.hint-btn-container{position:absolute;z-index:250;pointer-events:auto}.hint-btn{padding:8px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 1px 2px rgba(0,0,0,.3))}.hint-btn:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.hint-icon{flex-shrink:0;stroke-width:2}.record-btn-container{position:absolute;z-index:250;pointer-events:auto}.record-btn{padding:8px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 1px 2px rgba(0,0,0,.3))}.record-btn:hover{opacity:1;transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.record-icon{flex-shrink:0;stroke-width:2}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto}.modal-overlay.global-modal{z-index:1000;position:fixed}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;padding:20px;width:90%;max-width:600px;max-height:75%;overflow-y:auto;box-shadow:0 4px 20px var(--shadow-normal)}.modal-content h3{color:var(--text-accent);margin-bottom:16px;text-align:center;font-weight:400;font-size:16px}.character-selector-list,.dialogue-options-list,.topic-selector-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.character-selector-item,.dialogue-option-item,.topic-selector-item{padding:16px 20px;background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .3s ease}.character-selector-item:hover,.dialogue-option-item:hover,.topic-selector-item:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.character-name,.dialogue-option-title,.topic-name{color:var(--text-primary);font-size:14px}.choice-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.choice-item{padding:20px 24px;min-height:56px;background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center}.choice-item:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.choice-text{color:var(--text-primary);font-size:15px;line-height:1.5}.topic-selector-item.topic-read{opacity:.6}.topic-selector-item.topic-read .topic-name{color:var(--text-muted)}.topic-read-badge{margin-left:8px;padding:2px 6px;background:var(--border-secondary);color:var(--text-muted);font-size:11px;border-radius:3px}.item-details-section{margin-top:8px}.expand-btn{padding:4px 8px;background:var(--interactive-normal);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .3s ease;border-radius:3px;margin-bottom:8px}.expand-btn:hover{background:var(--interactive-hover);border-color:var(--border-secondary);color:var(--text-primary)}.expand-btn.expanded{background:var(--border-secondary);color:var(--text-primary)}.item-details-text{padding:8px 12px;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:4px;font-size:12px;line-height:1.5;color:var(--text-secondary);margin-top:4px}.dialogue-option-evidence{color:var(--text-muted);font-size:11px;margin-top:4px}.character-description{color:var(--text-muted);font-size:12px;margin-left:8px}.close-btn{width:100%;padding:12px;background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-size:14px}.close-btn:hover{background:var(--interactive-hover);border-color:var(--border-secondary);color:var(--text-primary)}.stage-layer.blackout .scene-display{background:#000}.stage-layer.blackout .scene-info-overlay{display:none}.loading-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content h2{font-size:18px;color:var(--text-primary);text-align:center;font-weight:400}.start-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;z-index:1000}.start-content{text-align:center;padding:24px}.start-content h1{font-size:28px;color:var(--text-accent);margin-bottom:24px;font-weight:400}.start-btn{display:block;width:200px;padding:12px 24px;margin:12px auto;background:transparent;border:1px solid var(--border-secondary);color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:14px}.start-btn:hover{background:var(--interactive-hover);border-color:var(--border-light)}.start-btn.secondary{border-color:var(--border-primary);color:var(--text-secondary)}.start-btn.secondary:hover{background:var(--interactive-normal);border-color:var(--border-secondary)}.start-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.start-btn.exit-btn{border:none;background:transparent;color:var(--text-muted, var(--text-secondary));opacity:.6;font-size:12px;padding:8px 16px;margin-top:16px;width:auto;min-width:auto}.start-btn.exit-btn:hover{background:transparent;opacity:.8;color:var(--text-secondary);text-decoration:underline}.toast-container{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:8px 12px;color:var(--text-primary);font-size:12px;animation:slideIn .3s ease;min-width:120px;border:1px solid var(--border-primary);background:var(--bg-tertiary);pointer-events:auto}.toast-info{background:var(--bg-tertiary)}.toast-success{border-color:var(--border-secondary)}.toast-warning{border-color:var(--border-light)}.toast-error{border-color:var(--text-muted)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.action-buttons{padding:12px 8px;gap:6px}.action-btn{padding:10px 12px;font-size:14px}.element-action-btn{padding:6px 10px;font-size:12px}.character-actions{gap:4px}.dialogue-box{padding:12px 16px}.modal-content{padding:16px;max-width:none;width:90%}}@media (min-width: 768px){.location-title{font-size:20px}.scene-description{font-size:16px}.dialogue-text{font-size:20px}.action-buttons{padding:20px;gap:12px}.action-btn{padding:16px 24px;font-size:18px}.element-action-btn{padding:6px 12px;font-size:13px}.modal-content{max-width:500px;padding:24px}}@media (min-width: 1024px){.action-buttons{padding:24px;gap:16px}.modal-content{max-width:650px;padding:30px}.start-content h1{font-size:48px;margin-bottom:40px}.start-btn{font-size:16px;padding:15px 30px}}.clues-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:300;display:flex;align-items:center;justify-content:center;pointer-events:auto}.clues-menu-overlay.global-modal{z-index:1000;position:fixed}.clues-menu-content{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;width:90%;max-width:650px;max-height:80%;overflow:hidden;padding:24px;box-shadow:0 4px 20px var(--shadow-normal);display:flex;flex-direction:column}.clues-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.clues-category{background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease}.clues-category:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.category-icon{font-size:32px;margin-bottom:8px}.category-name{font-size:16px;color:var(--text-primary);margin-bottom:4px}.category-count{font-size:12px;color:var(--text-muted)}.clues-tabs{display:flex;border-bottom:1px solid var(--border-primary);margin-bottom:16px;flex-shrink:0}.clues-tabs button{flex:1;padding:12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .3s ease;position:relative}.clues-tabs button.active{color:var(--text-primary);border-bottom-color:var(--text-accent)}.clues-tabs button:hover{color:var(--text-primary)}.clues-tabs button.has-notification .red-dot{position:absolute;top:6px;right:10px;width:8px;height:8px;background:#f44;border-radius:50%;border:2px solid var(--bg-secondary);animation:pulse-red 2s ease-in-out infinite}.clues-list{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;min-height:0}.clue-item{background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;padding:16px}.clue-name{color:var(--text-primary);font-size:14px;margin-bottom:4px;font-weight:500}.clue-description{color:var(--text-secondary);font-size:13px;line-height:1.5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:var(--bg-tertiary);border:1px dashed var(--border-secondary);border-radius:12px;margin:20px 0;min-height:200px}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.6;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-text{color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 8px}.empty-state-hint{color:var(--text-muted);font-size:13px;line-height:1.6;margin:0;max-width:280px}.movement-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:300;display:flex;align-items:center;justify-content:center;pointer-events:auto}.movement-menu-content{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;width:90%;max-width:400px;max-height:70%;overflow-y:auto;padding:20px;box-shadow:0 4px 20px var(--shadow-normal)}.movement-menu-content h3{color:var(--text-accent);font-size:16px;border-bottom:1px solid var(--border-primary);padding-bottom:12px;margin-bottom:16px;text-align:center}.movement-scenes-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.movement-scene-item{background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;padding:12px;cursor:pointer;transition:all .3s ease}.movement-scene-item:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.movement-scene-item .scene-name{color:var(--text-primary);font-size:14px;margin-bottom:4px;font-weight:500}.movement-scene-item .scene-description{color:var(--text-secondary);font-size:12px;line-height:1.4}.theater-layer{opacity:1;transition:opacity .3s ease}.theater-mode-indicator{position:fixed;top:10px;right:10px;background:#000000b3;color:var(--text-muted);padding:4px 8px;border-radius:4px;font-size:12px;z-index:999;opacity:.7}.weather-effect{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;pointer-events:none;overflow:hidden}.weather-particle{position:absolute;pointer-events:none}.rain-particle{width:2px;height:10px;background:linear-gradient(to bottom,#aec2e099,#aec2e0cc);border-radius:1px;animation:rain-fall linear infinite}@keyframes rain-fall{0%{transform:translateY(-10px) rotate(10deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) rotate(10deg);opacity:0}}.snow-particle{width:4px;height:4px;background:#fffc;border-radius:50%;animation:snow-fall ease-in-out infinite}@keyframes snow-fall{0%{transform:translateY(-10px) translate(0) rotate(0);opacity:0}10%{opacity:1}50%{transform:translateY(50vh) translate(20px) rotate(180deg);opacity:1}90%{opacity:1}to{transform:translateY(100vh) translate(-10px) rotate(360deg);opacity:0}}.snow-particle:nth-child(3n){width:3px;height:3px;animation-duration:4s}.snow-particle:nth-child(5n){width:5px;height:5px;animation-duration:2.5s}.weather-rain{background:#64788c1a}.weather-snow{background:#c8dcf00d}.evidence-selection-modal{max-width:600px;max-height:80vh;overflow-y:auto}.target-info{color:#666;margin-bottom:20px;font-size:14px}.evidence-section{margin-bottom:25px}.evidence-section h4{color:#333;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #e0e0e0;font-size:16px}.evidence-list{display:flex;flex-direction:column;gap:12px}.evidence-item{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s ease}.evidence-item:hover{background:#f0f1f2;border-color:#d0d1d2}.evidence-info{flex:1;margin-right:15px}.evidence-name{font-weight:600;color:#333;margin-bottom:5px;font-size:15px}.evidence-description{color:#666;font-size:13px;line-height:1.4}.use-evidence-btn{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:5px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;min-width:60px}.use-evidence-btn:hover{background:#0056b3}.use-evidence-btn:active{background:#004085;transform:translateY(1px)}.empty-evidence{text-align:center;color:#666;font-style:italic;padding:30px;background:#f8f9fa;border-radius:8px;margin:20px 0}.empty-evidence p{margin:0;font-size:15px}.evidence-mode-header{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:8px;padding:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.evidence-mode-header h4{margin:0;color:var(--text-accent);font-size:14px;font-weight:500}.cancel-evidence-btn{background:var(--interactive-normal);color:var(--text-secondary);border:1px solid var(--border-primary);padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease}.cancel-evidence-btn:hover{background:var(--interactive-hover);color:var(--text-primary);border-color:var(--border-secondary)}.clue-item.evidence-mode{display:flex;align-items:center;justify-content:space-between;background:var(--interactive-normal);border:1px solid var(--border-primary);border-radius:8px;padding:12px;transition:all .2s ease}.clue-item.evidence-mode:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.clue-content{flex:1;margin-right:12px}.evidence-action-btn{background:var(--interactive-normal);color:var(--text-primary);border:1px solid var(--border-primary);padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:44px}.evidence-action-btn:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}.evidence-action-btn:active{background:var(--interactive-active)}.scene-nav-buttons{display:flex;justify-content:space-around;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.scene-nav-buttons button{background-color:transparent;color:#fff9;border:none;padding:10px 15px;cursor:pointer;transition:all .3s ease;font-size:14px;position:relative}.scene-nav-buttons button.active{color:#fff;font-weight:700}.scene-nav-buttons button.active:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:50%;height:3px;background-color:#fff;border-radius:2px}.game-ending-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn 1s ease-in-out}.game-ending-content{text-align:center;color:#fff;animation:slideInUp 1.2s ease-out}.ending-title{font-size:20px;color:var(--text-accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.error-message{margin-top:20px;padding:16px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:8px;text-align:center}.error-message p{color:#fca5a5;margin:0 0 12px}.retry-btn{background:var(--interactive-normal);color:var(--text-primary);border:1px solid var(--border-primary);padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:var(--interactive-hover);border-color:var(--border-secondary)}html,body{margin:0;padding:0;height:100%;overflow:hidden}#app{height:100vh;width:100vw}
