/* ConCourse appearance modes
   Night preserves the established navy identity. Day is a complete,
   high-contrast light-blue system rather than a simple background swap. */

:root {
  --theme-control-height: 40px;
  --theme-control-width: 142px;
}

/* The symbol has separate artwork for dark and light surfaces. */
.brand-mark {
  position: relative;
  display: block;
}

.brand-mark-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  pointer-events: none;
}

.brand-mark-day {
  display: none;
}

html[data-theme="day"] .brand-mark-night {
  display: none;
}

html[data-theme="day"] .brand-mark-day {
  display: block;
}

/* Appearance selector ----------------------------------------------------- */

.theme-control {
  position: relative;
  isolation: isolate;
  width: var(--theme-control-width);
  height: var(--theme-control-height);
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 3px;
  overflow: hidden;
  color: rgba(229, 240, 249, .72);
  background: rgba(255, 255, 255, .055);
  border: 1px solid rgba(205, 226, 246, .18);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.theme-control::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 3px;
  bottom: 3px;
  left: 3px;
  width: calc(50% - 3px);
  border-radius: 999px;
  background: linear-gradient(145deg, #f8d993, #efc36a);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .55);
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1), background .25s ease, box-shadow .25s ease;
}

html[data-theme="day"] .theme-control::before {
  background: linear-gradient(145deg, #ffffff, #d8efff);
  box-shadow: 0 5px 15px rgba(6, 48, 82, .13), inset 0 1px 0 rgba(255, 255, 255, .9);
  transform: translateX(0);
}

.theme-option {
  min-width: 0;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 7px;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  font-size: 10.5px;
  font-weight: 760;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: color .2s ease;
}

.theme-option:hover {
  color: #fff;
  background: transparent;
  filter: none;
  transform: none;
}

.theme-option[aria-pressed="true"] {
  color: #071a2e;
}

.theme-option:focus-visible {
  outline: 3px solid rgba(139, 216, 255, .72);
  outline-offset: 3px;
}

.theme-symbol {
  position: relative;
  width: 12px;
  height: 12px;
  flex: none;
  display: block;
}

.theme-symbol-day {
  border: 1.6px solid currentColor;
  border-radius: 50%;
  transform: scale(.68);
  box-shadow:
    0 -7px 0 -5.5px currentColor,
    0 7px 0 -5.5px currentColor,
    7px 0 0 -5.5px currentColor,
    -7px 0 0 -5.5px currentColor,
    5px 5px 0 -5.5px currentColor,
    -5px 5px 0 -5.5px currentColor,
    5px -5px 0 -5.5px currentColor,
    -5px -5px 0 -5.5px currentColor;
}

.theme-symbol-day::after {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background: currentColor;
}

.theme-symbol-night {
  border-radius: 50%;
  background: currentColor;
}

.theme-symbol-night::after {
  content: "";
  position: absolute;
  top: -2px;
  left: 4px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #0a2038;
}

html[data-theme="day"] .theme-symbol-night::after {
  background: #dcecf7;
}

/* High-contrast Day palette ---------------------------------------------- */

html[data-theme="day"] {
  color-scheme: light;
  background: #dcecf7;

  --day-canvas: #dcecf7;
  --day-canvas-strong: #c9e1f2;
  --day-surface: #f8fcff;
  --day-surface-soft: #eaf4fb;
  --day-surface-warm: #fff9ea;
  --day-ink: #061526;
  --day-ink-soft: #29445e;
  --day-muted: #49657d;
  --day-line: rgba(6, 21, 38, .18);
  --day-line-strong: #6d8da6;
  --day-blue: #174dbf;
  --day-blue-hover: #103f9f;
  --day-cyan-text: #0b6494;
  --day-cyan: #8bd8ff;
  --day-gold: #efc36a;
  --day-gold-text: #7a4d00;

  --bg: var(--day-canvas);
  --panel: var(--day-surface);
  --panel-2: var(--day-surface-soft);
  --border: var(--day-line);
  --text: var(--day-ink);
  --ink: var(--day-ink);
  --ink-soft: var(--day-ink-soft);
  --muted: var(--day-muted);
  --muted-2: var(--day-muted);
  --accent: var(--day-blue);
  --accent-2: var(--day-cyan-text);
  --line-light: var(--day-line);
  --line-strong: rgba(6, 21, 38, .3);

  --hub-ink: var(--day-ink);
  --hub-ink-soft: var(--day-ink-soft);
  --hub-blue: var(--day-blue);
  --hub-blue-deep: var(--day-blue-hover);
  --hub-surface: rgba(248, 252, 255, .97);
  --hub-surface-solid: var(--day-surface);
  --hub-surface-muted: var(--day-surface-soft);
  --hub-line: var(--day-line);
  --hub-line-strong: rgba(6, 21, 38, .28);
  --hub-editorial-paper: var(--day-surface-soft);
  --hub-editorial-paper-bright: var(--day-surface);
  --hub-editorial-ink: var(--day-ink);
  --hub-editorial-muted: var(--day-muted);
  --hub-editorial-line: var(--day-line);

  --market-ink: var(--day-ink);
  --market-ink-soft: var(--day-ink-soft);
  --market-muted: var(--day-muted);
  --market-line: var(--day-line);
  --market-line-strong: rgba(6, 21, 38, .3);
  --market-surface: var(--day-surface);
  --market-surface-soft: var(--day-surface-soft);

  --cc-control-navy: var(--day-blue);
  --cc-control-navy-hover: var(--day-blue-hover);
  --cc-control-navy-pressed: #0a327f;
  --cc-control-paper: var(--day-surface);
  --cc-control-paper-soft: var(--day-surface-soft);
  --cc-control-border: var(--day-line);
  --cc-control-border-strong: var(--day-line-strong);
  --cc-island-border: var(--day-line);
  --cc-island-shadow: 0 22px 64px rgba(6, 48, 82, .12);
}

html[data-theme="day"] body,
html[data-theme="day"] body.app-active:not(.schedule-active):not(.hub-active),
html[data-theme="day"] body.schedule-active,
html[data-theme="day"] body.hub-active {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 82% 3%, rgba(79, 178, 235, .23), transparent 34rem),
    radial-gradient(circle at 5% 78%, rgba(255, 255, 255, .74), transparent 32rem),
    linear-gradient(145deg, #eaf7ff 0%, var(--day-canvas) 54%, #cfe6f5 100%);
}

html[data-theme="day"] body::before {
  background-image:
    linear-gradient(rgba(11, 100, 148, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 100, 148, .045) 1px, transparent 1px);
}

html[data-theme="day"] :where(h1, h2, h3, h4, strong, b) {
  color: var(--day-ink);
}

html[data-theme="day"] :where(input, select, textarea) {
  color-scheme: light;
}

html[data-theme="day"] :where(input, textarea)::placeholder {
  color: var(--day-muted);
  opacity: 1;
}

html[data-theme="day"] :where(
  button,
  [role="button"],
  .btn-primary,
  .btn-ghost,
  .primary-navigation-button
) :is(b, strong) {
  color: inherit;
}

html[data-theme="day"] :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline-color: rgba(11, 92, 173, .58);
}

