:root {
  --navy: #2535a5;
  --blue: #2f8edb;
  --cyan: #00aeea;
  --pink: #e40a87;
  --pink2: #f02a9b;
  --yellow: #f7b800;
  --ink: #17203b;
  --muted: #69708a;
  --paper: #ffffff;
  --soft: #f7f8ff;
  --line: #e7e9f4;
  --shadow: 0 16px 45px rgba(37,53,165,.12);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:Inter,system-ui,sans-serif; color:var(--ink); background:#fff; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px,92%); margin:auto; }
.nav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.nav-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:11px; font-family:'Baloo 2'; font-weight:800; font-size:1.55rem; color:var(--navy); }
.brand-mark { display:flex; gap:3px; }
.dot { width:13px;height:13px;border-radius:50%;display:inline-block; }
.dot.pink{background:var(--pink)} .dot.blue{background:var(--navy)} .dot.yellow{background:var(--yellow)}
.nav-links { display:flex; align-items:center; gap:7px; }
.nav-links a,.nav-links button { border:0; background:transparent; padding:11px 15px; border-radius:999px; color:#4d5570; cursor:pointer; font-weight:600; }
.nav-links a:hover,.nav-links a.active { color:var(--navy); background:#eef0ff; }
.menu { display:none; border:0;background:#eef0ff;color:var(--navy);padding:9px 12px;border-radius:12px; }
.art-top { height:13px; background:linear-gradient(90deg,var(--navy) 0 22%,var(--blue) 22% 38%,var(--pink) 38% 66%,var(--yellow) 66% 78%,var(--cyan) 78%); clip-path:polygon(0 0,5% 60%,10% 10%,15% 80%,22% 0,28% 55%,36% 5%,44% 80%,52% 0,60% 55%,68% 5%,76% 70%,84% 0,92% 55%,100% 5%,100% 100%,0 100%); }
.hero { position:relative; overflow:hidden; padding:60px 0 75px; background:radial-gradient(circle at 10% 15%,#eef7ff 0,transparent 30%),radial-gradient(circle at 90% 65%,#fff1fa 0,transparent 30%),#fff; }
.hero:before,.hero:after { content:'';position:absolute; width:310px;height:180px;border:18px solid rgba(37,53,165,.08); border-radius:55% 45% 50% 45%; transform:rotate(-14deg); }
.hero:before { left:-150px;top:25px;box-shadow:40px 15px 0 rgba(228,10,135,.08),80px 30px 0 rgba(0,174,234,.07),120px 45px 0 rgba(247,184,0,.08); }
.hero:after { right:-160px;bottom:5px;transform:rotate(20deg);box-shadow:-40px -15px 0 rgba(228,10,135,.08),-80px -30px 0 rgba(0,174,234,.07); }
.hero-grid { display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center;position:relative;z-index:2; }
.kicker { color:var(--pink);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem; }
.hero h1 { font-family:'Baloo 2';font-size:clamp(4rem,8vw,7rem);line-height:.78;margin:12px 0 15px;color:var(--navy);letter-spacing:-.04em; }
.hero h1 span { display:block;background:linear-gradient(90deg,var(--pink),var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent; }
.hero p { font-size:1.1rem;line-height:1.75;color:var(--muted);max-width:590px; }
.actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:26px; }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 18px;font-weight:800;cursor:pointer;transition:.2s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(37,53,165,.22); }
.btn-pink { background:var(--pink);color:#fff; }
.btn-light { background:#f0f2ff;color:var(--navy); }
.btn-danger { background:#fff0f2;color:#b4233b; }
.hero-card { background:#fff;border-radius:32px;padding:15px;box-shadow:var(--shadow);transform:rotate(1deg); }
.hero-card img { width:100%;display:block;border-radius:23px;aspect-ratio:706/468;object-fit:cover; }
section { padding:78px 0; }
.section-head { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px; }
.eyebrow { color:var(--pink);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem; }
h2 { font-family:'Baloo 2';font-size:clamp(2.2rem,5vw,3.5rem);margin:6px 0 0;color:var(--navy);line-height:1; }
.muted { color:var(--muted);line-height:1.7; }
.about { background:var(--soft); }
.about-grid { display:grid;grid-template-columns:1fr 1fr;gap:25px; }
.card { background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 10px 30px rgba(35,48,110,.05); }
.controller-grid,.gallery-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.controller { position:relative;overflow:hidden;min-height:185px;background:linear-gradient(135deg,#eef2ff,#fff); }
.controller:after { content:'';position:absolute;width:130px;height:130px;border-radius:50%;right:-35px;top:-35px;background:rgba(228,10,135,.08); }
.avatar { width:58px;height:58px;border-radius:18px;object-fit:cover;background:#edf0ff;display:grid;place-items:center;color:var(--navy);font-weight:800;font-size:1.3rem; }
.controller h3 { margin:14px 0 3px;font-size:1.1rem; }
.doc-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.doc { display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:22px;padding:24px;background:#fff;border:1px solid var(--line); }
.doc-icon { width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#fff1fa;color:var(--pink);font-size:1.5rem; }
.gallery-grid { grid-template-columns:repeat(4,1fr); }
.gallery-item { position:relative;overflow:hidden;border-radius:20px;aspect-ratio:1/1;background:#eef0f8; }
.gallery-item img { width:100%;height:100%;object-fit:cover;transition:.35s; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-caption { position:absolute;bottom:0;left:0;right:0;padding:28px 14px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));font-weight:700; }
.results-section { background:#fff; }
.search-panel { padding:22px;border-radius:26px;background:linear-gradient(135deg,#f3f5ff,#fff5fb);border:1px solid var(--line); }
.filters { display:grid;grid-template-columns:1.7fr repeat(3,1fr) auto;gap:10px; }
.input,.select { width:100%;border:1px solid #dfe2ef;background:#fff;border-radius:13px;padding:13px 14px;outline:none;color:var(--ink); }
.input:focus,.select:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,142,219,.12); }
.result-list { margin-top:22px;display:grid;gap:14px; }
.result-card { border:1px solid var(--line);border-radius:22px;padding:20px;background:#fff; }
.result-head { display:flex;align-items:center;justify-content:space-between;gap:15px; }
.badge { display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:800;background:#edf0ff;color:var(--navy); }
.badge.pink { background:#fff0fa;color:var(--pink); }
.winners { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px; }
.winner { border-radius:15px;background:#f8f9fd;padding:13px; }
.winner strong { display:block;margin-bottom:4px; }
.points { font-weight:900;color:var(--pink); }
.footer { padding:40px 0;background:#151f5f;color:#dce1ff; }
.footer-grid { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.admin-shell { min-height:calc(100vh - 87px);background:#f6f7fc;padding:45px 0 80px; }
.login { width:min(450px,92%);margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow); }
.form-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px; }
.form-grid .full { grid-column:1/-1; }
.admin-tabs { display:flex;gap:8px;flex-wrap:wrap;margin:20px 0; }
.tab { border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;color:#59617b; }
.tab.active { background:var(--navy);color:#fff;border-color:var(--navy); }
.admin-table { width:100%;border-collapse:collapse;font-size:.9rem; }
.admin-table th,.admin-table td { padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }
.empty { text-align:center;padding:45px;color:var(--muted); }
.toast { position:fixed;right:20px;bottom:20px;z-index:100;background:#151f5f;color:#fff;padding:13px 17px;border-radius:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s; }
.toast.show { opacity:1;transform:none; }
.loading { padding:30px;text-align:center;color:var(--muted); }
.modal { position:fixed;inset:0;background:rgba(12,18,50,.65);display:grid;place-items:center;z-index:90;padding:20px; }
.modal-box { width:min(900px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:22px;position:relative; }
.close { position:absolute;right:15px;top:15px;border:0;background:#eef0f8;border-radius:50%;width:38px;height:38px;cursor:pointer; }
@media(max-width:900px){.hero-grid,.about-grid,.doc-grid{grid-template-columns:1fr}.controller-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.filters .wide{grid-column:1/-1}.nav-links{display:none}.menu{display:block}.nav.open .nav-links{display:flex;position:absolute;top:74px;left:0;right:0;background:#fff;padding:10px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open .nav-links a{width:100%;text-align:center}.hero{padding-top:40px}}
@media(max-width:600px){.hero h1{font-size:4.1rem}.controller-grid,.gallery-grid,.winners{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}.section-head{align-items:flex-start;flex-direction:column}}

/* Team standings */
.standings-grid{display:grid;gap:12px}.standing{display:flex;align-items:center;gap:16px;padding:18px 20px}.rank{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#263aa9,#ef1684);color:#fff}.standing-main{flex:1}.standing-main h3{margin:0 0 4px}.total-points{font-size:1.45rem;color:#263aa9}
