:root{
  --bg:#1a0f08;
  --card:#23140b;
  --muted:#d6a98b;
  --text:#fff4e8;

  --accent:#ff7a1a;
  --accent-strong:#ff5500;
  --accent-soft:#ffb347;

  --border:rgba(255,160,90,.15);
  --shadow: 0 18px 45px rgba(0,0,0,.45);
  --radius:18px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 600px at 20% 0%, #162448 0%, var(--bg) 55%, #070b14 100%);
  color:var(--text);
}

.container{max-width:1100px;margin:0 auto;padding:28px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.brand{display:flex;gap:10px;align-items:center}

.logo{
  width:48px;
  height:48px;
  border-radius:14px;
  background: rgba(0,0,0,.25);
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.5));
}
h1{font-size:18px;margin:0}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.card{
  background: radial-gradient(
  1200px 600px at 20% 0%,
  #3a1e0f 0%,
  var(--bg) 55%,
  #0d0703 100%
);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.form{
  padding:18px;
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.4fr .8fr auto;
  gap:12px;
  align-items:end;
}

label{font-size:12px;color:var(--muted);display:block;margin:0 0 6px}
input,select{
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}
input::placeholder{color:rgba(234,240,255,.45)}
button{
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,122,26,.4);
  background: linear-gradient(
    135deg,
    var(--accent),
    var(--accent-strong)
  );
  color:#1a0f08;
  font-weight:700;
  cursor:pointer;
  transition: all .2s ease;
}

button:hover{
  filter:brightness(1.1);
  transform: translateY(-1px);
}

.grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:12px;
}
@media (max-width: 1100px){ .form{grid-template-columns: 1fr 1fr 1fr 1fr 1fr auto} .grid{grid-template-columns: repeat(4, 1fr);} }
@media (max-width: 900px){ .form{grid-template-columns: 1fr 1fr} .grid{grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 600px){ .grid{grid-template-columns: repeat(2, 1fr);} }

.thumb{
  position:relative;
  overflow:hidden;
  border-radius: 16px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.25);
  aspect-ratio: 4 / 3;
  cursor:pointer;
}
.thumb img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transition: transform .2s ease;
}
.thumb:hover img{transform: scale(1.03)}
.badge{
  position:absolute;left:10px;bottom:10px;
  padding:6px 10px;border-radius:999px;
  background: rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;color:var(--text);
  backdrop-filter: blur(6px);
}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;
  background: rgba(0,0,0,.72);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999;
}
.lightbox.open{display:flex;}
.viewer{
  width:min(1100px, 92vw);
  height:min(740px, 88vh);
  display:grid;
  grid-template-columns: 1fr 380px;
  gap:14px;
}
@media (max-width: 900px){
  .viewer{grid-template-columns:1fr; height:auto;}
}
.viewer-main{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  background: rgba(0,0,0,.35);
}
.viewer-main img{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}
.viewer-side{
  padding:16px;
}
.navbtn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.45);
  color:var(--text);
  font-size:18px;
}
.navbtn:hover{background: rgba(0,0,0,.6)}
.navbtn.prev{left:12px}
.navbtn.next{right:12px}
.closebtn{
  position:absolute;top:12px;right:12px;
  width:44px;height:44px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.45);
  color:var(--text);
  font-size:18px;
}
.meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pill{
  padding:6px 10px;border-radius:999px;
  background: rgba(255,255,255,.06);
  border:1px solid var(--border);
  color:var(--muted);
  font-size:12px;
}