@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#0a0d10; --bg-alt:#0d1114; --card:#11151a; --border:#1e252b;
  --text:#e8edf0; --muted:#8b96a0; --muted2:#54606a;
  --accent:#39ffb0; --accent-dim:#1f8f66; --amber:#ffb454;
  --glow:0 0 0 1px rgba(57,255,176,.15), 0 0 24px rgba(57,255,176,.08);
  --radius:10px; --display:'Space Grotesk',sans-serif; --sans:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--text);line-height:1.65;font-size:16px;
  background-color:var(--bg);
  background-image:
    linear-gradient(rgba(57,255,176,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,255,176,.035) 1px, transparent 1px);
  background-size:38px 38px;
}
a{color:inherit;text-decoration:none}
.container{max-width:880px;margin:0 auto;padding:0 24px}

/* Header */
header.site-header{
  background:linear-gradient(180deg, rgba(13,17,20,.97), rgba(13,17,20,.9));
  border-bottom:1px solid var(--border);
  padding:20px 0;
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(8px);
}
.site-header .container{display:flex;justify-content:space-between;align-items:center}
.brand{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.2px;color:var(--text);position:relative;padding-left:20px}
.brand::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border:2px solid var(--accent);border-radius:2px;
  box-shadow:0 0 8px rgba(57,255,176,.5);
}
.brand span{color:var(--accent)}
.tagline{color:var(--muted2);font-size:11.5px;margin-top:3px;letter-spacing:1px;text-transform:uppercase;font-family:var(--mono);padding-left:20px}
nav a{color:var(--muted);margin-left:22px;font-size:13.5px;font-weight:600;font-family:var(--mono);letter-spacing:.3px}
nav a:hover{color:var(--accent)}

.hero{padding:52px 0 10px}
.hero h1{font-family:var(--display);font-size:34px;margin:0 0 8px;font-weight:700;letter-spacing:-.3px}
.hero p{color:var(--muted);margin:0 0 30px;font-size:14.5px;font-family:var(--mono)}
.hero p::before{content:'// ';color:var(--accent-dim)}

.search-bar{display:flex;gap:10px;margin-bottom:26px}
.search-bar input{
  flex:1;background:var(--card);border:1px solid var(--border);color:var(--text);
  padding:11px 16px;border-radius:7px;font-size:14px;font-family:var(--sans);
}
.search-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(57,255,176,.1)}
.search-bar .btn{padding:11px 20px}

