/*
 * Miss Karnataka — "V18" light glass look (25 Oct 2026). UI ONLY: same content, images, logo, routes and API.
 * Everything is scoped under html.v18 (set by the inline script in index.html):
 *   - one device back to the old look:  https://misskarnataka.chittaraone.com/?look=classic   (?look=new to return)
 *   - full rollback: remove the two "mk-v18" lines from index.html (backup next to /opt/misskarnataka/web).
 * Photo sections (hero, cinematic banners) and the footer keep the original dark cinematic palette ([data-v18-dark], set by mk-v18.js).
 */

/* ───────── tokens: light lavender glass ───────── */
html.v18 .site-shell {
  --v18-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --v18-violet: 266 83% 58%;
  --v18-fuchsia: 292 84% 56%;
  --v18-rose: 330 81% 62%;
  --v18-amber: 38 92% 52%;
  --v18-ink: 262 40% 10%;
  --v18-glass: 0 0% 100%;
  --v18-shadow: 0 1px 0 hsl(0 0% 100% / .9) inset, 0 24px 48px -28px hsl(266 60% 35% / .28), 0 2px 6px -2px hsl(266 40% 30% / .06);
  --v18-glow: 0 0 0 1px hsl(var(--v18-violet) / .18), 0 28px 60px -24px hsl(var(--v18-fuchsia) / .45);

  --mk-obsidian: 262 60% 97%;
  --mk-ink: 260 60% 98.6%;
  --mk-violet: 262 85% 95%;
  --mk-plum: 266 80% 64%;
  --mk-gold: 32 88% 39%;
  --mk-gold-soft: 30 88% 36%;
  --mk-gold-deep: 28 82% 32%;
  --mk-ivory: 262 40% 10%;
  --mk-lavender: 262 12% 40%;
  --background: 260 60% 98.6%;
  --foreground: 262 40% 10%;
  --card: 0 0% 100%;
  --card-foreground: 262 40% 10%;
  --secondary: 262 70% 97%;
  --secondary-foreground: 262 40% 10%;
  --muted: 262 50% 95%;
  --muted-foreground: 262 12% 40%;
  --border: 262 40% 89%;
  --input: 262 35% 85%;
  --accent: 266 83% 58%;
  --ring: 266 83% 58%;
  --plum: 262 40% 14%;
  --royal: 266 75% 48%;
  --gold: 32 88% 39%;
  --gold-soft: 30 88% 36%;
  --ink: 262 40% 10%;

  font-family: var(--v18-sans);
  letter-spacing: -.011em;
  background: transparent !important;
  color: hsl(var(--mk-ivory));
  isolation: isolate;
}

/* the original dark cinematic palette, kept where a photo carries the section */
html.v18 .site-shell [data-v18-dark] {
  --mk-obsidian: 288 42% 4%;
  --mk-ink: 287 38% 6%;
  --mk-plum: 282 62% 22%;
  --mk-violet: 286 40% 11%;
  --mk-gold: 41 58% 58%;
  --mk-gold-soft: 41 70% 80%;
  --mk-gold-deep: 36 62% 46%;
  --mk-ivory: 40 40% 96%;
  --mk-lavender: 288 12% 70%;
  --background: 287 38% 6%;
  --foreground: 40 40% 96%;
  --card: 286 32% 8%;
  --card-foreground: 40 40% 96%;
  --muted-foreground: 288 12% 70%;
  --border: 288 22% 17%;
  --accent: 41 58% 58%;
  --ring: 41 58% 58%;
  --plum: 40 45% 92%;
  --royal: 288 55% 62%;
  --gold: 41 58% 58%;
  --gold-soft: 41 70% 80%;
  --ink: 288 42% 4%;
  color: hsl(var(--mk-ivory));
}

/* ───────── living colour behind the page (aurora glow) ───────── */
html.v18 body { background: #f7f4ff; }
html.v18 body::before,
html.v18 body::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .55;
  will-change: transform;
}
html.v18 body::before {
  width: 62vmax; height: 62vmax; left: -18vmax; top: -16vmax;
  background: radial-gradient(circle at 35% 35%, hsl(266 90% 72%), hsl(292 85% 74%) 45%, transparent 70%);
  animation: v18-drift-a 26s ease-in-out infinite alternate;
}
html.v18 body::after {
  width: 56vmax; height: 56vmax; right: -16vmax; bottom: -18vmax;
  background: radial-gradient(circle at 60% 60%, hsl(330 90% 78%), hsl(38 95% 74%) 50%, transparent 72%);
  animation: v18-drift-b 30s ease-in-out infinite alternate;
}
@keyframes v18-drift-a { to { transform: translate(14vmax, 18vmax) scale(1.15) rotate(25deg); } }
@keyframes v18-drift-b { to { transform: translate(-16vmax, -14vmax) scale(1.1) rotate(-20deg); } }

