/*
 * Xen Summit 2026 — Sched custom theme
 *
 * Paste this entire file into Sched's Custom CSS editor.
 * Category colors and schedule geometry are intentionally left to Sched.
 */

:root {
  --xp-surface-0: #05080e;
  --xp-surface-1: #0b1320;
  --xp-surface-2: #142238;
  --xp-surface-3: #213751;
  --xp-surface-layered-popover: rgb(11 19 32 / 0.91);
  --xp-surface-light: #f3f6fa;
  --xp-surface-light-raised: #ffffff;
  --xp-border-muted: rgb(198 214 235 / 0.14);
  --xp-border-strong: rgb(198 214 235 / 0.30);
  --xp-inner-highlight: inset 0 1px 0 rgb(255 255 255 / 0.07);
  --xp-text-primary: #f7fbff;
  --xp-text-secondary: #c8d4e5;
  --xp-text-muted: #8fa1ba;
  --xp-text-on-light: #111827;
  --xp-text-on-light-muted: #516070;
  --xp-accent-primary: #85c241;
  --xp-accent-primary-strong: #91c84b;
  --xp-accent-primary-active: #6fa832;
  --xp-accent-primary-text: #1e2b0e;
  --xp-accent-primary-soft: rgb(133 194 65 / 0.16);
  --xp-accent-secondary: #4fb3ff;
  --xp-accent-secondary-soft: rgb(79 179 255 / 0.14);
  --xp-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --xp-space-1: 0.25rem;
  --xp-space-2: 0.5rem;
  --xp-space-3: 0.75rem;
  --xp-space-4: 1rem;
  --xp-space-5: 1.5rem;
  --xp-space-6: 2rem;
  --xp-radius-sm: 0.25rem;
  --xp-radius-md: 0.5rem;
  --xp-radius-lg: 0.75rem;
  --xp-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.28), 0 10px 24px rgb(0 0 0 / 0.16), var(--xp-inner-highlight);
  --xp-shadow-md: 0 18px 46px rgb(0 0 0 / 0.38), var(--xp-inner-highlight);
  --xp-motion-fast: 120ms;
  --xp-motion-base: 200ms;
  --xp-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --xp-focus-ring: #5d9a2d;
  --xp-focus-width: 3px;
  --xp-focus-offset: 3px;
}

html {
  background: var(--xp-surface-0);
}

body#schedorg {
  min-height: 100vh;
  color: var(--xp-text-on-light);
  font-family: var(--xp-font-sans);
  background:
    radial-gradient(circle at 50% 7rem, rgb(33 55 81 / 0.72), transparent 34rem),
    var(--xp-surface-0);
}

#schedorg-header {
  color: var(--xp-text-secondary);
  background: rgb(11 19 32 / 0.94);
  border-bottom: 1px solid var(--xp-border-muted);
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.18);
}

#schedorg-header a,
#schedorg-header-official {
  color: var(--xp-text-secondary);
}

#sched-body {
  color: var(--xp-text-on-light);
  background: var(--xp-surface-light);
  border: 0;
  border-radius: var(--xp-radius-lg);
  box-shadow:
    inset 0 0 0 1px var(--xp-border-muted),
    var(--xp-shadow-md);
}

#sched-header-outer {
  background: var(--xp-surface-1);
  border-radius: var(--xp-radius-lg) var(--xp-radius-lg) 0 0;
}

#sched-logo,
#sched-logo a {
  border-radius: var(--xp-radius-md);
}

#sched-body-inner {
  background: var(--xp-surface-light-raised);
}

#sched-content,
#sched-content-inner,
#sched-sidebar {
  color: var(--xp-text-on-light);
}

#sched-sidebar a,
#custom_content a,
#sched-content .sched-event-details a,
#sched-content .list-single__details a,
#sched-content .back-to-schedule {
  color: #0875b9;
  text-decoration-color: rgb(8 117 185 / 0.35);
  text-underline-offset: 0.16em;
}

#sched-sidebar a:hover,
#custom_content a:hover,
#sched-content .sched-event-details a:hover,
#sched-content .list-single__details a:hover,
#sched-content .back-to-schedule:hover {
  color: #075e94;
  text-decoration-color: currentColor;
}

#sched-body .notification-bar {
  color: var(--xp-text-on-light);
  background: var(--xp-surface-light);
  border-color: #d7e0ea;
  border-left-color: var(--xp-accent-primary-active);
  border-radius: var(--xp-radius-md);
}

