/* =====================================================================
   INCEPTIA 2K26 — DAYLIGHT THEME (light mode)
   Loaded last on every page. Dark mode is untouched: every rule here is
   scoped to html[data-theme=light].
   Colour system
     paper   #f4f6fb  page base            ink   #0f1533  primary text (17:1)
     card    #ffffff  solid surfaces       ink2  #3a4268  secondary text (9.7:1)
     line    rgba(15,21,51,.12) borders    mut   #4c5579  muted text (7:1)
   Accents are darkened so they read as text on white (>=4.5:1) and carry
   white text when used as fills (>=4.5:1).
   ===================================================================== */

html[data-theme="light"] {
  color-scheme: light;
  --paper: #f4f6fb;
  --card: #ffffff;
  --line: rgba(15, 21, 51, 0.12);
  --line2: rgba(15, 21, 51, 0.2);
  --bone: #0f1533;
  --ink2: #3a4268;
  --mut: #4c5579;
  --ink: #ffffff; /* "text on accent" */
  --cy: #c2185b;
  --mi: #006d7e;
  --rd: #c0213f;
  --bd: rgba(15, 21, 51, 0.14);
  --shadow: 0 1px 2px rgba(15, 21, 51, 0.06), 0 10px 30px -14px rgba(15, 21, 51, 0.28);
}
html[data-theme="light"] body[data-p="home"],
html[data-theme="light"] body[data-p="sponsors"] {
  --cy: #c2185b;
  --mi: #006d7e;
}
html[data-theme="light"] body[data-p="events"] {
  --cy: #a84a00;
  --mi: #c0213f;
}
html[data-theme="light"] body[data-p="workshops"] {
  --cy: #0a7a42;
  --mi: #0068a8;
}
html[data-theme="light"] body[data-p="map"] {
  --cy: #0068a8;
  --mi: #b5166b;
}
html[data-theme="light"] body[data-p="register"] {
  --cy: #5b34d6;
  --mi: #a61e88;
}
html[data-theme="light"] body[data-p="gallery"] {
  --cy: #b23c0c;
  --mi: #8a5a00;
}
html[data-theme="light"] body[data-p="about"] {
  --cy: #1f55d0;
  --mi: #00775c;
}
html[data-theme="light"] body[data-p="contact"] {
  --cy: #00756a;
  --mi: #8a5a00;
}
html[data-theme="light"] body[data-p="islets"] {
  --cy: #007563;
  --mi: #b04410;
}
html[data-theme="light"] body[data-p="guests"],
html[data-theme="light"] #p-guests[data-g="0"] {
  --cy: #1d4ed8;
  --mi: #8a5a00;
}
html[data-theme="light"] #p-guests[data-g="1"] {
  --cy: #c0213f;
  --mi: #8a5a00;
}
html[data-theme="light"] #p-guests[data-g="2"] {
  --cy: #0068a8;
  --mi: #8a5a00;
}

