/*
 * Tallynet Custom Themes
 * A scoped visual layer for Organizr. Nothing below applies without .tct-active.
 */

/* ---------- Theme palettes ---------- */

body.tct-theme-stPatricks {
  --tct-bg: #05100c;
  --tct-panel-rgb: 9, 31, 22;
  --tct-panel-strong-rgb: 12, 40, 28;
  --tct-nav-rgb: 5, 22, 15;
  --tct-text: #edf8f1;
  --tct-muted: #9fbfaf;
  --tct-accent: #58d68d;
  --tct-accent-rgb: 88, 214, 141;
  --tct-accent-2: #d5b866;
  --tct-accent-2-rgb: 213, 184, 102;
  --tct-border: rgba(111, 220, 157, 0.21);
  --tct-border-strong: rgba(213, 184, 102, 0.42);
  --tct-shadow: 0 24px 70px rgba(0, 7, 4, 0.48);
  --tct-backdrop:
    radial-gradient(ellipse at 12% 8%, rgba(26, 126, 75, 0.34), transparent 42%),
    radial-gradient(ellipse at 88% 92%, rgba(157, 121, 42, 0.18), transparent 38%),
    linear-gradient(145deg, #06140e 0%, #07110d 44%, #020806 100%);
  --tct-halo:
    radial-gradient(circle at 22% 24%, rgba(75, 218, 135, 0.14), transparent 26%),
    radial-gradient(circle at 78% 74%, rgba(213, 184, 102, 0.1), transparent 24%);
}

body.tct-theme-halloween {
  --tct-bg: #100a08;
  --tct-panel-rgb: 31, 19, 15;
  --tct-panel-strong-rgb: 42, 24, 18;
  --tct-nav-rgb: 20, 11, 8;
  --tct-text: #f6eadc;
  --tct-muted: #c4a995;
  --tct-accent: #ff8738;
  --tct-accent-rgb: 255, 135, 56;
  --tct-accent-2: #c79a66;
  --tct-accent-2-rgb: 199, 154, 102;
  --tct-border: rgba(255, 135, 56, 0.19);
  --tct-border-strong: rgba(199, 154, 102, 0.4);
  --tct-shadow: 0 26px 80px rgba(4, 1, 0, 0.62);
  --tct-backdrop:
    radial-gradient(ellipse at 72% 4%, rgba(139, 49, 17, 0.28), transparent 34%),
    radial-gradient(ellipse at 8% 88%, rgba(74, 12, 20, 0.2), transparent 34%),
    linear-gradient(150deg, #170d09 0%, #0d0908 52%, #050303 100%);
  --tct-halo:
    radial-gradient(circle at 76% 18%, rgba(255, 110, 27, 0.13), transparent 22%),
    radial-gradient(circle at 18% 76%, rgba(117, 16, 35, 0.12), transparent 25%);
}

body.tct-theme-snow {
  --tct-bg: #06101e;
  --tct-panel-rgb: 11, 29, 49;
  --tct-panel-strong-rgb: 15, 39, 64;
  --tct-nav-rgb: 7, 22, 39;
  --tct-text: #eef8ff;
  --tct-muted: #a9c4d8;
  --tct-accent: #8bd3ff;
  --tct-accent-rgb: 139, 211, 255;
  --tct-accent-2: #e1f4ff;
  --tct-accent-2-rgb: 225, 244, 255;
  --tct-border: rgba(155, 218, 255, 0.22);
  --tct-border-strong: rgba(225, 244, 255, 0.4);
  --tct-shadow: 0 24px 76px rgba(0, 7, 18, 0.55);
  --tct-backdrop:
    radial-gradient(ellipse at 18% 0%, rgba(62, 149, 210, 0.27), transparent 38%),
    radial-gradient(ellipse at 88% 88%, rgba(87, 113, 188, 0.17), transparent 36%),
    linear-gradient(145deg, #0a1a2c 0%, #07111f 48%, #030914 100%);
  --tct-halo:
    radial-gradient(circle at 18% 26%, rgba(164, 225, 255, 0.14), transparent 25%),
    radial-gradient(circle at 82% 72%, rgba(115, 155, 226, 0.1), transparent 28%);
}

body.tct-theme-valentines {
  --tct-bg: #150912;
  --tct-panel-rgb: 39, 17, 32;
  --tct-panel-strong-rgb: 54, 21, 42;
  --tct-nav-rgb: 28, 11, 23;
  --tct-text: #fff0f5;
  --tct-muted: #d0aab9;
  --tct-accent: #ff719d;
  --tct-accent-rgb: 255, 113, 157;
  --tct-accent-2: #e1b5a6;
  --tct-accent-2-rgb: 225, 181, 166;
  --tct-border: rgba(255, 125, 169, 0.2);
  --tct-border-strong: rgba(225, 181, 166, 0.4);
  --tct-shadow: 0 26px 80px rgba(9, 1, 8, 0.57);
  --tct-backdrop:
    radial-gradient(ellipse at 14% 10%, rgba(157, 37, 91, 0.3), transparent 38%),
    radial-gradient(ellipse at 88% 86%, rgba(97, 26, 71, 0.25), transparent 40%),
    linear-gradient(145deg, #210c1b 0%, #140a12 48%, #090408 100%);
  --tct-halo:
    radial-gradient(circle at 20% 24%, rgba(255, 100, 151, 0.14), transparent 25%),
    radial-gradient(circle at 80% 74%, rgba(230, 174, 154, 0.1), transparent 24%);
}

body.tct-theme-newYear {
  --tct-bg: #060817;
  --tct-panel-rgb: 16, 19, 45;
  --tct-panel-strong-rgb: 22, 25, 58;
  --tct-nav-rgb: 10, 12, 31;
  --tct-text: #f7f4eb;
  --tct-muted: #b9b8cd;
  --tct-accent: #e6c66c;
  --tct-accent-rgb: 230, 198, 108;
  --tct-accent-2: #a598ff;
  --tct-accent-2-rgb: 165, 152, 255;
  --tct-border: rgba(230, 198, 108, 0.2);
  --tct-border-strong: rgba(230, 198, 108, 0.43);
  --tct-shadow: 0 26px 84px rgba(0, 1, 10, 0.62);
  --tct-backdrop:
    radial-gradient(ellipse at 16% 0%, rgba(73, 61, 164, 0.3), transparent 38%),
    radial-gradient(ellipse at 86% 94%, rgba(139, 55, 124, 0.16), transparent 34%),
    linear-gradient(145deg, #0d1030 0%, #07091b 48%, #02030b 100%);
  --tct-halo:
    radial-gradient(circle at 22% 22%, rgba(230, 198, 108, 0.11), transparent 23%),
    radial-gradient(circle at 80% 72%, rgba(144, 128, 255, 0.12), transparent 26%);
}

body.tct-theme-easter {
  --tct-bg: #0c0d12;
  --tct-panel-rgb: 27, 25, 35;
  --tct-panel-strong-rgb: 36, 32, 45;
  --tct-nav-rgb: 18, 17, 25;
  --tct-text: #f2edf4;
  --tct-muted: #b7aabb;
  --tct-accent: #d59ab8;
  --tct-accent-rgb: 213, 154, 184;
  --tct-accent-2: #82ad95;
  --tct-accent-2-rgb: 130, 173, 149;
  --tct-border: rgba(213, 154, 184, 0.18);
  --tct-border-strong: rgba(130, 173, 149, 0.34);
  --tct-shadow: 0 20px 58px rgba(2, 2, 6, 0.44);
  --tct-backdrop:
    radial-gradient(ellipse at 18% 0%, rgba(154, 91, 127, 0.15), transparent 40%),
    radial-gradient(ellipse at 88% 90%, rgba(74, 122, 91, 0.11), transparent 38%),
    linear-gradient(145deg, #18141d 0%, #101116 50%, #090d0b 100%);
  --tct-halo:
    radial-gradient(circle at 20% 24%, rgba(213, 154, 184, 0.07), transparent 25%),
    radial-gradient(circle at 80% 72%, rgba(130, 173, 149, 0.06), transparent 26%);
}

body.tct-theme-independenceDay {
  --tct-bg: #050a12;
  --tct-panel-rgb: 14, 26, 42;
  --tct-panel-strong-rgb: 20, 37, 58;
  --tct-nav-rgb: 8, 19, 33;
  --tct-text: #edf2fa;
  --tct-muted: #a8b7ca;
  --tct-accent: #c96772;
  --tct-accent-rgb: 201, 103, 114;
  --tct-accent-2: #7195c3;
  --tct-accent-2-rgb: 113, 149, 195;
  --tct-border: rgba(113, 149, 195, 0.2);
  --tct-border-strong: rgba(201, 103, 114, 0.34);
  --tct-shadow: 0 20px 58px rgba(0, 3, 10, 0.48);
  --tct-backdrop:
    radial-gradient(ellipse at 15% 0%, rgba(72, 105, 155, 0.17), transparent 38%),
    radial-gradient(ellipse at 90% 90%, rgba(157, 68, 81, 0.08), transparent 36%),
    linear-gradient(145deg, #0e1b2d 0%, #080f1b 52%, #03070d 100%);
  --tct-halo:
    radial-gradient(circle at 20% 22%, rgba(113, 149, 195, 0.07), transparent 25%),
    radial-gradient(circle at 82% 72%, rgba(201, 103, 114, 0.05), transparent 24%);
}

body.tct-theme-thanksgiving {
  --tct-bg: #100b07;
  --tct-panel-rgb: 34, 25, 18;
  --tct-panel-strong-rgb: 44, 32, 22;
  --tct-nav-rgb: 24, 17, 12;
  --tct-text: #f3eadc;
  --tct-muted: #bca98f;
  --tct-accent: #c47c4e;
  --tct-accent-rgb: 196, 124, 78;
  --tct-accent-2: #8c9663;
  --tct-accent-2-rgb: 140, 150, 99;
  --tct-border: rgba(196, 124, 78, 0.2);
  --tct-border-strong: rgba(140, 150, 99, 0.36);
  --tct-shadow: 0 20px 58px rgba(4, 2, 1, 0.46);
  --tct-backdrop:
    radial-gradient(ellipse at 16% 0%, rgba(153, 91, 48, 0.18), transparent 38%),
    radial-gradient(ellipse at 88% 90%, rgba(105, 112, 67, 0.1), transparent 38%),
    linear-gradient(145deg, #21160e 0%, #130e0a 52%, #090705 100%);
  --tct-halo:
    radial-gradient(circle at 20% 24%, rgba(196, 124, 78, 0.07), transparent 25%),
    radial-gradient(circle at 80% 72%, rgba(140, 150, 99, 0.06), transparent 26%);
}

body.tct-theme-christmas {
  --tct-bg: #050b08;
  --tct-panel-rgb: 12, 29, 23;
  --tct-panel-strong-rgb: 16, 39, 30;
  --tct-nav-rgb: 7, 23, 17;
  --tct-text: #f2efe7;
  --tct-muted: #abbcaf;
  --tct-accent: #c9ad70;
  --tct-accent-rgb: 201, 173, 112;
  --tct-accent-2: #cc7780;
  --tct-accent-2-rgb: 204, 119, 128;
  --tct-border: rgba(201, 173, 112, 0.18);
  --tct-border-strong: rgba(204, 119, 128, 0.32);
  --tct-shadow: 0 20px 58px rgba(0, 5, 3, 0.48);
  --tct-backdrop:
    radial-gradient(ellipse at 50% 0%, rgba(50, 100, 74, 0.15), transparent 42%),
    radial-gradient(ellipse at 90% 88%, rgba(140, 47, 58, 0.07), transparent 36%),
    linear-gradient(145deg, #10261c 0%, #09150f 54%, #040907 100%);
  --tct-halo:
    radial-gradient(circle at 20% 24%, rgba(201, 173, 112, 0.06), transparent 24%),
    radial-gradient(circle at 82% 70%, rgba(204, 119, 128, 0.05), transparent 24%);
}

/* ---------- Organizr integration ---------- */

body.tct-active {
  color: var(--tct-text) !important;
  background: var(--tct-bg) !important;
  accent-color: var(--tct-accent);
}

body.tct-active #wrapper {
  position: relative;
  z-index: 1;
}

body.tct-active #page-wrapper,
body.tct-active .content-wrap,
body.tct-active #main {
  color: var(--tct-text) !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.tct-active .navbar,
body.tct-active .sidebar {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: rgba(var(--tct-nav-rgb), 0.89) !important;
  box-shadow: 0 10px 38px rgba(0, 0, 0, 0.22) !important;
}

/* Keep Organizr's fixed hamburger/header geometry in its native containing block. */
body.tct-active .navbar-header,
body.tct-active .top-left-part,
body.tct-active .sidebar .sidebar-head {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.tct-active .sidebar {
  border-right: 1px solid var(--tct-border) !important;
}

body.tct-active .navbar::after,
body.tct-active .sidebar::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0.75;
}

body.tct-active .navbar::after {
  right: 4%;
  bottom: 0;
  left: 4%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tct-accent), var(--tct-accent-2), transparent);
}

body.tct-active .sidebar::after {
  top: 8%;
  right: 0;
  bottom: 8%;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--tct-accent), transparent);
}

body.tct-active .navbar-top-links > li > a,
body.tct-active #side-menu > li > a,
body.tct-active #side-menu .nav-second-level > li > a,
body.tct-active .sidebar-nav a,
body.tct-active .navbar-brand {
  color: var(--tct-muted) !important;
}

body.tct-active .navbar-top-links > li > a:hover,
body.tct-active .navbar-top-links > li > a:focus,
body.tct-active #side-menu > li > a:hover,
body.tct-active #side-menu > li > a:focus,
body.tct-active #side-menu > li > a.active,
body.tct-active #side-menu > li.active > a,
body.tct-active .sidebar-nav a:hover {
  color: var(--tct-text) !important;
  background: linear-gradient(90deg, rgba(var(--tct-accent-rgb), 0.15), rgba(var(--tct-accent-2-rgb), 0.04)) !important;
  box-shadow: inset 3px 0 0 var(--tct-accent), inset 0 0 24px rgba(var(--tct-accent-rgb), 0.04);
}

body.tct-active .white-box,
body.tct-active .panel,
body.tct-active .modal-content,
body.tct-active .dropdown-menu,
body.tct-active .popover,
body.tct-active .sweet-alert,
body.tct-active .iziToast,
body.tct-active .list-group-item {
  color: var(--tct-text) !important;
  border: 1px solid var(--tct-border) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.035), transparent 46%),
    rgba(var(--tct-panel-rgb), 0.86) !important;
  box-shadow: var(--tct-shadow) !important;
  backdrop-filter: blur(15px) saturate(116%);
  -webkit-backdrop-filter: blur(15px) saturate(116%);
}

body.tct-active .panel-heading,
body.tct-active .panel-footer,
body.tct-active .modal-header,
body.tct-active .modal-footer,
body.tct-active .popover-title,
body.tct-active .dropdown-menu > li > a:hover,
body.tct-active .dropdown-menu > li > a:focus {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.76) !important;
}

body.tct-active .dropdown-menu > li > a,
body.tct-active .list-group-item,
body.tct-active .table,
body.tct-active .table td,
body.tct-active .table th,
body.tct-active label,
body.tct-active .control-label,
body.tct-active .help-block {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
}

body.tct-active .text-muted,
body.tct-active .small,
body.tct-active small,
body.tct-active .help-block,
body.tct-active .description {
  color: var(--tct-muted) !important;
}

body.tct-active .table-striped > tbody > tr:nth-of-type(odd),
body.tct-active .table-hover > tbody > tr:hover,
body.tct-active .table > tbody > tr.active > td {
  background: rgba(var(--tct-accent-rgb), 0.065) !important;
}

body.tct-active .form-control,
body.tct-active input[type="text"],
body.tct-active input[type="password"],
body.tct-active input[type="email"],
body.tct-active input[type="number"],
body.tct-active textarea,
body.tct-active select,
body.tct-active .input-group-addon,
body.tct-active .select2-container .select2-choice,
body.tct-active .select2-container--default .select2-selection--single {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.78) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

body.tct-active .form-control:focus,
body.tct-active input:focus,
body.tct-active textarea:focus,
body.tct-active select:focus {
  border-color: var(--tct-accent) !important;
  box-shadow: 0 0 0 3px rgba(var(--tct-accent-rgb), 0.13) !important;
  outline: none;
}

body.tct-active a:not(.btn),
body.tct-active .nav-tabs > li > a,
body.tct-active .vtabs .tabs-vertical li a {
  color: var(--tct-muted);
}

body.tct-active a:not(.btn):hover,
body.tct-active a:not(.btn):focus,
body.tct-active .nav-tabs > li.active > a,
body.tct-active .nav-tabs > li > a:hover,
body.tct-active .vtabs .tabs-vertical li.active a {
  color: var(--tct-accent) !important;
}

body.tct-active .nav-tabs,
body.tct-active .nav-tabs > li > a,
body.tct-active .vtabs .tabs-vertical {
  border-color: var(--tct-border) !important;
  background: transparent !important;
}

body.tct-active .nav-tabs > li.active > a,
body.tct-active .vtabs .tabs-vertical li.active a {
  border-color: var(--tct-border) var(--tct-border) transparent !important;
  background: rgba(var(--tct-accent-rgb), 0.1) !important;
  box-shadow: inset 0 2px 0 var(--tct-accent);
}

body.tct-active .btn-info,
body.tct-active .btn-primary,
body.tct-active .btn-org,
body.tct-active .label-info,
body.tct-active .progress-bar-info {
  color: #07100d !important;
  border-color: rgba(var(--tct-accent-rgb), 0.72) !important;
  background: linear-gradient(135deg, var(--tct-accent), var(--tct-accent-2)) !important;
  box-shadow: 0 8px 24px rgba(var(--tct-accent-rgb), 0.18) !important;
}

body.tct-active .btn-default,
body.tct-active .btn-outline {
  color: var(--tct-text) !important;
  border-color: var(--tct-border-strong) !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.76) !important;
}

