:root{
  --bg:#111;
  --panel:#1f1f1f;
  --muted:#9b9b9b;
  --accent:#ffcc00;
  --card:#252525;
  --gap:16px;
}
*{box-sizing:border-box}
body{
  margin:0;font-family:Inter,Arial,Helvetica,sans-serif;
  background:var(--bg);color:#eee;
}
.site-header{
  display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#0f0f0f;border-bottom:1px solid #222;
}
.brand h1{margin:0;color:var(--accent);font-size:20px}
.brand .tag{margin:0;font-size:12px;color:var(--muted)}
.main-nav a{color:#ddd;text-decoration:none;margin-left:12px;font-weight:600;}
.main-nav a.active{color:var(--accent)}
.container{padding:20px;max-width:1100px;margin:0 auto}
.hero{margin-bottom:18px}
.thumb-row{display:flex;gap:12px;overflow:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.card{background:var(--card);padding:12px;border-radius:8px;box-shadow:0 6px 12px rgba(0,0,0,0.4);text-align:center}
.card img{width:100%;height:120px;object-fit:cover;border-radius:6px}
.card h3{margin:8px 0 4px;font-size:16px}
.card p{margin:0;font-size:13px;color:var(--muted)}
.site-footer{text-align:center;padding:16px;color:var(--muted);border-top:1px solid #222;margin-top:36px}

/* modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.6);z-index:999}
.modal.hidden{display:none}
.modal-inner{background:var(--panel);width:90%;max-width:760px;padding:18px;border-radius:8px;position:relative;color:#fff}
.modal-close{position:absolute;right:10px;top:10px;border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.modal-meta{display:flex;gap:12px;align-items:center;margin-top:10px}
.btn{background:var(--accent);color:#111;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-weight:700}
.btn.small{padding:6px 8px;font-size:13px}
.comments{margin-top:12px;background:#151515;padding:10px;border-radius:6px}
.comment-form input, .comment-form textarea{width:100%;margin-bottom:8px;padding:8px;border-radius:6px;border:1px solid #333;background:#0d0d0d;color:#fff}
.muted{color:var(--muted);margin-top:12px;font-size:13px}
.upload-box label{display:block;margin-bottom:8px}
.upload-box input, .upload-box textarea, .upload-box select{width:100%;padding:8px;border-radius:6px;border:1px solid #333;background:#0d0d0d;color:#fff;margin-top:4px}