/* Day landing and persistent masthead ------------------------------------ */

html[data-theme="day"] body:not(.app-active) {
  background: var(--day-canvas);
}

html[data-theme="day"] body:not(.app-active) #landingScreen {
  background:
    radial-gradient(ellipse 76% 64% at 76% 42%, rgba(72, 164, 224, .24), transparent 67%),
    radial-gradient(circle at 72% 7%, rgba(255, 255, 255, .92), transparent 31rem),
    radial-gradient(circle at 12% 89%, rgba(23, 77, 191, .1), transparent 29rem),
    linear-gradient(132deg, #f4fbff 0%, #deeffa 42%, #cce6f7 72%, #e8f6ff 100%);
}

html[data-theme="day"] .landing-cinema {
  opacity: .5;
  mix-blend-mode: multiply;
  background:
    radial-gradient(circle at 72% 28%, rgba(122, 77, 0, .2) 0 1px, transparent 2px),
    radial-gradient(circle at 17% 31%, rgba(23, 77, 191, .2) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 72%, rgba(11, 100, 148, .18) 0 1px, transparent 2px),
    linear-gradient(112deg, transparent 25%, rgba(23, 77, 191, .03) 46%, rgba(255, 255, 255, .74) 50%, rgba(23, 77, 191, .03) 55%, transparent 74%);
  background-size: 310px 270px, 410px 350px, 370px 420px, 100% 100%;
}

html[data-theme="day"] #landingScreen .brand-name,
html[data-theme="day"] #landingScreen .brand-name .bn-a,
html[data-theme="day"] #landingScreen .brand-name .bn-b {
  color: var(--day-ink);
}

html[data-theme="day"] #landingScreen .brand-tag {
  color: var(--day-muted);
}

html[data-theme="day"] #landingScreen .auth-user {
  color: var(--day-ink-soft);
}

html[data-theme="day"] #landingScreen .auth-academic {
  color: var(--day-cyan-text);
}

html[data-theme="day"] #landingScreen .hero-copy h1,
html[data-theme="day"] #landingScreen .hero-copy h1 span {
  color: var(--day-ink);
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}

html[data-theme="day"] #landingScreen .hero-copy h1 span {
  color: var(--day-blue);
}