body.tct-active hr,
body.tct-active .page-header,
body.tct-active .border-bottom,
body.tct-active .border-top {
  border-color: var(--tct-border) !important;
}

body.tct-active ::selection {
  color: var(--tct-bg);
  background: var(--tct-accent);
}

/* ---------- Ambient composition ---------- */

.tct-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

.tct-atmosphere > div {
  position: absolute;
  inset: 0;
}

.tct-atmosphere__backdrop {
  background: var(--tct-backdrop);
  transform: scale(1.04);
  animation: tct-breathe calc(18s * var(--tct-motion-factor, 1)) ease-in-out infinite alternate;
}

.tct-atmosphere__texture {
  opacity: 0.15;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.tct-atmosphere__halo {
  opacity: 0.95;
  background: var(--tct-halo);
  filter: blur(2px);
}

.tct-atmosphere__vignette {
  background: radial-gradient(ellipse at center, transparent 35%, rgba(0, 0, 0, 0.16) 72%, rgba(0, 0, 0, 0.45) 100%);
}

.tct-atmosphere__scene {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.tct-atmosphere__particles {
  overflow: hidden;
}

.tct-atmosphere__particle {
  position: absolute;
  top: var(--tct-y);
  left: var(--tct-x);
  width: var(--tct-size);
  height: var(--tct-size);
  border-radius: 50%;
  opacity: 0;
  background: var(--tct-accent);
  box-shadow: 0 0 12px rgba(var(--tct-accent-rgb), 0.8);
  animation: tct-ambient-drift var(--tct-duration) ease-in-out var(--tct-delay) infinite;
}

.tct-atmosphere__particle:nth-child(3n) {
  background: var(--tct-accent-2);
  box-shadow: 0 0 14px rgba(var(--tct-accent-2-rgb), 0.65);
}

.tct-atmosphere--stPatricks .tct-atmosphere__texture {
  background-image:
    repeating-linear-gradient(120deg, transparent 0 34px, rgba(213, 184, 102, 0.025) 34px 35px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.tct-atmosphere--halloween .tct-atmosphere__texture {
  opacity: 0.2;
  background-image:
    repeating-radial-gradient(ellipse at 72% 8%, transparent 0 38px, rgba(255, 135, 56, 0.025) 39px 40px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.62' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E");
}

.tct-atmosphere--snow .tct-atmosphere__texture {
  opacity: 0.22;
  background-image:
    linear-gradient(115deg, transparent 44%, rgba(225, 244, 255, 0.035) 45%, transparent 46%),
    linear-gradient(25deg, transparent 47%, rgba(139, 211, 255, 0.025) 48%, transparent 49%);
  background-size: 170px 170px, 230px 230px;
}

.tct-atmosphere--valentines .tct-atmosphere__texture {
  opacity: 0.16;
  background-image:
    repeating-linear-gradient(128deg, transparent 0 45px, rgba(225, 181, 166, 0.03) 46px 47px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.68' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.tct-atmosphere--newYear .tct-atmosphere__texture {
  opacity: 0.18;
  background-image:
    repeating-conic-gradient(from 12deg at 50% 120%, transparent 0deg 5deg, rgba(230, 198, 108, 0.025) 5.2deg 5.6deg),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}

.tct-atmosphere--easter .tct-atmosphere__backdrop {
  animation: none;
  transform: none;
}

.tct-atmosphere--independenceDay .tct-atmosphere__backdrop {
  animation: none;
  transform: none;
}

.tct-atmosphere--thanksgiving .tct-atmosphere__backdrop {
  animation: none;
  transform: none;
}

.tct-atmosphere--christmas .tct-atmosphere__backdrop {
  animation: none;
  transform: none;
}

/* ---------- Theme-specific polish ---------- */

body.tct-theme-stPatricks .panel-heading {
  box-shadow: inset 0 1px 0 rgba(213, 184, 102, 0.13);
}

body.tct-theme-stPatricks .homepage-item h1,
body.tct-theme-stPatricks .homepage-item h2,
body.tct-theme-stPatricks #tallynet-greeting {
  text-shadow: 0 0 24px rgba(88, 214, 141, 0.16);
}

body.tct-theme-halloween #page-wrapper h1,
body.tct-theme-halloween #page-wrapper h2,
body.tct-theme-halloween #page-wrapper h3,
body.tct-theme-halloween .panel-title,
body.tct-theme-halloween #tallynet-gp,
body.tct-theme-halloween #tallynet-greeting {
  color: #f3d2a8 !important;
  font-family: Copperplate, "Copperplate Gothic Light", "Palatino Linotype", Georgia, serif !important;
  letter-spacing: 0.045em;
  text-shadow: 0 2px 18px rgba(255, 100, 24, 0.2);
}

/* Organizr places the hamburger and "Navigation" inside this h3. Keep its metrics native. */
body.tct-theme-halloween .sidebar .sidebar-head h3 {
  margin: 10px 0 !important;
  color: var(--tct-text) !important;
  font-family: Rubik, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 30px !important;
  letter-spacing: normal !important;
  text-shadow: none !important;
  text-transform: none !important;
  animation: none !important;
  mix-blend-mode: normal !important;
}

body.tct-theme-halloween .white-box,
body.tct-theme-halloween .panel {
  background:
    linear-gradient(135deg, rgba(255, 135, 56, 0.04), transparent 34%),
    rgba(var(--tct-panel-rgb), 0.9) !important;
}

body.tct-theme-snow .white-box,
body.tct-theme-snow .panel {
  box-shadow: inset 0 1px 0 rgba(225, 244, 255, 0.1), var(--tct-shadow) !important;
}

body.tct-theme-valentines .white-box,
body.tct-theme-valentines .panel {
  background:
    linear-gradient(145deg, rgba(255, 113, 157, 0.045), transparent 38%),
    rgba(var(--tct-panel-rgb), 0.88) !important;
}

body.tct-theme-valentines #tallynet-greeting,
body.tct-theme-valentines .homepage-item h1 {
  text-shadow: 0 0 28px rgba(255, 113, 157, 0.18);
}

body.tct-theme-newYear .white-box,
body.tct-theme-newYear .panel {
  box-shadow: inset 0 1px 0 rgba(230, 198, 108, 0.1), var(--tct-shadow) !important;
}

body.tct-theme-newYear .panel-heading {
  background:
    linear-gradient(90deg, rgba(230, 198, 108, 0.08), transparent 45%),
    rgba(var(--tct-panel-strong-rgb), 0.78) !important;
}

/* Easter: sunlit paper, garden edging, and rounded spring controls. */
body.tct-theme-easter .navbar,
body.tct-theme-easter .sidebar {
  background:
    linear-gradient(135deg, rgba(246, 204, 222, 0.16), transparent 42%),
    rgba(var(--tct-nav-rgb), 0.94) !important;
  box-shadow: 0 10px 30px rgba(81, 68, 88, 0.13) !important;
}

body.tct-theme-easter .navbar::after {
  right: 0;
  left: 0;
  height: 7px;
  opacity: 0.78;
  background:
    radial-gradient(circle at 7px -1px, transparent 8px, #c995b3 8.5px 10px, transparent 10.5px) 0 0 / 28px 14px repeat-x;
}

body.tct-theme-easter .sidebar::after {
  top: 5%;
  bottom: 5%;
  width: 5px;
  opacity: 0.5;
  background: radial-gradient(circle, #6da087 0 2px, transparent 2.5px) 0 0 / 5px 17px repeat-y;
}

body.tct-theme-easter .sidebar .sidebar-head h3,
body.tct-theme-easter .sidebar-head i {
  color: #4d4254 !important;
}

body.tct-theme-easter .white-box,
body.tct-theme-easter .panel,
body.tct-theme-easter .modal-content,
body.tct-theme-easter .dropdown-menu,
body.tct-theme-easter .list-group-item {
  border-color: rgba(112, 89, 126, 0.22) !important;
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 5% 0%, rgba(238, 181, 208, 0.2), transparent 28%),
    radial-gradient(ellipse at 96% 100%, rgba(125, 185, 153, 0.16), transparent 31%),
    rgba(var(--tct-panel-rgb), 0.91) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), var(--tct-shadow) !important;
}

body.tct-theme-easter .panel-heading,
body.tct-theme-easter .panel-footer,
body.tct-theme-easter .modal-header,
body.tct-theme-easter .modal-footer {
  border-color: rgba(112, 89, 126, 0.18) !important;
  background:
    linear-gradient(90deg, rgba(236, 195, 216, 0.42), rgba(195, 222, 205, 0.38)),
    #f7f0f7 !important;
}

body.tct-theme-easter #page-wrapper h1,
body.tct-theme-easter #page-wrapper h2,
body.tct-theme-easter #page-wrapper h3,
body.tct-theme-easter .panel-title {
  color: #69465f !important;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0.018em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.tct-theme-easter #side-menu > li > a:hover,
body.tct-theme-easter #side-menu > li > a.active,
body.tct-theme-easter #side-menu > li.active > a {
  margin-right: 9px;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(90deg, rgba(166, 79, 123, 0.17), rgba(63, 135, 109, 0.13)) !important;
  box-shadow: inset 4px 0 0 #a64f7b, inset 0 0 0 1px rgba(112, 89, 126, 0.1) !important;
}

body.tct-theme-easter .form-control,
body.tct-theme-easter input[type="text"],
body.tct-theme-easter input[type="password"],
body.tct-theme-easter input[type="email"],
body.tct-theme-easter input[type="number"],
body.tct-theme-easter textarea,
body.tct-theme-easter select,
body.tct-theme-easter .input-group-addon {
  border-radius: 10px !important;
  background: rgba(255, 253, 249, 0.88) !important;
}

body.tct-theme-easter .table > thead > tr > th {
  color: #62495e !important;
  border-bottom: 2px solid rgba(166, 79, 123, 0.28) !important;
  background: linear-gradient(90deg, rgba(236, 195, 216, 0.34), rgba(195, 222, 205, 0.3)) !important;
}

body.tct-theme-easter .table-striped > tbody > tr:nth-of-type(odd),
body.tct-theme-easter .table-hover > tbody > tr:hover {
  background: rgba(102, 158, 128, 0.1) !important;
}

body.tct-theme-easter .nav-tabs > li.active > a,
body.tct-theme-easter .vtabs .tabs-vertical li.active a {
  color: #66415d !important;
  border-radius: 10px 10px 0 0;
  background: rgba(238, 211, 229, 0.72) !important;
  box-shadow: inset 0 3px 0 #6a9d83 !important;
}

body.tct-theme-easter .btn-info,
body.tct-theme-easter .btn-primary,
body.tct-theme-easter .btn-org,
body.tct-theme-easter .label-info,
body.tct-theme-easter .progress-bar-info {
  color: #fffafc !important;
  background: linear-gradient(135deg, #934166, #2f715a) !important;
}

/* Independence Day: crisp civic bands, star field, and parade-ribbon UI. */
body.tct-theme-independenceDay .navbar,
body.tct-theme-independenceDay .sidebar {
  background:
    linear-gradient(120deg, rgba(49, 91, 151, 0.18), transparent 46%, rgba(184, 39, 55, 0.1)),
    rgba(var(--tct-nav-rgb), 0.95) !important;
}

body.tct-theme-independenceDay .navbar::after {
  right: 0;
  left: 0;
  height: 4px;
  opacity: 1;
  background: linear-gradient(90deg, #d94253 0 33.333%, #f4f7ff 33.333% 66.666%, #568bd8 66.666%);
}

body.tct-theme-independenceDay .sidebar::after {
  top: 0;
  bottom: 0;
  width: 4px;
  opacity: 0.9;
  background: linear-gradient(180deg, #dc4656 0 33.333%, #eef3ff 33.333% 66.666%, #568bd8 66.666%);
}

body.tct-theme-independenceDay .white-box,
body.tct-theme-independenceDay .panel,
body.tct-theme-independenceDay .modal-content,
body.tct-theme-independenceDay .dropdown-menu,
body.tct-theme-independenceDay .list-group-item {
  border-color: rgba(128, 166, 218, 0.36) !important;
  border-radius: 4px;
  background:
    linear-gradient(90deg, rgba(220, 61, 78, 0.06), transparent 18% 82%, rgba(77, 130, 209, 0.08)),
    rgba(var(--tct-panel-rgb), 0.92) !important;
  box-shadow: inset 3px 0 0 rgba(220, 61, 78, 0.72), inset -3px 0 0 rgba(77, 130, 209, 0.72), var(--tct-shadow) !important;
}

body.tct-theme-independenceDay .panel-heading,
body.tct-theme-independenceDay .panel-footer,
body.tct-theme-independenceDay .modal-header,
body.tct-theme-independenceDay .modal-footer {
  border-bottom: 1px solid rgba(235, 241, 255, 0.26) !important;
  background:
    linear-gradient(90deg, rgba(202, 47, 65, 0.24), rgba(244, 247, 255, 0.04) 45% 55%, rgba(58, 111, 190, 0.26)),
    rgba(var(--tct-panel-strong-rgb), 0.9) !important;
}

body.tct-theme-independenceDay #page-wrapper h1,
body.tct-theme-independenceDay #page-wrapper h2,
body.tct-theme-independenceDay #page-wrapper h3,
body.tct-theme-independenceDay .panel-title {
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.065em;
  text-transform: uppercase;
  text-shadow: 0 2px 18px rgba(87, 139, 218, 0.26);
}

body.tct-theme-independenceDay #side-menu > li > a:hover,
body.tct-theme-independenceDay #side-menu > li > a.active,
body.tct-theme-independenceDay #side-menu > li.active > a {
  background: linear-gradient(90deg, rgba(218, 63, 80, 0.24), rgba(244, 247, 255, 0.08) 52%, rgba(75, 131, 214, 0.2)) !important;
  box-shadow: inset 4px 0 0 #ef5362, inset 0 -1px 0 rgba(244, 247, 255, 0.13) !important;
}

body.tct-theme-independenceDay .table > thead > tr > th {
  border-bottom: 3px solid transparent !important;
  border-image: linear-gradient(90deg, #e44e5d, #f4f7ff, #568bd8) 1 !important;
  background: rgba(11, 31, 61, 0.82) !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.tct-theme-independenceDay .form-control,
body.tct-theme-independenceDay input[type="text"],
body.tct-theme-independenceDay input[type="password"],
body.tct-theme-independenceDay input[type="email"],
body.tct-theme-independenceDay input[type="number"],
body.tct-theme-independenceDay textarea,
body.tct-theme-independenceDay select,
body.tct-theme-independenceDay .input-group-addon {
  border-left-color: rgba(239, 83, 98, 0.6) !important;
  border-right-color: rgba(111, 164, 238, 0.6) !important;
  background: rgba(8, 25, 51, 0.9) !important;
}

body.tct-theme-independenceDay .nav-tabs > li.active > a,
body.tct-theme-independenceDay .vtabs .tabs-vertical li.active a {
  color: #f7f9ff !important;
  background: linear-gradient(90deg, rgba(239, 83, 98, 0.2), rgba(111, 164, 238, 0.18)) !important;
  box-shadow: inset 0 3px 0 #f2f5ff !important;
}

body.tct-theme-independenceDay .btn-info,
body.tct-theme-independenceDay .btn-primary,
body.tct-theme-independenceDay .btn-org,
body.tct-theme-independenceDay .label-info {
  color: #fff !important;
  background: linear-gradient(110deg, #c62f43 0 47%, #285fac 53% 100%) !important;
  text-shadow: 0 1px 2px rgba(0, 12, 34, 0.55);
}

body.tct-theme-independenceDay .progress-bar-info {
  color: #fff !important;
  background: linear-gradient(90deg, #c62f43 0 48%, #285fac 52% 100%) !important;
}

/* Thanksgiving: parchment, woven linen, walnut navigation, and wheat trim. */
body.tct-theme-thanksgiving .navbar,
body.tct-theme-thanksgiving .sidebar {
  color: #f7ecd3 !important;
  border-color: rgba(228, 195, 131, 0.28) !important;
  background:
    repeating-linear-gradient(90deg, rgba(255, 241, 200, 0.018) 0 1px, transparent 1px 8px),
    linear-gradient(135deg, rgba(132, 75, 39, 0.3), transparent 52%),
    rgba(var(--tct-nav-rgb), 0.96) !important;
  box-shadow: 0 12px 32px rgba(62, 36, 18, 0.28) !important;
}

body.tct-theme-thanksgiving .navbar-top-links > li > a,
body.tct-theme-thanksgiving #side-menu > li > a,
body.tct-theme-thanksgiving #side-menu .nav-second-level > li > a,
body.tct-theme-thanksgiving .sidebar-nav a,
body.tct-theme-thanksgiving .navbar-brand,
body.tct-theme-thanksgiving .sidebar .sidebar-head h3,
body.tct-theme-thanksgiving .sidebar-head i {
  color: #ead9b8 !important;
}

body.tct-theme-thanksgiving .navbar::after {
  right: 0;
  left: 0;
  height: 4px;
  opacity: 0.8;
  background: repeating-linear-gradient(90deg, #b7632d 0 20px, #d4b16e 20px 40px, #718047 40px 60px);
}

body.tct-theme-thanksgiving .sidebar::after {
  top: 4%;
  bottom: 4%;
  width: 3px;
  opacity: 0.78;
  background: repeating-linear-gradient(180deg, #c7823c 0 12px, #d8bb79 12px 24px, #738047 24px 36px);
}

body.tct-theme-thanksgiving .white-box,
body.tct-theme-thanksgiving .panel,
body.tct-theme-thanksgiving .modal-content,
body.tct-theme-thanksgiving .dropdown-menu,
body.tct-theme-thanksgiving .list-group-item {
  color: #3e2a1d !important;
  border-color: rgba(105, 71, 40, 0.3) !important;
  border-radius: 8px;
  background:
    repeating-linear-gradient(0deg, rgba(91, 61, 34, 0.025) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.09) 0 1px, transparent 1px 8px),
    rgba(var(--tct-panel-rgb), 0.94) !important;
  box-shadow: inset 0 0 0 3px rgba(135, 91, 47, 0.055), var(--tct-shadow) !important;
}

body.tct-theme-thanksgiving .panel-heading,
body.tct-theme-thanksgiving .panel-footer,
body.tct-theme-thanksgiving .modal-header,
body.tct-theme-thanksgiving .modal-footer {
  color: #3e2a1d !important;
  border-color: rgba(105, 71, 40, 0.24) !important;
  background:
    repeating-linear-gradient(102deg, rgba(102, 69, 38, 0.04) 0 1px, transparent 1px 10px),
    linear-gradient(90deg, rgba(166, 79, 36, 0.2), rgba(109, 120, 66, 0.18)),
    rgba(var(--tct-panel-strong-rgb), 0.92) !important;
}

body.tct-theme-thanksgiving #page-wrapper h1,
body.tct-theme-thanksgiving #page-wrapper h2,
body.tct-theme-thanksgiving #page-wrapper h3,
body.tct-theme-thanksgiving .panel-title {
  color: #52331f !important;
  font-family: Palatino, "Palatino Linotype", Georgia, serif;
  letter-spacing: 0.025em;
  text-shadow: 0 1px 0 rgba(255, 245, 218, 0.72);
}

body.tct-theme-thanksgiving #side-menu > li > a:hover,
body.tct-theme-thanksgiving #side-menu > li > a.active,
body.tct-theme-thanksgiving #side-menu > li.active > a {
  color: #fff3d5 !important;
  background: linear-gradient(90deg, rgba(176, 78, 35, 0.72), rgba(100, 111, 58, 0.48)) !important;
  box-shadow: inset 4px 0 0 #e0bd78, inset 0 0 0 1px rgba(255, 237, 197, 0.08) !important;
}

body.tct-theme-thanksgiving .form-control,
body.tct-theme-thanksgiving input[type="text"],
body.tct-theme-thanksgiving input[type="password"],
body.tct-theme-thanksgiving input[type="email"],
body.tct-theme-thanksgiving input[type="number"],
body.tct-theme-thanksgiving textarea,
body.tct-theme-thanksgiving select,
body.tct-theme-thanksgiving .input-group-addon {
  color: #3e2a1d !important;
  background: rgba(255, 248, 228, 0.82) !important;
}

body.tct-theme-thanksgiving .table > thead > tr > th {
  color: #4f3421 !important;
  border-bottom: 2px solid #a26335 !important;
  background: rgba(218, 194, 146, 0.72) !important;
  font-family: Palatino, "Palatino Linotype", Georgia, serif;
}

body.tct-theme-thanksgiving .table-striped > tbody > tr:nth-of-type(odd),
body.tct-theme-thanksgiving .table-hover > tbody > tr:hover {
  background: rgba(109, 120, 66, 0.11) !important;
}

body.tct-theme-thanksgiving .nav-tabs > li.active > a,
body.tct-theme-thanksgiving .vtabs .tabs-vertical li.active a {
  color: #63381f !important;
  background: rgba(229, 208, 164, 0.8) !important;
  box-shadow: inset 0 3px 0 #a64f24 !important;
}

body.tct-theme-thanksgiving .btn-info,
body.tct-theme-thanksgiving .btn-primary,
body.tct-theme-thanksgiving .btn-org,
body.tct-theme-thanksgiving .label-info,
body.tct-theme-thanksgiving .progress-bar-info {
  color: #fff5df !important;
  background: linear-gradient(135deg, #94431f, #596732) !important;
}

body.tct-theme-thanksgiving ::selection {
  color: #fff8e8;
  background: #71371f;
}

/* Christmas: evergreen plaid, warm string lights, and gift-ribbon surfaces. */
body.tct-theme-christmas .navbar,
body.tct-theme-christmas .sidebar {
  background:
    repeating-linear-gradient(0deg, transparent 0 30px, rgba(224, 192, 110, 0.035) 30px 32px, transparent 32px 60px),
    repeating-linear-gradient(90deg, transparent 0 42px, rgba(211, 76, 89, 0.045) 42px 46px, transparent 46px 84px),
    rgba(var(--tct-nav-rgb), 0.96) !important;
  box-shadow: 0 12px 38px rgba(0, 8, 4, 0.42) !important;
}

body.tct-theme-christmas .navbar::after {
  right: 0;
  left: 0;
  height: 3px;
  opacity: 0.88;
  background: linear-gradient(90deg, #275f45, #e0c06e 22%, #c83e4e 50%, #e0c06e 78%, #275f45);
}

body.tct-theme-christmas .sidebar::after {
  top: 3%;
  bottom: 3%;
  width: 3px;
  opacity: 0.9;
  background: repeating-linear-gradient(180deg, #d7b75f 0 16px, #b93747 16px 30px, #2f7956 30px 46px);
}

body.tct-theme-christmas .white-box,
body.tct-theme-christmas .panel,
body.tct-theme-christmas .modal-content,
body.tct-theme-christmas .dropdown-menu,
body.tct-theme-christmas .list-group-item {
  border: 1px solid rgba(224, 192, 110, 0.4) !important;
  border-radius: 7px;
  background:
    linear-gradient(135deg, rgba(224, 192, 110, 0.075), transparent 24%),
    linear-gradient(315deg, rgba(202, 54, 68, 0.08), transparent 22%),
    rgba(var(--tct-panel-rgb), 0.93) !important;
  box-shadow: inset 0 0 0 3px rgba(224, 192, 110, 0.055), inset 0 1px 0 rgba(255, 244, 206, 0.11), var(--tct-shadow) !important;
}

body.tct-theme-christmas .panel-heading,
body.tct-theme-christmas .panel-footer,
body.tct-theme-christmas .modal-header,
body.tct-theme-christmas .modal-footer {
  border-color: rgba(224, 192, 110, 0.3) !important;
  background:
    linear-gradient(90deg, rgba(190, 47, 62, 0.3) 0 7px, transparent 7px),
    linear-gradient(90deg, rgba(224, 192, 110, 0.14), transparent 42%, rgba(190, 47, 62, 0.1)),
    rgba(var(--tct-panel-strong-rgb), 0.92) !important;
}

body.tct-theme-christmas #page-wrapper h1,
body.tct-theme-christmas #page-wrapper h2,
body.tct-theme-christmas #page-wrapper h3,
body.tct-theme-christmas .panel-title {
  color: #f1dda0 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-variant: small-caps;
  letter-spacing: 0.055em;
  text-shadow: 0 2px 18px rgba(224, 192, 110, 0.24);
}

body.tct-theme-christmas #side-menu > li > a:hover,
body.tct-theme-christmas #side-menu > li > a.active,
body.tct-theme-christmas #side-menu > li.active > a {
  color: #fff4d8 !important;
  background: linear-gradient(90deg, rgba(195, 49, 64, 0.58), rgba(32, 101, 70, 0.26)) !important;
  box-shadow: inset 4px 0 0 #e0c06e, inset 0 1px 0 rgba(255, 243, 205, 0.08) !important;
}

body.tct-theme-christmas .table > thead > tr > th {
  color: #f3dfa1 !important;
  border-bottom: 2px solid #c74755 !important;
  background: rgba(14, 54, 39, 0.86) !important;
  font-variant: small-caps;
  letter-spacing: 0.045em;
}

body.tct-theme-christmas .table-striped > tbody > tr:nth-of-type(odd),
body.tct-theme-christmas .table-hover > tbody > tr:hover {
  background: rgba(199, 55, 70, 0.1) !important;
}

body.tct-theme-christmas .form-control,
body.tct-theme-christmas input[type="text"],
body.tct-theme-christmas input[type="password"],
body.tct-theme-christmas input[type="email"],
body.tct-theme-christmas input[type="number"],
body.tct-theme-christmas textarea,
body.tct-theme-christmas select,
body.tct-theme-christmas .input-group-addon {
  border-color: rgba(224, 192, 110, 0.34) !important;
  background: rgba(5, 29, 20, 0.9) !important;
}

body.tct-theme-christmas .nav-tabs > li.active > a,
body.tct-theme-christmas .vtabs .tabs-vertical li.active a {
  color: #f4dfa1 !important;
  background: linear-gradient(90deg, rgba(197, 51, 66, 0.26), rgba(35, 107, 74, 0.22)) !important;
  box-shadow: inset 0 3px 0 #e0c06e !important;
}

body.tct-theme-christmas .btn-info,
body.tct-theme-christmas .btn-primary,
body.tct-theme-christmas .btn-org,
body.tct-theme-christmas .progress-bar-info {
  color: #fff8e8 !important;
  background: linear-gradient(135deg, #bd3546, #8a2636 48%, #1f6c4a 49%, #164e37) !important;
  box-shadow: 0 8px 25px rgba(190, 48, 64, 0.22), inset 0 0 0 1px rgba(224, 192, 110, 0.4) !important;
}

/* The four newest themes deliberately share the restrained component language
   of the original themes. Their palettes and one quiet motif provide identity. */
body.tct-scene-theme .navbar,
body.tct-scene-theme .sidebar {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: rgba(var(--tct-nav-rgb), 0.93) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28) !important;
}

body.tct-scene-theme .navbar::after {
  right: 4%;
  left: 4%;
  height: 1px;
  opacity: 0.5;
  background: linear-gradient(90deg, transparent, var(--tct-accent), var(--tct-accent-2), transparent);
}

body.tct-scene-theme .sidebar::after {
  top: 8%;
  bottom: 8%;
  width: 1px;
  opacity: 0.5;
  background: linear-gradient(180deg, transparent, var(--tct-accent), transparent);
}

body.tct-scene-theme .navbar-top-links > li > a,
body.tct-scene-theme #side-menu > li > a,
body.tct-scene-theme #side-menu .nav-second-level > li > a,
body.tct-scene-theme .sidebar-nav a,
body.tct-scene-theme .navbar-brand,
body.tct-scene-theme .sidebar .sidebar-head h3,
body.tct-scene-theme .sidebar-head i {
  color: var(--tct-muted) !important;
}

body.tct-scene-theme .white-box,
body.tct-scene-theme .panel,
body.tct-scene-theme .modal-content,
body.tct-scene-theme .dropdown-menu,
body.tct-scene-theme .popover,
body.tct-scene-theme .sweet-alert,
body.tct-scene-theme .iziToast,
body.tct-scene-theme .list-group-item {
  color: var(--tct-text) !important;
  border: 1px solid var(--tct-border) !important;
  border-radius: 6px;
  background: rgba(var(--tct-panel-rgb), 0.9) !important;
  box-shadow: var(--tct-shadow) !important;
}

body.tct-scene-theme .panel-heading,
body.tct-scene-theme .panel-footer,
body.tct-scene-theme .modal-header,
body.tct-scene-theme .modal-footer,
body.tct-scene-theme .popover-title {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.82) !important;
}

body.tct-scene-theme #page-wrapper h1,
body.tct-scene-theme #page-wrapper h2,
body.tct-scene-theme #page-wrapper h3,
body.tct-scene-theme .panel-title {
  color: var(--tct-text) !important;
  font-family: inherit;
  font-variant: normal;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  text-shadow: none;
}

body.tct-scene-theme #side-menu > li > a:hover,
body.tct-scene-theme #side-menu > li > a:focus,
body.tct-scene-theme #side-menu > li > a.active,
body.tct-scene-theme #side-menu > li.active > a {
  color: var(--tct-text) !important;
  margin-right: 0;
  border-radius: 0;
  background: rgba(var(--tct-accent-rgb), 0.1) !important;
  box-shadow: inset 3px 0 0 var(--tct-accent) !important;
}

body.tct-scene-theme .form-control,
body.tct-scene-theme input[type="text"],
body.tct-scene-theme input[type="password"],
body.tct-scene-theme input[type="email"],
body.tct-scene-theme input[type="number"],
body.tct-scene-theme textarea,
body.tct-scene-theme select,
body.tct-scene-theme .input-group-addon {
  color: var(--tct-text) !important;
  border-color: var(--tct-border) !important;
  border-radius: 4px !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.78) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

body.tct-scene-theme .table > thead > tr > th {
  color: var(--tct-text) !important;
  border-bottom: 1px solid var(--tct-border-strong) !important;
  border-image: none !important;
  background: rgba(var(--tct-panel-strong-rgb), 0.72) !important;
  font-family: inherit;
  font-variant: normal;
  letter-spacing: 0.01em;
  text-transform: none;
}

body.tct-scene-theme .table-striped > tbody > tr:nth-of-type(odd),
body.tct-scene-theme .table-hover > tbody > tr:hover {
  background: rgba(var(--tct-accent-rgb), 0.055) !important;
}

body.tct-scene-theme .nav-tabs > li.active > a,
body.tct-scene-theme .vtabs .tabs-vertical li.active a {
  color: var(--tct-accent) !important;
  border-color: var(--tct-border) var(--tct-border) transparent !important;
  border-radius: 0;
  background: rgba(var(--tct-accent-rgb), 0.09) !important;
  box-shadow: inset 0 2px 0 var(--tct-accent) !important;
}

body.tct-scene-theme .btn-info,
body.tct-scene-theme .btn-primary,
body.tct-scene-theme .btn-org,
body.tct-scene-theme .label-info,
body.tct-scene-theme .progress-bar-info {
  color: #07100d !important;
  border-color: rgba(var(--tct-accent-rgb), 0.72) !important;
  background: linear-gradient(135deg, var(--tct-accent), var(--tct-accent-2)) !important;
  box-shadow: 0 8px 24px rgba(var(--tct-accent-rgb), 0.16) !important;
  text-shadow: none;
}

body.tct-scene-theme .tct-atmosphere__vignette {
  opacity: 1;
  background: radial-gradient(ellipse at center, transparent 48%, rgba(0, 0, 0, 0.26) 100%);
}

/* These palette-led themes use opaque-enough surfaces; live backdrop sampling only
   adds paint work without improving their legibility. */
body.tct-scene-theme .white-box,
body.tct-scene-theme .panel,
body.tct-scene-theme .modal-content,
body.tct-scene-theme .dropdown-menu,
body.tct-scene-theme .popover,
body.tct-scene-theme .sweet-alert,
body.tct-scene-theme .iziToast,
body.tct-scene-theme .list-group-item {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.tct-scene-theme .list-group-item {
  box-shadow: none !important;
}

body.tct-scene-theme .tct-atmosphere__halo {
  filter: none;
}

/* ---------- Sidebar character ---------- */

body.tct-theme-halloween #side-menu > li > a i,
body.tct-theme-halloween #side-menu > li > a > img.fa-fw,
body.tct-theme-halloween .sidebar-head i {
  color: #f0b171;
  animation: tct-halloween-icon-flicker var(--tct-halloween-flicker-duration, 3.5s) linear infinite;
  will-change: color, filter, opacity;
}

body.tct-theme-halloween #side-menu > li:nth-child(3n + 1) > a i,
body.tct-theme-halloween #side-menu > li:nth-child(3n + 1) > a > img.fa-fw {
  animation-delay: -1.15s;
}

body.tct-theme-halloween #side-menu > li:nth-child(3n + 2) > a i,
body.tct-theme-halloween #side-menu > li:nth-child(3n + 2) > a > img.fa-fw {
  animation-delay: -2.6s;
}

body.tct-theme-stPatricks #side-menu > li > a.active i,
body.tct-theme-stPatricks #side-menu > li.active > a i,
body.tct-theme-stPatricks #side-menu > li > a.active > img.fa-fw,
body.tct-theme-stPatricks #side-menu > li.active > a > img.fa-fw {
  animation: tct-emerald-gold-glint calc(5.6s * var(--tct-motion-factor, 1)) ease-in-out infinite;
}

body.tct-theme-snow #side-menu > li > a i,
body.tct-theme-snow #side-menu > li > a > img.fa-fw,
body.tct-theme-snow .sidebar-head i {
  animation: tct-ice-glint calc(7.4s * var(--tct-motion-factor, 1)) ease-in-out infinite;
}

body.tct-theme-snow #side-menu > li:nth-child(even) > a i,
body.tct-theme-snow #side-menu > li:nth-child(even) > a > img.fa-fw {
  animation-delay: -3.1s;
}

body.tct-theme-valentines #side-menu > li > a.active i,
body.tct-theme-valentines #side-menu > li.active > a i,
body.tct-theme-valentines #side-menu > li > a.active > img.fa-fw,
body.tct-theme-valentines #side-menu > li.active > a > img.fa-fw {
  animation: tct-rose-pulse calc(3.4s * var(--tct-motion-factor, 1)) ease-in-out infinite;
}

body.tct-theme-newYear #side-menu > li > a i,
body.tct-theme-newYear #side-menu > li > a > img.fa-fw,
body.tct-theme-newYear .sidebar-head i {
  animation: tct-champagne-reflection calc(6.2s * var(--tct-motion-factor, 1)) ease-in-out infinite;
}

body.tct-theme-newYear #side-menu > li:nth-child(3n) > a i,
body.tct-theme-newYear #side-menu > li:nth-child(3n) > a > img.fa-fw {
  animation-delay: -2.4s;
}

body.tct-theme-easter #side-menu > li > a.active i,
body.tct-theme-easter #side-menu > li.active > a i,
body.tct-theme-easter #side-menu > li > a.active > img.fa-fw,
body.tct-theme-easter #side-menu > li.active > a > img.fa-fw {
  color: #d59ab8 !important;
  filter: none !important;
  animation: none !important;
}

body.tct-theme-independenceDay #side-menu > li > a.active i,
body.tct-theme-independenceDay #side-menu > li.active > a i,
body.tct-theme-independenceDay #side-menu > li > a.active > img.fa-fw,
body.tct-theme-independenceDay #side-menu > li.active > a > img.fa-fw {
  color: #c96772 !important;
  filter: none !important;
  animation: none !important;
}

body.tct-theme-thanksgiving #side-menu > li > a.active i,
body.tct-theme-thanksgiving #side-menu > li.active > a i,
body.tct-theme-thanksgiving #side-menu > li > a.active > img.fa-fw,
body.tct-theme-thanksgiving #side-menu > li.active > a > img.fa-fw {
  color: #c47c4e !important;
  filter: none !important;
  animation: none !important;
}

body.tct-theme-christmas #side-menu > li > a.active i,
body.tct-theme-christmas #side-menu > li.active > a i,
body.tct-theme-christmas #side-menu > li > a.active > img.fa-fw,
body.tct-theme-christmas #side-menu > li.active > a > img.fa-fw {
  color: #c9ad70 !important;
  filter: none !important;
  animation: none !important;
}

/* ---------- Foreground seasonal accents ---------- */

.tct-seasonal-effects {
  position: fixed;
  inset: 0;
  z-index: 100000;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

.tct-seasonal-effects > span {
  position: absolute;
  pointer-events: none;
}

.tct-seasonal-effects.tct-is-paused * {
  animation-play-state: paused !important;
}

.tct-gold-mote {
  left: var(--tct-left);
  bottom: -14px;
  width: var(--tct-mote-size);
  height: var(--tct-mote-size);
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle at 34% 30%, #fff8c7 0 10%, #d5b866 34%, #80601e 70%, transparent 74%);
  box-shadow: 0 0 9px rgba(232, 200, 105, 0.78), 0 0 22px rgba(213, 184, 102, 0.25);
  animation: tct-gold-mote-rise var(--tct-mote-duration) ease-in var(--tct-mote-delay) infinite;
  will-change: transform, opacity;
}

.tct-gold-mote--emerald {
  background: radial-gradient(circle at 34% 30%, #effff4 0 10%, #65e19b 34%, #17633b 70%, transparent 74%);
  box-shadow: 0 0 9px rgba(88, 214, 141, 0.72), 0 0 22px rgba(40, 151, 88, 0.22);
}

.tct-halloween-ember {
  left: var(--tct-left);
  bottom: -12px;
  width: var(--tct-ember-size);
  height: var(--tct-ember-size);
  border-radius: 50%;
  opacity: 0;
  background: #ffd09a;
  box-shadow: 0 0 5px #ffb05d, 0 0 14px rgba(255, 91, 22, 0.85), 0 0 28px rgba(180, 34, 5, 0.32);
  animation: tct-ember-rise var(--tct-ember-duration) ease-out var(--tct-ember-delay) infinite;
  will-change: transform, opacity;
}

.tct-halloween-wisp {
  top: var(--tct-wisp-top);
  left: calc(var(--tct-wisp-width) * -1.2);
  width: var(--tct-wisp-width);
  height: 28px;
  border-radius: 50%;
  opacity: 0;
  background:
    radial-gradient(ellipse at 38% 50%, rgba(202, 194, 218, 0.28), transparent 38%),
    linear-gradient(90deg, transparent, rgba(130, 115, 146, 0.16) 46%, transparent);
  filter: blur(7px);
  mix-blend-mode: screen;
  animation: tct-wisp-cross var(--tct-wisp-duration) ease-in-out var(--tct-wisp-delay) infinite;
  will-change: transform, opacity;
}

.tct-halloween-lightning {
  inset: 0;
  opacity: 0;
  background:
    radial-gradient(ellipse at 74% 0%, rgba(223, 213, 255, 0.18), transparent 42%),
    linear-gradient(112deg, transparent 0 67%, rgba(226, 214, 255, 0.07) 69%, transparent 72%);
  mix-blend-mode: screen;
}

.tct-halloween-lightning--flash {
  animation: tct-haunted-lightning 1.05s linear 1;
}

/* ---------- Snow ---------- */

.tct-snow-container,
.tct-hearts-container {
  position: fixed;
  inset: 0;
  z-index: 100000;
  overflow: hidden;
  pointer-events: none;
}

.tct-snowflake {
  position: absolute;
  top: -18px;
  width: var(--tct-snow-size);
  height: var(--tct-snow-size);
  border-radius: 50%;
  background: rgba(238, 249, 255, 0.92);
  box-shadow: 0 0 8px rgba(165, 222, 255, 0.72), 0 0 2px #fff;
  filter: blur(var(--tct-snow-blur, 0));
  animation: tct-snowfall linear forwards;
  will-change: transform;
}

.tct-snowflake::after {
  content: "";
  position: absolute;
  inset: 35%;
  border-radius: inherit;
  background: #fff;
  box-shadow: 0 0 5px #fff;
}

.tct-snowflake--crystal {
  border-radius: 0;
  background:
    linear-gradient(0deg, transparent 44%, rgba(239, 250, 255, 0.96) 45% 55%, transparent 56%),
    linear-gradient(60deg, transparent 44%, rgba(239, 250, 255, 0.96) 45% 55%, transparent 56%),
    linear-gradient(120deg, transparent 44%, rgba(239, 250, 255, 0.96) 45% 55%, transparent 56%);
  box-shadow: none;
  filter: blur(var(--tct-snow-blur, 0)) drop-shadow(0 0 5px rgba(171, 224, 255, 0.82));
}

.tct-snowflake--crystal::after {
  content: none;
}

/* ---------- Valentines ---------- */

.tct-heart {
  position: absolute;
  width: var(--tct-heart-size);
  height: var(--tct-heart-size);
  border-radius: 2px 3px 2px 3px;
  background: var(--tct-heart-color);
  filter: drop-shadow(0 3px 7px rgba(52, 4, 31, 0.38));
  transform: rotate(45deg);
}

.tct-heart::before,
.tct-heart::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
}

.tct-heart::before { left: -50%; }
.tct-heart::after { top: -50%; }

.tct-heart--float {
  bottom: -52px;
  opacity: 0.85;
  animation: tct-heart-float linear forwards;
  will-change: transform, opacity;
}

.tct-heart--glass {
  background: linear-gradient(135deg, rgba(255, 245, 248, 0.88), var(--tct-heart-color) 44%, rgba(128, 20, 65, 0.78));
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.42);
}

.tct-heart--burst {
  z-index: 100001;
  animation: tct-heart-burst ease-out forwards;
}

.tct-love-spark {
  position: absolute;
  z-index: 100001;
  width: var(--tct-spark-size);
  height: var(--tct-spark-size);
  border-radius: 50%;
  background: #fff8fa;
  box-shadow: 0 0 5px #fff, 0 0 13px var(--tct-heart-color);
}

.tct-love-spark--burst {
  animation: tct-love-spark-burst ease-out forwards;
}

.tct-valentines-glow,
.tct-valentines-vignette {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.tct-valentines-glow {
  opacity: 0.72;
  background:
    radial-gradient(ellipse 760px 520px at 14% 18%, rgba(255, 94, 147, 0.07), transparent 62%),
    radial-gradient(ellipse 700px 500px at 88% 82%, rgba(221, 151, 139, 0.055), transparent 62%);
}

.tct-valentines-vignette {
  background: radial-gradient(ellipse at center, transparent 48%, rgba(35, 2, 23, 0.12) 100%);
}

/* ---------- Easter garden ---------- */

.tct-easter-effects,
.tct-independence-effects,
.tct-harvest-effects,
.tct-christmas-effects {
  position: fixed;
  inset: 0;
  z-index: 100000;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

.tct-easter-effects.tct-is-paused *,
.tct-independence-effects.tct-is-paused *,
.tct-harvest-effects.tct-is-paused *,
.tct-christmas-effects.tct-is-paused * {
  animation-play-state: paused !important;
}

.tct-easter-petal {
  position: absolute;
  top: -8vh;
  left: var(--tct-left);
  width: calc(var(--tct-petal-size) * 0.72);
  height: var(--tct-petal-size);
  border-radius: 78% 12% 72% 24%;
  opacity: 0;
  background: linear-gradient(145deg, #fff7fc 0 12%, #f2b9d1 44%, #b779ae 100%);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.48), 0 3px 7px rgba(51, 17, 55, 0.24);
  transform-origin: 50% 100%;
  animation: tct-petal-fall var(--tct-petal-duration) cubic-bezier(0.35, 0, 0.65, 1) var(--tct-petal-delay) infinite;
}

.tct-easter-petal--2 {
  background: linear-gradient(145deg, #fffaff 0 10%, #cfb5f0 46%, #8466b7 100%);
}

.tct-easter-petal--3 {
  background: linear-gradient(145deg, #f5fff9 0 12%, #a8e6cf 46%, #4d9b7d 100%);
}

.tct-easter-petal--4 {
  background: linear-gradient(145deg, #fffdf2 0 12%, #f2d59b 48%, #bc8e42 100%);
}

.tct-easter-butterfly {
  position: absolute;
  top: var(--tct-butterfly-top);
  left: -42px;
  width: 4px;
  height: 9px;
  border-radius: 60%;
  color: #a64f7b;
  background: #554553;
  filter: drop-shadow(0 2px 2px rgba(63, 55, 76, 0.18));
  animation: tct-butterfly-flight var(--tct-butterfly-duration) linear var(--tct-butterfly-delay) infinite;
}

.tct-easter-butterfly::before,
.tct-easter-butterfly::after {
  content: "";
  position: absolute;
  top: -1px;
  width: 9px;
  height: 12px;
  background: currentColor;
  border: 1px solid rgba(255, 255, 255, 0.48);
}

.tct-easter-butterfly::before {
  right: 2px;
  border-radius: 90% 18% 72% 28%;
  transform-origin: 100% 58%;
  animation: tct-butterfly-wing-left var(--tct-wing-duration) ease-in-out infinite alternate;
}

.tct-easter-butterfly::after {
  left: 2px;
  border-radius: 18% 90% 28% 72%;
  transform-origin: 0 58%;
  animation: tct-butterfly-wing-right var(--tct-wing-duration) ease-in-out infinite alternate;
}

.tct-easter-butterfly--2 { color: #8d70b7; }
.tct-easter-butterfly--3 { color: #4b987a; }
.tct-easter-butterfly--4 { color: #d59a42; }

.tct-easter-bloom-petal,
.tct-easter-bloom-center {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.tct-easter-bloom-petal {
  width: 9px;
  height: 15px;
  margin: -7px 0 0 -4px;
  border-radius: 78% 12% 72% 24%;
  background: linear-gradient(145deg, #fff8fc, #f0b9d5 55%, #9e6abb);
  box-shadow: 0 0 8px rgba(220, 182, 255, 0.5);
  animation: tct-bloom-burst ease-out forwards;
}

.tct-easter-bloom-center {
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff9c9, #e8b857 52%, #9f6820);
  box-shadow: 0 0 15px rgba(255, 222, 120, 0.72);
  animation: tct-bloom-center ease-out forwards;
}

/* ---------- Independence Day ---------- */

.tct-patriotic-star {
  position: absolute;
  top: var(--tct-y);
  left: var(--tct-x);
  width: var(--tct-star-size);
  height: var(--tct-star-size);
  color: #edf4ff;
  opacity: 0.12;
  background: currentColor;
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 94%, 50% 72%, 21% 94%, 32% 57%, 2% 35%, 39% 35%);
  filter: none;
  animation: tct-patriotic-star-pulse var(--tct-star-duration) ease-in-out var(--tct-star-delay) infinite;
}

.tct-patriotic-star--red { color: #ff6471; }
.tct-patriotic-star--blue { color: #6599ec; }

.tct-patriotic-confetti {
  position: absolute;
  z-index: 2;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  color: #f4f7ff;
  background: currentColor;
  clip-path: polygon(50% 0, 62% 35%, 100% 36%, 69% 58%, 80% 96%, 50% 73%, 20% 96%, 31% 58%, 0 36%, 38% 35%);
  filter: drop-shadow(0 2px 3px rgba(0, 13, 38, 0.28));
  animation: tct-patriotic-confetti-burst ease-out forwards;
}

.tct-patriotic-confetti--1 { color: #ef5362; }
.tct-patriotic-confetti--3 { color: #6fa4ee; }

/* ---------- Thanksgiving harvest ---------- */

.tct-harvest-leaf {
  position: absolute;
  top: -32px;
  left: var(--tct-left);
  width: var(--tct-leaf-size);
  height: calc(var(--tct-leaf-size) * 1.18);
  opacity: 0;
  background: linear-gradient(145deg, #e6a04a, #a9441f 62%, #5f2613);
  box-shadow: inset 1px 1px 0 rgba(255, 224, 164, 0.2), 0 4px 9px rgba(35, 12, 2, 0.34);
  animation: tct-leaf-fall var(--tct-leaf-duration) ease-in-out var(--tct-leaf-delay) infinite;
}

.tct-harvest-leaf::after {
  content: "";
  position: absolute;
  top: 7%;
  bottom: 5%;
  left: 49%;
  width: 1px;
  opacity: 0.42;
  background: rgba(85, 35, 14, 0.85);
  transform: rotate(5deg);
}

.tct-harvest-leaf--1 {
  border-radius: 90% 4% 84% 8%;
  transform-origin: 50% 90%;
}

.tct-harvest-leaf--2 {
  clip-path: polygon(50% 0, 61% 24%, 83% 12%, 78% 39%, 100% 50%, 75% 59%, 79% 89%, 55% 72%, 50% 100%, 44% 72%, 20% 89%, 25% 59%, 0 50%, 22% 39%, 17% 12%, 39% 24%);
}

.tct-harvest-leaf--3 {
  clip-path: polygon(50% 0, 66% 22%, 91% 20%, 78% 45%, 100% 63%, 68% 65%, 50% 100%, 32% 65%, 0 63%, 22% 45%, 9% 20%, 34% 22%);
}

.tct-harvest-tone--2 { background: linear-gradient(145deg, #f0bd58, #c66b26 58%, #743018); }
.tct-harvest-tone--3 { background: linear-gradient(145deg, #c78739, #8e3b25 58%, #4d2118); }
.tct-harvest-tone--4 { background: linear-gradient(145deg, #b4a05a, #70733c 58%, #394428); }

.tct-harvest-leaf--burst {
  top: auto;
  opacity: 0.96;
  animation-name: tct-leaf-gust;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-timing-function: cubic-bezier(0.18, 0.72, 0.22, 1);
  animation-fill-mode: forwards;
}

.tct-harvest-chaff {
  position: absolute;
  top: var(--tct-chaff-top);
  left: -26px;
  width: var(--tct-chaff-size);
  height: calc(var(--tct-chaff-size) * 0.38);
  border-radius: 90% 12% 88% 14%;
  opacity: 0;
  background: #c49955;
  box-shadow: inset 1px 0 rgba(255, 236, 186, 0.36);
  animation: tct-harvest-chaff-drift var(--tct-chaff-duration) linear var(--tct-chaff-delay) infinite;
}

.tct-harvest-chaff--2 { background: #8f713c; }
.tct-harvest-chaff--3 { background: #7b8147; }

/* ---------- Christmas starlight ---------- */

.tct-christmas-bough {
  position: absolute;
  top: -32px;
  left: -22px;
  width: 310px;
  height: 174px;
  opacity: 0.9;
  background: url("assets/christmas-bough.svg") left bottom / contain no-repeat;
  filter: drop-shadow(0 5px 10px rgba(0, 18, 10, 0.62));
  transform: scaleY(-1) rotate(-2deg);
  transform-origin: 10% 12%;
}

.tct-christmas-bough--right {
  right: -18px;
  left: auto;
  transform: scale(-1, -1) rotate(-2deg);
}

.tct-christmas-light-strand {
  position: absolute;
  top: 46px;
  right: 3%;
  left: 3%;
  height: 42px;
  border-top: 2px solid rgba(20, 39, 26, 0.92);
  border-radius: 50% 50% 0 0;
  filter: none;
}

.tct-christmas-bulb {
  position: absolute;
  top: var(--tct-bulb-drop);
  left: var(--tct-bulb-x);
  width: 7px;
  height: 10px;
  color: #e6c66f;
  border-radius: 45% 45% 60% 60%;
  background: currentColor;
  box-shadow: 0 0 4px currentColor;
  transform: translateX(-50%);
  animation: tct-christmas-bulb-glow var(--tct-bulb-duration) ease-in-out var(--tct-bulb-delay) infinite;
}

.tct-christmas-bulb::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 2px;
  width: 3px;
  height: calc(var(--tct-bulb-drop) + 3px);
  border-left: 1px solid rgba(27, 50, 34, 0.9);
}

.tct-christmas-bulb--2 { color: #d74d5b; }
.tct-christmas-bulb--3 { color: #70b68c; }
.tct-christmas-bulb--4 { color: #f4eee0; }

.tct-christmas-star {
  position: absolute;
  top: var(--tct-y);
  left: var(--tct-x);
  width: var(--tct-star-size);
  height: var(--tct-star-size);
  color: #f5d77e;
  opacity: 0.25;
  background: currentColor;
  clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
  filter: drop-shadow(0 0 7px currentColor);
  animation: tct-christmas-star-twinkle var(--tct-star-duration) ease-in-out var(--tct-star-delay) infinite;
}

.tct-christmas-star--ruby { color: #e55764; }

.tct-christmas-ornament {
  position: absolute;
  top: var(--tct-ornament-drop);
  left: var(--tct-ornament-x);
  width: var(--tct-ornament-size);
  height: var(--tct-ornament-size);
  border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, #fff7d2 0 8%, #d94d59 28%, #8b2030 76%);
  box-shadow: inset -2px -3px 4px rgba(48, 6, 15, 0.38), 0 3px 8px rgba(0, 10, 4, 0.32);
  transform-origin: 50% var(--tct-ornament-origin);
  animation: tct-christmas-ornament-swing var(--tct-ornament-duration) ease-in-out var(--tct-ornament-delay) infinite alternate;
}

.tct-christmas-ornament::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 1px;
  height: var(--tct-ornament-drop);
  background: rgba(225, 203, 144, 0.44);
}

.tct-christmas-ornament::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 27%;
  width: 46%;
  height: 4px;
  border-radius: 2px 2px 0 0;
  background: #d8bd72;
}

.tct-christmas-ornament--2 { background: radial-gradient(circle at 34% 28%, #fff6cf 0 8%, #e0bd62 30%, #9b6a20 78%); }
.tct-christmas-ornament--3 { background: radial-gradient(circle at 34% 28%, #f5fff7 0 8%, #3f956a 30%, #155038 78%); }
.tct-christmas-ornament--4 { background: radial-gradient(circle at 34% 28%, #fff 0 8%, #e8e1cf 32%, #9daaa1 78%); }

.tct-christmas-click-spark {
  position: absolute;
  z-index: 2;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  color: #f8dd8d;
  background: currentColor;
  clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
  filter: drop-shadow(0 0 7px currentColor);
  animation: tct-christmas-click-burst ease-out forwards;
}

.tct-christmas-click-spark--ruby { color: #e55764; }

/* ---------- Fireworks ---------- */

.tct-fireworks-canvas {
  position: fixed;
  inset: 0;
  z-index: 100000;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: transparent;
}

/* ---------- Theme control ---------- */

body #tallynet-theme-toggle {
  position: fixed;
  right: calc(22px + env(safe-area-inset-right, 0px));
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  z-index: 1035;
  min-height: 38px;
  padding: 9px 15px 9px 38px;
  color: var(--tct-text, #eef4f1) !important;
  border: 1px solid var(--tct-border-strong, rgba(153, 181, 166, 0.44)) !important;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.07), transparent 52%),
    rgba(var(--tct-nav-rgb, 11, 31, 23), 0.92) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  backdrop-filter: blur(16px) saturate(130%);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.015em;
  text-shadow: none !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}

body #tallynet-theme-toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff 0 8%, var(--tct-accent, #78b694) 25%, rgba(var(--tct-accent-rgb, 120, 182, 148), 0.35) 68%, transparent 72%);
  box-shadow: 0 0 12px rgba(var(--tct-accent-rgb, 120, 182, 148), 0.75);
  transform: translateY(-50%);
}

body #tallynet-theme-toggle:hover,
body #tallynet-theme-toggle:focus {
  color: var(--tct-text, #eef4f1) !important;
  border-color: var(--tct-accent, #78b694) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(var(--tct-accent-rgb, 120, 182, 148), 0.12) !important;
  outline: none;
  transform: translateY(-2px);
}

body #tallynet-theme-toggle:active {
  transform: translateY(0) scale(0.98);
}

body.tct-theme-easter #tallynet-theme-toggle {
  color: #4d3f53 !important;
  background: linear-gradient(135deg, rgba(247, 210, 228, 0.88), rgba(211, 235, 219, 0.9)) !important;
  box-shadow: 0 10px 28px rgba(70, 59, 78, 0.2), inset 0 1px 0 #fff !important;
}

body.tct-theme-easter #tallynet-theme-toggle::before {
  border-color: rgba(113, 78, 109, 0.42);
  border-radius: 56% 44% 52% 48%;
  background: linear-gradient(135deg, #f4c8dc 0 48%, #b9ddca 49% 100%);
  box-shadow: none;
  transform: translateY(-50%) rotate(18deg);
}

body.tct-theme-independenceDay #tallynet-theme-toggle {
  border-radius: 4px;
  border-left: 3px solid #ef5362 !important;
  border-right: 3px solid #6fa4ee !important;
  background: rgba(6, 24, 51, 0.94) !important;
}

body.tct-theme-independenceDay #tallynet-theme-toggle::before {
  border: 0;
  border-radius: 0;
  background: #f4f7ff;
  box-shadow: 0 0 8px rgba(244, 247, 255, 0.5);
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 94%, 50% 72%, 21% 94%, 32% 57%, 2% 35%, 39% 35%);
}

body.tct-theme-thanksgiving #tallynet-theme-toggle {
  color: #fff1d2 !important;
  border-radius: 8px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 243, 205, 0.025) 0 1px, transparent 1px 7px),
    rgba(73, 49, 31, 0.95) !important;
}

body.tct-theme-thanksgiving #tallynet-theme-toggle::before {
  border: 0;
  border-radius: 90% 8% 86% 12%;
  background: linear-gradient(145deg, #d39a4b, #7e8448);
  box-shadow: 0 2px 3px rgba(35, 20, 9, 0.3);
  transform: translateY(-50%) rotate(38deg);
}

body.tct-theme-christmas #tallynet-theme-toggle {
  border-color: rgba(224, 192, 110, 0.54) !important;
  background:
    linear-gradient(135deg, rgba(194, 49, 64, 0.2), transparent 48%),
    rgba(6, 35, 24, 0.95) !important;
}

body.tct-theme-christmas #tallynet-theme-toggle::before {
  border-color: rgba(255, 237, 184, 0.66);
  background: radial-gradient(circle at 34% 27%, #fff5c9 0 7%, #d44a58 25%, #8a2030 74%);
  box-shadow: 0 0 10px rgba(211, 76, 89, 0.62);
}

/* ---------- Lightweight scene mode ---------- */

body.tct-scene-theme .tct-easter-effects,
body.tct-scene-theme .tct-independence-effects,
body.tct-scene-theme .tct-harvest-effects,
body.tct-scene-theme .tct-christmas-effects {
  z-index: 0;
}

body.tct-scene-theme .tct-easter-petal,
body.tct-scene-theme .tct-harvest-leaf {
  box-shadow: none;
}

body.tct-scene-theme #tallynet-theme-toggle {
  color: var(--tct-text) !important;
  border: 1px solid var(--tct-border-strong) !important;
  border-radius: 999px;
  background: rgba(var(--tct-nav-rgb), 0.96) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.tct-scene-theme #tallynet-theme-toggle::before {
  border: 0;
  border-radius: 50%;
  background: var(--tct-accent);
  box-shadow: 0 0 5px rgba(var(--tct-accent-rgb), 0.34);
  clip-path: none;
  transform: translateY(-50%);
}

body.tct-scene-compact .tct-atmosphere__backdrop {
  filter: none;
  transform: none;
  animation: none !important;
}

body.tct-scene-compact .tct-atmosphere__vignette {
  opacity: 0.72;
}

body.tct-scene-compact .tct-patriotic-star,
body.tct-scene-compact .tct-christmas-bulb,
body.tct-scene-compact .tct-christmas-star {
  filter: none;
  animation: none !important;
}

body.tct-scene-compact .tct-easter-petal,
body.tct-scene-compact .tct-harvest-leaf,
body.tct-scene-compact .tct-christmas-bulb {
  box-shadow: none;
}

body.tct-scene-compact .tct-christmas-light-strand {
  filter: none;
}

body.tct-scene-compact .white-box,
body.tct-scene-compact .panel,
body.tct-scene-compact .modal-content,
body.tct-scene-compact .dropdown-menu,
body.tct-scene-compact .popover,
body.tct-scene-compact .sweet-alert,
body.tct-scene-compact .iziToast {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}

body.tct-scene-compact #tallynet-theme-toggle {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ---------- Motion ---------- */

@keyframes tct-breathe {
  from { transform: scale(1.02) translate3d(-0.4%, -0.3%, 0); }
  to { transform: scale(1.07) translate3d(0.5%, 0.4%, 0); }
}

@keyframes tct-ambient-drift {
  0%, 100% { opacity: 0; transform: translate3d(0, 18px, 0) scale(0.7); }
  18% { opacity: 0.72; }
  68% { opacity: 0.32; }
  88% { opacity: 0; }
  100% { transform: translate3d(var(--tct-drift-x), -72px, 0) scale(1.15); }
}

@keyframes tct-halloween-icon-flicker {
  0%, 7%, 10%, 18%, 22%, 53%, 57%, 74%, 77%, 100% {
    color: #f0b171;
    opacity: 0.94;
    filter: drop-shadow(0 0 3px rgba(255, 116, 34, 0.52)) drop-shadow(0 0 8px rgba(162, 40, 8, 0.18));
  }
  8%, 20%, 55%, 75% {
    color: #ffe0af;
    opacity: 1;
    filter: drop-shadow(0 0 6px rgba(255, 157, 73, 0.92)) drop-shadow(0 0 15px rgba(255, 71, 10, 0.42));
  }
  9%, 21%, 56%, 76% {
    color: #9f6d51;
    opacity: 0.62;
    filter: drop-shadow(0 0 1px rgba(255, 104, 29, 0.22));
  }
}

@keyframes tct-emerald-gold-glint {
  0%, 62%, 100% { color: #72e3a3; filter: drop-shadow(0 0 2px rgba(88, 214, 141, 0.34)); }
  68% { color: #f7e5a7; filter: drop-shadow(0 0 5px rgba(213, 184, 102, 0.78)); }
  74% { color: #88ebb1; filter: drop-shadow(0 0 9px rgba(88, 214, 141, 0.66)); }
  82% { color: #72e3a3; filter: drop-shadow(0 0 2px rgba(88, 214, 141, 0.34)); }
}

@keyframes tct-ice-glint {
  0%, 70%, 100% { color: inherit; filter: drop-shadow(0 0 0 transparent); }
  76% { color: #eefbff; filter: drop-shadow(0 0 5px rgba(139, 211, 255, 0.82)); }
  81% { color: #bce8ff; filter: drop-shadow(0 0 9px rgba(225, 244, 255, 0.58)); }
  87% { color: inherit; filter: drop-shadow(0 0 0 transparent); }
}

@keyframes tct-rose-pulse {
  0%, 100% { color: #ff8bae; filter: drop-shadow(0 0 3px rgba(255, 113, 157, 0.38)); }
  44% { color: #ffc2d4; filter: drop-shadow(0 0 8px rgba(255, 113, 157, 0.72)); }
  54% { color: #ff8bae; filter: drop-shadow(0 0 3px rgba(255, 113, 157, 0.38)); }
  64% { color: #ffe0e9; filter: drop-shadow(0 0 11px rgba(255, 113, 157, 0.78)); }
  78% { color: #ff8bae; filter: drop-shadow(0 0 3px rgba(255, 113, 157, 0.38)); }
}

@keyframes tct-champagne-reflection {
  0%, 58%, 100% { color: inherit; filter: drop-shadow(0 0 0 transparent); }
  65% { color: #fff6cf; filter: drop-shadow(0 0 5px rgba(230, 198, 108, 0.78)); }
  72% { color: #bdb2ff; filter: drop-shadow(0 0 9px rgba(165, 152, 255, 0.62)); }
  80% { color: inherit; filter: drop-shadow(0 0 0 transparent); }
}

@keyframes tct-petal-fall {
  0% { opacity: 0; transform: translate3d(0, -4vh, 0) rotate(0deg) rotateX(0deg); }
  12% { opacity: 0.32; }
  38% { transform: translate3d(calc(var(--tct-petal-drift) * -0.28), 38vh, 0) rotate(calc(var(--tct-petal-turn) * 0.36)) rotateX(120deg); }
  72% { opacity: 0.22; transform: translate3d(calc(var(--tct-petal-drift) * 0.4), 76vh, 0) rotate(calc(var(--tct-petal-turn) * 0.7)) rotateX(250deg); }
  100% { opacity: 0; transform: translate3d(var(--tct-petal-drift), 114vh, 0) rotate(var(--tct-petal-turn)) rotateX(390deg); }
}

@keyframes tct-butterfly-flight {
  0% { opacity: 0; transform: translate3d(-4vw, 20px, 0) scale(var(--tct-butterfly-scale)) rotate(-6deg); }
  10% { opacity: 0.82; }
  36% { transform: translate3d(38vw, var(--tct-butterfly-lift), 0) scale(var(--tct-butterfly-scale)) rotate(5deg); }
  68% { opacity: 0.72; transform: translate3d(75vw, calc(var(--tct-butterfly-lift) * -0.36), 0) scale(var(--tct-butterfly-scale)) rotate(-4deg); }
  100% { opacity: 0; transform: translate3d(112vw, 10px, 0) scale(var(--tct-butterfly-scale)) rotate(5deg); }
}

@keyframes tct-butterfly-wing-left {
  from { transform: perspective(24px) rotateY(18deg) rotate(-18deg); }
  to { transform: perspective(24px) rotateY(72deg) rotate(-6deg); }
}

@keyframes tct-butterfly-wing-right {
  from { transform: perspective(24px) rotateY(-18deg) rotate(18deg); }
  to { transform: perspective(24px) rotateY(-72deg) rotate(6deg); }
}

@keyframes tct-bloom-burst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(var(--tct-bloom-turn)) scale(0.25); }
  36% { opacity: 0.95; transform: translate3d(calc(var(--tct-bloom-x) * 0.38), calc(var(--tct-bloom-y) * 0.38), 0) rotate(calc(var(--tct-bloom-turn) + 90deg)) scale(1); }
  100% { opacity: 0; transform: translate3d(var(--tct-bloom-x), var(--tct-bloom-y), 0) rotate(calc(var(--tct-bloom-turn) + 240deg)) scale(0.35); }
}

@keyframes tct-bloom-center {
  0% { opacity: 0.95; transform: scale(0.25); }
  42% { opacity: 1; transform: scale(1.65); }
  100% { opacity: 0; transform: scale(0.2); }
}

@keyframes tct-patriotic-confetti-burst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(0.45); }
  42% { opacity: 1; transform: translate3d(calc(var(--tct-burst-x) * 0.42), calc(var(--tct-burst-y) * 0.42), 0) rotate(calc(var(--tct-burst-turn) * 0.48)) scale(1.12); }
  100% { opacity: 0; transform: translate3d(var(--tct-burst-x), calc(var(--tct-burst-y) + 42px), 0) rotate(var(--tct-burst-turn)) scale(0.35); }
}

@keyframes tct-patriotic-star-pulse {
  0%, 100% { opacity: 0.07; transform: scale(0.82) rotate(-5deg); }
  44% { opacity: 0.22; transform: scale(1.06) rotate(3deg); }
  72% { opacity: 0.12; transform: scale(0.94) rotate(0deg); }
}

@keyframes tct-leaf-fall {
  0% { opacity: 0; transform: translate3d(0, -3vh, 0) rotate(0deg) rotateY(0deg); }
  10% { opacity: 0.38; }
  36% { transform: translate3d(calc(var(--tct-leaf-drift) * -0.3), 36vh, 0) rotate(calc(var(--tct-leaf-turn) * 0.36)) rotateY(145deg); }
  70% { opacity: 0.25; transform: translate3d(calc(var(--tct-leaf-drift) * 0.42), 74vh, 0) rotate(calc(var(--tct-leaf-turn) * 0.72)) rotateY(285deg); }
  100% { opacity: 0; transform: translate3d(var(--tct-leaf-drift), 112vh, 0) rotate(var(--tct-leaf-turn)) rotateY(430deg); }
}

@keyframes tct-leaf-gust {
  0% { opacity: 0.96; transform: translate3d(0, 0, 0) rotate(0deg) scale(0.65); }
  42% { opacity: 1; transform: translate3d(calc(var(--tct-burst-x) * 0.42), calc(var(--tct-burst-y) * 0.42), 0) rotate(calc(var(--tct-burst-turn) * 0.5)) scale(1); }
  100% { opacity: 0; transform: translate3d(var(--tct-burst-x), calc(var(--tct-burst-y) + 88px), 0) rotate(var(--tct-burst-turn)) scale(0.6); }
}

@keyframes tct-harvest-chaff-drift {
  0% { opacity: 0; transform: translate3d(-4vw, 0, 0) rotate(0deg); }
  12% { opacity: 0.72; }
  46% { transform: translate3d(48vw, calc(var(--tct-chaff-drift) * 0.45), 0) rotate(calc(var(--tct-chaff-turn) * 0.48)); }
  82% { opacity: 0.64; }
  100% { opacity: 0; transform: translate3d(108vw, var(--tct-chaff-drift), 0) rotate(var(--tct-chaff-turn)); }
}

@keyframes tct-christmas-star-twinkle {
  0%, 100% { opacity: 0.12; transform: scale(0.62) rotate(0deg); }
  38% { opacity: 0.34; transform: scale(0.9) rotate(20deg); }
  47% { opacity: 0.92; transform: scale(1.45) rotate(45deg); }
  57% { opacity: 0.26; transform: scale(0.75) rotate(70deg); }
  76% { opacity: 0.62; transform: scale(1.08) rotate(90deg); }
}

@keyframes tct-christmas-bulb-glow {
  0%, 100% { opacity: 0.48; }
  42% { opacity: 0.8; }
  68% { opacity: 0.58; }
}

@keyframes tct-christmas-ornament-swing {
  from { transform: rotate(-3.5deg); }
  to { transform: rotate(3.5deg); }
}

@keyframes tct-christmas-click-burst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(0.25); }
  34% { opacity: 1; transform: translate3d(calc(var(--tct-burst-x) * 0.36), calc(var(--tct-burst-y) * 0.36), 0) rotate(55deg) scale(1.45); }
  100% { opacity: 0; transform: translate3d(var(--tct-burst-x), var(--tct-burst-y), 0) rotate(120deg) scale(0.1); }
}

@keyframes tct-gold-mote-rise {
  0% { opacity: 0; transform: translate3d(0, 12px, 0) scale(0.42); }
  12% { opacity: 0.82; }
  62% { opacity: 0.48; }
  100% { opacity: 0; transform: translate3d(var(--tct-mote-drift), -108vh, 0) scale(1.12); }
}

@keyframes tct-ember-rise {
  0% { opacity: 0; transform: translate3d(0, 15px, 0) scale(0.45); }
  9% { opacity: 0.9; }
  28% { opacity: 0.46; }
  46% { opacity: 0.92; }
  67% { opacity: 0.34; }
  100% { opacity: 0; transform: translate3d(var(--tct-ember-drift), -106vh, 0) scale(0.18); }
}

@keyframes tct-wisp-cross {
  0% { opacity: 0; transform: translate3d(0, var(--tct-wisp-drift), 0) scaleX(0.75); }
  18% { opacity: 0.24; }
  48% { opacity: 0.1; }
  72% { opacity: 0.3; }
  100% { opacity: 0; transform: translate3d(calc(120vw + var(--tct-wisp-width)), calc(var(--tct-wisp-drift) * -0.35), 0) scaleX(1.2); }
}

@keyframes tct-haunted-lightning {
  0%, 9%, 17%, 100% { opacity: 0; }
  4% { opacity: 0.68; }
  12% { opacity: 0.22; }
  14% { opacity: 0.48; }
  28% { opacity: 0.04; }
}

@keyframes tct-snowfall {
  0% { transform: translate3d(0, -2vh, 0) rotate(0deg) scale(0.72); }
  45% { transform: translate3d(calc(var(--tct-snow-drift) * -0.35), 48vh, 0) rotate(calc(var(--tct-snow-spin) * 0.42)) scale(1); }
  100% { transform: translate3d(var(--tct-snow-drift), 108vh, 0) rotate(var(--tct-snow-spin)) scale(0.84); }
}

@keyframes tct-heart-float {
  0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(45deg) scale(0.55); }
  8% { opacity: 0.82; }
  74% { opacity: 0.48; }
  100% { opacity: 0; transform: translate3d(var(--tct-drift), -112vh, 0) rotate(calc(45deg + var(--tct-rotation))) scale(0.88); }
}

@keyframes tct-heart-burst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(45deg) scale(0.35); }
  38% { opacity: 0.92; }
  100% { opacity: 0; transform: translate3d(var(--tct-burst-x), var(--tct-burst-y), 0) rotate(225deg) scale(0.05); }
}

@keyframes tct-love-spark-burst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) scale(0.35); }
  28% { opacity: 1; transform: translate3d(calc(var(--tct-burst-x) * 0.34), calc(var(--tct-burst-y) * 0.34), 0) scale(1.35); }
  100% { opacity: 0; transform: translate3d(var(--tct-burst-x), var(--tct-burst-y), 0) scale(0.05); }
}

@media (max-width: 767px) {
  body #tallynet-theme-toggle {
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    min-height: 36px;
    padding: 8px 13px 8px 35px;
    font-size: 12px;
  }

  body.tct-active .white-box,
  body.tct-active .panel {
    backdrop-filter: blur(11px) saturate(112%);
    -webkit-backdrop-filter: blur(11px) saturate(112%);
  }

  .tct-christmas-light-strand {
    right: 1%;
    left: 1%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tct-atmosphere__backdrop,
  .tct-atmosphere__particle,
  .tct-seasonal-effects *,
  .tct-easter-effects *,
  .tct-independence-effects *,
  .tct-harvest-effects *,
  .tct-christmas-effects *,
  .tct-snowflake,
  .tct-heart,
  .tct-love-spark,
  body.tct-active #side-menu i,
  body.tct-active #side-menu img.fa-fw,
  body.tct-active .sidebar-head i,
  body #tallynet-theme-toggle {
    animation: none !important;
    transition: none !important;
  }
}

@media print {
  .tct-atmosphere,
  .tct-seasonal-effects,
  .tct-easter-effects,
  .tct-independence-effects,
  .tct-harvest-effects,
  .tct-christmas-effects,
  #tallynet-theme-toggle,
  .tct-snow-container,
  .tct-hearts-container,
  .tct-valentines-glow,
  .tct-valentines-vignette,
  .tct-fireworks-canvas {
    display: none !important;
  }
}
