.login-wrap[data-v-49913764]{height:100%;display:flex;align-items:center;justify-content:center}.login-card[data-v-49913764]{width:380px}.form[data-v-49913764]{display:flex;flex-direction:column;gap:12px}.page[data-v-c5a7fa77]{padding:24px;max-width:1000px;margin:0 auto}.topbar[data-v-c5a7fa77]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.grid[data-v-c5a7fa77]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.story-card[data-v-c5a7fa77]{cursor:pointer;transition:transform .15s}.story-card[data-v-c5a7fa77]:hover{transform:translateY(-3px);border-color:var(--accent)}.modal-mask[data-v-c5a7fa77]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-c5a7fa77]{width:420px;display:flex;flex-direction:column;gap:12px}.workbench[data-v-196b2d9d]{display:flex;height:100%}.sidebar[data-v-196b2d9d]{width:220px;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column}.brand[data-v-196b2d9d]{padding:18px 16px;font-size:18px;font-weight:700;cursor:pointer;border-bottom:1px solid var(--line)}.story-name[data-v-196b2d9d]{padding:10px 16px;font-weight:600;color:var(--accent);word-break:break-all;border-bottom:1px solid var(--line)}nav[data-v-196b2d9d]{flex:1;padding:8px}.nav-item[data-v-196b2d9d]{padding:10px 12px;border-radius:8px;cursor:pointer;margin-bottom:2px}.nav-item[data-v-196b2d9d]:hover{background:var(--panel)}.nav-item.active[data-v-196b2d9d]{background:var(--accent);color:#fff}.foot[data-v-196b2d9d]{padding:14px 16px;cursor:pointer;border-top:1px solid var(--line);font-size:12px}.content[data-v-196b2d9d]{flex:1;overflow:auto;padding:20px}.modal-mask[data-v-2ed767f8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-2ed767f8]{width:460px}.form[data-v-2ed767f8]{display:flex;flex-direction:column;gap:10px}.tab[data-v-1a84d434]{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 14px}.tab.active[data-v-1a84d434]{color:#fff}.cnt[data-v-1a84d434]{opacity:.8;margin-left:4px}.grid[data-v-1a84d434]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.item[data-v-1a84d434]{cursor:pointer}.item[data-v-1a84d434]:hover{border-color:var(--accent)}.dot[data-v-1a84d434]{width:10px;height:10px;border-radius:3px;display:inline-block}.desc[data-v-1a84d434]{max-height:60px;overflow:hidden}.bp-wrap[data-v-6e0ee19d]{height:100%;display:flex;flex-direction:column}.toolbar[data-v-6e0ee19d]{padding-bottom:12px;display:flex;flex-direction:column;gap:6px}.hint[data-v-6e0ee19d]{font-size:12px}.canvas[data-v-6e0ee19d]{flex:1;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:500px}.btn.on[data-v-6e0ee19d]{background:var(--accent)}.tline[data-v-510ab166]{display:flex;flex-direction:column;gap:10px;position:relative}.titem[data-v-510ab166]{display:flex;gap:16px;border-left:3px solid var(--event)}.titem.cur[data-v-510ab166]{border-left-color:#facc15}.tdate[data-v-510ab166]{min-width:130px;font-weight:700;color:var(--accent)}.tbody[data-v-510ab166]{flex:1;cursor:pointer}.outline[data-v-510ab166]{padding:8px 0;border-bottom:1px dashed var(--line)}.chap-wrap[data-v-063f6f89]{display:flex;gap:16px;height:100%;min-height:560px}.clist[data-v-063f6f89]{width:220px;overflow:auto}.citem[data-v-063f6f89]{padding:10px;border-radius:8px;cursor:pointer;margin-bottom:6px;background:var(--bg)}.citem[data-v-063f6f89]:hover{border-color:var(--accent)}.citem.on[data-v-063f6f89]{background:var(--accent);color:#fff}.ctitle[data-v-063f6f89]{font-weight:600}.editor[data-v-063f6f89]{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.tabs[data-v-063f6f89]{display:flex;gap:6px}.tabs .ghost[data-v-063f6f89]{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 14px}.tabs .ghost.on[data-v-063f6f89]{background:var(--accent)}.wtext[data-v-063f6f89]{flex:1;min-height:400px;resize:none;font-family:Consolas,Courier New,monospace;line-height:1.7}.preview[data-v-063f6f89]{flex:1;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px}.grid[data-v-f0253e41]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.modal-mask[data-v-f0253e41]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-f0253e41]{width:420px;display:flex;flex-direction:column;gap:12px}.form[data-v-55c23f45]{display:flex;flex-direction:column;gap:10px}.titem[data-v-55c23f45]{padding:8px 0;border-bottom:1px dashed var(--line)}:root{--bg: #0f172a;--bg2: #1e293b;--panel: #111827;--text: #e2e8f0;--muted: #94a3b8;--line: #334155;--accent: #6366f1;--ok: #22c55e;--warn: #f59e0b;--danger: #ef4444;--char: #f59e0b;--event: #ef4444;--location: #22c55e;--faction: #8b5cf6;--clue: #06b6d4;--item: #ec4899}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}button{cursor:pointer}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px}.btn:hover{filter:brightness(1.1)}.btn.ghost{background:var(--bg2);border:1px solid var(--line);color:var(--text)}.btn.danger{background:var(--danger)}.btn.sm{padding:4px 10px;font-size:12px}input,textarea,select{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:8px}.spread{justify-content:space-between}.grow{flex:1}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;color:#fff}.t-char{background:var(--char)}.t-event{background:var(--event)}.t-location{background:var(--location)}.t-faction{background:var(--faction)}.t-clue{background:var(--clue)}.t-item{background:var(--item)}
