:root{--bg:#0b0f16;--panel:#131a24;--panel2:#1a222f;--line:#28323f;--text:#f2f5f8;--muted:#93a1b3;--orange:#ff6a2a;--green:#4fd08a;--yellow:#f0c14b;--red:#f16565}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,Segoe UI,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.top{border-bottom:1px solid var(--line);background:#0e131b;position:sticky;top:0;z-index:5;background-image:linear-gradient(180deg,#10161f,#0e131b)}
.top .row{display:flex;align-items:center;gap:14px;height:64px}
.logo{font-weight:800;font-size:19px;letter-spacing:-.3px}
.logo b{color:var(--orange)}
.nav{display:flex;gap:16px;color:var(--muted)}
.nav a{transition:color .15s}
.nav a:hover{color:var(--text)}
.spacer{flex:1}
input,select,textarea{width:100%;background:#0f151e;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:10px 12px;font:inherit}
textarea{min-height:110px;resize:vertical}
button,.btn{background:var(--orange);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-block;transition:transform .1s,opacity .15s}
button:hover,.btn:hover{opacity:.9}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.ghost:hover{border-color:var(--orange);color:var(--orange)}
.btn.small{padding:7px 11px;font-size:13px}
.btn.danger{background:#8a2f2f}
h1{font-size:28px;margin:26px 0 6px}
.muted{color:var(--muted)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.chip{padding:7px 12px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:13px;transition:border-color .15s,color .15s}
.chip:hover{border-color:var(--orange);color:#fff}
.chip.active{border-color:var(--orange);color:#fff;background:rgba(255,106,42,.12)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0 40px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:#3a4657}
.cover,.cover img{width:100%;height:130px;object-fit:cover;display:block;background:#1c2531}
.card-body{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body b{font-size:14.5px;line-height:1.3}
.tag{display:inline-block;background:#2a2135;color:#ffc7a3;border-radius:6px;padding:3px 7px;font-size:11.5px;margin-right:4px}
.badge{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:700}
.badge.review{background:#3a2f14;color:var(--yellow)}
.badge.draft{background:#26303d;color:var(--muted)}
.badge.needs_split{background:#3a1f1f;color:var(--red)}
.badge.published{background:#163a29;color:var(--green)}
.badge.hidden{background:#22242b;color:#7a8393}
.detail-cover{width:100%;max-height:440px;object-fit:cover;border-radius:16px;margin:20px 0}
.detail h1{font-size:32px;margin-top:0}
.notice{background:#152233;border:1px solid #223349;border-radius:10px;padding:12px 14px;margin:14px 0;color:#bcd6f2}
.flash{padding:11px 14px;border-radius:9px;margin:14px 0;background:#173a25;color:#a9eec3}
.flash.error{background:#3a1c1c;color:#ffb3b3}
.admin{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}
.side{background:#0e131b;border-right:1px solid var(--line);padding:20px 12px}
.side a{display:block;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:14px;margin-bottom:2px}
.side a:hover,.side a.active{background:var(--panel2);color:#fff}
.admin-main{padding:28px;max-width:1150px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0 26px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
.stat b{font-size:26px;display:block}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.form{max-width:820px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
.field{margin:0 0 15px}
.field label{display:block;font-weight:700;margin-bottom:6px;font-size:13.5px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lockrow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.split-part{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#0f151f}
.login-box{max-width:380px;margin:100px auto;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}

.site-footer{border-top:1px solid var(--line);margin-top:60px;padding:26px 0;background:#0e131b}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px}
.footer-links{display:flex;gap:16px}
.footer-links a{color:var(--muted);transition:color .15s}
.footer-links a:hover{color:var(--orange)}
.archivists{opacity:.85}

@media(max-width:760px){
  .admin{grid-template-columns:1fr}
  .side{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}
  .side a{white-space:nowrap}
  .row2{grid-template-columns:1fr}
  .top .row{gap:12px}
  .nav{display:none}
  .footer-row{flex-direction:column;align-items:flex-start}
}