#sched-body .sc-signup,
#sched-body .sched-button-submit,
#sched-body .button--primary {
  color: var(--xp-accent-primary-text);
  background: var(--xp-accent-primary);
  border-color: var(--xp-accent-primary-active);
  border-radius: var(--xp-radius-sm);
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.16);
}

#sched-body .sc-signup:hover,
#sched-body .sched-button-submit:hover,
#sched-body .button--primary:hover {
  color: var(--xp-accent-primary-text);
  background: var(--xp-accent-primary-strong);
}

#sched-body .sc-login {
  color: var(--xp-text-on-light);
  border-color: #8b98a8;
  border-radius: var(--xp-radius-sm);
}

#sched-body .event-nav,
#sched-body .schedule__header,
#sched-body .schedule__subheader {
  color: var(--xp-text-on-light);
}

#sched-body .event-nav__item > a,
#sched-body .schedule-nav__item > a,
#sched-body .session__view-button,
#sched-body .button--view,
#sched-body .session-filter-button {
  border-radius: var(--xp-radius-sm);
  transition:
    color var(--xp-motion-fast) var(--xp-ease-standard),
    background-color var(--xp-motion-fast) var(--xp-ease-standard),
    border-color var(--xp-motion-fast) var(--xp-ease-standard),
    box-shadow var(--xp-motion-fast) var(--xp-ease-standard);
}

#sched-body .event-nav__item > a:hover,
#sched-body .schedule-nav__item > a:hover,
#sched-body .session__view-button:hover,
#sched-body .session-filter-button:hover {
  color: var(--xp-text-on-light);
  background: var(--xp-accent-primary-soft);
}

#sched-body .event-nav__item > .sched-menu-link-active,
#sched-body .schedule-nav__item > .sched-menu-link-active,
#sched-body .schedule-nav__item.active > a,
#sched-body .session__view-dropdown .active,
#sched-body .session__view-dropdown .active > a,
#sched-body .mobile-menu .dropdown-menu a.sched-menu-link-active {
  color: var(--xp-accent-primary-text);
  background: var(--xp-accent-primary);
  border-color: var(--xp-accent-primary-active);
}

#sched-body .icon--square {
  border-color: #d6dee8;
  border-radius: var(--xp-radius-sm);
}

#sched-body .icon--square:hover {
  color: #075e94;
  background: var(--xp-accent-secondary-soft);
  border-color: rgb(79 179 255 / 0.5);
}

#sched-body .dropdown-menu,
#sched-body .popover,
#sched-body .modal-content {
  color: var(--xp-text-on-light);
  background: var(--xp-surface-light-raised);
  border: 1px solid #cdd7e3;
  border-radius: var(--xp-radius-md);
  box-shadow: var(--xp-shadow-sm);
}

#sched-body .dropdown-menu a:hover,
#sched-body .dropdown-menu .active a {
  color: var(--xp-text-on-light);
  background: var(--xp-accent-primary-soft);
}

#sched-body .sched-sidebar-section,
#sched-sidebar .filters__item {
  background: var(--xp-surface-light-raised);
  border-color: #dce4ed;
  border-radius: var(--xp-radius-md);
}

#sched-sidebar .filters__header,
#sched-sidebar .filters__title {
  color: var(--xp-text-on-light);
}

#sched-body .sched-input,
#sched-body .sched-sidebar-search__input,
#sched-body .select-wrapper,
#sched-body .selectize-input {
  color: var(--xp-text-on-light);
  background: var(--xp-surface-light-raised);
  border-color: #bcc8d6;
  border-radius: var(--xp-radius-sm);
}

#sched-body .sched-input::placeholder,
#sched-body .sched-sidebar-search__input::placeholder {
  color: var(--xp-text-on-light-muted);
}

#sched-body .sched-button,
#sched-body .button:not(.button--primary),
#sched-body .sched-sidebar-search__button {
  color: var(--xp-text-on-light);
  background: var(--xp-surface-light-raised);
  border-color: #c5d0dc;
  border-radius: var(--xp-radius-sm);
}

#sched-body .sched-button:hover,
#sched-body .button:not(.button--primary):hover,
#sched-body .sched-sidebar-search__button:hover {
  color: var(--xp-text-on-light);
  background: #e8eef5;
  border-color: #aab8c8;
}

#sched-body :is(
  a,
  button,
  input,
  select,
  textarea,
  [tabindex]
):focus-visible {
  outline: var(--xp-focus-width) solid var(--xp-focus-ring);
  outline-offset: var(--xp-focus-offset);
}

