:root{
  --bg:#0b0f1a; --card:#101728; --muted:#8da2b9; --text:#e6edf3; --brand:#5cc8ff; --acc:#7cf29a; --danger:#ff6b6b;
  --radius:18px; --shadow:0 10px 30px rgba(0,0,0,.25);
  --tap:48px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;background:linear-gradient(180deg,#0b0f1a,#0f1830);color:var(--text)}
img,video{max-width:100%;height:auto;display:block}
.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{position:sticky;top:0;backdrop-filter:saturate(130%) blur(8px);background:rgba(16,23,40,.8);border-bottom:1px solid rgba(255,255,255,.06);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.brand{font-weight:800;letter-spacing:.3px;color:var(--text);text-decoration:none}

/* Menu */
.menu-toggle{ display:inline-flex; width:var(--tap); height:var(--tap); border:1px solid rgba(255,255,255,.12); border-radius:12px; background:#0c1324; align-items:center; justify-content:center; gap:4px; }
.menu-toggle span{ display:block; width:22px; height:2px; background:var(--text); }
#primary-nav{ position:absolute; left:0; right:0; top:58px; display:none; flex-direction:column; align-items:flex-start; gap:8px; padding:12px 16px; background:rgba(16,23,40,.98); border-bottom:1px solid rgba(255,255,255,.06); }
#primary-nav.open{ display:flex; animation:drop .18s ease-out; }
@keyframes drop{ from{ transform:translateY(-6px); opacity:.6 } to{ transform:none; opacity:1 } }
#primary-nav a{ color:var(--muted); text-decoration:none; padding:8px 2px; }
#primary-nav a.cta{ padding:10px 12px; border-radius:10px; background:var(--brand); color:#06101a; font-weight:800; }
nav a.adminlink{font-weight:700;border-bottom:1px dashed rgba(255,255,255,.2)}

/* Desktop nav */
@media (min-width: 901px){
  .menu-toggle{ display:none; }
  #primary-nav{ position:static; display:flex; flex-direction:row; align-items:center; background:transparent; border:none; padding:0; }
  #primary-nav a{ margin:0 10px; padding:0; }
}

/* Layout */
.hero{padding:32px 0;text-align:center}
.grid{display:grid;gap:18px;margin:22px 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border-radius:18px;padding:20px;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.h1{font-size:clamp(22px,7vw,40px);margin:10px 0}
.h2{font-size:clamp(18px,5.2vw,24px);margin:6px 0 10px}
.small{font-size:14px;color:var(--muted)}
.section{padding:10px 0}
.footer{padding:28px;color:var(--muted);text-align:center}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:14px}
.alert.ok{background:rgba(124,242,154,.12);border:1px solid rgba(124,242,154,.35);color:#7cf29a}
.alert.err{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.35);color:#ff6b6b}
.alert.warn{background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.35);color:#ffd25e}
.breadcrumbs{font-size:13px;color:var(--muted);margin:8px 0}
.breadcrumbs a{color:var(--muted)}
.badge-preview{margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(124,242,154,.12);border:1px solid rgba(124,242,154,.35);color:#7cf29a;font-size:12px}
.badge{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(124,242,154,.12);color:var(--acc);font-weight:600;border:1px solid rgba(124,242,154,.3)}
.cta{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Forms */
form .row{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width: 641px){ form .row{grid-template-columns:1fr 1fr} }
label{font-size:14px;color:var(--muted);margin-bottom:6px;display:block}
input,textarea,select,button.btn{width:100%;background:#0c1324;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;min-height:var(--tap);color:var(--text);outline:none;font-size:16px}
input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(92,200,255,.15)}
.btn{padding:12px 18px;border-radius:12px;border:1px solid transparent;background:var(--brand);color:#06101a;font-weight:700;text-decoration:none;display:inline-block}
.btn.alt{background:transparent;border-color:rgba(92,200,255,.35);color:#7fc6ff}

/* Gallery */
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.gallery figure{margin:0;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
.gallery img,.gallery video{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:8px 10px;font-size:12px;color:var(--muted)}
dialog.lightbox{padding:0;border:none;border-radius:14px;overflow:hidden;background:transparent}
dialog.lightbox::backdrop{background:rgba(0,0,0,.7)}
dialog.lightbox img, dialog.lightbox video{max-width:100vw;max-height:82vh;display:block}
