:root{--bg: #0f1115;--fg: #e8eaed;--muted: #9aa0a6;--card: #1a1d23;--border: #23262d;--accent: #6c8cff;--err: #ff6b6b}body.theme-light{--bg: #f7f7f8;--fg: #1c1f24;--muted: #5b6068;--card: #ffffff;--border: #e3e5e8}body.theme-sepia{--bg: #f4ecd8;--fg: #3d3527;--muted: #8a7a5c;--card: #fbf5e4;--border: #e5d9bd}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--fg);transition:background .2s,color .2s}a{color:var(--accent);text-decoration:none}button{background:var(--accent);color:#fff;border:none;padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-family:inherit}button.ghost{background:transparent;border:1px solid var(--border);color:var(--fg)}button.small{padding:.3rem .6rem;font-size:.82rem}button:disabled{opacity:.4;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:.95rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;color:var(--fg);width:100%}.hero{min-height:100vh;display:grid;place-content:center;text-align:center;padding:2rem}.hero .brand{font-size:3rem;margin:0 0 .4rem;letter-spacing:.04em}.hero .tagline{color:var(--muted);font-size:1.05rem;margin:0}.hero .tagline-cn{color:var(--fg);font-size:1.15rem;margin:.3rem 0 1rem}.hero .desc{color:var(--muted);max-width:34rem;margin:0 auto 1.6rem;line-height:1.7;font-size:.92rem}.hero .actions{display:flex;gap:.75rem;justify-content:center}.btn{display:inline-block;padding:.6rem 1.2rem;border-radius:8px;background:var(--accent);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--fg)}.container{max-width:1000px;margin:0 auto;padding:2rem 1.25rem}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.8rem}.topbar h1{margin:0;font-size:1.3rem;font-weight:600}.brand-link{color:var(--accent)}.topbar .tools{display:flex;gap:.5rem;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.card{background:var(--card);border:1px solid var(--border);padding:1rem;border-radius:12px;cursor:pointer;transition:border-color .15s,transform .15s;display:flex;flex-direction:column}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card h3{margin:0 0 .4rem;font-size:1.05rem}.card .meta{color:var(--muted);font-size:.8rem;margin:0 0 .5rem}.card .synopsis{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 .8rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;gap:.5rem}.empty{color:var(--muted);text-align:center;padding:3rem 0;line-height:1.8}.empty small{color:var(--muted)}.err{color:var(--err)}.workspace{display:grid;grid-template-columns:260px 1fr 300px;height:100vh;overflow:hidden}.pane{background:var(--card);overflow-y:auto;display:flex;flex-direction:column}.pane-left{border-right:1px solid var(--border);padding:.8rem}.pane-center{background:var(--bg);padding:1.2rem 1.5rem;display:flex;flex-direction:column}.pane-right{border-left:1px solid var(--border);padding:.8rem;gap:.6rem}.pane-head{display:flex;justify-content:space-between;gap:.4rem;margin-bottom:.8rem}.novel-title{font-size:1rem;margin:.3rem 0 .8rem;color:var(--muted);font-weight:500}.chapter-list{list-style:none;margin:0;padding:0;flex:1}.chapter-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:.2rem}.chapter-item:hover{background:#ffffff0d}.chapter-item.active{background:#6c8cff26;color:var(--accent)}.chapter-item .ch-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-foot{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.chapter-title{font-size:1.2rem;font-weight:600;border:none;background:transparent;padding:.4rem 0;border-bottom:1px solid var(--border);border-radius:0;margin-bottom:.8rem}.chapter-title:focus{outline:none;border-bottom-color:var(--accent)}.chapter-body{flex:1;resize:none;border:none;background:transparent;padding:.4rem 0;font-size:1rem;line-height:1.9;border-radius:0}.chapter-body:focus{outline:none}.statusbar{display:flex;justify-content:space-between;padding-top:.5rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted);margin-top:.5rem}.pane-right details{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem}.pane-right details+details{margin-top:.6rem}.pane-right summary{cursor:pointer;font-size:.9rem;font-weight:500;padding:.2rem 0}.pane-right label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--muted);margin-top:.6rem}.pane-right textarea{resize:vertical}.mobile-bar{display:none}.reader{max-width:720px;margin:0 auto;padding:1rem 1.2rem 3rem}.reader-head{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border);margin-bottom:1.2rem;position:sticky;top:0;background:var(--bg);z-index:5}.reader-title{font-weight:500;color:var(--muted);font-size:.9rem}.reader-prefs{display:flex;flex-wrap:wrap;gap:1rem;padding:.8rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.reader-prefs label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}.reader-prefs input[type=range]{width:120px}.reader-prefs select{width:auto}.reader-article{font-size:18px;line-height:1.8;color:var(--fg)}.reader-article h2{font-size:1.3rem;margin:1rem 0 1.5rem}.reader-content{white-space:pre-wrap;word-wrap:break-word}.reader-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--border)}.reader-progress{color:var(--muted);font-size:.85rem}.reader-toc{margin-top:1.5rem}.reader-toc summary{cursor:pointer;padding:.5rem 0;color:var(--muted);font-size:.9rem}.reader-toc ul{list-style:none;padding:0;margin:.5rem 0 0}.reader-toc li{margin-bottom:.2rem}.reader-toc li button{background:transparent;color:var(--fg);border:none;text-align:left;width:100%;padding:.35rem .5rem;border-radius:6px;font-size:.9rem}.reader-toc li button:hover{background:var(--card)}.reader-toc li.active button{color:var(--accent);background:#6c8cff1f}@media (max-width: 900px){.workspace{grid-template-columns:1fr;height:auto;min-height:100vh}.mobile-bar{display:flex;gap:.5rem;padding:.5rem .8rem;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:15}.pane-left,.pane-right{display:none}.pane-left.open,.pane-right.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--bg);padding:1rem;overflow-y:auto}.pane-center{padding:1rem;min-height:calc(100vh - 50px)}}@media (max-width: 640px){.container{padding:1.25rem 1rem}.hero .brand{font-size:2.2rem}.topbar h1{font-size:1.1rem}}