/* ---------- page canvas ---------- */
html[data-theme="light"] body {
  color: var(--bone);
  background-color: var(--paper);
  background-image:
    radial-gradient(130% 70% at 50% -12%, #cfe2ff 0%, rgba(207, 226, 255, 0) 62%),
    linear-gradient(180deg, #e9f1ff 0%, #f4f6fb 32%, #f7f5f9 70%, #fbf1ea 100%);
  background-attachment: fixed;
}
html[data-theme="light"] ::selection {
  background: var(--cy);
  color: #fff;
}
html[data-theme="light"] .mo {
  color: var(--mi);
}
html[data-theme="light"] .mut,
html[data-theme="light"] .pg > .hd p,
html[data-theme="light"] .hd > p {
  color: var(--ink2);
}
html[data-theme="light"] a:focus-visible,
html[data-theme="light"] button:focus-visible {
  outline-color: var(--cy);
}

/* sun: lives at the top of the page and scrolls away with the hero, never behind body copy */
html[data-theme="light"] .sun {
  position: absolute;
  top: min(34vh, 330px);
  width: min(520px, 80vw);
  background: radial-gradient(circle, #fffdf3 0 26%, #fff0bf 44%, #ffd9a0 60%, rgba(255, 200, 160, 0) 72%);
  opacity: 0.9;
}
html[data-theme="light"] .sun:before {
  background: radial-gradient(
    circle,
    rgba(255, 236, 190, 0.5),
    rgba(255, 214, 190, 0.16) 40%,
    transparent 62%
  );
}
html[data-theme="light"] .sun:after {
  background: repeating-conic-gradient(from 0deg, rgba(255, 255, 255, 0.2) 0 3deg, transparent 3deg 11deg);
  -webkit-mask-image: radial-gradient(circle, #000 12%, transparent 42%);
  mask-image: radial-gradient(circle, #000 12%, transparent 42%);
}
html[data-theme="light"] body[data-p]:not([data-p="home"]) .sun {
  left: 88%;
  top: 150px;
  width: min(250px, 44vw);
  opacity: 0.85;
}
@media (max-width: 700px) {
  html[data-theme="light"] .sun {
    top: 250px;
    width: 92vw;
    opacity: 0.7;
  }
  html[data-theme="light"] body[data-p]:not([data-p="home"]) .sun {
    left: 92%;
    top: 120px;
    width: 46vw;
    opacity: 0.6;
  }
}

/* skyline: stays at the foot of the first screen instead of following the reader */
html[data-theme="light"] .cityfx {
  position: absolute;
  top: calc(100vh - min(40vh, 360px));
  bottom: auto;
  opacity: 0.5;
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent);
  mask-image: linear-gradient(180deg, #000 55%, transparent);
}
html[data-theme="light"] body[data-p]:not([data-p="home"]) .cityfx {
  opacity: 0.26;
}
html[data-theme="light"] .cityfx:after {
  display: none;
}
@supports (height: 100svh) {
  html[data-theme="light"] .cityfx {
    top: calc(100svh - min(40svh, 360px));
  }
}
html[data-theme="light"] .clouds i {
  background: radial-gradient(closest-side, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
}

/* ---------- header ---------- */
html[data-theme="light"] header {
  box-shadow:
    0 1px 0 var(--line),
    0 10px 26px -18px rgba(15, 21, 51, 0.35);
}
html[data-theme="light"] header:after {
  bottom: 0;
  opacity: 0.9;
  box-shadow: none;
  height: 2px;
}
html[data-theme="light"] header .lg img {
  filter: none;
}
html[data-theme="light"] header .seal {
  filter: none;
}
html[data-theme="light"] .bb2 img {
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px var(--cy),
    0 4px 14px -4px rgba(15, 21, 51, 0.35);
}
html[data-theme="light"] nav a {
  color: var(--ink2);
}
html[data-theme="light"] nav a:hover,
html[data-theme="light"] nav a.on {
  color: var(--bone);
}
html[data-theme="light"] nav a.on:after {
  background: var(--cy);
  box-shadow: none;
}
html[data-theme="light"] #bg2 {
  color: var(--bone);
  background: #fff;
  border-color: var(--line2);
}
html[data-theme="light"] .rgb {
  color: #fff;
  background: linear-gradient(135deg, var(--cy), var(--mi));
  border-color: rgba(255, 255, 255, 0.85);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--cy) 40%, transparent),
    0 6px 18px -6px color-mix(in srgb, var(--cy) 70%, transparent);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}
html[data-theme="light"] .rgb .rd {
  background: #fff;
  box-shadow: 0 0 0 2px color-mix(in srgb, #fff 40%, transparent);
}
html[data-theme="light"] .rgb:before {
  border-color: color-mix(in srgb, var(--cy) 55%, transparent);
}
@media (max-width: 1240px) {
  html[data-theme="light"] header {
    background: #f9fbff;
  }
  html[data-theme="light"] nav {
    background: linear-gradient(180deg, #f9fbff 0%, #eef3ff 60%, #fdf1ea 100%);
  }
  html[data-theme="light"] nav a {
    color: var(--bone);
  }
  html[data-theme="light"] nav a.on {
    color: var(--cy);
  }
  html[data-theme="light"] nav .nrg {
    color: #fff !important;
    background: var(--cy);
  }
}

/* ---------- buttons, chips, inputs ---------- */
html[data-theme="light"] .bt:not(.g) {
  color: #fff;
  background: linear-gradient(110deg, var(--cy), color-mix(in srgb, var(--cy) 72%, var(--mi)));
}
html[data-theme="light"] .bt.g {
  color: var(--cy);
  background: #fff;
  box-shadow: inset 0 0 0 1.5px var(--cy);
}
html[data-theme="light"] .bt.g:hover {
  background: var(--cy);
  color: #fff;
}
html[data-theme="light"] .bt:hover {
  box-shadow: 0 8px 24px -6px color-mix(in srgb, var(--cy) 60%, transparent);
}
html[data-theme="light"] .bt.g:hover {
  box-shadow:
    inset 0 0 0 1.5px var(--cy),
    0 8px 24px -6px color-mix(in srgb, var(--cy) 60%, transparent);
}
html[data-theme="light"] .ch {
  background: #fff;
  color: var(--ink2);
  border-color: var(--line2);
}
html[data-theme="light"] .ch.on,
html[data-theme="light"] .ch:hover {
  color: #fff;
  background: var(--cy);
  border-color: var(--cy);
}
html[data-theme="light"] .pk .ch.on {
  background: var(--mi);
  border-color: var(--mi);
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: #fff;
  color: var(--bone);
  border-color: var(--line2);
}

/* ---------- surfaces: solid cards, no see-through ---------- */
html[data-theme="light"] .cut {
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .as {
  background: #fff;
  border-color: var(--line);
}
html[data-theme="light"] .art {
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--cy) 8%, #fff),
    color-mix(in srgb, var(--mi) 9%, #fff)
  );
}
html[data-theme="light"] #md {
  background: rgba(226, 233, 248, 0.9);
}
html[data-theme="light"] #mx {
  background: #fff;
  color: var(--bone);
  box-shadow: inset 0 0 0 1px var(--line2);
}
html[data-theme="light"] #cal {
  background: #fff;
  color: var(--bone);
}
html[data-theme="light"] #cal::backdrop {
  background: rgba(226, 233, 248, 0.9);
}
html[data-theme="light"] #tt {
  background: #fff;
  color: var(--bone);
  box-shadow:
    0 0 0 1px var(--line2),
    0 8px 20px -8px rgba(15, 21, 51, 0.35);
}

