:root{--bg:#171717;--paper:#202020;--paper-2:#252525;--ink:#eeeae5;--muted:#928c86;--line:#383532;--accent:#c27691;--green:#8db99c;--sans:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px var(--sans)}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;background:#191919}.wordmark{color:var(--ink);font-size:18px;font-weight:bold;text-decoration:none;margin:0 10px 55px}.wordmark small{display:block;color:var(--muted);font-size:10px;font-weight:normal;margin-top:6px;letter-spacing:.08em}.side-nav{display:grid;gap:4px}.side-link{border:0;background:none;color:var(--muted);padding:12px 10px;text-align:left;cursor:pointer;display:flex;justify-content:space-between}.side-link:hover,.side-link.is-active{background:var(--paper-2);color:var(--ink)}.side-link.is-active{border-left:2px solid var(--accent);padding-left:8px}.side-link b{font-size:10px;font-weight:normal;color:var(--muted)}.side-link b.alert{color:var(--accent)}.back-link{color:var(--muted);text-decoration:none;margin: auto 10px 5px}.back-link:hover{color:var(--ink)}.mobile-bar{display:none}.main-content{margin-left:245px;max-width:1280px;padding:58px 6vw 90px}.admin-page{display:none}.admin-page.is-visible{display:block}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:42px}.kicker{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 15px}.page-header h1{font-size:48px;letter-spacing:-.07em;margin:0 0 10px}.page-header h1 sup{color:var(--accent);font-size:15px;vertical-align:top}.page-header p:not(.kicker){color:var(--muted);margin:0;line-height:1.5}.primary,.secondary{border:1px solid var(--line);padding:11px 14px;cursor:pointer}.primary{background:var(--accent);border-color:var(--accent);color:#170f13}.secondary{background:var(--paper-2);color:var(--ink)}.primary:hover{background:#d18aa1}.secondary:hover{border-color:#625a54}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}.metric,.panel,.author-card,.review-card{background:var(--paper);border:1px solid var(--line)}.metric{padding:20px}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:30px;letter-spacing:-.06em;margin:18px 0 8px}.metric small.positive{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.panel{padding:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel h2{font-size:16px;letter-spacing:-.03em;margin:0}.text-link{border:0;background:none;color:var(--accent);padding:0;cursor:pointer;font-size:11px}.text-link:hover{text-decoration:underline}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:10px;font-weight:normal;padding:0 12px 12px}td{border-top:1px solid var(--line);padding:15px 12px;color:var(--muted);font-size:11px}td:first-child{padding-left:0;color:var(--ink)}td:last-child{padding-right:0}td strong,td small{display:block}td small{color:var(--muted);font-size:10px;margin-top:5px}.status{font-size:10px;padding:5px 7px;border:1px solid}.status.published{color:var(--green);border-color:#476552}.status.draft{color:#d2b77f;border-color:#665536}.queue-item{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.queue-icon{width:34px;height:34px;background:var(--paper-2);display:grid;place-items:center;color:var(--accent)}.queue-item strong,.queue-item small{display:block}.queue-item small{color:var(--muted);font-size:10px;margin-top:5px}.toolbar{display:flex;gap:10px;margin-bottom:18px}.field{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);padding:11px 12px;outline:0}.field:focus{border-color:var(--accent)}.search{flex:1}.wide-table td{padding-top:18px;padding-bottom:18px}.dots{border:0;background:none;color:var(--muted);cursor:pointer;letter-spacing:2px}.editor-form{max-width:820px;display:grid;grid-template-columns:1fr 280px;gap:18px}.editor-form>.panel:first-child{display:grid;gap:18px}.editor-form label,.settings-form label{display:grid;gap:8px;color:var(--muted);font-size:11px}.editor-form .field,.settings-form .field{width:100%}.editor-form textarea,.settings-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.type-fields{height:max-content;display:grid;gap:14px}.type-fields h2{font-size:15px;margin:0}.upload-box{border:1px dashed #5a544f;color:var(--muted);padding:40px 15px;text-align:center}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.moderation-list{display:grid;gap:16px;max-width:850px}.review-card{padding:16px;display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}.review-placeholder{height:150px;background:linear-gradient(140deg,#4c3541,#282631);display:grid;place-items:center;color:var(--muted);font:11px monospace}.fic-placeholder{font:60px Arial;color:#ad7188}.review-card h2{margin:5px 0 10px;font-size:24px}.review-card>div:last-child>p:not(.kicker){color:var(--muted);line-height:1.6}.review-actions{display:flex;gap:10px;margin-top:24px}.author-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.author-card{padding:22px}.author-card>span{display:grid;place-items:center;width:42px;height:42px;background:var(--paper-2);color:var(--accent);margin-bottom:24px}.author-card h2{margin:0 0 8px}.author-card p,.tag-line span{color:var(--muted);font-size:11px}.tag-panel{max-width:700px;padding:0}.tag-line{display:grid;grid-template-columns:1fr 150px auto;align-items:center;border-bottom:1px solid var(--line);padding:17px 20px}.tag-line:last-child{border:0}.period{height:max-content}.chart{margin-top:18px;max-width:850px}.chart .panel-heading span{font-size:11px;color:var(--muted)}.bars{height:240px;display:flex;align-items:end;gap:13px;padding:20px 5px 0;border-bottom:1px solid var(--line)}.bars i{display:block;background:var(--accent);opacity:.75;flex:1;min-width:12px}.settings-form{max-width:650px;display:grid;gap:20px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.check input{accent-color:var(--accent)}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#171717;padding:12px 16px;opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:850px){.sidebar{display:none}.sidebar.open{display:flex;width:260px;z-index:10;box-shadow:15px 0 30px #000}.mobile-bar{display:flex;position:sticky;top:0;z-index:5;height:58px;align-items:center;gap:15px;padding:0 18px;background:#191919;border-bottom:1px solid var(--line);font-size:12px}.mobile-bar button{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:7px 9px}.main-content{margin-left:0;padding:42px 20px 70px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:30px}.page-header h1{font-size:40px}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.editor-form{display:block}.editor-form>.panel,.editor-form>.form-actions{margin-bottom:15px}.author-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar .search{flex-basis:100%}.wide-table{min-width:700px}.table-panel{overflow:auto}.review-card{grid-template-columns:1fr}.review-placeholder{height:190px}.tag-line{grid-template-columns:1fr auto;gap:8px}.tag-line span{grid-column:1}.tag-line .dots{grid-column:2;grid-row:1/3}}
 .account-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:18px}.account-section{margin-bottom:18px}.permission-note{color:var(--muted);font-size:10px}.status.pending{color:#d2b77f;border-color:#665536}.request-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0}.avatar{width:34px;height:34px;display:grid;place-items:center;background:var(--paper-2);color:var(--accent);font-size:10px}.request-row strong,.request-row small{display:block}.request-row small{color:var(--muted);font-size:10px;margin-top:5px}.request-actions{display:flex;gap:8px;align-items:center}.request-actions .primary{padding:8px 10px;font-size:11px}.request-actions .dots{font-size:10px;letter-spacing:0}.account-form{display:grid;gap:14px}.users-table{overflow:auto}.user-row{display:grid;grid-template-columns:1.5fr 170px 150px 120px;align-items:center;gap:15px;border-top:1px solid var(--line);padding:15px 0;min-width:650px;color:var(--muted);font-size:11px}.user-row strong,.user-row small{display:block;color:var(--ink)}.user-row small{color:var(--muted);font-size:10px;margin-top:4px}.user-head{border-top:0;padding-top:0;text-transform:uppercase;font-size:9px;letter-spacing:.08em}.user-head span{color:var(--muted)}.role-select{padding:7px 8px;font-size:11px}.own-account .form-row{max-width:650px;align-items:end}.own-account .primary{grid-column:1/-1;justify-self:start}@media(max-width:850px){.account-layout{display:block}.account-section{margin-bottom:15px}.request-row{grid-template-columns:38px 1fr}.request-actions{grid-column:2;flex-wrap:wrap}.own-account .form-row{display:grid}.own-account .primary{grid-column:1}}
.cropper{display:grid;gap:12px}.file-label{cursor:pointer}.file-input{display:none}.crop-workspace{display:grid;gap:12px}.crop-workspace[hidden]{display:none}.crop-canvas{display:block;width:100%;height:auto;max-width:100%;max-height:430px;object-fit:contain;background:#111;cursor:grab;touch-action:none}.crop-canvas:active{cursor:grabbing}.crop-tools{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:end}.crop-tools label{display:grid;gap:7px}.crop-tools .field,.crop-tools select,.crop-tools input{width:100%}.crop-tools .secondary{height:37px;white-space:nowrap}@media(max-width:850px){.crop-tools{grid-template-columns:1fr 1fr}.crop-tools .secondary{grid-column:1/-1;justify-self:start}}
 .editor-form{max-width:980px;grid-template-columns:1fr 420px}
.direct-publish{margin-right:auto;color:var(--muted);font-size:11px!important}
 .login-body{min-height:100vh;display:grid;place-items:center;padding:25px}.login-box{width:min(410px,100%);background:var(--paper);border:1px solid var(--line);padding:38px}.login-box .wordmark{display:block;margin:0 0 70px}.login-box h1{font-size:34px;letter-spacing:-.07em;margin:0 0 30px}.login-box form{display:grid;gap:18px}.login-box form label{display:grid;gap:8px;color:var(--muted);font-size:11px}.login-box .primary{margin-top:8px}.login-box .back-link{display:block;margin:35px 0 0}.login-error{color:var(--accent);font-size:11px;margin:0}
.admin-empty,.empty-cell{color:var(--muted);padding:18px 0;font-size:12px}.empty-cell{text-align:left}
@media(max-width:850px){.sidebar .side-link:not([data-page="stats"]){display:none}.main-content .admin-page:not([data-page-content="stats"]){display:none!important}}
.user-row{grid-template-columns:1.5fr 170px 120px 100px 105px 125px}
.account-bulk-actions{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--muted);font-size:10px}.account-select{margin-right:7px;accent-color:var(--accent)}
.admin-modal{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:20px}.admin-modal-box{position:relative;width:min(800px,100%);max-height:90vh;overflow:auto;background:var(--paper);border:1px solid var(--line);padding:32px}.admin-modal-box h2{margin:0 0 25px}.media-admin-list{display:grid;gap:14px}.media-admin-row{display:grid;grid-template-columns:180px 1fr;gap:15px;border-top:1px solid var(--line);padding-top:14px}.media-admin-row img{width:180px;height:130px;object-fit:cover;background:#111}.media-admin-row>div{display:grid;gap:8px}.media-admin-row .check{font-size:11px}.media-admin-row .dots{justify-self:start}@media(max-width:850px){.media-admin-row{grid-template-columns:1fr}.media-admin-row img{width:100%;height:200px}}
.chapter-editor-layout{display:grid;grid-template-columns:230px 1fr;gap:22px}.chapter-list{display:grid;align-content:start;gap:7px}.chapter-list-item{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:11px;text-align:left;cursor:pointer}.chapter-list-item:hover{border-color:var(--accent)}.chapter-list-item strong,.chapter-list-item span,.chapter-list-item small{display:block}.chapter-list-item span,.chapter-list-item small{color:var(--muted);font-size:10px;margin-top:4px}.chapter-form{display:grid;gap:13px}.chapter-form label{display:grid;gap:7px;color:var(--muted);font-size:11px}.chapter-form-actions{display:flex;gap:10px}.chapter-form textarea{resize:vertical}@media(max-width:700px){.chapter-editor-layout{grid-template-columns:1fr}.chapter-picker{margin-left:0}.chapter-select{max-width:170px}}
.media-replace-label{display:grid;gap:6px;color:var(--muted);font-size:11px}.media-replace{font-size:11px;color:var(--muted)}
.file-input-list,.media-add-list{display:grid;gap:8px}.add-file-input{justify-self:start}.media-add-list .upload-box{min-height:42px}
.admin-modal-box{width:min(900px,calc(100vw - 40px));border-radius:2px}.publication-editor form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.publication-editor form label:not(.check){display:grid;gap:8px;color:var(--muted);font-size:11px}.publication-editor form label:nth-of-type(3),.publication-editor form label:nth-of-type(4),.publication-editor form .primary{grid-column:1/-1}.publication-editor .field{width:100%}.publication-editor textarea{resize:vertical}.publication-editor .check{display:flex!important;align-items:center;gap:8px}.media-add-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.media-add-form .upload-box{min-height:48px;padding:12px;display:flex;align-items:center;justify-content:center;gap:10px}.media-add-input{max-width:230px;color:var(--muted);font-size:11px}.media-admin-row>div{min-width:0}.media-admin-row .field{width:100%}.media-admin-row .secondary{width:max-content}.media-admin-row .media-delete{width:max-content}@media(max-width:700px){.publication-editor form{grid-template-columns:1fr}.publication-editor form label:nth-of-type(3),.publication-editor form label:nth-of-type(4),.publication-editor form .primary{grid-column:auto}.media-add-form{grid-template-columns:1fr}.media-add-form .primary{justify-self:start}}
.tag-create{display:flex;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line)}.tag-create .field{flex:1}.tag-list{display:grid}.tag-list .tag-line:last-child{border-bottom:0}
.logout-link{border:0;border-top:1px solid var(--line);background:none;color:var(--muted);padding:18px 10px 0;text-align:left;cursor:pointer}.logout-link:hover{color:var(--ink)}
.publication-editor form label:nth-of-type(4){grid-column:auto}.publication-editor form label:nth-of-type(5){grid-column:auto}
.admin-modal-box{overflow-x:hidden}.chapter-editor-layout{grid-template-columns:230px minmax(0,1fr);min-width:0}.chapter-list{max-height:58vh;overflow-y:auto;overflow-x:hidden;min-width:0;padding-right:5px}.chapter-list-item{width:100%;min-width:0;overflow-wrap:anywhere}.chapter-list-item strong,.chapter-list-item span,.chapter-list-item small{max-width:100%;overflow-wrap:anywhere}.chapter-form{min-width:0}.chapter-form textarea{max-width:100%}
.chapter-list-item{position:relative;padding:0}.chapter-select-button{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:11px 32px 11px 11px;text-align:left;cursor:pointer}.chapter-select-button:hover{border-color:var(--accent)}.chapter-select-button strong,.chapter-select-button span,.chapter-select-button small{display:block;max-width:100%;overflow-wrap:anywhere}.chapter-select-button span,.chapter-select-button small{color:var(--muted);font-size:10px;margin-top:4px}.chapter-delete{position:absolute;right:7px;top:8px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.chapter-delete:hover{color:var(--accent)}
.storage-warning{margin-bottom:25px;border:1px solid var(--accent);background:#2a1d23;color:#f0b4c8;padding:13px 16px;font-size:12px}