/* Post list */
.post-list{display:flex;flex-direction:column;gap:16px;padding:8px 0 60px}
.post-card{
  background:var(--card);
  border:1px solid var(--border);
  border-left:2px solid var(--accent-dim);
  border-radius:8px;
  padding:24px 26px;
  transition:border-color .18s, transform .18s, box-shadow .18s;
  position:relative;
}
.post-card:hover{border-left-color:var(--accent);box-shadow:var(--glow);transform:translateX(2px)}
.post-meta{color:var(--muted2);font-size:11.5px;margin-bottom:10px;display:flex;gap:16px;align-items:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.4px}
.post-card h2{margin:0 0 10px;font-family:var(--display);font-size:21px;font-weight:600;line-height:1.35}
.post-card h2 a:hover{color:var(--accent)}
.post-excerpt{color:#aeb6bd;font-size:14.5px;margin-bottom:14px}
.post-thumbs{display:flex;gap:8px;margin-bottom:14px}
.post-thumbs img{width:72px;height:54px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}
.read-more-btn{
  display:inline-block;background:var(--accent-dim);color:#eafff5;
  padding:9px 18px;border-radius:6px;font-weight:700;font-size:12.5px;
  font-family:var(--mono);letter-spacing:.3px;text-transform:uppercase;
  transition:background .15s, box-shadow .15s;
}
.read-more-btn:hover{background:var(--accent);color:#052015;box-shadow:0 0 16px rgba(57,255,176,.3)}
.badge{display:inline-flex;align-items:center;gap:4px;color:var(--muted2);font-size:11px;font-family:var(--mono)}

.empty{color:var(--muted);text-align:center;padding:80px 0;font-family:var(--mono);font-size:14px}

/* Single post */
.post-full{padding:40px 0 60px}
.post-full h1{font-family:var(--display);font-size:32px;margin:8px 0 16px;font-weight:700;line-height:1.28;letter-spacing:-.3px}
.post-body{font-size:16px;color:#c2c9cf;margin:26px 0;white-space:pre-wrap}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:22px 0}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);cursor:zoom-in;transition:border-color .15s, opacity .15s}
.gallery img:hover{border-color:var(--accent-dim);opacity:.92}

.lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(5,7,8,.95);z-index:1000;align-items:center;justify-content:center;padding:20px}
.lightbox-overlay.active{display:flex}
.lightbox-overlay img{max-width:92vw;max-height:88vh;border-radius:8px;object-fit:contain;box-shadow:0 0 60px rgba(57,255,176,.12)}
.lightbox-close{position:absolute;top:18px;right:26px;color:var(--text);font-size:34px;font-weight:300;cursor:pointer;line-height:1;opacity:.75}
.lightbox-close:hover{opacity:1;color:var(--accent)}
.lightbox-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:50%;
  color:var(--text);font-size:18px;cursor:pointer;transition:background .15s, color .15s, border-color .15s;
}
.lightbox-arrow:hover{background:rgba(57,255,176,.12);border-color:var(--accent);color:var(--accent)}
.lightbox-prev{left:24px}
.lightbox-next{right:24px}

.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius);margin:22px 0;border:1px solid var(--border)}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.back-link{color:var(--muted2);font-size:13px;display:inline-block;margin-bottom:22px;font-weight:600;font-family:var(--mono)}
.back-link:hover{color:var(--accent)}
.back-link::before{content:'← '}

/* Comments */
.comments{margin-top:44px;border-top:1px solid var(--border);padding-top:28px}
.comments h3{font-family:var(--display);font-weight:700;margin-bottom:18px;font-size:19px}
.comment{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:10px}
.comment-name{font-weight:700;font-size:13.5px;font-family:var(--mono);color:var(--accent)}
.comment-time{color:var(--muted2);font-size:11.5px;margin-left:8px;font-family:var(--mono)}
.comment-text{margin-top:6px;font-size:14.5px;color:#b7bdc4}
.comment-form{margin-top:26px;display:grid;gap:12px}
.comment-form input,.comment-form textarea{
  background:#0e1216;border:1px solid var(--border);color:var(--text);
  padding:12px 14px;border-radius:8px;font-size:14px;font-family:var(--sans);
}
.comment-form input:focus,.comment-form textarea:focus,.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(57,255,176,.1);
}
.comment-form textarea{min-height:90px;resize:vertical}
.hp-field{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden}

