.toast-container[data-v-5b92ec8e]{position:fixed;top:24px;left:0;right:0;display:flex;justify-content:center;z-index:10000;pointer-events:none}.toast[data-v-5b92ec8e]{display:flex;align-items:center;gap:12px;padding:14px 24px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;box-shadow:0 4px 24px #0000001f,0 0 1px #00000014;color:#333;font-size:.95rem;font-weight:500;max-width:90vw}.toast--success[data-v-5b92ec8e]{border:1px solid rgba(82,196,26,.35);background:linear-gradient(135deg,#f6ffed,#fff)}.toast--success .toast-icon[data-v-5b92ec8e]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#52c41a;color:#fff;font-size:.85rem;font-weight:600}.toast--error[data-v-5b92ec8e]{border:1px solid rgba(255,77,79,.35);background:linear-gradient(135deg,#fff2f0,#fff)}.toast--error .toast-icon[data-v-5b92ec8e]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ff4d4f;color:#fff;font-size:.85rem;font-weight:600}.toast[data-v-5b92ec8e]:not(.toast--success):not(.toast--error){border:1px solid rgba(0,0,0,.06)}.toast-icon[data-v-5b92ec8e]{font-size:1.2rem;flex-shrink:0}.toast-text[data-v-5b92ec8e]{line-height:1.5}.toast-fade-enter-active[data-v-5b92ec8e],.toast-fade-leave-active[data-v-5b92ec8e]{transition:all .3s ease}.toast-fade-enter-from[data-v-5b92ec8e],.toast-fade-leave-to[data-v-5b92ec8e]{opacity:0;transform:translateY(-12px)}.toast-fade-enter-to[data-v-5b92ec8e],.toast-fade-leave-from[data-v-5b92ec8e]{opacity:1;transform:translateY(0)}.quota-mask[data-v-f3392b6e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;background:#0f172a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}.quota-dialog[data-v-f3392b6e]{width:min(460px,100%);border-radius:18px;background:linear-gradient(180deg,#fff,#f8faff);box-shadow:0 16px 40px #0f172a47;border:1px solid rgba(99,102,241,.14);padding:24px 22px 18px;text-align:center}.quota-icon[data-v-f3392b6e]{width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.quota-title[data-v-f3392b6e]{margin:0;font-size:20px;color:#111827}.quota-message[data-v-f3392b6e]{margin:10px 0 8px;color:#1f2937;line-height:1.6}.quota-detail[data-v-f3392b6e]{margin:0;color:#6b7280;line-height:1.6;font-size:13px}.quota-badge[data-v-f3392b6e]{margin:12px auto 0;width:fit-content;font-size:12px;color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:4px 10px}.quota-actions[data-v-f3392b6e]{margin-top:16px;display:grid;grid-template-columns:1fr;gap:10px}.quota-btn[data-v-f3392b6e]{width:100%;margin-top:16px;border:none;border-radius:10px;padding:11px 14px;font-weight:600;cursor:pointer}.quota-btn-primary[data-v-f3392b6e]{margin-top:0;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.quota-btn-secondary[data-v-f3392b6e]{margin-top:0;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.quota-close-btn[data-v-f3392b6e]{margin-top:12px;width:100%;border:none;background:transparent;color:#6b7280;cursor:pointer}.quota-dialog-fade-enter-active[data-v-f3392b6e],.quota-dialog-fade-leave-active[data-v-f3392b6e]{transition:all .2s ease}.quota-dialog-fade-enter-from[data-v-f3392b6e],.quota-dialog-fade-leave-to[data-v-f3392b6e]{opacity:0;transform:translateY(8px)}.member-modal-mask[data-v-31a1a7d6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.member-modal[data-v-31a1a7d6]{width:min(1080px,96vw);background:#fff;border-radius:16px;padding:24px;position:relative;box-shadow:0 12px 40px #0003}.close-btn[data-v-31a1a7d6]{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:50%;background:#f5f5f5;color:#666;font-size:22px;cursor:pointer}.member-header[data-v-31a1a7d6]{text-align:center;margin-bottom:16px}.member-header h2[data-v-31a1a7d6]{margin:0 0 6px;font-size:36px;color:#2f9e44}.member-header p[data-v-31a1a7d6]{margin:0;color:#555;font-size:18px}.period-tabs[data-v-31a1a7d6]{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.period-tab[data-v-31a1a7d6]{border:1px solid #d9d9d9;background:#fff;border-radius:999px;padding:8px 16px;cursor:pointer;color:#555}.period-tab.active[data-v-31a1a7d6]{background:#2f9e44;color:#fff;border-color:#2f9e44}.plan-grid[data-v-31a1a7d6]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card[data-v-31a1a7d6]{border:1px solid #e8e8e8;border-radius:12px;padding:18px;background:#fff}.plan-title[data-v-31a1a7d6]{font-size:26px;font-weight:700;margin-bottom:8px}.plan-price[data-v-31a1a7d6]{margin-bottom:8px}.price-value[data-v-31a1a7d6]{font-size:42px;font-weight:800;line-height:1}.price-unit[data-v-31a1a7d6]{margin-left:6px;color:#666}.plan-desc[data-v-31a1a7d6]{min-height:48px;color:#999;margin:0 0 14px}.buy-btn[data-v-31a1a7d6]{width:100%;border:none;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:600;color:#fff}.gold .buy-btn[data-v-31a1a7d6]{background:linear-gradient(135deg,#f59f00,#f08c00)}.platinum .buy-btn[data-v-31a1a7d6]{background:linear-gradient(135deg,#5c7cfa,#364fc7)}.diamond .buy-btn[data-v-31a1a7d6]{background:linear-gradient(135deg,#212529,#000)}@media (max-width: 900px){.plan-grid[data-v-31a1a7d6]{grid-template-columns:1fr}}.pay-modal-mask[data-v-026bca5f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px}.pay-modal[data-v-026bca5f]{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;border:1px solid #e8e8e8;padding:28px;position:relative}.close-btn[data-v-026bca5f]{position:absolute;top:10px;right:12px;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#999;font-size:34px;line-height:1;cursor:pointer}.state-box[data-v-026bca5f]{text-align:center;padding:28px 0}.loading-spinner[data-v-026bca5f]{font-size:28px;margin-bottom:8px}.error-text[data-v-026bca5f]{color:#ff4d4f}.pay-title[data-v-026bca5f]{margin:0 0 16px;text-align:center;font-size:42px;color:#111827}.pay-channel-tabs[data-v-026bca5f]{display:flex;gap:14px;justify-content:center;border-top:1px solid #ededed;border-bottom:1px solid #ededed;padding:16px 0;margin-bottom:18px}.pay-channel-btn[data-v-026bca5f]{border:1px solid #e5e7eb;background:#fafafa;color:#111827;border-radius:999px;padding:8px 18px;cursor:pointer;font-size:24px}.pay-channel-btn.active[data-v-026bca5f]{border-color:#22c55e;color:#16a34a;background:#f0fdf4}.pay-amount-line[data-v-026bca5f]{margin:0 0 14px;text-align:center;font-size:40px;color:#1f2937}.pay-amount[data-v-026bca5f]{margin-left:10px;color:#d4a04d;font-weight:700}.alipay-iframe[data-v-026bca5f]{width:100%;min-height:520px;border:1px solid #ececec;border-radius:10px;background:#fff}.wechat-placeholder[data-v-026bca5f]{min-height:320px;border:1px dashed #d1d5db;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fcfcfc;color:#6b7280;font-size:20px}#app[data-v-42048cc0]{min-height:100vh;display:flex;flex-direction:column}.navbar[data-v-42048cc0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a}.nav-container[data-v-42048cc0]{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo[data-v-42048cc0]{margin:0;font-size:1.5rem;font-weight:600}.nav-menu[data-v-42048cc0]{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-menu a[data-v-42048cc0]{color:#fff;text-decoration:none;font-weight:500;transition:opacity .3s}.nav-menu a[data-v-42048cc0]:hover,.nav-menu a.router-link-active[data-v-42048cc0]{opacity:.8;text-decoration:underline}.member-nav-btn[data-v-42048cc0]{border:none;background:transparent;color:#fff;font-weight:500;cursor:pointer;padding:0}.main-content[data-v-42048cc0]{flex:1;width:100%;padding:0}.main-content[data-v-42048cc0]>*{max-width:1200px;margin:0 auto;padding:2rem}.site-beian[data-v-42048cc0]{margin-top:auto;padding:10px 16px 14px;text-align:center;font-size:12px;color:#8c8c8c}.site-beian a[data-v-42048cc0]{color:#8c8c8c;text-decoration:none}.site-beian a[data-v-42048cc0]:hover{text-decoration:underline}.sep[data-v-42048cc0]{margin:0 8px}.home[data-v-8d42d0f2]{animation:fadeIn-8d42d0f2 .5s;min-height:calc(100vh - 200px);display:flex;flex-direction:column;align-items:center;padding:2rem;width:100%;max-width:none!important;margin:0!important}.container[data-v-8d42d0f2]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;width:100%;max-width:1200px;margin:0 auto;align-items:center}.intro-section[data-v-8d42d0f2]{padding-right:2rem}.intro-content[data-v-8d42d0f2]{animation:slideInLeft-8d42d0f2 .6s ease-out}.title[data-v-8d42d0f2]{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.subtitle[data-v-8d42d0f2]{font-size:1.25rem;color:#666;margin-bottom:3rem}.features[data-v-8d42d0f2]{display:flex;flex-direction:column;gap:1.5rem}.feature-item[data-v-8d42d0f2]{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.feature-item[data-v-8d42d0f2]:hover{transform:translate(10px);box-shadow:0 4px 12px #667eea26}.feature-icon[data-v-8d42d0f2]{font-size:2.5rem;flex-shrink:0}.feature-text h3[data-v-8d42d0f2]{margin:0 0 .5rem;color:#333;font-size:1.1rem}.feature-text p[data-v-8d42d0f2]{margin:0;color:#666;line-height:1.6;font-size:.95rem}.login-section[data-v-8d42d0f2]{display:flex;justify-content:center;align-items:center}.login-card[data-v-8d42d0f2]{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px;animation:slideInRight-8d42d0f2 .6s ease-out}.login-title[data-v-8d42d0f2]{font-size:2rem;margin:0 0 .5rem;color:#333;text-align:center}.login-subtitle[data-v-8d42d0f2]{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.login-form[data-v-8d42d0f2]{width:100%}.form-group[data-v-8d42d0f2]{margin-bottom:1.5rem}.form-group label[data-v-8d42d0f2]{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.9rem}.form-input[data-v-8d42d0f2]{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-input[data-v-8d42d0f2]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-options[data-v-8d42d0f2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.9rem}.remember-me[data-v-8d42d0f2]{display:flex;align-items:center;gap:.5rem;color:#666;cursor:pointer}.remember-me input[type=checkbox][data-v-8d42d0f2]{cursor:pointer}.forgot-password[data-v-8d42d0f2]{color:#667eea;text-decoration:none;transition:color .3s}.forgot-password[data-v-8d42d0f2]:hover{color:#5568d3}.login-button[data-v-8d42d0f2]{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.login-button[data-v-8d42d0f2]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-button[data-v-8d42d0f2]:disabled{opacity:.6;cursor:not-allowed}.divider[data-v-8d42d0f2]{text-align:center;margin:1.5rem 0;position:relative;color:#999;font-size:.9rem}.divider[data-v-8d42d0f2]:before,.divider[data-v-8d42d0f2]:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#e0e0e0}.divider[data-v-8d42d0f2]:before{left:0}.divider[data-v-8d42d0f2]:after{right:0}.social-login[data-v-8d42d0f2]{margin-bottom:1.5rem}.social-button[data-v-8d42d0f2]{width:100%;padding:.875rem;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.social-button[data-v-8d42d0f2]:hover{background:#eee;border-color:#667eea}.register-link[data-v-8d42d0f2]{text-align:center;color:#666;font-size:.9rem;margin:0}.register-link a[data-v-8d42d0f2],.register-link .register-link-text[data-v-8d42d0f2]{color:#667eea;text-decoration:none;font-weight:500;cursor:pointer}.register-link a[data-v-8d42d0f2]:hover,.register-link .register-link-text[data-v-8d42d0f2]:hover{text-decoration:underline}@keyframes fadeIn-8d42d0f2{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft-8d42d0f2{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight-8d42d0f2{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 968px){.container[data-v-8d42d0f2]{grid-template-columns:1fr;gap:2rem}.intro-section[data-v-8d42d0f2]{padding-right:0;text-align:center}.title[data-v-8d42d0f2]{font-size:2.5rem}.login-card[data-v-8d42d0f2]{max-width:100%}}.about[data-v-0b682d40]{animation:fadeIn-0b682d40 .5s}.about h1[data-v-0b682d40]{font-size:2.5rem;margin-bottom:2rem;color:#333}.content[data-v-0b682d40]{max-width:800px}section[data-v-0b682d40]{margin-bottom:2.5rem;background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a}section h2[data-v-0b682d40]{color:#667eea;margin-top:0;margin-bottom:1rem}ul[data-v-0b682d40]{line-height:2;color:#666}.code-block[data-v-0b682d40]{background:#f5f5f5;padding:1rem;border-radius:5px;font-family:Courier New,monospace;border-left:4px solid #667eea}code[data-v-0b682d40]{color:#333}@keyframes fadeIn-0b682d40{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.register[data-v-1ef9ce45]{animation:fadeIn-1ef9ce45 .5s;min-height:calc(100vh - 200px);display:flex;align-items:center;padding:2rem;width:100%;max-width:none!important;margin:0!important}.container[data-v-1ef9ce45]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;width:100%;max-width:1200px;margin:0 auto;align-items:center}.intro-section[data-v-1ef9ce45]{padding-right:2rem}.intro-content[data-v-1ef9ce45]{animation:slideInLeft-1ef9ce45 .6s ease-out}.title[data-v-1ef9ce45]{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.subtitle[data-v-1ef9ce45]{font-size:1.25rem;color:#666;margin-bottom:3rem}.features[data-v-1ef9ce45]{display:flex;flex-direction:column;gap:1.5rem}.feature-item[data-v-1ef9ce45]{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.feature-item[data-v-1ef9ce45]:hover{transform:translate(10px);box-shadow:0 4px 12px #667eea26}.feature-icon[data-v-1ef9ce45]{font-size:2.5rem;flex-shrink:0}.feature-text h3[data-v-1ef9ce45]{margin:0 0 .5rem;color:#333;font-size:1.1rem}.feature-text p[data-v-1ef9ce45]{margin:0;color:#666;line-height:1.6;font-size:.95rem}.register-section[data-v-1ef9ce45]{display:flex;justify-content:center;align-items:center}.register-card[data-v-1ef9ce45]{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px;animation:slideInRight-1ef9ce45 .6s ease-out}.register-title[data-v-1ef9ce45]{font-size:2rem;margin:0 0 .5rem;color:#333;text-align:center}.register-subtitle[data-v-1ef9ce45]{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.register-form[data-v-1ef9ce45]{width:100%}.form-group[data-v-1ef9ce45]{margin-bottom:1.5rem}.form-group label[data-v-1ef9ce45]{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.9rem}.required[data-v-1ef9ce45]{color:#e74c3c}.form-input[data-v-1ef9ce45]{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-input[data-v-1ef9ce45]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error[data-v-1ef9ce45]{border-color:#e74c3c}.error-message[data-v-1ef9ce45]{display:block;color:#e74c3c;font-size:.85rem;margin-top:.25rem}.register-button[data-v-1ef9ce45]{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.register-button[data-v-1ef9ce45]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.register-button[data-v-1ef9ce45]:disabled{opacity:.6;cursor:not-allowed}.login-link[data-v-1ef9ce45]{text-align:center;color:#666;font-size:.9rem;margin:0}.login-link a[data-v-1ef9ce45]{color:#667eea;text-decoration:none;font-weight:500}.login-link a[data-v-1ef9ce45]:hover{text-decoration:underline}@keyframes fadeIn-1ef9ce45{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft-1ef9ce45{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight-1ef9ce45{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 968px){.container[data-v-1ef9ce45]{grid-template-columns:1fr;gap:2rem}.intro-section[data-v-1ef9ce45]{padding-right:0;text-align:center}.title[data-v-1ef9ce45]{font-size:2.5rem}.register-card[data-v-1ef9ce45]{max-width:100%}}.dashboard-home[data-v-b07c0af1]{min-height:100vh;background:linear-gradient(180deg,#f0f9eb,#f6ffed,#f8f9fa);display:flex;flex-direction:column}.home-header[data-v-b07c0af1]{padding:1rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.logo[data-v-b07c0af1]{margin:0;font-size:1.5rem;color:#333;font-weight:600}.home-header .header-right[data-v-b07c0af1]{display:flex;align-items:center;gap:1rem}.home-header .user-info[data-v-b07c0af1]{color:#666;font-size:.95rem}.home-header .user-center-link[data-v-b07c0af1]{color:#52c41a;font-size:.95rem;text-decoration:none;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.home-header .member-link[data-v-b07c0af1]{color:#fff;background:linear-gradient(135deg,#fa8c16,#faad14);font-size:.9rem;text-decoration:none;padding:.35rem .8rem;border-radius:999px;border:none;cursor:pointer}.home-header .user-center-link[data-v-b07c0af1]:hover{background:#52c41a1a}.home-header .logout-btn[data-v-b07c0af1]{padding:.5rem 1rem;background:#fff;color:#333;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.home-header .logout-btn[data-v-b07c0af1]:hover{border-color:#52c41a;color:#52c41a;background:#52c41a0d}.home-content[data-v-b07c0af1]{flex:1;padding:3rem 2rem;max-width:1200px;margin:0 auto;width:100%}.welcome-section[data-v-b07c0af1]{text-align:center;margin-bottom:3rem}.welcome-title[data-v-b07c0af1]{font-size:2rem;color:#333;margin:0 0 .5rem;font-weight:600}.welcome-subtitle[data-v-b07c0af1]{font-size:1rem;color:#666;margin:0}.features-grid[data-v-b07c0af1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-card[data-v-b07c0af1]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 2px #0000000d;text-align:center}.feature-card[data-v-b07c0af1]:hover{transform:translateY(-4px);border-color:#52c41a;box-shadow:0 4px 12px #52c41a26}.feature-icon[data-v-b07c0af1]{font-size:3rem;margin-bottom:1rem;display:block}.feature-title[data-v-b07c0af1]{font-size:1.25rem;color:#333;margin:0 0 .5rem;font-weight:600}.feature-desc[data-v-b07c0af1]{font-size:.95rem;color:#666;margin:0;line-height:1.6}.dashboard-layout[data-v-b07c0af1]{min-height:100vh;display:flex;flex-direction:column;background:#f8f9fa}.top-header[data-v-b07c0af1]{height:50px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:100}.header-left[data-v-b07c0af1]{display:flex;align-items:center;gap:1rem}.header-item[data-v-b07c0af1]{display:flex;align-items:center;gap:.5rem;color:#333;font-size:.9rem;cursor:pointer}.header-item[data-v-b07c0af1]:hover{color:#52c41a}.header-center[data-v-b07c0af1]{display:flex;align-items:center;gap:.5rem}.points[data-v-b07c0af1]{font-weight:600;color:#333}.member-text[data-v-b07c0af1]{color:#666;font-size:.85rem}.header-right[data-v-b07c0af1]{display:flex;align-items:center;gap:1rem}.header-icon[data-v-b07c0af1]{font-size:1.2rem;cursor:pointer;padding:.25rem}.user-avatar[data-v-b07c0af1]{width:32px;height:32px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.layout-body[data-v-b07c0af1]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-b07c0af1]{width:220px;background:#52c41a;color:#fff;display:flex;flex-direction:column;overflow-y:auto}.sidebar-header[data-v-b07c0af1]{padding:1.5rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.logo-icon[data-v-b07c0af1]{font-size:1.5rem}.logo-text[data-v-b07c0af1]{font-size:1.1rem;font-weight:600}.sidebar-nav[data-v-b07c0af1]{flex:1;padding:1rem 0}.sidebar-nav .nav-item[data-v-b07c0af1]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#fff;text-decoration:none;transition:background .3s;position:relative}.sidebar-nav .nav-item[data-v-b07c0af1]:hover{background:#ffffff26}.sidebar-nav .nav-item.active[data-v-b07c0af1]{background:#ffffff40;font-weight:600}.nav-icon[data-v-b07c0af1]{font-size:1.1rem;width:20px;text-align:center}.sidebar-footer[data-v-b07c0af1]{padding:1rem;border-top:1px solid rgba(255,255,255,.2)}.sidebar-footer .logout-btn[data-v-b07c0af1]{width:100%;padding:.5rem;background:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.sidebar-footer .logout-btn[data-v-b07c0af1]:hover{background:#ffffff4d}.main-content[data-v-b07c0af1]{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:#fff}.content-header[data-v-b07c0af1]{padding:1rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.content-actions[data-v-b07c0af1]{display:flex;gap:.75rem}.action-btn[data-v-b07c0af1]{padding:.5rem 1rem;border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .3s}.action-btn.primary[data-v-b07c0af1]{background:#52c41a;color:#fff;border:none}.action-btn[data-v-b07c0af1]:hover{border-color:#52c41a;color:#52c41a}.action-btn.primary[data-v-b07c0af1]:hover{background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.dropdown-arrow[data-v-b07c0af1]{font-size:.7rem}.view-toggle[data-v-b07c0af1]{display:flex;gap:.5rem}.header-right-actions[data-v-b07c0af1]{display:flex;align-items:center;gap:.75rem}.view-btn[data-v-b07c0af1]{width:32px;height:32px;border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.view-btn.active[data-v-b07c0af1]{background:#52c41a;color:#fff;border:none}.view-btn.active[data-v-b07c0af1]:hover{background:#73d13d}.content-body[data-v-b07c0af1]{padding:2rem}.page-title[data-v-b07c0af1]{font-size:1.5rem;margin:0 0 1.5rem;color:#333}.filter-tabs[data-v-b07c0af1]{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid #e0e0e0}.filter-tab[data-v-b07c0af1]{padding:.75rem 1rem;border:none;background:none;cursor:pointer;color:#666;font-size:.95rem;border-bottom:2px solid transparent;transition:all .3s}.filter-tab[data-v-b07c0af1]:hover{color:#52c41a}.filter-tab.active[data-v-b07c0af1]{color:#52c41a;border-bottom-color:#52c41a;font-weight:600;background:linear-gradient(to bottom,rgba(82,196,26,.05),transparent)}.works-grid[data-v-b07c0af1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.work-card[data-v-b07c0af1]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .3s;position:relative;cursor:pointer}.work-card[data-v-b07c0af1]:hover{box-shadow:0 2px 8px #52c41a33;transform:translateY(-2px);border-color:#52c41a}.work-type-badge[data-v-b07c0af1]{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.work-type-badge.short[data-v-b07c0af1]{background:#1890ff1a;color:#1890ff;border:1px solid rgba(24,144,255,.3)}.work-type-badge.long[data-v-b07c0af1]{background:#52c41a1a;color:#52c41a;border:1px solid rgba(82,196,26,.3)}.work-type-badge.script[data-v-b07c0af1]{background:#fa8c161a;color:#fa8c16;border:1px solid rgba(250,140,22,.3)}.work-type-badge.video[data-v-b07c0af1]{background:#722ed11a;color:#722ed1;border:1px solid rgba(114,46,209,.3)}.work-title[data-v-b07c0af1]{font-size:1.1rem;margin:.5rem 0 1rem;color:#333;font-weight:600}.work-time[data-v-b07c0af1]{font-size:.85rem;color:#999;margin:0 0 1rem}.work-actions[data-v-b07c0af1]{display:flex;gap:.5rem;flex-wrap:wrap}.work-action-btn[data-v-b07c0af1]{flex:1;padding:.5rem;border:1px solid #e0e0e0;background:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:.25rem;transition:all .3s}.work-action-btn[data-v-b07c0af1]:hover{border-color:#52c41a;color:#52c41a;background:#52c41a0d}.works-list[data-v-b07c0af1]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.work-list-item[data-v-b07c0af1]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:all .3s;cursor:pointer;position:relative}.work-list-item[data-v-b07c0af1]:hover{box-shadow:0 2px 8px #0000001a}.work-list-item .work-type-badge[data-v-b07c0af1]{position:static;flex-shrink:0}.work-list-item .work-info[data-v-b07c0af1]{flex:1}.work-list-item .work-title[data-v-b07c0af1]{margin:0 0 .25rem}.work-list-item .work-time[data-v-b07c0af1]{margin:0}.work-list-item .work-actions[data-v-b07c0af1]{display:flex;gap:.5rem}.pagination[data-v-b07c0af1]{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:2rem}.page-btn[data-v-b07c0af1]{min-width:32px;height:32px;border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:4px;cursor:pointer;transition:all .3s}.page-btn[data-v-b07c0af1]:hover:not(:disabled){border-color:#52c41a;color:#52c41a;background:#52c41a0d}.page-btn.active[data-v-b07c0af1]{background:#52c41a;color:#fff;border:none}.page-btn.active[data-v-b07c0af1]:hover{background:#73d13d}.page-btn[data-v-b07c0af1]:disabled{opacity:.5;cursor:not-allowed}.page-size-select[data-v-b07c0af1]{margin-left:1rem;padding:.5rem;border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:4px;cursor:pointer}@media (max-width: 768px){.dashboard-home[data-v-b07c0af1]{padding:1rem}.home-header[data-v-b07c0af1]{padding:1rem;flex-direction:column;gap:1rem}.home-content[data-v-b07c0af1]{padding:2rem 1rem}.welcome-title[data-v-b07c0af1]{font-size:2.5rem}.features-grid[data-v-b07c0af1]{grid-template-columns:1fr}.sidebar[data-v-b07c0af1]{width:180px}.works-grid[data-v-b07c0af1]{grid-template-columns:1fr}}.dialog-overlay[data-v-b07c0af1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-b07c0af1 .3s}@keyframes fadeIn-b07c0af1{0%{opacity:0}to{opacity:1}}.dialog-content[data-v-b07c0af1]{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 8px 32px #0003;animation:slideUp-b07c0af1 .3s}@keyframes slideUp-b07c0af1{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header[data-v-b07c0af1]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e0e0e0}.dialog-title[data-v-b07c0af1]{margin:0;font-size:1.25rem;font-weight:600;color:#333}.dialog-close[data-v-b07c0af1]{width:32px;height:32px;border:none;background:none;font-size:1.5rem;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s}.dialog-close[data-v-b07c0af1]:hover{background:#f5f5f5;color:#333}.dialog-body[data-v-b07c0af1]{padding:1.5rem}.form-group[data-v-b07c0af1]{margin-bottom:1rem}.form-label[data-v-b07c0af1]{display:block;margin-bottom:.5rem;font-size:.95rem;color:#333;font-weight:500}.form-label .optional[data-v-b07c0af1]{color:#999;font-weight:400;font-size:.85rem}.form-hint[data-v-b07c0af1]{margin-top:.5rem;font-size:.85rem;color:#666;line-height:1.5}.hint-example[data-v-b07c0af1]{color:#52c41a;cursor:pointer;text-decoration:underline;transition:color .3s}.hint-example[data-v-b07c0af1]:hover{color:#73d13d}.input-with-button[data-v-b07c0af1]{display:flex;gap:.75rem}.form-input[data-v-b07c0af1]{flex:1;padding:.75rem 1rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.95rem;transition:all .3s}.form-input[data-v-b07c0af1]:focus{outline:none;border-color:#52c41a;box-shadow:0 0 0 2px #52c41a1a}.ai-generate-btn[data-v-b07c0af1]{padding:.75rem 1.25rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.ai-generate-btn[data-v-b07c0af1]:hover:not(:disabled){background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.ai-generate-btn[data-v-b07c0af1]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-b07c0af1]{display:inline-block;animation:spin-b07c0af1 1s linear infinite}@keyframes spin-b07c0af1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container[data-v-b07c0af1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;min-height:200px}.loading-spinner-large[data-v-b07c0af1]{font-size:3rem;animation:spin-b07c0af1 1s linear infinite;margin-bottom:1rem}.loading-text[data-v-b07c0af1]{color:#666;font-size:.95rem}.generated-names-list[data-v-b07c0af1]{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.names-list-title[data-v-b07c0af1]{margin:0 0 .75rem;font-size:.9rem;color:#666;font-weight:500}.names-grid[data-v-b07c0af1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.name-option-btn[data-v-b07c0af1]{padding:.75rem 1rem;background:#fff;border:2px solid #d9d9d9;border-radius:6px;font-size:.9rem;color:#333;cursor:pointer;transition:all .3s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-option-btn[data-v-b07c0af1]:hover{border-color:#52c41a;color:#52c41a;background:#52c41a0d;transform:translateY(-2px);box-shadow:0 2px 8px #52c41a33}.name-option-btn.selected[data-v-b07c0af1]{border-color:#52c41a;background:#52c41a;color:#fff;font-weight:600}.name-option-btn.selected[data-v-b07c0af1]:hover{background:#73d13d;border-color:#73d13d}.dialog-footer[data-v-b07c0af1]{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e0e0e0}.dialog-btn[data-v-b07c0af1]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s}.cancel-btn[data-v-b07c0af1]{background:#f5f5f5;color:#666}.cancel-btn[data-v-b07c0af1]:hover{background:#e8e8e8}.confirm-btn[data-v-b07c0af1]{background:#52c41a;color:#fff}.confirm-btn[data-v-b07c0af1]:hover:not(:disabled){background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.confirm-btn[data-v-b07c0af1]:disabled{opacity:.5;cursor:not-allowed}.dialog-content.large[data-v-b07c0af1]{max-width:800px}.form-row[data-v-b07c0af1]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-textarea[data-v-b07c0af1]{width:100%;padding:.75rem 1rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .3s}.form-textarea[data-v-b07c0af1]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-select[data-v-b07c0af1]{width:100%;padding:.75rem 1rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .3s}.form-select[data-v-b07c0af1]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.required[data-v-b07c0af1]{color:#ff4d4f}.more-menu-wrapper[data-v-b07c0af1]{position:relative}.more-menu[data-v-b07c0af1]{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:120px;overflow:hidden}.more-menu-item[data-v-b07c0af1]{width:100%;padding:.75rem 1rem;border:none;background:#fff;text-align:left;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#333;transition:background .2s}.more-menu-item[data-v-b07c0af1]:hover{background:#f5f5f5}.more-menu-item[data-v-b07c0af1]:not(:last-child){border-bottom:1px solid #f0f0f0}body[data-v-b07c0af1]{position:relative}.empty-state[data-v-b07c0af1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon[data-v-b07c0af1]{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-text[data-v-b07c0af1]{font-size:1.1rem;color:#666;margin:0 0 2rem}.empty-action-btn[data-v-b07c0af1]{padding:.75rem 2rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s}.empty-action-btn[data-v-b07c0af1]:hover{background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.novel-editor-layout{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.top-header{height:50px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem;flex:1}.exit-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#666;font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .3s}.exit-btn:hover{background:#f5f5f5;color:#333}.exit-icon{font-size:1.2rem}.novel-title{font-size:1rem;font-weight:600;color:#333}.header-center{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:center}.tag-item{padding:.25rem .75rem;background:#f5f5f5;border-radius:4px;font-size:.85rem;color:#666;cursor:pointer;transition:all .3s}.tag-item.active{background:#e6f7ff;color:#1890ff}.tag-item:hover{background:#e0e0e0}.header-right{display:flex;align-items:center;gap:1.5rem;flex:1;justify-content:flex-end}.member-link{color:#fff;text-decoration:none;font-size:.85rem;padding:.3rem .75rem;border-radius:999px;background:linear-gradient(135deg,#fa8c16,#faad14);border:none;cursor:pointer}.paragraph-feature-tip{display:flex;align-items:center;gap:8px;max-width:760px;background:#fff7e6;border:1px solid #ffd591;color:#8c5a00;border-radius:999px;padding:6px 14px;font-size:13px;line-height:1.35}.paragraph-feature-tip .tip-icon{flex-shrink:0}.save-status{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.85rem}.cloud-icon{font-size:1rem}.word-count{display:flex;align-items:center;gap:.25rem;color:#666;font-size:.85rem}.info-icon{font-size:.9rem;cursor:pointer}.layout-body{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:200px;background:#8c8c8c;display:flex;flex-direction:column;overflow-y:auto;transition:width .3s;position:relative}.editor-sidebar.collapsed{width:50px}.sidebar-toggle{position:absolute;top:1rem;right:-15px;width:30px;height:30px;background:#fff;border:1px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 4px #0000001a;transition:all .3s}.sidebar-toggle:hover{background:#f5f5f5;box-shadow:0 2px 8px #00000026}.sidebar-nav{display:flex;flex-direction:column;padding:1rem 0;margin-top:1rem}.sidebar-nav .nav-item{width:100%;padding:1rem 1.5rem;background:none;border:none;color:#595959;font-size:.95rem;cursor:pointer;text-align:left;transition:all .3s;position:relative;display:flex;align-items:center;gap:.75rem;border-left:3px solid transparent}.sidebar-nav .nav-item:hover{color:#333;background:#0000000d}.sidebar-nav .nav-item.active{color:#333;background:#00000014;border-left-color:#d4a574;font-weight:600}.nav-icon{font-size:1.1rem;width:20px;text-align:center}.nav-label{flex:1}.main-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;position:relative}.editor-content{flex:1;padding:2rem;overflow-y:auto;background:#fff}.editor-content:has(.outline-generator-container){min-height:0;overflow:hidden}.content-panel{background:#fff;border-radius:8px;padding:0;box-shadow:none}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.panel-header h2{margin:0;color:#333;font-size:1.5rem}.panel-desc{margin:.5rem 0 0;color:#666;font-size:.9rem}.export-panel .panel-header{flex-direction:column;align-items:flex-start}.export-content{padding:1rem 0}.export-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.export-option-card{padding:1.5rem;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center;background:#fff}.export-option-card:hover:not(.disabled){border-color:#52c41a;box-shadow:0 2px 8px #52c41a26}.export-option-card.disabled{opacity:.6;cursor:not-allowed}.export-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.export-option-card h3{margin:0 0 .5rem;font-size:1rem;color:#333}.export-option-card p{margin:0;font-size:.85rem;color:#666;line-height:1.5}.export-progress{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.export-spinner{width:24px;height:24px;border:2px solid #e0e0e0;border-top-color:#52c41a;border-radius:50%;animation:spin .8s linear infinite}.export-progress p{margin:0;color:#666;font-size:.9rem}.export-error{margin-top:1rem;padding:1rem;color:#ff4d4f;font-size:.9rem;background:#fff2f0;border-radius:8px}@keyframes spin{to{transform:rotate(360deg)}}.generate-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s}.generate-btn:hover{background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-icon{font-size:1.2rem;font-weight:300}.editor-toolbar{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1rem}.tool-btn{padding:.5rem .75rem;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.tool-btn:hover{background:#f5f5f5;border-color:#52c41a}.toolbar-divider{width:1px;height:20px;background:#e0e0e0;margin:0 .25rem}.editor-textarea{width:100%;min-height:500px}.text-editor{width:100%;min-height:500px;padding:1.5rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem;line-height:1.8;resize:vertical;font-family:inherit;outline:none;transition:border-color .3s}.text-editor:focus{border-color:#52c41a}.text-editor::placeholder{color:#bfbfbf}.panel-content{color:#666;line-height:1.6}.relations-graph-panel{padding:0}.graph-controls{display:flex;gap:1rem}.control-btn{padding:.5rem 1rem;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.control-btn:hover{border-color:#52c41a;color:#52c41a}.control-btn.primary{background:#52c41a;color:#fff;border-color:#52c41a}.control-btn.primary:hover{background:#73d13d}.graph-container{width:100%;height:800px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fafafa;position:relative}.relations-graph{width:100%;height:100%;cursor:move}.edge-line{stroke:#999;stroke-width:2;cursor:pointer;transition:stroke-width .3s}.edge-line:hover{stroke-width:3}.edge-friend{stroke:#52c41a}.edge-enemy{stroke:#ff4d4f}.edge-lover{stroke:#ff85c0}.edge-master{stroke:#1890ff}.edge-parent{stroke:#722ed1}.edge-sibling{stroke:#fa8c16}.edge-rival{stroke:#eb2f96}.edge-ally{stroke:#13c2c2}.edge-other{stroke:#8c8c8c}.edge-label{font-size:12px;fill:#666;pointer-events:none;text-anchor:middle}.node-group{cursor:move}.node-circle{fill:#fff;stroke:#52c41a;stroke-width:3;transition:all .3s}.node-circle:hover{stroke-width:4;filter:drop-shadow(0 2px 8px rgba(82,196,26,.3))}.node-main{fill:#fff7e6;stroke:#fa8c16;stroke-width:4}.node-selected{stroke:#1890ff;stroke-width:5;filter:drop-shadow(0 4px 12px rgba(24,144,255,.4))}.node-name{font-size:14px;font-weight:600;fill:#333;text-anchor:middle;pointer-events:none}.node-key{font-size:11px;fill:#999;text-anchor:middle;pointer-events:none}.modal-content{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #0003}.modal-content h3{margin:0 0 1.5rem;color:#333;font-size:1.3rem}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-form label{font-size:.9rem;color:#333;font-weight:500}.modal-form select,.modal-form input{padding:.75rem;border:1px solid #d9d9d9;border-radius:4px;font-size:.9rem;transition:border-color .3s}.modal-form select:focus,.modal-form input:focus{outline:none;border-color:#52c41a}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.add-character-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s}.add-character-btn:hover{background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.character-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:2rem;margin-bottom:2rem}.character-form h3{margin:0 0 1.5rem;color:#333;font-size:1.3rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.9rem;color:#333;font-weight:500}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #d9d9d9;border-radius:4px;font-size:.9rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#52c41a}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.bio-group{display:flex;gap:1rem}.bio-group textarea{flex:1}.generate-bio-btn{padding:.5rem 1rem;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .3s}.generate-bio-btn:hover{background:#40a9ff}.input-with-ai{display:flex;gap:8px;align-items:flex-start}.input-with-ai textarea{flex:1}.ai-generate-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap;transition:all .2s;flex-shrink:0;height:fit-content}.ai-generate-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 4px #667eea4d}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed;background:#999}.ai-icon{font-size:14px}.ai-prompt-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.ai-prompt-dialog{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e0e0e0}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn:hover{background:#f5f5f5;color:#333}.dialog-body{padding:20px}.dialog-label{margin:0 0 12px;font-size:14px;color:#666;font-weight:500}.prompt-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s;box-sizing:border-box}.prompt-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.dialog-hint{margin:8px 0 0;font-size:12px;color:#999;font-style:italic}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e0e0e0}.btn-confirm{padding:8px 20px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-confirm:hover{background:#5568d3}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-cancel,.btn-save{padding:.5rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-save{background:#52c41a;color:#fff}.btn-save:hover{background:#73d13d}.characters-list{display:flex;flex-direction:column;gap:1.5rem}.character-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .3s}.character-card:hover{box-shadow:0 2px 8px #0000001a}.character-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.character-title{display:flex;align-items:center;gap:1rem;flex:1}.character-title h3{margin:0;font-size:1.2rem;color:#333}.main-badge{padding:.25rem .75rem;background:#fff7e6;color:#fa8c16;border-radius:12px;font-size:.75rem;font-weight:500}.char-key{padding:.25rem .75rem;background:#f5f5f5;color:#666;border-radius:4px;font-size:.75rem;font-family:monospace}.character-actions{display:flex;gap:.5rem}.action-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;transition:transform .3s}.action-icon:hover{transform:scale(1.1)}.character-info{display:flex;flex-direction:column;gap:.75rem}.info-row{font-size:.9rem;color:#666;line-height:1.6}.info-row strong{color:#333;margin-right:.5rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.25rem .75rem;background:#e6f7ff;color:#1890ff;border-radius:12px;font-size:.8rem}.quotes{margin-top:.5rem;padding-left:1rem;border-left:2px solid #e0e0e0;white-space:pre-line;color:#666}.empty-state{text-align:center;padding:3rem;color:#999}.relations-section{display:flex;flex-direction:column;gap:1rem}.relation-item{display:flex;gap:.75rem;align-items:center;padding:.75rem;background:#fff;border:1px solid #e0e0e0;border-radius:4px}.relation-target{flex:2;padding:.5rem;border:1px solid #d9d9d9;border-radius:4px;font-size:.9rem}.character-management-container{display:flex;gap:0;height:100%;background:#f5f5f5}.character-main-content{flex:1;padding:24px;overflow-y:auto;background:#fff}.character-main-content .content-header{margin-bottom:24px}.character-main-content .content-header h1{font-size:24px;font-weight:600;margin-bottom:8px;color:#333}.character-main-content .content-header h2{font-size:18px;font-weight:400;color:#666}.character-main-content .character-form{max-width:800px;display:flex;flex-direction:column;gap:20px;background:#fff;border:none;padding:0;margin:0}.character-main-content .character-form .form-group{display:flex;flex-direction:column;gap:8px}.character-main-content .character-form .form-group.full-width{width:100%}.character-main-content .character-form label{font-size:14px;font-weight:500;color:#333}.character-main-content .character-form input,.character-main-content .character-form select,.character-main-content .character-form textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.character-main-content .character-form input:focus,.character-main-content .character-form select:focus,.character-main-content .character-form textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.character-main-content .character-form textarea{resize:vertical;min-height:100px}.character-main-content .checkbox-group{flex-direction:row;align-items:center}.character-main-content .character-form .form-group.name-with-checkbox{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:16px!important}.character-main-content .character-form .name-input-wrapper{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.character-main-content .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.character-main-content .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.character-main-content .modern-checkbox-label{display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 18px;border-radius:10px;background:#f8f9fa;border:2px solid #e9ecef;transition:all .3s ease;flex-shrink:0;margin-bottom:0}.character-main-content .modern-checkbox-label:hover{background:#f1f3f5;border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #667eea26}.character-main-content .modern-checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.character-main-content .modern-checkbox-custom{position:relative;width:50px;height:28px;background:#dee2e6;border-radius:14px;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.character-main-content .modern-checkbox-custom:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.character-main-content .modern-checkbox-input:checked+.modern-checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2)}.character-main-content .modern-checkbox-input:checked+.modern-checkbox-custom:after{transform:translate(22px);box-shadow:0 2px 8px #667eea66}.character-main-content .modern-checkbox-text{font-size:15px;font-weight:500;color:#495057;transition:color .3s ease;letter-spacing:.3px}.character-main-content .modern-checkbox-text.checked{color:#667eea;font-weight:600}.character-main-content .modern-checkbox-label:has(.modern-checkbox-input:checked){background:#f0f4ff;border-color:#667eea}.character-main-content .modern-checkbox-label:active{transform:scale(.98)}.character-main-content .form-actions{display:flex;gap:12px;margin-top:8px}.character-main-content .list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.character-main-content .list-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.character-ai-sidebar{width:320px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.character-ai-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.character-ai-sidebar .sidebar-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333;margin:0}.character-ai-sidebar .check-icon{color:#10b981;font-size:18px}.add-character-btn-small{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.add-character-btn-small:hover{background:#059669}.character-ai-sidebar .tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px;gap:8px;overflow-x:auto}.character-ai-sidebar .tab-item{padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s}.character-ai-sidebar .tab-item:hover{color:#333}.character-ai-sidebar .tab-item.active{color:#667eea;border-bottom-color:#667eea}.character-ai-sidebar .tab-content{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px}.character-ai-sidebar .section{display:flex;flex-direction:column;gap:12px}.character-ai-sidebar .section h4{font-size:14px;font-weight:600;color:#333;margin:0}.character-ai-sidebar .button-group{display:flex;flex-wrap:wrap;gap:8px}.character-ai-sidebar .role-btn,.character-ai-sidebar .style-btn{padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;transition:all .2s}.character-ai-sidebar .role-btn:hover,.character-ai-sidebar .style-btn:hover{background:#e0e0e0}.character-ai-sidebar .role-btn.active,.character-ai-sidebar .style-btn.active{background:#667eea;color:#fff;border-color:#667eea}.character-ai-sidebar .style-input{margin-top:8px}.character-ai-sidebar .style-input input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px}.generate-character-btn{width:100%;padding:12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.generate-character-btn:hover:not(:disabled){background:#059669}.generate-character-btn:disabled{opacity:.6;cursor:not-allowed;background:#6b7280}.lightning-icon{font-size:16px}.character-ai-sidebar .collapsible .section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.character-ai-sidebar .toggle-icon{font-size:12px;color:#999}.character-ai-sidebar .section-content{display:flex;flex-direction:column;gap:8px;margin-top:8px}.character-ai-sidebar .assist-btn,.character-ai-sidebar .template-btn{width:100%;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;text-align:left;transition:all .2s}.character-ai-sidebar .assist-btn:hover,.character-ai-sidebar .template-btn:hover{background:#e0e0e0}.character-ai-sidebar .completion-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.character-ai-sidebar .percentage{font-size:14px;font-weight:600;color:#667eea}.character-ai-sidebar .progress-bar{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden;margin-bottom:12px}.character-ai-sidebar .progress-fill{height:100%;background:#10b981;transition:width .3s}.character-ai-sidebar .completion-checklist{display:flex;flex-direction:column;gap:8px}.character-ai-sidebar .checklist-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#666;cursor:pointer}.character-ai-sidebar .checklist-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.character-ai-sidebar .placeholder-text{text-align:center;color:#999;font-size:14px;padding:40px 0}.character-main-content::-webkit-scrollbar,.character-ai-sidebar::-webkit-scrollbar{width:6px}.character-main-content::-webkit-scrollbar-track,.character-ai-sidebar::-webkit-scrollbar-track{background:#f5f5f5}.character-main-content::-webkit-scrollbar-thumb,.character-ai-sidebar::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.character-main-content::-webkit-scrollbar-thumb:hover,.character-ai-sidebar::-webkit-scrollbar-thumb:hover{background:#999}.world-building-container{display:flex;gap:0;height:100%;background:#f5f5f5}.world-building-header{position:absolute;top:0;left:0;right:320px;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;align-items:center;z-index:10}.world-main-content{flex:1;padding:80px 24px 24px;overflow-y:auto;background:#fff}.world-section{margin-bottom:32px}.world-section .section-title{font-size:20px;font-weight:600;color:#333;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.world-overview-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:20px}.world-overview-form .form-group{display:flex;flex-direction:column;gap:8px}.world-overview-form .form-group.full-width{width:100%}.world-overview-form label{font-size:14px;font-weight:500;color:#333}.world-overview-form input,.world-overview-form select,.world-overview-form textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.world-overview-form input:focus,.world-overview-form select:focus,.world-overview-form textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.world-overview-form textarea{resize:vertical;min-height:120px}.world-overview-form .form-actions{margin-top:8px}.btn-generate{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.btn-generate:hover{background:#5568d3}.rule-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.rule-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rule-card-header h3{font-size:16px;font-weight:600;color:#333;margin:0}.btn-ai-generate{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.btn-ai-generate:hover{background:#059669}.rule-checkboxes{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-bottom:16px}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.gen-options-section .gen-options-group{display:flex;flex-direction:column;gap:6px}.gen-options-section .gen-option-item{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0 -4px;border-radius:10px;cursor:pointer;font-size:14px;color:#374151;transition:background .2s,color .2s;-webkit-user-select:none;user-select:none}.gen-options-section .gen-option-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#1e293b}.gen-options-section .gen-option-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.gen-options-section .custom-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s;position:relative}.gen-options-section .gen-option-item:hover .custom-checkbox{border-color:#94a3b8}.gen-options-section .gen-option-item input:checked+.custom-checkbox{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;box-shadow:0 2px 8px #6366f159}.gen-options-section .gen-option-item input:checked+.custom-checkbox:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.gen-options-section .gen-option-label{font-weight:500;letter-spacing:.01em}.gen-options-section .outline-selector{margin:6px 0 2px;padding-left:32px}.gen-options-section .outline-select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#334155;background:#fff;transition:border-color .2s,box-shadow .2s}.gen-options-section .outline-select:hover{border-color:#cbd5e1}.gen-options-section .outline-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.rule-card .form-group{margin-top:16px}.world-ai-sidebar{width:320px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.world-ai-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.world-ai-sidebar .sidebar-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333;margin:0}.world-ai-sidebar .check-icon{color:#10b981;font-size:18px}.world-ai-sidebar .tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px;gap:8px;overflow-x:auto}.world-ai-sidebar .tab-item{padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s}.world-ai-sidebar .tab-item:hover{color:#333}.world-ai-sidebar .tab-item.active{color:#667eea;border-bottom-color:#667eea}.world-ai-sidebar .tab-content{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px}.world-ai-sidebar .section{display:flex;flex-direction:column;gap:12px}.world-ai-sidebar .section h4{font-size:14px;font-weight:600;color:#333;margin:0}.world-ai-sidebar .button-group{display:flex;flex-wrap:wrap;gap:8px}.world-ai-sidebar .world-type-btn,.world-ai-sidebar .style-btn{padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;transition:all .2s}.world-ai-sidebar .world-type-btn:hover,.world-ai-sidebar .style-btn:hover{background:#e0e0e0}.world-ai-sidebar .world-type-btn.active,.world-ai-sidebar .style-btn.active{background:#667eea;color:#fff;border-color:#667eea}.world-ai-sidebar .style-input{margin-top:8px}.world-ai-sidebar .style-input input,.world-ai-sidebar .style-input textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;line-height:1.5}.world-ai-sidebar .style-input textarea{min-height:100px}.generate-world-btn{width:100%;padding:12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.generate-world-btn:hover{background:#059669}.world-ai-sidebar .faction-count-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit}.world-ai-sidebar .faction-count-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.world-ai-sidebar .faction-prompt-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical;min-height:60px;line-height:1.5}.world-ai-sidebar .faction-prompt-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.world-ai-sidebar .generate-factions-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px}.world-ai-sidebar .generate-factions-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.world-ai-sidebar .generate-factions-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.world-ai-sidebar .collapsible .section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.world-ai-sidebar .toggle-icon{font-size:12px;color:#999}.world-ai-sidebar .section-content{display:flex;flex-direction:column;gap:8px;margin-top:8px}.world-ai-sidebar .assist-btn,.world-ai-sidebar .template-btn{width:100%;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;text-align:left;transition:all .2s}.world-ai-sidebar .assist-btn:hover,.world-ai-sidebar .template-btn:hover{background:#e0e0e0}.world-ai-sidebar .completion-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.world-ai-sidebar .percentage{font-size:14px;font-weight:600;color:#667eea}.world-ai-sidebar .progress-bar{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden;margin-bottom:12px}.world-ai-sidebar .progress-fill{height:100%;background:#10b981;transition:width .3s}.world-ai-sidebar .completion-checklist{display:flex;flex-direction:column;gap:8px}.world-ai-sidebar .checklist-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#666;cursor:pointer}.world-ai-sidebar .checklist-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.world-ai-sidebar .placeholder-text{text-align:center;color:#999;font-size:14px;padding:40px 0}.world-ai-sidebar .ai-response-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-top:12px}.world-ai-sidebar .ai-response-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.world-ai-sidebar .ai-response-header h4{font-size:14px;font-weight:600;color:#333;margin:0}.world-ai-sidebar .btn-close-response{background:transparent;border:none;color:#999;font-size:20px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .2s}.world-ai-sidebar .btn-close-response:hover{color:#333}.world-ai-sidebar .ai-response-content{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.world-ai-sidebar .response-item{font-size:12px;color:#666;line-height:1.6}.world-ai-sidebar .response-item strong{color:#333;font-weight:600;display:block;margin-bottom:4px}.world-ai-sidebar .response-text{color:#555;white-space:pre-wrap;word-wrap:break-word;padding:8px;background:#fff;border-radius:4px;border:1px solid #e8e8e8;font-size:12px;line-height:1.6;max-height:200px;overflow-y:auto}.world-ai-sidebar .ai-response-content::-webkit-scrollbar,.world-ai-sidebar .response-text::-webkit-scrollbar{width:4px}.world-ai-sidebar .ai-response-content::-webkit-scrollbar-track,.world-ai-sidebar .response-text::-webkit-scrollbar-track{background:#f5f5f5;border-radius:2px}.world-ai-sidebar .ai-response-content::-webkit-scrollbar-thumb,.world-ai-sidebar .response-text::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.world-ai-sidebar .ai-response-content::-webkit-scrollbar-thumb:hover,.world-ai-sidebar .response-text::-webkit-scrollbar-thumb:hover{background:#999}.world-ai-sidebar .ai-response-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.world-ai-sidebar .loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:ai-spin 1s linear infinite}.world-ai-sidebar .loading-text{font-size:12px;color:#666}.world-ai-sidebar .ai-response-empty{padding:40px 20px;text-align:center}.world-ai-sidebar .ai-response-empty p{font-size:12px;color:#999;line-height:1.6;margin:0}.world-ai-sidebar .btn-clear-response{background:transparent;border:1px solid #ddd;color:#666;font-size:12px;cursor:pointer;padding:4px 12px;border-radius:4px;transition:all .2s}.world-ai-sidebar .btn-clear-response:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.world-ai-sidebar .btn-clear-response:disabled{opacity:.5;cursor:not-allowed}.sidebar-section{display:flex;flex-direction:column;gap:16px}.sidebar-tabs{display:flex;border-bottom:1px solid #e0e0e0;gap:8px}.tab-btn{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.tab-btn:hover{color:#333}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:500}.search-section{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.search-section .search-box{margin-bottom:0}.search-box{position:relative;display:flex;align-items:center}.search-box input{width:100%;padding:8px 32px 8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-icon{position:absolute;right:12px;color:#999;pointer-events:none}.btn-ai-small{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.faction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.faction-tabs{display:flex;gap:0}.faction-tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;transition:all .2s;position:relative}.faction-tab:hover{color:#333}.faction-tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:500}.btn-add-faction{display:flex;align-items:center;gap:4px;padding:8px 16px;background:#fff;border:1px solid #667eea;color:#667eea;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-add-faction:hover{background:#667eea;color:#fff}.arrow-icon{font-size:12px;margin-left:4px}.faction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.faction-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .3s;position:relative}.faction-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#667eea}.faction-card-content{cursor:pointer}.faction-card-title{font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.faction-card-delete{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;background:#ff4d4f1a;color:#ff4d4f;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:0}.faction-card:hover .faction-card-delete{opacity:1}.faction-card-delete:hover{background:#ff4d4f;color:#fff}.faction-card-description{font-size:14px;color:#666;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.faction-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#999;font-size:14px}.faction-modal{max-width:600px;width:90%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:24px}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.modal-body .form-group .required{color:#ff4d4f}.modal-body .form-group input,.modal-body .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.modal-body .form-group input:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.modal-body .form-group textarea{resize:vertical;min-height:120px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0}.btn-cancel{padding:10px 20px;background:#fff;border:1px solid #ddd;color:#666;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:#999;color:#333}.modal-actions .btn-save{padding:10px 20px;background:#667eea;border:none;color:#fff;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.modal-actions .btn-save:hover{background:#5568d3}.btn-ai-small:hover{background:#059669}.consistency-alerts{display:flex;flex-direction:column;gap:12px}.alert-card{background:#fff7e6;border:1px solid #ffd591;border-radius:6px;padding:12px;cursor:pointer;transition:all .2s}.alert-card:hover{box-shadow:0 2px 8px #0000001a}.alert-card.warning{background:#fff7e6;border-color:#ffd591}.alert-card.info{background:#e6f7ff;border-color:#91d5ff}.alert-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.alert-icon{color:#fa8c16;font-size:14px}.alert-card.info .alert-icon{color:#1890ff}.alert-title{flex:1;font-size:14px;font-weight:500;color:#333}.alert-content{font-size:12px;color:#666;line-height:1.5}.world-main-content::-webkit-scrollbar,.world-sidebar::-webkit-scrollbar{width:6px}.world-main-content::-webkit-scrollbar-track,.world-ai-sidebar::-webkit-scrollbar-track{background:#f5f5f5}.world-main-content::-webkit-scrollbar-thumb,.world-ai-sidebar::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.world-main-content::-webkit-scrollbar-thumb:hover,.world-ai-sidebar::-webkit-scrollbar-thumb:hover{background:#999}.chapter-generation-container{display:flex;gap:0;height:100%;background:#f5f5f5}.chapter-sidebar{width:320px;background:#f6f6f8;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-title{padding:14px 18px 10px;border-bottom:1px solid #ececf0;background:#f6f6f8}.sidebar-title h3{margin:0;font-size:15px;font-weight:600;color:#1f1f1f;line-height:1.25}.outline-manage-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.outline-manage-icon{font-size:16px;color:#3a3a3a}.chapter-toolbar{display:flex;align-items:center;justify-content:space-between}.chapter-toolbar-left{display:flex;align-items:center;gap:8px}.chapter-toolbar-icon{font-size:18px;color:#333}.chapter-toolbar-label{font-size:16px;font-weight:600;color:#2a2a2a;line-height:1.2}.chapter-toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-icon-btn{border:none;background:transparent;color:#333;width:24px;height:24px;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}.chapter-list{flex:1;overflow-y:auto;padding:10px 8px}.chapter-item{padding:0;transition:background .2s;border-left:3px solid transparent;display:flex;align-items:center;position:relative}.chapter-item:hover{background:#f5f5f5}.chapter-item.active{background:#e6f7ff;border-left-color:#1890ff}.chapter-item .chapter-item-content{flex:1;padding:8px 16px;cursor:pointer;min-width:0}.chapter-item:hover .delete-chapter-btn{opacity:1;transform:scale(1)}.chapter-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.chapter-title{font-size:14px;font-weight:500;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-status{font-size:11px;padding:2px 6px;border-radius:3px;margin-left:8px}.chapter-status.draft{background:#f0f0f0;color:#666}.chapter-status.incomplete{background:#fff1f0;color:#cf1322}.chapter-status.generated{background:#e6f7ff;color:#1890ff}.chapter-status.modified{background:#fff7e6;color:#fa8c16}.chapter-status.completed{background:#f6ffed;color:#52c41a}.chapter-item-meta{display:flex;gap:12px;font-size:12px;color:#999}.chapter-main-events{margin-top:6px;padding-top:6px;border-top:1px solid #f0f0f0}.main-events-label{font-size:11px;color:#999;margin-bottom:4px;font-weight:500}.main-events-content{font-size:12px;color:#666;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.empty-chapters{padding:40px 20px;text-align:center;color:#999;font-size:14px}.add-chapter-btn{margin:12px 20px;padding:10px;background:#52c41a;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.add-chapter-btn:hover{background:#73d13d}.chapter-list-tree{padding:4px 0;background:transparent;border-radius:12px}.volume-block{margin-bottom:10px}.volume-header{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;background:#ececf1;border-radius:12px;margin:0 8px 4px;transition:all .2s;-webkit-user-select:none;user-select:none;box-shadow:none;position:relative;overflow:hidden}.volume-header:before{content:none}.volume-header:hover{background:#e5e6eb}.volume-header.expanded{background:#e5e6eb;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.volume-toggle{font-size:16px;color:#666;flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#6b6f76;color:#fff;border-radius:6px;transition:all .2s;font-weight:600;line-height:1}.volume-header:hover .volume-toggle{background:#555a62}.volume-label{flex:1;font-size:15px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.volume-actions{display:flex;align-items:center;gap:10px}.volume-action-btn{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:transparent;color:#666;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.volume-action-btn:hover{color:#333}.volume-chapters{border-left:none;margin:0 8px 8px 0;padding:4px 8px 6px 6px;background:transparent;border-radius:0}.chapter-item-nested{padding:0;margin-bottom:4px;border-radius:10px;display:flex;align-items:center;position:relative;transition:background .2s,border-color .2s;border:1px solid transparent}.chapter-item-nested:hover{background:#eceef3;border-color:#e3e5eb}.chapter-item-nested .chapter-item-content{flex:1;padding:5px 10px;cursor:pointer;min-width:0}.chapter-item-nested .chapter-item-header{display:flex;align-items:center;justify-content:space-between}.chapter-item-nested .chapter-title{font-size:13px;font-weight:500;color:#2f2f2f;line-height:1.15}.chapter-item-nested .chapter-status{display:none}.chapter-item-nested .chapter-item-meta{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:#8c8c8c;line-height:1.15}.chapter-item-nested .chapter-word-count{color:#909090}.chapter-view-icon{font-size:13px;line-height:1;color:#757575}.delete-chapter-btn{flex-shrink:0;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:#ff4d4f1a;color:#ff4d4f;font-size:18px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;margin-right:8px;opacity:0;transform:scale(.8)}.chapter-item-nested:hover .delete-chapter-btn{opacity:0;transform:scale(.8)}.delete-chapter-btn:hover{background:#ff4d4f;color:#fff;transform:scale(1.1)}.delete-chapter-btn:active{transform:scale(.95)}.empty-hint{margin-top:8px;font-size:12px;color:#bbb}.chapter-main-content{flex:1;display:flex;flex-direction:column;background:#fff;overflow-y:auto}.chapter-editor-header{padding:16px 24px;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px}.chapter-title-input{font-size:18px;font-weight:600;padding:8px 12px;border:1px solid #ddd;border-radius:4px;width:100%}.chapter-search-bar{position:relative}.chapter-search-bar input{width:100%;padding:6px 32px 6px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.chapter-search-bar .search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#999;font-size:12px}.editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 24px;border-bottom:1px solid #e0e0e0;background:#fafafa;flex-wrap:wrap}.toolbar-select{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;margin-right:4px}.toolbar-divider{width:1px;height:20px;background:#e0e0e0;margin:0 4px}.toolbar-btn{width:32px;height:32px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.toolbar-btn:hover{background:#f0f0f0;border-color:#1890ff}.toolbar-btn.active{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.toolbar-btn.ai-action-btn{width:auto;min-width:100px;height:32px;padding:0 12px;font-size:13px;color:#333;white-space:nowrap}.toolbar-btn.ai-action-btn:hover{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.toolbar-btn.ai-action-btn:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5}.toolbar-btn.ai-action-btn:hover:disabled{background:#f5f5f5;border-color:#ddd;color:#999}.chapter-editor-wrapper{flex:1;padding:24px;position:relative}.chapter-editor-wrapper .editor-placeholder{position:absolute;top:24px;left:24px;right:24px;color:#999;font-size:16px;line-height:1.8;font-family:inherit;pointer-events:none}.chapter-editor{width:100%;min-height:700px;height:100%;border:none;outline:none;font-size:16px;line-height:1.8;font-family:inherit;resize:none;padding:0}.chapter-editor.contenteditable-body{white-space:pre-wrap;word-wrap:break-word}.chapter-editor:focus{outline:none}.contenteditable-body .paragraph-highlight{border-radius:3px;padding:1px 3px;margin:0 -1px}.contenteditable-body .paragraph-highlight--pending{background:#fff3cd;box-shadow:0 0 0 1px #ffc107}.contenteditable-body .paragraph-highlight--modifying{background:#ffe69c;box-shadow:0 0 0 1px #ff9800;animation:body-highlight-pulse 1.2s ease-in-out infinite}@keyframes body-highlight-pulse{0%,to{opacity:1}50%{opacity:.88}}.contenteditable-body .paragraph-highlight--modified{background:#cce5ff;box-shadow:0 0 0 1px #0d6efd}.paragraph-edit-panel{margin:0 1rem 1rem;padding:12px 16px;background:#f8f9fa;border:1px solid #e8e8e8;border-radius:8px}.paragraph-edit-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px;font-weight:600;color:#333}.paragraph-edit-hint{font-weight:400;font-size:12px;color:#888}.paragraph-edit-tab .paragraph-edit-hint-inline{font-size:12px;color:#888;margin:0 0 12px;line-height:1.4}.paragraph-edit-tab .paragraph-edit-text-align{cursor:pointer}.paragraph-edit-tab .paragraph-edit-item{flex-direction:column;align-items:stretch;gap:8px}.paragraph-edit-instruction-wrap{display:flex;flex-direction:column;gap:4px}.paragraph-edit-instruction-label{font-size:12px;color:#666}.paragraph-edit-instruction-input{width:100%;min-height:64px;padding:8px 10px;font-size:13px;line-height:1.5;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa;box-sizing:border-box;resize:vertical}.paragraph-edit-instruction-input::placeholder{color:#aaa}.paragraph-edit-instruction-input:focus{outline:none;border-color:#1890ff;background:#fff}.paragraph-edit-tab .paragraph-edit-actions{justify-content:flex-end}.paragraph-edit-empty{padding:16px;text-align:center;color:#999;font-size:13px}.paragraph-edit-list{list-style:none;margin:0;padding:0}.paragraph-edit-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:8px;transition:background-color .2s,border-color .2s}.paragraph-edit-item.state-pending{background:#fffbe6;border-color:#ffe58f}.paragraph-edit-item.state-modifying{background:#fffbe6;border-color:#ffc53d;animation:paragraph-edit-pulse 1.2s ease-in-out infinite}@keyframes paragraph-edit-pulse{0%,to{opacity:1}50%{opacity:.85}}.paragraph-edit-item.state-modified{background:#e6f7ff;border-color:#91d5ff}.paragraph-edit-item:last-child{margin-bottom:0}.paragraph-edit-result-wrap{width:100%;display:flex;flex-direction:column;gap:6px}.paragraph-edit-result-text{font-size:13px;line-height:1.5;color:#333;word-break:break-all;padding:6px 8px;background:#ffffffb3;border-radius:4px}.paragraph-edit-result-text-stream{max-height:180px;overflow-y:auto;white-space:pre-wrap}.paragraph-edit-result-wrap.streaming .paragraph-edit-result-text-stream:after{content:"▋";animation:paragraph-cursor-blink .8s step-end infinite;color:#1890ff;margin-left:1px}@keyframes paragraph-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.paragraph-edit-text{flex:1;font-size:13px;line-height:1.5;color:#333;word-break:break-all}.paragraph-edit-actions{display:flex;gap:8px;flex-shrink:0}.paragraph-edit-btn{padding:4px 10px;font-size:12px;border-radius:4px;border:1px solid #d9d9d9;background:#fff;cursor:pointer;transition:all .2s}.paragraph-edit-btn:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.paragraph-edit-btn.modify{border-color:#1890ff;color:#1890ff}.paragraph-edit-btn.remove{color:#666}.paragraph-edit-btn.accept{border-color:#52c41a;color:#52c41a;background:#f6ffed}.paragraph-edit-btn.accept:hover{background:#b7eb8f;color:#389e0d;border-color:#52c41a}.paragraph-edit-btn.discard{color:#666;border-color:#d9d9d9}.paragraph-edit-btn.discard:hover{color:#333;border-color:#999}.paragraph-edit-btn:disabled{opacity:.6;cursor:not-allowed}.context-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.paragraph-context-menu{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #0000001f}.context-menu-item{display:block;width:100%;padding:8px 14px;text-align:left;border:none;background:none;font-size:13px;color:#333;cursor:pointer}.context-menu-item:hover{background:#f5f5f5}.paragraph-edit-popover{position:fixed;z-index:10000;width:360px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #e6e6e6;border-radius:10px;box-shadow:0 10px 28px #0000002e;padding:10px}.paragraph-edit-popover-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.paragraph-edit-popover-close{width:24px;height:24px;border:none;background:transparent;color:#666;cursor:pointer;font-size:18px;line-height:1}.paragraph-edit-popover-original,.paragraph-edit-popover-result{max-height:120px;overflow-y:auto;padding:8px 10px;border-radius:6px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.paragraph-edit-popover-original{background:#f8f9fb;border:1px solid #eceff4;margin-bottom:8px}.paragraph-edit-popover-result{background:#eef7ff;border:1px solid #cfe7ff;margin-bottom:8px}.paragraph-edit-popover-input{width:100%;min-height:72px;resize:vertical;border:1px solid #e0e0e0;border-radius:6px;padding:8px 10px;font-size:13px;margin-bottom:8px;box-sizing:border-box}.paragraph-edit-popover-input:focus{outline:none;border-color:#1890ff}.paragraph-edit-popover-actions{display:flex;justify-content:flex-end;gap:8px}.editor-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#fafafa}.version-info{display:flex;gap:8px}.version-tag{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.version-tag.ai-version{background:#e6f7ff;color:#1890ff}.version-tag.manual-version{background:#f6ffed;color:#52c41a}.editor-actions{display:flex;gap:12px}.btn-save{padding:8px 16px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-save:not(:disabled):hover{background:#e0e0e0}.btn-generate-next{padding:8px 16px;background:#52c41a;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.btn-generate-next:hover{background:#73d13d}.chapter-outline-block{margin:12px 24px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;border-left:4px solid #94a3b8}.outline-block-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:8px;letter-spacing:.02em}.outline-block-textarea{display:block;width:100%;min-height:80px;padding:10px 12px;font-size:13px;line-height:1.5;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.outline-block-textarea::placeholder{color:#94a3b8}.outline-block-textarea:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b826}.outline-block-textarea:read-only{background:#f1f5f9;cursor:default}.chapter-outline{margin:0 24px 24px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa}.outline-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #e0e0e0}.outline-header h4{margin:0;font-size:14px;font-weight:600;color:#333}.toggle-icon{color:#999;font-size:12px}.outline-content{padding:16px}.outline-list{margin:0;padding-left:20px;list-style:disc}.outline-list li{margin-bottom:8px;color:#666;font-size:14px;line-height:1.6}.outline-stats{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;font-size:12px;color:#999}.chapter-ai-sidebar{width:320px;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden;height:100%}.chapter-ai-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.chapter-ai-sidebar .sidebar-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.btn-generate-main{padding:6px 12px;background:#52c41a;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.btn-generate-main:hover{background:#73d13d}.chapter-ai-sidebar .sidebar-tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px;gap:8px}.chapter-ai-sidebar .tab-btn{padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s}.chapter-ai-sidebar .tab-btn:hover{color:#333}.chapter-ai-sidebar .tab-btn.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.chapter-ai-sidebar .tab-content{flex:1;padding:20px;overflow-y:scroll;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:#ccc #f5f5f5}.chapter-ai-sidebar .character-btn{padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;transition:all .2s}.chapter-ai-sidebar .character-btn:hover{background:#e0e0e0}.chapter-ai-sidebar .character-btn.active{background:#1890ff;color:#fff;border-color:#1890ff}.chapter-ai-sidebar .characters-loading,.chapter-ai-sidebar .characters-empty{font-size:12px;color:#999;padding:8px 0}.chapter-ai-sidebar .rewrite-actions-section .rewrite-requirement-input{width:100%;min-height:88px;padding:10px 12px;font-size:14px;line-height:1.5;border:1px solid #e0e0e0;border-radius:4px;background:#fff;box-sizing:border-box;margin-bottom:8px;resize:vertical}.chapter-ai-sidebar .rewrite-actions-section .rewrite-requirement-input::placeholder{color:#aaa}.chapter-ai-sidebar .rewrite-actions-section .rewrite-requirement-input:focus{outline:none;border-color:#1890ff}.chapter-ai-sidebar .chapter-ai-footer-actions{display:flex;flex-wrap:wrap;gap:8px}.chapter-ai-sidebar .btn-ai-footer{padding:6px 12px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.chapter-ai-sidebar .btn-ai-footer:hover:not(:disabled){background:#e8e8e8}.chapter-ai-sidebar .btn-ai-footer:disabled{opacity:.6;cursor:not-allowed}.chapter-ai-sidebar .btn-ai-footer.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff}.chapter-ai-sidebar .btn-ai-footer.btn-generate{background:#52c41a;color:#fff;border-color:#52c41a}.chapter-ai-sidebar .btn-ai-footer.btn-generate:hover:not(:disabled){background:#73d13d}.chapter-ai-sidebar .tab-panel{display:flex;flex-direction:column;gap:20px}.chapter-ai-sidebar .section{display:flex;flex-direction:column;gap:12px}.chapter-ai-sidebar .section h4{font-size:14px;font-weight:600;color:#333;margin:0}.chapter-ai-sidebar .section input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.chapter-ai-sidebar .button-group{display:flex;flex-wrap:wrap;gap:8px}.chapter-ai-sidebar .button-group.vertical{flex-direction:column}.focus-btn,.style-btn{padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;transition:all .2s}.focus-btn:hover,.style-btn:hover{background:#e0e0e0}.focus-btn.active,.style-btn.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff}.optimize-btn{width:100%;padding:10px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:13px;text-align:left;transition:all .2s}.optimize-btn:hover{background:#e0e0e0}.optimize-btn.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff}.section-header-clickable{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:4px 0}.section-content{margin-top:8px;padding-top:12px;border-top:1px solid #f0f0f0}.issue-item{display:flex;gap:8px;padding:12px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;margin-bottom:8px}.issue-icon{font-size:16px;flex-shrink:0}.issue-content{flex:1}.issue-title{font-size:13px;font-weight:500;color:#333;margin-bottom:4px}.issue-desc{font-size:12px;color:#666;line-height:1.5}.btn-diagnose{width:100%;padding:8px;background:#1890ff;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;margin-top:8px;transition:background .2s}.btn-diagnose:hover{background:#40a9ff}.version-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:300px;overflow-y:auto}.version-item{padding:10px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.version-item:hover{background:#e0e0e0}.version-item.active{background:#e6f7ff;border-color:#1890ff}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.version-label{font-size:13px;font-weight:500;color:#333}.version-source{font-size:11px;padding:2px 6px;border-radius:3px}.version-source.ai{background:#e6f7ff;color:#1890ff}.version-source.manual{background:#f6ffed;color:#52c41a}.version-meta{display:flex;gap:12px;font-size:11px;color:#999}.btn-rollback{width:100%;padding:8px;background:#ff4d4f;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.btn-rollback:hover:not(:disabled){background:#ff7875}.btn-rollback:disabled{opacity:.5;cursor:not-allowed}.section-header-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.selected-count{font-size:12px;color:#1890ff;font-weight:500}.related-chapters-search{position:relative;margin-bottom:12px}.related-chapters-search input{width:100%;padding:6px 28px 6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.search-icon-small{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:12px;pointer-events:none}.related-chapters-list{max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;padding:8px;margin-bottom:12px;background:#fafafa}.related-chapter-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer;transition:background .2s;margin-bottom:4px}.related-chapter-item:hover:not(.disabled){background:#f0f0f0}.related-chapter-item.disabled{opacity:.5;cursor:not-allowed}.related-chapter-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.related-chapter-item.disabled input[type=checkbox]{cursor:not-allowed}.related-chapter-info{flex:1;display:flex;flex-direction:column;gap:2px}.related-chapter-title{font-size:13px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-chapter-meta{font-size:11px;color:#999}.empty-related{text-align:center;color:#999;font-size:12px;padding:20px 0}.selected-chapters-tags{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#f0f7ff;border:1px solid #d4edda;border-radius:4px}.selected-chapter-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#1890ff;color:#fff;border-radius:12px;font-size:12px;font-weight:500}.tag-close{cursor:pointer;font-size:16px;line-height:1;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.tag-close:hover{background:#ffffff4d}.chapter-sidebar::-webkit-scrollbar,.chapter-main-content::-webkit-scrollbar,.chapter-ai-sidebar .tab-content::-webkit-scrollbar{width:6px}.chapter-sidebar::-webkit-scrollbar-track,.chapter-main-content::-webkit-scrollbar-track,.chapter-ai-sidebar .tab-content::-webkit-scrollbar-track{background:#f5f5f5}.chapter-sidebar::-webkit-scrollbar-thumb,.chapter-main-content::-webkit-scrollbar-thumb,.chapter-ai-sidebar .tab-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.chapter-sidebar::-webkit-scrollbar-thumb:hover,.chapter-main-content::-webkit-scrollbar-thumb:hover,.chapter-ai-sidebar .tab-content::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 768px){.editor-sidebar{width:160px}.editor-sidebar.collapsed{width:50px}.sidebar-nav .nav-item{padding:.75rem 1rem;font-size:.85rem}.header-center,.header-right{display:none}.form-grid{grid-template-columns:1fr}.bio-group{flex-direction:column}.character-header{flex-direction:column;gap:1rem}.relation-item{flex-direction:column;align-items:stretch}.relation-target,.relation-type,.relation-note{width:100%}}.outline-generator-container{display:flex;flex:1;min-height:0;overflow:hidden}.outline-main-content{flex:1;min-height:0;padding:24px;overflow-y:auto;background:#fff}.outline-main-content .content-header{margin-bottom:24px}.outline-main-content .content-header h1{font-size:24px;font-weight:600;color:#333;margin:0}.basic-settings-section{margin-bottom:24px;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.section-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px}.settings-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-item{flex:1;display:flex;flex-direction:column;gap:8px}.form-item.full-width{width:100%}.form-item label{font-size:14px;font-weight:500;color:#333}.form-item select,.form-item textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-item select:focus,.form-item textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-item textarea{resize:vertical;min-height:80px}.character-select{position:relative}.character-select input{width:100%;padding:10px 40px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.select-arrow{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.person-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}.tag-selector{display:flex;flex-wrap:wrap;gap:8px}.tag-btn{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.tag-btn:hover{background:#e0e0e0}.tag-btn.active{background:#10b981;color:#fff;border-color:#10b981}.generate-section{margin-bottom:24px;display:flex;justify-content:center}.generate-btn-primary{display:flex;align-items:center;gap:8px;padding:12px 32px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.generate-btn-primary:hover:not(:disabled){background:#059669}.generate-btn-primary:disabled{opacity:.6;cursor:not-allowed}.star-icon{font-size:18px}.outline-display-section{display:flex;flex-direction:column;gap:16px}.outline-display-section .collapsible-section{border:1px solid #e0e0e0;border-radius:6px;background:#fff}.outline-display-section .collapsible-section .section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s}.outline-display-section .collapsible-section .section-header:hover{background:#fafafa}.outline-display-section .collapsible-section .section-header h3{font-size:16px;font-weight:600;color:#333;margin:0}.outline-display-section .toggle-icon{font-size:12px;color:#999}.outline-display-section .section-content{padding:16px 20px;border-top:1px solid #f0f0f0}.outline-text{color:#666;line-height:1.8;white-space:pre-wrap}.outline-item{margin-bottom:12px}.outline-label{font-weight:600;color:#333;margin-bottom:4px}.outline-value{color:#666;line-height:1.6}.volume-item{margin-bottom:20px;padding:16px;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px}.volume-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.volume-label{font-size:16px;font-weight:600;color:#333}.generate-volume-chapters-btn{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.generate-volume-chapters-btn:hover:not(:disabled){background:#5568d3}.generate-volume-chapters-btn:disabled{opacity:.6;cursor:not-allowed}.volume-content{display:flex;flex-direction:column;gap:12px}.volume-chapters{margin-top:8px}.chapters-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chapter-tag{padding:4px 10px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:12px;font-size:12px;color:#1890ff}.empty-volumes{text-align:center;padding:20px 0;color:#999;font-size:14px}.hint-text{color:#999;font-size:14px;text-align:center;padding:20px 0}.outline-right-sidebar{width:360px;flex-shrink:0;min-height:0;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.outline-right-sidebar .sidebar-header{flex-shrink:0;padding:16px 20px;border-bottom:1px solid #e0e0e0}.outline-right-sidebar .sidebar-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.outline-right-sidebar-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.outline-right-sidebar .right-section{padding:16px 20px;border-bottom:1px solid #f0f0f0}.outline-right-sidebar .right-section .section-header{margin-bottom:12px}.outline-right-sidebar .right-section .section-header h4{font-size:14px;font-weight:600;color:#333;margin:0}.outline-novel-detail-box{background:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:12px;border:1px solid #e0e0e0}.outline-novel-detail-title{font-size:12px;color:#666;margin-bottom:8px;font-weight:500;flex-shrink:0}.outline-novel-detail-content{max-height:140px;overflow-y:auto;overflow-x:hidden;font-size:13px;color:#333;line-height:1.8}.outline-novel-detail-row{margin-bottom:4px}.outline-novel-detail-label{color:#999}.outline-novel-detail-empty{color:#999;font-size:12px}.outline-novel-detail-content::-webkit-scrollbar{width:5px}.outline-novel-detail-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.outline-novel-detail-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.outline-novel-detail-content::-webkit-scrollbar-thumb:hover{background:#999}.diagnosis-list{display:flex;flex-direction:column;gap:12px}.diagnosis-item{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#fff7e6;border-radius:4px;border-left:3px solid #faad14}.warning-icon{font-size:16px;flex-shrink:0}.diagnosis-text{font-size:13px;color:#666;line-height:1.6;flex:1}.empty-diagnosis{text-align:center;padding:20px 0;color:#999;font-size:14px}.chapter-generator{display:flex;flex-direction:column;gap:12px}.volume-selector{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.volume-selector label{font-size:14px;color:#333;font-weight:500}.volume-select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.volume-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.volume-select:disabled{background:#f5f5f5;cursor:not-allowed}.chapter-select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.chapter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.chapter-select:disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.target-words-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;transition:border-color .2s}.target-words-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.target-words-input::placeholder{color:#999}.chapter-range{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.chapter-range label{font-size:14px;color:#333;font-weight:500}.range-inputs{display:flex;align-items:center;gap:8px}.range-input{width:60px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.generate-chapter-btn{width:100%;padding:10px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.generate-chapter-btn:hover:not(:disabled){background:#059669}.generate-chapter-btn:disabled{opacity:.6;cursor:not-allowed}.chapter-list{display:flex;flex-direction:column;gap:12px}.chapter-card{padding:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.chapter-card:hover{background:#f0f0f0;border-color:#667eea}.chapter-title{font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.chapter-content{font-size:12px;color:#666;line-height:1.6}.chapter-goal,.chapter-events{margin-bottom:6px}.chapter-goal strong,.chapter-events strong{color:#333}.empty-chapters{text-align:center;padding:40px 0;color:#999;font-size:14px}.outline-right-sidebar::-webkit-scrollbar,.outline-right-sidebar-body::-webkit-scrollbar,.outline-main-content::-webkit-scrollbar{width:6px}.outline-right-sidebar::-webkit-scrollbar-track,.outline-right-sidebar-body::-webkit-scrollbar-track,.outline-main-content::-webkit-scrollbar-track{background:#f5f5f5}.outline-right-sidebar::-webkit-scrollbar-thumb,.outline-right-sidebar-body::-webkit-scrollbar-thumb,.outline-main-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.outline-right-sidebar::-webkit-scrollbar-thumb:hover,.outline-right-sidebar-body::-webkit-scrollbar-thumb:hover,.outline-main-content::-webkit-scrollbar-thumb:hover{background:#999}.chapter-outline-container{display:flex;flex:1;overflow:hidden}.chapter-outline-main-content{flex:1;padding:24px;overflow-y:auto;background:#fff}.chapter-outline-main-content .content-header{margin-bottom:24px}.chapter-outline-main-content .content-header h1{font-size:24px;font-weight:600;color:#333;margin:0}.volume-selector-section{margin-bottom:32px}.volume-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.volume-list-fixed{max-height:320px;overflow-y:auto}.volume-list-fixed .volume-card{height:160px;display:flex;flex-direction:column;overflow:hidden}.volume-list-fixed .volume-card-content{flex:1;min-height:0;overflow:hidden}.volume-list-fixed .volume-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volume-list-fixed .volume-goal{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.volume-list-fixed .volume-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3}.volume-card{padding:20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.volume-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.volume-card.active{border-color:#667eea;background:#f0f4ff;box-shadow:0 2px 8px #667eea33}.volume-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.volume-card-title{display:flex;align-items:center;gap:8px}.volume-number{font-size:16px;font-weight:600;color:#667eea}.volume-name{font-size:16px;font-weight:600;color:#333}.chapter-count{padding:4px 12px;background:#e0e0e0;border-radius:12px;font-size:12px;color:#666}.volume-card-content{display:flex;flex-direction:column;gap:8px}.ai-assistant-panel{position:sticky;top:2rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;height:fit-content;max-height:calc(100vh - 200px);overflow-y:auto}.ai-panel-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.ai-panel-header h3{font-size:1.2rem;font-weight:600;color:#333;margin:0 0 .5rem}.ai-panel-desc{font-size:.85rem;color:#666;margin:0}.ai-features{display:flex;flex-direction:column;gap:1rem}.ai-feature-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;transition:all .2s}.ai-feature-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.ai-feature-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.ai-feature-icon{font-size:1.2rem}.ai-feature-title{font-size:.95rem;font-weight:600;color:#333}.ai-feature-desc{font-size:.85rem;color:#666;margin:0 0 .75rem;line-height:1.4}.ai-feature-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.ai-feature-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.ai-feature-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-generate-all-btn{padding:1rem 1.5rem;font-size:1rem;font-weight:600}.ai-loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ai-spin .8s linear infinite;margin-right:.5rem;flex-shrink:0}@keyframes ai-spin{to{transform:rotate(360deg)}}.loading-spinner-small{display:inline-block;animation:ai-spin 1s linear infinite;margin-right:.5rem}.ai-generate-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;animation:ai-overlay-fade .2s ease-out}@keyframes ai-overlay-fade{0%{opacity:0}to{opacity:1}}.ai-generate-loading-box{background:#fff;border-radius:12px;padding:2rem 2.5rem;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;align-items:center;gap:1.25rem;min-width:280px}.ai-generate-loading-spinner{width:48px;height:48px;border:4px solid #e8e8e8;border-top-color:#52c41a;border-radius:50%;animation:ai-spin .9s linear infinite}.ai-generate-loading-text{margin:0;font-size:1.1rem;font-weight:600;color:#333}.ai-generate-loading-hint{margin:0;font-size:.9rem;color:#666}.ai-form-group{margin-bottom:1.25rem}.ai-form-label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:#333}.ai-form-label .optional{color:#999;font-weight:400;font-size:.85rem}.ai-form-textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;font-family:inherit;transition:all .2s;background:#fff;resize:vertical;min-height:100px;line-height:1.5}.ai-form-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.ai-type-categories{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;padding:.5rem}.ai-type-category{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.ai-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.ai-category-title{font-size:.95rem;font-weight:600;color:#333}.ai-category-count{font-size:.85rem;color:#667eea;font-weight:500}.ai-checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.ai-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.ai-checkbox-label{font-size:.9rem;color:#333;cursor:pointer}.ai-checkbox-item:hover .ai-checkbox-label{color:#667eea}.ai-form-hint{margin-top:.5rem;font-size:.8rem;color:#999;line-height:1.4}.volume-goal{font-size:14px;color:#666}.volume-goal strong{color:#333}.volume-description{font-size:14px;color:#666;line-height:1.5}.empty-volumes-hint{padding:40px;text-align:center;color:#999;background:#fafafa;border-radius:8px;border:1px dashed #ddd}.chapter-generator-section{margin-top:32px}.chapter-range-section{display:flex;flex-direction:column;gap:16px;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.range-input-group{display:flex;flex-direction:column;gap:8px}.range-input-group label{font-size:14px;font-weight:500;color:#333}.range-inputs{display:flex;align-items:center;gap:12px}.range-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.range-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.generate-chapter-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.generate-chapter-btn-primary:hover:not(:disabled){background:#059669}.generate-chapter-btn-primary:disabled{opacity:.6;cursor:not-allowed}.chapter-outline-right-sidebar{width:320px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.chapter-outline-right-sidebar .sidebar-header{padding:16px 20px;border-bottom:1px solid #e0e0e0}.chapter-outline-right-sidebar .sidebar-header h3{font-size:16px;font-weight:600;color:#333;margin:0}.volume-info{padding:16px;display:flex;flex-direction:column;gap:12px}.info-item{font-size:14px;line-height:1.6;color:#666}.info-item strong{color:#333;display:block;margin-bottom:4px}.novel-edit-panel{padding:2rem}.novel-edit-layout{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}.novel-edit-form{max-width:100%}.form-actions{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.btn-save{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-save:disabled{opacity:.6;cursor:not-allowed}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.form-section:last-of-type{border-bottom:none}.section-title{font-size:1.2rem;font-weight:600;color:#333;margin:0 0 1.5rem}.subsection-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-size:.95rem;color:#333;font-weight:500}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem 1rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .3s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#52c41a;box-shadow:0 0 0 2px #52c41a1a}.form-textarea{resize:vertical;min-height:100px}.form-select{background:#fff;cursor:pointer}.required{color:#ff4d4f}.form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.btn-save{padding:.75rem 2rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s}.btn-save:hover:not(:disabled){background:#73d13d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.chapter-list-section[data-v-acb7b24f]{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-save-all[data-v-acb7b24f]{background:#52c41a;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;transition:all .3s}.btn-save-all[data-v-acb7b24f]:hover{background:#73d13d}.btn-add-chapter[data-v-acb7b24f]{background:#1890ff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;transition:all .3s}.btn-add-chapter[data-v-acb7b24f]:hover{background:#40a9ff}.header-actions[data-v-acb7b24f]{display:flex;gap:12px}.chapter-cards-container[data-v-acb7b24f]{display:flex;flex-direction:column;gap:20px}.editable-chapter-card[data-v-acb7b24f]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:0;box-shadow:0 2px 8px #0000000d;transition:all .3s}.editable-chapter-card[data-v-acb7b24f]:hover{box-shadow:0 4px 12px #0000001a;border-color:#d9d9d9}.card-header[data-v-acb7b24f]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#fafafa;border-bottom:1px solid #f0f0f0;border-radius:8px 8px 0 0}.header-left[data-v-acb7b24f]{display:flex;align-items:center;gap:12px;flex:1}.chapter-number-badge[data-v-acb7b24f]{background:#e6f7ff;color:#1890ff;padding:4px 10px;border-radius:4px;font-size:13px;font-weight:600;white-space:nowrap}.chapter-title-input[data-v-acb7b24f]{border:1px solid transparent;background:transparent;font-size:16px;font-weight:600;color:#333;padding:4px 8px;border-radius:4px;flex:1;transition:all .3s}.chapter-title-input[data-v-acb7b24f]:hover,.chapter-title-input[data-v-acb7b24f]:focus{border-color:#d9d9d9;background:#fff;outline:none}.chapter-title-input[data-v-acb7b24f]:focus{border-color:#1890ff}.card-actions[data-v-acb7b24f]{display:flex;gap:8px}.icon-btn[data-v-acb7b24f]{background:#fff;border:1px solid #d9d9d9;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;font-size:16px}.icon-btn[data-v-acb7b24f]:hover{border-color:#1890ff;color:#1890ff;transform:translateY(-1px)}.icon-btn.delete[data-v-acb7b24f]:hover{border-color:#ff4d4f;color:#ff4d4f}.card-body[data-v-acb7b24f]{padding:20px}.form-group[data-v-acb7b24f]{margin-bottom:15px}.form-group[data-v-acb7b24f]:last-child{margin-bottom:0}.form-group label[data-v-acb7b24f]{display:block;margin-bottom:8px;color:#666;font-size:14px;font-weight:500}.auto-resize-textarea[data-v-acb7b24f]{width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:4px;font-family:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:all .3s;background:#fafafa}.auto-resize-textarea[data-v-acb7b24f]:focus{background:#fff;border-color:#1890ff;outline:none;box-shadow:0 0 0 2px #1890ff1a}.empty-state-center[data-v-acb7b24f]{text-align:center;padding:60px 0;color:#999;background:#fafafa;border-radius:8px;border:2px dashed #e0e0e0}.empty-icon[data-v-acb7b24f]{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-center p[data-v-acb7b24f]{margin:0;font-size:16px;color:#666}.empty-selection-hint[data-v-acb7b24f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:#999;background:#fff;border-radius:8px;border:1px dashed #e0e0e0;margin-top:20px}.hint-icon[data-v-acb7b24f]{font-size:48px;margin-bottom:16px;opacity:.5;animation:bounce-acb7b24f 2s infinite}@keyframes bounce-acb7b24f{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-selection-hint p[data-v-acb7b24f]{margin:0;font-size:16px;color:#666;font-weight:500}.empty-selection-hint .sub-text[data-v-acb7b24f]{font-size:13px;color:#999;margin-top:8px;font-weight:400}.outline-generator-layout[data-v-d9aed42b]{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.top-header[data-v-d9aed42b]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.header-left[data-v-d9aed42b]{display:flex;align-items:center;gap:16px}.exit-btn[data-v-d9aed42b]{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.exit-btn[data-v-d9aed42b]:hover{background:#f5f5f5}.exit-icon[data-v-d9aed42b]{font-size:16px}.multi-select-btn[data-v-d9aed42b]{padding:6px 12px;background:transparent;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.multi-select-btn[data-v-d9aed42b]:hover{background:#f5f5f5}.header-center[data-v-d9aed42b]{display:flex;gap:8px}.tag-item[data-v-d9aed42b]{padding:6px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.tag-item.active[data-v-d9aed42b]{background:#667eea;color:#fff;border-color:#667eea}.header-right[data-v-d9aed42b]{display:flex;align-items:center;gap:16px;font-size:14px;color:#666}.save-status[data-v-d9aed42b],.word-count[data-v-d9aed42b]{display:flex;align-items:center;gap:4px}.st-icon[data-v-d9aed42b]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f5f5f5;border-radius:4px}.layout-body[data-v-d9aed42b]{display:flex;flex:1;overflow:hidden}.left-sidebar[data-v-d9aed42b]{width:200px;background:#2c2c2c;color:#fff;overflow-y:auto}.sidebar-nav[data-v-d9aed42b]{padding:16px 0}.nav-item[data-v-d9aed42b]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 20px;background:transparent;color:#fff;border:none;text-align:left;cursor:pointer;transition:background .2s;font-size:14px}.nav-item[data-v-d9aed42b]:hover{background:#ffffff1a}.nav-item.active[data-v-d9aed42b]{background:#3c3c3c;border-left:3px solid #667eea}.nav-icon[data-v-d9aed42b]{font-size:16px}.nav-label[data-v-d9aed42b]{flex:1}.main-content[data-v-d9aed42b]{flex:1;padding:24px;overflow-y:auto;background:#fff}.content-header[data-v-d9aed42b]{margin-bottom:24px}.content-header h1[data-v-d9aed42b]{font-size:24px;font-weight:600;color:#333;margin:0}.basic-settings-section[data-v-d9aed42b]{margin-bottom:24px;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.section-title[data-v-d9aed42b]{font-size:18px;font-weight:600;color:#333;margin:0 0 20px}.settings-form[data-v-d9aed42b]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-d9aed42b]{display:flex;gap:16px}.form-item[data-v-d9aed42b]{flex:1;display:flex;flex-direction:column;gap:8px}.form-item.full-width[data-v-d9aed42b]{width:100%}.form-item label[data-v-d9aed42b]{font-size:14px;font-weight:500;color:#333}.form-item select[data-v-d9aed42b],.form-item textarea[data-v-d9aed42b]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-item select[data-v-d9aed42b]:focus,.form-item textarea[data-v-d9aed42b]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-item textarea[data-v-d9aed42b]{resize:vertical;min-height:80px}.character-select[data-v-d9aed42b]{position:relative}.character-select input[data-v-d9aed42b]{width:100%;padding:10px 40px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.select-arrow[data-v-d9aed42b]{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.person-icon[data-v-d9aed42b]{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}.tag-selector[data-v-d9aed42b]{display:flex;flex-wrap:wrap;gap:8px}.tag-btn[data-v-d9aed42b]{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.tag-btn[data-v-d9aed42b]:hover{background:#e0e0e0}.tag-btn.active[data-v-d9aed42b]{background:#10b981;color:#fff;border-color:#10b981}.generate-section[data-v-d9aed42b]{margin-bottom:24px;display:flex;justify-content:center}.generate-btn[data-v-d9aed42b]{display:flex;align-items:center;gap:8px;padding:12px 32px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.generate-btn[data-v-d9aed42b]:hover:not(:disabled){background:#059669}.generate-btn[data-v-d9aed42b]:disabled{opacity:.6;cursor:not-allowed}.star-icon[data-v-d9aed42b]{font-size:18px}.outline-display-section[data-v-d9aed42b]{display:flex;flex-direction:column;gap:16px}.collapsible-section[data-v-d9aed42b]{border:1px solid #e0e0e0;border-radius:6px;background:#fff}.collapsible-section .section-header[data-v-d9aed42b]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s}.collapsible-section .section-header[data-v-d9aed42b]:hover{background:#fafafa}.collapsible-section .section-header h3[data-v-d9aed42b]{font-size:16px;font-weight:600;color:#333;margin:0}.toggle-icon[data-v-d9aed42b]{font-size:12px;color:#999}.section-content[data-v-d9aed42b]{padding:16px 20px;border-top:1px solid #f0f0f0}.outline-item[data-v-d9aed42b]{margin-bottom:12px}.outline-label[data-v-d9aed42b]{font-weight:600;color:#333;margin-bottom:4px}.outline-value[data-v-d9aed42b]{color:#666;line-height:1.6}.hint-text[data-v-d9aed42b]{color:#999;font-size:14px;text-align:center;padding:20px 0}.right-sidebar[data-v-d9aed42b]{width:360px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header[data-v-d9aed42b]{padding:16px 20px;border-bottom:1px solid #e0e0e0}.sidebar-header h3[data-v-d9aed42b]{font-size:18px;font-weight:600;color:#333;margin:0}.right-section[data-v-d9aed42b]{padding:16px 20px;border-bottom:1px solid #f0f0f0}.right-section .section-header[data-v-d9aed42b]{margin-bottom:12px}.right-section .section-header h4[data-v-d9aed42b]{font-size:14px;font-weight:600;color:#333;margin:0}.diagnosis-list[data-v-d9aed42b]{display:flex;flex-direction:column;gap:12px}.volume-input[data-v-d9aed42b]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.volume-card[data-v-d9aed42b]{margin-bottom:16px;border:1px solid #eee;border-radius:6px;overflow:hidden}.volume-card[data-v-d9aed42b]:last-child{margin-bottom:0}.volume-header[data-v-d9aed42b]{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #eee}.volume-header h4[data-v-d9aed42b]{margin:0;font-size:15px;font-weight:600;color:#333}.volume-body[data-v-d9aed42b]{padding:12px 16px}.empty-text[data-v-d9aed42b]{text-align:center;padding:32px 0;color:#999;font-size:14px}.diagnosis-item[data-v-d9aed42b]{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#fff7e6;border-radius:4px;border-left:3px solid #faad14}.warning-icon[data-v-d9aed42b]{font-size:16px;flex-shrink:0}.diagnosis-text[data-v-d9aed42b]{font-size:13px;color:#666;line-height:1.6;flex:1}.empty-diagnosis[data-v-d9aed42b]{text-align:center;padding:20px 0;color:#999;font-size:14px}.chapter-generator[data-v-d9aed42b]{display:flex;flex-direction:column;gap:12px}.chapter-range[data-v-d9aed42b]{display:flex;align-items:center;gap:8px}.chapter-range label[data-v-d9aed42b]{font-size:14px;color:#333}.range-inputs[data-v-d9aed42b]{display:flex;align-items:center;gap:8px}.range-input[data-v-d9aed42b]{width:60px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.generate-chapter-btn[data-v-d9aed42b]{width:100%;padding:10px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.generate-chapter-btn[data-v-d9aed42b]:hover:not(:disabled){background:#059669}.generate-chapter-btn[data-v-d9aed42b]:disabled{opacity:.6;cursor:not-allowed}.chapter-list[data-v-d9aed42b]{display:flex;flex-direction:column;gap:12px}.chapter-card[data-v-d9aed42b]{padding:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.chapter-card[data-v-d9aed42b]:hover{background:#f0f0f0;border-color:#667eea}.chapter-title[data-v-d9aed42b]{font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.chapter-content[data-v-d9aed42b]{font-size:12px;color:#666;line-height:1.6}.chapter-goal[data-v-d9aed42b],.chapter-events[data-v-d9aed42b]{margin-bottom:6px}.chapter-goal strong[data-v-d9aed42b],.chapter-events strong[data-v-d9aed42b]{color:#333}.empty-chapters[data-v-d9aed42b]{text-align:center;padding:40px 0;color:#999;font-size:14px}.left-sidebar[data-v-d9aed42b]::-webkit-scrollbar,.right-sidebar[data-v-d9aed42b]::-webkit-scrollbar,.main-content[data-v-d9aed42b]::-webkit-scrollbar{width:6px}.left-sidebar[data-v-d9aed42b]::-webkit-scrollbar-track,.right-sidebar[data-v-d9aed42b]::-webkit-scrollbar-track,.main-content[data-v-d9aed42b]::-webkit-scrollbar-track{background:#f5f5f5}.left-sidebar[data-v-d9aed42b]::-webkit-scrollbar-thumb,.right-sidebar[data-v-d9aed42b]::-webkit-scrollbar-thumb,.main-content[data-v-d9aed42b]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.left-sidebar[data-v-d9aed42b]::-webkit-scrollbar-thumb:hover,.right-sidebar[data-v-d9aed42b]::-webkit-scrollbar-thumb:hover,.main-content[data-v-d9aed42b]::-webkit-scrollbar-thumb:hover{background:#999}.character-management-layout[data-v-30f28a29]{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.top-header[data-v-30f28a29]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.header-left[data-v-30f28a29]{display:flex;align-items:center;gap:16px}.exit-btn[data-v-30f28a29]{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;color:#666;border:1px solid #ddd;cursor:pointer;font-size:14px}.exit-btn[data-v-30f28a29]:hover{background:#f5f5f5}.exit-icon[data-v-30f28a29]{font-size:16px}.multi-select-btn[data-v-30f28a29]{padding:6px 12px;background:transparent;color:#666;border:1px solid #ddd;cursor:pointer;font-size:14px}.multi-select-btn[data-v-30f28a29]:hover{background:#f5f5f5}.header-center[data-v-30f28a29]{display:flex;gap:8px}.tag-item[data-v-30f28a29]{padding:6px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.tag-item.active[data-v-30f28a29]{background:#667eea;color:#fff;border-color:#667eea}.header-right[data-v-30f28a29]{display:flex;align-items:center;gap:16px;font-size:14px;color:#666}.save-status[data-v-30f28a29]{display:flex;align-items:center;gap:4px}.cloud-icon[data-v-30f28a29]{font-size:16px}.word-count[data-v-30f28a29]{display:flex;align-items:center;gap:4px}.st-icon[data-v-30f28a29]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f5f5f5;border-radius:4px}.layout-body[data-v-30f28a29]{display:flex;flex:1;overflow:hidden}.main-content-wrapper[data-v-30f28a29]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;position:relative}.editor-content[data-v-30f28a29]{flex:1;padding:2rem;overflow-y:auto;background:#fff}.content-header[data-v-30f28a29]{margin-bottom:24px}.content-header h1[data-v-30f28a29]{font-size:24px;font-weight:600;margin-bottom:8px;color:#333}.content-header h2[data-v-30f28a29]{font-size:18px;font-weight:400;color:#666}.character-list-section[data-v-30f28a29]{margin-bottom:24px}.character-list-section h3[data-v-30f28a29]{font-size:16px;font-weight:600;margin:0 0 12px;color:#333}.character-loading[data-v-30f28a29],.character-empty[data-v-30f28a29]{color:#999;font-size:14px;padding:16px;background:#f8f9fa;border-radius:8px}.character-list[data-v-30f28a29]{display:flex;flex-wrap:wrap;gap:12px}.character-card[data-v-30f28a29]{padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;min-width:180px;max-width:320px}.character-card[data-v-30f28a29]:hover{border-color:#52c41a;box-shadow:0 2px 8px #52c41a26}.character-card.active[data-v-30f28a29]{border-color:#52c41a;background:#52c41a0d}.character-name[data-v-30f28a29]{font-weight:600;color:#333;font-size:15px}.character-badge.main[data-v-30f28a29]{display:inline-block;margin-left:8px;padding:2px 8px;font-size:12px;background:#52c41a26;color:#52c41a;border-radius:4px}.character-setting-preview[data-v-30f28a29]{margin:8px 0 0;font-size:13px;color:#666;line-height:1.5}.character-card.add-card[data-v-30f28a29]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;border-style:dashed;color:#999;background:#fafafa}.character-card.add-card[data-v-30f28a29]:hover{border-color:#52c41a;color:#52c41a;background:#52c41a0d}.add-icon[data-v-30f28a29]{font-size:28px;font-weight:300;line-height:1}.add-text[data-v-30f28a29]{font-size:13px;margin-top:4px}.character-empty-wrapper[data-v-30f28a29]{display:flex;align-items:center;gap:8px;padding:16px;background:#f8f9fa;border-radius:8px}.character-empty[data-v-30f28a29]{color:#999;font-size:14px}.add-empty-btn[data-v-30f28a29]{padding:6px 14px;background:#52c41a;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.add-empty-btn[data-v-30f28a29]:hover{background:#73d13d}.character-form[data-v-30f28a29]{max-width:800px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-30f28a29]{display:flex;flex-direction:column;gap:8px}.form-group.full-width[data-v-30f28a29]{width:100%}.form-group label[data-v-30f28a29]{font-size:14px;font-weight:500;color:#333}.required[data-v-30f28a29]{color:#e74c3c}.form-group input[data-v-30f28a29],.form-group select[data-v-30f28a29],.form-group textarea[data-v-30f28a29]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[data-v-30f28a29]:focus,.form-group select[data-v-30f28a29]:focus,.form-group textarea[data-v-30f28a29]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-group textarea[data-v-30f28a29]{resize:vertical;min-height:100px}.checkbox-group[data-v-30f28a29]{flex-direction:row;align-items:center}.checkbox-label[data-v-30f28a29]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox][data-v-30f28a29]{width:18px;height:18px;cursor:pointer}.form-actions[data-v-30f28a29]{display:flex;gap:12px;margin-top:8px}.btn-cancel[data-v-30f28a29],.btn-save[data-v-30f28a29]{padding:10px 24px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel[data-v-30f28a29]{background:#f5f5f5;color:#666}.btn-cancel[data-v-30f28a29]:hover{background:#e0e0e0}.btn-save[data-v-30f28a29]{background:#667eea;color:#fff}.btn-save[data-v-30f28a29]:hover{background:#5568d3}.right-sidebar[data-v-30f28a29]{width:320px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header[data-v-30f28a29]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.sidebar-header h3[data-v-30f28a29]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333}.check-icon[data-v-30f28a29]{color:#10b981;font-size:18px}.add-character-btn[data-v-30f28a29]{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.add-character-btn[data-v-30f28a29]:hover{background:#059669}.tabs[data-v-30f28a29]{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px;gap:8px;overflow-x:auto}.tab-item[data-v-30f28a29]{padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#666;cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s}.tab-item[data-v-30f28a29]:hover{color:#333}.tab-item.active[data-v-30f28a29]{color:#667eea;border-bottom-color:#667eea}.tab-content[data-v-30f28a29]{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px}.section[data-v-30f28a29]{display:flex;flex-direction:column;gap:12px}.section h4[data-v-30f28a29]{font-size:14px;font-weight:600;color:#333;margin:0}.button-group[data-v-30f28a29]{display:flex;flex-wrap:wrap;gap:8px}.role-btn[data-v-30f28a29],.style-btn[data-v-30f28a29]{padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;transition:all .2s}.role-btn[data-v-30f28a29]:hover,.style-btn[data-v-30f28a29]:hover{background:#e0e0e0}.role-btn.active[data-v-30f28a29],.style-btn.active[data-v-30f28a29]{background:#667eea;color:#fff;border-color:#667eea}.style-input[data-v-30f28a29]{margin-top:8px}.style-input input[data-v-30f28a29]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px}.generate-btn[data-v-30f28a29]{width:100%;padding:12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.generate-btn[data-v-30f28a29]:hover{background:#059669}.lightning-icon[data-v-30f28a29]{font-size:16px}.collapsible .section-header[data-v-30f28a29]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.toggle-icon[data-v-30f28a29]{font-size:12px;color:#999}.section-content[data-v-30f28a29]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.assist-btn[data-v-30f28a29],.template-btn[data-v-30f28a29]{width:100%;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;text-align:left;transition:all .2s}.assist-btn[data-v-30f28a29]:hover,.template-btn[data-v-30f28a29]:hover{background:#e0e0e0}.completion-header[data-v-30f28a29]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.percentage[data-v-30f28a29]{font-size:14px;font-weight:600;color:#667eea}.progress-bar[data-v-30f28a29]{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill[data-v-30f28a29]{height:100%;background:#10b981;transition:width .3s}.completion-checklist[data-v-30f28a29]{display:flex;flex-direction:column;gap:8px}.checklist-item[data-v-30f28a29]{display:flex;align-items:center;gap:8px;font-size:12px;color:#666;cursor:pointer}.checklist-item input[type=checkbox][data-v-30f28a29]{width:16px;height:16px;cursor:pointer}.placeholder-text[data-v-30f28a29]{text-align:center;color:#999;font-size:14px;padding:40px 0}.right-sidebar[data-v-30f28a29]::-webkit-scrollbar,.editor-content[data-v-30f28a29]::-webkit-scrollbar{width:6px}.right-sidebar[data-v-30f28a29]::-webkit-scrollbar-track,.editor-content[data-v-30f28a29]::-webkit-scrollbar-track{background:#f5f5f5}.right-sidebar[data-v-30f28a29]::-webkit-scrollbar-thumb,.editor-content[data-v-30f28a29]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.right-sidebar[data-v-30f28a29]::-webkit-scrollbar-thumb:hover,.editor-content[data-v-30f28a29]::-webkit-scrollbar-thumb:hover{background:#999}.user-center-layout[data-v-3283370b]{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f0f9eb,#f6ffed,#f8f9fa)}.user-center-header[data-v-3283370b]{padding:1rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-3283370b]{display:flex;align-items:center;gap:1.5rem}.logo-link[data-v-3283370b]{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#333;font-weight:600;font-size:1.1rem}.logo-link[data-v-3283370b]:hover{color:#52c41a}.logo-icon[data-v-3283370b]{font-size:1.5rem}.nav-link[data-v-3283370b]{color:#666;text-decoration:none;font-size:.95rem;transition:color .2s}.nav-link[data-v-3283370b]:hover{color:#52c41a}.header-right[data-v-3283370b]{display:flex;align-items:center;gap:1rem}.member-link[data-v-3283370b]{color:#fff;text-decoration:none;font-size:.85rem;padding:.3rem .75rem;border-radius:999px;background:linear-gradient(135deg,#fa8c16,#faad14);border:none;cursor:pointer}.user-info[data-v-3283370b]{color:#666;font-size:.95rem}.current-page-hint[data-v-3283370b]{color:#52c41a;font-size:.9rem;font-weight:500}.user-center-header .logout-btn[data-v-3283370b]{padding:.5rem 1rem;background:#fff;color:#333;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.user-center-header .logout-btn[data-v-3283370b]:hover{border-color:#52c41a;color:#52c41a;background:#52c41a0d}.main-content[data-v-3283370b]{flex:1;display:flex;flex-direction:column;overflow-y:auto}.content-header-simple[data-v-3283370b]{padding:1rem 2rem;border-bottom:1px solid #e0e0e0}.page-title[data-v-3283370b]{margin:0;font-size:1.5rem;color:#333}.content-body[data-v-3283370b]{padding:2rem}.sub-nav[data-v-3283370b]{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #e0e0e0}.sub-nav-item[data-v-3283370b]{padding:.75rem 1.25rem;border:none;background:none;cursor:pointer;color:#666;font-size:.95rem;border-bottom:2px solid transparent;transition:all .2s}.sub-nav-item[data-v-3283370b]:hover{color:#52c41a}.sub-nav-item.active[data-v-3283370b]{color:#52c41a;font-weight:600;border-bottom-color:#52c41a}.tab-content[data-v-3283370b]{max-width:600px}.profile-card[data-v-3283370b]{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#f0f9eb,#f6ffed);border-radius:12px;margin-bottom:2rem;border:1px solid #e0e0e0}.profile-avatar[data-v-3283370b]{width:72px;height:72px;border-radius:50%;background:#52c41a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600}.profile-username[data-v-3283370b]{margin:0 0 .5rem;font-size:1.25rem;color:#333}.profile-extra[data-v-3283370b]{margin:0;font-size:.9rem;color:#666}.section-card[data-v-3283370b]{padding:2rem;border:1px solid #e0e0e0;border-radius:12px;background:#fff}.section-title[data-v-3283370b]{margin:0 0 1.5rem;font-size:1.1rem;color:#333}.profile-form .form-row[data-v-3283370b],.password-form .form-row[data-v-3283370b]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-3283370b]{margin-bottom:1.25rem}.form-label[data-v-3283370b]{display:block;margin-bottom:.5rem;font-size:.9rem;color:#333;font-weight:500}.required[data-v-3283370b]{color:#ff4d4f}.form-input[data-v-3283370b]{width:100%;padding:.75rem 1rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.95rem;transition:all .2s;box-sizing:border-box}.form-input[data-v-3283370b]:focus{outline:none;border-color:#52c41a;box-shadow:0 0 0 2px #52c41a1a}.form-input[data-v-3283370b]:disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.form-actions[data-v-3283370b]{margin-top:1.5rem}.btn-primary[data-v-3283370b]{padding:.75rem 1.5rem;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-primary[data-v-3283370b]:hover:not(:disabled){background:#73d13d;box-shadow:0 2px 8px #52c41a4d}.btn-primary[data-v-3283370b]:disabled{opacity:.6;cursor:not-allowed}.error-msg[data-v-3283370b]{display:block;margin-top:.25rem;font-size:.85rem;color:#ff4d4f}.info-list[data-v-3283370b]{display:flex;flex-direction:column;gap:1rem}.info-item[data-v-3283370b]{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.info-label[data-v-3283370b]{color:#666;font-size:.9rem}.info-value[data-v-3283370b]{color:#333;font-size:.9rem}.loading-container[data-v-3283370b]{display:flex;flex-direction:column;align-items:center;padding:3rem}.loading-spinner-large[data-v-3283370b]{font-size:2.5rem;animation:spin-3283370b 1s linear infinite;margin-bottom:1rem}@keyframes spin-3283370b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-3283370b]{color:#666;font-size:.95rem}.membership-plans[data-v-3283370b]{display:flex;gap:1.5rem;flex-wrap:wrap}.plan-item[data-v-3283370b]{flex:1;min-width:200px;padding:1.5rem;border:1px solid #e0e0e0;border-radius:12px;text-align:center}.plan-name[data-v-3283370b]{font-weight:600;font-size:1.1rem;color:#333;margin-bottom:.5rem}.plan-desc[data-v-3283370b]{font-size:.9rem;color:#666;margin-bottom:1rem}.plan-price[data-v-3283370b]{font-size:1.5rem;font-weight:600;color:#52c41a;margin-bottom:1rem}.plan-btn[data-v-3283370b]{display:inline-block;padding:.5rem 1rem;text-decoration:none;font-size:.9rem}@media (max-width: 768px){.user-center-header[data-v-3283370b]{flex-direction:column;gap:1rem;align-items:flex-start}.profile-form .form-row[data-v-3283370b],.password-form .form-row[data-v-3283370b]{grid-template-columns:1fr}}.pay-overlay[data-v-4634a633]{min-height:100vh;background:#f5f5f5}.pay-main[data-v-4634a633]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.pay-card[data-v-4634a633]{width:min(760px,96vw);padding:28px;background:#fff;border-radius:14px;box-shadow:0 12px 36px #0000001f;border:1px solid #e8e8e8;text-align:left;position:relative}.close-btn[data-v-4634a633]{position:absolute;top:12px;right:14px;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#999;font-size:34px;line-height:1;cursor:pointer}.loading-box[data-v-4634a633],.error-box[data-v-4634a633]{padding:2rem 0;text-align:center}.loading-spinner[data-v-4634a633]{font-size:2.5rem;animation:spin-4634a633 1s linear infinite;margin-bottom:1rem}@keyframes spin-4634a633{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-text[data-v-4634a633]{color:#ff4d4f;margin-bottom:1rem}.pay-title[data-v-4634a633]{margin:0 0 16px;font-size:42px;font-weight:700;color:#111827;text-align:center}.pay-channel-tabs[data-v-4634a633]{display:flex;gap:14px;justify-content:center;border-top:1px solid #ededed;border-bottom:1px solid #ededed;padding:16px 0;margin-bottom:18px}.pay-channel-btn[data-v-4634a633]{border:1px solid #e5e7eb;background:#fafafa;color:#111827;border-radius:999px;padding:8px 18px;cursor:pointer;font-size:24px}.pay-channel-btn.active[data-v-4634a633]{border-color:#22c55e;color:#16a34a;background:#f0fdf4}.payment-body[data-v-4634a633]{border-top:1px solid #efefef;padding-top:20px}.pay-amount-line[data-v-4634a633]{margin:0 0 14px;text-align:center;font-size:40px;color:#1f2937}.pay-amount[data-v-4634a633]{margin-left:10px;color:#d4a04d;font-weight:700}.alipay-iframe[data-v-4634a633]{width:100%;min-height:520px;border:1px solid #ececec;border-radius:10px;background:#fff}.wechat-placeholder[data-v-4634a633]{min-height:320px;border:1px dashed #d1d5db;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fcfcfc}.wechat-tip[data-v-4634a633]{color:#6b7280;font-size:20px}.cancel-link[data-v-4634a633],.back-link[data-v-4634a633]{display:inline-block;margin-top:16px;color:#999;text-decoration:none;font-size:20px;border:none;background:transparent;cursor:pointer}.cancel-link[data-v-4634a633]:hover,.back-link[data-v-4634a633]:hover{color:#52c41a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333;line-height:1.6}#app{min-height:100vh}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:5px;cursor:pointer;font-size:1rem;transition:background .3s}button:hover{background:#5568d3}
