:root{--bg:#0f0f1a;--bg-2:#1a1a2e;--bg-3:#16213e;--panel:#1e1e36;--panel-2:#252546;--border:#2d2d52;--border-2:#3d3d6e;--text:#e4e4f0;--text-dim:#9999b8;--text-muted:#6b6b8a;--accent:#7c5cff;--accent-2:#a78bfa;--accent-glow:#7c5cff4d;--success:#00d97e;--warning:#ffb547;--danger:#ff5b6e;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:20px 20px 16px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;width:40px;height:40px;box-shadow:0 4px 12px var(--accent-glow);border-radius:10px;justify-content:center;align-items:center;display:flex}.brand strong{font-size:16px;font-weight:700;display:block}.brand span{color:var(--text-dim);font-size:12px;display:block}.tab-nav{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex}.tab-item{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.tab-item:hover{background:var(--panel);color:var(--text)}.tab-item.active{color:var(--accent-2);border-left:3px solid var(--accent);background:linear-gradient(135deg,#7c5cff26,#a78bfa14);padding-left:11px}.sidebar-bottom{flex-direction:column;gap:10px;margin-top:auto;padding:20px;display:flex}.model-selector{flex-direction:column;gap:6px;display:flex}.model-label{letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.model-select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239999b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:8px 28px 8px 10px;font-family:inherit;font-size:12px}.model-select:focus{border-color:var(--accent)}.model-select option{background:var(--bg-2);color:var(--text)}.ai-status{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);align-items:center;gap:10px;padding:12px;display:flex}.pulse{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.ai-status strong{font-size:12px;display:block}.ai-status small{color:var(--text-dim);font-size:11px;display:block}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--bg-2);z-index:10;justify-content:space-between;align-items:center;padding:24px 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:10px;display:flex}.eyebrow{letter-spacing:.15em;color:var(--accent-2);margin-bottom:4px;font-size:10px;font-weight:700}.topbar h1{font-size:22px;font-weight:700}.top-actions{gap:10px;display:flex}.primary-button{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--accent-glow);border:none;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.primary-button:hover:not(:disabled){box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-1px)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.ghost-button{border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.ghost-button:hover{border-color:var(--accent);color:var(--text)}.page-stack{flex-direction:column;gap:20px;padding:24px 32px;display:flex}.preset-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.preset-card{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);padding:14px;font-family:inherit;transition:all .2s}.preset-card:hover{border-color:var(--border-2);background:var(--panel-2)}.preset-card.active{border-color:var(--accent);background:linear-gradient(135deg,#7c5cff1a,#a78bfa0d)}.preset-card strong{font-size:14px;font-weight:600;display:block}.preset-card small{color:var(--text-dim);margin-top:2px;font-size:11px;display:block}.two-column{grid-template-columns:380px 1fr;align-items:start;gap:20px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.panel-title h3{font-size:15px;font-weight:600}.panel-title small{color:var(--text-dim);font-size:12px}.status-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.status-badge.passed{color:var(--success);background:#00d97e26}.status-badge.needs_revision{color:var(--warning);background:#ffb54726}.status-badge.failed{color:var(--danger);background:#ff5b6e26}.config-panel{padding:0}.config-section-label{letter-spacing:.08em;color:var(--accent-2);border-top:1px solid var(--border);background:#7c5cff0a;padding:14px 20px 6px;font-size:11px;font-weight:700}.accordion-header{border-top:1px solid var(--border);cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.accordion-header:hover{background:var(--panel-2);color:var(--text)}.accordion-header.open{color:var(--accent-2);background:#7c5cff0f}.title-input-row{align-items:center;gap:8px;display:flex}.title-input-row>input{flex:1;min-width:0}.title-gen-wrapper{flex-shrink:0;gap:4px;display:flex;position:relative}.title-gen-btn{border:1px solid var(--accent-2);color:var(--accent-2);cursor:pointer;white-space:nowrap;background:#7c5cff1a;border-radius:8px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.title-gen-btn:hover:not(:disabled){background:#7c5cff33;transform:translateY(-1px)}.title-gen-btn:disabled{opacity:.4;cursor:not-allowed}.title-style-btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:3px;padding:8px 10px;font-size:11px;transition:all .2s;display:flex}.title-style-btn:hover{border-color:var(--accent-2);color:var(--text)}.title-style-btn .rotated{transition:transform .2s;transform:rotate(180deg)}.title-style-dropdown{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:120px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.style-option{color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 12px;font-size:12px;transition:all .15s}.style-option:hover{background:var(--panel-2);color:var(--text)}.style-option.active{color:var(--accent-2);background:#7c5cff26;font-weight:600}.title-suggestions{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.title-suggestion-item{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:12px;transition:all .2s}.title-suggestion-item:hover{border-color:var(--accent-2);color:var(--accent-2);background:#7c5cff14}.title-regen-btn{border:1px dashed var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;transition:all .2s;display:flex}.title-regen-btn:hover:not(:disabled){border-color:var(--accent-2);color:var(--accent-2);border-style:solid}.title-regen-btn:disabled{opacity:.4;cursor:not-allowed}.field{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:14px 20px;display:flex}.field:last-child{border-bottom:none}.field>span{color:var(--text-dim);font-size:12px;font-weight:600}.field input,.field textarea{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field-row{grid-template-columns:1fr 1fr;display:grid}.field-row .field{border-bottom:1px solid var(--border)}.field-row .field:first-child{border-right:1px solid var(--border)}.genre-grid{flex-wrap:wrap;gap:8px;display:flex}.genre-chip{border-radius:var(--radius-sm);background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;align-items:center;gap:4px;padding:8px 12px;font-family:inherit;font-size:12px;transition:all .2s;display:inline-flex}.genre-chip:hover{border-color:var(--border-2)}.genre-chip.active{border-color:var(--accent);color:var(--text);background:#7c5cff1a}.tone-row{flex-wrap:wrap;gap:8px;display:flex}.tone-chip{background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:12px;transition:all .2s}.tone-chip:hover{border-color:var(--border-2)}.tone-chip.active{border-color:var(--accent);background:var(--accent);color:#fff}.result-panel{min-height:500px}.loading-state{color:var(--text-dim);flex-direction:column;align-items:center;gap:12px;padding:80px 20px;display:flex}.loading-state .spin{color:var(--accent);animation:1s linear infinite spin}.loading-state strong{color:var(--text);font-size:15px}.loading-state span{font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:80px 20px;display:flex}.empty-state strong{color:var(--text-dim);font-size:15px}.empty-state .primary-button{margin-top:12px}.result-content{flex-direction:column;gap:20px;padding:20px;display:flex}.chapter-title{border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:linear-gradient(135deg,#7c5cff14,#0000);padding:12px 16px;font-size:18px;font-weight:700}.chapter-body{color:var(--text);max-height:400px;padding:8px 0;font-size:14px;line-height:1.9;overflow-y:auto}.chapter-body p{margin-bottom:8px}.review-section{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.review-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.review-dot{border-radius:50%;width:8px;height:8px}.review-header strong{flex:1;font-size:14px}.review-tag{background:var(--panel-2);border:1px solid var(--border-2);color:var(--text-dim);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500}.review-status{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.review-status.success{color:var(--success);background:#00d97e26}.review-status.needs_revision{color:var(--warning);background:#ffb54726}.review-status.failed{color:var(--danger);background:#ff5b6e26}.review-status.skipped{color:var(--text-muted);background:#6b6b8a26}.review-issues,.review-suggestions{flex-direction:column;gap:6px;margin-top:8px;display:flex}.issue-item{color:var(--warning);background:#ffb54714;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.suggestion-item{color:var(--success);background:#00d97e14;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.draft-toggle{border:1px solid var(--border-2);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px;transition:all .2s}.draft-toggle:hover{border-color:var(--accent);color:var(--text)}.panel-title-right{align-items:center;gap:8px;display:flex}.draft-hint{color:var(--text-muted);text-align:center;background:var(--bg-3);border-radius:6px;padding:6px;font-size:12px}.polisher-section{border-left:3px solid #4dabf7}.polisher-content{color:var(--text-dim);background:#4dabf714;border-radius:6px;margin-top:4px;padding:8px 12px;font-size:13px}.result-summary{background:var(--bg-3);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);padding:12px 16px;font-size:13px}.chapters-panel{padding:0}.chapter-list-new{flex-direction:column;gap:8px;max-height:300px;padding:12px 20px;display:flex;overflow-y:auto}.chapter-list-item{border-radius:var(--radius-sm);background:var(--bg-3);border:1px solid var(--border);gap:12px;padding:12px;display:flex}.chapter-list-num{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.chapter-list-content strong{margin-bottom:4px;font-size:14px;display:block}.chapter-list-content p{color:var(--text-dim);font-size:12px;line-height:1.5}.novel-bar{align-items:center;gap:12px;padding:12px 0;display:flex}.novel-bar-list{flex:1;gap:8px;display:flex;overflow-x:auto}.novel-chip{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.novel-chip:hover{border-color:var(--border-2)}.novel-chip.active{border-color:var(--accent);background:#7c5cff1a}.novel-chip span{font-size:13px;font-weight:500}.novel-chip small{color:var(--text-muted);background:var(--bg-3);border-radius:10px;padding:2px 6px;font-size:10px}.novel-chip-delete{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.novel-chip-delete:hover{color:var(--danger);background:#ff5b6e1a}.sidebar-novel-tree{border-top:1px solid var(--border);flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-novel-tree-header{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;font-size:11px;font-weight:700;display:flex}.sidebar-novel-tree-list{flex:1;padding:4px 0;overflow-y:auto}.sidebar-novel-tree-empty{color:var(--text-dim);padding:12px 16px;font-size:12px}.novel-content{flex-direction:column;flex:1;min-width:0;display:flex}.novel-tree{flex-direction:column;display:flex}.novel-tree-header{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:14px 16px;font-size:12px;font-weight:700;display:flex}.add-novel-btn-small{border-radius:var(--radius-sm);border:1px dashed var(--border-2);color:var(--text-dim);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;transition:all .2s;display:inline-flex}.add-novel-btn-small:hover{border-color:var(--accent);color:var(--accent-2)}.novel-tree-list{padding:4px 0}.novel-tree-node{margin-bottom:2px}.novel-tree-item{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:6px;padding:8px 12px;transition:all .15s;display:flex}.novel-tree-item:hover{background:var(--panel-2)}.novel-tree-item.active{border-left-color:var(--accent);background:#7c5cff14}.novel-tree-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.novel-tree-chevron.rotated{transform:rotate(90deg)}.novel-tree-title{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.novel-tree-item.active .novel-tree-title{color:var(--text);font-weight:600}.novel-tree-item small{color:var(--text-muted);background:var(--bg-3);border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:10px}.novel-tree-chapters{flex-direction:column;display:flex}.novel-tree-chapter{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:6px 12px 6px 32px;transition:all .15s;display:flex}.novel-tree-chapter:hover{background:var(--panel-2)}.novel-tree-chapter.active{border-left-color:var(--accent);background:#7c5cff14}.novel-tree-chapter-num{width:20px;height:20px;color:var(--text-muted);background:var(--bg-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.novel-tree-chapter.active .novel-tree-chapter-num{background:var(--accent);color:#fff}.novel-tree-chapter-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.novel-tree-chapter.active .novel-tree-chapter-title{color:var(--text);font-weight:500}.chapter-view-panel{margin-top:16px}.chapter-view-actions{align-items:center;gap:8px;display:flex}.chapter-view-body{padding:0}.chapter-view-footer{justify-content:flex-end;padding:12px 0;display:flex}.chapter-view-inline{flex-direction:column;gap:12px;display:flex}.chapter-view-inline-header{align-items:center;gap:8px;display:flex}.chapter-view-inline-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.genre-trend-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:20px;display:grid}.trend-card{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;transition:all .2s}.trend-card:hover{border-color:var(--border-2)}.trend-card.hot{background:linear-gradient(135deg, #ff6b6b0d, var(--bg-3));border-color:#ff6b6b66}.trend-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.trend-header strong{font-size:15px;font-weight:600}.hot-badge{color:var(--danger);background:#ff6b6b26;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.trend-stats{gap:20px;margin-bottom:12px;display:flex}.trend-stat{flex-direction:column;gap:2px;display:flex}.trend-stat small{color:var(--text-muted);font-size:11px}.trend-stat strong{font-size:16px;font-weight:700}.trend-up{color:var(--success);font-size:14px;font-weight:600}.trend-down{color:var(--danger);font-size:14px;font-weight:600}.trend-tags{flex-wrap:wrap;gap:6px;display:flex}.trend-tag{background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:3px 8px;font-size:11px}.platform-list{flex-direction:column;gap:12px;padding:20px;display:flex}.platform-row{align-items:center;gap:12px;display:flex}.platform-info{align-items:center;gap:8px;min-width:140px;display:flex}.platform-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.platform-info strong{font-size:13px}.platform-bar-wrapper{background:var(--bg-3);border-radius:6px;flex:1;height:24px;overflow:hidden}.platform-bar{border-radius:6px;height:100%;transition:width .5s}.platform-share{text-align:right;min-width:40px;font-size:13px}.analyze-bar{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.analyze-bar-title{color:var(--accent,#7c6cff);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.analyze-bar-row{align-items:center;gap:10px;display:flex}.analyze-input{background:var(--bg-2,#1a1a2e);border:1px solid var(--border);color:var(--text);border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .2s}.analyze-input:focus{border-color:var(--accent,#7c6cff)}.analyze-input:disabled{opacity:.6}.analyze-error{color:#ff6b6b;font-size:13px}.hit-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.hit-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:10px;padding:18px;transition:all .2s;display:flex}.hit-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.hit-card-top{justify-content:space-between;align-items:center;display:flex}.hit-card-genre{color:var(--accent-2);background:#7c5cff26;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.hit-card-platform{color:var(--text-muted);font-size:11px}.hit-card-title{font-size:16px;font-weight:700}.hit-card-summary{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.hit-card-tags{flex-wrap:wrap;gap:6px;display:flex}.hit-card-stats{color:var(--text-dim);gap:14px;font-size:12px;display:flex}.hit-card-action{color:var(--accent-2);align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:600;display:flex}.hit-detail-panel{padding:24px}.hit-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.hit-detail-genre{color:var(--accent-2);background:#7c5cff26;border-radius:6px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.hit-detail-header h2{margin-bottom:8px;font-size:22px;font-weight:700}.hit-detail-meta{color:var(--text-dim);gap:16px;font-size:13px;display:flex}.hit-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.hit-summary{color:var(--text-dim);background:var(--bg-3);border-radius:var(--radius-sm);border-left:3px solid var(--accent);margin-bottom:20px;padding:16px;font-size:14px;line-height:1.8}.hit-analysis h3,.hit-takeaways h3{margin-bottom:14px;font-size:16px;font-weight:600}.analysis-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.analysis-item{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.analysis-item.full{grid-column:1/-1}.analysis-label{color:var(--accent-2);margin-bottom:6px;font-size:12px;font-weight:700}.analysis-item p{color:var(--text-dim);font-size:13px;line-height:1.7}.takeaways-list{flex-direction:column;gap:8px;display:flex}.takeaway-item{color:var(--text);border-radius:var(--radius-sm);background:#00d97e14;border:1px solid #00d97e33;align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;display:flex}.takeaway-item svg{color:var(--success);flex-shrink:0;margin-top:1px}.studio-intro{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.studio-intro svg{color:var(--accent-2);flex-shrink:0;margin-top:2px}.studio-intro p{font-size:13px;line-height:1.7}.studio-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.studio-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s;overflow:hidden}.studio-card.expanded{border-color:var(--accent)}.studio-card-header{cursor:pointer;align-items:center;gap:12px;padding:16px 18px;transition:all .2s;display:flex}.studio-card-header:hover{background:var(--panel-2)}.studio-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.studio-card-info{flex:1;min-width:0}.studio-card-info strong{font-size:15px;font-weight:600;display:block}.studio-card-info small{color:var(--text-dim);font-size:12px;display:block}.studio-card-body{border-top:1px solid var(--border);padding:0 18px 18px}.studio-card .agent-desc{color:var(--text-dim);margin:0;padding:14px 0;font-size:13px;line-height:1.7}.agent-custom-input{background:var(--bg-3);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.agent-custom-input:focus{border-color:var(--accent)}.agent-custom-input::placeholder{color:var(--text-muted)}.agent-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.agent-chevron.rotated{transform:rotate(180deg)}.custom-badge{color:var(--accent);flex-shrink:0;font-size:10px}@media (width<=900px){.sidebar{width:60px}.sidebar-novel-tree,.brand strong,.brand span,.tab-item span,.ai-status strong,.ai-status small{display:none}.tab-item{justify-content:center}.preset-row{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.page-stack{padding:16px}.analysis-grid{grid-template-columns:1fr}.hit-detail-header{flex-direction:column}}.chapter-title-actions{align-items:center;gap:6px;display:flex}.edit-chapter-btn.ghost{color:var(--text-dim);border:1px solid var(--border-2);background:0 0}.edit-chapter-btn.ghost:hover{background:var(--panel-2);color:var(--text)}.edit-chapter-btn.secondary{color:var(--text-dim);border:1px solid var(--border-2);background:0 0}.edit-chapter-btn.secondary:hover{color:var(--danger);border-color:var(--danger)}.chapter-edit-content.full-edit{background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;outline:none;min-height:400px;padding:12px;font-family:inherit;font-size:13px;line-height:1.8}.issue-item{border-radius:var(--radius-sm);background:#ff5b6e0f;border:1px solid #ff5b6e26;flex-wrap:wrap;align-items:flex-start;gap:6px;margin-bottom:6px;padding:8px 10px;display:flex}.issue-item.revised{background:#00d97e0f;border-color:#00d97e33}.issue-content{flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.issue-content span{color:var(--text-dim);font-size:12px;line-height:1.5}.issue-revised-icon{color:var(--success);flex-shrink:0}.issue-suggestion{width:100%;padding-left:19px}.issue-suggestion span{color:var(--text-muted);font-size:11px;font-style:italic}.issue-revise-btn{color:var(--accent-2);cursor:pointer;white-space:nowrap;background:#7c5cff1a;border:1px solid #7c5cff4d;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.issue-revise-btn:hover:not(:disabled){border-color:var(--accent);background:#7c5cff33}.issue-revise-btn:disabled{opacity:.4;cursor:not-allowed}.issue-revised-tag{color:var(--success);white-space:nowrap;background:#00d97e1a;border:1px solid #00d97e4d;border-radius:6px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:flex}.issue-revising-tag{color:#f59e0b;white-space:nowrap;background:#ffa5001a;border:1px solid #ffa5004d;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:flex}.issue-pending-tag{color:var(--text-tertiary,#888);white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:11px;font-weight:500;display:flex}.issue-revised-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.issue-revert-btn{color:#ff5757;cursor:pointer;white-space:nowrap;background:#ff575714;border:1px solid #ff575740;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.issue-revert-btn:hover{background:#ff57572e;border-color:#ff575780}.chapter-limit-hint{border-radius:var(--radius);color:var(--success);background:#00d97e14;border:1px solid #00d97e33;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;display:flex}.existing-chapters-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.existing-chapters-list{flex-direction:column;display:flex}.existing-chapter-item{border-bottom:1px solid var(--border)}.existing-chapter-item:last-child{border-bottom:none}.existing-chapter-header{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 20px;transition:background .2s;display:flex}.existing-chapter-header:hover{background:var(--panel-2)}.existing-chapter-title{color:var(--text-dim);font-size:13px;font-weight:600}.existing-chapter-body{padding:8px 20px 16px}.existing-chapter-body p{color:var(--text-dim);margin:0 0 8px;font-size:13px;line-height:1.8}.chapter-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.edit-chapter-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.edit-chapter-btn:hover{background:var(--accent-2);transform:translateY(-1px)}.chapter-edit-title{width:100%;color:var(--text);border:none;border-bottom:1px dashed var(--border-2);background:0 0;outline:none;margin-bottom:6px;padding:4px 0;font-size:14px;font-weight:700;transition:border-color .2s}.chapter-edit-title:focus{border-bottom-color:var(--accent)}.chapter-edit-content{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.8;transition:border-color .2s}.chapter-edit-content:focus{border-color:var(--accent)}.chapter-delete-btn{width:28px;height:28px;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:4px;margin-left:8px;transition:all .2s;display:flex}.chapter-delete-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.chat-fab{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);z-index:100;border:none;border-radius:28px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px}.chat-fab:hover{background:var(--accent-2);box-shadow:0 6px 28px var(--accent-glow);transform:translateY(-2px)}.chat-fab-label{font-size:13px}.chat-panel{background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);z-index:100;flex-direction:column;width:420px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 8px 40px #00000080}.chat-header{background:var(--panel-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chat-header-info{align-items:center;gap:10px;display:flex}.chat-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chat-header-info strong{color:var(--text);font-size:14px;display:block}.chat-header-info small{color:var(--text-muted);font-size:11px}.chat-header-actions{align-items:center;gap:8px;display:flex}.chat-clear-btn{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 10px;font-size:11px;transition:all .2s}.chat-clear-btn:hover{color:var(--text);border-color:var(--border-2)}.chat-close-btn{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.chat-close-btn:hover{color:var(--text);background:var(--bg-2)}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:auto 0;display:flex}.chat-empty p{color:var(--text-dim);margin:0;font-size:14px}.chat-empty small{color:var(--text-muted);font-size:12px}.chat-message{max-width:85%;display:flex}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.chat-message-content{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.7}.chat-message.user .chat-message-content{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-message-content{background:var(--bg-2);color:var(--text);border-bottom-left-radius:4px}.chat-typing{color:var(--text-muted);align-items:center;gap:6px;font-style:italic;display:flex}.chat-input-area{background:var(--panel-2);border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.chat-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:none;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s}.chat-input:focus{border-color:var(--accent)}.chat-send-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--accent-2)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=900px){.chat-panel{width:calc(100vw - 32px);height:70vh;bottom:16px;right:16px}.chat-fab{bottom:16px;right:16px}}.user-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-meta{flex:1;min-width:0}.user-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.user-meta small{color:var(--text-dim);align-items:center;gap:5px;font-size:11px;display:flex}.cloud-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.cloud-dot-syncing{background:var(--warning);animation:1s ease-in-out infinite cloud-blink}.cloud-dot-error{background:var(--danger)}.cloud-dot-offline{background:var(--text-muted)}@keyframes cloud-blink{0%,to{opacity:1}50%{opacity:.3}}.user-logout{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.user-logout:hover{color:var(--danger);background:#ff5b6e1f}.user-login-btn{background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;transition:all .2s;display:flex}.user-login-btn:hover{background:var(--accent);border-color:var(--accent)}.auth-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0a0a14b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius);width:380px;max-width:calc(100vw - 32px);animation:.18s ease-out auth-pop;overflow:hidden;box-shadow:0 20px 60px #00000080}@keyframes auth-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:18px 20px;display:flex}.auth-head .brand-mark{flex-shrink:0;width:36px;height:36px}.auth-head-title{flex:1;min-width:0}.auth-head-title strong{font-size:15px;display:block}.auth-head-title span{color:var(--text-dim);font-size:12px;display:block}.auth-close{width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-close:hover{color:var(--text);background:var(--panel-2)}.auth-body{flex-direction:column;gap:12px;padding:18px 20px 20px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:var(--text-dim);font-size:12px}.auth-field input{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-error{color:var(--danger);border-radius:var(--radius-sm);background:#ff5b6e1a;border:1px solid #ff5b6e4d;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.auth-submit{justify-content:center;width:100%}.auth-switch{color:var(--accent-2);cursor:pointer;background:0 0;border:none;padding:2px;font-size:13px}.auth-switch:hover{text-decoration:underline}.auth-note{color:var(--text-muted);text-align:center;font-size:11px;line-height:1.5}.export-wrap{position:relative}.export-backdrop{z-index:40;position:fixed;inset:0}.export-menu{z-index:50;background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.export-menu button,.export-menu label{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.export-menu button:hover:not(:disabled),.export-menu label:hover{background:var(--panel-2)}.export-menu button:disabled{color:var(--text-muted);cursor:not-allowed}.export-menu svg{color:var(--text-dim);flex-shrink:0}
