:root,
html[data-theme="earth"]{
  color-scheme:dark;
  --text:#f5f7ff;
  --muted:#bcc3da;
  --line:rgba(255,255,255,0.10);
  --line-strong:rgba(255,255,255,0.16);
  --glass:rgba(255,255,255,0.045);
  --glass-2:rgba(255,255,255,0.06);
  --shadow:0 24px 70px rgba(0,0,0,0.42);
  --shadow-soft:0 12px 30px rgba(0,0,0,0.25);

  --bg-main:
    radial-gradient(circle at 50% 118%, rgba(131,86,255,0.50), transparent 42%),
    radial-gradient(circle at 18% 100%, rgba(131,86,255,0.14), transparent 26%),
    radial-gradient(circle at 82% 100%, rgba(131,86,255,0.12), transparent 26%),
    linear-gradient(180deg,#1b1d26 0%, #161821 34%, #14161d 100%);

  --bg-before:
    radial-gradient(circle at 22% 16%, rgba(123,99,255,0.09), transparent 18%),
    radial-gradient(circle at 78% 10%, rgba(129,166,255,0.06), transparent 16%),
    radial-gradient(circle at 50% 34%, rgba(255,255,255,0.025), transparent 22%);

  --bg-after:
    radial-gradient(circle at 50% 100%, rgba(125,82,255,0.18), transparent 34%);

  --menu-bg:rgba(10,15,35,0.96);
  --footer-bg:linear-gradient(to top, rgba(9,11,18,0.92), rgba(9,11,18,0.62));
  --footer-border:rgba(255,255,255,0.08);
  --panel-bg:linear-gradient(180deg, var(--glass-2) 0%, var(--glass) 100%);
  --button-bg:linear-gradient(180deg, var(--glass-2) 0%, var(--glass) 100%);
  --button-hover:linear-gradient(180deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.05) 100%);
  --title-color:#fff;
  --title-small-color:inherit;
  --section-title-color:var(--muted);
  --info-title-color:var(--muted);
  --sparkle:rgba(150,120,255,.72);
  --sparkle-glow:rgba(137,104,255,.7);
  --surface-border:rgba(255,255,255,0.08);
  --input-bg:rgba(255,255,255,0.05);
  --input-focus-bg:rgba(255,255,255,0.07);
  --wallpaper-opacity:0;
  --wallpaper-overlay-opacity:0;
  --wallpaper-blend:normal;
}