html[data-theme="day"] #landingScreen .hero-copy > p,
html[data-theme="day"] #landingScreen .start-hint {
  color: var(--day-ink-soft);
}

html[data-theme="day"] #landingScreen .hero-copy::before {
  background: linear-gradient(90deg, var(--day-blue), var(--day-cyan-text), var(--day-gold));
}

html[data-theme="day"] #landingScreen .hero-copy::after {
  border-color: rgba(23, 77, 191, .18);
  box-shadow: inset 0 0 54px rgba(255, 255, 255, .35);
}

html[data-theme="day"] #landingScreen .start-app-btn {
  color: #fff;
  background: linear-gradient(135deg, var(--day-blue), #0b6494);
  border-color: rgba(255, 255, 255, .5);
  box-shadow: 0 16px 34px rgba(23, 77, 191, .23);
}

html[data-theme="day"] #landingScreen .hero-art {
  filter: drop-shadow(0 28px 62px rgba(28, 78, 117, .2));
}

html[data-theme="day"] body.app-active #landingScreen {
  border-bottom: 1px solid rgba(6, 21, 38, .13);
  background: linear-gradient(180deg, rgba(240, 249, 255, .97), rgba(218, 238, 251, .94));
  box-shadow: 0 12px 38px rgba(6, 48, 82, .1);
}

html[data-theme="day"] body.app-active #landingScreen .primary-navigation-button {
  color: var(--day-muted);
}

html[data-theme="day"] body.app-active #landingScreen .primary-navigation-button:hover:not(:disabled),
html[data-theme="day"] body.app-active #landingScreen .primary-navigation-button[aria-current="page"] {
  color: var(--day-ink);
}

html[data-theme="day"] body.app-active #landingScreen .primary-navigation-button::after {
  background: var(--day-blue);
}

html[data-theme="day"] #landingScreen .auth-bar :is(.btn-primary, .btn-ghost),
html[data-theme="day"] body.app-active #landingScreen #signOutBtn {
  color: var(--day-ink-soft);
}

html[data-theme="day"] #landingScreen .auth-bar .btn-primary {
  color: var(--day-blue);
}

html[data-theme="day"] #landingScreen .auth-bar :is(.btn-primary, .btn-ghost):hover {
  color: var(--day-ink);
  box-shadow: inset 0 -2px 0 var(--day-blue);
}

html[data-theme="day"] #landingScreen .language-control,
html[data-theme="day"] body.app-active #landingScreen .language-control {
  color: var(--day-ink-soft);
}

html[data-theme="day"] #landingScreen .language-control::after {
  background: rgba(23, 77, 191, .35);
}

html[data-theme="day"] #landingScreen .language-control:hover,
html[data-theme="day"] #landingScreen .language-control:focus-within,
html[data-theme="day"] #landingScreen .language-select,
html[data-theme="day"] #landingScreen .language-chevron {
  color: var(--day-ink);
}

html[data-theme="day"] #landingScreen .language-icon {
  color: #fff;
  background: linear-gradient(145deg, var(--day-blue), #0b6494);
}

html[data-theme="day"] .theme-control {
  color: var(--day-muted);
  background: rgba(159, 198, 223, .28);
  border-color: rgba(6, 21, 38, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62);
}

html[data-theme="day"] .theme-option:hover {
  color: var(--day-ink);
}

/* Day planner and timetable ---------------------------------------------- */

html[data-theme="day"] body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav {
  color: var(--day-ink);
  background: rgba(248, 252, 255, .92);
  border-color: var(--day-line);
  box-shadow: 0 14px 34px rgba(6, 48, 82, .1);
}

html[data-theme="day"] body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel,
html[data-theme="day"] .schedule-page #timetablePanel {
  color: var(--day-ink);
  background: linear-gradient(145deg, rgba(248, 252, 255, .98), rgba(234, 244, 251, .97));
  border-color: var(--day-line);
  box-shadow: 0 24px 64px rgba(6, 48, 82, .11);
}

html[data-theme="day"] body.app-active:not(.schedule-active):not(.hub-active) #wishlistPanel {
  color: var(--day-ink);
  background: radial-gradient(ellipse 104% 96% at 48% 46%,
    rgba(248, 252, 255, .99) 0 58%,
    rgba(218, 238, 251, .96) 76%,
    rgba(201, 225, 242, .32) 93%,
    transparent 100%);
}

html[data-theme="day"] #wishlistPanel :is(
  .wishlist-header h2,
  .wishlist-header p,
  .course-title,
  .sec-line,
  .wishlist-profile,
  .wishlist-profile b,
  .wishlist-profile span
) {
  color: var(--day-ink) !important;
}

