*{box-sizing:border-box}
:root{
  --bg:#f7f3ee;
  --panel:#fffdf9;
  --text:#2d2a27;
  --muted:#7a736c;
  --line:#e8dfd6;
  --green:#b9d8c3;
  --blue:#bfd6eb;
  --pink:#e7c1cf;
  --brown:#c9ab91;
  --accent:#6f7d70;
  --danger:#a85656;
  --shadow:0 8px 30px rgba(78,63,51,.08)
}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#efe7de;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px;padding:0 6px}
.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--brown);display:grid;place-items:center;font-size:20px}
.brand h1{font-size:18px;margin:0 0 3px}.brand p{margin:0;color:var(--muted);font-size:12px}
nav{display:grid;gap:8px}
.nav-btn,.ghost{border:0;background:transparent;color:var(--text);border-radius:12px;padding:11px 12px;text-align:left}
.nav-btn:hover,.nav-btn.active{background:var(--panel)}
.sidebar-bottom{margin-top:auto;display:grid;gap:6px}
.file-label{display:block;cursor:pointer}
.main{padding:28px 34px 50px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}
.book-title{font-size:27px;font-weight:800;border:0;background:transparent;outline:0;display:block;width:min(520px,70vw)}
.author{border:0;background:transparent;outline:0;color:var(--muted);margin-top:4px}
.top-stats{display:flex;gap:28px}.top-stats div{display:grid;text-align:center}.top-stats strong{font-size:20px}.top-stats span{font-size:11px;color:var(--muted)}
.view{display:none}.view.active{display:block}
.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:linear-gradient(135deg,#fffdf9,#f3ece5)}
.hero h2{font-size:34px;margin:4px 0 10px}.hero p{color:var(--muted);max-width:580px}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--muted);margin:0 0 6px}
.primary{border:0;border-radius:12px;background:var(--text);color:white;padding:11px 16px;font-weight:700}
.small{padding:8px 12px;font-size:13px}
.progress-ring{--p:0deg;width:104px;height:104px;border-radius:50%;background:conic-gradient(var(--accent) var(--p),#e8dfd6 0);display:grid;place-items:center;position:relative}
.progress-ring:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:var(--panel)}
.progress-ring span{position:relative;z-index:1;font-weight:800}
.progress-ring-wrap{text-align:center}.progress-ring-wrap small{display:block;margin-top:8px;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}
.mini-card h3{font-size:28px;margin:12px 0 3px}.mini-card p{color:var(--muted);margin:0}
.pill{display:inline-block;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.green{background:var(--green)}.blue{background:var(--blue)}.pink{background:var(--pink)}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2,.section-heading h3{margin:0}
textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;resize:vertical;outline:none}
#quickIdea{min-height:110px}.row{display:flex}.end{justify-content:flex-end;margin-top:10px}
.split{display:grid;grid-template-columns:300px 1fr;gap:16px;min-height:650px}.panel{min-height:650px}
.item-list{display:grid;gap:8px}.chapter-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;cursor:pointer}.chapter-item.active{outline:2px solid var(--brown)}.chapter-item h4{margin:0 0 4px}.chapter-item small{color:var(--muted)}
.editor-panel{display:flex;flex-direction:column}.empty-state{margin:auto;text-align:center;color:var(--muted)}.empty-icon{font-size:36px}.hidden{display:none!important}
.editor-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.chapter-title-input{font-size:24px;font-weight:800;border:0;outline:0;background:transparent;flex:1}.editor-actions{display:flex;gap:10px;align-items:center}.word-count{font-size:12px;color:var(--muted)}
.manuscript{min-height:540px;border:0;padding:8px 4px;border-radius:0;line-height:1.75;font-family:Georgia,serif;font-size:17px;background:transparent}
.danger{color:var(--danger)}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.info-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);position:relative}.info-card h3{margin:0 0 8px}.info-card p{white-space:pre-wrap;color:var(--muted);line-height:1.5}.info-card .card-actions{display:flex;gap:8px;margin-top:14px}
.goal-card{max-width:700px}.goal-input-row{display:flex;align-items:center;gap:10px}.goal-input-row input{font-size:30px;font-weight:800;border:1px solid var(--line);border-radius:12px;padding:8px 12px;width:220px;background:#fff}
.big-progress{height:16px;border-radius:99px;background:#ebe2d9;overflow:hidden;margin-top:22px}.big-progress-fill{height:100%;width:0;background:var(--accent)}
.muted{color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(40,35,31,.35);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(560px,100%);background:var(--panel);border-radius:20px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.2)}.icon-btn{border:0;background:transparent;font-size:26px}
.form-grid{display:grid;gap:12px}.form-grid input,.form-grid textarea{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.form-grid label{font-size:12px;font-weight:700}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media(max-width:850px){
  .app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-bottom{display:none}.main{padding:20px}.topbar{align-items:flex-start;flex-direction:column}.split{grid-template-columns:1fr}.panel{min-height:auto}.grid-3{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}.cards-grid{grid-template-columns:1fr}.nav-btn{text-align:center;font-size:12px}.brand{margin-bottom:14px}
}
