:root{--bg:#111312;--panel:#181b19;--panel2:#202421;--line:#303630;--text:#eeeae1;--muted:#999e98;--accent:#c99b4b;--accent2:#f0cb83;--danger:#d56e68;--reader:#f2eee5;--ink:#282b28;--shadow:0 18px 60px #0008;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}.hidden{display:none!important}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:#141715}.brand{display:flex;gap:12px;align-items:center}.brand strong,.brand span{display:block}.brand span{font-size:11px;color:var(--muted);margin-top:2px}.brand-mark{width:38px;height:38px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent2);font-family:Georgia,serif;font-size:13px;letter-spacing:1px;transform:rotate(45deg)}.brand-mark::first-line{transform:rotate(-45deg)}.brand-mark.large{width:58px;height:58px;margin:0 auto 28px;font-size:17px}.top-actions{display:flex;align-items:center;gap:10px}.save-status{font-size:12px;color:var(--muted);margin-right:8px}.app-shell{display:grid;grid-template-columns:255px minmax(420px,1fr) 310px;height:calc(100vh - 70px)}.sidebar{background:var(--panel);min-height:0;display:flex;flex-direction:column}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.project-title-wrap{padding:22px 18px 12px}.project-title-wrap label,.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--accent)}.project-title{display:block;width:100%;margin-top:5px;border:0;background:transparent;color:var(--text);font-weight:650;font-size:17px;padding:4px 0}.project-title:focus{outline:0;border-bottom:1px solid var(--accent)}.section-heading{padding:10px 18px 8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center}.section-heading button,.icon-button{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.chapter-list{overflow:auto;padding:0 9px 15px}.chapter-item{border:0;width:100%;text-align:left;background:transparent;color:var(--muted);padding:11px 12px;border-radius:7px;cursor:pointer;display:grid;grid-template-columns:26px 1fr;gap:4px}.chapter-item:hover{background:var(--panel2);color:var(--text)}.chapter-item.active{background:#2a2b24;color:var(--accent2);box-shadow:inset 3px 0 var(--accent)}.chapter-index{font-size:11px;color:#737973}.chapter-item strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-item small{grid-column:2;font-size:10px;color:#777d77}.sidebar-footer{margin-top:auto;padding:14px;border-top:1px solid var(--line)}.button{border:1px solid var(--line);border-radius:5px;padding:9px 13px;background:var(--panel2);color:var(--text);cursor:pointer;font-size:12px;font-weight:650}.button:hover{border-color:#555d56}.button.primary{background:var(--accent);border-color:var(--accent);color:#1d1c18}.button.primary:hover{background:var(--accent2)}.button.ghost{background:transparent}.button.danger{color:var(--danger)}.button.small{padding:6px 11px}.button.full{width:100%}.reader-panel{min-width:0;background:var(--reader);color:var(--ink);overflow:auto;position:relative}.reader-toolbar{min-height:89px;padding:18px 42px 13px;border-bottom:1px solid #d5d0c5;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#f2eee5f5;backdrop-filter:blur(8px);z-index:3}.chapter-title{display:block;border:0;background:transparent;font:700 24px Georgia,serif;color:var(--ink);padding:3px 0;width:360px}.chapter-title:focus{outline:0;border-bottom:1px solid #aaa}.reader-actions{display:flex;gap:14px;align-items:center}.reader-actions .button{color:#575b56;border-color:#ccc7bc}.switch-label{font-size:11px;color:#6d716b;display:flex;gap:7px;align-items:center;cursor:pointer}.switch-label input{display:none}.switch-label span{width:29px;height:16px;border-radius:20px;background:#bbb;position:relative}.switch-label span:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:white;top:2px;left:2px;transition:.2s}.switch-label input:checked+span{background:var(--accent)}.switch-label input:checked+span:after{left:15px}.manuscript{max-width:780px;margin:0 auto;padding:55px 70px 120px;font:18px/1.85 Georgia,"Times New Roman",serif}.text-block{margin:0 0 1.05em}.text-block.heading{font-size:25px;font-weight:bold;margin:12px 0 28px}.tagged{border-radius:2px;padding:1px 0;cursor:pointer;box-decoration-break:clone;-webkit-box-decoration-break:clone}.tagged:hover{outline:2px solid #0002}.selection-bar{position:sticky;top:89px;z-index:4;background:#242824;color:var(--text);padding:10px 18px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 18px #0003;font-size:12px}.selection-bar select{min-width:160px}.empty-state{text-align:center;padding:100px 30px;color:#747871}.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;color:var(--muted);padding:18px 8px 13px;cursor:pointer;border-bottom:2px solid transparent;font-size:12px}.tab.active{color:var(--accent2);border-color:var(--accent)}.tab-content{padding:14px;overflow:auto}.filter-row{margin:12px 0}.filter-row input,.filter-row select,input,textarea,select{background:#111411;border:1px solid var(--line);color:var(--text);border-radius:5px;padding:10px;width:100%}.character-card{padding:12px 10px;border-bottom:1px solid var(--line);cursor:pointer;display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:start}.character-card:hover{background:var(--panel2)}.color-dot{width:10px;height:10px;border-radius:50%;margin-top:4px}.character-card strong{display:block;font-size:13px}.character-card p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.4}.count-pill{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:2px 6px;border-radius:10px}.passage-card{border:1px solid var(--line);border-left:3px solid var(--tag-color);padding:10px;margin-bottom:10px;border-radius:4px;cursor:pointer}.passage-card:hover{background:var(--panel2)}.passage-card .meta{font-size:10px;color:var(--muted);display:flex;justify-content:space-between}.passage-card blockquote{font:12px/1.5 Georgia,serif;margin:8px 0;color:#d8d6cf}.passage-card p{font-size:10px;color:var(--accent2);margin:5px 0 0}.welcome{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:50px;background:radial-gradient(circle at 50% 30%,#293029 0,#151815 45%,#0e100f 100%)}.welcome-card{text-align:center;max-width:630px}.welcome h1{font:52px/1.07 Georgia,serif;margin:13px 0 18px}.welcome-card>p:not(.eyebrow){color:#b8bcb6;font-size:16px;line-height:1.65}.welcome-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px 0 18px;flex-wrap:wrap}.text-button{border:0;background:transparent;color:var(--accent2);cursor:pointer;padding:9px}.welcome small{color:#6f756f}dialog{border:0;padding:0;background:transparent;color:var(--text);max-width:min(92vw,680px);width:100%}dialog::backdrop{background:#080a08d9;backdrop-filter:blur(3px)}.dialog-card{background:var(--panel);border:1px solid var(--line);padding:27px;border-radius:10px;box-shadow:var(--shadow);position:relative}.dialog-card.wide{max-width:800px}.dialog-card h2{font:28px Georgia,serif;margin:5px 0 8px}.dialog-card>p:not(.eyebrow),.warning{color:var(--muted);font-size:12px;line-height:1.5}.dialog-card label{display:block;font-size:11px;color:#b7bbb5;margin-top:13px}.dialog-card label input,.dialog-card label textarea{margin-top:5px}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.dialog-actions.split{display:grid;grid-template-columns:auto 1fr auto auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-choices{display:flex;gap:9px;margin-top:8px}.color-choice{width:25px;height:25px;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-choice.selected{outline:2px solid white;outline-offset:2px}.dialog-card blockquote{background:#111411;border-left:3px solid var(--accent);padding:12px;margin:14px 0;font:14px/1.5 Georgia,serif;color:#d9d7d0}.warning{color:#e1a07d!important}.focus .left-panel,.focus .right-panel{display:none}.focus{grid-template-columns:1fr}.focus .manuscript{max-width:900px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#080a08;color:white;padding:10px 16px;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
.progress-card{text-align:center;max-width:440px;margin:auto}.progress-track{height:7px;border-radius:10px;background:#0c0e0c;overflow:hidden;margin:25px 0 12px}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .25s}.progress-card p:last-child{color:var(--muted);font-size:12px}
@media(max-width:950px){.app-shell{grid-template-columns:210px 1fr}.right-panel{display:none}.manuscript{padding:45px}.top-actions .save-status{display:none}}@media(max-width:650px){.app-shell{display:block}.left-panel{display:none}.reader-panel{height:calc(100vh - 70px)}.top-actions .button{display:none}.reader-toolbar{padding:15px}.manuscript{padding:35px 24px}.welcome h1{font-size:38px}}