/* ---------- footer ---------- */
html[data-theme="light"] footer {
  background: #fff;
  border-top-color: var(--line);
}
html[data-theme="light"] footer .mo,
html[data-theme="light"] .ftn {
  color: var(--ink2);
}
html[data-theme="light"] .ftn a {
  color: var(--cy);
}
html[data-theme="light"] footer .as.hs {
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line);
}

/* ---------- loader + page transition ---------- */
html[data-theme="light"] #ld {
  background:
    radial-gradient(60% 45% at 50% 38%, #fff6d8, transparent 70%),
    linear-gradient(180deg, #dcebff, #f6f2f6 60%, #fdeee4);
}
html[data-theme="light"] #ld img {
  filter: none;
}
html[data-theme="light"] #ld .ln {
  filter: none;
  stroke: #c2185b;
}
html[data-theme="light"] #ld .gh {
  stroke: rgba(15, 21, 51, 0.12);
}
html[data-theme="light"] .bar {
  background: rgba(15, 21, 51, 0.1);
}
html[data-theme="light"] .bar i {
  box-shadow: none;
}
html[data-theme="light"] .w2 {
  background:
    radial-gradient(55% 40% at 50% 35%, #fff6d8, transparent 70%),
    linear-gradient(180deg, #dcebff, #f6f2f6 60%, #fdeee4);
}
html[data-theme="light"] #sl {
  color: var(--bone);
  text-shadow:
    2px 0 color-mix(in srgb, var(--rd) 55%, transparent),
    -2px 0 color-mix(in srgb, var(--mi) 55%, transparent);
}
html[data-theme="light"] #sk {
  color: var(--mi);
}

