:root{--bg:#ffffff;--text:#0f172a;--muted:#475569;--border:#e2e8f0;--primary:#ef4444;--primary-700:#b91c1c;--surface:#f8fafc;--link:#ef4444;--shadow:0 10px 30px rgba(2,8,23,.08);--hero-start:#ef4444;--hero-end:#d73a3a}
html[data-theme="dark"]{--bg:#0b1220;--text:#e5e7eb;--muted:#94a3b8;--border:#1f2937;--surface:#0f172a;--link:#f87171;--shadow:0 10px 30px rgba(0,0,0,.25);--hero-start:#b91c1c;--hero-end:#7f1d1d}
:root{color-scheme: light}
html[data-theme="dark"]{color-scheme: dark}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;border-radius:12px}

.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}
.topbar{background:var(--surface);border-bottom:1px solid var(--border);font-size:14px}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:var(--muted)}
.navbar{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.brand{font-weight:800;font-size:20px;color:var(--text)}
.nav{display:flex;align-items:center;gap:14px;list-style:none;margin:0;padding:0}
.nav li a{padding:10px 12px;border-radius:8px;color:var(--muted)}
.nav li a.active{color:var(--text);background:var(--surface)}
.nav li.cta a{padding:10px 14px}
.nav-toggle{display:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}
.button{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);box-shadow:none;transition:.2s}
.button:hover{box-shadow:var(--shadow)}
.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.button.primary:hover{background:var(--primary-700);border-color:var(--primary-700)}
html[data-theme="dark"] .button{background:#111827;border-color:#1f2937;color:var(--text)}

.hero{background:linear-gradient(120deg,var(--hero-start) 0%,var(--hero-start) 60%,var(--hero-end) 100%);color:#fff}
.hero-inner{display:grid;grid-template-columns:1.4fr .8fr;gap:30px;padding:60px 0}
.hero-text h1{margin:0 0 10px;font-size:44px}
.hero-text p{margin:0 0 20px;color:#e2e8f0}
.hero-actions{display:flex;gap:12px}
.hero-card{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);padding:16px;border-radius:14px}
.stat{background:rgba(255,255,255,.15);padding:14px;border-radius:12px;text-align:center}
.stat-number{font-weight:700;font-size:28px}
.stat-label{font-size:13px;color:#e2e8f0}

.features{padding:30px 0;background:var(--surface)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:18px}
.feature{padding:18px}
.feature-icon{font-size:28px}

.section{padding:40px 0}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.link{color:var(--link)}
.card-head{margin:-18px -18px 14px;padding:12px 16px;border-radius:12px 12px 0 0;background:var(--primary);color:#fff;font-weight:600}

/* Animations */
.reveal{opacity:0;transform:translateY(16px) scale(.98)}
.reveal.show{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.card{transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(2,8,23,.12)}
.button{transition:transform .15s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-1px)}
@keyframes floatUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-card{animation:floatUp .6s ease}

.card.news img{height:160px;object-fit:cover}
.card-body h3{margin:0 0 8px}

.cta{background:#b91c1c;color:#fff;padding:40px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}

.footer{background:var(--surface);border-top:1px solid var(--border);margin-top:30px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px;padding:24px 0}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li a{color:var(--muted)}
.footer-bottom{border-top:1px solid var(--border);padding:12px 0;color:var(--muted);text-align:center}

.page-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:28px 0}
.ppdb-hero{background:linear-gradient(135deg,#ffffff 0%,#fee2e2 100%)}
html[data-theme="dark"] .ppdb-hero{background:linear-gradient(135deg,#0b1220 0%,#1f2937 100%)}
.list{margin:8px 0 0 18px}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--border);padding:10px;text-align:left}
html[data-theme="dark"] .card{background:#0f172a;border-color:#1f2937}
html[data-theme="dark"] .topbar{background:#0f172a;border-bottom:1px solid var(--border)}
html[data-theme="dark"] .footer{background:#0f172a}
html[data-theme="dark"] .announce li{background:#111827;border-color:#1f2937}
html[data-theme="dark"] .form input,html[data-theme="dark"] .form textarea{background:#0f172a;border-color:#1f2937;color:var(--text)}
html[data-theme="dark"] .form ::placeholder{color:#94a3b8}

.announce{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.announce li{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}
.announce-title{font-weight:600}
.announce-meta{color:var(--muted);font-size:14px}

.gallery img{height:220px;object-fit:cover}

.form{display:grid;gap:12px}
.form-group{display:grid;gap:8px}
.form input,.form textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit}
.form button{justify-self:start}

@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:1fr;gap:18px}
  .hero-card{grid-template-columns:repeat(3,1fr)}
  .cta-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .grid-4{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .nav{position:absolute;right:20px;top:58px;background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:flex-start;padding:10px;display:none}
  .nav.show{display:flex}
  .nav-toggle{display:inline-block}
}
.theme-toggle{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;color:var(--text)}
.nav-inner{gap:14px}
a:focus-visible,.button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@supports (padding: env(safe-area-inset-left)){
  .container{padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