html[data-theme="moonlit"]{
  color-scheme:dark;
  --text:#f4efe6;
  --muted:#b7b4c7;
  --line:rgba(195,210,255,0.07);
  --line-strong:rgba(227,210,174,0.12);
  --glass:rgba(8,18,42,0.50);
  --glass-2:rgba(11,24,57,0.68);
  --shadow:0 26px 70px rgba(0,0,0,0.50);
  --shadow-soft:0 14px 32px rgba(0,0,0,0.34);

  --bg-main:linear-gradient(180deg,#040915 0%, #07111f 48%, #0a1424 100%);

  --bg-before:
    radial-gradient(circle at 78% 16%, rgba(247,237,201,0.14) 0 1.2%, transparent 1.4%),
    radial-gradient(circle at 14% 12%, rgba(255,255,255,0.75) 0 0.08%, transparent 0.13%),
    radial-gradient(circle at 21% 22%, rgba(255,255,255,0.55) 0 0.09%, transparent 0.14%),
    radial-gradient(circle at 28% 17%, rgba(255,255,255,0.60) 0 0.07%, transparent 0.12%),
    radial-gradient(circle at 36% 9%, rgba(255,255,255,0.60) 0 0.08%, transparent 0.13%),
    radial-gradient(circle at 47% 14%, rgba(255,255,255,0.55) 0 0.09%, transparent 0.14%),
    radial-gradient(circle at 58% 8%, rgba(255,255,255,0.50) 0 0.07%, transparent 0.12%),
    radial-gradient(circle at 67% 19%, rgba(255,255,255,0.52) 0 0.08%, transparent 0.13%),
    radial-gradient(circle at 86% 9%, rgba(255,255,255,0.55) 0 0.08%, transparent 0.13%),
    radial-gradient(circle at 73% 27%, rgba(255,255,255,0.45) 0 0.08%, transparent 0.13%),
    radial-gradient(circle at 81% 24%, rgba(255,255,255,0.38) 0 0.09%, transparent 0.14%),
    linear-gradient(180deg, rgba(3,7,14,0.02), rgba(3,7,14,0.18));

  --bg-after:
    radial-gradient(ellipse at 74% 28%, rgba(241,203,139,0.12), transparent 18%),
    radial-gradient(ellipse at 77% 36%, rgba(233,154,68,0.10), transparent 16%),
    linear-gradient(to top, rgba(6,11,20,0.18), rgba(6,11,20,0.00) 38%);

  --menu-bg:linear-gradient(180deg, rgba(10,22,51,0.96), rgba(7,15,35,0.96));
  --footer-bg:linear-gradient(to top, rgba(7,13,26,0.96), rgba(8,15,30,0.70));
  --footer-border:rgba(227,210,174,0.10);
  --panel-bg:linear-gradient(180deg, rgba(9,19,42,0.12) 0%, rgba(7,15,34,0.16) 100%);
  --button-bg:linear-gradient(180deg, rgba(35,56,118,0.22) 0%, rgba(15,27,64,0.34) 100%);
  --button-hover:linear-gradient(180deg, rgba(46,71,140,0.28) 0%, rgba(18,33,74,0.42) 100%);
  --title-color:#f1d4a6;
  --title-small-color:#f1d4a6;
  --section-title-color:#f1d4a6;
  --info-title-color:#f1d4a6;
  --sparkle:rgba(255,238,196,.86);
  --sparkle-glow:rgba(255,232,173,.52);
  --surface-border:rgba(182,197,248,0.035);
  --input-bg:rgba(35,56,118,0.22);
  --input-focus-bg:rgba(46,71,140,0.28);
  --wallpaper-opacity:0.90;
  --wallpaper-overlay-opacity:1;
  --wallpaper-blend:screen;
}

html[data-theme="corporo"]{
  color-scheme:light;
  --text:#2f3140;
  --muted:#51546b;
  --line:rgba(150,131,236,0.32);
  --line-strong:rgba(150,131,236,0.52);
  --glass:#93C572;
  --glass-2:#93C572;
  --shadow:0 0 0 rgba(0,0,0,0);
  --shadow-soft:0 0 0 rgba(0,0,0,0);

  --bg-main:linear-gradient(180deg, #BEBFC5 0%, #BEBFC5 100%);
  --bg-before:linear-gradient(180deg, rgba(150,131,236,0.05), rgba(150,131,236,0.00) 42%);
  --bg-after:linear-gradient(180deg, rgba(147,197,114,0.04), rgba(147,197,114,0.00) 44%);

  --menu-bg:#9683EC;
  --footer-bg:#9683EC;
  --footer-border:rgba(47,49,64,0.14);
  --panel-bg:#93C572;
  --button-bg:#9683EC;
  --button-hover:#8c77ee;
  --title-color:#2f3140;
  --title-small-color:#51546b;
  --section-title-color:#2f3140;
  --info-title-color:#2f3140;
  --sparkle:rgba(150,131,236,0);
  --sparkle-glow:rgba(150,131,236,0);
  --surface-border:rgba(150,131,236,0.34);
  --input-bg:rgba(255,255,255,0.34);
  --input-focus-bg:rgba(255,255,255,0.50);
  --wallpaper-opacity:0;
  --wallpaper-overlay-opacity:0;
  --wallpaper-blend:normal;
}


html[data-theme="liquidglass"]{
  color-scheme:dark;
  --text:#f7fcff;
  --muted:#dbeaf4;
  --line:rgba(255,255,255,0.22);
  --line-strong:rgba(255,255,255,0.38);

  /* Near-clear water surfaces */
  --glass:rgba(180,230,255,0.010);
  --glass-2:rgba(205,240,255,0.025);
  --shadow:0 14px 34px rgba(1,14,25,0.12);
  --shadow-soft:0 6px 18px rgba(1,14,25,0.10);

  --bg-main:
    radial-gradient(circle at 16% 12%, rgba(112,205,255,0.16), transparent 24%),
    radial-gradient(circle at 84% 10%, rgba(89,230,218,0.12), transparent 22%),
    radial-gradient(circle at 50% 118%, rgba(85,164,255,0.08), transparent 36%),
    linear-gradient(180deg,#091522 0%, #0b1b2a 46%, #091520 100%);

  /* Small clear droplet highlights rather than haze */
  --bg-before:
    radial-gradient(circle at 14% 19%, rgba(255,255,255,0.30) 0 0.42%, rgba(180,229,255,0.09) 0.60%, transparent 1.45%),
    radial-gradient(circle at 31% 10%, rgba(255,255,255,0.24) 0 0.34%, rgba(169,224,255,0.07) 0.52%, transparent 1.20%),
    radial-gradient(circle at 62% 17%, rgba(255,255,255,0.28) 0 0.38%, rgba(169,224,255,0.08) 0.56%, transparent 1.30%),
    radial-gradient(circle at 84% 25%, rgba(255,255,255,0.20) 0 0.30%, rgba(169,224,255,0.06) 0.47%, transparent 1.10%),
    radial-gradient(circle at 73% 7%, rgba(255,255,255,0.17) 0 0.26%, transparent 0.95%);

  --bg-after:
    radial-gradient(ellipse at 50% 100%, rgba(83,184,246,0.09), transparent 38%);

  --menu-bg:rgba(7,22,35,0.34);
  --footer-bg:linear-gradient(to top, rgba(6,18,29,0.40), rgba(6,18,29,0.18));
  --footer-border:rgba(255,255,255,0.16);

  --panel-bg:
    linear-gradient(145deg, rgba(255,255,255,0.032), rgba(120,205,255,0.006));
  --button-bg:
    linear-gradient(145deg, rgba(255,255,255,0.040), rgba(120,205,255,0.008));
  --button-hover:
    linear-gradient(145deg, rgba(255,255,255,0.075), rgba(120,205,255,0.018));

  --title-color:#fbfeff;
  --title-small-color:rgba(248,253,255,0.96);
  --section-title-color:#e0f2ff;
  --info-title-color:#e0f2ff;
  --sparkle:rgba(218,247,255,.62);
  --sparkle-glow:rgba(130,215,255,.24);
  --surface-border:rgba(255,255,255,0.20);

  --input-bg:rgba(255,255,255,0.018);
  --input-focus-bg:rgba(255,255,255,0.040);

  --wallpaper-opacity:0;
  --wallpaper-overlay-opacity:0;
  --wallpaper-blend:normal;
}

/* Almost no frosting: surfaces remain visibly transparent. */
html[data-theme="liquidglass"] .edu-theme-trigger,
html[data-theme="liquidglass"] .edu-theme-option,
html[data-theme="liquidglass"] .site-footer,
html[data-theme="liquidglass"] .panel,
html[data-theme="liquidglass"] .card,
html[data-theme="liquidglass"] .button,
html[data-theme="liquidglass"] input,
html[data-theme="liquidglass"] select,
html[data-theme="liquidglass"] textarea{
  backdrop-filter:blur(0.8px) saturate(112%);
  -webkit-backdrop-filter:blur(0.8px) saturate(112%);
}

html[data-theme="liquidglass"] .edu-theme-trigger,
html[data-theme="liquidglass"] .edu-theme-option,
html[data-theme="liquidglass"] .panel,
html[data-theme="liquidglass"] .card,
html[data-theme="liquidglass"] .button{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.26),
    inset 0 -1px 0 rgba(78,176,224,0.06),
    0 8px 20px rgba(0,14,25,0.08);
}


html[data-theme="vertbritannique"]{
  color-scheme:dark;
  --text:#f7f1dd;
  --muted:#d8cda9;
  --line:rgba(212,175,55,0.24);
  --line-strong:rgba(212,175,55,0.48);

  --glass:rgba(0,66,37,0.42);
  --glass-2:rgba(0,66,37,0.58);
  --shadow:0 24px 64px rgba(0,20,11,0.46);
  --shadow-soft:0 12px 30px rgba(0,20,11,0.32);

  /* British racing green velvet base */
  --bg-main:
    radial-gradient(circle at 18% 12%, rgba(212,175,55,0.10), transparent 20%),
    radial-gradient(circle at 82% 14%, rgba(255,235,163,0.06), transparent 18%),
    linear-gradient(180deg,#00381f 0%, #004225 48%, #00361e 100%);

  /* Layered fine-grain velvet texture */
  --bg-before:
    repeating-linear-gradient(
      102deg,
      rgba(255,255,255,0.012) 0px,
      rgba(255,255,255,0.012) 1px,
      rgba(0,0,0,0.015) 1px,
      rgba(0,0,0,0.015) 3px
    ),
    repeating-linear-gradient(
      78deg,
      rgba(212,175,55,0.014) 0px,
      rgba(212,175,55,0.014) 1px,
      transparent 1px,
      transparent 4px
    ),
    radial-gradient(ellipse at 50% 24%, rgba(255,255,255,0.025), transparent 42%),
    radial-gradient(ellipse at 46% 70%, rgba(0,0,0,0.08), transparent 48%);

  --bg-after:
    linear-gradient(
      118deg,
      transparent 0%,
      rgba(212,175,55,0.035) 28%,
      rgba(255,255,255,0.018) 36%,
      transparent 46%
    ),
    radial-gradient(ellipse at 50% 100%, rgba(212,175,55,0.07), transparent 38%);

  --menu-bg:rgba(0,50,28,0.96);
  --footer-bg:linear-gradient(to top, rgba(0,39,22,0.98), rgba(0,56,31,0.82));
  --footer-border:rgba(212,175,55,0.30);

  --panel-bg:
    linear-gradient(180deg, rgba(0,77,43,0.74) 0%, rgba(0,58,32,0.70) 100%);
  --button-bg:
    linear-gradient(180deg, rgba(9,92,55,0.82) 0%, rgba(0,65,36,0.86) 100%);
  --button-hover:
    linear-gradient(180deg, rgba(18,108,66,0.92) 0%, rgba(0,76,43,0.92) 100%);

  --title-color:#D4AF37;
  --title-small-color:#ecd67f;
  --section-title-color:#D4AF37;
  --info-title-color:#D4AF37;

  --sparkle:rgba(212,175,55,.84);
  --sparkle-glow:rgba(212,175,55,.46);
  --surface-border:rgba(212,175,55,0.26);

  --input-bg:rgba(0,55,31,0.72);
  --input-focus-bg:rgba(0,69,39,0.82);

  --wallpaper-opacity:0;
  --wallpaper-overlay-opacity:0;
  --wallpaper-blend:normal;
}

/* Gold-trimmed velvet surfaces */
html[data-theme="vertbritannique"] .edu-theme-trigger,
html[data-theme="vertbritannique"] .edu-theme-option,
html[data-theme="vertbritannique"] .site-footer,
html[data-theme="vertbritannique"] .panel,
html[data-theme="vertbritannique"] .card,
html[data-theme="vertbritannique"] .button{
  border-color:rgba(212,175,55,0.34);
  box-shadow:
    inset 0 1px 0 rgba(255,236,170,0.08),
    inset 0 -1px 0 rgba(0,0,0,0.18),
    0 12px 28px rgba(0,20,11,0.26);
}

html[data-theme="vertbritannique"] .edu-theme-trigger:hover,
html[data-theme="vertbritannique"] .edu-theme-option:hover,
html[data-theme="vertbritannique"] .edu-theme-option.is-active,
html[data-theme="vertbritannique"] .button:hover{
  border-color:rgba(212,175,55,0.60);
}




html[data-theme="tilly"]{
  color-scheme:light;
  --text:#000000;
  --muted:#111111;
  --line:#000000;
  --line-strong:#000000;
  --glass:#ffffff;
  --glass-2:#ffffff;
  --shadow:none;
  --shadow-soft:none;
  --bg-main:#8DAB3F;
  --bg-before:none;
  --bg-after:none;
  --menu-bg:#000000;
  --footer-bg:#000000;
  --footer-border:#000000;
  --panel-bg:#ffffff;
  --button-bg:#000000;
  --button-hover:#ffffff;
  --title-color:#000000;
  --title-small-color:#000000;
  --section-title-color:#000000;
  --info-title-color:#000000;
  --sparkle:transparent;
  --sparkle-glow:transparent;
  --surface-border:#000000;
  --input-bg:#ffffff;
  --input-focus-bg:#ffffff;
  --wallpaper-opacity:1;
  --wallpaper-overlay-opacity:0;
  --wallpaper-blend:normal;
}

html[data-theme="tilly"] .edu-theme-trigger,
html[data-theme="tilly"] .edu-theme-option,
html[data-theme="tilly"] .edu-theme-dropdown,
html[data-theme="tilly"] .site-footer,
html[data-theme="tilly"] .panel,
html[data-theme="tilly"] .card,
html[data-theme="tilly"] .button,
html[data-theme="tilly"] input,
html[data-theme="tilly"] select,
html[data-theme="tilly"] textarea{
  border:2px solid #000000;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

html[data-theme="tilly"] .panel,
html[data-theme="tilly"] .card,
html[data-theme="tilly"] input,
html[data-theme="tilly"] select,
html[data-theme="tilly"] textarea{
  background:#ffffff;
  color:#000000;
}

html[data-theme="tilly"] .button{
  background:#000000;
  color:#ffffff;
}

html[data-theme="tilly"] .button:hover,
html[data-theme="tilly"] .button:focus-visible{
  background:#ffffff;
  color:#000000;
  transform:none;
}

html[data-theme="tilly"] .edu-theme-trigger,
html[data-theme="tilly"] .edu-theme-option{
  background:#ffffff;
  color:#000000;
}

html[data-theme="tilly"] .edu-theme-trigger:hover,
html[data-theme="tilly"] .edu-theme-trigger[aria-expanded="true"],
html[data-theme="tilly"] .edu-theme-option:hover,
html[data-theme="tilly"] .edu-theme-option.is-active{
  background:#8DAB3F;
  color:#000000;
  transform:none;
}

html[data-theme="tilly"] .edu-theme-dropdown{
  background:#000000;
}

html[data-theme="tilly"] .site-footer{
  background:#000000;
  color:#ffffff;
}

html[data-theme="tilly"] body::before{
  background-color:#8DAB3F;
  background-image:var(--tilly-wallpaper-desktop, none);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  opacity:1;
  mix-blend-mode:normal;
}

@media (max-width:700px){
  html[data-theme="tilly"] body::before{
    background-image:var(--tilly-wallpaper-mobile, none);
    background-attachment:scroll;
  }
}

/* Per-page NC Sapphire wallpaper infrastructure.
   Each converted index page will define:
   --page-wallpaper-desktop:url("./wallpaperdesktop.png");
   --page-wallpaper-mobile:url("./wallpapermobile.png");
*/
:root{
  --page-wallpaper-desktop:none;
  --page-wallpaper-mobile:none;
  --tilly-wallpaper-desktop:none;
  --tilly-wallpaper-mobile:none;
}

html[data-theme="moonlit"] body::before{
  background-image:
    linear-gradient(rgba(3,8,18,0.22), rgba(3,8,18,0.34)),
    var(--page-wallpaper-desktop);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  opacity:var(--wallpaper-opacity, 0.90);
  mix-blend-mode:var(--wallpaper-blend, normal);
}

@media (max-width:700px){
  html[data-theme="moonlit"] body::before{
    background-image:
      linear-gradient(rgba(3,8,18,0.22), rgba(3,8,18,0.34)),
      var(--page-wallpaper-mobile);
    background-attachment:scroll;
  }
}

/* Shared theme picker */
.edu-theme-wrap{
  position:fixed;
  top:14px;
  right:14px;
  z-index:1000;
}

.edu-theme-menu{
  position:relative;
}

.edu-theme-trigger{
  min-height:42px;
  min-width:128px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius:12px;
  border:1px solid var(--line-strong);
  background:var(--button-bg);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:var(--text);
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:600;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.edu-theme-trigger:hover,
.edu-theme-trigger[aria-expanded="true"]{
  transform:translateY(-1px);
  background:var(--button-hover);
  border-color:var(--line-strong);
}

.edu-theme-trigger-left{
  display:flex;
  align-items:center;
  gap:8px;
}

.edu-theme-caret{
  font-size:11px;
  line-height:1;
  opacity:.8;
  transition:transform .14s ease;
}

.edu-theme-trigger[aria-expanded="true"] .edu-theme-caret{
  transform:rotate(180deg);
}

.edu-theme-dropdown{
  position:absolute;
  top:48px;
  right:0;
  min-width:168px;
  padding:8px;
  border-radius:14px;
  border:1px solid var(--line-strong);
  background:var(--menu-bg);
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  display:flex;
  flex-direction:column;
  gap:6px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.edu-theme-menu.is-open .edu-theme-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.edu-theme-option{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:0 10px;
  border-radius:12px;
  border:1px solid var(--line-strong);
  background:var(--button-bg);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:var(--text);
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:600;
  text-align:left;
  transition:background .18s ease, border-color .18s ease;
}

.edu-theme-option:hover,
.edu-theme-option.is-active{
  background:var(--button-hover);
  border-color:var(--line-strong);
}

.edu-theme-icon{
  width:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  flex:0 0 18px;
}

.edu-theme-label{
  white-space:nowrap;
}

html[data-theme="corporo"] .edu-theme-trigger,
html[data-theme="corporo"] .edu-theme-option{
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  border-color:#9683EC;
  background:#9683EC;
  color:#fff;
}

html[data-theme="corporo"] .edu-theme-trigger:hover,
html[data-theme="corporo"] .edu-theme-trigger[aria-expanded="true"],
html[data-theme="corporo"] .edu-theme-option:hover,
html[data-theme="corporo"] .edu-theme-option.is-active{
  background:#8c77ee;
  transform:none;
}

@media (max-width:640px){
  .edu-theme-trigger{
    min-width:108px;
    min-height:38px;
    padding:0 10px;
    font-size:11px;
  }

  .edu-theme-dropdown{
    top:44px;
    min-width:152px;
    padding:6px;
  }

  .edu-theme-option{
    min-height:36px;
    padding:0 10px;
    font-size:11px;
    gap:8px;
  }

  .edu-theme-icon{
    width:16px;
    flex-basis:16px;
    font-size:12px;
  }
}


.edu-theme-wrap,
.edu-theme-menu,
.edu-theme-trigger,
.edu-theme-dropdown,
.edu-theme-option{
  pointer-events:auto;
}

.edu-theme-wrap{
  z-index:2147483000;
}

.edu-theme-trigger{
  position:relative;
  z-index:2;
}

.edu-theme-dropdown{
  z-index:3;
}


/* Tilly contrast fixes for dark navigation and bookmark controls. */
html[data-theme="tilly"] .bookmark-chip,
html[data-theme="tilly"] .bookmark-menu button,
html[data-theme="tilly"] .theme-trigger,
html[data-theme="tilly"] .theme-option,
html[data-theme="tilly"] .nav-toggle,
html[data-theme="tilly"] .menu-toggle,
html[data-theme="tilly"] .hamburger,
html[data-theme="tilly"] .page-nav-button,
html[data-theme="tilly"] .page-nav-back,
html[data-theme="tilly"] .edu-page-nav-button,
html[data-theme="tilly"] [class*="page-nav"] button,
html[data-theme="tilly"] [class*="page-nav"] a,
html[data-theme="tilly"] [class*="back-button"],
html[data-theme="tilly"] [class*="home-button"]{
  color:#ffffff !important;
}

html[data-theme="tilly"] .bookmark-chip:hover,
html[data-theme="tilly"] .bookmark-chip:focus-visible,
html[data-theme="tilly"] .bookmark-menu button:hover,
html[data-theme="tilly"] .bookmark-menu button:focus-visible{
  background:#ffffff !important;
  color:#000000 !important;
}

html[data-theme="tilly"] .bookmark-add,
html[data-theme="tilly"] .bookmark-title,
html[data-theme="tilly"] .bookmark-empty,
html[data-theme="tilly"] .level-chip,
html[data-theme="tilly"] .board-chip,
html[data-theme="tilly"] .subject-chip,
html[data-theme="tilly"] .tier-button{
  color:#000000 !important;
}

html[data-theme="tilly"] .level-chip.is-active,
html[data-theme="tilly"] .board-chip.is-active,
html[data-theme="tilly"] .subject-chip.is-active,
html[data-theme="tilly"] .tier-button[aria-selected="true"]{
  background:#000000 !important;
  color:#ffffff !important;
  border-color:#000000 !important;
}


/* Tilly wallpaper must remain crisp and completely unblurred. */
html[data-theme="tilly"] body::before,
html[data-theme="tilly"] body::after{
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html[data-theme="tilly"] body::before{
  transform:none !important;
}


/* Keep NC Sapphire wallpapers crisp and completely unblurred. */
html[data-theme="moonlit"] body::before,
html[data-theme="moonlit"] body::after{
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html[data-theme="moonlit"] body::before{
  transform:none !important;
}
