:root{--bg:#100f14;--panel:#19171f;--panel2:#211e29;--line:#34303d;--text:#f4eff7;--muted:#a9a0b2;--accent:#d8a58f;--accent2:#8e667e;--green:#8bc7a0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.hidden{display:none!important}.muted,small{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:800;margin:0 0 7px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at top,#30202f 0,transparent 45%),var(--bg)}.login-card{width:min(100%,430px);background:#19171f;border:1px solid var(--line);border-radius:22px;padding:35px;box-shadow:0 24px 80px #0007}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#e3b49b,#805c79);color:#1a121a;font-weight:900;font-size:18px;margin-bottom:24px}.brand-mark.small{width:38px;height:38px;margin:0;border-radius:12px;font-size:14px}.login-card h1{font-size:30px;letter-spacing:-1px;margin:0}.login-card form{margin-top:22px}label{display:block;font-size:12px;color:#d4cbd9;font-weight:700;margin:14px 0 7px}input,textarea,select{width:100%;background:#121117;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input[type=file]{font-size:12px;padding:10px}.primary,.secondary,.ghost{border-radius:10px;padding:11px 16px;font-weight:750}.primary{background:var(--accent);color:#20151b}.primary:hover{background:#e7bca8}.login-card .primary{width:100%;margin-top:18px}.secondary{background:#2b2732;color:var(--text);border:1px solid var(--line)}.ghost{background:transparent;color:var(--muted)}.notice{font-size:12px;background:#30251e;color:#edc6aa;border:1px solid #684a3d;border-radius:10px;padding:10px;margin-top:18px}.message{font-size:13px;color:var(--accent);min-height:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{background:#15131a;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 34px}.brand b{display:block;font-size:14px}.brand small{display:block;font-size:9px;letter-spacing:2px}.nav{width:100%;text-align:left;padding:12px 14px;color:var(--muted);background:transparent;border-radius:10px;margin:3px 0}.nav.active,.nav:hover{background:#2a222d;color:#f4d0bd}.nav span{margin-left:8px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:15px}.private-pill{font-size:9px;letter-spacing:1px;color:var(--green);border:1px solid #34513e;border-radius:20px;padding:8px;text-align:center}.main{padding:30px clamp(18px,4vw,56px) 18px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.topbar h1{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;margin:0}.top-actions{display:flex;align-items:center;gap:12px}.user-label{font-size:12px;color:var(--muted)}.compact{padding:10px 13px}.hero{border:1px solid #443241;border-radius:20px;padding:30px 32px;background:linear-gradient(110deg,#302332,#211c2a 65%,#3a2837);display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero h2{font-size:clamp(25px,3vw,38px);line-height:1.15;letter-spacing:-1.4px;margin:8px 0 12px}.hero p:last-child{color:#c4b7c9;margin:0}.hero-symbol{font-size:110px;color:#e3b39c55;line-height:1}.toolbar{display:flex;gap:12px;margin:22px 0}.toolbar input{max-width:520px}.toolbar select{max-width:190px}.novel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.novel-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0;transition:transform .15s,border-color .15s}.novel-card:hover{transform:translateY(-3px);border-color:#705365}.cover{height:190px;background:linear-gradient(135deg,#302132,#5d3e54 50%,#c18e80);display:grid;place-items:center;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{font-size:54px;color:#f0d1bd88}.card-body{padding:15px}.card-body h3{font-size:16px;margin:9px 0 3px;line-height:1.3}.meta{color:var(--muted);font-size:12px}.status{display:inline-block;font-size:10px;border:1px solid #5c465c;color:#dfb6d8;border-radius:20px;padding:3px 8px}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:8px}.text-button{background:transparent;color:var(--accent);font-weight:700;padding:5px 0}.empty{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:16px;margin-top:20px}.empty-icon{font-size:38px;color:var(--accent)}.empty h3{margin:8px}.form-card{max-width:1000px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:25px}.section-head h2{margin:0;font-size:25px}.section-head p:last-child{margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.field.full{grid-column:1/-1}.field small{display:block;font-size:11px;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.detail-dialog{width:min(720px,calc(100% - 24px));max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;color:var(--text);padding:28px}.detail-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-close{float:right;background:#302b37;color:white;border-radius:50%;width:34px;height:34px;font-size:23px}.detail-cover{width:120px;height:160px;object-fit:cover;border-radius:10px;float:left;margin:0 18px 12px 0}.detail-section{border-top:1px solid var(--line);padding-top:12px;margin-top:18px;white-space:pre-wrap}.file-link{display:inline-block;color:var(--accent);margin:6px 12px 0 0}footer{margin-top:45px;border-top:1px solid var(--line);padding:18px 0;color:#756c7c;font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;gap:10px}footer span{letter-spacing:0}@media(max-width:1000px){.novel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:190px 1fr}.sidebar{padding:20px 12px}}@media(max-width:700px){.app-shell{display:block}.sidebar{min-height:auto;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 0 12px}.sidebar nav{display:flex;gap:6px}.nav{width:auto;flex:1;margin:0;padding:10px}.sidebar-bottom{display:none}.main{padding:22px 15px}.topbar{align-items:flex-start}.top-actions{flex-direction:column;align-items:flex-end;gap:4px}.user-label{max-width:140px;overflow:hidden;text-overflow:ellipsis}.hero{padding:22px}.hero-symbol{font-size:65px}.toolbar{flex-direction:column}.toolbar input,.toolbar select{max-width:none}.novel-grid{grid-template-columns:1fr 1fr;gap:10px}.cover{height:145px}.card-body{padding:11px}.card-body h3{font-size:14px}.form-card{padding:17px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}footer{flex-direction:column}}@media(max-width:390px){.novel-grid{grid-template-columns:1fr}.cover{height:190px}.topbar h1{font-size:23px}.top-actions .primary{font-size:11px;padding:8px}}


/* Chapter manager */
.chapter-manager{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.2rem}.chapter-manager-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.chapter-manager-head h3{margin:0}.chapter-list{display:grid;gap:.65rem}.chapter-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.chapter-row h4{margin:0 0 .25rem;font-size:1rem}.chapter-row .muted{margin:0;font-size:.85rem}.chapter-actions{display:flex;flex-wrap:wrap;gap:.45rem}.chapter-actions button{padding:.5rem .7rem;font-size:.85rem}.chapter-dialog{width:min(760px,calc(100% - 2rem))}.chapter-dialog textarea{min-height:260px;line-height:1.65}.chapter-reader{width:min(900px,calc(100% - 2rem))}.chapter-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:1.04rem;color:var(--text);margin-top:1.5rem}@media(max-width:640px){.chapter-manager-head,.chapter-row{align-items:stretch;flex-direction:column}.chapter-actions button{flex:1}}