/* light sections let the glow through; their tints stay as soft colour bands */
html.v18 .site-shell main > section:not([data-v18-dark]),
html.v18 .site-shell main > div:not([data-v18-dark]) { background-color: transparent; }
html.v18 .site-shell main > section[class*="mk-plum"]:not([data-v18-dark]) { background-color: hsl(266 90% 96% / .55); }
html.v18 .site-shell main > section[class*="mk-violet"]:not([data-v18-dark]),
html.v18 .site-shell main > div[class*="mk-violet"]:not([data-v18-dark]) { background-color: hsl(0 0% 100% / .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
html.v18 .site-shell main > section[class*="mk-obsidian"]:not([data-v18-dark]) { background-color: hsl(0 0% 100% / .38); }
html.v18 .site-shell .rule-top:not([data-v18-dark]) { border-top-color: hsl(var(--v18-violet) / .1); }
html.v18 .site-shell .rule-bottom:not([data-v18-dark]) { border-bottom-color: hsl(var(--v18-violet) / .1); }

/* photo sections float as rounded cinematic cards, like the reference dashboard's hero tile */
html.v18 .site-shell main > section[data-v18-dark] {
  margin-inline: clamp(8px, 1.6vw, 20px);
  margin-bottom: 14px;
  border-radius: clamp(22px, 3vw, 36px);
  overflow: hidden;
  box-shadow: var(--v18-glow);
}
html.v18 .site-shell main > section[data-v18-dark]:not(.hero-bleed) { margin-top: 14px; }
html.v18 .site-shell footer[data-v18-dark] { border-radius: clamp(22px, 3vw, 36px) clamp(22px, 3vw, 36px) 0 0; margin-inline: clamp(0px, 1vw, 12px); }

/* ───────── header: frosted glass ───────── */
html.v18 .site-shell > header {
  background: hsl(0 0% 100% / .72) !important;
  backdrop-filter: blur(22px) saturate(1.7);
  -webkit-backdrop-filter: blur(22px) saturate(1.7);
  border-bottom: 1px solid hsl(var(--v18-violet) / .1) !important;
  box-shadow: 0 10px 30px -22px hsl(266 60% 30% / .35);
}
html.v18 .site-shell > header .font-display { font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: .08em; } /* the brand wordmark stays as it is */

/* ───────── type: Apple / Samsung system fonts ───────── */
html.v18 .site-shell .t-hero,
html.v18 .site-shell .t-display,
html.v18 .site-shell .t-heading,
html.v18 .site-shell main .font-display,
html.v18 .site-shell h1, html.v18 .site-shell h2, html.v18 .site-shell h3 {
  font-family: var(--v18-sans);
  letter-spacing: -.035em;
}
html.v18 .site-shell .t-hero { font-weight: 700; line-height: .98; }
html.v18 .site-shell .t-display { font-weight: 700; line-height: 1.04; }
html.v18 .site-shell .t-heading { font-weight: 650; line-height: 1.12; }
html.v18 .site-shell .t-card { font-weight: 650; letter-spacing: -.02em; }
html.v18 .site-shell .eyebrow { letter-spacing: .12em; font-weight: 650; }
html.v18 .site-shell .eyebrow:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(var(--v18-violet)); }

/* gradient words: colourful and slowly shimmering */
html.v18 .site-shell .text-gold-grad {
  background: linear-gradient(100deg, hsl(var(--v18-violet)), hsl(var(--v18-fuchsia)) 30%, hsl(var(--v18-rose)) 55%, hsl(var(--v18-amber)) 80%, hsl(var(--v18-violet)));
  background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: v18-shimmer 7s ease-in-out infinite;
}
html.v18 .site-shell [data-v18-dark] .text-gold-grad {
  background-image: linear-gradient(100deg, #f5d0fe, #f0abfc 25%, #fcd34d 55%, #fde68a 75%, #f5d0fe);
}
@keyframes v18-shimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ───────── cards: white glass, lift + glow ───────── */
html.v18 .site-shell .mk-card:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell .glass-card:not([data-v18-dark]):not([data-v18-dark] *) {
  background: linear-gradient(160deg, hsl(var(--v18-glass) / .86), hsl(var(--v18-glass) / .62));
  border: 1px solid hsl(0 0% 100% / .95);
  border-radius: 1.5rem;
  box-shadow: var(--v18-shadow);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s;
}
html.v18 .site-shell .mk-card:not([data-v18-dark]):not([data-v18-dark] *):hover,
html.v18 .site-shell .glass-card:not([data-v18-dark]):not([data-v18-dark] *):hover {
  transform: translateY(-5px);
  box-shadow: var(--v18-shadow), var(--v18-glow);
  border-color: hsl(var(--v18-violet) / .25);
}
html.v18 .site-shell .mk-card--zone:not([data-v18-dark]):not([data-v18-dark] *):hover { background: linear-gradient(160deg, #fff, hsl(266 100% 97%)); }
html.v18 .site-shell .mk-card--editorial:not([data-v18-dark]):not([data-v18-dark] *) { background: #fff; padding: 0; }
html.v18 .site-shell .mk-card--editorial:not([data-v18-dark]):not([data-v18-dark] *):hover img { transform: scale(1.05); }

/* the call-to-action tiles: the reference's lavender banner with a living colour blob */
html.v18 .site-shell .mk-card--action:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell .mk-card--status:not([data-v18-dark]):not([data-v18-dark] *) {
  overflow: hidden;
  background: linear-gradient(125deg, hsl(262 100% 94%), hsl(290 90% 94%) 48%, hsl(30 100% 93%));
  border: 1px solid hsl(0 0% 100% / .9);
}
html.v18 .site-shell .mk-card--action:not([data-v18-dark]):not([data-v18-dark] *)::after {
  content: "";
  position: absolute; right: -12%; top: -40%;
  width: 46%; aspect-ratio: 1;
  border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
  background: radial-gradient(circle at 30% 30%, hsl(var(--v18-fuchsia) / .55), hsl(var(--v18-violet) / .35) 50%, transparent 72%);
  filter: blur(6px);
  animation: v18-blob 12s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes v18-blob { to { transform: rotate(160deg) scale(1.12); border-radius: 58% 42% 37% 63% / 56% 59% 41% 44%; } }

/* chips */
html.v18 .site-shell .mk-chip:not([data-v18-dark]):not([data-v18-dark] *) { background: hsl(0 0% 100% / .7); border-color: hsl(var(--v18-violet) / .16); color: hsl(var(--mk-ivory) / .8); letter-spacing: .08em; }
html.v18 .site-shell .mk-chip--gold:not([data-v18-dark]):not([data-v18-dark] *) { background: hsl(var(--v18-violet) / .08); border-color: hsl(var(--v18-violet) / .25); color: hsl(var(--v18-violet)); }

/* ───────── buttons: glowing gradient pills ───────── */
html.v18 .site-shell .mk-btn { letter-spacing: .06em; font-family: var(--v18-sans); font-weight: 650; transition: transform .25s var(--ease-out), box-shadow .3s, background-position .6s; }
html.v18 .site-shell .mk-btn--primary {
  color: #fff;
  background: linear-gradient(100deg, hsl(var(--v18-violet)), hsl(var(--v18-fuchsia)) 40%, hsl(var(--v18-rose)) 70%, hsl(var(--v18-amber)));
  background-size: 200% 100%;
  box-shadow: 0 14px 34px -14px hsl(var(--v18-fuchsia) / .75), 0 0 0 1px hsl(0 0% 100% / .25) inset;
}
html.v18 .site-shell .mk-btn--primary:hover { background-position: 100% 0; box-shadow: 0 18px 44px -14px hsl(var(--v18-fuchsia) / .9), 0 0 24px hsl(var(--v18-violet) / .35); transform: translateY(-2px); }
html.v18 .site-shell .mk-btn--primary::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, hsl(0 0% 100% / .45) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: v18-sheen 4.5s ease-in-out infinite 1.5s;
}
html.v18 .site-shell .mk-btn--primary { position: relative; overflow: hidden; }
@keyframes v18-sheen { 0%, 60% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
html.v18 .site-shell .mk-btn--secondary:not([data-v18-dark]):not([data-v18-dark] *) { background: hsl(0 0% 100% / .75); border-color: hsl(var(--v18-violet) / .22); color: hsl(var(--mk-ivory)); box-shadow: 0 8px 22px -16px hsl(266 60% 30% / .4); }
html.v18 .site-shell .mk-btn--secondary:not([data-v18-dark]):not([data-v18-dark] *):hover { border-color: hsl(var(--v18-violet) / .5); background: #fff; }
html.v18 .site-shell .mk-btn--text:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(var(--v18-violet)); }
html.v18 .site-shell .mk-btn:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px hsl(var(--v18-violet)); }

/* form fields on light: crisp white inputs with a violet focus glow */
html.v18 .site-shell input:not([type=checkbox]):not([type=radio]):not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell select:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell textarea:not([data-v18-dark]):not([data-v18-dark] *) {
  background-color: hsl(0 0% 100% / .9);
  border-color: hsl(var(--v18-violet) / .18);
  color: hsl(var(--mk-ivory));
}
html.v18 .site-shell input:focus-visible, html.v18 .site-shell select:focus-visible, html.v18 .site-shell textarea:focus-visible {
  border-color: hsl(var(--v18-violet) / .6);
  box-shadow: 0 0 0 4px hsl(var(--v18-violet) / .14);
  outline: none;
}

/* images: soft rounded corners + gentle hover zoom */
html.v18 .site-shell main img { transition: transform .8s var(--ease-out), filter .6s; }

/* ───────── calm for people who ask for less motion ───────── */
@media (prefers-reduced-motion: reduce) {
  html.v18 body::before, html.v18 body::after,
  html.v18 .site-shell .text-gold-grad,
  html.v18 .site-shell .mk-card--action::after,
  html.v18 .site-shell .mk-btn--primary::after { animation: none !important; }
  html.v18 .site-shell .mk-card:hover, html.v18 .site-shell .glass-card:hover { transform: none; }
}

/* pages that open with a plain (no-photo) band under the glass header: give the first line room below the header */
html.v18 .site-shell main > .hero-bleed[data-v18-light] { padding-top: calc(var(--header-h) + 1.25rem); }

/* ───────── registration / application flow ───────── */
/* the sticky progress strip under the header and the fixed Back / Continue bar: frosted glass, not a black band */
html.v18 .site-shell [class~="top-[var(--header-h)]"]:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell [class~="fixed"][class~="bottom-0"][class~="inset-x-0"]:not([data-v18-dark]):not([data-v18-dark] *) {
  background: hsl(0 0% 100% / .78) !important;
  backdrop-filter: blur(20px) saturate(1.6);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  border-color: hsl(var(--v18-violet) / .12) !important;
  box-shadow: 0 -12px 30px -24px hsl(266 60% 30% / .35);
}
html.v18 .site-shell [class~="top-[var(--header-h)]"] [class*="bg-[hsl(var(--mk-gold"],
html.v18 .site-shell [class~="top-[var(--header-h)]"] [class*="bg-gradient"] {
  background: linear-gradient(90deg, hsl(var(--v18-violet)), hsl(var(--v18-fuchsia)), hsl(var(--v18-amber))) !important;
  box-shadow: 0 0 12px hsl(var(--v18-fuchsia) / .55);
}
/* faint helper text was drawn for a dark page; on light glass it gets enough ink to read */
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.3"]:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.4"]:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.5"]:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell [class*="text-[hsl(var(--mk-lavender)/0."]:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(262 18% 34%) !important; }
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.6"]:not([data-v18-dark]):not([data-v18-dark] *),
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.7"]:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(262 25% 24%) !important; }
/* the step rail: the current step's ring glows */
html.v18 .site-shell [class~="top-[72px]"] [aria-current="step"] span:first-child,
html.v18 .site-shell [class~="top-[72px]"] [aria-current="step"] > span:first-of-type { box-shadow: 0 0 0 4px hsl(var(--v18-violet) / .12), 0 0 22px hsl(var(--v18-fuchsia) / .45); animation: v18-pulse 2.6s ease-in-out infinite; }
@keyframes v18-pulse { 50% { box-shadow: 0 0 0 7px hsl(var(--v18-violet) / .06), 0 0 30px hsl(var(--v18-fuchsia) / .6); } }

/* header: a little more frost so a dark block scrolling under it never turns it grey */
html.v18 .site-shell > header { background: hsl(0 0% 100% / .86) !important; }

/* pointer light on glass cards (set by mk-v18.js) */
html.v18 .site-shell .mk-card:not([data-v18-dark]):not([data-v18-dark] *)::before,
html.v18 .site-shell .glass-card:not([data-v18-dark]):not([data-v18-dark] *)::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
  background: radial-gradient(420px circle at var(--v18-mx, 50%) var(--v18-my, -20%), hsl(var(--v18-fuchsia) / .10), transparent 60%);
  opacity: 0; transition: opacity .4s;
}
html.v18 .site-shell .mk-card:not([data-v18-dark]):not([data-v18-dark] *):hover::before,
html.v18 .site-shell .glass-card:not([data-v18-dark]):not([data-v18-dark] *):hover::before { opacity: 1; }
html.v18 .site-shell .glass-card { position: relative; }

/* dark photo blocks inside light pages (e.g. the registration welcome card): rounded, glowing frame */
html.v18 .site-shell [data-v18-dark]:not(main > *):not(footer) { box-shadow: 0 30px 60px -30px hsl(266 70% 30% / .55), 0 0 0 1px hsl(0 0% 100% / .08) inset; }

/* muted helper text (step numbers, upcoming steps, captions) readable on light glass */
html.v18 .site-shell [class*="text-[hsl(var(--muted-foreground)/0."]:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(262 14% 38%) !important; }
html.v18 .site-shell [class*="text-[hsl(var(--muted-foreground))]"]:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(262 14% 36%); }

/* ═════════════════════ ORGANISER CONSOLE (/admin) — same V18 glass, data and actions untouched ═════════════════════ */
html.v18 .admin-app {
  --v18-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --v18-violet: 266 83% 58%; --v18-fuchsia: 292 84% 56%; --v18-rose: 330 81% 62%; --v18-amber: 38 92% 52%;
  --v18-card: 0 1px 0 hsl(0 0% 100% / .9) inset, 0 18px 40px -26px hsl(266 60% 35% / .32), 0 2px 6px -3px hsl(266 40% 30% / .08);
  font-family: var(--v18-sans);
  letter-spacing: -.01em;
  background: transparent !important;
}
html.v18 .admin-app .tnum { font-weight: 700; letter-spacing: -.035em; font-feature-settings: "tnum"; }
html.v18 .admin-app h1, html.v18 .admin-app h2 { letter-spacing: -.03em; }

/* side rail: frosted glass; the open page is a glowing gradient pill */
html.v18 .admin-app > aside {
  background: hsl(0 0% 100% / .74) !important;
  backdrop-filter: blur(24px) saturate(1.7); -webkit-backdrop-filter: blur(24px) saturate(1.7);
  border-right: 1px solid hsl(0 0% 100% / .8) !important;
  box-shadow: 12px 0 40px -30px hsl(266 60% 30% / .35) !important;
}
html.v18 .admin-app > aside a { border-radius: 14px; transition: background-color .2s, color .2s, transform .2s; }
html.v18 .admin-app > aside a:hover { transform: translateX(2px); }

/* everything drawn in the brand's royal colour (active menu, main buttons, own chat bubbles): gradient + glow */
html.v18 .admin-app [class*="bg-[hsl(var(--royal))]"] {
  background: linear-gradient(110deg, hsl(var(--v18-violet)), hsl(var(--v18-fuchsia)) 60%, hsl(var(--v18-rose))) !important;
  color: #fff !important;
  box-shadow: 0 10px 26px -12px hsl(var(--v18-fuchsia) / .7) !important;
}
html.v18 .admin-app button[class*="bg-[hsl(var(--royal))]"]:hover,
html.v18 .admin-app a[class*="bg-[hsl(var(--royal))]"]:hover { filter: brightness(1.06) saturate(1.1); }

/* top bar */
html.v18 .admin-app header.sticky { background: hsl(0 0% 100% / .7) !important; border-bottom-color: hsl(0 0% 100% / .8) !important; backdrop-filter: blur(24px) saturate(1.7); -webkit-backdrop-filter: blur(24px) saturate(1.7); }

/* cards and panels: white glass, rounder, soft violet depth */
html.v18 .admin-app > div .rounded-2xl[class*="border"]:not([class*="bg-[hsl(var(--royal))]"]),
html.v18 .admin-app .rounded-2xl.bg-white {
  background: linear-gradient(160deg, hsl(0 0% 100% / .9), hsl(0 0% 100% / .72)) !important;
  border-color: hsl(0 0% 100% / .95) !important;
  border-radius: 22px;
  box-shadow: var(--v18-card) !important;
  backdrop-filter: blur(18px) saturate(1.5); -webkit-backdrop-filter: blur(18px) saturate(1.5);
}
/* clickable stat cards look clickable: lift, glow and an arrow */
html.v18 .admin-app a.group.rounded-2xl { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s; }
html.v18 .admin-app a.group.rounded-2xl:hover { transform: translateY(-4px); box-shadow: var(--v18-card), 0 0 0 1px hsl(var(--v18-violet) / .2), 0 26px 50px -24px hsl(var(--v18-fuchsia) / .45) !important; }
html.v18 .admin-app a.group.rounded-2xl::after {
  content: "→"; position: absolute; right: 18px; bottom: 14px; font-size: 15px; font-weight: 600;
  color: hsl(var(--v18-violet)); opacity: 0; transform: translateX(-6px); transition: opacity .25s, transform .25s;
}
html.v18 .admin-app a.group.rounded-2xl:hover::after { opacity: 1; transform: none; }
html.v18 .admin-app a.group.rounded-2xl > div > div:last-child { transition: transform .35s cubic-bezier(.34,1.2,.64,1); }
html.v18 .admin-app a.group.rounded-2xl:hover > div > div:last-child { transform: scale(1.1) rotate(-6deg); }

/* filters, search and inputs: pill fields with a violet focus glow */
html.v18 .admin-app input:not([type=checkbox]):not([type=radio]), html.v18 .admin-app select, html.v18 .admin-app textarea {
  border-radius: 12px; background-color: hsl(0 0% 100% / .9); border-color: hsl(266 30% 88%);
  transition: border-color .2s, box-shadow .2s;
}
html.v18 .admin-app input:focus, html.v18 .admin-app select:focus, html.v18 .admin-app textarea:focus {
  outline: none; border-color: hsl(var(--v18-violet) / .6) !important; box-shadow: 0 0 0 4px hsl(var(--v18-violet) / .14);
}

/* tables: glass header, airy rows, a soft lavender row highlight */
html.v18 .admin-app table thead th { background: hsl(266 70% 98% / .9); backdrop-filter: blur(8px); font-weight: 650; letter-spacing: .06em; }
html.v18 .admin-app table tbody tr { transition: background-color .15s; }
html.v18 .admin-app table tbody tr:hover { background: hsl(266 90% 97%) !important; }

/* support chat: soft gradient thread, rounder bubbles */
html.v18 .admin-app [class*="bg-gray-50/60"] { background: linear-gradient(180deg, hsl(266 80% 98%), hsl(300 70% 98%)) !important; }
html.v18 .admin-app [class*="max-w-[min(28rem,80%)]"] { border-radius: 20px; box-shadow: 0 8px 22px -16px hsl(266 60% 30% / .4); }
html.v18 .admin-app [class*="max-w-[min(28rem,80%)]"][class*="bg-white"] { border-color: hsl(0 0% 100%) !important; }

/* numbers that count: the KPI tiles' coloured icon bubbles get a gentle glow */
html.v18 .admin-app a.group.rounded-2xl [class*="rounded-xl"][class*="bg-"] { box-shadow: 0 8px 20px -10px currentColor; }

@media (prefers-reduced-motion: reduce) {
  html.v18 .admin-app a.group.rounded-2xl:hover, html.v18 .admin-app > aside a:hover { transform: none; }
}
/* top-bar shortcuts added by mk-v18.js */
html.v18 .admin-app .v18-quick { margin-left: auto; display: flex; gap: 8px; }
html.v18 .admin-app .v18-quick + * { margin-left: 0; }
html.v18 .admin-app .v18-quick a {
  display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 999px;
  background: hsl(0 0% 100% / .85); border: 1px solid hsl(266 40% 90%); color: hsl(262 40% 22%);
  font-size: 13px; font-weight: 600; box-shadow: 0 6px 16px -12px hsl(266 60% 30% / .45);
  transition: transform .2s, box-shadow .2s, color .2s;
}
html.v18 .admin-app .v18-quick a:hover { transform: translateY(-1px); color: hsl(var(--v18-violet)); box-shadow: 0 10px 24px -12px hsl(var(--v18-fuchsia) / .55); }
@media (max-width: 640px) { html.v18 .admin-app .v18-quick a span { display: none; } html.v18 .admin-app .v18-quick a { padding: 0 11px; } }
html:not(.v18) .v18-quick { display: none; }

/* organiser login: light glass card on the living colour */
html.v18 div:has(> form.max-w-md[class*="rounded-[2rem]"]) { background: transparent !important; }
html.v18 form.max-w-md[class*="rounded-[2rem]"] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;
  background: linear-gradient(160deg, hsl(0 0% 100% / .92), hsl(0 0% 100% / .74)) !important;
  border: 1px solid #fff !important; color: hsl(262 40% 12%) !important;
  box-shadow: 0 40px 80px -40px hsl(266 60% 35% / .45), 0 0 0 1px hsl(266 83% 58% / .06);
  backdrop-filter: blur(24px) saturate(1.6); -webkit-backdrop-filter: blur(24px) saturate(1.6);
}
html.v18 form.max-w-md[class*="rounded-[2rem]"] h1 { font-family: inherit; font-weight: 700; letter-spacing: -.035em; }
html.v18 form.max-w-md[class*="rounded-[2rem]"] [class*="text-white/50"] { color: hsl(262 14% 40%) !important; }
html.v18 form.max-w-md[class*="rounded-[2rem]"] input { background: #fff !important; border-color: hsl(266 30% 86%) !important; color: hsl(262 40% 12%) !important; }
html.v18 form.max-w-md[class*="rounded-[2rem]"] input:focus { border-color: hsl(266 83% 58% / .6) !important; box-shadow: 0 0 0 4px hsl(266 83% 58% / .14); }
html.v18 form.max-w-md[class*="rounded-[2rem]"] button[class*="bg-[hsl(var(--gold))]"] {
  background: linear-gradient(110deg, hsl(266 83% 58%), hsl(292 84% 56%) 60%, hsl(330 81% 62%)) !important; color: #fff !important;
  box-shadow: 0 14px 30px -14px hsl(292 84% 56% / .7); letter-spacing: .12em;
}

/* small gold captions: a richer gold so they read cleanly on white glass; big watermark numbers become soft violet */
html.v18 .site-shell [class*="text-[hsl(var(--mk-gold))]"]:not([data-v18-dark]):not([data-v18-dark] *):not(.eyebrow),
html.v18 .site-shell [class*="text-[hsl(var(--gold))]"]:not([data-v18-dark]):not([data-v18-dark] *):not(.eyebrow),
html.v18 .site-shell [class*="text-[hsl(var(--mk-gold-soft))]"]:not([data-v18-dark]):not([data-v18-dark] *):not(.eyebrow) { color: hsl(30 90% 31%); }
html.v18 .site-shell [class*="text-[hsl(var(--mk-ivory)/0.2"]:not([data-v18-dark]):not([data-v18-dark] *) { color: hsl(266 60% 58% / .6); }

/* ═════════════════════ FOOTER — cinematic, like a film's closing credits ═════════════════════ */
html.v18 .site-shell footer[data-v18-dark] {
  color: hsl(40 40% 96% / .82);
  background:
    radial-gradient(60% 80% at 12% 0%, hsl(282 70% 30% / .55), transparent 70%),
    radial-gradient(50% 70% at 92% 100%, hsl(36 80% 40% / .28), transparent 70%),
    linear-gradient(180deg, hsl(286 45% 7%), hsl(288 42% 4%)) !important;
  border-top: 0 !important;
  padding-top: 18px;
  padding-bottom: clamp(56px, 10.5vw, 176px);
  isolation: isolate;
}
/* film-strip edge: sprocket holes that slowly run, like a reel */
html.v18 .site-shell footer[data-v18-dark]::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 18px; z-index: 1; pointer-events: none;
  background:
    repeating-linear-gradient(90deg, transparent 0 10px, hsl(40 40% 96% / .16) 10px 22px, transparent 22px 34px) 0 5px / 34px 8px repeat-x,
    linear-gradient(180deg, hsl(0 0% 0% / .55), hsl(0 0% 0% / .25));
  border-bottom: 1px solid hsl(41 58% 58% / .35);
  animation: v18-reel 6s linear infinite;
}
@keyframes v18-reel { to { background-position: 34px 5px, 0 0; } }
/* a slow gold-violet light sweeping across, and the brand name as a giant watermark */
html.v18 .site-shell footer[data-v18-dark]::after {
  content: "MISS KARNATAKA"; position: absolute; left: 50%; bottom: clamp(10px, 1.6vw, 26px); z-index: -1; pointer-events: none; white-space: nowrap;
  transform: translateX(-50%);
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; letter-spacing: .08em;
  font-size: clamp(28px, 8.4vw, 150px); line-height: 1;
  color: transparent; -webkit-text-stroke: 1px hsl(41 58% 62% / .26);
  background: linear-gradient(100deg, transparent 30%, hsl(41 80% 70% / .22) 45%, hsl(292 80% 70% / .18) 55%, transparent 70%) 0 0 / 250% 100%;
  -webkit-background-clip: text; background-clip: text;
  animation: v18-sweep 9s ease-in-out infinite;
}
@keyframes v18-sweep { 0% { background-position: 120% 0; } 60%, 100% { background-position: -120% 0; } }

/* type: clear, airy, Apple system font; gold headings shimmer */
html.v18 .site-shell footer[data-v18-dark] .eyebrow {
  background: linear-gradient(100deg, #f5d27a, #fde68a 40%, #f0abfc 70%, #f5d27a) 0 0 / 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent !important;
  animation: v18-shimmer 7s ease-in-out infinite; letter-spacing: .2em;
}
html.v18 .site-shell footer[data-v18-dark] .t-support { color: hsl(40 30% 92% / .72) !important; line-height: 1.7; }
html.v18 .site-shell footer[data-v18-dark] a { color: hsl(40 40% 96% / .84); }
html.v18 .site-shell footer[data-v18-dark] li a,
html.v18 .site-shell footer[data-v18-dark] li button {
  color: hsl(40 40% 96% / .84); position: relative; width: fit-content;
  transition: color .25s, transform .25s;
}
html.v18 .site-shell footer[data-v18-dark] li a::after,
html.v18 .site-shell footer[data-v18-dark] li button::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 9px; height: 1px; transform: scaleX(0); transform-origin: left;
  background: linear-gradient(90deg, #f5d27a, #f0abfc); transition: transform .35s cubic-bezier(.16,1,.3,1);
}
html.v18 .site-shell footer[data-v18-dark] li a:hover,
html.v18 .site-shell footer[data-v18-dark] li button:hover { color: #fde68a; transform: translateX(3px); }
html.v18 .site-shell footer[data-v18-dark] li a:hover::after,
html.v18 .site-shell footer[data-v18-dark] li button:hover::after { transform: scaleX(1); }
html.v18 .site-shell footer[data-v18-dark] [class*="text-[hsl(var(--mk-ivory)/0.4"],
html.v18 .site-shell footer[data-v18-dark] [class*="text-[hsl(var(--mk-ivory)/0.6"] { color: hsl(40 40% 96% / .62) !important; }
html.v18 .site-shell footer[data-v18-dark] svg { color: #f5d27a; }

/* social circles and app badges: glass with a gold glow */
html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-full"] {
  background: hsl(0 0% 100% / .06); border-color: hsl(41 58% 58% / .35) !important;
  backdrop-filter: blur(8px); transition: box-shadow .3s, transform .3s, background-color .3s;
}
html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-full"]:hover { transform: translateY(-3px); background: hsl(41 58% 58% / .14); box-shadow: 0 0 0 1px hsl(41 70% 70% / .5), 0 10px 28px -8px hsl(41 80% 55% / .6); }
html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-xl"], html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-2xl"] {
  background: linear-gradient(150deg, hsl(0 0% 100% / .08), hsl(0 0% 100% / .03)) !important; border-color: hsl(41 58% 58% / .3) !important;
  transition: box-shadow .3s, transform .3s;
}
html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-xl"]:hover, html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-2xl"]:hover { transform: translateY(-3px); box-shadow: 0 14px 34px -14px hsl(292 80% 55% / .6), 0 0 0 1px hsl(41 70% 70% / .45); }
html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-xl"] span, html.v18 .site-shell footer[data-v18-dark] a[class*="rounded-2xl"] span { color: hsl(40 40% 96% / .92) !important; }

/* closing-credits reveal: columns rise one after another when the footer comes into view (set by mk-v18.js) */
html.v18 .site-shell footer.v18-roll-ready .container-site > * { opacity: 0; transform: translateY(26px); filter: blur(4px); }
html.v18 .site-shell footer.v18-roll .container-site > * { opacity: 1; transform: none; filter: none; transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1), filter .9s; }
html.v18 .site-shell footer.v18-roll .container-site > *:nth-child(2) { transition-delay: .12s; }
html.v18 .site-shell footer.v18-roll .container-site > *:nth-child(3) { transition-delay: .24s; }
html.v18 .site-shell footer.v18-roll .container-site > *:nth-child(4) { transition-delay: .36s; }
html.v18 .site-shell footer.v18-roll .container-site > *:nth-child(5) { transition-delay: .48s; }
@media (prefers-reduced-motion: reduce) {
  html.v18 .site-shell footer[data-v18-dark]::before, html.v18 .site-shell footer[data-v18-dark]::after, html.v18 .site-shell footer[data-v18-dark] .eyebrow { animation: none; }
  html.v18 .site-shell footer.v18-roll-ready .container-site > * { opacity: 1; transform: none; filter: none; }
}
