:root{
  --night:#0D0A14;
  --violet:#4C1D95;
  --purple:#8B5CF6;
  --gold:#D4A24E;
  --lav:#C4B5FD;
  --ink:#f7efff;
  --muted:#cbbce8;
  --panel:rgba(255,255,255,.065);
  --stroke:rgba(255,255,255,.13);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(139,92,246,.25),transparent 34rem),radial-gradient(circle at 90% 15%,rgba(212,162,78,.13),transparent 31rem),var(--night);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,input,textarea{font:inherit}
button{cursor:pointer;border:0}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:34px;border:1px solid var(--stroke);border-radius:28px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.35);text-align:center}.sigil{width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,var(--violet),var(--purple));color:var(--gold);font-size:34px}.login-card h1{margin:0;font-size:34px}.login-card p{color:var(--muted)}.login-form{text-align:left;display:grid;gap:12px}.login-form button,.primary{background:var(--gold);color:#15100a;font-weight:900;padding:15px 18px;border-radius:18px;transition:.2s}.login-form button:hover,.primary:hover{transform:translateY(-1px)}
.hero{max-width:1440px;margin:0 auto;padding:34px 22px 20px;display:flex;gap:24px;align-items:stretch;justify-content:space-between}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:900}.hero h1{font-size:clamp(38px,7vw,76px);line-height:.95;margin:10px 0 16px}.hero p{max-width:860px;color:var(--muted);font-size:19px;line-height:1.55}.status-card{min-width:260px;border:1px solid rgba(212,162,78,.35);background:rgba(76,29,149,.55);border-radius:26px;padding:22px;display:flex;flex-direction:column;justify-content:center}.status-card span{color:var(--muted);font-size:13px}.status-card strong{font-size:28px;color:var(--gold);margin:4px 0}.status-card small{color:var(--muted);line-height:1.4}
.app-grid{max-width:1440px;margin:0 auto;padding:0 22px 30px;display:grid;grid-template-columns:minmax(340px,.85fr) minmax(500px,1.2fr);gap:22px}.panel{border:1px solid var(--stroke);border-radius:30px;background:var(--panel);backdrop-filter:blur(14px);padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.24)}.panel-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.panel-title span{width:34px;height:34px;border-radius:12px;background:var(--gold);color:#110b08;font-weight:1000;display:grid;place-items:center}.panel-title h2{margin:0;font-size:25px}.panel-title.split{justify-content:space-between;align-items:start}.panel-title.split>div:first-child{display:flex;gap:12px;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button,.cover-box button,#logoutBtn{border:1px solid rgba(212,162,78,.45);background:rgba(0,0,0,.25);color:var(--gold);font-weight:800;padding:10px 13px;border-radius:13px}.form-grid,.editor{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--lav);font-size:14px;font-weight:750}input,textarea{width:100%;border:1px solid var(--stroke);background:rgba(0,0,0,.32);border-radius:15px;padding:13px 14px;color:var(--ink);outline:0}textarea{min-height:92px;resize:vertical;line-height:1.5}.tall{min-height:150px}.mini-grid,.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.message{min-height:20px;color:var(--gold);font-weight:800;line-height:1.5}.empty-state{min-height:600px;display:grid;place-items:center;text-align:center;align-content:center;color:var(--muted)}.empty-state div{font-size:78px}.empty-state h3{font-size:32px;color:var(--ink);margin:10px 0}.hidden{display:none!important}.section-heading{margin:20px 0 8px;color:var(--gold);font-size:24px}.chapter-card{border:1px solid var(--stroke);background:rgba(0,0,0,.22);border-radius:22px;padding:16px;margin-bottom:14px}.cover-box{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid rgba(212,162,78,.35);background:rgba(76,29,149,.34);border-radius:22px;padding:16px}.cover-box h3{margin:0;color:var(--gold)}.cover-box p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.cover-preview{border:1px solid var(--stroke);border-radius:22px;padding:14px;background:rgba(0,0,0,.22)}.cover-preview img{max-width:240px;width:100%;border-radius:16px;display:block}.cover-preview a{display:inline-block;margin-top:10px;color:var(--gold);font-weight:900}.footer{max-width:1440px;margin:0 auto 30px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);gap:16px}.footer p{margin:0}
@media(max-width:980px){.hero,.app-grid{display:block}.status-card{margin-top:16px}.panel{margin-bottom:18px}.mini-grid,.two-cols{grid-template-columns:1fr}.panel-title.split{display:block}.actions{margin-top:14px}.footer{display:block}.footer button{margin-top:12px}}
