/* clean dark ui */
:root{
  --bg:#0b1220; --panel:#0f172a; --card:#111c33; --border:#23324a;
  --text:#e5e7eb; --muted:#94a3b8; --accent:#60a5fa; --danger:#f87171;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1000px 600px at 20% 10%, #172554 0%, var(--bg) 60%), var(--bg);
  color:var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;}
.wrap{max-width:980px;margin:0 auto;padding:40px 18px}
.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.title{font-size:28px;font-weight:800;letter-spacing:.2px}
.sub{color:var(--muted);margin-top:6px}
.card{background:linear-gradient(180deg,var(--panel),var(--card));border:1px solid var(--border);
  border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card.auth{max-width:520px;margin:40px auto}
.lbl{display:block;margin:12px 0 6px;color:var(--muted);font-size:14px}
.in,.ta{width:100%;background:#0b1220;border:1px solid var(--border);color:var(--text);
  padding:12px 12px;border-radius:14px;outline:none}
.ta{height:220px;resize:vertical}
.in:focus,.ta:focus{border-color:#335b9a;box-shadow:0 0 0 3px rgba(96,165,250,.15)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:14px;border:1px solid #2b4e86;background:linear-gradient(180deg,#2563eb,#1d4ed8);
  color:white;font-weight:700;cursor:pointer;margin-top:14px;text-decoration:none}
.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}
.btn.ghost:hover{border-color:#335b9a}
.feed{margin-top:16px}
.post{background:rgba(17,28,51,.65);border:1px solid var(--border);border-radius:18px;padding:14px;margin-top:12px}
.meta{color:var(--muted);font-size:13px;margin-bottom:10px}
.content{white-space:pre-wrap;margin:0}
.err{margin-top:12px;color:var(--danger);font-weight:700}