/* StoryHit-inspired writer community layout; original Blue Novel brand and Supabase backend retained */
:root { --accent:#e4ad98; --accent-strong:#f0bda7; }
body { background:#100f14; }
.sidebar { background:#15131b; }
.brand-mark { background:linear-gradient(145deg,#f0c6ae,#9b748e); color:#241925; border-radius:15px; }
.profile-mini { display:flex; align-items:center; gap:.8rem; margin:1.8rem 0 1.3rem; padding:1rem; border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:15px; }
.profile-mini b,.profile-mini small { display:block; overflow-wrap:anywhere; }
.profile-mini small { color:var(--muted); margin-top:.25rem; }
.avatar { width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e7b5a0,#6f5577);color:#20141f;font-weight:800;font-size:1.1rem; }
.top-subtitle { margin-top:-.4rem; }
.hero { background:linear-gradient(120deg,#28202e 0%,#392638 65%,#473040 100%); border-color:#493648; }
.hero h2 { letter-spacing:-.04em; }
.hero-chips { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem; }
.hero-chips span,.shelf-label { font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid #72576c;border-radius:999px;padding:.4rem .7rem;color:#f0c4b0; }
.library-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 .9rem; }
.library-heading h2 { margin:0;font-size:1.35rem; }
.library-heading p { margin:.35rem 0 0; }
.novel-card { overflow:hidden; border-radius:16px; transition:transform .18s,border-color .18s; }
.novel-card:hover { transform:translateY(-3px);border-color:#805d78; }
.cover { background:linear-gradient(145deg,#35263a,#17151d); }
.primary { background:#dfaa95;color:#20151b; }
.primary:hover { background:#f0bda7; }
.login-community { background:radial-gradient(ellipse at 75% 20%,#39263b 0%,#17131d 40%,#100f14 78%); }
.login-wide { width:min(650px,100%);text-align:left;padding:clamp(1.5rem,5vw,3.2rem); }
.brand-login { display:flex;align-items:center;gap:.8rem;margin-bottom:2.3rem; }
.brand-login b,.brand-login small { display:block; }
.brand-login small { letter-spacing:.18em;font-size:.68rem;color:var(--muted);margin-top:.2rem; }
.login-wide h1 { font-size:clamp(2.5rem,7vw,4.3rem);line-height:1.02;letter-spacing:-.05em;margin:.5rem 0 1rem; }
.login-wide h1 span { color:#e7b09a; }
.login-feature-row { display:flex;flex-wrap:wrap;gap:.55rem;margin:1.3rem 0 1.8rem; }
.login-feature-row span { border:1px solid var(--line);border-radius:999px;padding:.5rem .75rem;font-size:.8rem;color:#e9c4b5; }
.login-form-community { border-top:1px solid var(--line);padding-top:1.5rem; }
.login-form-community h2 { font-size:1.25rem;margin:0 0 1.2rem; }
.login-form-community .primary { margin-top:.6rem; }
@media (max-width:720px) { .library-heading { align-items:flex-start;flex-direction:column; } .shelf-label { display:none; } .login-wide { padding:1.4rem; } }