/* ---------- HOME ---------- */
html[data-theme="light"] .hero .clg {
  color: #0b4f5c;
}
html[data-theme="light"] .bdg {
  color: var(--cy);
}
html[data-theme="light"] .bdg i {
  color: var(--bone);
}
html[data-theme="light"] .rings {
  opacity: 0.4;
}
html[data-theme="light"] .vt {
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .vt b {
  color: var(--bone);
}
html[data-theme="light"] .vt em {
  color: var(--mut);
}
html[data-theme="light"] #vn span {
  color: color-mix(in srgb, var(--bc, var(--cy)) 70%, #0f1533);
}
html[data-theme="light"] #vn b {
  color: var(--bone);
}
html[data-theme="light"] .dtb b {
  color: var(--bone);
  text-shadow: none;
}
html[data-theme="light"] .dtm {
  color: var(--bone);
}
html[data-theme="light"] .glc button {
  background: #fff;
  color: var(--cy);
  border-color: var(--line2);
}
html[data-theme="light"] .glc button:hover {
  background: var(--cy);
  color: #fff;
}
html[data-theme="light"] #glb button span {
  color: var(--mut);
}
html[data-theme="light"] #glb button.on span {
  color: var(--cy);
}
html[data-theme="light"] .stm span {
  opacity: 0.22;
}
html[data-theme="light"] .stm span.on {
  opacity: 1;
}
html[data-theme="light"] .stm .e.on {
  color: var(--cy);
}
html[data-theme="light"] .l8 b {
  filter: saturate(1.15) brightness(0.9);
}
html[data-theme="light"] .l8 b:hover,
html[data-theme="light"] .l8 b.on {
  color: var(--bone) !important;
  text-shadow: 0 6px 24px color-mix(in srgb, var(--cy) 40%, transparent);
  filter: none;
}
html[data-theme="light"] .note {
  box-shadow:
    0 1px 2px rgba(15, 21, 51, 0.12),
    0 16px 30px -14px rgba(15, 21, 51, 0.4);
}
html[data-theme="light"] .board {
  background:
    radial-gradient(color-mix(in srgb, var(--cy) 26%, transparent) 1px, transparent 1px) 0 0/26px 26px,
    rgba(255, 255, 255, 0.55);
  box-shadow: inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .cta {
  background: linear-gradient(110deg, #c2410c 0%, #be185d 52%, #5b34d6 100%);
  color: #fff;
}
html[data-theme="light"] .cta .mo {
  color: #fff !important;
  opacity: 0.95;
}
html[data-theme="light"] .cta h2 {
  text-shadow: 0 4px 24px rgba(60, 10, 50, 0.3);
}
html[data-theme="light"] .cta .bt {
  background: #0f1533 !important;
  color: #fff !important;
}
html[data-theme="light"] .cr {
  color: #fff;
  opacity: 0.22;
}

/* the sun and skyline scroll with the page, so the body must clip their glow (keeps phones at device width) */
html[data-theme="light"] body {
  position: relative;
}
html[data-theme="light"] .sun,
html[data-theme="light"] .cityfx {
  max-width: none;
}

/* =============== INCEPTIA CITY (home map) =============== */
html[data-theme="light"] header {
  background: #f9fbff;
}
html[data-theme="light"] .wn-lb i {
  color: #fff;
  text-shadow:
    0 1px 2px rgba(6, 26, 60, 0.85),
    0 0 8px rgba(6, 26, 60, 0.55);
}
html[data-theme="light"] .wn-lb.pdl i {
  color: #fff;
}
html[data-theme="light"] .wn-hud {
  color: #fff;
  text-shadow: 0 1px 2px rgba(6, 26, 60, 0.8);
}
html[data-theme="light"] .wn-hint {
  background: #fff;
  color: #22324f;
}
html[data-theme="light"] .wn-hint b {
  color: #c2185b;
}
html[data-theme="light"] .wn-pan {
  background: #fff;
}
html[data-theme="light"] .wn-pan .mo {
  color: color-mix(in srgb, var(--ic) 62%, #0f1533);
}
html[data-theme="light"] .wn-pan p {
  color: var(--ink2);
}
html[data-theme="light"] .wn-di {
  background: #fff;
}
html[data-theme="light"] .wn-di .mo {
  color: color-mix(in srgb, var(--ic) 58%, #0f1533);
}
html[data-theme="light"] .wn-di p,
html[data-theme="light"] .wn-di span:not(.mo) {
  color: var(--ink2);
}
/* sponsor hologram showcase: a calm frosted veil so the logo and its text read clearly */
html[data-theme="light"] .hl-dim {
  background: radial-gradient(
    70% 70% at 50% 46%,
    rgba(240, 245, 255, 0.9),
    rgba(226, 236, 252, 0.82) 70%,
    rgba(210, 226, 248, 0.78)
  );
}
html[data-theme="light"] .hl-info {
  color: #0f1533;
  text-shadow: none;
}
html[data-theme="light"] .hl-info p {
  color: var(--ink2);
}
html[data-theme="light"] .hl-info .mo {
  color: color-mix(in srgb, var(--hc) 60%, #0f1533);
}
html[data-theme="light"] .wn-holo.on .hl-rays {
  opacity: 0.35;
}

/* =============== EVENTS =============== */
html[data-theme="light"] .card .tg {
  color: var(--mi);
}
html[data-theme="light"] .card h3 {
  color: var(--bone);
}
html[data-theme="light"] .card p {
  color: var(--ink2);
}
html[data-theme="light"] .dtc {
  color: #fff;
  background: var(--cy);
}
html[data-theme="light"] .dtc.nd {
  color: var(--cy);
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cy) 45%, transparent);
}
html[data-theme="light"] #mx .mo {
  color: var(--mi);
}
html[data-theme="light"] #mx p {
  color: var(--ink2);
}

/* =============== GUESTS =============== */
/* the "now viewing" monitor stays a dark screen in both themes; its readouts stay light */
html[data-theme="light"] .gtl b {
  color: #9db8ff;
}
html[data-theme="light"] #p-guests[data-g="1"] .gtl b {
  color: #ff9db0;
}
html[data-theme="light"] .fcd .fc-fl span {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

/* =============== ISLETS =============== */
html[data-theme="light"] .cw {
  background: #fff;
  border-color: var(--line2);
}
html[data-theme="light"] .cw b {
  color: var(--cy);
}
html[data-theme="light"] .cw[aria-pressed="true"] {
  background: color-mix(in srgb, var(--cy) 12%, #fff);
  border-color: var(--cy);
}
html[data-theme="light"] .cw[aria-pressed="true"]:before {
  color: #fff;
  background: var(--cy);
}
html[data-theme="light"] .hb-s {
  fill: #0f1533;
}
html[data-theme="light"] .ihud {
  color: #0f1533;
  opacity: 1;
}

/* =============== CAMPUS MAP =============== */
html[data-theme="light"] .rt {
  fill: #0f1533;
  opacity: 1;
  stroke: #fff;
  stroke-width: 3.2px;
  stroke-linejoin: round;
  paint-order: stroke fill;
}
html[data-theme="light"] .mp .lgd {
  color: #0f1533;
  background: rgba(255, 255, 255, 0.94);
  padding: 4px 10px;
  text-shadow: none;
  box-shadow: 0 0 0 1px var(--line);
}
html[data-theme="light"] .bl em {
  color: var(--ink2);
  opacity: 1;
}
html[data-theme="light"] .lb {
  background: #fff;
  color: var(--bone);
  box-shadow: inset 0 0 0 1px var(--line2);
}
html[data-theme="light"] .mc button {
  background: #fff;
  color: var(--cy);
  border-color: var(--line2);
}
html[data-theme="light"] .mc button:hover {
  background: var(--cy);
  color: #fff;
}
html[data-theme="light"] .sd .ch,
html[data-theme="light"] .bl {
  background: #fff;
}

/* =============== ABOUT (inline founder hologram) =============== */
html[data-theme="light"] .shrine[data-inline] .sh-cap {
  text-shadow:
    0 0 12px #fff,
    0 0 4px #fff;
}
html[data-theme="light"] .shrine[data-inline] .sh-cap b {
  color: #0f1533;
}
html[data-theme="light"] .shrine[data-inline] .sh-cap span {
  color: #8a5a00 !important;
}
html[data-theme="light"] .shrine[data-inline] .sh-cap i {
  color: var(--ink2) !important;
}

/* =============== SPONSORS =============== */
html[data-theme="light"] .sp-pt,
html[data-theme="light"] .sp-sl {
  background: #fff;
}
html[data-theme="light"] .spx .sp-pt {
  box-shadow:
    inset 4px 0 0 var(--ic, #3aa51a),
    inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .spx .sp-pt .mo,
html[data-theme="light"] .spx .sp-pt a {
  color: color-mix(in srgb, var(--ic, #3aa51a) 56%, #0f1533);
}
html[data-theme="light"] .sp-pt p,
html[data-theme="light"] .sp-sub,
html[data-theme="light"] .sp-steps p {
  color: var(--ink2);
}
html[data-theme="light"] .sp-steps li {
  background: #fff;
  box-shadow:
    inset 4px 0 0 #3aa51a,
    inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .sp-steps b {
  color: #2a7d12;
}
html[data-theme="light"] .sp-sl {
  box-shadow: inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .sp-sl:hover,
html[data-theme="light"] .sp-sl:target {
  box-shadow:
    inset 0 0 0 2px #3aa51a,
    0 10px 26px -14px rgba(31, 107, 12, 0.5);
}
html[data-theme="light"] .sp-sl .mo {
  color: #1f6b0c;
}
html[data-theme="light"] .sp-sl.tk .mo {
  color: #7a5200;
}
html[data-theme="light"] .sp-sl a,
html[data-theme="light"] .sp-pt a {
  color: var(--cy);
}
html[data-theme="light"] .spx .sp-pt a {
  color: color-mix(in srgb, var(--ic, #3aa51a) 56%, #0f1533);
}
html[data-theme="light"] .sp-demo {
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(58, 165, 26, 0.4);
}
html[data-theme="light"] .sp-hint {
  color: #1f6b0c;
}
html[data-theme="light"] .sp-none {
  color: var(--ink2);
  border-color: var(--line2);
}
html[data-theme="light"] .rt[style*="7d8bb5"] {
  fill: #3a4268 !important;
}

/* map heading + jump toolbar */
html[data-theme="light"] .wn-jump button {
  background: #fff;
  color: #0b4f80;
  box-shadow: inset 0 0 0 1px rgba(11, 79, 128, 0.32);
}
html[data-theme="light"] .wn-jump button[data-j="sponsors"] {
  color: #1f6b0c;
  box-shadow: inset 0 0 0 1px rgba(31, 107, 12, 0.4);
}
html[data-theme="light"] .wn-jump button[data-j="sponsors"]:hover,
html[data-theme="light"] .wn-jump button[data-j="sponsors"]:focus-visible {
  background: #1f6b0c;
  color: #fff;
}
html[data-theme="light"] .wn-jump .mo,
html[data-theme="light"] .wn-jump > span {
  color: var(--ink2);
}