.btn{
  background:var(--accent);color:#052015;border:none;
  padding:11px 24px;border-radius:6px;font-weight:700;cursor:pointer;font-size:13.5px;display:inline-block;
  letter-spacing:.3px;font-family:var(--mono);text-transform:uppercase;
  box-shadow:0 0 0 rgba(57,255,176,0);transition:box-shadow .18s, transform .12s;
}
.btn:hover{box-shadow:0 0 20px rgba(57,255,176,.35);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--accent);box-shadow:none;color:var(--accent)}
.btn-danger{background:#ff5f6d;color:#2a0a0c}

footer{border-top:1px solid var(--border);padding:26px 0;color:var(--muted2);font-size:11.5px;text-align:center;font-family:var(--mono)}

/* Pagination */
.pagination{display:flex;justify-content:space-between;align-items:center;padding:24px 0 40px;gap:14px}
.pagination .page-info{color:var(--muted2);font-size:12px;flex:1;text-align:center;font-family:var(--mono)}

/* Admin */
.admin-body{
  background-color:#08090c;
  background-image:linear-gradient(rgba(57,255,176,.03) 1px, transparent 1px),linear-gradient(90deg, rgba(57,255,176,.03) 1px, transparent 1px);
  background-size:38px 38px;
}
.admin-wrap{max-width:780px;margin:36px auto;padding:0 24px}
.admin-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px}
.admin-bar{background:var(--bg-alt);border-bottom:1px solid var(--border);padding:14px 0;margin-bottom:6px}
.admin-bar .container{display:flex;justify-content:space-between;align-items:center;max-width:1020px}
.admin-bar a{margin-left:18px;color:var(--muted);font-size:13px;font-weight:600;font-family:var(--mono)}
.admin-bar a:hover{color:var(--accent)}
.field{margin-bottom:20px}
.field label{display:block;font-size:11.5px;font-weight:700;margin-bottom:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--mono)}
.field input[type=text],.field input[type=password],.field input[type=url],.field textarea{
  width:100%;background:#0c0f13;border:1px solid var(--border);color:var(--text);
  padding:12px 14px;border-radius:7px;font-size:14.5px;font-family:var(--sans);
}
.field textarea{min-height:220px;resize:vertical;font-family:var(--sans);line-height:1.6}
.field input[type=file]{color:var(--muted);font-size:13px}
.hint{color:var(--muted2);font-size:11.5px;margin-top:6px;font-family:var(--mono)}
.alert{padding:12px 16px;border-radius:7px;margin-bottom:20px;font-size:13.5px;border:1px solid;font-family:var(--mono)}
.alert-error{background:#211012;border-color:#4d2226;color:#ff8b90}
.alert-success{background:#0e1e15;border-color:#1f5c3a;color:#5fe89e}

.dash-table{width:100%;border-collapse:collapse;margin-top:22px}
.dash-table th,.dash-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--border);font-size:14px}
.dash-table th{color:var(--muted2);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;font-family:var(--mono)}
.dash-actions a{margin-right:14px;font-size:12.5px;font-weight:600;color:var(--muted);font-family:var(--mono)}
.dash-actions a:hover{color:var(--accent)}
.dash-actions .del{color:#e07176}
.dash-actions .del:hover{color:#ff8b90}
.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.top-bar h2{font-family:var(--display)}
.existing-imgs{display:flex;gap:12px;margin:10px 0;flex-wrap:wrap}
.existing-imgs .img-item{position:relative}
.existing-imgs img{width:86px;height:66px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.existing-imgs label{display:flex;align-items:center;gap:4px;font-size:11px;margin-top:5px;color:var(--muted2);font-family:var(--mono)}

/* Responsive: tablet */
@media(max-width:768px){
  .container{padding:0 18px}
  .hero{padding:38px 0 6px}
  .hero h1{font-size:28px}
  .post-full h1{font-size:28px}
  .gallery{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .gallery img{height:180px}
}

/* Responsive: mobile */
@media(max-width:600px){
  body{font-size:15px;background-size:28px 28px}
  .site-header .container{flex-direction:column;align-items:flex-start;gap:6px}
  nav{margin-top:4px}
  nav a{margin-left:0;margin-right:14px}
  .hero h1{font-size:23px}
  .hero p{font-size:13px}
  .post-card{padding:18px 20px}
  .post-card h2{font-size:18px}
  .post-full h1{font-size:23px}
  .post-body{font-size:15.5px}
  .gallery{grid-template-columns:1fr 1fr;gap:8px}
  .gallery img{height:130px}
  .post-thumbs img{width:56px;height:44px}
  .admin-card{padding:20px}
  .dash-table{display:block;overflow-x:auto;white-space:nowrap}
  .top-bar{flex-direction:column;align-items:flex-start;gap:12px}
  .admin-bar .container{flex-wrap:wrap;gap:8px}
  .admin-bar a{margin-left:0;margin-right:16px}
  .pagination{flex-direction:column;gap:10px}
  .lightbox-close{top:10px;right:16px;font-size:30px}
  .lightbox-arrow{width:38px;height:38px;font-size:15px}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
  .search-bar{flex-wrap:wrap}
  .search-bar input{flex:1 1 100%}
}

@media(max-width:380px){
  .gallery{grid-template-columns:1fr}
}
