:root{
  --bg:#ffffff; --text:#1a1a1a; --muted:#6b7280; --card:#ffffff; --border:#e5e7eb; --primary:#2563eb;
}
.theme-dark{ --bg:#0f172a; --text:#e5e7eb; --muted:#9ca3af; --card:#111827; --border:#374151; --primary:#60a5fa; }
.theme-pit{ --bg:#0b0b0b; --text:#f1f5f9; --muted:#9aa3ad; --card:#161616; --border:#2a2a2a; --primary:#e11d48; }

*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  background:var(--bg); color:var(--text);
}
.container{max-width:980px; margin:0 auto; padding:0 16px;}
.logo{margin:0; font-size:1.25rem;}

.site-header{border-bottom:1px solid var(--border); background:var(--card);}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0;}
.site-nav a{
  text-decoration:none; color:var(--text); margin-left:12px; padding:6px 10px; border-radius:8px;
}
.site-nav a.active, .site-nav a:hover{ background:var(--border); }

.site-footer{border-top:1px solid var(--border); padding:18px 0; margin-top:28px; background:var(--card);}

.card{
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  padding:16px; margin:16px 0; box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.muted{color:var(--muted)}

.btn{border:1px solid var(--border); background:#f3f4f6; color:#111; padding:8px 12px; border-radius:10px; cursor:pointer}
.btn:hover{filter:brightness(0.98)}
.btn-primary{background:var(--primary); color:white; border-color:transparent}
.btn-link{background:transparent; border:none; color:var(--primary); padding:0; cursor:pointer}

.theme-switcher{display:flex; gap:8px; flex-wrap:wrap}

/* Slideshow */
.slideshow{position:relative; overflow:hidden; border-radius:12px}
.slides{display:grid}
.slide{
  min-height:220px; background-size:cover; background-position:center;
  display:none; position:relative;
}
.slide.is-active{display:block}
.slide-caption{
  position:absolute; left:16px; bottom:12px; padding:8px 10px; border-radius:8px;
  background:rgba(0,0,0,.45); color:#fff; font-size:.95rem;
}
.slide-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px;
  border-radius:50%; border:none; background:rgba(0,0,0,.4); color:#fff; cursor:pointer;
}
.slide-nav.prev{left:8px} .slide-nav.next{right:8px}

/* Countdown */
.countdown{display:flex; gap:14px}
.countdown div{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:10px 14px; text-align:center}
.countdown span{display:block; font-size:1.4rem; font-weight:700}
.countdown small{color:var(--muted)}

/* News */
.news{border-top:1px dashed var(--border); padding-top:10px; margin-top:10px}
.news:first-of-type{border-top:none; padding-top:0; margin-top:0}

/* Modal */
.modal{position:fixed; inset:0; display:none}
.modal[aria-hidden="false"]{display:block}
.modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.45)}
.modal-panel{
  position:relative; max-width:520px; margin:10vh auto 0; background:var(--card);
  border:1px solid var(--border); border-radius:12px; padding:16px; z-index:1;
}
.modal-actions{display:flex; gap:10px; justify-content:flex-end}

/* Lists and forms */
.bullet-list{padding-left:18px}
.grid-2{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px}
input,select{width:100%; padding:8px 10px; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--text)}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:12px}
.gallery-item{border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--card)}
.thumb{height:140px; background:linear-gradient(135deg,#444,#777)}
.thumb-kart{background:linear-gradient(135deg,#e11,#822)}
.thumb-kart2{background:linear-gradient(135deg,#b11,#511)}
.thumb-sim{background:linear-gradient(135deg,#115,#55a)}
.thumb-sim2{background:linear-gradient(135deg,#014,#046)}
.thumb-workshop{background:linear-gradient(135deg,#1a1,#3a5)}
.thumb-workshop2{background:linear-gradient(135deg,#1a3,#3a7)}
figcaption{padding:10px}

/* Poll */
.poll-bars{margin-top:10px; display:grid; gap:8px}
.poll-bar{height:22px; background:var(--border); border-radius:999px; overflow:hidden; position:relative}
.poll-bar > b{position:absolute; left:8px; top:2px; font-size:.8rem}
.poll-bar > i{display:block; height:100%; background:var(--primary)}

/* Utility */
.hidden{display:none}