:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400;-webkit-tap-highlight-color:transparent}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;height:100vh;margin:0;padding:0}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}video::-webkit-media-controls-overlay-play-button{display:none!important;opacity:0!important;pointer-events:none!important;-webkit-appearance:none;width:0!important;height:0!important}.toast-container[data-v-1d5cfbcf]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:99999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast-item[data-v-1d5cfbcf]{pointer-events:auto;padding:12px 20px;border-radius:10px;background:#1e1e28f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px #0006;border:1px solid rgba(255,255,255,.1);max-width:90vw}.toast-item.error[data-v-1d5cfbcf]{border-color:#f8717166;background:#3c1414f2}.toast-item.warning[data-v-1d5cfbcf]{border-color:#fbbf2466;background:#3c3214f2}.toast-item.success[data-v-1d5cfbcf]{border-color:#4ade8066;background:#143c1ef2}.toast-action[data-v-1d5cfbcf]{padding:4px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff1a;color:#fff;font-size:.8rem;cursor:pointer;white-space:nowrap}.toast-action[data-v-1d5cfbcf]:hover{background:#fff3}.toast-enter-active[data-v-1d5cfbcf]{transition:all .3s ease-out}.toast-leave-active[data-v-1d5cfbcf]{transition:all .3s ease-in}.toast-enter-from[data-v-1d5cfbcf],.toast-leave-to[data-v-1d5cfbcf],.toast-hide[data-v-1d5cfbcf]{opacity:0;transform:translateY(-20px)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0a0f;color:#e0e0e0;font-family:Noto Sans KR,Segoe UI,sans-serif}#app{width:100%;height:100vh;height:100dvh}.story-list[data-v-208ab4d6]{padding:15px;max-width:600px;margin:0 auto;box-sizing:border-box;overflow:hidden;scrollbar-width:none}.story-list[data-v-208ab4d6]::-webkit-scrollbar{display:none}.page-header[data-v-208ab4d6]{margin-bottom:1.8rem}.page-title[data-v-208ab4d6]{font-size:1.6rem;font-weight:700;color:#f0f0f0;letter-spacing:-.5px}.page-subtitle[data-v-208ab4d6]{font-size:.85rem;color:#666;margin-top:.3rem}.loading-state[data-v-208ab4d6]{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:4rem 0;color:#666;font-size:.9rem}.loading-spinner[data-v-208ab4d6]{width:28px;height:28px;border:2px solid rgba(255,255,255,.1);border-top-color:#888;border-radius:50%;animation:spin-208ab4d6 .8s linear infinite}@keyframes spin-208ab4d6{to{transform:rotate(360deg)}}.error-state[data-v-208ab4d6]{text-align:center;padding:4rem 0;color:#f87171;font-size:.9rem}.empty-state[data-v-208ab4d6]{text-align:center;padding:4rem 1rem}.empty-icon[data-v-208ab4d6]{font-size:2.5rem;margin-bottom:1rem}.empty-state h3[data-v-208ab4d6]{font-size:1.1rem;color:#ccc;font-weight:600}.stories-grid[data-v-208ab4d6]{display:flex;flex-direction:column;gap:.75rem}.story-card[data-v-208ab4d6]{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:0;cursor:pointer;transition:all .2s ease;overflow:hidden;box-shadow:0 12px 34px #0000002e}.story-card[data-v-208ab4d6]:hover{background:linear-gradient(180deg,#ffffff0f,#ffffff07);border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 18px 42px #0000003d}.story-card[data-v-208ab4d6]:active{transform:scale(.99)}.card-content[data-v-208ab4d6]{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem 1rem;min-width:0}.story-cover-wrap[data-v-208ab4d6]{position:relative;width:100%;aspect-ratio:16 / 9;background:#10131d;border-bottom:1px solid rgba(255,255,255,.08)}.story-cover[data-v-208ab4d6]{display:block;width:100%;height:100%;object-fit:cover}.story-cover-char-fallback[data-v-208ab4d6]{filter:saturate(.9) contrast(1.05)}.story-cover-fallback[data-v-208ab4d6]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff38;letter-spacing:.14em;font-size:.74rem;font-weight:700;background:linear-gradient(135deg,#94a3b81f,#0f172a0a),radial-gradient(circle at 20% 10%,rgba(96,165,250,.18),transparent 40%)}.card-header[data-v-208ab4d6]{display:block;min-width:0}.story-title[data-v-208ab4d6]{font-size:1.1rem;font-weight:600;color:#f0f0f0;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.35;min-width:0}.resume-badge[data-v-208ab4d6]{position:absolute;bottom:.55rem;right:.55rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:700;padding:.28rem .68rem;border-radius:12px;background:#0a140a9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#86efac;border:1px solid rgba(74,222,128,.35);letter-spacing:.01em;flex-shrink:0}.resume-dot[data-v-208ab4d6]{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade80b3;animation:pulse-green-208ab4d6 1.7s infinite}@keyframes pulse-green-208ab4d6{0%{transform:scale(.95);box-shadow:0 0 #4ade808c}70%{transform:scale(1);box-shadow:0 0 0 10px #4ade8000}to{transform:scale(.95);box-shadow:0 0 #4ade8000}}.story-desc[data-v-208ab4d6]{font-size:.82rem;color:#777;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.char-profiles[data-v-208ab4d6]{display:flex;display:none;gap:.4rem;margin-top:.2rem}.char-avatar-wrap[data-v-208ab4d6]{width:44px;height:44px;flex-shrink:0}.char-avatar[data-v-208ab4d6]{width:60px;height:60px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.15)}.char-avatar-fallback[data-v-208ab4d6]{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#aaa;font-size:.75rem;font-weight:600}.loading-overlay[data-v-208ab4d6]{position:fixed;inset:0;z-index:9998;background:#000000b3;display:flex;align-items:center;justify-content:center}.loading-modal[data-v-208ab4d6]{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-spinner-lg[data-v-208ab4d6]{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#ccc;border-radius:50%;animation:spin-208ab4d6 .8s linear infinite}.loading-text[data-v-208ab4d6]{color:#ccc;font-size:.95rem}.name-overlay[data-v-208ab4d6]{position:fixed;inset:0;z-index:9999;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem}.name-dialog[data-v-208ab4d6]{background:#1a1a1e;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 1.8rem;max-width:380px;width:100%;text-align:center}.name-dialog-title[data-v-208ab4d6]{font-size:1.4rem;color:#e0e0e0;margin-bottom:.6rem}.name-dialog-desc[data-v-208ab4d6]{font-size:.85rem;color:#999;line-height:1.5;margin-bottom:1.4rem}.name-input[data-v-208ab4d6]{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0f;color:#e0e0e0;font-size:1.1rem;text-align:center;outline:none;transition:border-color .2s;box-sizing:border-box}.name-input[data-v-208ab4d6]:focus{border-color:#ffffff4d}.name-error[data-v-208ab4d6]{color:#f87171;font-size:.8rem;margin-top:.4rem;margin-bottom:0}.name-confirm-btn[data-v-208ab4d6]{margin-top:1.2rem;width:100%;padding:.75rem;border:none;border-radius:10px;background:linear-gradient(135deg,#555,#333);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.name-confirm-btn[data-v-208ab4d6]:hover{opacity:.85}.modal-enter-active[data-v-c9a7f14f]{transition:opacity .2s ease-out}.modal-leave-active[data-v-c9a7f14f]{transition:opacity .3s ease-out}.modal-enter-from[data-v-c9a7f14f],.modal-leave-to[data-v-c9a7f14f]{opacity:0}.modal-enter-active .modal-content[data-v-c9a7f14f]{transition:transform .35s cubic-bezier(.25,.8,.25,1);transition-delay:.05s}.modal-leave-active .modal-content[data-v-c9a7f14f]{transition:transform .3s cubic-bezier(.25,.8,.25,1)}.modal-enter-from .modal-content[data-v-c9a7f14f],.modal-leave-to .modal-content[data-v-c9a7f14f]{transform:translateY(100%)}.modal-overlay[data-v-c9a7f14f]{position:fixed;inset:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:flex-end;justify-content:center;z-index:10000;overflow:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-transform:translateZ(0);transform:translateZ(0)}.modal-content[data-v-c9a7f14f]{background:#1e1e1e;border-radius:24px 24px 0 0;width:100%;max-width:600px;box-shadow:0 -4px 20px #00000080;position:relative;padding:0;overscroll-behavior:contain}.draggable-modal[data-v-c9a7f14f]{overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:contain}.modal-close-btn[data-v-c9a7f14f]{position:absolute;top:12px;right:12px;background:#ffffff1a;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .2s}.modal-close-btn[data-v-c9a7f14f]:hover{background:#fff3}.modal-close-btn svg[data-v-c9a7f14f]{color:#fff}.modal-drag-area[data-v-c9a7f14f]{cursor:grab;-webkit-user-select:none;user-select:none;padding:16px 20px 8px}.modal-drag-area[data-v-c9a7f14f]:active{cursor:grabbing}.modal-handle[data-v-c9a7f14f]{width:40px;height:4px;background:#ffffff4d;border-radius:2px;margin:0 auto 16px;transition:background .2s}.modal-drag-area:hover .modal-handle[data-v-c9a7f14f]{background:#ffffff80}.modal-drag-area:active .modal-handle[data-v-c9a7f14f]{background:#ffffffb3}.modal-header-sticky[data-v-c9a7f14f]{position:sticky;top:0;background-color:#1e1e1e;z-index:10;padding-bottom:8px;flex-shrink:0}.modal-header-sticky h2[data-v-c9a7f14f]{font-size:20px;font-weight:600;color:#fff;margin:0 0 12px;text-align:center}.modal-divider[data-v-c9a7f14f]{height:1px;background:#ffffff1a;margin-top:12px}.modal-content-scrollable[data-v-c9a7f14f]{padding:20px;font-size:15px;line-height:1.8;color:#e0e0e0;word-wrap:break-word;overflow-wrap:break-word;text-align:left;white-space:normal;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.modal-content-scrollable[data-v-c9a7f14f]::-webkit-scrollbar{display:none}html.modal-open,body.modal-open{overflow:hidden!important;touch-action:none;-webkit-overflow-scrolling:none}html.modal-open .main-content,body.modal-open .main-content{overflow:hidden!important;touch-action:none}html.modal-open .bottom-nav,body.modal-open .bottom-nav{display:none!important}.my-stories[data-v-2fda8c6e]{padding:15px;max-width:600px;margin:0 auto;box-sizing:border-box;overflow:hidden;scrollbar-width:none}.my-stories[data-v-2fda8c6e]::-webkit-scrollbar{display:none}.page-header[data-v-2fda8c6e]{margin-bottom:1.8rem}.page-title[data-v-2fda8c6e]{font-size:1.6rem;font-weight:700;color:#f0f0f0;letter-spacing:-.5px}.page-subtitle[data-v-2fda8c6e]{font-size:.85rem;color:#666;margin-top:.3rem}.loading-state[data-v-2fda8c6e]{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:4rem 0;color:#666;font-size:.9rem}.loading-spinner[data-v-2fda8c6e]{width:28px;height:28px;border:2px solid rgba(255,255,255,.1);border-top-color:#888;border-radius:50%;animation:spin-2fda8c6e .8s linear infinite}@keyframes spin-2fda8c6e{to{transform:rotate(360deg)}}.error-state[data-v-2fda8c6e]{text-align:center;padding:4rem 0;color:#f87171;font-size:.9rem}.empty-state[data-v-2fda8c6e]{text-align:center;padding:4rem 1rem}.empty-icon[data-v-2fda8c6e]{font-size:2.5rem;margin-bottom:1rem}.empty-state h3[data-v-2fda8c6e]{font-size:1.1rem;color:#ccc;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-2fda8c6e]{font-size:.85rem;color:#666}.run-section[data-v-2fda8c6e]{margin-bottom:2rem}.section-header[data-v-2fda8c6e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.section-header .section-label[data-v-2fda8c6e]{margin-bottom:0}.sort-select[data-v-2fda8c6e]{appearance:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#aaa;font-size:.7rem;padding:.35rem .7rem;cursor:pointer;outline:none;transition:all .2s}.sort-select[data-v-2fda8c6e]:hover,.sort-select[data-v-2fda8c6e]:focus{border-color:#fff3;color:#ccc}.sort-select option[data-v-2fda8c6e]{background:#1a1a2e;color:#ccc}.section-label[data-v-2fda8c6e]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:.8rem}.section-dot[data-v-2fda8c6e]{width:8px;height:8px;border-radius:50%}.section-dot.active[data-v-2fda8c6e]{background:#4ade80;box-shadow:0 0 8px #4ade8066;animation:pulse-green-2fda8c6e 1.7s infinite}.section-dot.completed[data-v-2fda8c6e]{background:#60a5fa}.run-card[data-v-2fda8c6e]{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:.95rem 1.1rem 1rem;margin-bottom:.75rem;cursor:pointer;transition:all .2s ease;overflow:hidden;box-shadow:0 12px 34px #0000002e}.run-card[data-v-2fda8c6e]:hover{background:linear-gradient(180deg,#ffffff0f,#ffffff07);border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 18px 42px #0000003d}.run-card[data-v-2fda8c6e]:active{transform:scale(.99)}.ribbon-badge[data-v-2fda8c6e]{position:absolute;top:0;left:0;z-index:5;overflow:hidden;width:90px;height:90px;pointer-events:none}.ribbon-badge span[data-v-2fda8c6e]{position:absolute;display:block;width:140px;padding:5px 0;background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 3px 10px #f59e0b66;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;text-align:center;left:-35px;top:18px;transform:rotate(-45deg)}.run-card.completed[data-v-2fda8c6e]{position:relative}.story-cover-wrap[data-v-2fda8c6e]{width:calc(100% + 2.2rem);margin:-.95rem -1.1rem .85rem;aspect-ratio:16 / 9;border-bottom:1px solid rgba(255,255,255,.08);background:#10131d}.story-cover[data-v-2fda8c6e]{width:100%;height:100%;display:block;object-fit:cover}.story-cover-fallback[data-v-2fda8c6e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff38;letter-spacing:.14em;font-size:.72rem;font-weight:700;background:linear-gradient(135deg,#94a3b81f,#0f172a0a),radial-gradient(circle at 20% 10%,rgba(96,165,250,.18),transparent 40%)}.card-top[data-v-2fda8c6e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.7rem}.card-info[data-v-2fda8c6e]{flex:1;min-width:0;overflow:hidden}.card-title[data-v-2fda8c6e]{font-size:1.05rem;font-weight:600;color:#f0f0f0;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-desc[data-v-2fda8c6e]{font-size:.78rem;color:#777;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.char-profiles[data-v-2fda8c6e]{display:none;gap:.4rem;margin-bottom:25px}.char-avatar-wrap[data-v-2fda8c6e]{width:44px;height:44px;flex-shrink:0}.char-avatar[data-v-2fda8c6e]{width:60px;height:60px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.15)}.char-avatar-fallback[data-v-2fda8c6e]{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#aaa;font-size:.7rem;font-weight:600}.card-badge[data-v-2fda8c6e]{display:inline-flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:700;padding:.28rem .68rem;border-radius:12px;letter-spacing:.03em;flex-shrink:0;margin-left:.75rem}.card-badge.active[data-v-2fda8c6e]{background:#4ade801f;color:#86efac;border:1px solid rgba(74,222,128,.24)}.card-badge.completed[data-v-2fda8c6e]{background:#60a5fa1f;color:#60a5fa;border:1px solid rgba(96,165,250,.2)}.badge-dot[data-v-2fda8c6e]{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse-green-2fda8c6e 1.7s infinite}@keyframes pulse-green-2fda8c6e{0%{transform:scale(.95);box-shadow:0 0 #4ade808c}70%{transform:scale(1);box-shadow:0 0 0 10px #4ade8000}to{transform:scale(.95);box-shadow:0 0 #4ade8000}}.card-meta[data-v-2fda8c6e]{margin-bottom:.7rem}.meta-row[data-v-2fda8c6e]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.meta-item[data-v-2fda8c6e]{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#888}.meta-icon[data-v-2fda8c6e]{font-size:.7rem}.meta-date[data-v-2fda8c6e]{margin-left:auto}.progress-bar-wrap[data-v-2fda8c6e]{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.progress-bar[data-v-2fda8c6e]{flex:1;height:4px;background:#ffffff0f;border-radius:4px;overflow:hidden}.progress-fill[data-v-2fda8c6e]{height:100%;background:linear-gradient(90deg,#555,#888);border-radius:4px;transition:width .5s ease}.progress-fill.full[data-v-2fda8c6e]{width:100%;background:linear-gradient(90deg,#888,#ccc)}.progress-label[data-v-2fda8c6e]{font-size:.7rem;color:#888;font-weight:600;min-width:30px;text-align:right}.continue-btn[data-v-2fda8c6e]{font-size:.8rem;color:#ccc;font-weight:600;letter-spacing:-.3px;transition:color .2s}.run-card:hover .continue-btn[data-v-2fda8c6e]{color:#fff}.card-action[data-v-2fda8c6e]{display:flex;justify-content:flex-end;gap:1rem}.chapter-select-btn[data-v-2fda8c6e]{color:#60a5fa!important}.chapter-loading[data-v-2fda8c6e]{display:flex;justify-content:center;padding:2rem}.chapter-empty[data-v-2fda8c6e]{text-align:center;padding:2rem;color:#666;font-size:.85rem}.chapter-list[data-v-2fda8c6e]{display:flex;flex-direction:column;gap:4px}.chapter-item[data-v-2fda8c6e]{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08;cursor:pointer;transition:all .2s}.chapter-item[data-v-2fda8c6e]:hover{background:#ffffff14;border-color:#ffffff2e}.chapter-label[data-v-2fda8c6e]{font-size:.9rem;font-weight:600;color:#e0e0e0}.chapter-title-text[data-v-2fda8c6e]{font-weight:400;color:#a0b4cc}.chapter-scenes[data-v-2fda8c6e]{font-size:.75rem;color:#888}.main-layout[data-v-ccba2ecc]{width:100%;height:100vh;display:flex;flex-direction:column;background:#0a0a0f;color:#e0e0e0}.login-required[data-v-ccba2ecc]{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card[data-v-ccba2ecc]{text-align:center;padding:3rem 2rem;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff08;max-width:380px;width:100%}.login-icon[data-v-ccba2ecc]{font-size:3rem;margin-bottom:1rem}.login-card h2[data-v-ccba2ecc]{font-size:1.3rem;font-weight:600;color:#e0e0e0;margin-bottom:.6rem}.login-card p[data-v-ccba2ecc]{font-size:.9rem;color:#888}.top-bar[data-v-ccba2ecc]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;z-index:10}.app-logo[data-v-ccba2ecc]{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#e0e0e0,#a0a0a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.top-bar-right[data-v-ccba2ecc]{display:flex;align-items:center;gap:.75rem}.user-badge[data-v-ccba2ecc]{display:flex;align-items:center}.rose-count[data-v-ccba2ecc]{font-size:.85rem;color:#e0e0e0;background:#ffffff0f;padding:.35rem .75rem;border-radius:20px;border:1px solid rgba(255,255,255,.08);font-weight:500}.user-info-chip[data-v-ccba2ecc]{display:flex;align-items:center;gap:.5rem;padding:.3rem .7rem .3rem .3rem;border-radius:20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.user-avatar[data-v-ccba2ecc]{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#333,#555);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.user-name[data-v-ccba2ecc]{font-size:.8rem;color:#ccc;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-bar[data-v-ccba2ecc]{display:flex;position:relative;background:#1c1c27;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;z-index:10}.tab-item[data-v-ccba2ecc]{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;background:none;border:none;color:#666;cursor:pointer;font-size:.85rem;font-weight:500;transition:color .3s;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.tab-item.active[data-v-ccba2ecc]{color:#fff}.tab-icon[data-v-ccba2ecc]{font-size:1rem}.tab-label[data-v-ccba2ecc]{white-space:nowrap}.tab-indicator[data-v-ccba2ecc]{position:absolute;bottom:0;width:50%;height:2px;background:#fff;transition:left .3s cubic-bezier(.25,.8,.25,1)}.swipe-container[data-v-ccba2ecc]{flex:1;overflow:hidden;position:relative}.swipe-track[data-v-ccba2ecc]{display:flex;height:100%;will-change:transform}.swipe-pane[data-v-ccba2ecc]{min-width:100%;width:100%;max-width:100%;height:100%;overflow-x:hidden;overflow-y:auto;flex-shrink:0;box-sizing:border-box}.dialogue-box[data-v-a9e470b7]{position:absolute;bottom:0;left:0;right:0;z-index:10;background:#1f1d23;min-height:210px;border-top:1px solid rgba(255,255,255,.08);padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.scene-meta-inline[data-v-a9e470b7]{display:flex;align-items:center;gap:.35rem;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.06)}.meta-icon[data-v-a9e470b7]{color:#ffffff59;flex-shrink:0;width:13px;height:13px}.meta-location[data-v-a9e470b7]{font-size:.72rem;font-weight:500;letter-spacing:.3px}.meta-sep[data-v-a9e470b7]{color:#ffffff40;font-size:.65rem}.meta-time[data-v-a9e470b7]{font-size:.68rem;color:#fff6;letter-spacing:.2px}.dialogue-layout[data-v-a9e470b7]{display:flex;flex:1;align-items:stretch;gap:7px}.profile-col[data-v-a9e470b7]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.speaker-photo[data-v-a9e470b7]{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15);display:block}video.speaker-photo[data-v-a9e470b7]{background:transparent}.speaker-photo-blank[data-v-a9e470b7]{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#ffffff59}.content-col[data-v-a9e470b7]{flex:1;min-width:0;display:flex;flex-direction:column}.speaker-name[data-v-a9e470b7]{display:flex;align-items:center;gap:.4em;color:#ffdead;font-weight:700;font-size:1.05rem;line-height:1;letter-spacing:1.5px;text-transform:uppercase;padding-bottom:.25em;font-style:italic}.speaker-name-photo[data-v-a9e470b7]{height:1.2em;width:1.2em;object-fit:cover;border-radius:50%;flex-shrink:0;-webkit-text-fill-color:initial}.dialogue-text[data-v-a9e470b7]{font-size:1rem;line-height:1.8;color:#fff;white-space:pre-wrap;font-weight:600}.narration-text[data-v-a9e470b7]{font-style:italic;color:#bbb;padding:.4rem 0;font-weight:400}.dialogue-text[data-v-a9e470b7] .action-desc{font-style:italic;color:#bbb;font-size:.88em;display:inline;margin:0 .15em}.advance-hint[data-v-a9e470b7]{position:absolute;bottom:.8rem;right:1.5rem;color:#ffffff4d;animation:bounce-a9e470b7 1.2s infinite}@keyframes bounce-a9e470b7{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.choice-panel[data-v-8455c7bf]{position:absolute;bottom:0;left:0;right:0;z-index:15;background:#1f1d23;padding:15px;border-top:1px solid rgba(255,255,255,.08)}.choice-label[data-v-8455c7bf]{text-align:center;color:#888;font-size:.85rem;margin-bottom:1rem;letter-spacing:2px;text-transform:uppercase}.choice-list[data-v-8455c7bf]{display:flex;flex-direction:column;gap:5px;max-width:600px;margin:0 auto}.choice-btn[data-v-8455c7bf]{width:100%;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:all .25s}.choice-btn[data-v-8455c7bf]:hover{transform:translate(6px)}.choice-btn.ment[data-v-8455c7bf]:hover{background:#ffffff17;border-color:#ffffff40}.choice-btn.action[data-v-8455c7bf]:hover{background:#ffffff12;border-color:#fff3}.llm-input-box[data-v-8455c7bf]{width:100%;padding:.9rem 1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#00000059;cursor:text;transition:all .25s;box-sizing:border-box}.llm-input-box[data-v-8455c7bf]:hover{border-color:#ffffff40;background:#ffffff0a;box-shadow:0 0 10px #ffffff0a}.llm-input-placeholder[data-v-8455c7bf]{color:#ffffff4d;font-size:.95rem;pointer-events:none}.choice-tag[data-v-8455c7bf]{margin-right:.5rem}.free-input[data-v-8455c7bf]{display:flex;gap:.5rem;margin-top:.5rem;padding:0 .5rem}.free-input input[data-v-8455c7bf]{flex:1;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#0000004d;color:#e0e0e0;font-size:.95rem;outline:none}.free-input input[data-v-8455c7bf]:focus{border-color:#ffffff59}.llm-input-area[data-v-8455c7bf]{display:flex;flex-direction:column;gap:.8rem}.llm-input-label[data-v-8455c7bf]{text-align:center;color:#aaa;font-size:.9rem;letter-spacing:1px}.llm-textarea[data-v-8455c7bf]{width:100%;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0006;color:#e0e0e0;font-size:1rem;font-family:inherit;resize:none;outline:none;line-height:1.5;box-sizing:border-box}.llm-textarea[data-v-8455c7bf]:focus{border-color:#ffffff59;box-shadow:0 0 12px #ffffff0f}.llm-textarea[data-v-8455c7bf]::placeholder{color:#ffffff40}.llm-input-actions[data-v-8455c7bf]{display:flex;gap:.6rem;justify-content:flex-end}.cancel-btn[data-v-8455c7bf]{padding:.6rem 1.2rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#aaa;cursor:pointer;font-size:.9rem;transition:all .2s}.cancel-btn[data-v-8455c7bf]:hover{background:#ffffff1a}.submit-btn[data-v-8455c7bf]{padding:.6rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#e0e0e0;cursor:pointer;transition:all .2s}.submit-btn[data-v-8455c7bf]:hover{background:#ffffff26}.llm-submit[data-v-8455c7bf]{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1.5rem;font-size:.95rem}.llm-submit[data-v-8455c7bf]:disabled{opacity:.4;cursor:not-allowed}.choice-text[data-v-8455c7bf]{flex:1}.choice-btn[data-v-8455c7bf]{display:flex;align-items:center;gap:8px;position:relative;overflow:visible}.choice-btn.has-rose[data-v-8455c7bf]{padding-right:10px}.rose-badge[data-v-8455c7bf]{position:absolute;top:-8px;right:-6px;display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:10px;background:#140a0fd9;border:1px solid rgba(244,63,94,.45);font-size:.7rem;color:#fb7185;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0006;z-index:2;pointer-events:none;line-height:1}.rose-badge.discounted[data-v-8455c7bf]{background:#191205e6;border-color:#fbbf2473;gap:3px}.rose-icon[data-v-8455c7bf]{font-size:.75rem}.rose-amount[data-v-8455c7bf]{font-weight:700}.rose-badge.discounted .rose-amount[data-v-8455c7bf]{color:#fbbf24}.rose-original[data-v-8455c7bf]{text-decoration:line-through;color:#777;font-size:.62rem;font-weight:400}.rose-arrow[data-v-8455c7bf]{color:#777;font-size:.58rem}.llm-rose-cost[data-v-8455c7bf]{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:8px;background:#f43f5e26;font-size:.8rem;color:#fb7185}.character-sprite[data-v-123285c1]{position:relative;display:flex;flex-direction:column;align-items:center;transition:all .4s ease}.char-silhouette[data-v-123285c1]{width:100px;height:140px;border-radius:16px;background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.char-initial[data-v-123285c1]{font-size:2.5rem;color:#ffffff4d;font-weight:700}.char-label[data-v-123285c1]{margin-top:.5rem;font-size:.8rem;color:#fff9;text-align:center}.char-image[data-v-123285c1]{max-height:300px;width:auto;object-fit:contain}.expr-happy .char-silhouette[data-v-123285c1]{border-color:#ffb6c166}.expr-sad .char-silhouette[data-v-123285c1]{border-color:#6495ed66}.expr-angry .char-silhouette[data-v-123285c1]{border-color:#ff634766}.expr-shy .char-silhouette[data-v-123285c1]{border-color:#ffb6c199}.expr-surprised .char-silhouette[data-v-123285c1]{border-color:#ffd70066}.character-video[data-v-4e06a6d3]{position:relative;pointer-events:none;margin-bottom:17vh}.char-canvas[data-v-4e06a6d3]{display:block;max-height:70vh;object-fit:contain;pointer-events:none}.char-webm[data-v-4e06a6d3]{display:block;max-height:80vh;object-fit:contain;pointer-events:none}video[data-v-4e06a6d3]::-webkit-media-controls{display:none!important}video[data-v-4e06a6d3]::-webkit-media-controls-enclosure{display:none!important}video[data-v-4e06a6d3]::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}video[data-v-4e06a6d3]::-webkit-media-controls-play-button{display:none!important;-webkit-appearance:none}video[data-v-4e06a6d3]::-webkit-media-controls-overlay-play-button{display:none!important;opacity:0!important;pointer-events:none!important;-webkit-appearance:none;width:0!important;height:0!important}.affection-effect-container[data-v-7f72b429]{position:absolute;inset:0;z-index:25;pointer-events:none}.heart-fx-item[data-v-7f72b429]{position:absolute;bottom:160px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem 1.2rem;border-radius:20px;font-weight:700;font-size:1.15rem;white-space:nowrap;animation-fill-mode:forwards}.fx-particles[data-v-7f72b429]{position:absolute;inset:0;pointer-events:none}.fx-particle[data-v-7f72b429]{position:absolute;top:50%;left:50%;width:var(--size);height:var(--size);border-radius:50%;animation-delay:var(--delay);animation-fill-mode:forwards}.particle-up[data-v-7f72b429]{background:radial-gradient(circle,#ff82aae6,#ff649600);animation:particleBurst-7f72b429 1s ease-out var(--delay) forwards}.particle-down[data-v-7f72b429]{background:radial-gradient(circle,#969696b3,#78787800);animation:particleBurst-7f72b429 .8s ease-out var(--delay) forwards}@keyframes particleBurst-7f72b429{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1)}60%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--dist) * -1)) scale(.2)}}.fx-glow[data-v-7f72b429]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;filter:blur(20px);animation:glowPulse-7f72b429 1.2s ease-out forwards}.glow-up[data-v-7f72b429]{background:radial-gradient(circle,rgba(255,105,150,.5),transparent 70%)}.glow-down[data-v-7f72b429]{background:radial-gradient(circle,rgba(100,100,120,.4),transparent 70%)}@keyframes glowPulse-7f72b429{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}.fx-up[data-v-7f72b429]{background:linear-gradient(135deg,#ff78a026,#ff508214);border:1px solid rgba(255,140,180,.35);color:#f8d0e0;animation:floatUp-7f72b429 2s ease-out forwards;text-shadow:0 0 12px rgba(255,130,170,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.heart-fx-icon[data-v-7f72b429]{font-size:2rem;filter:drop-shadow(0 0 8px rgba(255,100,150,.6))}.fx-up .heart-fx-icon[data-v-7f72b429]{animation:heartPop-7f72b429 .6s cubic-bezier(.34,1.56,.64,1);display:inline-block}.fx-down[data-v-7f72b429]{background:linear-gradient(135deg,#64647826,#50506414);border:1px solid rgba(150,150,170,.3);color:#aaa;animation:floatDown-7f72b429 2s ease-out forwards;text-shadow:0 0 10px rgba(150,150,150,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fx-down .heart-fx-icon[data-v-7f72b429]{animation:heartCrack-7f72b429 .6s ease-out;display:inline-block;filter:drop-shadow(0 0 6px rgba(150,100,100,.4))}.heart-fx-delta[data-v-7f72b429]{font-size:1.15rem;font-weight:800;position:relative;z-index:1}.fx-up .heart-fx-delta[data-v-7f72b429]{background:linear-gradient(135deg,#ff8abf,#ffc0d8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heart-fx-name[data-v-7f72b429]{font-size:.72rem;font-weight:500;opacity:.7;position:relative;z-index:1}@keyframes floatUp-7f72b429{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.4)}12%{opacity:1;transform:translate(-50%) translateY(-10px) scale(1.15)}25%{transform:translate(-50%) translateY(-20px) scale(1)}65%{opacity:1;transform:translate(-50%) translateY(-70px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-120px) scale(.7)}}@keyframes floatDown-7f72b429{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.4)}12%{opacity:1;transform:translate(-50%) translateY(10px) scale(1.1)}25%{transform:translate(-50%) translateY(5px) scale(1)}65%{opacity:1;transform:translate(-50%) translateY(30px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(50px) scale(.7)}}@keyframes heartPop-7f72b429{0%{transform:scale(.2) rotate(-15deg)}40%{transform:scale(1.6) rotate(5deg)}55%{transform:scale(.85) rotate(-3deg)}70%{transform:scale(1.2) rotate(2deg)}85%{transform:scale(.95) rotate(0)}to{transform:scale(1) rotate(0)}}@keyframes heartCrack-7f72b429{0%,to{transform:translate(0) scale(1)}10%{transform:translate(-5px) rotate(-12deg) scale(1.1)}20%{transform:translate(5px) rotate(12deg) scale(1.05)}30%{transform:translate(-4px) rotate(-8deg) scale(1)}40%{transform:translate(4px) rotate(8deg) scale(.95)}50%{transform:translate(-2px) rotate(-4deg) scale(.9)}60%{transform:translate(2px) rotate(4deg) scale(.85)}to{transform:translate(0) scale(.9)}}.heart-fx-enter-active[data-v-7f72b429]{transition:all .3s ease-out}.heart-fx-leave-active[data-v-7f72b429]{transition:all .3s ease-in;position:absolute}.heart-fx-enter-from[data-v-7f72b429]{opacity:0;transform:scale(.3)}.heart-fx-leave-to[data-v-7f72b429]{opacity:0}.heart-click-container[data-v-659a8bfb]{position:absolute;inset:0;z-index:60;pointer-events:none;overflow:hidden}.heart-particle[data-v-659a8bfb]{position:absolute;transform:translate(-50%,-50%) scale(0);opacity:0;animation:heartBurst-659a8bfb ease-out forwards;will-change:transform,opacity;filter:drop-shadow(0 0 3px rgba(255,100,150,.5))}@keyframes heartBurst-659a8bfb{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:.5}15%{transform:translate(-50%,-50%) scale(1.3) rotate(0);opacity:.5}30%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:.5}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4) rotate(var(--rot));opacity:0}}.game-view[data-v-4588f66c]{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.bg-layer[data-v-4588f66c]{position:absolute;inset:0;z-index:0;transition:background .6s,filter .6s ease,transform .6s ease}.bg-default[data-v-4588f66c]{background:#000}.bg-image[data-v-4588f66c]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:filter .6s ease,transform .6s ease}.bg-defocus[data-v-4588f66c]{filter:blur(1px) brightness(.85);transform:scale(1.06)}.bg-generating-indicator[data-v-4588f66c]{position:absolute;top:3.5rem;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:.5rem;background:#0009;padding:.4rem 1rem;border-radius:16px;color:#fffc;font-size:.75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bg-generating-spinner[data-v-4588f66c]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fffc;border-radius:50%;animation:bg-spin-4588f66c .8s linear infinite}@keyframes bg-spin-4588f66c{to{transform:rotate(360deg)}}.bg-video[data-v-4588f66c]{position:absolute;inset:0;object-fit:cover;z-index:1;background:transparent;width:1px;height:1px;opacity:0;pointer-events:none}.bg-video--ready[data-v-4588f66c]{width:100%;height:100%;opacity:1;pointer-events:none;transition:opacity .4s ease}.video-pan-overlay[data-v-4588f66c]{position:absolute;inset:0;z-index:2;background:transparent;touch-action:none;cursor:grab}video[data-v-4588f66c]::-webkit-media-controls{display:none!important}video[data-v-4588f66c]::-webkit-media-controls-enclosure{display:none!important}video[data-v-4588f66c]::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}video[data-v-4588f66c]::-webkit-media-controls-play-button{display:none!important;-webkit-appearance:none}video[data-v-4588f66c]::-webkit-media-controls-overlay-play-button{display:none!important;opacity:0!important;pointer-events:none!important;-webkit-appearance:none;width:0!important;height:0!important}.top-character-bar[data-v-4588f66c]{position:absolute;top:.8rem;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:1rem;padding:.5rem 1.2rem;background:#00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.08);transition:opacity .4s ease}.fullscreen-video-mode .top-character-bar[data-v-4588f66c]{opacity:0;pointer-events:none}.fullscreen-video-mode[data-v-4588f66c] .dialogue-box{background:#1f1d23cc}.top-char-card[data-v-4588f66c]{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;transition:transform .2s;min-width:52px}.top-char-card[data-v-4588f66c]:hover{transform:translateY(-2px)}.top-char-card[data-v-4588f66c]:active{transform:scale(.95)}.top-char-avatar-wrap[data-v-4588f66c]{position:relative;width:44px;height:44px}.top-char-avatar[data-v-4588f66c]{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.25);box-shadow:0 0 8px #0006}.top-char-avatar-fallback[data-v-4588f66c]{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#ccc;font-size:1rem}.top-char-score-badge[data-v-4588f66c]{position:absolute;bottom:-4px;right:-4px;min-width:22px;height:18px;padding:0 4px;border-radius:9px;background:#323232e6;border:1px solid rgba(255,255,255,.15);color:#ddd;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000080;line-height:1}.top-char-name[data-v-4588f66c]{font-size:.62rem;color:#ffffffbf;font-weight:500;white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis;text-align:center}.top-char-etc .top-char-avatar-etc[data-v-4588f66c]{width:44px;height:44px;border-radius:50%;border:2px dashed rgba(255,255,255,.25);background:#ffffff0f;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:.7rem;font-weight:600;letter-spacing:-.3px}.top-char-etc:hover .top-char-avatar-etc[data-v-4588f66c]{border-color:#fff6;background:#ffffff14;color:#e0e0e0}.video-layer[data-v-4588f66c]{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-end;z-index:2;pointer-events:none;overflow:hidden}.character-image-overlay[data-v-4588f66c]{position:relative;pointer-events:none;margin-bottom:13vh}.character-image-overlay.pos-far-left[data-v-4588f66c]{transform:translate(-5%)}.character-image-overlay.pos-left[data-v-4588f66c]{transform:translate(30%)}.character-image-overlay.pos-center[data-v-4588f66c]{transform:translate(0)}.character-image-overlay.pos-right[data-v-4588f66c]{transform:translate(-30%)}.character-image-overlay.pos-far-right[data-v-4588f66c]{transform:translate(5%)}.char-overlay-img[data-v-4588f66c]{display:block;max-height:70vh;object-fit:contain;pointer-events:none}.char-fade-enter-active[data-v-4588f66c]{transition:opacity .5s ease}.char-fade-leave-active[data-v-4588f66c]{transition:opacity .4s ease}.char-fade-enter-from[data-v-4588f66c],.char-fade-leave-to[data-v-4588f66c]{opacity:0}.character-layer[data-v-4588f66c]{position:absolute;bottom:200px;left:0;right:0;display:flex;justify-content:center;gap:2rem;z-index:2}.overlay-center[data-v-4588f66c]{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000b3;color:#e0e0e0}.error-panel p[data-v-4588f66c]{color:#f87171;margin-bottom:1rem}.btn-back[data-v-4588f66c]{padding:.7rem 2rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff14;color:#e0e0e0;font-size:1rem;cursor:pointer;transition:all .2s}.btn-back[data-v-4588f66c]:hover{background:#ffffff26}.end-screen[data-v-4588f66c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;animation:endFadeIn-4588f66c 1s ease-out}@keyframes endFadeIn-4588f66c{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.end-particles[data-v-4588f66c]{position:absolute;inset:0;pointer-events:none;overflow:hidden}.end-particle[data-v-4588f66c]{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff6;animation:endFloat-4588f66c 4s ease-in-out infinite;animation-delay:calc(var(--i) * .3s);left:calc(var(--i) * 8% + 2%);top:80%}.end-particle[data-v-4588f66c]:nth-child(odd){background:#f4a36080;width:3px;height:3px}@keyframes endFloat-4588f66c{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1}80%{opacity:.6}to{opacity:0;transform:translateY(-60vh) scale(0)}}.end-badge[data-v-4588f66c]{font-size:2.8rem;font-weight:200;letter-spacing:1.2rem;color:transparent;background:linear-gradient(180deg,#fff,#c0a47a,#8b7355);-webkit-background-clip:text;background-clip:text;margin-bottom:.6rem;animation:endBadgeIn-4588f66c 1.2s ease-out;text-indent:1.2rem}@keyframes endBadgeIn-4588f66c{0%{opacity:0;letter-spacing:3rem}60%{opacity:1}to{letter-spacing:1.2rem}}.end-message[data-v-4588f66c]{font-size:.85rem;color:#ffffffa6;text-align:center;line-height:1.6;max-width:300px;margin-bottom:1.5rem;animation:endFadeIn-4588f66c 1.5s ease-out}.end-stats[data-v-4588f66c]{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2rem;animation:endFadeIn-4588f66c 2s ease-out}.end-stat-card[data-v-4588f66c]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.7rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;min-width:80px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.end-stat-photo[data-v-4588f66c]{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.15)}.end-stat-fallback[data-v-4588f66c]{display:flex;align-items:center;justify-content:center;background:#ffffff0f;font-size:1.1rem}.end-stat-name[data-v-4588f66c]{font-size:.7rem;color:#ffffff8c;font-weight:500}.end-stat-value[data-v-4588f66c]{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#f8c8a0,#e8a070);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.end-stat-card.trait .end-stat-value[data-v-4588f66c]{background:linear-gradient(135deg,#a0c8f8,#70a0e8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.end-btn[data-v-4588f66c]{padding:.75rem 2.5rem;border:1px solid rgba(255,255,255,.15);border-radius:25px;background:#ffffff0f;color:#ffffffbf;font-size:.85rem;font-weight:500;letter-spacing:.5px;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.end-btn[data-v-4588f66c]:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.story-intro[data-v-4588f66c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;text-align:center;animation:introAppear-4588f66c 1.5s ease-out;cursor:pointer}@keyframes introAppear-4588f66c{0%{opacity:0}to{opacity:1}}.intro-line[data-v-4588f66c]{width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);margin:.6rem 0}.intro-title[data-v-4588f66c]{font-size:1.6rem;font-weight:300;letter-spacing:.3rem;color:#ffffffe6;margin:0;text-indent:.3rem;animation:introTitle-4588f66c 2s ease-out}@keyframes introTitle-4588f66c{0%{opacity:0;letter-spacing:1.5rem}60%{opacity:1}to{letter-spacing:.3rem}}.intro-desc[data-v-4588f66c]{font-size:.85rem;color:#ffffff8c;line-height:1.8;max-width:320px;margin-top:1.2rem;margin-bottom:2rem;animation:introDesc-4588f66c 2.5s ease-out;white-space:pre-line}@keyframes introDesc-4588f66c{0%,30%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-btn[data-v-4588f66c]{padding:.65rem 2rem;border:1px solid rgba(255,255,255,.15);border-radius:25px;background:#ffffff0f;color:#ffffffb3;font-size:.82rem;font-weight:500;letter-spacing:1px;cursor:pointer;transition:all .3s;animation:introDesc-4588f66c 3s ease-out}.intro-btn[data-v-4588f66c]:hover{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.intro-fade-leave-active[data-v-4588f66c]{transition:opacity .6s ease}.intro-fade-leave-to[data-v-4588f66c]{opacity:0}.stat-row[data-v-4588f66c]{padding:.3rem 0;font-size:1rem}.btn-menu[data-v-4588f66c]{position:absolute;top:1rem;right:1rem;z-index:20;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#e0e0e0;font-size:1.2rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s}.btn-menu[data-v-4588f66c]:hover{background:#ffffff26}.menu-backdrop[data-v-4588f66c]{position:fixed;inset:0;z-index:25;background:#0000004d}.game-menu[data-v-4588f66c]{position:absolute;top:3.5rem;right:1rem;z-index:26;width:240px;background:#0a0a14ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.8rem}.game-menu h3[data-v-4588f66c]{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#888;margin-bottom:.5rem}.menu-item[data-v-4588f66c]{display:block;width:100%;padding:.6rem .8rem;margin-bottom:.3rem;border:none;border-radius:8px;background:#ffffff0d;color:#ddd;font-size:.82rem;text-align:left;cursor:pointer;transition:background .2s}.menu-item[data-v-4588f66c]:hover{background:#ffffff1f}.menu-close[data-v-4588f66c]{color:#888;text-align:center;margin-top:.3rem}.name-change-content[data-v-4588f66c]{padding:.5rem 0;text-align:center}.name-change-desc[data-v-4588f66c]{font-size:.85rem;color:#999;margin-bottom:1rem}.name-change-input[data-v-4588f66c]{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0f;color:#e0e0e0;font-size:1.1rem;text-align:center;outline:none;transition:border-color .2s;box-sizing:border-box}.name-change-input[data-v-4588f66c]:focus{border-color:#fff6}.name-change-error[data-v-4588f66c]{color:#f87171;font-size:.8rem;margin-top:.4rem}.name-change-btn[data-v-4588f66c]{margin-top:1rem;width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff14;color:#e0e0e0;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.name-change-btn[data-v-4588f66c]:hover{background:#ffffff26}.affection-list[data-v-4588f66c]{display:flex;flex-direction:column;gap:.5rem}.affection-card[data-v-4588f66c]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .2s}.affection-card[data-v-4588f66c]:hover{background:#ffffff0f;border-color:#ffffff24}.affection-card[data-v-4588f66c]:active{transform:scale(.98)}.affection-card-left[data-v-4588f66c]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.affection-avatar[data-v-4588f66c]{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;background:#ffffff0d}.affection-avatar-img[data-v-4588f66c]{width:100%;height:100%;object-fit:cover}.affection-avatar-fallback[data-v-4588f66c]{font-size:1.1rem}.affection-info[data-v-4588f66c]{flex:1;min-width:0}.affection-name[data-v-4588f66c]{display:block;font-size:.9rem;font-weight:500;color:#fff;margin-bottom:.3rem}.affection-bar-track[data-v-4588f66c]{width:100%;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.affection-bar-fill[data-v-4588f66c]{height:100%;border-radius:3px;background:linear-gradient(90deg,#777,silver);transition:width .5s ease}.affection-card-right[data-v-4588f66c]{display:flex;align-items:center;gap:.4rem;flex-shrink:0;margin-left:.5rem}.affection-value[data-v-4588f66c]{font-size:.9rem;font-weight:600;color:silver;min-width:28px;text-align:right}.affection-arrow[data-v-4588f66c]{font-size:1.2rem;color:#ffffff4d}.trait-section[data-v-4588f66c]{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.trait-section-title[data-v-4588f66c]{font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:#888;margin:0 0 .6rem}.trait-row[data-v-4588f66c]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.trait-icon[data-v-4588f66c]{font-size:.9rem;flex-shrink:0}.trait-info[data-v-4588f66c]{flex:1;min-width:0}.trait-label[data-v-4588f66c]{display:block;font-size:.78rem;color:#ccc;margin-bottom:.15rem}.trait-bar-track[data-v-4588f66c]{width:100%;height:5px;background:#ffffff14;border-radius:3px;overflow:hidden}.trait-bar-fill[data-v-4588f66c]{height:100%;border-radius:3px;background:linear-gradient(90deg,#555,#999);transition:width .5s ease}.trait-value[data-v-4588f66c]{font-size:.75rem;color:#999;min-width:24px;text-align:right}.profile-back-btn[data-v-4588f66c]{background:none;border:none;color:#aaa;font-size:.82rem;cursor:pointer;padding:0;margin-bottom:1rem;transition:color .2s}.profile-back-btn[data-v-4588f66c]:hover{color:#fff}.profile-detail-header[data-v-4588f66c]{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin-bottom:1.2rem}.profile-detail-avatar[data-v-4588f66c]{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2)}.profile-detail-avatar-fallback[data-v-4588f66c]{width:80px;height:80px;border-radius:50%;background:#ffffff0d;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:2rem}.profile-detail-header h3[data-v-4588f66c]{margin:0;font-size:1.2rem;color:#fff;font-weight:600}.profile-detail-body[data-v-4588f66c]{font-size:.88rem;line-height:1.7;color:#ddd}.profile-empty[data-v-4588f66c]{text-align:center;color:#666;padding:2rem}.markdown-body[data-v-4588f66c] h1,.markdown-body[data-v-4588f66c] h2,.markdown-body[data-v-4588f66c] h3,.markdown-body[data-v-4588f66c] h4{color:#fff;margin-top:1rem;margin-bottom:.5rem}.markdown-body[data-v-4588f66c] h1{font-size:1.3rem}.markdown-body[data-v-4588f66c] h2{font-size:1.15rem}.markdown-body[data-v-4588f66c] h3{font-size:1rem}.markdown-body[data-v-4588f66c] p{margin:.4rem 0}.markdown-body[data-v-4588f66c] ul,.markdown-body[data-v-4588f66c] ol{padding-left:1.2rem;margin:.4rem 0}.markdown-body[data-v-4588f66c] li{margin-bottom:.2rem}.markdown-body[data-v-4588f66c] strong{color:#e8e8e8}.markdown-body[data-v-4588f66c] em{color:#aaa}.markdown-body[data-v-4588f66c] code{background:#ffffff14;padding:.15rem .4rem;border-radius:4px;font-size:.85em}.markdown-body[data-v-4588f66c] blockquote{border-left:3px solid rgba(255,255,255,.2);padding-left:.8rem;margin:.5rem 0;color:#bbb}.markdown-body[data-v-4588f66c] hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.8rem 0}.jump-list[data-v-4588f66c]{display:flex;flex-direction:column;gap:.4rem}.jump-chapter-header[data-v-4588f66c]{font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:#888;margin-top:.8rem;margin-bottom:.2rem;padding-left:.2rem}.jump-chapter-header[data-v-4588f66c]:first-child{margin-top:0}.jump-item[data-v-4588f66c]{display:flex;justify-content:space-between;align-items:center;padding:.7rem .8rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:all .2s}.jump-item[data-v-4588f66c]:hover{background:#ffffff12;border-color:#fff3}.jump-item[data-v-4588f66c]:active{transform:scale(.98)}.jump-item.jump-current[data-v-4588f66c]{background:#ffffff14;border-color:#ffffff40}.jump-current-badge[data-v-4588f66c]{display:inline-block;font-size:.6rem;font-weight:700;padding:.1rem .4rem;margin-left:.4rem;border-radius:8px;background:#ffffff1f;color:#ccc;vertical-align:middle;letter-spacing:.5px;text-transform:uppercase}.jump-label[data-v-4588f66c]{font-size:.88rem;color:#e0e0e0;font-weight:500}.jump-subtitle[data-v-4588f66c]{font-size:.72rem;color:#888}.jump-empty[data-v-4588f66c]{text-align:center;color:#666;font-size:.82rem;padding:2rem}.llm-loading-overlay[data-v-4588f66c]{position:absolute;bottom:0;left:0;right:0;z-index:15;min-height:195px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;background:linear-gradient(180deg,#0a0a14cc,#0a0a14f2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);opacity:.8}.llm-loading-dots[data-v-4588f66c]{display:flex;gap:.5rem;margin-bottom:1rem}.llm-loading-dots span[data-v-4588f66c]{width:10px;height:10px;border-radius:50%;background:#aaa;animation:llmBounce-4588f66c 1.2s ease-in-out infinite}.llm-loading-dots span[data-v-4588f66c]:nth-child(2){animation-delay:.2s}.llm-loading-dots span[data-v-4588f66c]:nth-child(3){animation-delay:.4s}@keyframes llmBounce-4588f66c{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.llm-loading-text[data-v-4588f66c]{color:#aaa;font-size:.95rem;letter-spacing:.5px}.next-loading-indicator[data-v-4588f66c]{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);z-index:14;display:flex;align-items:center;justify-content:center;padding:.6rem 1.4rem;background:#0a0a14bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;border:1px solid rgba(255,255,255,.08)}.next-loading-dots[data-v-4588f66c]{display:flex;gap:.35rem}.next-loading-dots span[data-v-4588f66c]{width:7px;height:7px;border-radius:50%;background:#fff9;animation:nextDotBounce-4588f66c 1.2s ease-in-out infinite}.next-loading-dots span[data-v-4588f66c]:nth-child(2){animation-delay:.2s}.next-loading-dots span[data-v-4588f66c]:nth-child(3){animation-delay:.4s}@keyframes nextDotBounce-4588f66c{0%,80%,to{transform:scale(.5);opacity:.3}40%{transform:scale(1);opacity:1}}.restart-overlay[data-v-4588f66c]{position:fixed;inset:0;z-index:9999;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1.5rem}.restart-dialog[data-v-4588f66c]{background:#1a1a20;border:1px solid rgba(248,113,113,.25);border-radius:20px;padding:2rem 1.8rem;max-width:360px;width:100%;text-align:center;box-shadow:0 20px 60px #0009}.restart-icon[data-v-4588f66c]{font-size:2.4rem;margin-bottom:.8rem}.restart-title[data-v-4588f66c]{font-size:1.15rem;font-weight:700;color:#f0f0f0;margin-bottom:1rem}.restart-body[data-v-4588f66c]{font-size:.85rem;color:#aaa;line-height:1.7;margin-bottom:1.6rem;white-space:pre-line}.restart-actions[data-v-4588f66c]{display:flex;gap:.75rem}.restart-cancel-btn[data-v-4588f66c]{flex:1;padding:.7rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0f;color:#ccc;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.restart-cancel-btn[data-v-4588f66c]:hover{background:#ffffff1f}.restart-confirm-btn[data-v-4588f66c]{flex:1.4;padding:.7rem;border:none;border-radius:10px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s}.restart-confirm-btn[data-v-4588f66c]:hover{opacity:.85}.llm-report-btn[data-v-4588f66c]{position:absolute;bottom:165px;right:14px;z-index:20;padding:3px 8px;font-size:.65rem;color:#ffffff73;background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;line-height:1.4;transition:color .2s,background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.llm-report-btn[data-v-4588f66c]:hover{color:#ff6464d9;background:#0000008c;border-color:#ff64644d}@media(max-width:600px){.llm-report-btn[data-v-4588f66c]{bottom:146px;right:12px}}.modal-enter-active[data-v-4588f66c]{transition:opacity .2s ease}.modal-leave-active[data-v-4588f66c]{transition:opacity .15s ease}.modal-enter-from[data-v-4588f66c],.modal-leave-to[data-v-4588f66c]{opacity:0}
