.detail-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.detail-banner::before { display:none; }
.empty-state { padding:35px 12px; color:var(--muted); border-bottom:1px solid var(--line); }
.about-section { border-top:1px solid var(--line); }
.about-section p { max-width:630px; line-height:1.9; color:var(--muted); }
.work-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:25px; }
.continue-link[hidden] { display:none; }
.auth-shell { min-height:100vh; display:grid; place-items:center; padding:30px 18px; background:#e9e6dd; }
.auth-card { width:min(480px,100%); padding:45px; background:var(--surface); border:1px solid var(--line); box-shadow:0 20px 60px #18211f12; }
.auth-card .brand { margin-bottom:55px; }
.auth-card h1,.admin-main h1 { font:500 clamp(32px,4vw,48px)/1.3 var(--serif); margin:13px 0 14px; }
.auth-card p { line-height:1.8; color:#666e66; font-size:14px; }
form label { display:block; font-size:13px; font-weight:600; color:#4a514a; margin:22px 0; }
form input:not([type=hidden]),form textarea { display:block; width:100%; margin-top:9px; border:1px solid #babfb4; border-radius:2px; padding:12px 14px; background:#fffefa; color:var(--ink); font:16px/1.6 var(--sans); }
form textarea { resize:vertical; min-height:360px; font-family:var(--serif); line-height:1.8; }
form input:focus,form textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
form input:disabled { color:#777; background:#f1f0eb; }
form label small { color:var(--muted); font-weight:400; display:block; margin-top:5px; }
.form-error,.form-success { padding:12px 16px; border-left:3px solid #a74b40; background:#f9ebe8; color:#6d3029!important; }
.form-success { border-color:#537459; background:#e8f0e7; color:#35543a!important; }
.auth-card .button { width:100%; margin:10px 0 28px; }
.admin-header { border-bottom:1px solid var(--line); background:var(--surface); }
.admin-header-inner { height:78px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.admin-header nav { display:flex; gap:25px; align-items:center; font-size:13px; }
.admin-header nav form { margin:0; }
.admin-header nav button { border:0; padding:8px 0; background:none; color:var(--accent-dark); }
.admin-main { padding-block:70px 110px; }
.admin-lead { color:var(--muted); line-height:1.8; }
.admin-main-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:25px; }
.admin-main-actions form { margin:0; }
.work-form-wrap { max-width:730px; padding:30px; background:var(--surface); border:1px solid var(--line); }
.work-form-wrap select { display:block; margin-top:9px; padding:12px; min-width:220px; font:inherit; background:#fffefa; border:1px solid #babfb4; }
.upload-form { max-width:660px; padding:24px; background:var(--surface); border:1px solid var(--line); margin:28px 0 40px; }
.import-help { max-width:760px; margin:26px 0; padding:22px 27px; background:#eee9dd; border-left:2px solid var(--accent); }
.import-help h2,.import-review h2 { font:500 26px var(--serif); margin:0 0 10px; }
.import-help p,.import-review p { line-height:1.8; color:#646c64; font-size:13px; }
.import-form select { display:block; width:100%; margin-top:9px; padding:12px; font:inherit; border:1px solid #babfb4; background:#fffefa; }
.import-review { margin-top:45px; padding:27px; background:var(--surface); border:1px solid var(--line); }
.import-review-head { display:flex; justify-content:space-between; align-items:end; gap:25px; flex-wrap:wrap; }
.import-review-head form { margin:0; }
.import-list { max-height:550px; overflow:auto; border-top:1px solid var(--line); margin:22px 0 0; padding:0; list-style:none; }
.import-list li { display:grid; grid-template-columns:1fr 100px 95px; gap:15px; align-items:center; padding:15px 8px; border-bottom:1px solid var(--line); font-size:12px; }
.import-list strong { font:500 18px var(--serif); }
.import-list small { display:block; margin-top:5px; line-height:1.5; color:var(--muted); overflow-wrap:anywhere; }
.import-list span:nth-child(2) { color:var(--muted); }
.chapter-file-label { border-top:1px solid var(--line); padding-top:17px; }
.button:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.media-card { background:var(--surface); border:1px solid var(--line); overflow:hidden; }
.media-card>img { width:100%; height:185px; object-fit:cover; background:#e3e3da; }
.media-card>div { padding:20px; }
.media-card strong { display:block; overflow-wrap:anywhere; }
.media-card p { color:var(--muted); font-size:12px; }
.media-card .media-url { font-size:12px; }
.media-card .button { font-size:11px; }
.reader-prose figure { margin:2.5em 0; }
.reader-prose figure img { width:100%; height:auto; }
.reader-prose figcaption { text-align:center; font:13px/1.7 var(--sans); opacity:.6; padding-top:10px; }
.admin-work { margin-top:58px; background:var(--surface); border:1px solid var(--line); }
.admin-work-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:30px; border-bottom:1px solid var(--line); }
.admin-work h2 { font:500 30px var(--serif); margin:9px 0 0; }
.admin-list a { display:grid; grid-template-columns:65px 1fr 90px 75px; align-items:center; gap:15px; padding:20px 30px; border-bottom:1px solid var(--line); font-size:13px; }
.admin-list a:last-child { border-bottom:0; }
.admin-list a:hover { background:#f1eee6; }
.admin-list strong { font:500 20px var(--serif); }
.admin-list p { padding:20px 30px; color:var(--muted); }
.admin-pos { color:#aa9780; }
.status { display:inline-block; width:max-content; padding:6px 10px; font-size:11px; letter-spacing:.05em; background:#efe9da; color:#765b36; }
.status-published { background:#dce9df; color:#3f6647; }
.edit-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.edit-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.84fr); gap:30px; align-items:start; }
.edit-layout>div:first-child { padding:28px; background:var(--surface); border:1px solid var(--line); }
.edit-layout form label:first-of-type { margin-top:0; }
.form-actions,.publish-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.publish-actions { border-top:1px solid var(--line); padding-top:22px; margin-top:24px; }
.publish-actions form { margin:0; }
.button-secondary { border-color:#9ea69b; color:var(--ink); background:transparent; }
.button-publish { background:#3d6550; color:white; }
.admin-hint { font-size:12px; line-height:1.7; color:var(--muted); }
.preview-panel { position:sticky; top:25px; background:#f8f5ed; border:1px solid var(--line); max-height:calc(100vh - 50px); overflow:auto; padding:28px; }
.preview-head { display:flex; justify-content:space-between; gap:10px; align-items:center; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:25px; }
.preview-head strong { font-family:var(--serif); font-size:20px; }
.preview-head span { color:var(--muted); font-size:11px; }
.preview-panel .reader-prose { font-size:17px; line-height:1.8; overflow-wrap:anywhere; }
.preview-panel .reader-prose p { text-indent:0; }
.preview-panel [data-book="guts"] { font-family:var(--font-guts); }
.preview-panel [data-book="knox"] { font-family:var(--font-knox); }
@media(max-width:850px){.edit-layout{grid-template-columns:1fr}.preview-panel{position:static;max-height:none}}
@media(max-width:560px){.auth-card{padding:30px 23px}.admin-header-inner{height:70px}.admin-header nav{gap:12px}.admin-main{padding-block:45px 80px}.admin-work-head{align-items:start;flex-direction:column}.admin-list a{grid-template-columns:36px 1fr 65px;padding:17px}.admin-list a span:last-child{display:none}.edit-layout>div:first-child,.preview-panel{padding:19px}}
@media(max-width:560px){.import-list li{grid-template-columns:1fr 80px;gap:5px}.import-list .status{grid-column:1 / -1}.import-review{padding:18px}}