/* Preserve all Sched category fills: visual refinement only. */
#sched-body .event {
  border-radius: var(--xp-radius-sm);
  box-shadow:
    inset 0 0 0 1px rgb(17 24 39 / 0.14),
    0 1px 2px rgb(17 24 39 / 0.10);
  transition:
    filter var(--xp-motion-fast) var(--xp-ease-standard),
    box-shadow var(--xp-motion-fast) var(--xp-ease-standard);
}

#sched-body .event:hover {
  filter: brightness(0.97) saturate(1.03);
  box-shadow:
    inset 0 0 0 1px rgb(17 24 39 / 0.24),
    0 4px 12px rgb(17 24 39 / 0.16);
}

#sched-body .event .name,
#sched-body .sched-page-grid-event-name {
  color: var(--xp-text-on-light);
  text-decoration: none;
}

#sched-body .sched-container-header,
#sched-body .sched-container-dates,
#sched-body .sched-grid-dates {
  color: var(--xp-text-on-light);
}

.list-expanded #sched-content .sched-container,
.list-single #sched-content .sched-container {
  background: var(--xp-surface-light-raised);
  border-radius: var(--xp-radius-md);
  box-shadow:
    inset 0 0 0 1px #dce4ed,
    0 4px 14px rgb(17 24 39 / 0.07);
}

.list-expanded #sched-content .sched-event-details,
.list-single #sched-content .sched-event-details {
  color: var(--xp-text-on-light);
}

#sched-body .sched-avatar {
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--xp-surface-light-raised), 0 0 0 3px #c8d3df;
}

/* Grid mechanics, coordinates, event sizes, and category colors remain Sched-owned. */
.schedorg-body-grid #sched-body-inner,
.schedorg-body-grid #sched-content,
.schedorg-body-grid .grid-outer,
.schedorg-body-grid .inner-content,
.schedorg-body-grid .panwrapper {
  background: var(--xp-surface-light-raised);
}

.schedorg-body-grid .grid-outer {
  border-color: #d8e1eb;
  border-radius: var(--xp-radius-md);
  box-shadow: 0 4px 14px rgb(17 24 39 / 0.07);
}

.schedorg-body-grid .inner-header,
.schedorg-body-grid .inner-left,
.schedorg-body-grid .sched-page-grid-time,
.schedorg-body-grid .sched-page-grid-venues {
  color: var(--xp-text-on-light-muted);
  background: #edf2f7;
  border-color: #d8e1eb;
}

.schedorg-body-grid .sched-page-grid-session-wrapper {
  border-color: #e2e8f0;
}

.schedorg-body-venues #sched-content .sched-container {
  background: var(--xp-surface-light-raised);
  border-radius: var(--xp-radius-md);
  box-shadow:
    inset 0 0 0 1px #dce4ed,
    0 3px 12px rgb(17 24 39 / 0.06);
}

.schedorg-body-event .list-single__header,
.schedorg-body-event .sched-event-details-container {
  color: var(--xp-text-on-light);
}

#custom_content {
  color: var(--xp-text-on-light);
}

#custom_content h1,
#custom_content h2,
#custom_content h3 {
  color: var(--xp-text-on-light);
  font-weight: 700;
  letter-spacing: -0.015em;
}

#footer-external {
  color: var(--xp-text-secondary);
  background: var(--xp-surface-1);
  border-top: 1px solid var(--xp-border-muted);
}

#footer-external .footer,
#footer-external .footer__top,
#footer-external .footer__middle,
#footer-external .footer__bottom {
  color: var(--xp-text-secondary);
  background: transparent;
}

#footer-external a {
  color: var(--xp-accent-secondary);
}

#footer-external a:hover {
  color: #8bcfff;
}

@media (max-width: 991px) {
  #sched-body {
    box-shadow: 0 12px 34px rgb(0 0 0 / 0.25);
  }

  #sched-sidebar {
    border-top: 1px solid #dbe3ec;
  }
}

@media (max-width: 701px) {
  body#schedorg {
    background: var(--xp-surface-0);
  }

  #sched-body {
    border-radius: var(--xp-radius-md);
  }

  #sched-header-outer {
    border-radius: var(--xp-radius-md) var(--xp-radius-md) 0 0;
  }

  #sched-body .notification-bar {
    margin-right: var(--xp-space-2);
    margin-left: var(--xp-space-2);
  }

  #sched-body .event-nav,
  #sched-body .schedule__header-container {
    padding-right: var(--xp-space-3);
    padding-left: var(--xp-space-3);
  }

  #sched-body .button,
  #sched-body .sched-button,
  #sched-body .sched-input,
  #sched-body .sched-sidebar-search__input {
    min-height: 2.5rem;
  }

  #footer-external {
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  #sched-body *,
  #sched-body *::before,
  #sched-body *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}