:root{
  --bg1:#0c1321; --bg2:#060a14; --panel:#0f1627; --muted:#9fb1d6;
  --text:#eaf2ff; --brand:#5dd4a3; --brand2:#52b6f0;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;color:var(--text);background:linear-gradient(160deg,var(--bg1),var(--bg2));font:16px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px}
.logo{margin:0;font-size:28px;text-transform:lowercase}
.logo span{color:var(--brand)}
.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
input[type=search], select{padding:10px 12px;border-radius:10px;border:1px solid #223055;background:#0c1321;color:var(--text)}
.btn{border:0;border-radius:10px;padding:10px 14px;background:#23304d;color:var(--text);cursor:pointer}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#0d1623;font-weight:700}
.btn.ghost{background:transparent;border:1px solid #263455;color:var(--text)}
.btn.small{padding:6px 10px;font-size:.9rem}
.btn.danger{background:#ff6b6b;color:#1b0f14}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:18px}
.card{background:var(--panel);border:1px solid #223055;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.img-btn{padding:0;border:0;background:transparent;cursor:pointer}
.img{display:block;width:100%;height:210px;object-fit:cover}
.body{padding:12px}
.title{margin:6px 0;font-size:1.1rem}
.date{margin:0;color:var(--muted);font-size:.9rem}
.excerpt{margin:.3rem 0 0}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:.4rem 0}
.tag, .tags .tag{background:#1a233a;border:1px solid #263455;color:#cfe1ff;border-radius:999px;padding:4px 8px;font-size:.85rem;cursor:pointer}
.tag.active{background:#324773}
.actions{display:flex;gap:8px;margin-top:8px}
.site-footer{color:var(--muted);text-align:center;padding:18px}

.modal{border:0;border-radius:14px;background:var(--panel);color:var(--text);max-width:720px;width:92vw}
.modal::backdrop{background:rgba(0,0,0,.55)}
.modal header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #223055}
.modal .form{display:grid;gap:10px;padding:14px 16px}
.modal label{display:grid;gap:6px}
.modal input, .modal textarea{padding:10px 12px;border-radius:10px;border:1px solid #223055;background:#0c1321;color:var(--text)}
.modal .drop{border:1px dashed #2a3a62;border-radius:12px;padding:10px 12px;color:#b8c9ea;background:#0e1422}
.dialog-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid #223055}
.icon{border:0;background:transparent;color:#cfe1ff;cursor:pointer}
.reader-body{padding:12px 16px}
.reader-body img{max-width:100%;border-radius:10px}
.reader-tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.drawer{border:0;border-radius:14px;background:transparent;width:min(560px,94vw)}
.drawer::backdrop{background:rgba(0,0,0,.55)}
.drawer aside{background:var(--panel);border:1px solid #223055;border-radius:14px;padding:12px}
.tags-bar{display:flex;flex-wrap:wrap;gap:8px}
.file-label{position:relative;overflow:hidden}
.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}
.muted{color:var(--muted);font-size:.9em}

/* --- simple privacy overlay --- */
.eh-overlay{position:fixed;inset:0;background:rgba(3,7,14,.86);display:flex;align-items:center;justify-content:center;z-index:9999}
.eh-card{background:linear-gradient(180deg,#0f1627,#0c1321);padding:18px;border-radius:12px;max-width:520px;width:92%;box-shadow:0 6px 30px rgba(0,0,0,.6);color:var(--text)}
.eh-card h2{margin:0 0 8px}
.eh-card .row{margin:8px 0;display:flex;gap:8px}
.eh-card input[type=password]{flex:1;padding:10px 12px;border-radius:8px;border:1px solid #223055;background:#071024;color:var(--text)}
.eh-card .btn{padding:9px 12px;border-radius:8px;border:0;cursor:pointer}
.eh-card .hint{color:var(--muted);font-size:.9rem;margin-top:8px}
/* simple privacy overlay */
.eh-overlay{position:fixed;inset:0;background:rgba(3,7,14,.86);display:flex;align-items:center;justify-content:center;z-index:9999}
.eh-card{background:linear-gradient(180deg,#0f1627,#0c1321);padding:18px;border-radius:12px;max-width:520px;width:92%;box-shadow:0 6px 30px rgba(0,0,0,.6);color:#eaf2ff}
.eh-card h2{margin:0 0 8px}
.eh-card .row{margin:8px 0;display:flex;gap:8px}
.eh-card input[type=password]{flex:1;padding:10px 12px;border-radius:8px;border:1px solid #223055;background:#071024;color:#eaf2ff}
.eh-card .btn{padding:9px 12px;border-radius:8px;border:0;cursor:pointer}
.eh-card .hint{color:#9fb1d6;font-size:.9rem;margin-top:8px}