/* Final light palette: neutral surfaces, readable ink and one violet accent.
   Scoped throughout so photographs, the intro and the dark theme keep their identity. */
:root[data-theme="light"] {
  --page-bg: #f8f9fc;
  --panel-bg: #ffffff;
  --panel-raised: #edf0f7;
  --text-primary: #202337;
  --text-secondary: #555e72;
  --border-soft: #dce0ea;
  --accent-text: #6239b7;
  --accent: #7042cd;
  --glass-bg: rgba(255, 255, 255, .9);
  --glass-border: rgba(208, 213, 227, .85);
  --glass-highlight: rgba(255, 255, 255, .7);
  --glass-shadow: 0 8px 30px #242b4610, inset 0 1px 0 #fff;
  --bg: var(--page-bg);
  --surface: var(--panel-bg);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --line: var(--border-soft);
}

html[data-theme="light"] ::selection { background: #ded4f6; color: #30204e; }
html[data-theme="light"] :is(a, button, summary, input):focus-visible { outline-color: #6239b7; }
html[data-theme="light"] .section-tag {
  color: #594378;
  background: #f0ebfa;
  border-color: #d9cdeb;
  font-weight: 600;
}
html[data-theme="light"] .section-heading h2 span,
html[data-theme="light"] .gallery-heading h2 span { color: #69528f; }
html[data-theme="light"] :is(.section-footnote, .pill, .stats-context, .stat span,
  .track-top, .track-bottom, .process-step small, .venue-list li, .venue-list span,
  .map-label, .faq-list details p, .faq-list summary>span, .gallery-shown,
  .footer-brand>p, .footer-column, .footer-column small, .footer-bottom) {
  color: var(--text-secondary);
}
html[data-theme="light"] .primary,
html[data-theme="light"] .reg-primary,
html[data-theme="light"] .registration-copy .white {
  color: #fff;
  background: linear-gradient(115deg, #7440ce, #5936c3);
  border-color: #6439c2;
  box-shadow: 0 6px 16px #6339b51c, inset 0 1px 0 #ffffff26;
}
html[data-theme="light"] .primary:hover,
html[data-theme="light"] .reg-primary:hover:not(:disabled),
html[data-theme="light"] .registration-copy .white:hover {
  background: linear-gradient(115deg, #6733c1, #4c2aaf);
  box-shadow: 0 8px 22px #6339b52b;
}
html[data-theme="light"] .secondary {
  color: #583391; border-color: #c4b7dd; background: #fff;
}
html[data-theme="light"] .secondary:hover { background: #eee8f8; border-color: #8d71b8; }

/* The header remains glass, with a visible edge against the lighter canvas. */
html[data-theme="light"] .header-inner { background: var(--glass-bg); }
html[data-theme="light"] .desktop-nav a,
html[data-theme="light"] .locale-switch button { color: #596174; }
html[data-theme="light"] .desktop-nav a:hover,
html[data-theme="light"] .desktop-nav a.active { color: #452580; }
html[data-theme="light"] .header-inner .locale-switch { background: #f0eef7; border-color: #dcd6e9; }
html[data-theme="light"] .locale-switch:before { background: #7044b4; box-shadow: 0 1px 3px #35204b24; }
html[data-theme="light"] .locale-switch button[aria-pressed="true"] { color: #fff; }
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .header-inner .menu-toggle { background: #fff; border-color: #d6dbe7; color: #4a4f65; }
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .header-inner .menu-toggle:hover { background: #eee8f8; border-color: #a58acb; }

/* Cover and overview: a restrained wash, then clean editorial surfaces. */
html[data-theme="light"] .hero {
  background: radial-gradient(ellipse at 77% 34%, #ebe5fa 0, #f3f1fa66 34%, transparent 67%), #f8f9fc;
}
html[data-theme="light"] .hero-description { color: #495367; }
html[data-theme="light"] .hero-event-location { color: #5a6377; }
html[data-theme="light"] .hero-year {
  background-image: linear-gradient(110deg, #683cb7, #8f397e);
}
html[data-theme="light"] .hero-atmosphere .orbital-field { opacity: .3; }
html[data-theme="light"] .hero-atmosphere .field-glow { filter: blur(28px); }
html[data-theme="light"] .hero-atmosphere .field-flare { background: #8466b5; box-shadow: 0 0 14px #8567b72b; }
html[data-theme="light"] .countdown-heading { color: #535c71; font-weight: 550; }
html[data-theme="light"] .countdown-label { color: #586177; font-weight: 550; font-size: 10px; }
html[data-theme="light"] .countdown-unit + .countdown-unit:before { color: #91879f; opacity: .65; }
html[data-theme="light"] .about-copy p:first-child { color: #2d3348; }
html[data-theme="light"] .about-photo { background: #e9edf6; box-shadow: 0 16px 40px #26345412; }
html[data-theme="light"] .about-photo:after {
  background: linear-gradient(180deg, transparent 55%, #17213f20 77%, #17213f80 100%);
  box-shadow: inset 0 0 0 1px #26345416;
}
html[data-theme="light"] .stat strong { background-image: linear-gradient(105deg, #7540b9, #94417f, #365eb1); }
html[data-theme="light"] .about-benefits h3 { color: #2c3045; }
html[data-theme="light"] .about-benefits p { color: #555e72; }
html[data-theme="light"] .framed:before,
html[data-theme="light"] .framed:after { background: #b9b4cc; }

/* White cards and neutral dividers make the colourful illustrations deliberate. */
html[data-theme="light"] .track-card { background: linear-gradient(165deg, #fff 45%, #f3f0fa); }
html[data-theme="light"] .track-card:before { background: radial-gradient(400px at var(--pointer-x, 50%) var(--pointer-y, 50%), #a386db16, transparent 65%); }
html[data-theme="light"] .track-copy h3 { color: #25293f; }
html[data-theme="light"] .track-copy p { color: #555e72; }
html[data-theme="light"] .track-local-title { color: #4c4564 !important; }
html[data-theme="light"] .track-bottom { color: #6239a6; }

/* Awards: the fund keeps its emphasis; the grant card uses the same accent. */
html[data-theme="light"] .light-section {
  background: #f0f2f8; color: var(--text-primary);
}
html[data-theme="light"] .prize-total {
  background: radial-gradient(ellipse at 100% 0, #9f63ce55, transparent 60%), linear-gradient(130deg, #432577, #6b3eb6);
  border-color: #744fb2;
  box-shadow: 0 16px 32px #47327520, inset 0 1px 0 #ffffff24;
}
html[data-theme="light"] .prize-total-label,
html[data-theme="light"] .prize-total>p,
html[data-theme="light"] .prize-equation { color: #f0e8ff; }
html[data-theme="light"] .prize-total>strong { color: #fff; }
html[data-theme="light"] .prize-total>strong>span { color: #edceff; }
html[data-theme="light"] .prize-equation>span:not([aria-hidden]) { background: #ffffff10; border-color: #ffffff40; }
html[data-theme="light"] .prize-breakdown>h3 { color: #3d3e56; }
html[data-theme="light"] .prize-card { background: #fff; border-color: #d9ddea; box-shadow: 0 3px 10px #29365204; }
html[data-theme="light"] .prize-card dt { color: #586075; }
html[data-theme="light"] .prize-card dd { color: #272b40; }
html[data-theme="light"] .prize-card dd>span { color: #6c577f; }
html[data-theme="light"] .prize-rank { color: #633ca0; background: #eee7f8; }
html[data-theme="light"] .grand-prize { background: linear-gradient(130deg, #fff, #ece5f9); border-color: #b9a0db; }
html[data-theme="light"] .grand-prize .prize-rank { color: #fff; background: #7044ba; }
html[data-theme="light"] .award-grants {
  background: linear-gradient(110deg, #fff 30%, #eee8fa);
  border-color: #c5b2e2;
  box-shadow: 0 10px 25px #422d680b;
}
html[data-theme="light"] .award-grants:before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(#7b4dc5, #ae5c9a);
}
html[data-theme="light"] .award-grants-icon {
  color: #fff; background: linear-gradient(145deg, #8654d2, #6038ac);
  border-color: #9169c9; box-shadow: 0 7px 17px #633aaf2b, inset 0 1px 0 #ffffff30;
}
html[data-theme="light"] .award-grants h3 { color: #42266e; }
html[data-theme="light"] .award-grants-mark { color: #5e427b; background: #ffffffaa; border-color: #c7b6dd; }

/* The process illustration is monochrome in the daylight palette. */
html[data-theme="light"] .process-step { color: #626a7d; }
html[data-theme="light"] .step-number { color: #665279; background: #efebf6; border-color: #d4c9e3; }
html[data-theme="light"] .process-step[aria-pressed="true"] { color: #5b339c; }
html[data-theme="light"] .process-step[aria-pressed="true"] .step-number { background: #7144bd; border-color: #7144bd; box-shadow: 0 3px 12px #7044ba1f; color: #fff; }
html[data-theme="light"] .process-stage { background: #f0edf8; border-color: #d7cde6; }
html[data-theme="light"] .process-orbit { filter: grayscale(1) invert(1); mix-blend-mode: multiply; opacity: .62; }
html[data-theme="light"] .process-card { color: #292d42; background: #ffffffed; border-color: #fff; box-shadow: 0 12px 30px #30234f12; }
html[data-theme="light"] .process-card-top { color: #694b90; }
html[data-theme="light"] .process-card p { color: #555e72; }
html[data-theme="light"] .process-caption { color: #625773; font-size: 9px; }
html[data-theme="light"] .process-progress i { background: #dcd4e9; }
html[data-theme="light"] .process-progress .active { background: #7549bc; }

html[data-theme="light"] .program-panel,
html[data-theme="light"] .venue-panel { border-color: #d8deea; box-shadow: 0 8px 24px #29365206; }
html[data-theme="light"] .program-topbar { background: #fbfcff; border-color: #e0e4ee; }
html[data-theme="light"] .segmented { background: #eceaf3; border-color: #d9d3e5; }
html[data-theme="light"] .segmented button { color: #5d586d; }
html[data-theme="light"] .segmented button[aria-pressed="true"] { background: #7044ba; color: #fff; }
html[data-theme="light"] .schedule-row { border-color: #e0e4ee; }
html[data-theme="light"] .schedule-time,
html[data-theme="light"] .source-link,
html[data-theme="light"] .venue-content .text-link { color: #63449a; }
html[data-theme="light"] .venue-map { background-color: #e8ebf4; }
html[data-theme="light"] .venue-map:before { background: linear-gradient(0deg, #e8ebf4, transparent 90%); }
html[data-theme="light"] .venue-map i { background: #b6b9cf70; }
html[data-theme="light"] .map-pin { background: linear-gradient(145deg, #8b5bcc, #6540ad); box-shadow: 0 10px 22px #68449d26; }
html[data-theme="light"] .faq-list details { border-color: #dce0ea; }
html[data-theme="light"] .faq-list details[open] summary { color: #5f379e; }
html[data-theme="light"] .faq-list summary:hover { color: #5f379e; }

/* Photos, community and organizer marks stay on a common neutral canvas. */
html[data-theme="light"] .gallery-card { background: #e8ecf5; border-color: #d7deea; }
html[data-theme="light"] .gallery-toggle { background: #fff; border-color: #c7b6dd; color: #603991; }
html[data-theme="light"] .registration-section { background: #f0f2f8; }
html[data-theme="light"] .registration-panel { background: #fff; border-color: #d8dfea; color: #24283d; box-shadow: 0 14px 40px #29365209; }
html[data-theme="light"] .registration-copy>p { color: #555e72; }
html[data-theme="light"] .fp-scene { background: radial-gradient(ellipse at 45% 40%, #dcd4f240, transparent 67%), linear-gradient(135deg, #edf0f8, #f8f9fc); }
html[data-theme="light"] .fp-ground { background: #3c396d24; }
html[data-theme="light"] .organizers-section { background: #f8f9fc; }
html[data-theme="light"] .organizer-card { background: #fff; border-color: #dce0ea; box-shadow: 0 5px 18px #29365206; }
html[data-theme="light"] .organizer-card figcaption { color: #4b5469; background: #fbfcff; border-color: #e2e6ee; }
html[data-theme="light"] .footer { background: #edf0f6; border-color: #dce0ea; }
html[data-theme="light"] .footer-column>span { color: #30364d; font-weight: 600; }
html[data-theme="light"] .social-links,
html[data-theme="light"] .footer-column>a:hover { color: #6239a6; }
html[data-theme="light"] .footer-bottom { font-size: 10px; }

/* Forms and dialogs: explicit boundaries and readable secondary states. */
html[data-theme="light"] dialog { background: #fff; border-color: #d9dfea; box-shadow: 0 28px 90px #24283b40; }
html[data-theme="light"] dialog::backdrop { background: #20283c5c; }
html[data-theme="light"] .dialog-close { color: #55476c; background: #f0edf7; border-color: #d6cee2; }
html[data-theme="light"] .dialog-detail span,
html[data-theme="light"] .dialog-body .text-link { color: #65478c; }
html[data-theme="light"] .dialog-detail>p,
html[data-theme="light"] .dialog-prizes dt { color: #555e72; }
html[data-theme="light"] .dialog-prizes dd { color: #58358b; }
html[data-theme="light"] .photo-stage { background: #edf0f6; }
html[data-theme="light"] .photo-error { color: #4b5267; }
html[data-theme="light"] .mobile-nav a:hover { color: #6239a6; }
html[data-theme="light"] dialog.reg-dialog { background: #fff; border-color: #d7ddea; }
html[data-theme="light"] dialog.reg-dialog::backdrop { background: #20283c5c; }
html[data-theme="light"] .reg-field input,
html[data-theme="light"] .reg-choice,
html[data-theme="light"] .reg-track { background: #fafbfe; border-color: #8992a6; }
html[data-theme="light"] .reg-field input::placeholder { color: #677084; opacity: 1; }
html[data-theme="light"] .reg-field input:focus { border-color: #7b52b9; box-shadow: 0 0 0 4px #7144bd14; }
html[data-theme="light"] .reg-field input[aria-invalid="true"] { border-color: #ad315d; }
html[data-theme="light"] .reg-field-error { color: #a02752; }
html[data-theme="light"] .reg-choice-check,
html[data-theme="light"] .reg-track-check { border-color: #8a91a5; background: #fff; }
html[data-theme="light"] .reg-choice:has(input:checked),
html[data-theme="light"] .reg-track:has(input:checked) { border-color: #8058b8; background: #f0eafa; }
html[data-theme="light"] .reg-choice:has(input:checked) .reg-choice-check,
html[data-theme="light"] .reg-track:has(input:checked) .reg-track-check { color: #fff; border-color: #7044b4; background: #7044b4; }
html[data-theme="light"] .reg-progress-segments .reg-step-current { background: #7044b4; box-shadow: none; }
html[data-theme="light"] .reg-progress-segments .reg-step-complete { background: #7044b4; opacity: .65; }
html[data-theme="light"] .reg-track-symbol { color: #6840aa; background: #eee7f8; border-color: #d6c6ed; }
html[data-theme="light"] .reg-uncertain { background: #f6f2fb; border-color: #c8b2e3; }

@media (max-width: 640px) {
  html[data-theme="light"] .header-inner { box-shadow: 0 5px 18px #242b4610; }
  html[data-theme="light"] .countdown-label { font-size: 9px; }
  html[data-theme="light"] .award-grants:before { width: 4px; }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme="light"] { --glass-bg: #fff; }
  html[data-theme="light"] .process-card { background: #fff; }
}
