.toast-host[data-v-58d8cc23]{bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:3000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.confirm-blocker[data-v-58d8cc23]{z-index:2999;position:fixed;inset:0}.toast-item[data-v-58d8cc23]{border-radius:var(--radius-md);max-width:min(600px,100vw - 32px);max-height:min(52vh,360px);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);white-space:normal;word-break:break-word;text-align:left;align-items:flex-start;gap:10px;padding:12px 16px 12px 14px;font-size:13.5px;line-height:1.7;display:flex;overflow-y:auto}.toast-icon[data-v-58d8cc23]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:inline-flex}.toast-icon.success[data-v-58d8cc23]{color:var(--success);background:var(--success-soft)}.toast-icon.error[data-v-58d8cc23]{color:var(--danger);background:var(--danger-soft)}.toast-icon.info[data-v-58d8cc23]{color:var(--accent);background:var(--accent-soft)}.toast-msg[data-v-58d8cc23]{flex:1;min-width:0}.toast-item.is-long[data-v-58d8cc23]{padding:13px 16px 13px 14px;line-height:1.78}.toast-item.toast[data-v-58d8cc23]{pointer-events:auto;cursor:pointer}.toast-item.confirm[data-v-58d8cc23]{pointer-events:auto;border-radius:var(--radius-lg);text-align:left;flex-direction:column;align-items:stretch;gap:10px;max-height:none;padding:14px 16px;display:flex;overflow:visible}.toast-item.success[data-v-58d8cc23]{background:var(--bg-secondary);background:color-mix(in srgb, var(--success) 7%, var(--bg-secondary));border-color:color-mix(in srgb, var(--success) 42%, var(--border-color))}.toast-item.error[data-v-58d8cc23]{background:var(--bg-secondary);background:color-mix(in srgb, var(--danger) 7%, var(--bg-secondary));border-color:color-mix(in srgb, var(--danger) 45%, var(--border-color))}.toast-copy[data-v-58d8cc23]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:6px;flex-shrink:0;margin-top:1px;padding:3px 9px;font-size:11.5px;line-height:1.6}.toast-copy[data-v-58d8cc23]:hover{color:var(--accent);border-color:var(--accent)}.toast-copy.copied[data-v-58d8cc23],.toast-btn.copied[data-v-58d8cc23],.copy-mini.copied[data-v-58d8cc23]{color:var(--success);border-color:var(--success);background:0 0}.toast-actions[data-v-58d8cc23]{justify-content:flex-end;gap:8px;display:flex}.toast-copy-action[data-v-58d8cc23]{margin-right:auto}.toast-btn[data-v-58d8cc23]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;padding:6px 14px;font-size:13px}.toast-btn[data-v-58d8cc23]:hover{color:var(--text-primary);border-color:var(--border-strong)}.toast-btn.primary[data-v-58d8cc23]{color:#fff;background:var(--accent);border-color:var(--accent)}.toast-btn.ghost-danger[data-v-58d8cc23]{color:var(--danger);border-color:var(--danger);background:0 0}.toast-btn.ghost-danger[data-v-58d8cc23]:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.toast-btn.primary[data-v-58d8cc23]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.toast-btn.primary.danger[data-v-58d8cc23]{background:var(--danger);border-color:var(--danger)}.toast-btn.primary.danger[data-v-58d8cc23]:hover{background:var(--danger);border-color:var(--danger);opacity:.85}.toast-enter-active[data-v-58d8cc23],.toast-leave-active[data-v-58d8cc23]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-58d8cc23],.toast-leave-to[data-v-58d8cc23]{opacity:0;transform:translateY(8px)}.prompt-mask[data-v-58d8cc23]{z-index:3001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;animation:.15s prompt-fade-58d8cc23;display:flex;position:fixed;inset:0}.prompt-modal[data-v-58d8cc23]{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(440px,100vw - 48px);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:22px 24px;animation:.18s prompt-pop-58d8cc23;display:flex}.prompt-title[data-v-58d8cc23]{font-size:16px;font-weight:700}.prompt-msg-row[data-v-58d8cc23]{align-items:flex-start;gap:10px;display:flex}.prompt-msg[data-v-58d8cc23]{color:var(--text-secondary);font-size:13px;line-height:1.6}.prompt-msg-row .prompt-msg[data-v-58d8cc23]{flex:1;min-width:0}.copy-mini[data-v-58d8cc23]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:12px;line-height:1.6}.copy-mini[data-v-58d8cc23]:hover{color:var(--accent);border-color:var(--accent)}.prompt-quick-actions[data-v-58d8cc23]{flex-direction:column;gap:8px;display:flex}.prompt-quick-btn[data-v-58d8cc23]{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);cursor:pointer;text-align:left;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}.prompt-quick-btn[data-v-58d8cc23]:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.prompt-presets[data-v-58d8cc23]{flex-wrap:wrap;gap:8px;display:flex}.prompt-preset[data-v-58d8cc23]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;padding:5px 14px;font-size:13px}.prompt-preset[data-v-58d8cc23]:hover{color:var(--text-primary);border-color:var(--border-strong)}.prompt-preset.active[data-v-58d8cc23]{color:#fff;background:var(--accent);border-color:var(--accent)}.prompt-input[data-v-58d8cc23]{width:100%;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);transition:border-color var(--transition), box-shadow var(--transition);border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;line-height:1.6}input.prompt-input[data-v-58d8cc23]{height:40px;padding:6px 12px}textarea.prompt-input[data-v-58d8cc23]{resize:vertical;min-height:120px}.prompt-input[data-v-58d8cc23]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.prompt-actions[data-v-58d8cc23]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.prompt-btn[data-v-58d8cc23]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;padding:7px 18px;font-size:13px}.prompt-btn[data-v-58d8cc23]:hover{color:var(--text-primary);border-color:var(--border-strong)}.prompt-btn.primary[data-v-58d8cc23]{color:#fff;background:var(--accent);border-color:var(--accent)}.prompt-btn.primary[data-v-58d8cc23]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.alert-modal[data-v-58d8cc23]{text-align:center;align-items:center;gap:10px;padding:26px 24px 20px}.alert-icon[data-v-58d8cc23]{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:2px;display:flex}.alert-icon.success[data-v-58d8cc23]{color:var(--success);background:var(--success-soft)}.alert-icon.error[data-v-58d8cc23]{color:var(--danger);background:var(--danger-soft)}.alert-icon.info[data-v-58d8cc23]{color:var(--accent);background:var(--accent-soft)}.alert-title[data-v-58d8cc23]{font-size:17px;font-weight:700}.alert-msg[data-v-58d8cc23]{color:var(--text-secondary);white-space:pre-line;font-size:14px;line-height:1.7}.alert-actions[data-v-58d8cc23]{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;display:flex}.alert-ok[data-v-58d8cc23]{min-width:132px}.select-options[data-v-58d8cc23]{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.select-option[data-v-58d8cc23]{min-height:40px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;padding:6px 4px;font-size:13px;font-weight:600}.select-option[data-v-58d8cc23]:hover{color:var(--accent-hover);border-color:var(--accent);background:var(--accent-soft)}.select-option.active[data-v-58d8cc23]{color:#fff;background:var(--accent);border-color:var(--accent)}.select-option-label[data-v-58d8cc23]{line-height:1.4}.select-option-desc[data-v-58d8cc23]{color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.5;display:block}.select-option.active .select-option-desc[data-v-58d8cc23]{color:#ffffffd9}.select-options.vertical[data-v-58d8cc23]{grid-template-columns:1fr;max-height:min(60vh,420px);overflow-y:auto}.select-options.vertical .select-option[data-v-58d8cc23]{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-height:0;padding:8px 12px;font-weight:600;display:flex}.option-tag[data-v-58d8cc23]{vertical-align:1px;border:1px solid #0000;border-radius:10px;flex-shrink:0;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.6;display:inline-block}.option-tag--green[data-v-58d8cc23]{color:#1b7f3b;background:#e8f5e9;border-color:#4caf50}.option-tag--yellow[data-v-58d8cc23]{color:#92600a;background:#fff8e1;border-color:#f0b429}.option-tag--red[data-v-58d8cc23]{color:#b3261e;background:#fdecea;border-color:#e05c54}@media (width<=768px){.toast-host[data-v-58d8cc23]{bottom:calc(10px + var(--mobile-tabbar-h,0px) + var(--mobile-quickbar-h,0px) + env(safe-area-inset-bottom,0px));align-items:stretch;left:10px;right:10px;transform:none}.toast-item[data-v-58d8cc23]{max-width:none;max-height:min(46vh,300px);padding:11px 14px 11px 12px;font-size:13px}.select-options[data-v-58d8cc23]{grid-template-columns:repeat(5,1fr);gap:6px}.select-options.vertical[data-v-58d8cc23]{grid-template-columns:1fr;gap:8px}.select-option[data-v-58d8cc23]{min-height:44px;font-size:14px}.select-options.vertical .select-option[data-v-58d8cc23]{min-height:0}.toast-copy[data-v-58d8cc23]{min-height:28px;margin-top:0;padding:4px 10px;font-size:12px}.copy-mini[data-v-58d8cc23]{min-height:34px;padding:4px 12px;font-size:13px}.alert-actions .alert-ok[data-v-58d8cc23]{flex:auto;width:auto;min-height:44px}.alert-actions .copy-mini[data-v-58d8cc23]{min-height:44px}}@keyframes prompt-fade-58d8cc23{0%{opacity:0}}@keyframes prompt-pop-58d8cc23{0%{opacity:0;transform:scale(.96)translateY(6px)}}.rn-mask[data-v-edd47048]{z-index:3002;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.15s rn-fade-edd47048;display:flex;position:fixed;inset:0}.rn-modal[data-v-edd47048]{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(520px,100%);max-height:min(84vh,720px);box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:22px 24px 18px;animation:.18s rn-pop-edd47048;display:flex}.rn-head[data-v-edd47048]{flex-direction:column;gap:6px;display:flex}.rn-tag[data-v-edd47048]{border:1px solid #0000;border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.7}.rn-tag.release[data-v-edd47048]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.rn-tag.required[data-v-edd47048]{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.rn-title[data-v-edd47048]{color:var(--text-primary);font-size:17px;font-weight:700}.rn-sub[data-v-edd47048]{color:var(--text-secondary);font-size:13px;line-height:1.6}.rn-release[data-v-edd47048]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;min-height:0;padding:12px 14px;display:flex}.rn-release-head[data-v-edd47048]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rn-release-title[data-v-edd47048]{color:var(--text-primary);font-size:13.5px;font-weight:700}.rn-release-date[data-v-edd47048]{color:var(--text-secondary);flex-shrink:0;font-size:12px}.rn-entries[data-v-edd47048]{flex-direction:column;gap:8px;max-height:min(46vh,360px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rn-entry[data-v-edd47048]{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:13px;line-height:1.65;display:flex}.rn-kind[data-v-edd47048]{border:1px solid #0000;border-radius:4px;flex-shrink:0;margin-top:1px;padding:0 6px;font-size:11px;font-weight:600;line-height:1.7}.rn-kind.feat[data-v-edd47048]{color:var(--success);background:var(--success-soft);border-color:var(--success)}.rn-kind.improve[data-v-edd47048]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.rn-kind.fix[data-v-edd47048]{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.rn-text[data-v-edd47048]{word-break:break-word;min-width:0}.rn-actions[data-v-edd47048]{justify-content:flex-end;gap:8px;display:flex}.rn-btn[data-v-edd47048]{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;padding:7px 18px;font-size:13px}.rn-btn[data-v-edd47048]:hover{color:var(--text-primary);border-color:var(--border-strong)}.rn-btn.ghost[data-v-edd47048]{color:var(--text-secondary);background:0 0;margin-right:auto}.rn-btn.primary[data-v-edd47048]{color:#fff;background:var(--accent);border-color:var(--accent)}.rn-btn.primary[data-v-edd47048]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media (width<=768px){.rn-mask[data-v-edd47048]{align-items:flex-end;padding:12px}.rn-modal[data-v-edd47048]{gap:12px;width:100%;max-height:88vh;padding:18px 16px 14px}.rn-title[data-v-edd47048]{font-size:16px}.rn-entries[data-v-edd47048]{max-height:min(42vh,300px)}.rn-entry[data-v-edd47048]{font-size:12.5px}.rn-actions[data-v-edd47048]{flex-wrap:wrap}.rn-btn[data-v-edd47048]{flex:auto;min-height:44px;font-size:14px}.rn-btn.ghost[data-v-edd47048]{flex-basis:100%;margin-right:0}}@keyframes rn-fade-edd47048{0%{opacity:0}}@keyframes rn-pop-edd47048{0%{opacity:0;transform:scale(.96)translateY(6px)}}:root{--bg-primary:#0e1117;--bg-secondary:#161b24;--bg-tertiary:#1d2330;--bg-hover:#232b3b;--border-color:#2a3244;--border-strong:#3a4560;--text-primary:#e7ecf5;--text-secondary:#9aa7bd;--text-muted:#64708a;--accent:#6366f1;--accent-hover:#818cf8;--accent-soft:#6366f124;--accent-glow:#6366f159;--selection-bg:#6366f1;--selection-fg:#fff;--search-hit-bg:#facc1552;--search-hit-outline:#facc158c;--danger:#f87171;--danger-soft:#f8717124;--success:#34d399;--success-soft:#34d39924;--warn:#fbbf24;--warn-soft:#fbbf2424;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif:Georgia, "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;--font-mono:"JetBrains Mono", "Consolas", "Courier New", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 24px #00000059;--shadow-lg:0 16px 48px #00000080;--shadow-accent:0 8px 24px var(--accent-glow);--transition:.18s cubic-bezier(.4, 0, .2, 1);--mobile-tabbar-h:52px;--mobile-quickbar-h:0px}[data-theme=light]{--bg-primary:#f6f7fb;--bg-secondary:#fff;--bg-tertiary:#eef0f6;--bg-hover:#e4e7f0;--border-color:#e2e6ef;--border-strong:#c9d0e0;--text-primary:#1c2333;--text-secondary:#55607a;--text-muted:#8a93ab;--accent:#4f46e5;--accent-hover:#6366f1;--accent-soft:#4f46e51a;--accent-glow:#4f46e540;--selection-bg:#c7d2fe;--selection-fg:#1c2333;--search-hit-bg:#facc158c;--search-hit-outline:#d977068c;--danger:#dc2626;--danger-soft:#dc26261a;--success:#059669;--success-soft:#0596691a;--warn:#b45309;--warn-soft:#b453091f;--shadow-sm:0 1px 2px #1c23330f;--shadow-md:0 6px 20px #1c23331a;--shadow-lg:0 16px 40px #1c233329}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}body{overflow:hidden}body.is-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize!important}body.is-resizing *{cursor:col-resize!important}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}::selection{background:var(--selection-bg);color:var(--selection-fg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-track{background:0 0}.btn{border-radius:var(--radius-sm);transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:var(--shadow-accent)}.btn-primary .ai-mark{color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{border-color:var(--border-color);color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-bare{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-bare:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-copy{border-color:var(--accent);color:var(--accent-hover);background:0 0}.btn-copy:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.btn-copy .copy-mark,.btn-copy .copy-icon{color:inherit}.btn-soft{background:var(--accent-soft);color:var(--accent-hover)}.btn-soft:hover:not(:disabled){background:var(--accent);color:#fff}.btn-soft:hover:not(:disabled) .ai-mark{color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.field{flex-direction:column;gap:7px;display:flex}.field>.label{color:var(--text-secondary);font-size:13px;font-weight:500}.input,textarea.input,select.input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;padding:10px 14px;font-size:14px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical}.badge{background:var(--accent-soft);color:var(--accent-hover);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.badge.off{background:var(--bg-tertiary);color:var(--text-muted)}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.builtin{background:var(--accent-soft);color:var(--accent-hover)}.unread-dot{z-index:1;background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-secondary);pointer-events:none;border-radius:50%;position:absolute;top:4px;left:4px}.modal-mask{-webkit-backdrop-filter:blur(6px);z-index:200;background:#06080e99;justify-content:center;align-items:center;animation:.18s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:440px;max-width:calc(100vw - 40px);max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:26px 28px;animation:.22s cubic-bezier(.34,1.56,.64,1) pop-in;display:flex;overflow-y:auto}.modal h3{font-size:17px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.mini-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);vertical-align:-1px;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spin-360;display:inline-block}.list-loading{align-items:center;gap:6px;display:inline-flex}@keyframes spin-360{to{transform:rotate(360deg)}}.ai-mark{color:var(--accent);margin-right:4px;font-size:9px}.is-busy{cursor:wait;opacity:.6}.is-busy .ai-mark,.is-busy .copy-mark,.is-busy .hist-mark,.is-busy .save-mark{display:none}.is-busy:before{content:"";border:2px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.7s linear infinite spin-360;display:inline-block}.editor-view.is-data-loading .btn,.editor-view.is-data-loading .chapter-op-btn,.editor-view.is-data-loading .qb-btn,.editor-view.is-data-loading .sheet-chip,.editor-view.is-data-loading .sheet-item,.editor-view.is-data-loading .vbtn,.editor-view.is-data-loading .add{pointer-events:none;cursor:wait;opacity:.6}.editor-view.is-data-loading .btn:before,.editor-view.is-data-loading .chapter-op-btn:before,.editor-view.is-data-loading .qb-btn:before,.editor-view.is-data-loading .sheet-chip:before,.editor-view.is-data-loading .sheet-item:before{content:"";border:2px solid color-mix(in srgb, currentColor 28%, transparent);vertical-align:-1px;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-right:4px;animation:.7s linear infinite spin-360;display:inline-block}.editor-view.is-data-loading .btn .ai-mark,.editor-view.is-data-loading .chapter-op-btn .ai-mark,.editor-view.is-data-loading .qb-btn .ai-mark,.editor-view.is-data-loading .btn .copy-mark,.editor-view.is-data-loading .btn .hist-mark,.editor-view.is-data-loading .btn .save-mark{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){html,body,#app{font-size:13px}body{overflow:auto}@media (hover:none){.btn-primary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn-soft:hover:not(:disabled){filter:none;background:inherit;color:inherit;border-color:inherit}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff}.btn-soft:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}.btn-soft:hover:not(:disabled) .ai-mark{color:var(--accent-hover)}.btn-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-secondary);border-color:var(--border-color);background:0 0}.card:hover,.hit:hover,.trash-item:hover,.beat-vol-head:hover,.changes-head:hover{box-shadow:none!important;transform:none!important}}.modal-mask{background:#06080eb8;align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:90vh;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-bottom:none;border-left:none;border-right:none;gap:14px;animation:.24s cubic-bezier(.32,.72,0,1) slide-up}.modal-actions{background:var(--bg-secondary);padding-top:10px;position:sticky;bottom:0}.modal-actions .btn{flex:1;min-height:44px;padding:12px 16px;font-size:14px}}.tag-rows{flex-direction:column;gap:6px;width:100%;display:flex}.tag-row{align-items:center;gap:6px;display:flex}.tag-row .input{flex:1}.tag-del{flex-shrink:0;padding:2px 9px;font-size:14px;line-height:1.2}.tag-row+.btn,.tag-rows>.btn{align-self:flex-start}.name-row{align-items:center;gap:6px;display:flex}.name-row .input{flex:1}.name-row .btn{flex-shrink:0}.tag-editor{flex-direction:column;gap:8px;width:100%;display:flex}.tag-add-row{gap:6px;display:flex}.tag-add-row .input{flex:0 200px;min-width:120px;max-width:200px}.tag-chip{cursor:default;gap:4px;padding:4px 6px 4px 12px}.tag-chip .chip-del{color:var(--danger);opacity:.9;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.tag-chip .chip-del:hover{opacity:1}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.chip-empty{color:var(--text-secondary);padding:4px 0;font-size:12px}.chip-toggle{margin-top:8px}.chip{border:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;padding:4px 12px;font-size:12px;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent-hover)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip-input{display:none}.muted{color:var(--text-muted)}.tags-field{flex:100%}.doc-meta-form{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:12px;padding:10px 14px;display:grid}.doc-meta-form .field{flex-direction:column;gap:4px;display:flex}.doc-meta-form .label{color:var(--text-secondary);font-size:12px}.doc-meta-form .field-actions{grid-column:1/-1}.settings-group{border:1px solid var(--border-color);background:var(--bg-secondary,#7f7f7f0a);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.settings-group-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.settings-group-title:before{content:"";background:var(--accent,#0ea5e9);border-radius:2px;flex-shrink:0;width:4px;height:14px}.field-tip{color:var(--text-muted);margin-top:-2px;font-size:12px;line-height:1.7}.field-tip.locked{color:var(--warn);font-weight:600}.row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.field-tip-inline{color:var(--text-muted);margin-left:6px;font-size:12px;font-weight:400}.settings-fields{border:none;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;display:flex}.doc-meta-form>.settings-fields{display:contents}.field-actions{align-items:center;gap:8px;margin-top:6px;display:flex}.char-meta-toggle{border:1px solid var(--border-color);max-width:100%;color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;grid-column:1/-1;justify-self:start;align-items:center;gap:5px;padding:5px 12px;font-size:12px;line-height:1.4;transition:all .15s;display:inline-flex}.char-meta-toggle:hover{border-color:var(--accent);color:var(--accent-hover)}.char-meta-toggle .char-meta-toggle-arrow{flex-shrink:0;font-size:10px;line-height:1}.char-meta-toggle .char-meta-toggle-label{flex-shrink:0;font-weight:500}.char-meta-toggle .char-meta-toggle-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);overflow:hidden}.doc-meta-toggle{grid-column:1/-1;justify-self:start}@media (width<=768px){.settings-group{padding:14px 12px}.row-2,.row-3{grid-template-columns:1fr}}.copy-mark{color:var(--text-muted);margin-right:4px;font-size:13px;line-height:1}.btn-ghost:hover:not(:disabled) .copy-mark{color:var(--text-primary)}.hist-mark{margin-right:5px}.gen-mod-group{border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden}.gen-mod-group .btn{border:none;border-radius:0}.gen-mod-group .btn+.btn{border-left:1px solid var(--border-color)}@media (width<=768px){.doc-toolbar .gen-mod-group{flex:100%;min-width:0}.doc-toolbar .gen-mod-group .btn{flex:50%;min-width:0}.field-actions .gen-mod-group{flex:100%;min-width:0}.field-actions .gen-mod-group .btn{flex:50%;min-width:0}.chapter-quickbar .qb-btn .ai-mark,.chapter-quickbar .qb-btn .copy-mark{margin-right:0;font-size:11px}}.btn-ai{background:linear-gradient(135deg, var(--accent), var(--accent-hover));box-shadow:0 2px 8px #6366f159}.btn-ai:hover:not(:disabled){background:linear-gradient(135deg, var(--accent), var(--accent-hover));filter:brightness(1.08);box-shadow:0 2px 10px #6366f173}.btn-ai .ai-mark{color:#ffffffd9}.btn-ai:active:not(:disabled),.btn-soft:active:not(:disabled){transform:scale(.93);box-shadow:inset 0 2px 6px #00000047}.char-meta-group-title{border-bottom:1px solid var(--border-color);color:var(--text-primary);grid-column:1/-1;align-items:center;gap:8px;margin-top:6px;padding-bottom:4px;font-size:13px;font-weight:700;display:flex}.char-meta-group-title:before{content:"";background:var(--accent,#0ea5e9);border-radius:2px;flex-shrink:0;width:4px;height:14px}.char-meta-group-title .btn{margin-left:auto;font-size:12px}.char-meta .char-meta-full{grid-column:1/-1}.hint{color:var(--text-muted);margin-bottom:20px;font-size:12px;line-height:1.7}.admin-layout .hint{margin-bottom:0}.toolbar-hist-btn{flex-shrink:0}.save-btn{flex-shrink:0;min-width:64px}.revert-btn{flex-shrink:0}.autosave-indicator{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.autosave-indicator.is-saving{color:var(--text-secondary)}.autosave-indicator .mini-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin-360}.save-mark{margin-right:4px}.doc-toolbar .btn,.settings-header .btn{gap:5px;height:26px;padding:0 10px;font-size:12px}.doc-toolbar .btn-ghost,.doc-toolbar .btn-copy,.settings-header .btn-ghost,.doc-toolbar .btn-ghost:hover:not(:disabled),.doc-toolbar .btn-copy:hover:not(:disabled),.settings-header .btn-ghost:hover:not(:disabled){border-color:#0000}.doc-toolbar .btn .ai-mark,.doc-toolbar .btn .save-mark,.doc-toolbar .btn .hist-mark,.doc-toolbar .btn .clear-icon,.doc-toolbar .btn .copy-mark,.settings-header .btn .save-mark,.settings-header .btn .hist-mark{margin:0}.doc-toolbar .btn .save-mark,.doc-toolbar .btn .hist-mark,.doc-toolbar .btn .clear-icon,.doc-toolbar .btn .copy-mark,.settings-header .btn .save-mark,.settings-header .btn .hist-mark{opacity:.9;font-size:12px;line-height:1}.doc-toolbar .save-btn:not(:disabled),.settings-header .save-btn:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.doc-toolbar .save-btn:not(:disabled):hover,.settings-header .save-btn:not(:disabled):hover{background:var(--bg-hover)}
