/* Project Zero — unified public dark theme (home, journal, posts, contact).
   One design language across the whole public side, for readers. */
:root{--bg:#0b0f14;--panel:#131a22;--panel2:#0f151c;--line:#1f2a36;--txt:#e6edf3;
  --dim:#8b98a5;--accent:#39c5cf;--clear:#2ecc71}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
.wrap{max-width:720px;margin:0 auto;padding:0 20px 46px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:16px 0;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.14em;font-size:15px;color:var(--txt)}
.brand b{color:var(--accent)}
.top .nav{color:var(--dim);font-size:13.5px}
.top .nav:hover{color:var(--txt)}
.top{flex-wrap:wrap}
.brand{color:var(--txt);text-decoration:none}
.top nav a{color:var(--dim);font-size:13.5px;text-decoration:none;margin-left:14px}
.top nav a:hover{color:var(--txt)}
.tbadge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;color:#04252a;background:var(--ahead);border-radius:6px;padding:2px 8px;vertical-align:middle;margin-right:8px}
h1{font-size:34px;margin:0 0 8px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.sub{color:var(--dim);font-size:15.5px;margin:0 0 20px}
.kicker{color:var(--accent);letter-spacing:.2em;font-size:12px;text-transform:uppercase;margin:26px 0 12px}
.hero{padding:8px 0 8px}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.btn{display:inline-block;font-weight:700;font-size:14.5px;color:#fff;background:var(--accent);
  border-radius:9px;padding:11px 18px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
.btn:hover{filter:brightness(1.07)}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}
@media(max-width:640px){.strip{grid-template-columns:1fr}}
.cell{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.cell .k{font-weight:700;font-size:14px;margin-bottom:5px;color:var(--txt)}
.cell .v{font-size:13px;color:var(--dim);line-height:1.5}

/* journal list */
.posts a.post{display:block;background:var(--panel);border:1px solid var(--line);
  border-left:3px solid var(--clear);border-radius:12px;padding:15px 16px;margin-bottom:13px;color:var(--txt)}
.posts a.post:hover{border-left-color:var(--accent)}
.posts .row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.posts h3{margin:0;font-size:17px;font-weight:700;color:var(--txt)}
.posts .date{font-size:12px;color:var(--dim);white-space:nowrap}
.posts .ex{margin:7px 0 0;font-size:14.5px;color:#b9c4cd}
.empty{color:var(--dim);font-size:14px;padding:10px 0}

/* article (blog post) */
article{padding:10px 0}
article h1{font-size:30px}
article .meta{color:var(--dim);font-size:13px;margin:0 0 18px}
article .body{font-size:16.5px;line-height:1.75;color:#d5dde3}
article .body p{margin:0 0 18px}
article a.back{display:inline-block;margin-top:8px;font-size:13.5px;color:var(--dim)}
article a.back:hover{color:var(--txt)}

/* contact form */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
label{display:block;font-size:13.5px;color:#c3ccd4;margin:0 0 6px;font-weight:600}
.opt{color:var(--dim);font-weight:400}
input,textarea{width:100%;font:inherit;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;color:var(--txt);margin-bottom:16px}
input:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}
.card .btn{width:100%;border:0;cursor:pointer}
.note{font-size:12.5px;color:var(--dim);margin:12px 0 0;line-height:1.55}
.thanks{text-align:center;padding:40px 0}
.thanks h1{margin-bottom:10px}

/* footer */
.foot{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  color:var(--dim);font-size:12px}
