:root{
  --bg:#0e0f12; --fg:#e9e6df; --muted:#a8a39a; --accent:#b9853f; --card:#1a1c22; --ink:#222;
  --max: 1100px; --radius:16px; --shadow: 0 8px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,Segoe UI,Roboto,Ubuntu}
a{color:var(--accent);text-decoration:none} a:hover{opacity:.9}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
.site-header{border-bottom:1px solid #222;background:linear-gradient(180deg,#121418,#0e0f12)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem}
.brand a{color:var(--fg)}
.nav a{margin-left:1rem;color:var(--muted)} .nav a.active{color:var(--fg)}
.hero{padding:6rem 0;background:radial-gradient(1200px 600px at 20% 0%,#151720,transparent)}
.hero h2{font-size:2.2rem;margin:0 0 .5rem}
.btn{display:inline-block;background:var(--accent);color:#111;padding:.6rem 1rem;border-radius:999px;box-shadow:var(--shadow)}
.section{padding:3rem 0}
.site-footer{border-top:1px solid #222;color:var(--muted)}
.page-archives .toolbar{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
#search{flex:1;padding:.6rem .8rem;border-radius:10px;border:1px solid #333;background:#14161b;color:var(--fg)}
.tags .tag{background:#161920;color:var(--muted);border:1px solid #2a2d36;padding:.3rem .6rem;border-radius:999px;margin:.2rem;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid #23252c}
.card .cover{display:block;aspect-ratio:3/4;background:#0e0f12}
.card img{width:100%;height:100%;object-fit:cover;display:block}
.card .meta{padding:.8rem}
.card .muted{color:var(--muted);margin:.2rem 0 0}
.taglist{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:.4rem 0 0;list-style:none}
.tag{background:#1f222a;border:1px solid #2a2d36;color:var(--muted);padding:.2rem .5rem;border-radius:999px}
.page-story .story{padding:2rem 1rem}
.story-head{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}
.cover-box{position:relative}
.cover-box img{width:100%;max-width:480px;border-radius:var(--radius);box-shadow:var(--shadow)}
.cover-box .title{margin:.6rem 0 0}
.audio{display:block;margin-top:.6rem;width:100%;max-width:480px}
.actions .btn{margin-right:.6rem}
.pager{display:flex;justify-content:space-between;margin:2rem 0}
.muted{color:var(--muted)}
@media(min-width:900px){
  .story-head{grid-template-columns:420px 1fr}
}