html[data-theme="day"] #wishlistPanel :is(.wishlist-header p, .sec-line, .wishlist-profile span) {
  color: var(--day-muted) !important;
}

html[data-theme="day"] #wishlistPanel .wishlist-profile {
  border-block-color: var(--day-line);
}

html[data-theme="day"] #wishlistPanel .wishlist-header {
  border-color: var(--day-line);
}

html[data-theme="day"] #wishlistPanel .wishlist-profile-title {
  color: var(--day-cyan-text) !important;
}

html[data-theme="day"] #wishlistPanel .wishlist-profile :is(label, .wishlist-profile-note) {
  color: var(--day-muted) !important;
}

html[data-theme="day"] #wishlistPanel #courseList > .empty-note {
  color: var(--day-muted) !important;
  background:
    linear-gradient(rgba(248, 252, 255, .72), rgba(248, 252, 255, .72)),
    repeating-linear-gradient(90deg, transparent 0 19%, rgba(11, 100, 148, .07) 19% calc(19% + 1px)),
    repeating-linear-gradient(0deg, transparent 0 68px, rgba(11, 100, 148, .07) 68px 69px);
  border-color: var(--day-line) !important;
}

html[data-theme="day"] #wishlistPanel .wishlist-toolbar {
  border-top-color: var(--day-line);
}

html[data-theme="day"] #wishlistPanel .wishlist-toolbar .btn-ghost {
  color: var(--day-ink-soft);
  background: rgba(248, 252, 255, .72);
  border-color: var(--day-line);
}

html[data-theme="day"] :where(
  .configurator-column input,
  .configurator-column select,
  .configurator-column textarea,
  .auth-card input,
  .auth-card select,
  .auth-card textarea,
  .schedule-page select
) {
  color: var(--day-ink);
  background-color: var(--day-surface);
  border-color: rgba(41, 68, 94, .34);
}

html[data-theme="day"] body.schedule-active #schedulePage #timetablePanel {
  background: linear-gradient(90deg,
    transparent 0,
    rgba(234, 244, 251, .88) 3%,
    rgba(248, 252, 255, .99) 9%,
    rgba(248, 252, 255, .99) 91%,
    rgba(218, 238, 251, .86) 97%,
    transparent 100%);
}

html[data-theme="day"] body.schedule-active .final-timetable-bar {
  color: var(--day-ink);
  background: radial-gradient(ellipse 96% 92% at center,
    rgba(248, 252, 255, .99) 0 58%,
    rgba(218, 238, 251, .95) 77%,
    rgba(201, 225, 242, .25) 94%,
    transparent 100%);
}

html[data-theme="day"] body.schedule-active .final-timetable-bar :is(b, span) {
  color: var(--day-ink);
}

html[data-theme="day"] body.schedule-active .final-timetable-bar span {
  color: var(--day-muted);
}

html[data-theme="day"] body.schedule-active .final-timetable-bar .btn-ghost {
  color: #fff;
  background: var(--day-blue);
  border-color: var(--day-blue);
}

html[data-theme="day"] #schedulePage :is(.stat, .color-bar, .alt-list) {
  border-color: var(--day-line);
}

html[data-theme="day"] #schedulePage :is(.stat b, .alt-btn.active, .alt-btn[aria-pressed="true"]) {
  color: var(--day-ink);
}

html[data-theme="day"] #schedulePage .calendar-days {
  background: linear-gradient(var(--day-surface) 72%, rgba(248, 252, 255, 0));
}

/* Day Student Hub -------------------------------------------------------- */

html[data-theme="day"] .member-hub {
  color: var(--day-ink);
}

html[data-theme="day"] .member-hub .hub-sidebar {
  color: var(--day-ink);
  background: transparent !important;
  box-shadow: inset 0 -1px 0 var(--day-line) !important;
}

html[data-theme="day"] .member-hub .hub-member-copy b,
html[data-theme="day"] .member-hub .hub-profile-shortcut {
  color: var(--day-ink);
}

html[data-theme="day"] .member-hub .hub-member-copy span {
  color: var(--day-muted);
}

html[data-theme="day"] .member-hub .hub-navigation {
  color: var(--day-muted);
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--day-line) !important;
  border-radius: 0 !important;
}

html[data-theme="day"] .member-hub .hub-sidebar .hub-back-button {
  color: var(--day-blue);
  background: rgba(248, 252, 255, .68);
  border-color: var(--day-line);
}

html[data-theme="day"] .member-hub .hub-sidebar .hub-back-button:hover {
  color: var(--day-blue-hover);
  background: var(--day-surface);
  border-color: rgba(23, 77, 191, .38);
}

html[data-theme="day"] .member-hub .hub-nav-button,
html[data-theme="day"] .member-hub .hub-nav-button span {
  color: var(--day-muted);
}

