.announcement-mask[data-v-07823334]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.announcement-modal[data-v-07823334]{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:min(92vw,480px);max-height:80vh;padding:16px;overflow-y:auto;box-shadow:0 12px 40px #00000080}.announcement-card[data-v-07823334]{margin-bottom:12px}.announcement-head[data-v-07823334]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.announcement-content[data-v-07823334]{white-space:pre-wrap;color:var(--text);margin:0;font-size:14px;line-height:1.8}.announcement-footer[data-v-07823334]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;display:flex}.theme-toggle[data-v-c0a66842]{padding:4px 9px;font-size:15px;line-height:1}.desktop-sidebar[data-v-7768e38a]{background:var(--bg-soft);border-right:1px solid var(--border);z-index:300;flex-direction:column;width:220px;padding:16px 12px;display:flex;position:fixed;top:0;bottom:0;left:0}.sb-brand[data-v-7768e38a]{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px 18px;display:flex}.sb-logo[data-v-7768e38a]{font-size:22px}.sb-name[data-v-7768e38a]{color:var(--accent);font-size:18px;font-weight:700}.sb-nav[data-v-7768e38a]{flex-direction:column;flex:1;gap:4px;display:flex}.sb-item[data-v-7768e38a]{color:var(--text-dim);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.sb-item[data-v-7768e38a]:hover{background:var(--hover-bg);color:var(--text)}.sb-item.active[data-v-7768e38a]{background:var(--accent-soft);color:var(--accent);font-weight:600}.sb-icon[data-v-7768e38a]{text-align:center;width:22px;font-size:16px}.sb-footer[data-v-7768e38a]{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.sb-user[data-v-7768e38a]{align-items:center;gap:8px;padding:0 4px;display:flex}.sb-avatar[data-v-7768e38a]{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sb-username[data-v-7768e38a]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sb-actions[data-v-7768e38a]{align-items:center;gap:8px;padding:0 4px;display:flex}.sb-logout[data-v-7768e38a]{margin-left:auto}@media (width<=768px){.desktop-sidebar[data-v-7768e38a]{display:none}}.mobile-tabbar[data-v-57e60da5]{z-index:500;background:var(--bg-card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item[data-v-57e60da5]{color:var(--text-dim);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 2px 6px;font-size:11px;display:flex}.tab-item.active[data-v-57e60da5]{color:var(--accent);font-weight:600}.tab-icon[data-v-57e60da5]{font-size:18px;line-height:1}@media (width>=769px){.mobile-tabbar[data-v-57e60da5]{display:none}}.app-content[data-v-55040444]{height:100%;transition:margin-left .2s}.app-content.with-sidebar[data-v-55040444]{margin-left:220px}.global-theme-toggle[data-v-55040444]{z-index:999;position:fixed;bottom:12px;right:12px}.global-theme-toggle[data-v-55040444] button{width:38px;height:38px;box-shadow:var(--shadow-md);background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;font-size:17px;display:flex}@media (width<=768px){.app-content.with-sidebar[data-v-55040444]{margin-left:0}.global-theme-toggle[data-v-55040444]{bottom:76px}}:root{--bg:#0f1216;--bg-soft:#171c23;--bg-card:#1c222b;--border:#2a323d;--text:#e8ecf1;--text-dim:#8a94a3;--accent:#c9a86a;--accent-strong:#e0c285;--danger:#d65a5a;--ok:#16a34a;--warn:#f59e0b;--radius:8px;--on-accent:#141414;--shadow-sm:0 2px 10px #0000004d;--shadow-md:0 2px 12px #00000059;--shadow-lg:0 20px 60px #00000080;--hover-bg:#ffffff0f;--accent-soft:#c9a86a0f;--accent-soft-strong:#c9a86a14;--danger-soft:#d65a5a12;--modal-mask:#0009;--nav-shadow:0 8px 24px #0006;--editor-sidebar-shadow:2px 0 20px #0006;--drawer-shadow:0 -6px 24px #0006;--auth-glow:#1d2733;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f4f6f8;--bg-soft:#fff;--bg-card:#fff;--border:#e2e6ea;--text:#1c2330;--text-dim:#6b7482;--accent:#b8860b;--accent-strong:#9a7208;--danger:#d64545;--ok:#15803d;--warn:#b45309;--on-accent:#fff;--shadow-sm:0 2px 8px #1c233014;--shadow-md:0 4px 14px #1c23301a;--shadow-lg:0 16px 48px #1c233029;--hover-bg:#1c23300d;--accent-soft:#b8860b14;--accent-soft-strong:#b8860b1f;--danger-soft:#d6454514;--modal-mask:#1c233066;--nav-shadow:0 8px 24px #1c23301f;--editor-sidebar-shadow:2px 0 20px #1c233014;--drawer-shadow:0 -6px 24px #1c23301f;--auth-glow:#e8edf2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;font-size:15px;transition:background .2s,color .2s}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:var(--radius);padding:6px 14px;font-family:inherit;font-size:14px;transition:all .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-strong)}button.danger{color:var(--danger);border-color:var(--danger)}button.ghost{background:0 0}button.small{padding:3px 10px;font-size:12px}input,textarea{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);outline:none;padding:8px 12px;font-family:inherit;font-size:14px}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}select{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;outline:none;padding:8px 28px 8px 12px;font-family:inherit;font-size:14px}select:focus{border-color:var(--accent)}.muted{color:var(--text-dim)}.small{font-size:12px}.error{color:var(--danger);font-size:13px}.row{gap:8px;display:flex}.page{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:relative}.topbar .brand{color:var(--accent);font-size:18px;font-weight:700}.topbar-right{align-items:center;gap:12px;display:flex}.nav-menu-btn,.nav-mobile-dropdown{display:none}.username{color:var(--text-dim);font-size:13px}.center-hint{text-align:center;margin:40px auto}.auth-page{background:radial-gradient(1200px 600px at 50% -10%, var(--auth-glow) 0%, var(--bg) 60%);justify-content:center;align-items:center;height:100%;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);width:380px;box-shadow:var(--shadow-lg);border-radius:12px;padding:32px}.auth-card .brand{color:var(--accent);text-align:center;margin:0 0 6px;font-size:26px;font-weight:700}.auth-card .slogan{text-align:center;color:var(--text-dim);margin:0 0 24px;font-size:13px}.mode-switch{gap:6px;margin-bottom:20px;display:flex}.mode-switch button{flex:1}.mode-switch button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-card .primary{margin-top:6px;padding:10px}.novels-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px;overflow-y:auto}.novels-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.create-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;display:flex}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.novel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:18px;transition:border-color .15s,transform .15s;position:relative}.novel-card:hover{border-color:var(--accent);transform:translateY(-2px)}.novel-card h3{margin:0 0 6px;font-size:17px}.novel-card .desc{color:var(--text-dim);min-height:36px;font-size:13px}.novel-card .stats{color:var(--text-dim);gap:12px;margin-top:10px;font-size:12px;display:flex}.novel-card .danger{opacity:0;padding:2px 8px;font-size:12px;position:absolute;top:12px;right:12px}.card-actions{opacity:0;gap:8px;margin-top:8px;display:flex}.novel-card:hover .danger,.novel-card:hover .card-actions{opacity:1}.empty{text-align:center;color:var(--text-dim);padding:80px 0}.editor-page{overflow:hidden}.editor-topbar{gap:16px;padding:10px 16px}.editor-topbar .novel-title{text-align:center;flex:1;margin:0;font-size:16px}.save-status{text-align:right;min-width:90px}.topbar-actions{align-items:center;gap:12px;display:flex}.ok{color:var(--accent);text-align:center;margin:10px 0 0;font-size:13px}.accent{color:var(--accent)}.editor-layout{flex:1;display:flex;overflow:hidden}.chapter-sidebar{border-right:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;width:260px;overflow-y:auto}.sidebar-head{border-bottom:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;padding:12px;font-size:13px;display:flex}.chapter-sidebar ul{margin:0;padding:6px;list-style:none}.chapter-sidebar li{border-radius:var(--radius);margin-bottom:2px;position:relative}.chapter-sidebar li.active{background:var(--bg-card);border:1px solid var(--accent)}.chapter-item{border-radius:var(--radius);text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px;display:flex}.chapter-item:hover{background:var(--bg-card);border:none}.ch-no{color:var(--accent);font-size:12px}.ch-title{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:14px;overflow:hidden}.ch-words{color:var(--text-dim);font-size:11px}.ch-del{color:var(--text-dim);opacity:0;background:0 0;border:none;padding:0 6px;font-size:13px;position:absolute;top:8px;right:8px}.chapter-sidebar li:hover .ch-del{opacity:1}.ch-del:hover{color:var(--danger)}.editor-main{flex-direction:column;flex:1;min-width:0;padding:24px 40px 80px;display:flex;overflow-y:auto}.chapter-title-input{background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:12px;padding:8px 4px;font-size:24px;font-weight:700}.chapter-title-input:focus{border-bottom-color:var(--accent)}.editor-wrap{flex-direction:column;flex:1;display:flex}.toolbar{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;padding:6px 0;display:flex}.toolbar button{background:0 0;padding:4px 10px;font-size:13px}.toolbar button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tiptap-editor{outline:none;min-height:55vh;font-size:16px;line-height:1.9}.tiptap-editor p{margin:0 0 1em}.tiptap-editor h1,.tiptap-editor h2,.tiptap-editor h3{line-height:1.4}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-dim);float:left;pointer-events:none;height:0}.ai-panel{border-left:1px solid var(--border);background:var(--bg-soft);flex-direction:column;flex-shrink:0;width:300px;display:flex}.tabs{border-bottom:1px solid var(--border);display:flex}.tabs button{color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-size:13px}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.tab-body textarea{width:100%}.ai-actions{gap:8px;display:flex}.ai-actions .primary,.ai-actions .danger{flex:1;padding:9px}.rag-box{border-top:1px solid var(--border);margin-top:6px;padding-top:12px}.rag-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.hint{color:var(--text-dim);margin:6px 0 0;font-size:12px}.char-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.char-name{margin-bottom:4px;font-weight:600}.char-line{color:var(--text-dim);margin-top:2px;font-size:12px}.event-list{flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:13px;display:flex}.ev-chapter{color:var(--accent);margin-right:6px}.pad{padding:10px}.obs-page{overflow:hidden}.obs-title{text-align:center;flex:1;margin:0;font-size:16px}@media (width>=769px){.obs-page .topbar>.ghost:first-child{display:none}}.obs-tabs{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.obs-tabs button{min-width:90px;color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 6px;font-size:13px}.obs-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.obs-query{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.obs-query input{flex:1}.obs-main{flex:1;padding:16px 20px;overflow-y:auto}.panel h3{color:var(--accent);margin:18px 0 10px;font-size:14px}.panel h4{margin:12px 0 8px;font-size:13px}.kv-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:10px;display:grid}.kv-grid>div{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.kv-grid label{color:var(--text-dim);margin-bottom:4px;font-size:11px;display:block}.chunk-list{flex-direction:column;gap:8px;display:flex}.chunk-item{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:10px 12px}.chunk-item.selected{border-left-color:var(--accent);background:var(--accent-soft)}.chunk-head{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.badge{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.badge.score{color:#7fb4e8}.badge.final{color:var(--accent)}.badge.sent{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.badge.ok{color:var(--on-accent);background:#6fbf73;border-color:#6fbf73}.badge.bad{color:#fff;background:var(--danger);border-color:var(--danger)}.chunk-content{color:var(--text-dim);margin:0;font-size:12px;line-height:1.6}.heatmap{flex-direction:column;gap:5px;margin:10px 0;display:flex}.heat-row{align-items:center;gap:10px;display:flex}.heat-ch{width:64px;color:var(--text-dim);text-align:right;font-size:12px}.heat-bar-wrap{background:var(--bg-card);border-radius:3px;flex:1;height:14px;overflow:hidden}.heat-bar{background:var(--accent);opacity:.7;height:100%}.heat-bar.target{background:var(--accent-strong);opacity:1}.heat-num{width:56px;color:var(--text-dim);font-size:11px}.toggles{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.toggles label{align-items:center;gap:4px;font-size:13px;display:flex}.sim-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sim-hit{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:6px;margin-bottom:6px;padding:8px;font-size:12px;display:flex}.diagnosis{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin-top:14px;padding:10px 14px}.diagnosis li{margin-bottom:4px;font-size:13px}.entity-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border-radius:20px;padding:3px 12px;font-size:12px}.chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.timeline{border-left:2px solid var(--border);flex-direction:column;gap:10px;padding-left:16px;display:flex;position:relative}.tl-item{font-size:13px;position:relative}.tl-item:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-21px}.tl-ch{color:var(--accent);margin-right:8px;font-size:12px}.tl-change{color:var(--accent);margin-top:2px;font-size:12px;display:block}.conflict{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px}.conflict-head{margin-bottom:6px;font-weight:600}.conflict-body{align-items:center;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.conflict-body .old{color:var(--text-dim);text-decoration:line-through}.conflict-body .new{color:var(--accent)}.tc-form{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tc-form input{flex:1;min-width:160px}.tc-list{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.tc-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.tc-item .danger{margin-left:auto}.reg-scores{gap:12px;margin:16px 0;display:flex}.score-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:14px 20px}.score-card .score{color:var(--accent);font-size:26px;font-weight:700}.score-card div:last-child{color:var(--text-dim);font-size:12px}.reg-results{flex-direction:column;gap:6px;margin-top:10px;display:flex}.reg-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.answer-box{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);white-space:pre-wrap;padding:14px;font-size:14px;line-height:1.8}.conf{color:var(--accent);margin:10px 0;font-size:13px}.evidence{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.evidence:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.evidence p{color:var(--text-dim);margin:6px 0 0;font-size:12px}.intent-box{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.resolution-box{border-color:var(--accent);border-left:3px solid var(--accent)}.resolution-head{margin-bottom:6px;font-size:14px}.nf-box{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);margin-top:8px;padding:8px 10px;font-size:13px}.lifecycle-box{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin-top:8px;padding:10px}.lc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:8px;display:grid}.lc-grid>div{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.lc-grid label{color:var(--text-dim);margin-bottom:2px;font-size:11px;display:block}.lc-ok{color:#6fbf73;font-weight:600}.lc-bad{color:var(--danger);font-weight:600}.lc-unknown{color:var(--accent);font-weight:600}.inv-item{border-bottom:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.inv-item:last-child{border-bottom:none}.belief-item{border-bottom:1px dashed var(--border);padding:4px 0}.belief-item:last-child{border-bottom:none}.proof-tree{flex-direction:column;gap:4px;margin-top:4px;display:flex}.pt-node{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;margin:2px 0;padding:4px 8px;font-size:11px}.pt-answer{border-color:var(--accent);color:var(--accent);font-weight:600}.pt-branch{border-left:1px solid var(--border);margin-left:12px;padding-left:8px}.pt-children{margin-left:12px}.pt-leaf{color:var(--text-dim)}.modal-mask{background:var(--modal-mask);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);width:480px;max-width:92vw;box-shadow:var(--shadow-lg);border-radius:12px;padding:20px 24px}.modal h3{margin:0 0 8px;font-size:16px}.est-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px;font-size:13px}.req-box{border-bottom:1px solid var(--border);padding:10px 16px}.req-box textarea{width:100%;font-size:13px;line-height:1.6}.vol-open{border-color:var(--accent)}.vol-chapters{border-left:2px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-left:10px;display:flex}.ch-item{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.ch-item.active{border-color:var(--accent);background:var(--accent-soft)}.ch-detail{width:100%;color:var(--text-dim);border-top:1px dashed var(--border);flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;display:flex}.sidebar-toggle-btn{z-index:20;box-shadow:var(--shadow-sm);background:var(--accent);color:var(--on-accent);border-color:var(--accent);border-radius:20px;padding:6px 12px;font-weight:600;position:absolute;top:60px;left:8px}.collapse-btn{color:var(--text-dim);background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:12px}.collapse-btn:hover{color:var(--accent)}.ai-panel-toggle{z-index:45;box-shadow:var(--shadow-md);background:var(--accent);color:var(--on-accent);border-color:var(--accent);border-radius:20px;padding:8px 14px;font-weight:600;position:fixed;bottom:12px;right:12px}.outline-badge{background:var(--accent-soft-strong);border:1px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.knowledge-select{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:6px;padding-top:10px;display:flex}.knowledge-option{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);border-radius:6px;align-items:center;gap:6px;padding:4px 6px;display:flex}.knowledge-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.skill-note{background:var(--bg-soft);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);padding:6px 8px;font-size:11px}@media (width<=768px){.editor-page{overflow:hidden}.editor-topbar{flex-wrap:wrap;gap:8px;padding:8px 10px}.editor-topbar .novel-title{text-align:left;order:1;width:100%;font-size:14px}.topbar-actions{flex-wrap:wrap;gap:6px;width:100%}.topbar-actions .save-status{min-width:auto}.editor-layout{position:relative}.chapter-sidebar{z-index:30;width:min(78vw,300px);box-shadow:var(--editor-sidebar-shadow);position:absolute;top:0;bottom:0;left:0}.ai-panel{z-index:40;border-left:none;border-top:1px solid var(--border);width:100%;max-height:62vh;box-shadow:var(--drawer-shadow);border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0}.ai-panel .tab-body{flex:1;padding-bottom:16px;overflow-y:auto}.editor-main{padding:14px 14px 44vh}.tiptap-editor{font-size:15px}.topbar-actions .danger.small{padding:4px 8px;font-size:12px}.novels-main{padding:14px}.novel-grid{grid-template-columns:1fr}.novels-head{flex-wrap:wrap;gap:8px}.novels-head .row{width:100%}.novels-head .row button{flex:1}.topbar-right{gap:6px}.topbar-right .username,.nav-desktop{display:none}.nav-menu-btn{display:inline-block}.nav-mobile-dropdown{background:var(--bg-soft);border:1px solid var(--border);min-width:180px;box-shadow:var(--nav-shadow);z-index:100;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;right:8px;overflow:hidden}.nav-mobile-backdrop{z-index:99;background:0 0;position:fixed;inset:0}.nav-mobile-item{cursor:pointer;border-radius:6px;padding:10px 12px;font-size:14px}.nav-mobile-item:hover{background:var(--hover-bg)}.obs-main{padding:10px}.kv-grid,.sim-grid{grid-template-columns:1fr}.obs-tabs button{min-width:64px;padding:8px 4px;font-size:12px}.obs-query{flex-wrap:wrap;padding:8px 10px}.obs-query input,.obs-query select{min-width:0}.modal{width:92vw;padding:16px}.chapter-title-input{font-size:18px}.toolbar{flex-wrap:wrap;gap:6px;overflow-x:visible}.novels-main,.obs-main{padding-bottom:70px}}