html[data-theme="day"] .member-hub .hub-nav-button b {
  color: inherit;
}

html[data-theme="day"] .member-hub .hub-nav-button:hover {
  color: var(--day-ink);
  background: rgba(23, 77, 191, .06);
}

html[data-theme="day"] .member-hub .hub-nav-button.active {
  color: var(--day-blue);
  background: transparent;
  border-color: transparent;
  box-shadow: inset 0 -3px 0 var(--day-blue);
}

html[data-theme="day"] .member-hub .hub-nav-button.active span {
  color: var(--day-blue);
}

html[data-theme="day"] .member-hub .hub-page-header {
  border-color: var(--day-line);
  background-image:
    linear-gradient(90deg, rgba(243, 250, 255, .99) 0%, rgba(226, 241, 251, .94) 44%, rgba(222, 239, 250, .46) 100%),
    url("concourse-course-odyssey.webp");
  box-shadow: 0 25px 68px rgba(6, 48, 82, .13);
}

html[data-theme="day"] .member-hub .hub-page-header :is(h1, h2, h3, p, .hub-kicker) {
  color: var(--day-ink);
  text-shadow: none;
}

html[data-theme="day"] .member-hub .hub-page-header p {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .member-hub :is(
  .hub-view,
  .hub-card,
  .hub-community-stream,
  .hub-community-discovery,
  .hub-compose-card,
  .hub-feed-toolbar,
  .hub-post-card,
  .hub-message-panel,
  .hub-conversation-list,
  .hub-profile-panel,
  .hub-profile-card,
  .hub-chart,
  .hub-final-course-panel
) {
  color: var(--day-ink);
}

html[data-theme="day"] .member-hub :is(
  .hub-community-stream,
  .hub-message-panel,
  .hub-conversation-list,
  .hub-profile-panel,
  .hub-profile-card
) {
  background-color: rgba(248, 252, 255, .74);
  border-color: var(--day-line);
}

html[data-theme="day"] .member-hub :is(
  .hub-community-stream,
  .hub-community-discovery,
  .hub-compose-card,
  .hub-feed-toolbar,
  .hub-post-card
) {
  background-image: linear-gradient(145deg, rgba(248, 252, 255, .92), rgba(234, 244, 251, .82));
}

html[data-theme="day"] .member-hub :is(
  .hub-post-card,
  .hub-comment,
  .hub-conversation-button,
  .hub-message-bubble,
  .hub-profile-section,
  .hub-saved-post
) {
  border-color: var(--day-line);
}

html[data-theme="day"] .member-hub :is(
  input,
  select,
  textarea,
  .hub-search-field,
  .hub-compose-body
) {
  color: var(--day-ink);
  color-scheme: light;
  background-color: rgba(248, 252, 255, .94);
  border-color: rgba(41, 68, 94, .34);
}

html[data-theme="day"] .member-hub :is(input, textarea)::placeholder {
  color: var(--day-muted);
  opacity: 1;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-compose-card textarea::placeholder,
html[data-theme="day"] .member-hub #chatMessageInput::placeholder,
html[data-theme="day"] .member-hub .hub-comment-form input::placeholder {
  color: var(--day-muted) !important;
  -webkit-text-fill-color: var(--day-muted) !important;
  opacity: 1;
}

html[data-theme="day"] .member-hub .hub-community-rail {
  color: var(--day-ink) !important;
  background:
    radial-gradient(circle at 95% 7%, rgba(79, 178, 235, .17), transparent 22rem),
    linear-gradient(150deg, rgba(248, 252, 255, .98), rgba(210, 234, 249, .94)) !important;
  border-color: var(--day-line) !important;
  box-shadow: inset 1px 0 0 rgba(6, 48, 82, .08), 0 22px 58px rgba(6, 48, 82, .1) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-card,
html[data-theme="day"] .member-hub[data-active-view="community"] .hub-community-rail > :not(.hub-rail-links) {
  color: var(--day-ink);
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-link {
  color: var(--day-ink-soft);
  border-bottom-color: var(--day-line);
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-link:hover,
html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-link.active,
html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-link[aria-pressed="true"] {
  color: var(--day-blue);
  background: linear-gradient(90deg, rgba(23, 77, 191, .08), transparent 80%);
  border-bottom-color: rgba(23, 77, 191, .34);
}

html[data-theme="day"] .member-hub[data-active-view="community"] :is(
  .hub-rail-profile-row b,
  .hub-rail-heading h3,
  .hub-rail-link b,
  .hub-conversation-preview-button b
) {
  color: var(--day-ink) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] :is(
  .hub-rail-profile-row span,
  .hub-profile-progress > span,
  .hub-rail-link small,
  .hub-conversation-preview-empty,
  .hub-conversation-preview-button small
) {
  color: var(--day-muted) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-profile-progress strong {
  color: var(--day-gold-text) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-profile-progress > div {
  background: var(--day-line) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-conversation-preview-button {
  color: var(--day-ink-soft) !important;
  border-bottom-color: var(--day-line) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] :is(
  .hub-rail-profile > .btn-ghost,
  .hub-rail-action
) {
  color: var(--day-blue) !important;
  border-bottom-color: rgba(23, 77, 191, .38) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] :is(
  .hub-rail-profile > .btn-ghost,
  .hub-rail-action
):is(:hover, :focus-visible) {
  color: var(--day-blue-hover) !important;
  border-bottom-color: var(--day-blue) !important;
}

html[data-theme="day"] .member-hub[data-active-view="community"] .hub-rail-link:is(
  :hover,
  .active,
  [aria-pressed="true"]
) :is(b, small) {
  color: var(--day-blue) !important;
}

html[data-theme="day"] .member-hub .hub-conversation-button.active :is(b, strong) {
  color: #fff !important;
}

html[data-theme="day"] .hub-insight-controls,
html[data-theme="day"] .hub-final-overview {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 88% 8%, rgba(79, 178, 235, .16), transparent 34%),
    linear-gradient(150deg, #f7fcff, #dcecf7 72%);
  box-shadow: 0 20px 52px rgba(6, 48, 82, .12);
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row label > span,
html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat span {
  color: var(--day-muted);
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat,
html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat b {
  color: var(--day-ink);
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-final-summary,
html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat {
  border-color: var(--day-line);
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select {
  color: var(--day-ink) !important;
  color-scheme: light;
  background-color: var(--day-surface) !important;
  border-color: var(--day-line-strong) !important;
  box-shadow: inset 0 1px 4px rgba(6, 48, 82, .06) !important;
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select:is(:hover, :focus) {
  color: var(--day-ink) !important;
  background-color: #fff !important;
  border-color: var(--day-blue) !important;
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select:disabled {
  color: var(--day-muted) !important;
  background-color: var(--day-surface-soft) !important;
}

html[data-theme="day"] .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select option {
  color: var(--day-ink);
  background: #fff;
}

/* Day Campus Market ------------------------------------------------------ */

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-catalogue {
  color: var(--day-ink);
  background: linear-gradient(90deg,
    transparent 0,
    rgba(218, 238, 251, .76) 3%,
    rgba(248, 252, 255, .985) 10% 90%,
    rgba(218, 238, 251, .72) 97%,
    transparent 100%) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-catalogue[data-empty="true"] {
  color: var(--day-ink);
  background: radial-gradient(ellipse 48% 62% at 42% 48%, rgba(79, 178, 235, .13), transparent 74%) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-catalogue[data-empty="true"] .market-results-heading h2,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-empty-content h3,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-feed-error strong {
  color: var(--day-ink) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-catalogue[data-empty="true"] .market-results-heading span,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-empty,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-empty-content p,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-loading,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .marketplace-feed-error {
  color: var(--day-muted);
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail {
  color: var(--day-ink-soft);
  border-left-color: var(--day-line) !important;
  border-top-color: var(--day-line) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail-card {
  color: var(--day-ink-soft);
  border-bottom-color: var(--day-line) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail-eyebrow {
  color: var(--day-gold-text) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail-card:first-child :where(h2, h3, b),
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-policy-title,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-protection-steps > li b {
  color: var(--day-ink) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail-card:first-child :where(p, span, li),
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-policy-card p,
html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-protection-steps > li span {
  color: var(--day-muted) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] :is(
  .market-mode-tabs,
  .market-trust-strip,
  .market-scope-description
) {
  color: var(--day-muted) !important;
  border-color: var(--day-line) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] :is(
  .market-mode-tabs > button,
  .market-scope-button
) {
  color: var(--day-muted) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] :is(
  .market-mode-tabs > button,
  .market-scope-button
):is(:hover, .active, [aria-selected="true"], [aria-pressed="true"]) {
  color: var(--day-blue) !important;
  background: rgba(23, 77, 191, .07) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-trust-strip b {
  color: var(--day-cyan-text) !important;
}

html[data-theme="day"] .member-hub[data-active-view="marketplace"] .hub-marketplace-action.secondary {
  color: var(--day-blue) !important;
  border-bottom-color: rgba(23, 77, 191, .38) !important;
}

html[data-theme="day"] .member-hub :is(
  .market-discovery-bar,
  .marketplace-card,
  .marketplace-dialog,
  .marketplace-modal-dialog,
  .marketplace-order-card
) {
  color: var(--day-ink);
  background-color: var(--day-surface);
  border-color: var(--day-line);
}

/* Day Academic Tools ----------------------------------------------------- */

html[data-theme="day"] .academic-tools-view {
  --tools-sky: var(--day-cyan-text);
  --tools-gold: var(--day-gold-text);
  --tools-paper: #fffdf8;
  --tools-ink: var(--day-ink);
  --tools-line: var(--day-line);
  --tools-muted: var(--day-muted);
  color: var(--day-ink);
}

html[data-theme="day"] .academic-tools-intro h2,
html[data-theme="day"] .academic-tools-view :is(.citation-section legend, .citation-section-title) {
  color: var(--day-ink);
}

html[data-theme="day"] .academic-tools-intro p,
html[data-theme="day"] .academic-tools-local-note {
  color: var(--day-muted);
}

html[data-theme="day"] .citation-editor {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 92% 4%, rgba(79, 178, 235, .16), transparent 30%),
    linear-gradient(145deg, #f8fcff, #deeffa 74%);
  border-color: rgba(23, 77, 191, .24);
  box-shadow: 0 26px 64px rgba(6, 48, 82, .13), inset 0 1px 0 #fff;
}

html[data-theme="day"] .citation-choice-rail {
  background: rgba(201, 225, 242, .58);
  border-color: var(--day-line);
  box-shadow: inset 0 1px 7px rgba(6, 48, 82, .08);
}

html[data-theme="day"] .citation-choice span {
  color: var(--day-ink-soft);
  box-shadow: none;
}

html[data-theme="day"] .citation-choice input:checked + span {
  color: #fff;
  background: var(--day-blue);
  border-color: var(--day-blue);
}

html[data-theme="day"] .citation-mode-choice > span,
html[data-theme="day"] .citation-automatic-panel,
html[data-theme="day"] .citation-search-result,
html[data-theme="day"] .citation-search-card {
  color: var(--day-ink-soft);
  background: linear-gradient(145deg, rgba(248, 252, 255, .95), rgba(225, 240, 250, .94));
  border-color: var(--day-line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

html[data-theme="day"] .citation-mode-choice b,
html[data-theme="day"] .citation-search-results-head h3,
html[data-theme="day"] .citation-search-title,
html[data-theme="day"] .citation-search-result-title {
  color: var(--day-ink);
}

html[data-theme="day"] .citation-mode-choice small,
html[data-theme="day"] .citation-lookup-status,
html[data-theme="day"] .citation-lookup-note,
html[data-theme="day"] .citation-search-byline,
html[data-theme="day"] .citation-search-meta,
html[data-theme="day"] .citation-search-result-byline,
html[data-theme="day"] .citation-search-description,
html[data-theme="day"] .citation-search-result-description {
  color: var(--day-muted);
}

html[data-theme="day"] .citation-mode-choice input:checked + span {
  color: var(--day-ink);
  background: linear-gradient(145deg, #eef9ff, #cfe8f8);
  border-color: var(--day-blue);
  box-shadow: inset 0 -3px 0 var(--day-blue), 0 12px 26px rgba(6, 48, 82, .1);
}

html[data-theme="day"] .academic-tools-view :is(input, select, textarea),
html[data-theme="day"] .citation-field :is(input, select, textarea) {
  color: var(--day-ink);
  color-scheme: light;
  background: var(--day-surface);
  border-color: var(--day-line-strong);
  box-shadow: inset 0 1px 4px rgba(6, 48, 82, .05);
}

html[data-theme="day"] .citation-field :is(input, select, textarea):hover,
html[data-theme="day"] .citation-field :is(input, select, textarea):focus {
  color: var(--day-ink);
  background: #fff;
  border-color: var(--day-blue);
}

html[data-theme="day"] .citation-field :is(input, textarea)::placeholder {
  color: var(--day-muted);
  opacity: 1;
}

html[data-theme="day"] .citation-field small {
  color: var(--day-muted);
}

html[data-theme="day"] .citation-field > :is(span, label) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .citation-lookup-status {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .citation-lookup-status.loading {
  color: var(--day-cyan-text);
}

html[data-theme="day"] .citation-lookup-status.success {
  color: #17643d;
}

html[data-theme="day"] .citation-lookup-status.warning {
  color: var(--day-gold-text);
}

html[data-theme="day"] .citation-lookup-status.error {
  color: #9e2639;
}

html[data-theme="day"] .citation-search-results-count {
  color: var(--day-blue);
  background: rgba(23, 77, 191, .08);
  border-color: rgba(23, 77, 191, .22);
}

html[data-theme="day"] .citation-search-result-badge {
  color: var(--day-gold-text);
  background: rgba(239, 195, 106, .24);
  border-color: rgba(122, 77, 0, .3);
}

html[data-theme="day"] :is(.citation-search-url, .citation-search-result-url) {
  color: var(--day-blue);
}

html[data-theme="day"] .citation-search-result-url:is(:hover, :focus-visible) {
  color: var(--day-blue-hover);
}

html[data-theme="day"] .citation-search-message {
  color: var(--day-ink-soft);
  background: rgba(23, 77, 191, .055);
  border-color: rgba(23, 77, 191, .2);
}

html[data-theme="day"] .citation-search-message.error {
  color: #8f2435;
  background: #fff0f2;
  border-color: rgba(143, 36, 53, .32);
}

html[data-theme="day"] .citation-search-attribution {
  color: var(--day-muted);
}

html[data-theme="day"] .citation-search-skeleton-card {
  background: rgba(218, 238, 251, .76);
  border-color: var(--day-line);
}

html[data-theme="day"] .citation-search-skeleton-line {
  background: linear-gradient(90deg, rgba(23, 77, 191, .07), rgba(23, 77, 191, .2), rgba(23, 77, 191, .07));
  background-size: 220% 100%;
}

html[data-theme="day"] .citation-preview {
  color: #071a2e;
  background: #fffdf8;
  border-color: rgba(6, 21, 38, .18);
}

html[data-theme="day"] .academic-tools-view .academic-tool-button:not(.primary) {
  color: var(--day-blue);
  background: rgba(248, 252, 255, .72);
  border-color: rgba(23, 77, 191, .34);
}

html[data-theme="day"] .academic-tools-view .academic-tool-button:not(.primary):hover {
  color: var(--day-blue-hover);
  background: rgba(23, 77, 191, .08);
  border-color: var(--day-blue);
}

html[data-theme="day"] :is(
  .citation-search-actions,
  .citation-search-result-actions
) .academic-tool-button {
  color: var(--day-ink);
  background: var(--day-gold);
  border-color: var(--day-gold);
}

html[data-theme="day"] .citation-preview .academic-tool-button:not(.primary) {
  color: #0a2944;
  background: transparent;
  border-color: rgba(7, 26, 46, .24);
}

html[data-theme="day"] .citation-preview .academic-tool-button:not(.primary):hover {
  color: #0a2944;
  background: rgba(7, 26, 46, .06);
  border-color: rgba(7, 26, 46, .4);
}

html[data-theme="day"] :is(
  .citation-library-head h2,
  .citation-library-entry,
  .citation-style-compass > h2
) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(
  .citation-library-empty,
  .citation-style-guide p,
  .citation-disclaimer,
  .citation-formatting-note
) {
  color: var(--day-muted);
}

html[data-theme="day"] :is(.citation-library, .citation-library-item, .citation-style-compass) {
  border-color: var(--day-line);
}

html[data-theme="day"] .citation-library-remove {
  color: var(--day-muted);
}

html[data-theme="day"] .citation-library-remove:hover {
  color: #8f2435;
}

/* Day dialogs, overlays and status surfaces ------------------------------ */

html[data-theme="day"] :is(
  .auth-card,
  .hub-profile-dialog,
  .hub-profile-preview,
  .hub-action-dialog,
  .marketplace-dialog,
  .marketplace-modal-dialog
) {
  color: var(--day-ink);
  background-color: var(--day-surface);
  border-color: rgba(255, 255, 255, .82);
}

html[data-theme="day"] :is(
  .hub-profile-dialog,
  .hub-profile-preview,
  .hub-action-dialog,
  .marketplace-dialog,
  .marketplace-modal-dialog
) :is(h1, h2, h3, p, label) {
  color: var(--day-ink);
}

/* Responsive and platform safeguards ------------------------------------ */

@media (max-width: 760px) {
  :root {
    --theme-control-width: 124px;
  }

  .theme-option {
    padding-inline: 5px;
    font-size: 10px;
  }

  html[data-theme="day"] .member-hub[data-active-view="marketplace"] .market-rail {
    border-left: 0 !important;
    border-top: 1px solid var(--day-line) !important;
  }
}

@media (max-width: 520px) {
  :root {
    --theme-control-width: 76px;
  }

  .theme-option-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

  .theme-option {
    padding: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-control::before,
  .theme-option,
  .theme-symbol {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .theme-control {
    color: ButtonText;
    background: ButtonFace;
    border: 1px solid ButtonText;
  }

  .theme-control::before {
    background: Highlight;
    box-shadow: none;
  }

  .theme-option[aria-pressed="true"] {
    color: HighlightText;
  }
}

@media print {
  .theme-control {
    display: none !important;
  }

  html,
  body {
    color-scheme: light !important;
    color: #000 !important;
    background: #fff !important;
  }
}
