/* RunsLinux Effects Bar + Full-Screen Effects */

/* The native Panic terminal must cover theme scenes, page shells and menus. */
.panic-overlay {
  z-index: 2147483650 !important;
}

:root {
  --rlfx-bg: rgba(13,17,23,.94);
  --rlfx-panel: #161b22;
  --rlfx-border: #30363d;
  --rlfx-text: #e6edf3;
  --rlfx-muted: #8b949e;
  --rlfx-blue: #58a6ff;
  --rlfx-green: #3fb950;
}

.rlfx-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483000;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.rlfx-panel {
  width: min(310px, calc(100vw - 28px));
  padding: 10px;
  background: var(--rlfx-bg);
  border: 1px solid var(--rlfx-border);
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(10px) scale(.98);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.rlfx-launcher.open .rlfx-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.rlfx-panel-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  padding: 2px 2px 8px;
  color: var(--rlfx-muted);
  border-bottom: 1px solid #252d36;
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.rlfx-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
}

.rlfx-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 6px;
  margin: 0 0 9px;
  padding: 3px;
  background: rgba(7,12,17,.72);
  border: 1px solid #252d36;
  border-radius: 9px;
}

.rlfx-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 8px;
  color: var(--rlfx-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  font: inherit;
  font-size: .69rem;
  font-weight: 700;
  cursor: pointer;
  transition: color 130ms ease, background 130ms ease, border-color 130ms ease;
}

.rlfx-tab:hover {
  color: var(--rlfx-text);
  background: #111820;
}

.rlfx-tab.active {
  color: var(--rlfx-text);
  background: #18212b;
  border-color: #3b4654;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.rlfx-effect {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  color: var(--rlfx-text);
  background: #111820;
  border: 1px solid #2b333d;
  border-radius: 8px;
  font: inherit;
  font-size: .72rem;
  cursor: pointer;
  transition: background 130ms ease, border-color 130ms ease, transform 130ms ease;
}

.rlfx-effect:hover {
  background: #18212b;
  border-color: #3b4654;
  transform: translateY(-1px);
}

.rlfx-effect .icon {
  width: 21px;
  flex: 0 0 21px;
  text-align: center;
  font-size: .95rem;
}

.rlfx-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  color: var(--rlfx-text);
  background: var(--rlfx-panel);
  border: 1px solid var(--rlfx-border);
  border-radius: 999px;
  box-shadow: 0 10px 35px rgba(0,0,0,.3);
  font: inherit;
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
}

.rlfx-toggle .chevron {
  color: var(--rlfx-muted);
  transition: transform 160ms ease;
}

.rlfx-launcher.open .rlfx-toggle .chevron {
  transform: rotate(180deg);
}

.rlfx-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  overflow: hidden;
  pointer-events: none;
}

/* Black hole */

.rlfx-blackhole {
  background:
    radial-gradient(circle at 50% 50%,
      rgba(0,0,0,.98) 0 3%,
      rgba(30,10,55,.92) 4%,
      rgba(90,50,180,.34) 8%,
      rgba(88,166,255,.13) 12%,
      rgba(0,0,0,0) 24%);
}

.rlfx-singularity {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #000;
  box-shadow: 0 0 20px 8px rgba(118,74,255,.38), 0 0 60px 22px rgba(88,166,255,.16);
  animation: rlfx-hole-grow 6.2s cubic-bezier(.2,.7,.15,1) forwards;
}

.rlfx-accretion-pivot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  transform: rotate(-12deg);
  transform-origin: 0 0;
  animation: rlfx-disc-spin 1.2s linear infinite;
}

.rlfx-accretion {
  position: absolute;
  left: 0;
  top: 0;
  width: 160px;
  height: 42px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at center,
      rgba(255,255,255,.95) 0 4%,
      rgba(255,174,66,.9) 16%,
      rgba(145,80,255,.55) 42%,
      rgba(88,166,255,.12) 67%,
      transparent 72%);
  filter: blur(2px);
  animation: rlfx-disc-grow 6s ease-in forwards;
}

.rlfx-blackhole-label {
  position: absolute;
  left: 50%;
  top: calc(50% + 120px);
  transform: translateX(-50%);
  color: #c9d1d9;
  opacity: 0;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .75rem;
  letter-spacing: .08em;
  animation: rlfx-label-in 800ms ease 5.4s forwards;
}

.rlfx-victim {
  position: fixed !important;
  z-index: 2147482600 !important;
  margin: 0 !important;
  transform-origin: center !important;
  pointer-events: none !important;
  will-change: transform, opacity, filter;
}

.rlfx-space-blackout {
  position: fixed;
  inset: 0;
  z-index: 2147482800;
  display: grid;
  place-items: center;
  background: #000;
  color: var(--rlfx-green);
  opacity: 0;
  pointer-events: none;
  animation: rlfx-blackout 2.7s ease forwards;
}

.rlfx-space-message {
  text-align: center;
  font-family: "SFMono-Regular", Consolas, monospace;
}

.rlfx-space-dot {
  margin-bottom: 14px;
  font-size: 1.4rem;
}

.rlfx-space-title {
  margin-bottom: 6px;
  font-size: 1rem;
  font-weight: 800;
}

.rlfx-space-sub {
  color: #6e7681;
  font-size: .72rem;
}

@keyframes rlfx-hole-grow {
  0% { width: 34px; height: 34px; }
  70% { width: 120px; height: 120px; }
  100% { width: 220px; height: 220px; }
}

@keyframes rlfx-disc-spin {
  from { transform: rotate(-12deg); }
  to { transform: rotate(348deg); }
}

@keyframes rlfx-disc-grow {
  from { width: 160px; height: 42px; }
  to { width: 410px; height: 110px; }
}

@keyframes rlfx-label-in { to { opacity: 1; } }

@keyframes rlfx-blackout {
  0% { opacity: 0; }
  25% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; }
}

/* Fire */

.rlfx-fire-scene {
  background: linear-gradient(to top, rgba(80,12,0,.15), transparent 45%);
}

.rlfx-smoke {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 10%, rgba(50,50,50,.22), transparent 28%),
    radial-gradient(circle at 65% 16%, rgba(40,40,40,.28), transparent 30%),
    radial-gradient(circle at 82% 8%, rgba(55,55,55,.24), transparent 24%);
  opacity: 0;
  animation: rlfx-smoke-in 3s ease forwards;
}

.rlfx-flames {
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -4px;
  height: min(42vh, 420px);
  filter: drop-shadow(0 -8px 24px rgba(255,90,0,.35));
}

.rlfx-flame {
  position: absolute;
  bottom: -35px;
  width: 80px;
  height: 210px;
  transform-origin: 50% 100%;
  border-radius: 52% 48% 34% 66% / 68% 66% 34% 32%;
  background:
    radial-gradient(ellipse at 50% 76%,
      #fff5b1 0 8%,
      #ffc14d 10% 26%,
      #ff6a00 31% 55%,
      #c81e00 60% 72%,
      transparent 74%);
  opacity: .94;
  animation:
    rlfx-flame-dance var(--speed,720ms) ease-in-out infinite alternate,
    rlfx-flame-rise 1100ms ease-out both;
}

.rlfx-sprinkler {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-image:
    radial-gradient(circle, rgba(180,225,255,.85) 0 1px, transparent 1.6px);
  background-size: 18px 22px;
  transform: translateY(-22px);
  animation: rlfx-rain 600ms linear infinite;
}

.rlfx-fire-caption,
.rlfx-flood-caption {
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 12px;
  background: rgba(13,17,23,.78);
  border-radius: 8px;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .74rem;
  opacity: 0;
  animation: rlfx-caption 500ms ease 1.8s forwards;
}

.rlfx-fire-caption {
  color: #ffd8a8;
  border: 1px solid rgba(240,136,62,.45);
}

.rlfx-page-heat {
  animation: rlfx-page-heat 4.5s ease-in-out both;
}

@keyframes rlfx-flame-dance {
  from { transform: scaleY(.84) rotate(-5deg); }
  to { transform: scaleY(1.08) rotate(5deg); }
}

@keyframes rlfx-flame-rise {
  from { translate: 0 90px; opacity: 0; }
  to { translate: 0 0; opacity: .96; }
}

@keyframes rlfx-smoke-in { to { opacity: .9; } }

@keyframes rlfx-rain { to { background-position: -8px 30px; } }

@keyframes rlfx-caption { to { opacity: 1; } }

@keyframes rlfx-page-heat {
  0%,100% { filter: none; }
  55% { filter: sepia(.22) saturate(1.3) brightness(.92); }
}

/* Flood */

.rlfx-water {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background:
    linear-gradient(
      to bottom,
      rgba(88,166,255,.58),
      rgba(27,108,180,.76) 18%,
      rgba(7,52,95,.92) 100%);
  box-shadow: 0 -7px 20px rgba(88,166,255,.26) inset, 0 -8px 24px rgba(88,166,255,.28);
  animation: rlfx-water-rise 5.4s cubic-bezier(.2,.6,.18,1) forwards;
}

.rlfx-water::before {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  top: -13px;
  height: 24px;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(170,225,255,.9) 0 18%, transparent 20%)
    0 0 / 90px 28px repeat-x;
  opacity: .62;
  animation: rlfx-wave 900ms linear infinite;
}

.rlfx-bubble {
  position: absolute;
  bottom: -40px;
  width: var(--size,12px);
  height: var(--size,12px);
  border: 1px solid rgba(215,245,255,.72);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  animation: rlfx-bubble-rise var(--duration,4s) linear infinite;
}

.rlfx-flood-caption {
  color: #cbe9ff;
  border: 1px solid rgba(88,166,255,.45);
}

.rlfx-floaty {
  animation: rlfx-bob 1.8s ease-in-out infinite alternate !important;
}

@keyframes rlfx-water-rise {
  from { height: 0; }
  to { height: 78vh; }
}

@keyframes rlfx-wave { to { background-position-x: 90px; } }

@keyframes rlfx-bubble-rise {
  from { translate: 0 0; opacity: 0; }
  10% { opacity: .8; }
  to { translate: var(--drift,20px) -110vh; opacity: 0; }
}

@keyframes rlfx-bob {
  from { transform: translateY(0) rotate(-.35deg); }
  to { transform: translateY(-7px) rotate(.35deg); }
}

@media (max-width: 640px) {
  .rlfx-launcher {
    right: 10px;
    bottom: 10px;
  }

  .rlfx-panel {
    width: min(286px, calc(100vw - 20px));
  }

  .rlfx-effect {
    padding: 9px 8px;
    font-size: .68rem;
  }

  .rlfx-toggle {
    padding: 9px 12px;
    font-size: .7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rlfx-launcher *,
  .rlfx-overlay * {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

/* Original effect controls remain in the DOM because the original
   effect scripts bind to them. The new Effects launcher replaces
   them visually. */
.effect-controls {
    display: none !important;
}

.rlfx-launcher.effect-active {
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
}

.rlfx-launcher {
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}


/* =========================================================
   GLITCH
   ========================================================= */

.rlfx-glitch-scanlines {
  position: absolute;
  inset: 0;
  opacity: .2;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.12) 0 1px,
      transparent 1px 4px
    );
  animation: rlfx-scan-drift 180ms linear infinite;
}

.rlfx-glitch-noise {
  position: absolute;
  inset: 0;
  opacity: .06;
  background:
    repeating-radial-gradient(
      circle at 20% 40%,
      #fff 0 1px,
      #000 1px 2px,
      transparent 2px 4px
    );
  animation: rlfx-noise-jump 100ms steps(2,end) infinite;
}

.rlfx-glitch-caption {
  position: absolute;
  left: 50%;
  top: 22px;
  transform: translateX(-50%);
  padding: 8px 12px;
  color: #ff6b9d;
  background: rgba(13,17,23,.82);
  border: 1px solid rgba(255,107,157,.45);
  border-radius: 8px;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .74rem;
  letter-spacing: .05em;
}

.rlfx-page-glitch {
  animation: rlfx-page-glitch 380ms steps(2,end) infinite;
}

.rlfx-page-glitch-peak {
  animation: rlfx-page-glitch-peak 90ms steps(2,end) infinite !important;
}

.rlfx-glitch-peak {
  background:
    linear-gradient(
      90deg,
      rgba(255,0,80,.16),
      transparent 34%,
      rgba(0,180,255,.18) 66%,
      transparent
    );
}

@keyframes rlfx-page-glitch {
  0%,100% { filter: none; }
  35% {
    filter:
      drop-shadow(2px 0 0 rgba(255,0,80,.38))
      drop-shadow(-2px 0 0 rgba(0,180,255,.38));
  }
  70% {
    filter: contrast(1.08) saturate(1.18);
  }
}

@keyframes rlfx-page-glitch-peak {
  0% {
    transform: translate(0,0);
    filter: contrast(1.4) saturate(1.7) hue-rotate(12deg);
  }
  33% {
    transform: translate(-5px,2px);
    filter:
      drop-shadow(6px 0 0 rgba(255,0,80,.65))
      drop-shadow(-6px 0 0 rgba(0,180,255,.65));
  }
  66% {
    transform: translate(5px,-2px);
    filter: contrast(1.7) invert(.08);
  }
  100% {
    transform: translate(0,0);
  }
}

@keyframes rlfx-scan-drift {
  to { background-position-y: 5px; }
}

@keyframes rlfx-noise-jump {
  50% { transform: translate(2px,-1px) scale(1.002); }
}

/* =========================================================
   EARTHQUAKE
   ========================================================= */

.rlfx-quake-scene {
  background:
    radial-gradient(
      circle at 50% 100%,
      rgba(210,160,90,.08),
      transparent 42%
    );
}

.rlfx-quake-meter {
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 210px;
  padding: 10px 14px;
  text-align: center;
  color: #f0f6fc;
  background: rgba(13,17,23,.88);
  border: 1px solid rgba(240,136,62,.42);
  border-radius: 10px;
  font-family: "SFMono-Regular", Consolas, monospace;
}

.rlfx-quake-label {
  color: #f0883e;
  font-size: .66rem;
  letter-spacing: .08em;
}

.rlfx-quake-value {
  margin-top: 3px;
  font-size: 1.45rem;
  font-weight: 800;
}

.rlfx-quake-severe {
  background:
    radial-gradient(
      circle at 50% 100%,
      rgba(240,136,62,.14),
      transparent 48%
    );
}

.rlfx-quake-crack {
  position: absolute;
  right: 6vw;
  top: 0;
  width: 220px;
  height: 46vh;
  opacity: 0;
  background:
    linear-gradient(
      105deg,
      transparent 0 49%,
      rgba(220,220,220,.65) 49.5% 50.5%,
      transparent 51%
    ),
    linear-gradient(
      72deg,
      transparent 0 54%,
      rgba(220,220,220,.45) 54.5% 55.2%,
      transparent 55.7%
    );
  filter: drop-shadow(0 0 3px rgba(255,255,255,.18));
  transform: rotate(7deg);
  transform-origin: top right;
  transition: opacity 220ms ease;
}

.rlfx-quake-crack.visible {
  opacity: .5;
}

/* =========================================================
   MAGNET
   ========================================================= */

.rlfx-magnet-scene {
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(88,166,255,.08),
      transparent 32%
    );
}

.rlfx-magnet {
  position: absolute;
  left: 50%;
  top: 24px;
  width: 180px;
  height: 140px;
  transform: translate(-50%,-180px);
  filter: drop-shadow(0 12px 26px rgba(0,0,0,.42));
}

.rlfx-magnet-top {
  position: absolute;
  left: 18px;
  top: 0;
  width: 144px;
  height: 88px;
  border: 28px solid #b8c2cf;
  border-bottom: 0;
  border-radius: 76px 76px 0 0;
}

.rlfx-magnet-leg {
  position: absolute;
  top: 66px;
  width: 48px;
  height: 72px;
  display: grid;
  place-items: end center;
  padding-bottom: 8px;
  color: #fff;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .8rem;
  font-weight: 800;
  border-radius: 0 0 8px 8px;
}

.rlfx-magnet-leg.north {
  left: 18px;
  background: linear-gradient(#d83b3b,#a31616);
}

.rlfx-magnet-leg.south {
  right: 18px;
  background: linear-gradient(#3478d6,#184d95);
}

.rlfx-magnet-meter {
  position: absolute;
  top: 174px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 12px;
  color: #c9d1d9;
  background: rgba(13,17,23,.82);
  border: 1px solid rgba(88,166,255,.38);
  border-radius: 8px;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .7rem;
  white-space: nowrap;
}

.rlfx-magnet-victim {
  position: fixed !important;
  z-index: 2147482600 !important;
  margin: 0 !important;
  pointer-events: none !important;
  transform-origin: center !important;
  will-change: transform, opacity;
}

@media (max-width: 640px) {
  .rlfx-panel {
    max-height: min(72vh, 460px);
    overflow-y: auto;
  }
}


/* =========================================================
   INTERACTIVE STORM
   ========================================================= */

.rlfx-storm-scene {
  --storm-darkness: .42;
  --rain-angle: -18deg;
  --storm-wind: 40;
  --storm-destruction: 20;
  background:
    linear-gradient(
      105deg,
      rgba(8,12,18,var(--storm-darkness)),
      rgba(15,22,31,calc(var(--storm-darkness) * .78)) 42%,
      rgba(8,12,18,calc(var(--storm-darkness) * .94))
    );
  transition: background 280ms ease;
}

.rlfx-storm-clouds {
  position: absolute;
  inset: -12% -20% auto -20%;
  height: 58%;
  opacity: .6;
  background:
    radial-gradient(ellipse at 12% 42%, rgba(20,27,35,.95) 0 20%, transparent 43%),
    radial-gradient(ellipse at 36% 28%, rgba(30,38,49,.94) 0 23%, transparent 48%),
    radial-gradient(ellipse at 60% 45%, rgba(17,24,33,.96) 0 25%, transparent 49%),
    radial-gradient(ellipse at 84% 24%, rgba(35,42,54,.92) 0 22%, transparent 46%);
  filter: blur(8px);
  animation: rlfx-cloud-front 8s linear infinite;
  transition: opacity 260ms ease;
}

.rlfx-storm-rain {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: .65;
  transition: opacity 180ms ease;
}

.rlfx-rain-drop {
  position: absolute;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(to bottom, rgba(210,235,255,0), rgba(195,225,255,.9));
  transform: rotate(var(--rain-angle));
  transform-origin: center top;
  animation-name: rlfx-storm-rain-fall;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.rlfx-storm-lightning {
  position: absolute;
  inset: 0;
  opacity: 0;
  background:
    radial-gradient(circle at 62% 8%, rgba(255,255,255,.98), rgba(190,220,255,.55) 14%, rgba(120,170,255,.16) 37%, transparent 58%);
}

.rlfx-storm-debris,
.rlfx-tornado-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.rlfx-storm-debris-piece {
  position: absolute;
  color: rgba(210,220,230,.68);
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
  animation: rlfx-debris-flight 1.8s linear forwards, rlfx-debris-spin 340ms linear infinite;
}

.rlfx-storm-gust .rlfx-storm-clouds {
  transform: translateX(-3%);
}

.rlfx-storm-gust .rlfx-storm-rain {
  filter: blur(.4px);
}

.rlfx-storm-react {
  animation:
    rlfx-storm-sway
    calc(1.7s - (var(--storm-wind, 40) * .007s))
    ease-in-out
    infinite
    alternate !important;
  animation-delay: var(--storm-phase, 0s) !important;
  will-change: transform;
}

@keyframes rlfx-storm-sway {
  from {
    transform:
      translateX(calc(var(--storm-wind-x, 0px) * -.55))
      translateY(0)
      rotate(calc(var(--storm-tilt, 0deg) * -.55));
  }
  to {
    transform:
      translateX(var(--storm-wind-x, 0px))
      translateY(var(--storm-lift, 0px))
      rotate(var(--storm-tilt, 0deg));
  }
}

@keyframes rlfx-cloud-front {
  from { transform: translateX(0); }
  to { transform: translateX(-18%); }
}

@keyframes rlfx-storm-rain-fall {
  from { translate: 0 -15vh; }
  to { translate: calc(var(--storm-wind, 40) * -1.3px) 120vh; }
}

@keyframes rlfx-debris-flight {
  from { translate: -40px 0; opacity: 0; }
  8% { opacity: 1; }
  to { translate: 120vw calc(-20px - var(--storm-destruction, 20) * .65px); opacity: 0; }
}

@keyframes rlfx-debris-spin {
  to { rotate: 360deg; }
}

.rlfx-storm-control {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483100;
  width: min(360px, calc(100vw - 28px));
  padding: 13px;
  color: #e6edf3;
  background: rgba(13,17,23,.95);
  border: 1px solid #3b4654;
  border-radius: 13px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.rlfx-storm-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 11px;
  padding-bottom: 10px;
  border-bottom: 1px solid #252d36;
}

.rlfx-storm-title {
  color: #cbe9ff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .05em;
}

.rlfx-storm-subtitle {
  margin-top: 3px;
  color: #6e7681;
  font-size: .64rem;
}

.rlfx-storm-close {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #8b949e;
  background: #111820;
  border: 1px solid #30363d;
  border-radius: 7px;
  font: inherit;
  font-size: 1rem;
  cursor: pointer;
}

.rlfx-storm-presets {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin-bottom: 12px;
}

.rlfx-storm-presets button,
.rlfx-storm-end {
  padding: 8px 9px;
  color: #c9d1d9;
  background: #111820;
  border: 1px solid #30363d;
  border-radius: 7px;
  font: inherit;
  font-size: .68rem;
  cursor: pointer;
}

.rlfx-storm-presets button:hover,
.rlfx-storm-end:hover {
  border-color: #58a6ff;
  background: #18212b;
}

.rlfx-storm-presets .danger {
  color: #ffb3ae;
  border-color: rgba(248,81,73,.45);
}

.rlfx-storm-row {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr) 34px;
  gap: 8px;
  align-items: center;
  min-height: 34px;
  color: #8b949e;
  font-size: .69rem;
}

.rlfx-storm-row input[type="range"] {
  width: 100%;
  accent-color: #58a6ff;
  cursor: pointer;
}

.rlfx-storm-row output {
  color: #e6edf3;
  text-align: right;
  font-size: .68rem;
}

.rlfx-storm-status {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 11px 0;
  padding: 8px 9px;
  color: #8b949e;
  background: #0b1016;
  border: 1px solid #252d36;
  border-radius: 7px;
  font-size: .62rem;
}

.rlfx-storm-status .armed {
  color: #ff7b72;
}

.rlfx-storm-end {
  width: 100%;
}

.rlfx-tornado-warning {
  position: absolute;
  top: 22px;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  transform: translateX(-50%);
  padding: 9px 15px;
  color: #fff;
  background: rgba(150,20,20,.9);
  border: 1px solid rgba(255,120,120,.7);
  border-radius: 9px;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .68rem;
  animation: rlfx-warning-pulse 720ms ease-in-out infinite alternate;
}

.rlfx-tornado-warning strong {
  font-size: .78rem;
  letter-spacing: .08em;
}

.rlfx-tornado {
  position: absolute;
  left: 0;
  bottom: 1vh;
  width: 340px;
  height: 78vh;
  transform: translateX(calc(100vw + 360px));
  transform-origin: center bottom;
  filter:
    drop-shadow(0 18px 26px rgba(0,0,0,.58))
    contrast(1.08);
}

.rlfx-wall-cloud {
  position: absolute;
  left: 50%;
  top: 0;
  width: 320px;
  height: 145px;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 48% 58%, rgba(12,15,18,.98) 0 18%, rgba(38,44,50,.94) 35%, rgba(80,87,92,.52) 63%, transparent 74%),
    radial-gradient(ellipse at 28% 52%, rgba(25,29,33,.9), transparent 63%),
    radial-gradient(ellipse at 72% 45%, rgba(31,36,40,.92), transparent 65%);
  filter: blur(3px);
  animation: rlfx-wall-cloud-roll 1.8s linear infinite;
}

.rlfx-funnel-body {
  position: absolute;
  left: 50%;
  top: 82px;
  bottom: 54px;
  width: 270px;
  transform: translateX(-50%);
  clip-path: polygon(2% 0, 98% 0, 70% 44%, 58% 72%, 53% 100%, 44% 100%, 41% 72%, 31% 44%);
  background:
    linear-gradient(90deg,
      rgba(15,18,21,.9) 0%,
      rgba(100,108,112,.68) 20%,
      rgba(40,45,49,.92) 43%,
      rgba(130,137,140,.54) 61%,
      rgba(20,23,26,.95) 100%);
  filter: blur(.7px);
  box-shadow: inset 0 0 45px rgba(0,0,0,.55);
  animation: rlfx-funnel-wobble 1.15s ease-in-out infinite alternate;
}

.rlfx-funnel-body::before,
.rlfx-funnel-body::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      -14deg,
      rgba(220,225,228,.06) 0 7px,
      rgba(0,0,0,.18) 8px 17px,
      transparent 18px 25px
    );
  mix-blend-mode: screen;
  animation: rlfx-funnel-texture 420ms linear infinite;
}

.rlfx-funnel-body::after {
  opacity: .7;
  transform: scaleX(-1);
  animation-direction: reverse;
  animation-duration: 560ms;
}

.rlfx-funnel-band {
  position: absolute;
  left: 50%;
  height: 34px;
  border: 2px solid rgba(215,220,222,.18);
  border-left-color: rgba(20,22,24,.65);
  border-right-color: rgba(220,224,226,.32);
  border-radius: 50%;
  transform: translateX(-50%) rotateX(66deg);
  filter: blur(.5px);
  animation: rlfx-funnel-band-spin 500ms linear infinite;
}

.rlfx-funnel-band.b1 { top: 10%; width: 235px; }
.rlfx-funnel-band.b2 { top: 25%; width: 198px; animation-direction: reverse; }
.rlfx-funnel-band.b3 { top: 40%; width: 155px; }
.rlfx-funnel-band.b4 { top: 56%; width: 116px; animation-direction: reverse; }
.rlfx-funnel-band.b5 { top: 72%; width: 78px; }
.rlfx-funnel-band.b6 { top: 88%; width: 44px; animation-direction: reverse; }

.rlfx-debris-ring {
  position: absolute;
  left: 50%;
  bottom: 34px;
  width: 250px;
  height: 88px;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at center, transparent 0 30%, rgba(60,45,35,.48) 44%, rgba(28,25,22,.55) 59%, transparent 72%),
    repeating-conic-gradient(from 0deg, rgba(20,20,20,.6) 0deg 3deg, transparent 3deg 16deg);
  animation: rlfx-debris-ring-spin 680ms linear infinite;
}

.rlfx-dust-base {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 310px;
  height: 88px;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at center,
      rgba(95,76,57,.72) 0 22%,
      rgba(74,62,49,.58) 40%,
      rgba(50,45,40,.32) 62%,
      transparent 74%);
  filter: blur(4px);
  animation: rlfx-dust-pulse 900ms ease-in-out infinite alternate;
}

.rlfx-apocalypse-actor {
  position: absolute;
  left: 0;
  z-index: 4;
  line-height: 1;
  filter: drop-shadow(0 10px 10px rgba(0,0,0,.48));
  will-change: transform, opacity;
}

.rlfx-flying-cow {
  transform-origin: center center;
}

.rlfx-flying-car {
  z-index: 6;
  font-size: 5.4rem;
  transform-origin: center center;
}

.rlfx-impact-burst {
  position: fixed;
  z-index: 2147482900;
  font-size: 3rem;
  pointer-events: none;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.45));
}

@keyframes rlfx-wall-cloud-roll {
  0% { transform: translateX(-50%) rotate(-1deg) scaleX(1); }
  50% { transform: translateX(-50%) rotate(1.5deg) scaleX(1.04); }
  100% { transform: translateX(-50%) rotate(-1deg) scaleX(1); }
}

@keyframes rlfx-funnel-wobble {
  from { transform: translateX(-50%) skewX(-3deg); }
  to { transform: translateX(-50%) skewX(4deg); }
}

@keyframes rlfx-funnel-texture {
  to { background-position: 48px 24px; }
}

@keyframes rlfx-funnel-band-spin {
  to { transform: translateX(-50%) rotateX(66deg) rotateZ(360deg); }
}

@keyframes rlfx-debris-ring-spin {
  to { transform: translateX(-50%) rotate(360deg); }
}

@keyframes rlfx-dust-pulse {
  from { transform: translateX(-50%) scale(.94); opacity: .68; }
  to { transform: translateX(-50%) scale(1.08); opacity: .96; }
}

.rlfx-tornado-victim {
  position: fixed !important;
  z-index: 2147482700 !important;
  margin: 0 !important;
  pointer-events: none !important;
  transform-origin: center !important;
  will-change: transform, opacity;
}

@keyframes rlfx-warning-pulse {
  from { box-shadow: 0 0 0 rgba(248,81,73,0); }
  to { box-shadow: 0 0 28px rgba(248,81,73,.55); }
}

@media (max-width: 640px) {
  .rlfx-storm-control {
    right: 10px;
    bottom: 10px;
    width: min(340px, calc(100vw - 20px));
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }

  .rlfx-storm-row {
    grid-template-columns: 76px minmax(0,1fr) 30px;
  }

  .rlfx-tornado {
    width: 230px;
    height: 66vh;
  }

  .rlfx-wall-cloud {
    width: 220px;
    height: 105px;
  }

  .rlfx-funnel-body {
    top: 66px;
    width: 195px;
  }

  .rlfx-debris-ring {
    width: 178px;
  }

  .rlfx-dust-base {
    width: 220px;
  }

  .rlfx-flying-car {
    font-size: 4rem;
  }
}

/* =========================================================
   INTERACTIVE SNOW
   ========================================================= */

.rlfx-snow-scene {
  --snow-wind: 18;
  --snow-drift: 28px;
  --snow-blur: 0px;
  background:
    linear-gradient(to bottom, rgba(180,205,225,.08), rgba(210,225,238,.03) 50%, transparent 82%);
}

.rlfx-snow-sky {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 28% -4%, rgba(220,233,244,.18), transparent 37%),
    radial-gradient(ellipse at 72% 2%, rgba(170,194,214,.14), transparent 42%);
  opacity: .65;
  pointer-events: none;
}

.rlfx-snow-flakes,
.rlfx-snow-caps,
.rlfx-snow-activity {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.rlfx-snow-flakes {
  filter: blur(var(--snow-blur));
  transition: opacity 180ms ease, filter 180ms ease;
}

.rlfx-snow-flake {
  position: absolute;
  color: rgba(245,250,255,.94);
  line-height: 1;
  text-shadow: 0 1px 4px rgba(80,120,155,.32);
  will-change: transform;
  animation: rlfx-snow-fall linear infinite;
}

@keyframes rlfx-snow-fall {
  0% {
    transform:
      translate3d(calc(var(--snow-drift) * -.12),-12vh,0)
      rotate(0deg);
  }
  50% {
    transform:
      translate3d(
        calc(var(--snow-drift) * .52 + var(--flake-wobble)),
        55vh,
        0
      )
      rotate(150deg);
  }
  100% {
    transform:
      translate3d(var(--snow-drift),118vh,0)
      rotate(320deg);
  }
}

.rlfx-snow-cap {
  position: fixed;
  z-index: 3;
  height: 0;
  min-width: 35px;
  border-radius: 55% 45% 44% 56% / 80% 76% 24% 20%;
  background:
    radial-gradient(circle at var(--snow-lump-a) 18%, rgba(255,255,255,.98) 0 13%, transparent 14%),
    radial-gradient(circle at var(--snow-lump-b) 25%, rgba(250,253,255,.98) 0 18%, transparent 19%),
    linear-gradient(to bottom, #fff 0%, #f4f8fb 54%, #dce8f1 100%);
  box-shadow:
    0 3px 6px rgba(0,0,0,.16),
    inset 0 -2px 3px rgba(135,170,195,.22);
  transform-origin: top left;
  transition: height 460ms ease, opacity 360ms ease, transform 360ms ease;
  pointer-events: none;
}

.rlfx-snow-ground {
  --snow-ground-depth: 0vh;
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -2px;
  height: var(--snow-ground-depth);
  min-height: 0;
  border-radius: 50% 50% 0 0 / 18px 18px 0 0;
  background:
    radial-gradient(ellipse at 12% 0, rgba(255,255,255,.98) 0 11%, transparent 12%),
    radial-gradient(ellipse at 37% 1%, rgba(252,254,255,.98) 0 13%, transparent 14%),
    radial-gradient(ellipse at 62% 0, rgba(255,255,255,.98) 0 10%, transparent 11%),
    radial-gradient(ellipse at 84% 2%, rgba(248,252,255,.98) 0 14%, transparent 15%),
    linear-gradient(to bottom, #fbfdff, #e4eef5 70%, #cfdee9);
  box-shadow: 0 -5px 16px rgba(205,230,248,.28);
  transition: height 600ms ease;
}

.rlfx-snow-control {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483100;
  width: min(360px, calc(100vw - 28px));
  padding: 13px;
  color: #e6edf3;
  background: rgba(13,17,23,.96);
  border: 1px solid #3b4654;
  border-radius: 13px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.rlfx-snow-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 11px;
  padding-bottom: 10px;
  border-bottom: 1px solid #252d36;
}

.rlfx-snow-title {
  color: #d9efff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .05em;
}

.rlfx-snow-subtitle {
  margin-top: 3px;
  color: #6e7681;
  font-size: .64rem;
}

.rlfx-snow-close {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #8b949e;
  background: #111820;
  border: 1px solid #30363d;
  border-radius: 7px;
  font: inherit;
  font-size: 1rem;
  cursor: pointer;
}

.rlfx-snow-presets {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin-bottom: 12px;
}

.rlfx-snow-presets button,
.rlfx-snow-end {
  padding: 8px 9px;
  color: #c9d1d9;
  background: #111820;
  border: 1px solid #30363d;
  border-radius: 7px;
  font: inherit;
  font-size: .68rem;
  cursor: pointer;
}

.rlfx-snow-presets button:hover,
.rlfx-snow-end:hover {
  border-color: #79c0ff;
  background: #18212b;
}

.rlfx-snow-presets .snowday {
  color: #d8f3ff;
}

.rlfx-snow-presets button.active {
  color: #f0f6fc;
  background:
    linear-gradient(
      180deg,
      rgba(88,166,255,.22),
      rgba(31,111,184,.12)
    );
  border-color: #79c0ff;
  box-shadow:
    inset 0 0 0 1px rgba(121,192,255,.16),
    0 0 14px rgba(88,166,255,.10);
}

.rlfx-snow-presets button.active::before {
  content: "● ";
  color: #79c0ff;
}

.rlfx-snow-row {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr) 34px;
  gap: 8px;
  align-items: center;
  min-height: 34px;
  color: #8b949e;
  font-size: .69rem;
}

.rlfx-snow-row input[type="range"] {
  width: 100%;
  accent-color: #79c0ff;
  cursor: pointer;
}

.rlfx-snow-row output {
  color: #e6edf3;
  text-align: right;
  font-size: .68rem;
}

.rlfx-snow-status {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 11px 0;
  padding: 8px 9px;
  color: #8b949e;
  background: #0b1016;
  border: 1px solid #252d36;
  border-radius: 7px;
  font-size: .62rem;
}

.rlfx-snow-status [data-snow-depth] {
  color: #d9efff;
}

.rlfx-snow-end {
  width: 100%;
}

.rlfx-snowday-banner {
  position: absolute;
  left: 50%;
  top: 22px;
  z-index: 12;
  transform: translateX(-50%);
  padding: 9px 15px;
  color: #eaf8ff;
  background: rgba(20,45,64,.9);
  border: 1px solid rgba(121,192,255,.58);
  border-radius: 9px;
  box-shadow: 0 10px 32px rgba(0,0,0,.35);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.rlfx-snowplow {
  position: absolute;
  left: 0;
  bottom: 2.4vh;
  z-index: 20;
  display: flex;
  align-items: flex-end;
  gap: 0;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.32));
}

.rlfx-snowplow .truck {
  font-size: 4.8rem;
  line-height: 1;
}

.rlfx-snowplow .blade {
  width: 50px;
  height: 28px;
  margin-left: -16px;
  margin-bottom: 5px;
  transform: skewX(-24deg);
  border: 3px solid #9aa7b3;
  border-radius: 4px;
  background: linear-gradient(#c7d0d8,#697784);
}

.rlfx-snowplow .spray {
  margin-left: -4px;
  margin-bottom: 16px;
  color: #eaf7ff;
  font-size: 1.4rem;
  letter-spacing: 4px;
  transform: rotate(-14deg);
}

@media (max-width: 640px) {
  .rlfx-snow-control {
    right: 10px;
    bottom: 10px;
    width: min(340px, calc(100vw - 20px));
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }

  .rlfx-snow-row {
    grid-template-columns: 76px minmax(0,1fr) 30px;
  }




  .rlfx-snowplow .truck { font-size: 4rem; }
}



/* Forest Hunt v2 */
body.rlfx-hunting,
body.rlfx-hunting * { cursor:none !important; }

.rlfx-forest-hunt {
  background:
    linear-gradient(rgba(3,8,6,.08), rgba(2,7,5,.2));
  user-select:none;
  overflow:hidden;
  isolation:isolate;
}

.rlfx-forest-scenery,
.rlfx-hunt-animals {
  position:absolute;
  inset:0;
  pointer-events:none;
}

.rlfx-forest-scenery.cinematic {
  z-index:1;
  overflow:hidden;
}

.rlfx-forest-sky {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 84% 9%, rgba(255,200,108,.28), transparent 22%),
    linear-gradient(180deg, rgba(82,110,126,.36) 0%, rgba(52,83,74,.2) 29%, rgba(11,28,19,.24) 70%, rgba(4,13,8,.35) 100%);
}

.rlfx-sun-glow {
  position:absolute;
  right:-4vw;
  top:-6vh;
  width:30vw;
  height:42vh;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,211,135,.32), rgba(255,194,93,.1) 38%, transparent 72%);
  filter:blur(8px);
}

.rlfx-mountain-range {
  position:absolute;
  left:-4vw;
  width:108vw;
  clip-path:polygon(0 100%,0 77%,6% 54%,12% 69%,20% 35%,26% 60%,34% 17%,42% 55%,49% 31%,56% 68%,64% 12%,72% 56%,80% 26%,87% 61%,95% 35%,100% 47%,100% 100%);
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.28));
}
.rlfx-mountain-range.far {
  bottom:37vh;
  height:47vh;
  opacity:.48;
  background:linear-gradient(180deg,#718087,#3f5a57 58%,#203b31);
  filter:blur(.7px);
}
.rlfx-mountain-range.mid {
  bottom:26vh;
  height:40vh;
  opacity:.62;
  background:linear-gradient(180deg,#304d43,#1c392c 58%,#10291d);
  transform:scaleX(1.04) translateY(2vh);
}

.rlfx-mist-band {
  position:absolute;
  left:-10vw;
  width:120vw;
  height:12vh;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(218,232,229,.16), rgba(190,215,208,.07) 52%, transparent 74%);
  filter:blur(16px);
  opacity:.7;
}
.rlfx-mist-band.mist-one { bottom:35vh; transform:rotate(-2deg); }
.rlfx-mist-band.mist-two { bottom:18vh; transform:rotate(2deg); opacity:.4; }

.rlfx-tree-line {
  position:absolute;
  left:-2vw;
  right:-2vw;
  bottom:14vh;
  height:45vh;
  background:
    repeating-linear-gradient(82deg,transparent 0 4vw,#0b2818 4.15vw 4.95vw,transparent 5.1vw 8.5vw),
    repeating-linear-gradient(97deg,transparent 0 6vw,#123920 6.1vw 7vw,transparent 7.1vw 11vw);
  clip-path:polygon(0 100%,0 77%,3% 43%,5% 71%,9% 21%,12% 74%,17% 36%,20% 72%,25% 12%,29% 74%,34% 31%,38% 72%,43% 16%,47% 73%,53% 35%,57% 74%,62% 20%,67% 72%,72% 36%,76% 74%,82% 14%,87% 72%,92% 30%,96% 70%,100% 40%,100% 100%);
}
.rlfx-tree-line.back { opacity:.62; transform:translateY(-5vh) scale(.92); filter:blur(.4px); }
.rlfx-tree-line.mid { opacity:.9; }

.rlfx-forest-floor {
  position:absolute;
  left:0; right:0; bottom:0;
  height:30vh;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(65,83,49,.36), transparent 58%),
    linear-gradient(0deg,rgba(5,22,10,.98),rgba(12,43,21,.89) 42%,rgba(23,72,34,.48) 68%,transparent);
}

.rlfx-brush {
  position:absolute;
  left:0; right:0; bottom:-1vh;
  height:16vh;
  background:
    repeating-linear-gradient(78deg,transparent 0 15px,#214a28 16px 20px,transparent 21px 33px),
    repeating-linear-gradient(101deg,transparent 0 25px,#335f33 26px 29px,transparent 30px 42px);
  opacity:.90;
  filter:drop-shadow(0 -4px 10px rgba(0,0,0,.24));
}

.rlfx-vine {
  position:absolute;
  top:-3vh;
  z-index:18;
  width:70px;
  height:108vh;
  animation:rlfx-vine-grow 1.8s ease-out both;
  transform-origin:top;
}
.rlfx-vine:before {
  content:"";
  position:absolute;
  left:31px;
  top:0;
  width:8px;
  height:100%;
  background:linear-gradient(90deg,#142f17,#365e2c,#142b16);
  border-radius:999px;
  box-shadow:0 0 12px rgba(0,0,0,.35);
}
.rlfx-vine span {
  position:absolute;
  width:32px;
  height:18px;
  border-radius:80% 15% 80% 15%;
  background:linear-gradient(135deg,#4f7a38,#1e4b25);
  box-shadow:inset 3px 2px rgba(255,255,255,.05),0 3px 8px rgba(0,0,0,.28);
}
.rlfx-vine span:nth-child(1){top:8%;left:8px;rotate:-26deg}.rlfx-vine span:nth-child(2){top:27%;right:2px;rotate:31deg}.rlfx-vine span:nth-child(3){top:48%;left:6px;rotate:-34deg}.rlfx-vine span:nth-child(4){top:68%;right:2px;rotate:26deg}.rlfx-vine span:nth-child(5){top:87%;left:6px;rotate:-28deg}
.rlfx-vine-left{left:2px}.rlfx-vine-right{right:2px;transform:scaleX(-1)}
@keyframes rlfx-vine-grow{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}

.rlfx-tree {
  position:absolute;
  bottom:2vh;
  z-index:12;
  width:110px;
  height:55vh;
  pointer-events:none;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.42));
}
.rlfx-tree i {
  position:absolute;
  left:46px;
  bottom:0;
  width:23px;
  height:63%;
  background:linear-gradient(90deg,#2b1b13,#6a4430 42%,#2d1c14 100%);
  border-radius:48% 42% 12% 12%;
}
.rlfx-tree b,
.rlfx-tree b:before,
.rlfx-tree b:after {
  position:absolute;
  content:"";
  width:0;height:0;
  border-left:82px solid transparent;
  border-right:82px solid transparent;
  border-bottom:168px solid #143720;
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.25));
}
.rlfx-tree b{left:-26px;top:4%}.rlfx-tree b:before{left:-82px;top:86px;border-bottom-color:#1a4728}.rlfx-tree b:after{left:-82px;top:166px;border-bottom-color:#205431}
.rlfx-tree.t1{left:3vw;transform:scale(1.02)}.rlfx-tree.t2{left:28vw;transform:scale(.67);z-index:4;opacity:.78}.rlfx-tree.t3{right:24vw;transform:scale(.74);z-index:5;opacity:.88}.rlfx-tree.t4{right:3vw;transform:scale(1.16)}

.rlfx-foreground-branch {
  position:absolute;
  top:-2vh;
  width:34vw;
  height:18vh;
  z-index:20;
  opacity:.9;
  filter:drop-shadow(0 8px 15px rgba(0,0,0,.4));
}
.rlfx-foreground-branch:before {
  content:"";position:absolute;left:0;right:0;top:20px;height:22px;
  background:linear-gradient(90deg,#2a1b14,#563827,#241812);
  border-radius:50%;
}
.rlfx-foreground-branch:after {
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 25% 55%,#2c6b35 0 10px,transparent 11px),radial-gradient(circle at 42% 28%,#3d7d3a 0 11px,transparent 12px),radial-gradient(circle at 61% 62%,#2f6c31 0 12px,transparent 13px),radial-gradient(circle at 82% 31%,#497f3f 0 10px,transparent 11px);
}
.rlfx-foreground-branch.branch-left{left:-4vw;rotate:6deg}.rlfx-foreground-branch.branch-right{right:-4vw;transform:scaleX(-1);rotate:-6deg}

.rlfx-hunt-animals.far{z-index:3}
.rlfx-hunt-animals.near{z-index:14}
.rlfx-animal{
  position:absolute;left:0;top:var(--animal-y);
  width:150px;height:100px;
  pointer-events:auto;
  animation:rlfx-animal-cross var(--animal-duration) linear forwards;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.46));
  transform-origin:center;
}
.rlfx-animal.reverse{scale:-1 1}
.rlfx-animal.far-animal{scale:.72;opacity:.84;filter:drop-shadow(0 5px 5px rgba(0,0,0,.38))}
.rlfx-animal.reverse.far-animal{scale:-.72 .72}
.rlfx-animal.hit{animation-play-state:paused;opacity:.14!important;transform:scale(.7)!important;transition:.18s}
.rlfx-animal-svg{display:block;width:100%;height:100%;overflow:visible}
.rlfx-animal.deer{width:155px;height:96px}.rlfx-animal.elk{width:180px;height:108px}.rlfx-animal.moose{width:195px;height:116px}.rlfx-animal.turkey{width:120px;height:90px}.rlfx-animal.bear{width:175px;height:106px}
@keyframes rlfx-animal-cross{from{translate:var(--animal-from) 0}to{translate:var(--animal-to) 0}}

.rlfx-animal.duck{width:112px;height:70px}
.duck-wing-svg{transform-origin:58px 51px;animation:rlfx-svg-wing .26s ease-in-out infinite alternate}
@keyframes rlfx-svg-wing{to{transform:rotate(-26deg) translateY(-5px)}}

.rlfx-animal.tux{font-size:3.5rem;width:70px;height:70px}.rlfx-animal.tux-nope{animation-play-state:paused;transform:rotate(-8deg)}

.rlfx-hunt-hud.cinematic{
  position:absolute;z-index:30;top:8px;left:50%;translate:-50% 0;
  display:flex;align-items:center;gap:18px;
  min-height:48px;
  padding:7px 11px 7px 14px;
  border:2px solid #3b2417;
  border-radius:7px;
  background:
    linear-gradient(rgba(255,255,255,.04),rgba(0,0,0,.16)),
    repeating-linear-gradient(92deg,#3c2417 0 38px,#4d2e1c 39px 74px,#352015 75px 112px);
  box-shadow:0 9px 26px rgba(0,0,0,.5),inset 0 0 0 1px rgba(196,144,77,.2);
  font:900 .82rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.02em;
  color:#f1e3c3;
  pointer-events:auto;
  text-shadow:0 2px 2px rgba(0,0,0,.6);
}
.rlfx-hunt-hud .title{color:#f3e7c6;font-family:Georgia,serif;font-size:1rem;letter-spacing:.05em}.rlfx-hunt-hud .title b{color:#6aa54f}.rlfx-hunt-hud .score{color:#f5c85b}.rlfx-hunt-hud .strikes{color:#ff8e82}.rlfx-hunt-hud .round{color:#79c56c;white-space:nowrap}
.rlfx-hunt-hud .harvests{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid rgba(226,184,115,.24);color:#f0dfb8;white-space:nowrap}
.rlfx-hunt-hud .harvests span{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;color:#efd7a8}
.rlfx-hunt-end{border:1px solid #c78f49;background:#22160f;color:#f2dfbc;border-radius:4px;padding:7px 10px;font:inherit;cursor:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}

.rlfx-crosshair{position:absolute;z-index:40;width:42px;height:42px;border:2px solid rgba(249,251,247,.95);border-radius:50%;translate:-50% -50%;pointer-events:none;filter:drop-shadow(0 1px 3px #000)}.rlfx-crosshair:before,.rlfx-crosshair:after{content:"";position:absolute;background:#f6faf6}.rlfx-crosshair:before{width:56px;height:1px;left:-9px;top:19px}.rlfx-crosshair:after{height:56px;width:1px;top:-9px;left:19px}
.rlfx-crosshair{box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)}

.rlfx-hunt-message{position:absolute;z-index:35;left:50%;top:22%;translate:-50% -50%;padding:10px 18px;border-radius:6px;background:rgba(13,17,13,.9);border:1px solid #567a4f;color:#d8efcf;font:900 1rem/1.4 ui-monospace,monospace;letter-spacing:.06em;opacity:0;scale:.88;transition:.18s;pointer-events:none;text-align:center;box-shadow:0 8px 28px rgba(0,0,0,.38)}.rlfx-hunt-message.show{opacity:1;scale:1}.rlfx-hunt-message.bad{color:#ff9b8f;border-color:#b74d45}.rlfx-hunt-message.gameover{top:45%;font-size:1.7rem;padding:24px 35px}.rlfx-hunt-message small{font-size:.8rem;color:#d7f4dc}.rlfx-hunt-miss{position:absolute;z-index:32;color:#d8c18f;font-size:3rem;translate:-50% -50%;animation:rlfx-miss .4s ease-out forwards;pointer-events:none}@keyframes rlfx-miss{to{scale:2;opacity:0}}

@media(max-width:1100px){.rlfx-hunt-hud.cinematic{gap:11px;font-size:.7rem}.rlfx-hunt-hud .harvests{gap:6px;padding-left:8px}.rlfx-hunt-hud .harvests span{font-size:.62rem}}
@media(max-width:900px){.rlfx-hunt-hud.cinematic{gap:10px;font-size:.66rem}.rlfx-hunt-hud .harvests{display:none}.rlfx-tree.t2,.rlfx-tree.t3{display:none}}
@media(max-width:700px){.rlfx-hunt-hud.cinematic{top:7px;gap:7px;padding:7px;font-size:.58rem}.rlfx-hunt-hud .title{display:none}.rlfx-hunt-hud .round{font-size:.58rem}.rlfx-hunt-hud .score{font-size:.66rem}.rlfx-foreground-branch{width:42vw}.rlfx-animal{scale:.82}.rlfx-animal.reverse{scale:-.82 .82}.rlfx-animal.far-animal{scale:.6}.rlfx-animal.reverse.far-animal{scale:-.6 .6}}


/* =========================================================
   FOREST HUNT V3 - PHOTOREALISTIC ENVIRONMENT
   ========================================================= */

.rlfx-forest-scenery.cinematic {
  background:
    linear-gradient(180deg, rgba(3,9,8,.08) 0%, rgba(3,9,8,.12) 42%, rgba(2,8,6,.38) 100%),
    url("/effects/assets/forest/forest-background.webp") center center / cover no-repeat;
  filter: none;
}

/* The photographic environment replaces the procedural mountain/tree art. */
.rlfx-forest-sky,
.rlfx-mountain-range,
.rlfx-tree-line,
.rlfx-forest-floor,
.rlfx-brush,
.rlfx-tree,
.rlfx-foreground-branch {
  display: none !important;
}

/* Retain only subtle atmospheric motion over the real landscape. */
.rlfx-sun-glow {
  right: -8vw;
  top: -9vh;
  width: 42vw;
  height: 58vh;
  opacity: .55;
  background: radial-gradient(circle, rgba(255,208,122,.2), rgba(255,179,79,.06) 40%, transparent 72%);
  filter: none;
}

.rlfx-mist-band {
  opacity: .12;
  filter: none;
}

.rlfx-mist-band.mist-one { bottom: 32vh; }
.rlfx-mist-band.mist-two { bottom: 13vh; opacity: .08; }

/* Vines remain as a subtle game-frame element instead of dominating the photo. */
.rlfx-vine {
  opacity: .68;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.5));
}

/* Help the SVG animals sit inside the photographic scene until the raster sprite pack lands. */
.rlfx-animal {
  filter: drop-shadow(0 8px 9px rgba(0,0,0,.5));
}

.rlfx-animal.far-animal {
  opacity: .78;
  filter: drop-shadow(0 5px 6px rgba(0,0,0,.4));
}


/* Forest Hunt v6: realistic deer, moose and bear.
   Ducks and turkey intentionally remain unchanged. */
.rlfx-animal.realistic-animal {
  width: auto;
  background: transparent;
}
.rlfx-animal.realistic-animal .rlfx-real-animal-img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.rlfx-animal.realistic-animal.deer { height: clamp(82px, 10.5vw, 158px); }
.rlfx-animal.realistic-animal.moose { height: clamp(108px, 13vw, 198px); }
.rlfx-animal.realistic-animal.bear { height: clamp(92px, 11.5vw, 174px); }


/* Forest Hunt v7: animated realistic wildlife frames.
   Ducks and turkey remain exactly as before. */
.rlfx-animal.animated-wildlife {
  width: auto;
  background: transparent;
}

.rlfx-animal.animated-wildlife .rlfx-real-animal-img {
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.rlfx-animal.animated-wildlife.deer {
  height: clamp(88px, 10.8vw, 162px);
}

.rlfx-animal.animated-wildlife.elk {
  height: clamp(108px, 13.2vw, 198px);
}

.rlfx-animal.animated-wildlife.moose {
  height: clamp(114px, 14vw, 210px);
}

.rlfx-animal.animated-wildlife.bear {
  height: clamp(100px, 12.2vw, 184px);
}


/* Forest Hunt v8: clean transparent animation sprites */
.rlfx-animal.animated-wildlife,
.rlfx-animal.animated-wildlife .rlfx-real-animal-img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none;
}
.rlfx-animal.animated-wildlife .rlfx-real-animal-img {
  object-fit: contain;
}


/* Forest Hunt v9: fully isolated RGBA wildlife frames. */
.rlfx-animal.animated-wildlife,
.rlfx-animal.animated-wildlife .rlfx-real-animal-img {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.rlfx-animal.animated-wildlife .rlfx-real-animal-img {
  object-fit: contain;
  image-rendering: auto;
}


/* =========================================================
   AIR COMMAND
   ========================================================= */

.rlfx-aircommand {
  z-index: 2147483300;
  overflow: hidden;
  background:
    linear-gradient(rgba(4,8,11,.12), rgba(4,8,11,.34));
  pointer-events: auto;
}

.rlfx-air-world,
.rlfx-air-actors,
.rlfx-air-fallout,
.rlfx-air-flash,
.rlfx-air-shockwave {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.rlfx-air-world {
  overflow: hidden;
}

.rlfx-air-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, transparent 20%, rgba(2,5,8,.12) 70%, rgba(0,0,0,.4) 100%);
}

.rlfx-air-clouds {
  position: absolute;
  left: -20vw;
  width: 140vw;
  height: 22vh;
  opacity: .16;
  filter: blur(18px);
  background:
    radial-gradient(ellipse at 10% 50%, rgba(220,228,235,.7), transparent 35%),
    radial-gradient(ellipse at 40% 50%, rgba(220,228,235,.5), transparent 34%),
    radial-gradient(ellipse at 70% 50%, rgba(220,228,235,.65), transparent 32%);
  animation: rlfx-air-cloud-drift 22s linear infinite;
}

.rlfx-air-clouds.cloud-a { top: 12vh; }
.rlfx-air-clouds.cloud-b {
  top: 30vh;
  opacity: .09;
  animation-duration: 31s;
  animation-direction: reverse;
}

@keyframes rlfx-air-cloud-drift {
  from { transform: translateX(-6vw); }
  to { transform: translateX(12vw); }
}

.rlfx-air-ground-haze {
  position: absolute;
  left: -10vw;
  right: -10vw;
  bottom: -6vh;
  height: 28vh;
  opacity: .35;
  background:
    linear-gradient(to top, rgba(39,46,41,.55), rgba(63,74,66,.14) 42%, transparent);
}

.rlfx-air-hud {
  position: fixed;
  top: 10px;
  left: 50%;
  z-index: 30;
  width: min(1040px, calc(100vw - 32px));
  min-height: 58px;
  transform: translateX(-50%);

  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 20px;

  padding: 9px 12px 9px 16px;

  color: #dce4e8;
  background:
    linear-gradient(180deg, rgba(24,31,35,.97), rgba(8,13,16,.97));

  border: 1px solid rgba(125,146,157,.5);
  border-radius: 9px;

  box-shadow:
    0 12px 38px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.05);

  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
}

.rlfx-air-hud.danger {
  border-color: rgba(255,91,72,.75);
  box-shadow:
    0 12px 38px rgba(0,0,0,.45),
    0 0 26px rgba(255,64,48,.12),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.rlfx-air-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rlfx-air-title .badge {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #72818a;
  border-radius: 50%;
  color: #d9e0e4;
  background: #11181c;
}

.rlfx-air-title b {
  display: block;
  color: #f1f5f7;
  font-size: .88rem;
  letter-spacing: .08em;
}

.rlfx-air-title small {
  display: block;
  margin-top: 2px;
  color: #74858e;
  font-size: .52rem;
  letter-spacing: .08em;
}

.rlfx-air-status {
  text-align: right;
}

.rlfx-air-status .label {
  display: block;
  color: #667982;
  font-size: .48rem;
  letter-spacing: .15em;
}

.rlfx-air-status strong {
  color: #7ee787;
  font-size: .68rem;
  letter-spacing: .07em;
}

.rlfx-air-hud.danger .rlfx-air-status strong {
  color: #ff6b5f;
}

.rlfx-air-close {
  min-height: 36px;
  padding: 0 12px;
  color: #c7d0d5;
  background: #11181c;
  border: 1px solid #46555d;
  border-radius: 5px;
  font: inherit;
  font-size: .64rem;
  cursor: pointer;
}

.rlfx-air-close:hover {
  color: #fff;
  border-color: #81919a;
}

.rlfx-air-console {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 31;

  width: min(340px, calc(100vw - 36px));

  color: #cfd9dd;
  background: rgba(7,12,15,.96);

  border: 1px solid #36464e;
  border-radius: 9px;

  box-shadow:
    0 18px 44px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.04);

  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;

  overflow: hidden;
}

.rlfx-air-console-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #95a7b0;
  background: #11191d;
  border-bottom: 1px solid #28363d;
  font-size: .64rem;
}

.rlfx-air-ready {
  color: #3fb950;
}

.rlfx-air-group {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(63,78,87,.45);
}

.rlfx-air-group:last-child {
  border-bottom: 0;
}

.rlfx-air-group-title {
  display: block;
  margin-bottom: 7px;
  color: #667b85;
  font-size: .53rem;
  letter-spacing: .14em;
}

.rlfx-air-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.rlfx-air-buttons button,
.rlfx-nuke-button,
.rlfx-nuke-confirm button {
  min-height: 34px;
  padding: 5px 8px;
  color: #d4dde1;
  background: #111a1e;
  border: 1px solid #34444c;
  border-radius: 5px;
  font: inherit;
  font-size: .58rem;
  cursor: pointer;
}

.rlfx-air-buttons button:hover {
  color: #fff;
  border-color: #76909c;
  background: #172329;
}

.rlfx-air-group.strategic {
  background:
    linear-gradient(180deg, rgba(95,17,15,.13), rgba(95,17,15,.04));
}

.rlfx-nuke-button {
  width: 100%;
  color: #ffb3a9;
  border-color: rgba(255,83,64,.5);
  background:
    linear-gradient(180deg, rgba(122,20,17,.55), rgba(55,10,9,.8));
  font-weight: 800;
  letter-spacing: .06em;
}

.rlfx-nuke-button:hover {
  color: #fff;
  border-color: #ff5b4b;
  box-shadow: 0 0 18px rgba(255,73,54,.14);
}

.rlfx-nuke-confirm {
  display: none;
  margin-top: 8px;
  padding: 9px;
  border: 1px solid rgba(255,78,60,.45);
  border-radius: 6px;
  background: rgba(55,8,7,.78);
}

.rlfx-nuke-confirm.show {
  display: block;
}

.rlfx-nuke-confirm .warning {
  display: block;
  margin-bottom: 8px;
  color: #ff8c7e;
  font-size: .53rem;
  line-height: 1.4;
}

.rlfx-key-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.rlfx-nuke-key.armed {
  color: #fff;
  border-color: #ff3d2e;
  background: #8c1710;
  animation: rlfx-nuke-pulse .72s ease-in-out infinite alternate;
}

@keyframes rlfx-nuke-pulse {
  from { box-shadow: 0 0 0 rgba(255,60,40,0); }
  to { box-shadow: 0 0 18px rgba(255,60,40,.35); }
}

.rlfx-aircraft {
  position: absolute;
  left: 0;
  z-index: 11;
  width: 280px;
  height: 110px;
  filter: drop-shadow(0 13px 10px rgba(0,0,0,.45));
  transform-origin: center;
  will-change: transform, opacity;
}

.rlfx-aircraft.bomber {
  width: 360px;
  height: 140px;
  z-index: 12;
}

.rlfx-aircraft.cargo {
  width: 390px;
  height: 145px;
}

.rlfx-aircraft svg,
.rlfx-air-tank svg {
  width: 100%;
  height: 100%;
  display: block;
}

.rlfx-aircraft-shadow {
  position: absolute;
  left: 0;
  width: 250px;
  height: 65px;
  z-index: 4;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  filter: blur(18px);
  will-change: transform, opacity;
}

.rlfx-air-tank {
  position: absolute;
  left: 0;
  bottom: 1vh;
  z-index: 14;
  width: 235px;
  height: 115px;
  filter: drop-shadow(0 10px 9px rgba(0,0,0,.45));
  will-change: transform;
}

.rlfx-air-tank::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -5px;
  height: 9px;
  border-radius: 50%;
  background: rgba(45,38,29,.3);
  filter: blur(4px);
}

.rlfx-air-explosion {
  position: absolute;
  z-index: 18;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background:
    radial-gradient(circle,
      #fff 0 7%,
      #fff4a8 8% 17%,
      #ffb31a 18% 34%,
      #f25918 35% 54%,
      rgba(103,24,9,.88) 55% 70%,
      transparent 72%);
  box-shadow:
    0 0 28px rgba(255,112,20,.85),
    0 0 80px rgba(255,51,18,.34);
  will-change: transform, opacity;
}

.rlfx-air-explosion.heavy {
  width: 142px;
  height: 142px;
}

.rlfx-air-sparks {
  position: absolute;
  z-index: 17;
  width: 120px;
  height: 120px;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(255,198,71,.95) 0 2deg,
      transparent 2deg 17deg
    );
  clip-path: polygon(
    49% 0, 54% 38%, 74% 5%, 63% 42%, 100% 34%,
    67% 50%, 100% 66%, 62% 58%, 75% 96%, 54% 63%,
    49% 100%, 45% 63%, 24% 96%, 37% 58%, 0 67%,
    34% 50%, 0 34%, 38% 42%, 25% 6%, 45% 38%
  );
}

.rlfx-air-bomb {
  position: absolute;
  z-index: 19;
  width: 18px;
  height: 52px;
  border-radius: 48% 48% 42% 42%;
  background:
    linear-gradient(90deg, #151b1f, #66727b 46%, #1a2024 75%);
  border: 1px solid #82909a;
  box-shadow: 0 7px 8px rgba(0,0,0,.42);
}

.rlfx-air-bomb::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 2px;
  width: 32px;
  height: 12px;
  background: #3b454c;
  clip-path: polygon(0 0, 50% 38%, 100% 0, 72% 100%, 28% 100%);
}

.rlfx-air-bomb.nuke {
  width: 22px;
  height: 67px;
  background:
    linear-gradient(90deg, #20242a, #8e969a 48%, #272b31 78%);
}

.rlfx-air-flash {
  z-index: 22;
  opacity: 0;
  background: #fff;
}

.rlfx-air-flash.detonate {
  animation: rlfx-air-flash 2.4s ease-out forwards;
}

@keyframes rlfx-air-flash {
  0% { opacity: 0; }
  4% { opacity: 1; }
  12% { opacity: .98; }
  28% { opacity: .42; background: #fff8cb; }
  100% { opacity: 0; background: #ff7a31; }
}

.rlfx-air-shockwave {
  z-index: 21;
  opacity: 0;
}

.rlfx-air-shockwave::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 58%;
  width: 80px;
  height: 80px;
  transform: translate(-50%,-50%);
  border: 8px solid rgba(255,255,255,.9);
  border-radius: 50%;
  box-shadow:
    0 0 25px rgba(255,255,255,.8),
    inset 0 0 25px rgba(255,255,255,.7);
}

.rlfx-air-shockwave.detonate {
  opacity: 1;
}

.rlfx-air-shockwave.detonate::before {
  animation: rlfx-air-shockwave 2s cubic-bezier(.08,.75,.18,1) forwards;
}

@keyframes rlfx-air-shockwave {
  from {
    width: 80px;
    height: 80px;
    opacity: 1;
  }
  to {
    width: 170vw;
    height: 170vw;
    opacity: 0;
    border-width: 1px;
  }
}

.rlfx-mushroom-cloud {
  position: absolute;
  left: 50%;
  bottom: -3vh;
  z-index: 16;
  width: 360px;
  height: 520px;
  transform-origin: 50% 100%;
  filter:
    drop-shadow(0 0 20px rgba(255,101,35,.25))
    drop-shadow(0 24px 26px rgba(0,0,0,.55));
}

.rlfx-mushroom-cloud .stem {
  position: absolute;
  left: 43%;
  bottom: 0;
  width: 15%;
  height: 70%;
  border-radius: 46% 46% 20% 20%;
  background:
    radial-gradient(circle at 36% 25%, #ffbd61 0 7%, transparent 8%),
    linear-gradient(90deg,
      rgba(65,45,36,.95),
      rgba(208,98,42,.96) 46%,
      rgba(65,42,34,.95));
}

.rlfx-mushroom-cloud .cap {
  position: absolute;
  left: 50%;
  border-radius: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 44% 42%, #ffd17a 0 8%, #e66c2d 9% 24%, #713424 48%, #2a2423 76%);
  box-shadow:
    inset 15px 8px 24px rgba(255,176,78,.18),
    inset -22px -18px 35px rgba(0,0,0,.34);
}

.rlfx-mushroom-cloud .cap-a {
  top: 13%;
  width: 86%;
  height: 27%;
}

.rlfx-mushroom-cloud .cap-b {
  top: 5%;
  width: 61%;
  height: 23%;
}

.rlfx-mushroom-cloud .cap-c {
  top: 24%;
  width: 72%;
  height: 22%;
}

.rlfx-mushroom-cloud .glow {
  position: absolute;
  left: 50%;
  top: 36%;
  width: 44%;
  height: 34%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(255,137,48,.44);
  filter: blur(28px);
}

.rlfx-air-fallout {
  z-index: 23;
  display: none;
}

.rlfx-air-fallout.active {
  display: block;
}

.rlfx-air-ash {
  position: absolute;
  top: -12px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(205,201,191,.72);
  box-shadow: 0 0 4px rgba(255,255,255,.15);
  animation: rlfx-air-ash-fall linear infinite;
}

@keyframes rlfx-air-ash-fall {
  from {
    transform: translate3d(0,-5vh,0);
  }
  to {
    transform: translate3d(var(--ash-drift),112vh,0);
  }
}

.rlfx-air-alarm {
  position: fixed;
  left: 50%;
  top: 95px;
  z-index: 34;
  transform: translateX(-50%);
  min-width: min(540px, calc(100vw - 40px));
  padding: 12px 18px;
  text-align: center;
  color: #fff;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(126,16,11,.96) 0 14px,
      rgba(85,9,7,.96) 14px 28px
    );
  border: 1px solid #ff5b4a;
  border-radius: 6px;
  box-shadow:
    0 10px 30px rgba(0,0,0,.42),
    0 0 28px rgba(255,60,42,.2);
  font-family:
    "SFMono-Regular",
    Consolas,
    monospace;
  animation: rlfx-air-alarm-pulse .55s ease-in-out infinite alternate;
}

.rlfx-air-alarm span,
.rlfx-air-alarm strong,
.rlfx-air-alarm small {
  display: block;
}

.rlfx-air-alarm strong {
  margin: 2px 0;
  font-size: .8rem;
  letter-spacing: .07em;
}

.rlfx-air-alarm small {
  color: #ffb8ae;
  font-size: .55rem;
}

@keyframes rlfx-air-alarm-pulse {
  from { opacity: .84; }
  to { opacity: 1; }
}

.rlfx-air-aftermath {
  position: fixed;
  left: 50%;
  bottom: 34px;
  z-index: 35;
  transform: translateX(-50%);
  min-width: min(560px, calc(100vw - 40px));
  padding: 13px 18px;
  color: #cfd5d8;
  background: rgba(7,10,11,.94);
  border: 1px solid #4d5558;
  border-radius: 7px;
  text-align: center;
  font-family:
    "SFMono-Regular",
    Consolas,
    monospace;
  box-shadow: 0 12px 34px rgba(0,0,0,.48);
}

.rlfx-air-aftermath span {
  color: #3fb950;
  margin-right: 7px;
}

.rlfx-air-aftermath strong {
  color: #f0f3f4;
}

.rlfx-air-aftermath small {
  display: block;
  margin-top: 5px;
  color: #778489;
  font-size: .58rem;
}

/* Shake page content only: transforming body reanchors fixed theme scenes
   to the document height and briefly enlarges their background artwork. */
html.rlfx-air-impact body > :is(main, .container, .projects-shell, .labs-shell) {
  animation: rlfx-air-impact-shake .2s linear;
}

@keyframes rlfx-air-impact-shake {
  0%,100% { translate: 0px 0px; }
  20% { translate: -4px 2px; }
  40% { translate: 5px -3px; }
  60% { translate: -3px -2px; }
  80% { translate: 3px 2px; }
}

html.rlfx-air-scorched body > *:not(.rlfx-overlay):not(.rlfx-launcher) {
  filter:
    grayscale(.28)
    sepia(.22)
    brightness(.74)
    contrast(1.1);
}

html.rlfx-air-scorched body {
  background:
    radial-gradient(circle at 50% 50%, #4d2216, #100b09 68%, #050404);
}

@media (max-width: 760px) {
  .rlfx-air-hud {
    top: 7px;
    width: calc(100vw - 18px);
    grid-template-columns: 1fr auto;
    gap: 10px;
    min-height: 48px;
    padding: 7px 8px 7px 11px;
  }

  .rlfx-air-status {
    display: none;
  }

  .rlfx-air-title small {
    display: none;
  }

  .rlfx-air-title b {
    font-size: .68rem;
  }

  .rlfx-air-close {
    min-height: 32px;
    padding: 0 8px;
    font-size: .55rem;
  }

  .rlfx-air-console {
    left: 9px;
    bottom: 9px;
    width: min(310px, calc(100vw - 18px));
  }

  .rlfx-air-buttons {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .rlfx-aircraft {
    width: 220px;
  }

  .rlfx-aircraft.bomber {
    width: 270px;
  }

  .rlfx-aircraft.cargo {
    width: 285px;
  }

  .rlfx-air-tank {
    width: 180px;
  }

  .rlfx-mushroom-cloud {
    width: 270px;
    height: 410px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rlfx-aircommand *,
  .rlfx-aircommand *::before,
  .rlfx-aircommand *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* =========================================================
   AIR COMMAND v2 — DAMAGE + FIRING + REALISM PASS
   ========================================================= */

.rlfx-aircraft svg {
  overflow: visible;
}

.rlfx-aircraft.fighter {
  filter:
    drop-shadow(0 14px 12px rgba(0,0,0,.58))
    drop-shadow(-22px 0 18px rgba(104,174,255,.12));
}

.rlfx-aircraft.bomber {
  filter:
    drop-shadow(0 18px 16px rgba(0,0,0,.62))
    contrast(1.08);
}

.rlfx-air-tank.firing {
  animation: rlfx-tank-recoil .18s ease-out;
}

@keyframes rlfx-tank-recoil {
  0%,100% { translate: 0 0; }
  48% { translate: -6px 1px; }
}

.rlfx-tank-muzzle {
  position: fixed;
  z-index: 25;
  width: 94px;
  height: 52px;
  pointer-events: none;
  transform-origin: left center;
  background:
    radial-gradient(circle at 16% 50%,
      #fff 0 7%,
      #fff4a8 8% 18%,
      #ffaf1a 19% 35%,
      rgba(255,91,15,.9) 36% 54%,
      transparent 58%),
    conic-gradient(
      from 0deg at 15% 50%,
      transparent 0 8%,
      rgba(255,204,85,.95) 8% 13%,
      transparent 13% 25%,
      rgba(255,127,27,.86) 25% 32%,
      transparent 32% 100%);
  filter:
    drop-shadow(0 0 8px rgba(255,151,35,.9))
    drop-shadow(0 0 20px rgba(255,74,10,.55));
}

.rlfx-tank-shell {
  position: fixed;
  z-index: 26;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  pointer-events: none;
  background: #fff6b0;
  box-shadow:
    0 0 8px #fff,
    0 0 15px #ffb21d,
    -18px 0 20px rgba(255,101,18,.7);
}

.rlfx-air-damaged {
  transform-origin: center !important;
}

.rlfx-air-damaged::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 24% 36%, transparent 0 7px, rgba(0,0,0,.7) 8px 11px, transparent 12px),
    radial-gradient(circle at 73% 62%, transparent 0 4px, rgba(0,0,0,.55) 5px 8px, transparent 9px),
    linear-gradient(118deg, transparent 42%, rgba(255,255,255,.12) 42.5%, transparent 43%),
    linear-gradient(62deg, transparent 55%, rgba(0,0,0,.34) 55.5%, transparent 56%);
  mix-blend-mode: multiply;
}

.rlfx-air-critical {
  box-shadow:
    inset 0 0 0 1px rgba(255,113,66,.18),
    inset 0 0 38px rgba(79,18,7,.35) !important;
}

.rlfx-air-scorch {
  position: fixed;
  z-index: 20;
  width: var(--scorch-size);
  height: var(--scorch-size);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  background:
    radial-gradient(circle,
      rgba(17,11,8,.88) 0 18%,
      rgba(37,19,12,.72) 19% 36%,
      rgba(84,36,16,.4) 37% 55%,
      transparent 70%);
  filter: blur(5px);
  mix-blend-mode: multiply;
}

.rlfx-air-crack {
  position: fixed;
  z-index: 21;
  width: 150px;
  height: 150px;
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(90deg, transparent 49%, rgba(15,15,15,.9) 50%, transparent 51%),
    linear-gradient(27deg, transparent 49%, rgba(17,17,17,.72) 50%, transparent 51%),
    linear-gradient(151deg, transparent 49%, rgba(12,12,12,.76) 50%, transparent 51%);
  clip-path: polygon(
    47% 0, 53% 39%, 83% 10%, 60% 44%, 100% 48%,
    61% 53%, 88% 90%, 55% 61%, 50% 100%, 45% 61%,
    10% 91%, 40% 54%, 0 47%, 41% 43%, 18% 9%, 46% 39%
  );
}

.rlfx-air-bomb.nuke {
  width: 56px;
  height: 122px;
  border-radius: 45% 45% 34% 34% / 24% 24% 60% 60%;
  background:
    linear-gradient(90deg,
      #2b3225 0,
      #626e43 20%,
      #7e894e 46%,
      #4a5232 70%,
      #20261c 100%);
  border: 2px solid #929a61;
  box-shadow:
    inset 8px 0 12px rgba(255,255,255,.08),
    inset -10px 0 14px rgba(0,0,0,.32),
    0 12px 18px rgba(0,0,0,.55);
}

.rlfx-air-bomb.nuke::before {
  left: -15px;
  top: 7px;
  width: 86px;
  height: 24px;
  background: #343b29;
}

.rlfx-air-bomb.nuke::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 34px;
  height: 17px;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(circle, #171b15 0 26%, #6b7148 28% 45%, #242a1e 47%);
}

.rlfx-fat-boy-label {
  position: absolute;
  left: 50%;
  top: 46%;
  transform: translate(-50%,-50%) rotate(90deg);
  color: #e7e1c7;
  font:
    900 12px/1
    "Arial Narrow",
    Impact,
    sans-serif;
  letter-spacing: .08em;
  white-space: nowrap;
  text-shadow: 0 1px 2px #000;
}

.rlfx-mushroom-cloud {
  width: 430px;
  height: 590px;
  filter:
    drop-shadow(0 0 45px rgba(255,116,34,.34))
    drop-shadow(0 35px 35px rgba(0,0,0,.65));
}

.rlfx-mushroom-cloud .stem {
  left: 39%;
  width: 22%;
  height: 72%;
  background:
    radial-gradient(circle at 35% 19%, rgba(255,237,181,.96) 0 4%, rgba(255,131,42,.72) 5% 14%, transparent 15%),
    radial-gradient(circle at 65% 31%, rgba(255,195,112,.82) 0 5%, rgba(221,84,31,.68) 6% 17%, transparent 18%),
    radial-gradient(circle at 43% 48%, rgba(255,175,82,.75) 0 6%, rgba(101,43,28,.55) 8% 25%, transparent 27%),
    radial-gradient(circle at 62% 69%, rgba(208,86,37,.6) 0 10%, transparent 28%),
    linear-gradient(90deg,
      #191719 0%,
      #4e3028 18%,
      #bd5f32 40%,
      #e78543 51%,
      #814125 65%,
      #2d2522 82%,
      #161516 100%);
  box-shadow:
    inset 18px 0 26px rgba(255,157,62,.18),
    inset -22px 0 30px rgba(0,0,0,.38);
  filter: blur(.8px);
}

.rlfx-mushroom-cloud .cap {
  background:
    radial-gradient(circle at 25% 48%, #ffe2a3 0 4%, #f59345 6% 16%, transparent 18%),
    radial-gradient(circle at 55% 28%, #ffd17b 0 5%, #de6d35 7% 17%, transparent 19%),
    radial-gradient(circle at 73% 58%, #ffb35a 0 5%, #bd522f 8% 20%, transparent 22%),
    radial-gradient(circle at 43% 62%, #e97d3f 0 10%, #6a3428 29%, #272124 58%, #131315 78%);
  box-shadow:
    inset 22px 16px 32px rgba(255,174,83,.2),
    inset -32px -26px 44px rgba(0,0,0,.45),
    0 0 30px rgba(255,105,38,.25);
  filter: blur(.7px);
}

.rlfx-mushroom-cloud .cap-a {
  width: 104%;
  height: 30%;
  top: 15%;
}

.rlfx-mushroom-cloud .cap-b {
  width: 77%;
  height: 25%;
  top: 5%;
}

.rlfx-mushroom-cloud .cap-c {
  width: 89%;
  height: 24%;
  top: 29%;
}

.rlfx-mushroom-cloud .glow {
  width: 58%;
  height: 42%;
  top: 34%;
  background: rgba(255,112,32,.3);
  filter: blur(44px);
}


/* =========================================================
   AIR COMMAND v3 — INDUSTRIAL COMMAND PANEL / LOCAL ASSETS
   ========================================================= */

/* v3 uses the left command panel as the primary HUD. */
.rlfx-aircommand .rlfx-air-hud {
  display: none !important;
}

.rlfx-air-console.industrial {
  position: fixed;
  left: 12px;
  top: 12px;
  bottom: 12px;
  z-index: 2147483400;
  width: 350px;
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  overflow-x: hidden;

  color: #edf0ec;
  background:
    radial-gradient(circle at 7px 7px, #8c9695 0 2px, #30383a 2.5px 4px, transparent 4.5px),
    radial-gradient(circle at calc(100% - 7px) 7px, #8c9695 0 2px, #30383a 2.5px 4px, transparent 4.5px),
    radial-gradient(circle at 7px calc(100% - 7px), #8c9695 0 2px, #30383a 2.5px 4px, transparent 4.5px),
    radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), #8c9695 0 2px, #30383a 2.5px 4px, transparent 4.5px),
    linear-gradient(100deg, rgba(255,255,255,.04), transparent 19%, rgba(255,255,255,.025) 33%, transparent 55%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, #1a2022, #080c0d 22%, #050708 76%, #121719);
  border: 2px solid #3d474a;
  border-radius: 3px;
  box-shadow:
    inset 0 0 0 2px #0b0f10,
    inset 0 0 30px rgba(0,0,0,.72),
    0 20px 45px rgba(0,0,0,.58);
  font-family: "Arial Narrow","Roboto Condensed",Impact,sans-serif;
}

.rlfx-air-console.industrial::before,
.rlfx-air-console.industrial::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.rlfx-air-console.industrial::before {
  inset: 0;
  opacity: .16;
  background:
    repeating-linear-gradient(108deg, transparent 0 33px, rgba(194,173,133,.18) 34px, transparent 36px),
    radial-gradient(circle at 92% 41%, rgba(139,85,48,.36), transparent 4%),
    radial-gradient(circle at 8% 72%, rgba(139,85,48,.24), transparent 5%);
  mix-blend-mode: screen;
}

.rlfx-air-console.industrial > * {
  position: relative;
  z-index: 1;
}

.rlfx-air-panel-title {
  min-height: 68px;
  display: grid;
  grid-template-columns: 38px 1fr 28px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 2px solid #374043;
  background:
    linear-gradient(180deg, rgba(67,77,80,.82), rgba(24,30,32,.96)),
    repeating-linear-gradient(90deg, transparent 0 22px, rgba(255,255,255,.025) 22px 23px);
  box-shadow:
    inset 0 -2px 0 #060909,
    inset 0 1px 0 rgba(255,255,255,.09);
}

.rlfx-air-panel-title .plane-mark {
  font-size: 30px;
  color: #f0f1ec;
  filter: drop-shadow(0 2px 1px #000);
}

.rlfx-air-panel-title strong {
  font-family: Impact,"Arial Black",sans-serif;
  font-size: 29px;
  line-height: 1;
  letter-spacing: .035em;
  color: #e8e7df;
  text-shadow:
    0 2px 0 #15191a,
    0 0 1px #fff;
}

.rlfx-air-panel-close {
  width: 28px;
  height: 28px;
  padding: 0;
  color: #afb8b7;
  background: #111718;
  border: 1px solid #4b5759;
  border-radius: 2px;
  cursor: pointer;
  font: 700 18px/1 monospace;
}

.rlfx-air-panel-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 29px;
  padding: 5px 12px;
  background: #080c0d;
  border-bottom: 1px solid #293234;
  font: 700 10px/1.2 monospace;
  letter-spacing: .08em;
}

.rlfx-air-panel-status span {
  color: #5f6b6d;
}

.rlfx-air-panel-status strong {
  color: #7dff9b;
}

.rlfx-air-console.industrial.danger .rlfx-air-panel-status strong {
  color: #ff6c56;
}

.rlfx-air-console.industrial .rlfx-air-group {
  padding: 10px 12px 12px;
  border-bottom: 2px solid #2c3537;
  background:
    linear-gradient(180deg, rgba(10,14,15,.96), rgba(4,7,7,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    inset 0 -1px 0 #000;
}

.rlfx-air-console.industrial .rlfx-air-group-title {
  display: block;
  margin: 0 0 8px;
  color: #75f49a;
  font: 700 17px/1 "Arial Narrow","Roboto Condensed",sans-serif;
  letter-spacing: .04em;
  text-shadow: 0 0 10px rgba(84,255,128,.14);
}

.rlfx-air-buttons.three {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
}

.rlfx-air-buttons.two {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

.rlfx-air-console.industrial .rlfx-air-buttons button,
.rlfx-dogfight-button {
  position: relative;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 5px 8px;
  color: #f3f1ea;
  background:
    linear-gradient(180deg, #293134 0%, #171d1f 45%, #101416 100%);
  border: 1px solid #556064;
  border-radius: 4px;
  box-shadow:
    inset 0 0 0 2px #0a0e0f,
    inset 0 1px 0 rgba(255,255,255,.1),
    0 3px 8px rgba(0,0,0,.5);
  cursor: pointer;
  overflow: hidden;
}

.rlfx-air-console.industrial .rlfx-air-buttons button::before,
.rlfx-dogfight-button::before {
  content: "";
  position: absolute;
  inset: 3px;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.035);
  border-radius: 2px;
}

.rlfx-air-console.industrial .rlfx-air-buttons button:hover,
.rlfx-dogfight-button:hover {
  border-color: #879396;
  background:
    linear-gradient(180deg, #354043, #1a2224 47%, #111617);
  box-shadow:
    inset 0 0 0 2px #0a0e0f,
    inset 0 1px 0 rgba(255,255,255,.14),
    0 0 14px rgba(102,255,145,.07);
}

.rlfx-air-console.industrial .rlfx-air-buttons button img {
  width: 82%;
  height: 48px;
  object-fit: contain;
  filter:
    grayscale(.15)
    brightness(1.2)
    contrast(1.08)
    drop-shadow(0 4px 4px rgba(0,0,0,.6));
}

.rlfx-air-console.industrial .rlfx-air-buttons button b,
.rlfx-dogfight-button b {
  font: 800 12px/1 "Arial Narrow","Roboto Condensed",sans-serif;
  letter-spacing: .035em;
  text-shadow: 0 2px 2px #000;
}

.rlfx-dogfight-button {
  width: 100%;
  min-height: 46px;
  margin-top: 7px;
  flex-direction: row;
  gap: 12px;
  color: #dfe7e8;
}

.rlfx-dogfight-button .crossed-jets {
  color: #a7b3b7;
  letter-spacing: -.15em;
  transform: rotate(-8deg);
}

.rlfx-air-console.industrial .mil-icon {
  min-height: 48px;
  display: grid;
  place-items: center;
  color: #e2e5df;
  font: 900 30px/1 monospace;
  text-shadow: 0 3px 3px #000;
}

.rlfx-air-console.industrial .strategic {
  background:
    radial-gradient(circle at 50% 50%, rgba(112,15,8,.13), transparent 68%),
    linear-gradient(180deg, #0d0f0f, #090606);
}

.rlfx-air-console.industrial .rlfx-nuke-button {
  width: 100%;
  height: 76px;
  display: grid;
  grid-template-columns: 58px 1fr;
  place-items: center;
  color: #ff5b4b;
  background:
    repeating-linear-gradient(135deg,#fb9320 0 10px,#381009 10px 20px) top/100% 8px no-repeat,
    repeating-linear-gradient(135deg,#fb9320 0 10px,#381009 10px 20px) bottom/100% 8px no-repeat,
    linear-gradient(180deg,#9b160d,#550a07 65%,#300504);
  border: 2px solid #e84329;
  border-radius: 7px;
  box-shadow:
    inset 0 0 0 3px #3b0806,
    inset 0 0 22px rgba(255,91,54,.25),
    0 0 15px rgba(255,56,36,.16);
}

.rlfx-air-console.industrial .rlfx-nuke-button .radiation {
  font-size: 39px;
  color: #ffbd2d;
  text-shadow: 0 0 10px rgba(255,176,29,.35);
}

.rlfx-air-console.industrial .rlfx-nuke-button b {
  justify-self: start;
  font: 900 29px/1 Impact,"Arial Black",sans-serif;
  letter-spacing: .035em;
  text-shadow: 0 2px 0 #4c0905;
}

.rlfx-air-panel-footer {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  color: #566266;
  font: 700 8px/1 monospace;
  letter-spacing: .08em;
}

.rlfx-air-panel-end {
  padding: 5px 8px;
  color: #aeb9bb;
  background: #101617;
  border: 1px solid #394548;
  border-radius: 3px;
  font: 700 9px/1 monospace;
  cursor: pointer;
}

/* Real asset aircraft */
.rlfx-aircraft {
  background: none !important;
}

.rlfx-aircraft-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.rlfx-aircraft.fighter {
  width: 330px;
  height: 132px;
}

.rlfx-aircraft.bomber {
  width: 500px;
  height: 195px;
}

.rlfx-aircraft.cargo {
  width: 450px;
  height: 165px;
}

/* Helicopters */
.rlfx-helicopter {
  position: absolute;
  left: 0;
  z-index: 16;
  width: 360px;
  height: 160px;
  pointer-events: none;
  filter:
    drop-shadow(0 17px 15px rgba(0,0,0,.62))
    contrast(1.04);
}

.rlfx-helicopter.apache {
  width: 330px;
}

.rlfx-helicopter-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rlfx-heli-main-rotor {
  position: absolute;
  left: 19%;
  top: 11%;
  width: 68%;
  height: 7px;
  border-radius: 50%;
  background: rgba(23,27,27,.8);
  box-shadow: 0 0 12px rgba(0,0,0,.55);
  transform-origin: center;
  animation: rlfx-heli-rotor-spin .055s linear infinite;
}

.rlfx-heli-main-rotor::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #747d78;
}

.rlfx-heli-tail-rotor {
  position: absolute;
  right: 5.4%;
  top: 34%;
  width: 34px;
  height: 34px;
  border: 3px solid rgba(48,54,52,.78);
  border-radius: 50%;
  animation: rlfx-heli-tail-spin .09s linear infinite;
}

.rlfx-heli-tail-rotor::before,
.rlfx-heli-tail-rotor::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 31px;
  height: 3px;
  background: #343a38;
  transform: translate(-50%,-50%);
}

.rlfx-heli-tail-rotor::after {
  transform: translate(-50%,-50%) rotate(90deg);
}

@keyframes rlfx-heli-rotor-spin {
  to { transform: rotateY(180deg) scaleX(.35); }
}

@keyframes rlfx-heli-tail-spin {
  to { transform: rotate(360deg); }
}

/* Tactical Tux mask overlay: follows the existing Tux image. */
.rlfx-air-tux-mask {
  position: fixed;
  z-index: 2147483390;
  pointer-events: none;
  object-fit: contain;
  transform: scale(.72) translateY(-7%);
  transform-origin: 50% 42%;
  filter: drop-shadow(0 4px 5px rgba(0,0,0,.35));
}

/* Dogfight */
.rlfx-dogfight-plane {
  position: absolute;
  left: 0;
  z-index: 18;
  width: 310px;
  height: 128px;
  pointer-events: none;
  filter: drop-shadow(0 15px 11px rgba(0,0,0,.55));
}

.rlfx-dogfight-plane .rlfx-aircraft-img {
  width: 100%;
  height: 100%;
}

.rlfx-dogfight-tracer,
.rlfx-air-tracer {
  position: fixed;
  z-index: 24;
  width: 84px;
  height: 3px;
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0),
      rgba(255,238,158,.7) 25%,
      #fff 64%,
      #ffb22b 86%,
      rgba(255,86,24,0));
  box-shadow:
    0 0 5px #fff,
    0 0 10px rgba(255,153,41,.75);
  pointer-events: none;
}

/* Realistic FAT BOY local asset */
.rlfx-air-bomb.nuke.realistic {
  width: 92px !important;
  height: 218px !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.rlfx-air-bomb.nuke.realistic::before,
.rlfx-air-bomb.nuke.realistic::after {
  display: none !important;
}

.rlfx-fat-boy-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    drop-shadow(0 12px 11px rgba(0,0,0,.62))
    contrast(1.05);
}

/* Textured mushroom cloud asset */
.rlfx-mushroom-cloud.realistic {
  width: min(590px, 58vw);
  height: min(760px, 82vh);
  background: none;
  filter:
    drop-shadow(0 0 55px rgba(255,119,37,.28))
    drop-shadow(0 30px 34px rgba(0,0,0,.62));
}

.rlfx-mushroom-cloud.realistic > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rlfx-nuke-ground-glow {
  position: absolute;
  left: 50%;
  bottom: 2%;
  width: 76%;
  height: 14%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(255,130,42,.26);
  filter: blur(38px);
}

@media (max-width: 900px) {
  .rlfx-air-console.industrial {
    width: 320px;
  }

  .rlfx-air-panel-title strong {
    font-size: 25px;
  }
}

@media (max-width: 620px) {
  .rlfx-air-console.industrial {
    left: 6px;
    right: 6px;
    top: auto;
    bottom: 6px;
    width: auto;
    max-height: 58vh;
  }

  .rlfx-air-panel-title {
    min-height: 48px;
  }

  .rlfx-air-panel-title strong {
    font-size: 21px;
  }

  .rlfx-air-console.industrial .rlfx-air-group {
    padding: 8px 9px;
  }

  .rlfx-air-console.industrial .rlfx-air-buttons button {
    min-height: 74px;
  }
}


/* =========================================================
   AIR COMMAND v4 — compact panel + realistic raster aircraft
   ========================================================= */
.rlfx-air-console.industrial {
  width: 238px;
  left: 8px;
  top: 8px;
  bottom: 8px;
  max-height: calc(100vh - 16px);
}
.rlfx-air-panel-title {
  min-height: 48px;
  grid-template-columns: 25px 1fr 22px;
  gap: 6px;
  padding: 6px 8px;
}
.rlfx-air-panel-title .plane-mark { font-size: 20px; }
.rlfx-air-panel-title strong { font-size: 20px; }
.rlfx-air-panel-close { width: 22px; height: 22px; font-size: 14px; }
.rlfx-air-panel-status { min-height: 22px; padding: 4px 8px; font-size: 8px; }
.rlfx-air-console.industrial .rlfx-air-group { padding: 7px 8px 8px; }
.rlfx-air-console.industrial .rlfx-air-group-title { margin-bottom: 6px; font-size: 12px; }
.rlfx-air-buttons.three { gap: 4px; }
.rlfx-air-buttons.two { gap: 5px; }
.rlfx-air-console.industrial .rlfx-air-buttons button {
  min-height: 63px;
  padding: 4px 3px 5px;
  gap: 2px;
}
.rlfx-air-console.industrial .rlfx-air-buttons button img {
  width: 92%;
  height: 34px;
}
.rlfx-air-console.industrial .rlfx-air-buttons button b,
.rlfx-dogfight-button b { font-size: 8px; }
.rlfx-dogfight-button { min-height: 30px; margin-top: 5px; font-size: 8px; }
.rlfx-air-console.industrial .mil-icon { min-height: 33px; font-size: 20px; }
.rlfx-air-console.industrial .rlfx-nuke-button {
  height: 54px;
  grid-template-columns: 42px 1fr;
}
.rlfx-air-console.industrial .rlfx-nuke-button .radiation { font-size: 28px; }
.rlfx-air-console.industrial .rlfx-nuke-button b { font-size: 21px; }
.rlfx-air-panel-footer { min-height: 25px; padding: 5px 7px; font-size: 6px; }
.rlfx-air-panel-end { padding: 4px 6px; font-size: 7px; }

/* Photoreal generated local aircraft. */
.rlfx-aircraft.fighter { width: 380px; height: 150px; }
.rlfx-aircraft.bomber { width: 570px; height: 165px; }
.rlfx-aircraft.cargo { width: 420px; height: 160px; }
.rlfx-aircraft-img,
.rlfx-helicopter-img {
  filter: drop-shadow(0 14px 12px rgba(0,0,0,.58));
}
.rlfx-helicopter { width: 320px; height: 190px; }
.rlfx-helicopter.apache { width: 285px; height: 190px; }

/* Dogfight crash / smoke. */
.rlfx-dogfight-plane { width: 340px; height: 130px; }
.rlfx-dogfight-plane.crashing {
  position: fixed;
  z-index: 29;
  pointer-events: none;
}
.rlfx-crash-fire {
  position: absolute;
  left: 12%;
  top: 48%;
  width: 72px;
  height: 42px;
  border-radius: 50%;
  background: radial-gradient(circle at 62% 50%, #fff 0 7%, #ffd55d 8% 18%, #ff6c21 24% 43%, rgba(174,31,10,.8) 44% 60%, transparent 68%);
  filter: blur(.4px) drop-shadow(0 0 13px rgba(255,91,23,.85));
  animation: rlfx-crash-fire .14s ease-in-out infinite alternate;
}
@keyframes rlfx-crash-fire {
  from { transform: scale(.82) translateX(3px); opacity: .8; }
  to { transform: scale(1.15) translateX(-5px); opacity: 1; }
}
.rlfx-crash-smoke {
  position: fixed;
  z-index: 27;
  width: 38px;
  height: 38px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,38,39,.82) 0 28%, rgba(25,27,28,.62) 36%, rgba(48,48,48,.24) 61%, transparent 72%);
  filter: blur(3px);
  animation: rlfx-crash-smoke-rise 1.55s ease-out forwards;
}
@keyframes rlfx-crash-smoke-rise {
  from { transform: translate(-50%,-50%) scale(.6); opacity: .8; }
  to { transform: translate(calc(-50% + var(--smoke-drift)),-105px) scale(2.25); opacity: 0; }
}

@media (max-width: 620px) {
  .rlfx-air-console.industrial {
    left: 5px;
    right: 5px;
    bottom: 5px;
    width: auto;
    max-height: 48vh;
  }
}


/* =========================================================
   AIR COMMAND v4.1 — cleaned aircraft + rotor/dogfight fixes
   ========================================================= */

/* Ensure the cleaned source cutouts do not reveal hidden RGB edge junk. */
.rlfx-aircraft-img,
.rlfx-helicopter-img {
  image-rendering: auto;
  background: transparent !important;
}

/*
 * The helicopter source artwork now contains the body only. The rotor system
 * is intentionally rendered separately so it can actually spin above the
 * aircraft instead of looking baked into the photograph.
 */
.rlfx-helicopter {
  overflow: visible !important;
}

.rlfx-heli-main-rotor {
  left: 3% !important;
  top: 3% !important;
  width: 94% !important;
  height: 5px !important;
  z-index: 5;
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      transparent 0,
      rgba(33,37,37,.45) 4%,
      rgba(68,73,72,.9) 22%,
      rgba(30,34,34,.95) 49%,
      rgba(68,73,72,.9) 78%,
      rgba(33,37,37,.45) 96%,
      transparent 100%) !important;
  box-shadow:
    0 0 5px rgba(0,0,0,.65),
    0 1px 2px rgba(255,255,255,.10);
  transform-origin: center center !important;
  animation: rlfx-heli-main-blur .085s linear infinite !important;
}

.rlfx-heli-main-rotor::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68%;
  height: 4px;
  transform: translate(-50%,-50%) rotate(90deg);
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      transparent,
      rgba(53,59,58,.74) 18%,
      rgba(24,28,28,.92) 50%,
      rgba(53,59,58,.74) 82%,
      transparent);
}

@keyframes rlfx-heli-main-blur {
  0%   { transform: perspective(180px) rotateX(64deg) rotateZ(0deg) scaleX(1); }
  25%  { transform: perspective(180px) rotateX(64deg) rotateZ(45deg) scaleX(.92); }
  50%  { transform: perspective(180px) rotateX(64deg) rotateZ(90deg) scaleX(1); }
  75%  { transform: perspective(180px) rotateX(64deg) rotateZ(135deg) scaleX(.92); }
  100% { transform: perspective(180px) rotateX(64deg) rotateZ(180deg) scaleX(1); }
}

.rlfx-heli-tail-rotor {
  z-index: 6;
}

/* Keep the dramatic shoot-down above normal page content and actors. */
.rlfx-dogfight-plane.crashing {
  z-index: 2147483395 !important;
}

/* The command panel remains one layer above the effect, but the crash lane
   never enters the panel's horizontal area. */
.rlfx-crash-smoke {
  z-index: 2147483392 !important;
}


/* =========================================================
   AIR COMMAND v4.2 — compact bottom-left panel + clean fleet
   ========================================================= */

/*
 * The command panel now sizes to its controls instead of stretching from
 * top to bottom. It stays anchored in the lower-left corner.
 */
.rlfx-air-console.industrial {
  left: 10px !important;
  right: auto !important;
  top: auto !important;
  bottom: 10px !important;
  width: 216px !important;
  height: auto !important;
  max-height: calc(100vh - 20px) !important;
}

.rlfx-air-panel-title {
  min-height: 41px !important;
  grid-template-columns: 22px 1fr 20px !important;
  gap: 5px !important;
  padding: 5px 7px !important;
}
.rlfx-air-panel-title .plane-mark { font-size: 17px !important; }
.rlfx-air-panel-title strong { font-size: 17px !important; }
.rlfx-air-panel-close { width:20px !important; height:20px !important; font-size:12px !important; }

.rlfx-air-panel-status {
  min-height: 18px !important;
  padding: 3px 7px !important;
  font-size: 7px !important;
}

.rlfx-air-console.industrial .rlfx-air-group {
  padding: 5px 7px 6px !important;
}
.rlfx-air-console.industrial .rlfx-air-group-title {
  margin-bottom: 4px !important;
  font-size: 10px !important;
}
.rlfx-air-buttons.three { gap: 3px !important; }
.rlfx-air-buttons.two { gap: 4px !important; }

.rlfx-air-console.industrial .rlfx-air-buttons button {
  min-height: 52px !important;
  padding: 3px 2px 4px !important;
}
.rlfx-air-console.industrial .rlfx-air-buttons button img {
  width: 90% !important;
  height: 28px !important;
}
.rlfx-air-console.industrial .rlfx-air-buttons button b,
.rlfx-dogfight-button b {
  font-size: 7px !important;
}
.rlfx-dogfight-button {
  min-height: 26px !important;
  margin-top: 4px !important;
  font-size: 7px !important;
}
.rlfx-air-console.industrial .mil-icon {
  min-height: 27px !important;
  font-size: 17px !important;
}
.rlfx-air-console.industrial .rlfx-nuke-button {
  height: 46px !important;
  grid-template-columns: 36px 1fr !important;
}
.rlfx-air-console.industrial .rlfx-nuke-button .radiation {
  font-size: 24px !important;
}
.rlfx-air-console.industrial .rlfx-nuke-button b {
  font-size: 18px !important;
}
.rlfx-air-panel-footer {
  min-height: 22px !important;
  padding: 4px 6px !important;
  font-size: 5px !important;
}
.rlfx-air-panel-end {
  padding: 3px 5px !important;
  font-size: 6px !important;
}

/* Clean fleet sizing. The WebPs have generous transparent canvases, so
   object-fit:contain can never cut off a nose, tail, wing or landing gear. */
.rlfx-aircraft.fighter {
  width: 235px !important;
  height: 94px !important;
}
.rlfx-aircraft.bomber {
  width: 340px !important;
  height: 105px !important;
}
.rlfx-aircraft.cargo {
  width: 270px !important;
  height: 105px !important;
}
.rlfx-helicopter {
  width: 225px !important;
  height: 132px !important;
}
.rlfx-helicopter.apache {
  width: 215px !important;
  height: 132px !important;
}
.rlfx-dogfight-plane {
  width: 220px !important;
  height: 86px !important;
}

/* Keep the spinning rotor visibly above the helicopter body. */
.rlfx-heli-main-rotor {
  left: 4% !important;
  top: 1% !important;
  width: 92% !important;
}
.rlfx-helicopter.apache .rlfx-heli-main-rotor {
  left: 1% !important;
  width: 98% !important;
}

/* Mobile: keep it compact and bottom-left rather than becoming a wide tray. */
@media (max-width: 620px) {
  .rlfx-air-console.industrial {
    left: 6px !important;
    right: auto !important;
    bottom: 6px !important;
    width: min(205px, calc(100vw - 12px)) !important;
    max-height: calc(100vh - 12px) !important;
  }
}


/* =========================================================
   AIR COMMAND v5 — USER-SUPPLIED AIRCRAFT ASSETS
   ========================================================= */
.rlfx-aircraft.fighter {
  width: 245px !important;
  height: 118px !important;
}
.rlfx-aircraft.fighter16,
.rlfx-aircraft.fighter22 {
  width: 245px !important;
  height: 118px !important;
}
.rlfx-aircraft.bomber {
  width: 300px !important;
  height: 123px !important;
}
.rlfx-helicopter {
  width: 245px !important;
  height: 145px !important;
}
.rlfx-helicopter.apache {
  width: 245px !important;
  height: 145px !important;
}
.rlfx-dogfight-plane {
  width: 210px !important;
  height: 102px !important;
}
.rlfx-aircraft-img,
.rlfx-helicopter-img {
  object-fit: contain !important;
  object-position: center !important;
}
/* The supplied helicopter images already contain real rotor geometry.
   Keep the animated overlay subtle so it reads as motion rather than a second rotor. */
.rlfx-heli-main-rotor { opacity: .48 !important; }
.rlfx-heli-tail-rotor { opacity: .42 !important; }

/* =========================================================
   HALLOWEEN — OCTOBER 15–31
   Seasonal cinematic site theme. The JavaScript only exposes
   this effect during the annual Halloween window.
   ========================================================= */

body.rlfx-halloween-mode {
  background:#05070b !important;
}

body.rlfx-halloween-mode .site-nav-shell,
body.rlfx-halloween-mode .container,
body.rlfx-halloween-mode footer {
  position:relative;
  z-index:3;
}

body.rlfx-halloween-mode .site-nav-shell {
  background:rgba(6,9,14,.86);
  border-bottom-color:rgba(231,91,20,.34);
  box-shadow:0 7px 30px rgba(0,0,0,.45);
}

body.rlfx-halloween-mode .container {
  text-shadow:0 2px 12px rgba(0,0,0,.58);
}

body.rlfx-halloween-mode .card,
body.rlfx-halloween-mode .feature-card {
  background:linear-gradient(180deg,rgba(14,20,27,.91),rgba(9,14,20,.94));
  border-color:rgba(96,112,126,.48);
  box-shadow:0 12px 28px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(5px); -webkit-backdrop-filter: blur(5px);
}

body.rlfx-halloween-mode .card:hover,
body.rlfx-halloween-mode .feature-card:hover {
  border-color:rgba(255,128,39,.72);
  background:linear-gradient(180deg,rgba(21,27,34,.95),rgba(12,17,23,.96));
}

.rlfx-halloween-scene {
  z-index:1 !important;
  background:
    radial-gradient(circle at 57% 17%, rgba(145,175,205,.15), transparent 23%),
    linear-gradient(180deg,#06101c 0%,#0a1420 39%,#100c0c 76%,#080607 100%);
}

.rlfx-halloween-sky {
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 20% 25%,rgba(139,163,186,.13),transparent 31%),
    radial-gradient(ellipse at 75% 32%,rgba(62,84,108,.18),transparent 34%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.46));
}

.rlfx-halloween-moon {
  position:absolute;top:7vh;left:56%;width:clamp(130px,16vw,260px);aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle at 31% 26%,rgba(130,147,161,.22) 0 4%,transparent 5%),
    radial-gradient(circle at 68% 62%,rgba(108,126,142,.2) 0 7%,transparent 8%),
    radial-gradient(circle at 48% 75%,rgba(112,128,143,.18) 0 5%,transparent 6%),
    radial-gradient(circle,#eef4f4 0 55%,#c9d7dd 71%,rgba(167,197,213,.25) 72%,transparent 74%);
  filter:drop-shadow(0 0 35px rgba(198,227,240,.38));opacity:.94;
  animation:rlfx-halloween-moon-pulse 8s ease-in-out infinite alternate;
}
@keyframes rlfx-halloween-moon-pulse{to{filter:drop-shadow(0 0 50px rgba(198,227,240,.52));}}

.rlfx-halloween-cloud {
  position:absolute;width:62vw;height:20vh;border-radius:50%;filter:blur(22px);opacity:.25;
  background:radial-gradient(ellipse,rgba(126,142,157,.45),rgba(34,48,60,.22) 46%,transparent 72%);
  animation:rlfx-halloween-cloud-drift 29s linear infinite alternate;
}
.rlfx-halloween-cloud.cloud-a{top:3vh;left:-18vw}.rlfx-halloween-cloud.cloud-b{top:24vh;right:-18vw;animation-duration:38s;animation-direction:alternate-reverse}
@keyframes rlfx-halloween-cloud-drift{to{transform:translateX(22vw) scale(1.12)}}

.rlfx-halloween-lightning {
  position:absolute;top:4vh;width:4px;height:44vh;opacity:0;
  background:linear-gradient(#e8f6ff,#7cc9ff 48%,rgba(125,195,255,.05));
  box-shadow:0 0 10px #dff5ff,0 0 26px #63b9ff;
  clip-path:polygon(45% 0,100% 0,63% 38%,100% 38%,32% 100%,52% 52%,7% 52%);
  transform:rotate(8deg);transform-origin:top center;
}
.rlfx-halloween-lightning.lightning-a{left:14%;animation:rlfx-halloween-strike 9.7s infinite 1.4s}
.rlfx-halloween-lightning.lightning-b{right:12%;height:36vh;animation:rlfx-halloween-strike 13.3s infinite 5.2s}
@keyframes rlfx-halloween-strike{
  0%,90%,94%,100%{opacity:0}91%{opacity:.95}91.6%{opacity:.08}92.1%{opacity:.82}92.8%{opacity:0}
}
.rlfx-halloween-scene::after {
  content:"";position:absolute;inset:0;background:#b6dcff;mix-blend-mode:screen;opacity:0;
  animation:rlfx-halloween-skyflash 9.7s infinite 1.4s;
}
@keyframes rlfx-halloween-skyflash{0%,90%,94%,100%{opacity:0}91%{opacity:.11}91.7%{opacity:.01}92.1%{opacity:.08}92.8%{opacity:0}}

.rlfx-halloween-house {
  position:absolute;right:8vw;top:23vh;width:clamp(220px,30vw,480px);height:34vh;opacity:.72;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.7));
}
.rlfx-halloween-house .house-main,.rlfx-halloween-house .tower{position:absolute;bottom:0;background:#070809;border:1px solid rgba(31,39,44,.8)}
.rlfx-halloween-house .house-main{left:18%;width:66%;height:54%;clip-path:polygon(0 26%,17% 26%,32% 0,47% 25%,62% 12%,76% 27%,100% 27%,100% 100%,0 100%)}
.rlfx-halloween-house .tower-a{left:9%;width:22%;height:73%;clip-path:polygon(50% 0,100% 21%,86% 21%,86% 100%,14% 100%,14% 21%,0 21%)}
.rlfx-halloween-house .tower-b{right:8%;width:19%;height:88%;clip-path:polygon(50% 0,100% 19%,84% 19%,84% 100%,16% 100%,16% 19%,0 19%)}
.rlfx-halloween-house i{position:absolute;width:10%;height:11%;background:#ff8a22;box-shadow:0 0 9px #ff6a00;animation:rlfx-halloween-window-flicker 3.8s steps(1,end) infinite}
.rlfx-halloween-house .house-main i:nth-child(1){left:24%;top:43%}.rlfx-halloween-house .house-main i:nth-child(2){left:48%;top:62%;animation-delay:.9s}.rlfx-halloween-house .house-main i:nth-child(3){right:16%;top:40%;animation-delay:1.7s}
.rlfx-halloween-house .tower i:nth-child(1){left:33%;top:36%}.rlfx-halloween-house .tower i:nth-child(2){left:54%;top:58%;animation-delay:1.2s}
@keyframes rlfx-halloween-window-flicker{0%,18%,22%,64%,70%,100%{opacity:.92}20%,67%{opacity:.35}21%,68%{opacity:1}}

.rlfx-halloween-trees{position:absolute;bottom:9vh;width:34vw;height:49vh;opacity:.8;background:repeating-linear-gradient(78deg,transparent 0 28px,rgba(3,4,4,.98) 29px 33px,transparent 34px 65px);clip-path:polygon(0 100%,6% 38%,10% 100%,18% 21%,23% 100%,32% 44%,36% 100%,44% 14%,50% 100%,60% 35%,66% 100%,75% 25%,80% 100%,91% 45%,96% 100%)}
.rlfx-halloween-trees.trees-left{left:-4vw}.rlfx-halloween-trees.trees-right{right:-5vw;transform:scaleX(-1)}
.rlfx-halloween-ground{position:absolute;left:-5%;right:-5%;bottom:-5vh;height:22vh;background:linear-gradient(180deg,rgba(5,5,5,.25),#050404 54%);border-radius:50% 50% 0 0/23% 23% 0 0}

.rlfx-halloween-fog{position:absolute;left:-20vw;bottom:4vh;width:140vw;height:20vh;opacity:.2;filter:blur(16px);background:repeating-radial-gradient(ellipse at 20% 50%,rgba(220,229,231,.62) 0 5%,transparent 10% 17%);animation:rlfx-halloween-fog 24s linear infinite}
.rlfx-halloween-fog.fog-b{bottom:22vh;opacity:.11;animation-duration:37s;animation-direction:reverse}
@keyframes rlfx-halloween-fog{to{transform:translateX(17vw)}}
.rlfx-halloween-vignette{position:absolute;inset:0;box-shadow:inset 0 0 150px 65px rgba(0,0,0,.72)}

.rlfx-halloween-decor-layer{position:fixed;inset:0;z-index:2147482700;overflow:hidden;pointer-events:none}
.rlfx-halloween-decor{position:absolute;display:block;transform:translate(-50%,-78%) rotate(var(--rlfx-tilt,0deg)) scale(var(--rlfx-scale,1));transform-origin:50% 90%;filter:drop-shadow(0 5px 5px rgba(0,0,0,.65));}
.rlfx-halloween-decor.free{transform:translate(-50%,-50%) scale(var(--rlfx-scale,1))}

.rlfx-halloween-decor.pumpkin{width:42px;height:34px;border-radius:45% 45% 48% 48%;background:radial-gradient(circle at 45% 34%,#ffb13b 0 4%,transparent 5%),linear-gradient(90deg,#a93f05,#ef7209 25%,#ff9420 49%,#df5e05 72%,#8e3102);box-shadow:inset 0 -7px 8px rgba(85,20,0,.24),0 0 15px rgba(255,105,0,.12);animation:rlfx-pumpkin-flicker 3.5s steps(1,end) infinite var(--rlfx-delay,0s)}
.rlfx-halloween-decor.pumpkin .stem{position:absolute;left:18px;top:-9px;width:7px;height:12px;border-radius:3px 3px 0 0;background:#40531c;transform:rotate(8deg)}
.rlfx-halloween-decor.pumpkin .eye,.rlfx-halloween-decor.pumpkin .nose,.rlfx-halloween-decor.pumpkin .mouth{position:absolute;background:#341004;box-shadow:0 0 6px #ffbd48}
.rlfx-halloween-decor.pumpkin .eye{top:10px;width:7px;height:7px;clip-path:polygon(50% 0,100% 100%,0 100%)}.rlfx-halloween-decor.pumpkin .eye.left{left:8px}.rlfx-halloween-decor.pumpkin .eye.right{right:8px}.rlfx-halloween-decor.pumpkin .nose{left:18px;top:17px;width:5px;height:5px;clip-path:polygon(50% 0,100% 100%,0 100%)}.rlfx-halloween-decor.pumpkin .mouth{left:9px;bottom:5px;width:24px;height:7px;clip-path:polygon(0 0,18% 45%,32% 0,48% 48%,63% 2%,78% 48%,100% 0,92% 100%,8% 100%)}
.rlfx-halloween-decor.pumpkin.face-b .eye.left{transform:rotate(-22deg)}.rlfx-halloween-decor.pumpkin.face-b .eye.right{transform:rotate(22deg)}.rlfx-halloween-decor.pumpkin.face-c .mouth{transform:scaleY(.7) rotate(5deg)}.rlfx-halloween-decor.pumpkin.face-d .mouth{clip-path:polygon(0 50%,18% 0,35% 55%,52% 0,68% 55%,83% 0,100% 50%,86% 100%,14% 100%)}.rlfx-halloween-decor.pumpkin.face-e .eye{border-radius:50%;clip-path:none}.rlfx-halloween-decor.pumpkin.face-f .eye.right{height:3px;top:14px;clip-path:none}
@keyframes rlfx-pumpkin-flicker{0%,13%,17%,49%,54%,100%{filter:drop-shadow(0 5px 5px rgba(0,0,0,.65)) brightness(1)}15%,51%{filter:drop-shadow(0 5px 5px rgba(0,0,0,.65)) brightness(1.22)}}

.rlfx-halloween-decor.ghost{width:35px;height:47px;border-radius:48% 48% 35% 35%;background:linear-gradient(180deg,rgba(245,248,244,.86),rgba(194,207,205,.57));opacity:.72;animation:rlfx-ghost-float 4.8s ease-in-out infinite var(--rlfx-delay,0s)}
.rlfx-halloween-decor.ghost::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:13px;background:inherit;clip-path:polygon(0 0,20% 100%,40% 20%,60% 100%,80% 20%,100% 100%,100% 0)}
.rlfx-halloween-decor.ghost .eye,.rlfx-halloween-decor.ghost .mouth{position:absolute;background:#18212a;border-radius:50%}.rlfx-halloween-decor.ghost .eye{top:15px;width:5px;height:7px}.rlfx-halloween-decor.ghost .eye.left{left:9px}.rlfx-halloween-decor.ghost .eye.right{right:9px}.rlfx-halloween-decor.ghost .mouth{left:15px;top:28px;width:6px;height:8px}
@keyframes rlfx-ghost-float{50%{translate:0 -9px;rotate:4deg;opacity:.9}}

.rlfx-halloween-decor.spider{width:28px;height:23px;animation:rlfx-spider-sway 3.6s ease-in-out infinite var(--rlfx-delay,0s)}
.rlfx-halloween-decor.spider::before{content:"";position:absolute;left:13px;bottom:18px;width:1px;height:55px;background:rgba(210,218,222,.34)}
.rlfx-halloween-decor.spider .body{position:absolute;left:9px;top:6px;width:11px;height:14px;border-radius:50%;background:#080909;box-shadow:0 -5px 0 -2px #080909}
.rlfx-halloween-decor.spider .body::before,.rlfx-halloween-decor.spider .body::after{content:"";position:absolute;left:-8px;top:2px;width:27px;height:12px;border-top:2px solid #090a0a;border-bottom:2px solid #090a0a;transform:skewY(28deg)}.rlfx-halloween-decor.spider .body::after{transform:skewY(-28deg)}
@keyframes rlfx-spider-sway{50%{rotate:8deg;translate:4px 0}}

.rlfx-halloween-decor.web{width:48px;height:48px;border-radius:50%;opacity:.5;background:repeating-radial-gradient(circle,transparent 0 7px,rgba(215,224,229,.54) 8px 9px),conic-gradient(from 0deg,transparent 0 11deg,rgba(215,224,229,.55) 12deg 14deg,transparent 15deg 44deg,rgba(215,224,229,.5) 45deg 47deg,transparent 48deg 89deg,rgba(215,224,229,.5) 90deg 92deg,transparent 93deg 134deg,rgba(215,224,229,.5) 135deg 137deg,transparent 138deg 179deg,rgba(215,224,229,.5) 180deg 182deg,transparent 183deg 224deg,rgba(215,224,229,.5) 225deg 227deg,transparent 228deg 269deg,rgba(215,224,229,.5) 270deg 272deg,transparent 273deg 314deg,rgba(215,224,229,.5) 315deg 317deg,transparent 318deg 360deg);clip-path:polygon(50% 50%,100% 0,100% 100%,0 100%,0 0)}
.rlfx-halloween-decor.skull{width:33px;height:30px;border-radius:48% 48% 42% 42%;background:#d8d1bd}.rlfx-halloween-decor.skull::after{content:"";position:absolute;left:9px;bottom:-7px;width:15px;height:9px;background:#c7bfa9;clip-path:polygon(0 0,100% 0,90% 100%,70% 55%,50% 100%,30% 55%,10% 100%)}.rlfx-halloween-decor.skull .eye,.rlfx-halloween-decor.skull .nose{position:absolute;background:#24201a}.rlfx-halloween-decor.skull .eye{top:9px;width:7px;height:8px;border-radius:50%}.rlfx-halloween-decor.skull .eye.left{left:6px}.rlfx-halloween-decor.skull .eye.right{right:6px}.rlfx-halloween-decor.skull .nose{left:14px;top:18px;width:5px;height:5px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.rlfx-halloween-decor.candle{width:13px;height:37px;border-radius:3px;background:linear-gradient(90deg,#d6c7a2,#fff0c8 45%,#bfae89)}.rlfx-halloween-decor.candle .wick{position:absolute;left:6px;top:-4px;width:1px;height:5px;background:#20170f}.rlfx-halloween-decor.candle .flame{position:absolute;left:3px;top:-15px;width:8px;height:13px;border-radius:60% 40% 60% 40%;background:#ffd45a;box-shadow:0 0 8px #ff8b17,0 0 16px rgba(255,91,0,.55);transform:rotate(12deg);animation:rlfx-candle-flicker .22s ease-in-out infinite alternate}
@keyframes rlfx-candle-flicker{to{transform:rotate(-7deg) scale(.88,1.1);filter:brightness(1.2)}}

.rlfx-halloween-tux{z-index:6}.rlfx-hockey-mask{position:absolute;z-index:10;left:50%;top:24%;width:34%;aspect-ratio:.78;transform:translate(-50%,-50%);border-radius:48% 48% 44% 44%/42% 42% 58% 58%;background:linear-gradient(110deg,#f5efe2,#d7d0c1 56%,#aaa496);border:2px solid rgba(81,72,61,.68);box-shadow:inset 8px 7px 14px rgba(255,255,255,.42),inset -9px -8px 16px rgba(70,62,53,.23),0 8px 18px rgba(0,0,0,.42);filter:drop-shadow(0 5px 6px rgba(0,0,0,.35))}
.rlfx-hockey-mask::before{content:"";position:absolute;left:50%;top:5%;width:20%;height:16%;transform:translateX(-50%);background:#a3261b;clip-path:polygon(0 0,100% 0,62% 100%,50% 72%,38% 100%)}
.rlfx-hockey-mask .mask-eye{position:absolute;top:28%;width:20%;height:17%;border-radius:50%;background:#1a1917;box-shadow:inset 0 2px 5px #000}.rlfx-hockey-mask .eye-left{left:20%;transform:rotate(8deg)}.rlfx-hockey-mask .eye-right{right:20%;transform:rotate(-8deg)}
.rlfx-hockey-mask .mask-hole{position:absolute;width:6%;aspect-ratio:1;border-radius:50%;background:#514b42;box-shadow:inset 0 1px 2px #1d1a17}.rlfx-hockey-mask .h1{left:14%;top:55%}.rlfx-hockey-mask .h2{right:14%;top:55%}.rlfx-hockey-mask .h3{left:29%;top:69%}.rlfx-hockey-mask .h4{right:29%;top:69%}.rlfx-hockey-mask .h5{left:45%;top:76%}.rlfx-hockey-mask .h6{right:45%;top:76%}
.rlfx-hockey-mask .mask-mark{position:absolute;bottom:20%;width:24%;height:6%;background:#a3261b}.rlfx-hockey-mask .mark-a{left:9%;transform:rotate(52deg)}.rlfx-hockey-mask .mark-b{right:9%;transform:rotate(-52deg)}

.rlfx-halloween-boo{position:absolute;z-index:7;right:-8px;top:80px;padding:8px 14px;border:1px solid rgba(218,228,236,.65);border-radius:14px;background:rgba(8,13,18,.86);color:#3fb950;font:800 1.05rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 8px 20px rgba(0,0,0,.35);animation:rlfx-boo-bob 3.2s ease-in-out infinite}.rlfx-halloween-boo::after{content:"";position:absolute;left:-8px;bottom:4px;width:14px;height:14px;background:inherit;border-left:1px solid rgba(218,228,236,.65);border-bottom:1px solid rgba(218,228,236,.65);transform:rotate(38deg)}@keyframes rlfx-boo-bob{50%{translate:0 -4px}}

.rlfx-halloween-controls{position:fixed;left:16px;bottom:16px;z-index:2147483100;display:flex;align-items:center;gap:12px;padding:8px 9px 8px 12px;border:1px solid rgba(248,113,22,.42);border-radius:9px;background:rgba(8,11,15,.88);box-shadow:0 10px 30px rgba(0,0,0,.42);backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#f4e4d1}.rlfx-halloween-controls span{display:grid;gap:3px}.rlfx-halloween-controls b{color:#ff942f;letter-spacing:.05em}.rlfx-halloween-controls small{color:#9ca7b1;font-weight:600}.rlfx-halloween-end{border:1px solid #5f4937;border-radius:6px;background:#17110e;color:#e8d6c4;padding:7px 9px;font:inherit;cursor:pointer}.rlfx-halloween-end:hover{border-color:#df7929;background:#23150e}

@media(max-width:700px){
  .rlfx-halloween-house{right:-12vw;top:25vh;width:70vw;opacity:.5}.rlfx-halloween-moon{left:63%;top:10vh}.rlfx-halloween-boo{right:0;top:38px;font-size:.78rem}.rlfx-hockey-mask{top:25%;width:35%}.rlfx-halloween-controls{left:8px;bottom:8px}.rlfx-halloween-controls small{display:none}
}

@media(prefers-reduced-motion:reduce){
  .rlfx-halloween-scene *, .rlfx-halloween-decor, .rlfx-halloween-boo{animation:none !important}
}

/* =========================================================
   Halloween asset-based cinematic refresh
   ========================================================= */
body.rlfx-halloween-mode {
  background:#05080c !important;
}
body.rlfx-halloween-mode .site-nav-shell,
body.rlfx-halloween-mode .container,
body.rlfx-halloween-mode footer { position:relative; z-index:2147482501; }
body.rlfx-halloween-mode .site-nav-shell {
  background:rgba(4,9,14,.78) !important;
  backdrop-filter:blur(10px) saturate(1.05); -webkit-backdrop-filter: blur(10px) saturate(1.05);
  border-bottom-color:rgba(115,135,150,.20) !important;
}
body.rlfx-halloween-mode .container { text-shadow:0 2px 7px rgba(0,0,0,.8); }
body.rlfx-halloween-mode .card,
body.rlfx-halloween-mode .feature-card {
  background:linear-gradient(180deg,rgba(10,18,25,.91),rgba(8,14,20,.86)) !important;
  border-color:rgba(130,151,165,.24) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(8px); -webkit-backdrop-filter: blur(8px);
}
body.rlfx-halloween-mode .card:hover,
body.rlfx-halloween-mode .feature-card:hover {
  border-color:rgba(255,116,30,.55) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.52), 0 0 22px rgba(255,92,15,.10);
}
.rlfx-halloween-scene { position:fixed; inset:0; z-index:2147482400; overflow:hidden; pointer-events:none; background:#03070b; }
.rlfx-halloween-backdrop { position:absolute; inset:-2%; background-image:linear-gradient(rgba(3,8,13,.10),rgba(3,8,13,.28)),url('/effects/assets/halloween/halloween-background.webp'); background-size:cover; background-position:center center; filter:saturate(1.14) contrast(1.05); transform:scale(1.025); }
.rlfx-halloween-vignette { position:absolute; inset:0; box-shadow:inset 0 0 170px 65px rgba(0,0,0,.70); background:linear-gradient(180deg,rgba(3,7,11,.12),transparent 24%,transparent 72%,rgba(0,0,0,.34)); }
.rlfx-halloween-lightning { position:absolute; top:0; width:2px; height:45vh; opacity:0; background:#d9eeff; box-shadow:0 0 9px #92caff,0 0 30px #5a8fff; transform-origin:top; clip-path:polygon(45% 0,100% 0,62% 22%,92% 22%,35% 58%,56% 58%,0 100%,22% 50%,4% 50%); }
.rlfx-halloween-lightning.lightning-a{left:17%;animation:rlfx-halloween-strike 10.8s infinite 2.1s}.rlfx-halloween-lightning.lightning-b{right:13%;height:38vh;animation:rlfx-halloween-strike 14.5s infinite 6.2s}
@keyframes rlfx-halloween-strike{0%,89%,92%,100%{opacity:0}89.3%{opacity:.96}89.8%{opacity:.07}90.1%{opacity:.72}90.7%{opacity:0}}
.rlfx-halloween-scene::after{content:"";position:absolute;inset:0;background:#b6d8ff;opacity:0;mix-blend-mode:screen;animation:rlfx-halloween-skyflash 10.8s infinite 2.1s}@keyframes rlfx-halloween-skyflash{0%,89%,92%,100%{opacity:0}89.3%{opacity:.13}89.8%{opacity:.01}90.1%{opacity:.08}90.7%{opacity:0}}
.rlfx-halloween-fog { position:absolute; left:-20vw; bottom:-1vh; width:140vw; height:24vh; opacity:.22; filter:blur(18px); background:repeating-radial-gradient(ellipse at 20% 50%,rgba(225,233,236,.68) 0 5%,transparent 11% 18%); animation:rlfx-halloween-fog 25s linear infinite; }
.rlfx-halloween-fog.fog-b { bottom:18vh; opacity:.10; animation-duration:38s; animation-direction:reverse; }
@keyframes rlfx-halloween-fog{to{transform:translateX(18vw)}}
.rlfx-halloween-frame { position:absolute; pointer-events:none; user-select:none; filter:drop-shadow(0 9px 12px rgba(0,0,0,.6)); }
.rlfx-halloween-frame.web-left{left:-2px;top:-2px;width:min(24vw,340px);opacity:.60}.rlfx-halloween-frame.web-right{right:-2px;top:-2px;width:min(24vw,340px);opacity:.60;transform:scaleX(-1)}
.rlfx-halloween-frame.branch-left{left:-5px;top:-8px;width:min(31vw,500px);opacity:.86}.rlfx-halloween-frame.branch-right{right:-5px;top:-8px;width:min(31vw,500px);opacity:.86;transform:scaleX(-1)}
.rlfx-halloween-frame.edge-pumpkin{right:-28px;bottom:-34px;width:min(25vw,390px);animation:rlfx-real-pumpkin-flicker 3.7s steps(1,end) infinite}.rlfx-halloween-frame.edge-skull{left:15px;bottom:8px;width:min(11vw,150px);opacity:.9}
.rlfx-halloween-decor-layer{position:fixed;inset:0;z-index:2147482700;overflow:hidden;pointer-events:none}
.rlfx-halloween-decor{position:absolute;display:block;width:58px;height:auto;transform:translate(-50%,-76%) rotate(var(--rlfx-tilt,0deg)) scale(var(--rlfx-scale,1));transform-origin:50% 90%;filter:drop-shadow(0 7px 8px rgba(0,0,0,.72));user-select:none}
.rlfx-halloween-decor.free{transform:translate(-50%,-50%) scale(var(--rlfx-scale,1))}.rlfx-halloween-decor.pumpkin{width:62px;animation:rlfx-real-pumpkin-flicker 3.1s steps(1,end) infinite var(--rlfx-delay,0s)}.rlfx-halloween-decor.ghost{width:58px;opacity:.76;animation:rlfx-real-ghost 5.2s ease-in-out infinite var(--rlfx-delay,0s)}.rlfx-halloween-decor.spider{width:46px;animation:rlfx-real-spider 4s ease-in-out infinite var(--rlfx-delay,0s)}.rlfx-halloween-decor.web{width:72px;opacity:.48}.rlfx-halloween-decor.skull{width:52px}.rlfx-halloween-decor.candle{width:34px;animation:rlfx-real-candle .32s ease-in-out infinite alternate}
@keyframes rlfx-real-pumpkin-flicker{0%,18%,23%,56%,61%,100%{filter:drop-shadow(0 7px 8px rgba(0,0,0,.72)) brightness(1)}20%,59%{filter:drop-shadow(0 7px 8px rgba(0,0,0,.72)) brightness(.78)}21%,60%{filter:drop-shadow(0 0 13px rgba(255,105,0,.42)) brightness(1.17)}}
@keyframes rlfx-real-ghost{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -12px;rotate:3deg}}@keyframes rlfx-real-spider{0%,100%{rotate:-6deg}50%{rotate:7deg}}@keyframes rlfx-real-candle{from{filter:drop-shadow(0 0 7px rgba(255,122,22,.45)) brightness(.94)}to{filter:drop-shadow(0 0 14px rgba(255,122,22,.72)) brightness(1.12)}}
.rlfx-halloween-tux{z-index:6;filter:drop-shadow(0 15px 26px rgba(0,0,0,.45))}.rlfx-hockey-mask-image{position:absolute;z-index:12;left:50.5%;top:34%;width:34%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 5px rgba(0,0,0,.48));}.rlfx-halloween-knife{position:absolute;z-index:11;left:7%;top:18%;width:25%;height:auto;transform:rotate(-13deg);transform-origin:50% 88%;filter:drop-shadow(0 7px 7px rgba(0,0,0,.48));animation:rlfx-knife-bob 3.4s ease-in-out infinite}@keyframes rlfx-knife-bob{50%{transform:rotate(-10deg) translateY(-3px)}}
.rlfx-halloween-boo{position:absolute;z-index:7;right:-10px;top:72px;padding:9px 16px;border:1px solid rgba(218,228,236,.7);border-radius:16px;background:rgba(6,11,16,.88);color:#32e875;font:800 1.08rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 9px 24px rgba(0,0,0,.45);animation:rlfx-boo-bob 3.2s ease-in-out infinite}.rlfx-halloween-boo::after{content:"";position:absolute;left:-8px;bottom:5px;width:14px;height:14px;background:inherit;border-left:1px solid rgba(218,228,236,.7);border-bottom:1px solid rgba(218,228,236,.7);transform:rotate(38deg)}
.rlfx-halloween-controls small{color:#9ca7b1;font-weight:600}
@media(max-width:760px){.rlfx-halloween-frame.branch-left,.rlfx-halloween-frame.branch-right{width:48vw}.rlfx-halloween-frame.web-left,.rlfx-halloween-frame.web-right{width:38vw}.rlfx-halloween-frame.edge-pumpkin{width:42vw;right:-44px}.rlfx-halloween-frame.edge-skull{width:20vw}.rlfx-hockey-mask-image{top:35%;width:36%}.rlfx-halloween-knife{left:6%;top:18%;width:26%}.rlfx-halloween-boo{right:0;top:38px;font-size:.78rem}.rlfx-halloween-controls small{display:none}}
@media(prefers-reduced-motion:reduce){.rlfx-halloween-scene *,.rlfx-halloween-decor,.rlfx-halloween-boo,.rlfx-halloween-knife{animation:none!important}}
/* Neutralize the original CSS-drawn Halloween props now that real image assets are used. */
.rlfx-halloween-decor.pumpkin,
.rlfx-halloween-decor.ghost,
.rlfx-halloween-decor.spider,
.rlfx-halloween-decor.web,
.rlfx-halloween-decor.skull,
.rlfx-halloween-decor.candle {
  height:auto !important;
  min-height:0 !important;
  background:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  clip-path:none !important;
  object-fit:contain;
}


/* Halloween polish: background practical-light flicker + themed cursor. */
body.rlfx-halloween-mode,
body.rlfx-halloween-mode a,
body.rlfx-halloween-mode button,
body.rlfx-halloween-mode [role="button"],
body.rlfx-halloween-mode input,
body.rlfx-halloween-mode select,
body.rlfx-halloween-mode textarea,
body.rlfx-halloween-mode label {
  cursor:url('/effects/assets/halloween/knife-cursor.svg') 5 3, auto !important;
}
.rlfx-halloween-background-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.rlfx-halloween-background-lights i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,218,112,.30) 0,rgba(255,132,24,.20) 20%,rgba(255,72,0,.08) 43%,transparent 70%);filter:blur(7px);opacity:.42;animation:rlfx-bg-fire-flicker 2.6s steps(1,end) infinite var(--delay)}
@keyframes rlfx-bg-fire-flicker{0%,13%,19%,37%,44%,68%,74%,100%{opacity:.40;transform:translate(-50%,-50%) scale(1)}15%,40%,71%{opacity:.23;transform:translate(-50%,-50%) scale(.91)}17%,42%,72%{opacity:.58;transform:translate(-50%,-50%) scale(1.08)}55%{opacity:.48;transform:translate(-50%,-50%) scale(1.03)}}
@media(prefers-reduced-motion:reduce){.rlfx-halloween-background-lights i{animation:none!important;opacity:.38}}

/* Halloween: the cinematic background already contains the themed Tux. */
body.rlfx-halloween-mode .tux-greeter {
  display: none !important;
}


/* Halloween layout polish: leave the hero gap occupied visually by the background Tux. */
body.rlfx-halloween-mode .container {
  padding-top: 235px !important;
}

@media (max-width: 760px) {
  body.rlfx-halloween-mode .container {
    padding-top: 110px !important;
  }
}

/* ================================================================
   Autumn / November seasonal scene
   ================================================================ */
body.rlfx-autumn-mode {
  background:#2d160b !important;
}
body.rlfx-autumn-mode .site-nav-shell,
body.rlfx-autumn-mode .container,
body.rlfx-autumn-mode footer {
  position:relative;
  z-index:2147482501;
}
body.rlfx-autumn-mode .site-nav-shell {
  background:rgba(9,12,14,.88) !important;
  border-color:rgba(230,141,54,.16) !important;
  box-shadow:0 12px 35px rgba(39,16,5,.28) !important;
  backdrop-filter:blur(11px); -webkit-backdrop-filter: blur(11px);
}
body.rlfx-autumn-mode .container {
  padding-top:165px !important;
  text-shadow:0 2px 6px rgba(34,12,3,.68);
}
body.rlfx-autumn-mode .card,
body.rlfx-autumn-mode .feature-card {
  background:linear-gradient(180deg,rgba(11,16,20,.91),rgba(8,13,17,.94)) !important;
  border-color:rgba(238,159,73,.20) !important;
  box-shadow:0 12px 30px rgba(35,14,4,.22) !important;
  backdrop-filter:none !important; -webkit-backdrop-filter: none !important;
}
body.rlfx-autumn-mode .card:hover,
body.rlfx-autumn-mode .feature-card:hover {
  border-color:rgba(255,181,88,.52) !important;
  box-shadow:0 14px 36px rgba(59,24,6,.33) !important;
}
body.rlfx-autumn-mode .tux-greeter {
  display:none !important;
}

.rlfx-autumn-scene {
  position:fixed;
  inset:0;
  z-index:2147482400;
  overflow:hidden;
  pointer-events:none;
  background:#3a1a0c;
}
.rlfx-autumn-backdrop {
  position:absolute;
  inset:-8%;
  background-image:linear-gradient(rgba(47,20,7,.04),rgba(34,13,4,.12)),url('/effects/assets/autumn/autumn-background.webp');
  background-size:cover;
  background-position:center center;
  filter:saturate(1.08) contrast(1.02);
  transform:scale(1.025);
}
.rlfx-autumn-warmth {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,155,65,.035),transparent 35%,rgba(87,32,8,.10));
  mix-blend-mode:screen;
}
.rlfx-autumn-vignette {
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 150px 48px rgba(38,12,3,.38);
  background:linear-gradient(180deg,rgba(26,10,3,.05),transparent 26%,transparent 74%,rgba(35,13,4,.18));
}

.rlfx-autumn-lights {
  position:absolute;
  inset:0;
  pointer-events:none;
  mix-blend-mode:screen;
}
.rlfx-autumn-lights i {
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--size);
  height:var(--size);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,235,151,.30) 0,rgba(255,159,54,.22) 21%,rgba(255,92,20,.08) 45%,transparent 72%);
  filter:blur(7px);
  opacity:.40;
  animation:rlfx-autumn-flicker 2.8s steps(1,end) infinite var(--delay);
}
@keyframes rlfx-autumn-flicker {
  0%,14%,21%,39%,47%,70%,76%,100%{opacity:.39;transform:translate(-50%,-50%) scale(1)}
  17%,43%,73%{opacity:.24;transform:translate(-50%,-50%) scale(.92)}
  19%,45%,74%{opacity:.55;transform:translate(-50%,-50%) scale(1.07)}
  57%{opacity:.47;transform:translate(-50%,-50%) scale(1.03)}
}

.rlfx-autumn-leaves {
  position:fixed;
  inset:0;
  z-index:2147482700;
  overflow:hidden;
  pointer-events:none;
}
.rlfx-autumn-leaf {
  position:absolute;
  top:-70px;
  left:var(--x);
  width:var(--size);
  height:auto;
  opacity:var(--opacity);
  filter:drop-shadow(0 4px 4px rgba(50,18,5,.28));
  animation:rlfx-autumn-fall var(--duration) linear infinite var(--delay);
  transform-origin:50% 50%;
}
@keyframes rlfx-autumn-fall {
  0% { transform:translate3d(0,-80px,0) rotate(0deg) rotateX(0deg); }
  28% { transform:translate3d(calc(var(--drift) * .35),28vh,0) rotate(calc(var(--spin) * .34)) rotateX(78deg); }
  58% { transform:translate3d(calc(var(--drift) * -.18),60vh,0) rotate(calc(var(--spin) * .66)) rotateX(155deg); }
  100% { transform:translate3d(var(--drift),112vh,0) rotate(var(--spin)) rotateX(280deg); }
}
.rlfx-autumn-leaves.gust .rlfx-autumn-leaf {
  animation-timing-function:cubic-bezier(.22,.7,.35,1);
  filter:drop-shadow(0 5px 6px rgba(54,19,4,.34));
}

.rlfx-autumn-geese {
  position:absolute;
  top:12vh;
  left:-24vw;
  width:22vw;
  min-width:230px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  opacity:.72;
  animation:rlfx-autumn-geese 34s linear infinite 8s;
}
.rlfx-autumn-geese img { width:78px;height:auto;filter:drop-shadow(0 3px 3px rgba(0,0,0,.20)); }
.rlfx-autumn-geese img:nth-child(2){margin-top:22px;transform:scale(.78)}
.rlfx-autumn-geese img:nth-child(3){margin-top:43px;transform:scale(.6)}
@keyframes rlfx-autumn-geese { from{transform:translateX(0)} to{transform:translateX(145vw)} }

.rlfx-autumn-controls {
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:2147483100;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 9px 8px 12px;
  border:1px solid rgba(231,142,54,.46);
  border-radius:9px;
  background:rgba(20,12,7,.90);
  box-shadow:0 10px 30px rgba(45,18,5,.38);
  backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#f1dfc8;
}
.rlfx-autumn-controls span{display:grid;gap:3px}
.rlfx-autumn-controls b{color:#f4a341;letter-spacing:.05em}
.rlfx-autumn-controls small{color:#bdab96;font-weight:600}
.rlfx-autumn-end{
  border:1px solid #6f4a2c;
  border-radius:6px;
  background:#24160d;
  color:#ebd7c1;
  padding:7px 9px;
  font:inherit;
  cursor:pointer;
}
.rlfx-autumn-end:hover{border-color:#df8c3e;background:#321b0d}

@media(max-width:760px){
  body.rlfx-autumn-mode .container{padding-top:92px !important}
  .rlfx-autumn-controls{left:8px;bottom:8px}
  .rlfx-autumn-controls small{display:none}
  .rlfx-autumn-geese{top:9vh;opacity:.55}
  .rlfx-autumn-leaf{width:calc(var(--size) * .82)}
}
@media(prefers-reduced-motion:reduce){
  .rlfx-autumn-leaf,.rlfx-autumn-geese,.rlfx-autumn-lights i{animation:none!important}
  .rlfx-autumn-leaf{display:none}
  .rlfx-autumn-geese{display:none}
}

/* ================================================================
   Christmas / December seasonal scene
   ================================================================ */
body.rlfx-christmas-mode {
  background:#07111e !important;
}
body.rlfx-christmas-mode .site-nav-shell,
body.rlfx-christmas-mode .container,
body.rlfx-christmas-mode footer {
  position:relative;
  z-index:2147482501;
}
body.rlfx-christmas-mode .site-nav-shell {
  background:rgba(7,11,18,.90) !important;
  border-color:rgba(78,169,121,.22) !important;
  box-shadow:0 12px 36px rgba(0,0,0,.34) !important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter: blur(10px);
}
body.rlfx-christmas-mode .container {
  padding-top:180px !important;
  text-shadow:0 2px 7px rgba(1,8,18,.76);
}
body.rlfx-christmas-mode .card,
body.rlfx-christmas-mode .feature-card {
  position:relative;
  overflow:visible;
  background:linear-gradient(180deg,rgba(7,14,21,.91),rgba(6,11,18,.95)) !important;
  border-color:rgba(142,204,177,.22) !important;
  box-shadow:0 14px 34px rgba(0,4,12,.30) !important;
  backdrop-filter:none !important; -webkit-backdrop-filter: none !important;
}
body.rlfx-christmas-mode .card:hover,
body.rlfx-christmas-mode .feature-card:hover {
  border-color:rgba(222,239,231,.44) !important;
  box-shadow:0 16px 38px rgba(0,4,12,.38),0 0 20px rgba(59,190,112,.12) !important;
}
body.rlfx-christmas-mode .tux-greeter {
  display:none !important;
}
body.rlfx-christmas-mode,
body.rlfx-christmas-mode a,
body.rlfx-christmas-mode button,
body.rlfx-christmas-mode [role="button"],
body.rlfx-christmas-mode input,
body.rlfx-christmas-mode select,
body.rlfx-christmas-mode textarea,
body.rlfx-christmas-mode label {
  cursor:url('/effects/assets/christmas/candy-cane-cursor.svg') 6 3, auto !important;
}

.rlfx-christmas-scene {
  position:fixed;
  inset:0;
  z-index:2147482400;
  overflow:hidden;
  pointer-events:none;
  background:#07111e;
}
.rlfx-christmas-backdrop {
  position:absolute;
  inset:-8%;
  background-image:linear-gradient(rgba(4,12,25,.04),rgba(2,8,18,.12)),url('/effects/assets/christmas/christmas-background-v2.webp');
  background-size:cover;
  background-position:center 58%;
  filter:saturate(1.07) contrast(1.02);
  transform:scale(1.025);
}
.rlfx-christmas-glow {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 46%,rgba(255,193,72,.10),transparent 22%),
    radial-gradient(circle at 73% 39%,rgba(235,246,255,.07),transparent 28%);
  mix-blend-mode:screen;
}

.rlfx-christmas-rudolph-nose {
  position:absolute;
  left:0;
  top:0;
  visibility:hidden;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#ff1f2f;
  box-shadow:0 0 6px 2px rgba(255,31,47,.95),0 0 15px 6px rgba(255,31,47,.55),0 0 28px 12px rgba(255,31,47,.22);
  transform:translate(-50%,-50%);
  animation:rlfx-rudolph-twinkle 1.35s ease-in-out infinite;
  z-index:3;
}
@keyframes rlfx-rudolph-twinkle {
  0%,100% { opacity:.72; filter:brightness(.92); transform:translate(-50%,-50%) scale(.9); }
  45% { opacity:1; filter:brightness(1.5); transform:translate(-50%,-50%) scale(1.18); }
  62% { opacity:.86; filter:brightness(1.05); transform:translate(-50%,-50%) scale(1); }
}

.rlfx-christmas-vignette {
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 155px 52px rgba(0,5,14,.42);
  background:linear-gradient(180deg,rgba(0,5,13,.07),transparent 28%,transparent 72%,rgba(0,5,13,.18));
}

.rlfx-christmas-top-lights {
  position:absolute;
  left:4vw;
  right:4vw;
  top:56px;
  height:26px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  border-top:2px solid rgba(29,56,42,.72);
  transform:rotate(-.6deg);
}
.rlfx-christmas-top-lights i {
  width:9px;
  height:14px;
  margin-top:-2px;
  border-radius:45% 45% 55% 55%;
  background:#f4d35e;
  box-shadow:0 0 7px currentColor,0 0 16px currentColor;
  animation:rlfx-christmas-bulb 1.8s ease-in-out infinite calc(var(--i) * -.11s);
}
.rlfx-christmas-top-lights i:nth-child(4n+1){background:#ff4d4d;color:#ff4d4d}
.rlfx-christmas-top-lights i:nth-child(4n+2){background:#48d17a;color:#48d17a}
.rlfx-christmas-top-lights i:nth-child(4n+3){background:#58a6ff;color:#58a6ff}
.rlfx-christmas-top-lights i:nth-child(4n){background:#ffd45a;color:#ffd45a}
@keyframes rlfx-christmas-bulb{0%,100%{opacity:.56;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.45)}}

.rlfx-christmas-snow {
  position:fixed;
  inset:0;
  z-index:2147482700;
  overflow:hidden;
  pointer-events:none;
}
.rlfx-christmas-flake {
  position:absolute;
  left:var(--x);
  top:-50px;
  width:var(--size);
  height:auto;
  opacity:var(--opacity);
  filter:drop-shadow(0 1px 3px rgba(140,205,255,.35));
  transform-origin:50% 50%;
  animation:rlfx-christmas-snowfall var(--duration) linear infinite var(--delay);
}
@keyframes rlfx-christmas-snowfall {
  0%{transform:translate3d(0,-70px,0) rotate(0deg)}
  45%{transform:translate3d(calc(var(--drift) * -.35),48vh,0) rotate(calc(var(--spin) * .5))}
  100%{transform:translate3d(var(--drift),110vh,0) rotate(var(--spin))}
}

.rlfx-christmas-card-lights {
  position:absolute;
  left:8px;
  right:8px;
  top:-7px;
  z-index:6;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
  border-top:1px solid rgba(34,76,52,.62);
}
.rlfx-christmas-card-lights i {
  width:6px;
  height:9px;
  margin-top:-1px;
  border-radius:45% 45% 55% 55%;
  background:#ef5350;
  color:#ef5350;
  box-shadow:0 0 5px currentColor,0 0 10px currentColor;
  animation:rlfx-christmas-card-bulb 1.55s ease-in-out infinite var(--delay);
}
.rlfx-christmas-card-lights i:nth-child(4n+2){background:#55d987;color:#55d987}
.rlfx-christmas-card-lights i:nth-child(4n+3){background:#5da9ff;color:#5da9ff}
.rlfx-christmas-card-lights i:nth-child(4n){background:#ffd45a;color:#ffd45a}
@keyframes rlfx-christmas-card-bulb{0%,100%{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}

.rlfx-christmas-radar {
  position:fixed;
  right:18px;
  bottom:84px;
  z-index:2147483000;
  width:282px;
  color:#eaf7ee;
  border:1px solid rgba(198,59,54,.62);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(39,7,9,.95),rgba(10,17,15,.94));
  box-shadow:0 16px 40px rgba(0,0,0,.42),0 0 26px rgba(205,52,52,.08);
  overflow:hidden;
  font:700 .69rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
  pointer-events:auto;
}
.rlfx-christmas-radar header {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border-bottom:1px solid rgba(192,56,56,.36);
  background:rgba(73,9,14,.65);
}
.rlfx-christmas-radar header b{color:#ffd45a;letter-spacing:.05em}
.rlfx-christmas-radar header small{color:#b8c9bd;font-weight:600}
.rlfx-radar-body{display:grid;grid-template-columns:146px 1fr;gap:10px;padding:10px}
.rlfx-radar-screen{
  position:relative;
  width:146px;
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  border:1px solid rgba(70,231,123,.58);
  background:
    linear-gradient(rgba(47,170,91,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,170,91,.12) 1px,transparent 1px),
    radial-gradient(circle,#0c2a17 0,#07140d 68%,#030906 100%);
  background-size:18px 18px,18px 18px,auto;
  box-shadow:inset 0 0 22px rgba(19,255,99,.12),0 0 14px rgba(19,255,99,.08);
}
.rlfx-radar-screen::before,.rlfx-radar-screen::after{content:"";position:absolute;background:rgba(91,219,129,.28)}
.rlfx-radar-screen::before{left:50%;top:0;bottom:0;width:1px}.rlfx-radar-screen::after{top:50%;left:0;right:0;height:1px}
.rlfx-radar-screen .ring{position:absolute;left:50%;top:50%;border:1px solid rgba(91,219,129,.32);border-radius:50%;transform:translate(-50%,-50%)}
.rlfx-radar-screen .r1{width:56%;height:56%}.rlfx-radar-screen .r2{width:82%;height:82%}
.rlfx-radar-screen .sweep{position:absolute;left:50%;top:50%;width:50%;height:2px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(89,255,139,.9),rgba(89,255,139,0));box-shadow:0 0 8px rgba(89,255,139,.7);animation:rlfx-radar-sweep 2.8s linear infinite}
@keyframes rlfx-radar-sweep{to{transform:rotate(360deg)}}
.rlfx-radar-screen .blip{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffeb76;box-shadow:0 0 8px #ffea70;animation:rlfx-radar-blip 1.4s ease-in-out infinite}
.rlfx-radar-screen .b1{left:28%;top:61%}.rlfx-radar-screen .b2{left:67%;top:34%;animation-delay:.45s}.rlfx-radar-screen .b3{left:74%;top:72%;animation-delay:.9s}
@keyframes rlfx-radar-blip{50%{opacity:.25;transform:scale(.65)}}
.rlfx-radar-info{display:grid;align-content:center;gap:8px}
.rlfx-radar-info span{display:grid;gap:1px;color:#aebdb5;font-weight:600}.rlfx-radar-info span b{color:#f2f7f4}
.rlfx-radar-info .radar-status{color:#54e183}
.rlfx-radar-ping{border:1px solid rgba(213,73,70,.55);border-radius:6px;background:#381014;color:#ffd45a;padding:7px 8px;font:inherit;cursor:pointer}
.rlfx-radar-ping:hover{background:#50161b;border-color:#e05c58}
.rlfx-christmas-radar.pinging{animation:rlfx-radar-ping-flash .6s ease-out 1}
.rlfx-christmas-radar { width: min(330px, calc(100vw - 36px)); max-height: calc(100dvh - 110px); overflow-y: auto; }
.rlfx-christmas-radar header { flex-wrap: wrap; }
.rlfx-radar-info { min-width: 0; }
.rlfx-radar-info b { overflow-wrap: anywhere; }
.rlfx-radar-info [hidden], .rlfx-radar-screen [hidden] { display: none !important; }
.rlfx-radar-screen .santa-position { transform: translate(-50%, -50%); animation: none; }
.rlfx-radar-footer { display: grid; gap: 5px; padding: 9px 11px; border-top: 1px solid rgba(192,56,56,.36); color: #b8c9bd; font-size: .6rem; }
.rlfx-radar-footer a { color: #ffd45a; text-decoration: none; }
.rlfx-radar-footer a:hover { text-decoration: underline; }
.rlfx-radar-ping:disabled { opacity: .6; cursor: wait; }
.rlfx-christmas-radar.radar-offline .radar-status { color: #ffd45a; }
@keyframes rlfx-radar-ping-flash{50%{box-shadow:0 0 0 6px rgba(89,255,139,.09),0 16px 40px rgba(0,0,0,.42)}}

.rlfx-christmas-controls {
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:2147483100;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 9px 8px 12px;
  border:1px solid rgba(201,57,54,.52);
  border-radius:9px;
  background:rgba(17,10,12,.92);
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#eef7f1;
}
.rlfx-christmas-controls span{display:grid;gap:3px}
.rlfx-christmas-controls b{color:#ffd45a;letter-spacing:.05em}
.rlfx-christmas-controls small{color:#b8c9bd;font-weight:600}
.rlfx-christmas-end{border:1px solid #75413e;border-radius:6px;background:#281012;color:#f5e9e9;padding:7px 9px;font:inherit;cursor:pointer}
.rlfx-christmas-end:hover{border-color:#db605b;background:#3a1518}

@media(max-width:980px){
  .rlfx-christmas-radar{width:238px;right:12px;bottom:84px}.rlfx-radar-body{grid-template-columns:112px 1fr}.rlfx-radar-screen{width:112px}
}
@media(max-width:760px){
  body.rlfx-christmas-mode .container{padding-top:110px !important}
  .rlfx-christmas-radar{right:8px;bottom:84px;width:205px}.rlfx-radar-body{grid-template-columns:88px 1fr;gap:7px;padding:7px}.rlfx-radar-screen{width:88px}.rlfx-radar-info{gap:5px}.rlfx-radar-info .radar-range-row{display:none}
  .rlfx-christmas-controls{left:8px;bottom:8px}.rlfx-christmas-controls small{display:none}
  .rlfx-christmas-top-lights{top:50px;left:2vw;right:2vw}.rlfx-christmas-flake{width:calc(var(--size) * .82)}
}
@media(prefers-reduced-motion:reduce){
  .rlfx-christmas-flake,.rlfx-radar-screen .sweep,.rlfx-radar-screen .blip,.rlfx-christmas-top-lights i,.rlfx-christmas-card-lights i,.rlfx-christmas-rudolph-nose{animation:none!important}
  .rlfx-christmas-flake{display:none}
}


/* =========================================================
   JULY CELEBRATION — immersive fireworks show (July only)
   ========================================================= */
body.rlfx-july-mode {
  overflow:hidden !important;
  background:#020711 !important;
  cursor:url('/effects/assets/july/sparkler-cursor.svg') 4 28, crosshair !important;
}
body.rlfx-july-mode * { cursor:inherit !important; }
body.rlfx-july-mode .site-nav-shell,
body.rlfx-july-mode .container,
body.rlfx-july-mode footer,
body.rlfx-july-mode .tux-greeter {
  visibility:hidden !important;
  pointer-events:none !important;
}
body.rlfx-july-mode .rlfx-launcher { visibility:hidden !important; }

.rlfx-july-scene {
  position:fixed !important; inset:0 !important; z-index:2147481200 !important;
  overflow:hidden; pointer-events:none; background:#020711;
}
.rlfx-july-backdrop {
  position:absolute; inset:0;
  background:url('/effects/assets/july/july-background.webp') center center / cover no-repeat;
  filter:saturate(1.05) contrast(1.02);
}
.rlfx-july-vignette {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 55% 38%, transparent 28%, rgba(0,0,0,.06) 65%, rgba(0,0,0,.28) 100%);
}
.rlfx-july-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.rlfx-july-flash { position:absolute; inset:0; background:rgb(var(--flash-color,255,235,205)); opacity:0; mix-blend-mode:screen; pointer-events:none; }
.rlfx-july-flash.pulse { animation:rlfx-july-flash .38s ease-out; }
@keyframes rlfx-july-flash { 0%{opacity:0} 16%{opacity:var(--flash-strength,.3)} 100%{opacity:0} }

/* Warm practical-light flicker for the grill, fire pit, and visible lanterns. */
.rlfx-july-practical-lights { position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen; }
.rlfx-july-glow {
  position:absolute;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(1);
  background:radial-gradient(circle,rgba(255,241,170,.58) 0%,rgba(255,163,46,.38) 28%,rgba(255,77,17,.18) 52%,rgba(255,70,8,0) 74%);
  filter:blur(3px);
  opacity:.45;
  will-change:opacity,transform,filter;
  animation:rlfx-july-practical-flicker 1.35s steps(1,end) infinite;
}
.rlfx-july-glow-firepit { left:74.2%; top:85.0%; width:175px; height:145px; animation-duration:.83s; }
.rlfx-july-glow-grill   { left:42.0%; top:74.0%; width:150px; height:105px; animation-duration:1.08s; animation-delay:-.41s; }
.rlfx-july-glow-lamp-a  { left:23.2%; top:62.0%; width:82px;  height:82px;  animation-duration:1.72s; animation-delay:-.87s; }
.rlfx-july-glow-lamp-b  { left:52.4%; top:62.2%; width:65px;  height:65px;  animation-duration:1.94s; animation-delay:-1.21s; }
.rlfx-july-glow-lamp-c  { left:69.0%; top:62.7%; width:58px;  height:58px;  animation-duration:1.58s; animation-delay:-.66s; }
@keyframes rlfx-july-practical-flicker {
  0%   { opacity:.34; transform:translate(-50%,-50%) scale(.95); filter:blur(4px); }
  12%  { opacity:.62; transform:translate(-50%,-50%) scale(1.06); filter:blur(2.5px); }
  24%  { opacity:.43; transform:translate(-50%,-50%) scale(.99); }
  39%  { opacity:.74; transform:translate(-50%,-50%) scale(1.10); filter:blur(2px); }
  52%  { opacity:.39; transform:translate(-50%,-50%) scale(.96); filter:blur(4px); }
  68%  { opacity:.67; transform:translate(-50%,-50%) scale(1.05); }
  81%  { opacity:.48; transform:translate(-50%,-50%) scale(1.01); }
  100% { opacity:.58; transform:translate(-50%,-50%) scale(1.04); filter:blur(3px); }
}

.rlfx-july-panel {
  position:fixed; right:18px; bottom:18px; z-index:2147483300; width:min(330px,calc(100vw - 36px));
  color:#f8fbff; border:1px solid rgba(114,170,255,.52); border-radius:16px; overflow:hidden;
  background:linear-gradient(160deg,rgba(4,16,38,.88),rgba(10,16,35,.74));
  box-shadow:0 16px 50px rgba(0,0,0,.46),inset 0 0 28px rgba(40,90,170,.10);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  font-family:inherit; height:430px;
}
.rlfx-july-panel header {
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px 10px;
  border-bottom:1px solid rgba(125,165,220,.22); letter-spacing:.045em; text-shadow:0 0 14px rgba(80,140,255,.35);
}
.rlfx-july-panel header b { font-size:13px; }
.rlfx-july-close { border:0; background:transparent; color:#dfe9ff; font-size:22px; line-height:1; padding:0 3px; cursor:pointer !important; }
.rlfx-july-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:7px 10px; border-bottom:1px solid rgba(125,165,220,.14); }
.rlfx-july-tabs button { border:1px solid rgba(122,156,206,.25); border-radius:7px; padding:7px 4px; background:rgba(8,16,32,.55); color:#aebed8; font:700 10px/1 inherit; letter-spacing:.04em; cursor:pointer!important; }
.rlfx-july-tabs button.active { color:#fff; border-color:rgba(96,165,250,.82); background:linear-gradient(180deg,rgba(34,77,142,.70),rgba(13,31,63,.76)); box-shadow:0 0 12px rgba(65,135,255,.18); }
.rlfx-july-tabpane { display:none; min-height:330px; }
.rlfx-july-tabpane.active { display:block; }
.rlfx-july-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:11px 12px 8px; }
.rlfx-july-presets button {
  min-height:67px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  border:1px solid rgba(122,156,206,.28); border-radius:9px; background:rgba(7,14,29,.62); color:#eef4ff;
  font:600 11px/1.1 inherit; cursor:pointer !important; transition:.18s ease;
}
.rlfx-july-presets button:hover { transform:translateY(-2px); border-color:rgba(110,175,255,.8); background:rgba(18,31,57,.86); }
.rlfx-july-presets .fw { width:28px;height:28px;border-radius:50%;display:block;box-shadow:0 0 4px 2px currentColor,0 0 18px 4px currentColor;opacity:.92; }
.rlfx-july-presets .fw.palm { color:#ffd86b; background:radial-gradient(circle,#fff 0 9%,#ffd86b 10% 18%,transparent 20%),conic-gradient(from 8deg,transparent 0 8%,#ffd86b 9% 12%,transparent 13% 24%,#ff9d35 25% 28%,transparent 29% 100%); }
.rlfx-july-presets .fw.crossette { color:#ffffff; background:conic-gradient(from 0deg,#fff 0 3%,transparent 4% 22%,#ff4767 23% 27%,transparent 28% 47%,#5ca8ff 48% 52%,transparent 53% 72%,#fff 73% 77%,transparent 78% 100%); }
.rlfx-july-presets .fw.brocade { color:#ffe59a; background:radial-gradient(circle,#fff 0 8%,#ffe59a 9% 15%,transparent 17%),repeating-conic-gradient(#ffc44d 0 4deg,transparent 5deg 17deg); }
.fw.classic{color:#ffd36a;background:radial-gradient(circle,#fff 0 10%,#ffd36a 12% 20%,transparent 22%)}
.fw.patriotic{color:#fff;background:conic-gradient(#ff3853,#fff,#4b7cff,#ff3853);}
.fw.peony{color:#e55aff;background:radial-gradient(circle,#fff 0 8%,#e55aff 12% 34%,transparent 36%)}
.fw.willow{color:#8dff83;background:radial-gradient(circle,#fff7ad 0 8%,#8dff83 13% 31%,transparent 34%)}
.fw.crackling{color:#fff2b0;background:repeating-conic-gradient(#fff2b0 0 8deg,transparent 9deg 26deg)}
.fw.heart{color:#ff3c66;background:radial-gradient(circle at 32% 35%,#ff3c66 0 28%,transparent 30%),radial-gradient(circle at 68% 35%,#ff3c66 0 28%,transparent 30%),linear-gradient(45deg,transparent 40%,#ff3c66 41% 72%,transparent 73%);}
.fw.chrysanthemum{color:#ffd45d;background:repeating-conic-gradient(from 8deg,#fff7cf 0 4deg,#ffd45d 5deg 10deg,transparent 11deg 22deg);}
.fw.comet{color:#72c8ff;background:conic-gradient(from 215deg,transparent 0 28%,#72c8ff 30% 35%,#fff 36% 39%,transparent 41% 100%);box-shadow:0 0 4px 2px #72c8ff,8px -8px 18px 1px #ff4d70,-7px 7px 16px 1px #ffd55e!important;}
.fw.whistle{color:#fff2b0;background:radial-gradient(circle,#fff 0 7%,#ffd36a 9% 17%,transparent 19%),repeating-conic-gradient(#fff2b0 0 5deg,transparent 6deg 20deg);}
.fw.ring{color:#ff4964;background:radial-gradient(circle,transparent 0 45%,#fff 46% 50%,#ff4964 51% 59%,transparent 60%);}
.fw.strobe{color:#dff3ff;background:repeating-conic-gradient(#fff 0 5deg,transparent 6deg 22deg);filter:drop-shadow(0 0 5px #8ecbff);}
.fw.salute{color:#fff;background:radial-gradient(circle,#fff 0 18%,#ffd36a 20% 29%,transparent 31%);box-shadow:0 0 6px 3px #fff,0 0 24px 8px #ffd36a!important;}
.fw.blackcat{color:#ff6a42;background:radial-gradient(circle,#fff 0 10%,#ff6a42 12% 20%,transparent 23%);box-shadow:0 0 4px 2px #ff6a42!important;}
.fw.snaps{color:#fff1b5;background:radial-gradient(circle at 30% 65%,#fff 0 8%,transparent 10%),radial-gradient(circle at 65% 38%,#ffd36a 0 7%,transparent 9%),radial-gradient(circle at 72% 72%,#fff 0 6%,transparent 8%);}
.fw.fountain{color:#ffd36a;background:conic-gradient(from 205deg,transparent 0 28%,#ff7b32 30% 35%,#ffd36a 37% 42%,#fff 43% 46%,transparent 48% 100%);}
.rlfx-july-size-row { display:grid; grid-template-columns:auto repeat(4,1fr); align-items:center; gap:6px; padding:14px 12px 10px; }
.rlfx-july-size-row span { color:#91a6c6; font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.12em; }
.rlfx-july-size-row button { border:1px solid rgba(122,156,206,.28); border-radius:7px; padding:8px 4px; background:rgba(7,14,29,.62); color:#dce7f9; font:700 9px/1 inherit; cursor:pointer!important; }
.rlfx-july-size-row button.active { border-color:#4f9cff; color:#fff; background:rgba(34,91,171,.55); box-shadow:0 0 10px rgba(49,120,255,.18); }
.rlfx-july-options { padding:10px 13px 8px; border-top:1px solid rgba(125,165,220,.14); }
.rlfx-july-options label { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 1px;color:#dce7f9;font-size:12px;cursor:pointer !important; }
.rlfx-july-options input { position:absolute;opacity:0;pointer-events:none; }
.rlfx-july-options label i { width:34px;height:18px;border-radius:20px;background:#39445b;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.rlfx-july-options label i:after { content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:.18s ease; }
.rlfx-july-options input:checked + i { background:#2778ff;box-shadow:0 0 14px rgba(39,120,255,.45); }
.rlfx-july-options input:checked + i:after { transform:translateX(16px); }
.rlfx-july-actions { display:grid;grid-template-columns:1fr 1.25fr;gap:9px;padding:12px; }
.rlfx-july-actions button { border-radius:8px;padding:10px 8px;font:700 11px/1 inherit;letter-spacing:.025em;cursor:pointer !important; }
.rlfx-july-clear { color:#9ec9ff;border:1px solid #348fff;background:rgba(4,19,44,.72); }
.rlfx-july-launch { color:white;border:1px solid #ff5866;background:linear-gradient(180deg,#ef3047,#ad1529);box-shadow:0 0 18px rgba(255,46,70,.25); }
.rlfx-july-launch:hover { box-shadow:0 0 27px rgba(255,46,70,.48); }

.rlfx-july-controls {
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:2147483100;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 9px 8px 12px;
  border:1px solid rgba(80,145,235,.55);
  border-radius:9px;
  background:linear-gradient(135deg,rgba(7,18,40,.92),rgba(31,12,22,.90));
  box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 18px rgba(55,120,255,.08);
  backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#f6f8ff;
}
.rlfx-july-controls span{display:grid;gap:3px}
.rlfx-july-controls b{color:#ff646f;letter-spacing:.05em;text-shadow:0 0 8px rgba(255,70,85,.24)}
.rlfx-july-controls small{color:#b9c8e4;font-weight:600}
.rlfx-july-end{border:1px solid rgba(121,153,205,.48);border-radius:6px;background:rgba(20,28,48,.86);color:#f4f7ff;padding:7px 9px;font:inherit;cursor:pointer!important}
.rlfx-july-end:hover{border-color:#ff6c73;background:rgba(63,20,31,.9)}

@media (max-width:700px) {
  .rlfx-july-panel { right:10px;bottom:10px;width:min(292px,calc(100vw - 20px));height:410px;max-height:calc(100vh - 20px); }
  .rlfx-july-controls{left:8px;bottom:8px}
  .rlfx-july-controls small{display:none}
  .rlfx-july-presets { grid-template-columns:repeat(3,1fr);gap:6px;padding:9px; }
  .rlfx-july-presets button { min-height:58px; }
  .rlfx-july-backdrop { background-position:43% center; }
}
@media (prefers-reduced-motion:reduce) {
  .rlfx-july-flash { display:none !important; }
  .rlfx-july-glow { animation:none !important; opacity:.32 !important; }
}

/* ================================================================
   St. Patrick's Day seasonal scene — March 1-17
   ================================================================ */
body.rlfx-stpatricks-mode {
  background:#07130b !important;
  cursor:url('/effects/assets/stpatricks/shamrock-cursor.svg') 8 8, auto !important;
}
body.rlfx-stpatricks-mode .site-nav-shell,
body.rlfx-stpatricks-mode .container,
body.rlfx-stpatricks-mode footer {
  position:relative;
  z-index:2147482501;
}
body.rlfx-stpatricks-mode .site-nav-shell {
  background:rgba(5,12,9,.90) !important;
  border-color:rgba(62,211,92,.22) !important;
  box-shadow:0 12px 35px rgba(0,0,0,.34),0 0 22px rgba(36,205,80,.06) !important;
  backdrop-filter:blur(11px); -webkit-backdrop-filter: blur(11px);
}
body.rlfx-stpatricks-mode .container {
  padding-top:150px !important;
  text-shadow:0 2px 7px rgba(0,0,0,.72);
}
body.rlfx-stpatricks-mode .card,
body.rlfx-stpatricks-mode .feature-card {
  background:linear-gradient(180deg,rgba(8,15,13,.91),rgba(5,11,9,.95)) !important;
  border-color:rgba(54,210,91,.20) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28) !important;
  backdrop-filter:none !important; -webkit-backdrop-filter: none !important;
}
body.rlfx-stpatricks-mode .card:hover,
body.rlfx-stpatricks-mode .feature-card:hover {
  border-color:rgba(82,239,116,.52) !important;
  box-shadow:0 14px 38px rgba(0,65,20,.34) !important;
}
body.rlfx-stpatricks-mode .tux-greeter { display:none !important; }

.rlfx-stpatricks-scene {
  position:fixed;
  inset:0;
  z-index:2147482400;
  overflow:hidden;
  pointer-events:none;
  background:#07130b;
}
.rlfx-stpatricks-backdrop {
  position:absolute;
  inset:-8%;
  background-image:linear-gradient(rgba(0,28,10,.03),rgba(0,10,4,.13)),url('/effects/assets/stpatricks/stpatricks-background.webp');
  background-size:cover;
  background-position:center center;
  filter:saturate(1.04) contrast(1.02);
  transform:scale(1.025);
}
.rlfx-stpatricks-vignette {
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 150px 42px rgba(0,12,5,.38);
  background:linear-gradient(180deg,rgba(0,14,6,.05),transparent 25%,transparent 76%,rgba(0,12,5,.18));
}
.rlfx-stpatricks-practical-lights { position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen; }
.rlfx-stpatricks-glow {
  position:absolute;
  border-radius:50%;
  transform:translate(-50%,-50%);
  filter:blur(9px);
  opacity:.38;
  animation:rlfx-stpatricks-flicker 2.35s steps(1,end) infinite;
}
.rlfx-stpatricks-fireplace {left:95.3%;top:61.8%;width:240px;height:210px;background:radial-gradient(circle,rgba(255,239,146,.56),rgba(255,121,31,.34) 28%,transparent 70%);animation-duration:.86s}
.rlfx-stpatricks-lamp-a {left:18.3%;top:13.4%;width:110px;height:110px;background:radial-gradient(circle,rgba(255,232,154,.44),rgba(255,157,55,.20) 32%,transparent 72%);animation-duration:1.53s;animation-delay:-.6s}
.rlfx-stpatricks-lamp-b {left:34.3%;top:33.9%;width:92px;height:92px;background:radial-gradient(circle,rgba(255,235,160,.38),rgba(255,162,61,.17) 32%,transparent 72%);animation-duration:1.88s;animation-delay:-1.1s}
.rlfx-stpatricks-neon-a {left:8%;top:15%;width:250px;height:180px;background:radial-gradient(ellipse,rgba(48,255,91,.20),rgba(19,222,70,.10) 38%,transparent 72%);animation-duration:2.8s;animation-delay:-.9s}
.rlfx-stpatricks-neon-b {left:92%;top:16%;width:170px;height:160px;background:radial-gradient(circle,rgba(51,255,92,.18),rgba(16,213,63,.08) 42%,transparent 74%);animation-duration:3.1s;animation-delay:-1.7s}
@keyframes rlfx-stpatricks-flicker {
  0%,15%,24%,43%,55%,73%,81%,100%{opacity:.39;transform:translate(-50%,-50%) scale(1)}
  18%,47%,77%{opacity:.25;transform:translate(-50%,-50%) scale(.94)}
  20%,49%,79%{opacity:.52;transform:translate(-50%,-50%) scale(1.06)}
  63%{opacity:.44;transform:translate(-50%,-50%) scale(1.025)}
}
.rlfx-stpatricks-clovers {position:fixed;inset:0;z-index:2147482700;overflow:hidden;pointer-events:none}
.rlfx-stpatricks-clover {
  position:absolute;top:-70px;left:var(--x);width:var(--size);height:auto;opacity:var(--opacity);
  filter:drop-shadow(0 4px 4px rgba(0,35,10,.30));
  animation:rlfx-stpatricks-fall var(--duration) linear infinite var(--delay);
  transform-origin:50% 50%;
}
@keyframes rlfx-stpatricks-fall {
  0%{transform:translate3d(0,-80px,0) rotate(0deg) rotateX(0deg)}
  30%{transform:translate3d(calc(var(--drift) * .32),30vh,0) rotate(calc(var(--spin) * .32)) rotateX(70deg)}
  62%{transform:translate3d(calc(var(--drift) * -.16),64vh,0) rotate(calc(var(--spin) * .67)) rotateX(160deg)}
  100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--spin)) rotateX(285deg)}
}
.rlfx-stpatricks-controls {
  position:fixed;left:16px;bottom:16px;z-index:2147483100;display:flex;align-items:center;gap:12px;
  padding:8px 9px 8px 12px;border:1px solid rgba(61,219,95,.48);border-radius:9px;
  background:linear-gradient(135deg,rgba(4,24,11,.92),rgba(18,13,3,.91));
  box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 18px rgba(40,215,84,.08);backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#f2fff4;
}
.rlfx-stpatricks-controls span{display:grid;gap:3px}.rlfx-stpatricks-controls b{color:#55e878;letter-spacing:.05em;text-shadow:0 0 8px rgba(53,230,92,.22)}
.rlfx-stpatricks-controls small{color:#c5d9c9;font-weight:600}.rlfx-stpatricks-end{border:1px solid rgba(82,173,100,.5);border-radius:6px;background:rgba(8,34,15,.88);color:#f2fff4;padding:7px 9px;font:inherit;cursor:pointer!important}.rlfx-stpatricks-end:hover{border-color:#68ee84;background:rgba(10,55,22,.92)}
@media(max-width:760px){body.rlfx-stpatricks-mode .container{padding-top:92px!important}.rlfx-stpatricks-controls{left:8px;bottom:8px}.rlfx-stpatricks-controls small{display:none}.rlfx-stpatricks-clover{width:calc(var(--size) * .82)}}
@media(prefers-reduced-motion:reduce){.rlfx-stpatricks-clover,.rlfx-stpatricks-glow{animation:none!important}.rlfx-stpatricks-clover{display:none}.rlfx-stpatricks-glow{opacity:.32}}

/* Camping / Vacation scene */
body.rlfx-camping-mode {
  background:#071016 !important;
}
body.rlfx-camping-mode .site-nav-shell,
body.rlfx-camping-mode .container,
body.rlfx-camping-mode footer {
  position:relative;
  z-index:2147482805;
}
body.rlfx-camping-mode .site-nav-shell {
  background:rgba(6,12,16,.88) !important;
  backdrop-filter:blur(7px); -webkit-backdrop-filter: blur(7px);
  border-color:rgba(194,143,69,.22) !important;
}
body.rlfx-camping-mode .container {
  padding-top:118px !important;
}
body.rlfx-camping-mode .card,
body.rlfx-camping-mode .feature-card {
  background:rgba(7,15,19,.82) !important;
  border-color:rgba(220,165,84,.20) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(4px); -webkit-backdrop-filter: blur(4px);
}
body.rlfx-camping-mode .tux-greeter { display:none !important; }

.rlfx-camping-scene {
  position:fixed;
  inset:0;
  z-index:2147482700;
  pointer-events:none;
  overflow:hidden;
}
.rlfx-camping-backdrop {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(4,10,13,.02),rgba(3,8,10,.11)),url('/effects/assets/camping/camping-background.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.rlfx-camping-vignette {
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 46%,transparent 40%,rgba(0,0,0,.16) 86%,rgba(0,0,0,.28) 100%);
}
.rlfx-camping-practical-lights { position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen; }
.rlfx-camping-glow {
  position:absolute;
  transform:translate(-50%,-50%);
  border-radius:50%;
  filter:blur(8px);
  opacity:.48;
  animation:rlfx-camping-flicker 1.55s steps(1,end) infinite;
}
.rlfx-camping-fire { left:52.2%; top:79.0%; width:220px; height:190px; background:radial-gradient(circle,rgba(255,232,135,.56),rgba(255,116,24,.34) 31%,transparent 72%); animation-duration:.78s; }
.rlfx-camping-lantern-a { left:6.8%; top:69.5%; width:110px; height:110px; background:radial-gradient(circle,rgba(255,231,157,.43),rgba(255,157,63,.20) 34%,transparent 73%); animation-duration:1.62s; animation-delay:-.52s; }
.rlfx-camping-lantern-b { left:55.8%; top:53.0%; width:82px; height:82px; background:radial-gradient(circle,rgba(255,231,157,.39),rgba(255,157,63,.16) 34%,transparent 73%); animation-duration:1.94s; animation-delay:-1.07s; }
.rlfx-camping-rv-lights { left:91.0%; top:29.0%; width:190px; height:125px; background:radial-gradient(ellipse,rgba(255,220,137,.27),rgba(255,166,67,.11) 43%,transparent 76%); animation-duration:2.18s; animation-delay:-1.34s; }
@keyframes rlfx-camping-flicker {
  0%,100%{opacity:.42;transform:translate(-50%,-50%) scale(.96)}
  14%{opacity:.58;transform:translate(-50%,-50%) scale(1.04)}
  27%{opacity:.38;transform:translate(-50%,-50%) scale(.94)}
  43%{opacity:.55;transform:translate(-50%,-50%) scale(1.02)}
  61%{opacity:.46;transform:translate(-50%,-50%) scale(.98)}
  79%{opacity:.61;transform:translate(-50%,-50%) scale(1.05)}
}
.rlfx-camping-controls {
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:2147483100;
  display:flex;
  align-items:center;
  gap:14px;
  padding:9px 10px;
  border:1px solid rgba(224,167,82,.42);
  border-radius:10px;
  background:rgba(10,18,18,.88);
  box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  color:#f3f1e8;
}
.rlfx-camping-controls span{display:grid;gap:3px}
.rlfx-camping-controls b{color:#f1b65f;letter-spacing:.05em;text-shadow:0 0 8px rgba(238,165,67,.22)}
.rlfx-camping-controls small{color:#c8d3c8;font-weight:600}
.rlfx-camping-end{border:1px solid rgba(218,164,89,.50);border-radius:6px;background:rgba(39,27,14,.86);color:#fff8e8;padding:7px 9px;font:inherit;cursor:pointer!important}
.rlfx-camping-end:hover{border-color:#f1bc66;background:rgba(58,38,17,.92)}

/* Keep Effects/Holiday panel dimensions stable while switching tabs. */
.rlfx-panel { min-height:430px; }
.rlfx-grid { align-content:start; }

@media(max-width:760px){
  body.rlfx-camping-mode .container{padding-top:92px!important}
  .rlfx-camping-controls{left:8px;bottom:8px}
  .rlfx-camping-controls small{display:none}
  .rlfx-panel{min-height:min(430px,calc(100vh - 110px))}
}
@media(prefers-reduced-motion:reduce){
  .rlfx-camping-glow{animation:none!important;opacity:.36}
}
\n\n

/* Sky Diving scene */
body.rlfx-skydiving-mode {
  background:#07111b !important;
  overflow-x:hidden !important;
}
body.rlfx-skydiving-mode .site-nav-shell,
body.rlfx-skydiving-mode .container,
body.rlfx-skydiving-mode footer {
  position:relative;
  z-index:2147482805;
}
body.rlfx-skydiving-mode .site-nav-shell {
  background:rgba(5,12,20,.82)!important;
  border-color:rgba(88,184,239,.20)!important;
  backdrop-filter:blur(8px); -webkit-backdrop-filter: blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
}
body.rlfx-skydiving-mode .container {
  padding-top:116px !important;
  text-shadow:0 2px 7px rgba(0,0,0,.62);
}
body.rlfx-skydiving-mode .card,
body.rlfx-skydiving-mode .feature-card {
  background:linear-gradient(180deg,rgba(7,19,31,.84),rgba(5,14,24,.90)) !important;
  border-color:rgba(101,198,249,.20) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(4px); -webkit-backdrop-filter: blur(4px);
}
body.rlfx-skydiving-mode .tux-greeter { display:none !important; }
.rlfx-skydiving-scene {
  position:fixed;
  inset:0;
  z-index:2147482700;
  overflow:hidden;
  pointer-events:none;
}
.rlfx-skydiving-backdrop {
  position:absolute;
  inset:-8%;
  background-image:url('/effects/assets/skydiving/skydiving-background.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:rotate(var(--rlfx-sky-angle,.8deg)) scale(1.105);
  animation:rlfx-sky-turbulence 1.1s ease-in-out infinite alternate;
}
.rlfx-skydiving-vignette {
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 58% 46%,transparent 40%,rgba(0,0,0,.08) 76%,rgba(0,0,0,.20) 100%);
}
.rlfx-skydiving-wind { position:absolute; inset:0; overflow:hidden; opacity:.86; }
.rlfx-skydiving-streak {
  position:absolute; top:var(--y); left:-180px; width:var(--len); height:2px; border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),transparent);
  opacity:var(--opacity); filter:blur(.25px);
  animation:rlfx-sky-wind 2.35s linear infinite; animation-delay:var(--delay);
}
@keyframes rlfx-sky-wind {
  from{transform:translateX(calc((100vw + 420px) * (var(--rlfx-sky-dir,1) * -1))) skewX(-18deg)}
  to{transform:translateX(calc((100vw + 420px) * var(--rlfx-sky-dir,1))) skewX(-18deg)}
}
@keyframes rlfx-sky-turbulence {
  from{margin-left:calc(-4px * var(--rlfx-sky-turb,.4));margin-top:calc(-3px * var(--rlfx-sky-turb,.4))}
  to{margin-left:calc(5px * var(--rlfx-sky-turb,.4));margin-top:calc(4px * var(--rlfx-sky-turb,.4))}
}
.rlfx-skydiving-panel {
  position:fixed; left:16px; top:70px; z-index:2147483120; width:255px; padding:14px 15px 13px;
  color:#eef8ff; background:rgba(7,20,32,.92); border:1px solid rgba(113,197,255,.35); border-radius:11px;
  box-shadow:0 16px 36px rgba(0,0,0,.32); backdrop-filter:blur(10px); -webkit-backdrop-filter: blur(10px);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
.rlfx-skydiving-panel-title{display:flex;align-items:center;gap:8px;margin-bottom:13px;font-size:.83rem;letter-spacing:.04em}
.rlfx-skydiving-panel label{display:grid;gap:6px;margin-top:10px}
.rlfx-skydiving-panel label>span{display:flex;justify-content:space-between;gap:10px;font-size:.72rem}
.rlfx-skydiving-panel output{color:#8ed8ff;font-weight:700}
.rlfx-skydiving-panel input[type="range"]{width:100%;accent-color:#42bdf5;cursor:pointer}
.rlfx-skydiving-controls {
  position:fixed; left:14px; bottom:14px; z-index:2147483130; display:flex; align-items:center; gap:14px;
  padding:9px 10px; border:1px solid rgba(95,191,243,.42); border-radius:10px; background:rgba(7,18,28,.92);
  box-shadow:0 10px 28px rgba(0,0,0,.34); backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace; color:#f4fbff;
}
.rlfx-skydiving-controls span{display:grid;gap:3px}
.rlfx-skydiving-controls b{color:#64cfff;letter-spacing:.05em;text-shadow:0 0 8px rgba(73,193,255,.25)}
.rlfx-skydiving-controls small{color:#c8dae5;font-weight:600}
.rlfx-skydiving-end{border:1px solid rgba(97,185,232,.50);border-radius:6px;background:rgba(10,29,43,.88);color:#f5fbff;padding:7px 9px;font:inherit;cursor:pointer!important}
.rlfx-skydiving-end:hover{border-color:#78d6ff;background:rgba(12,43,62,.94)}
@media(max-width:760px){
  body.rlfx-skydiving-mode .container{padding-top:92px!important}
  .rlfx-skydiving-panel{left:8px;top:62px;width:min(235px,calc(100vw - 16px));padding:10px 12px}
  .rlfx-skydiving-controls{left:8px;bottom:8px}
  .rlfx-skydiving-controls small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .rlfx-skydiving-streak{animation:none!important;display:none!important}
  .rlfx-skydiving-backdrop{animation:none!important;transform:scale(1.02)}
}

/* Sky Diving: move page content away from Tux and let cards flap in the wind. */
@media (min-width: 980px) {
  body.rlfx-skydiving-mode .container {
    transform:translateX(clamp(90px, 10vw, 175px));
  }
}

body.rlfx-skydiving-mode .rlfx-skydiving-flap {
  transform-origin:50% 10%;
  animation:rlfx-skydiving-panel-flap var(--rlfx-sky-panel-duration,1.5s) ease-in-out infinite alternate !important;
  animation-delay:var(--rlfx-sky-panel-phase,0s) !important;
  will-change:transform;
}

@keyframes rlfx-skydiving-panel-flap {
  from {
    transform:
      translateX(calc(var(--rlfx-sky-panel-x,0px) * -.45))
      translateY(calc(var(--rlfx-sky-panel-y,0px) * -.35))
      rotate(calc(var(--rlfx-sky-panel-rot,0deg) * -.55));
  }
  to {
    transform:
      translateX(var(--rlfx-sky-panel-x,0px))
      translateY(var(--rlfx-sky-panel-y,0px))
      rotate(var(--rlfx-sky-panel-rot,0deg));
  }
}

@media (max-width:979px) {
  body.rlfx-skydiving-mode .container { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  body.rlfx-skydiving-mode .rlfx-skydiving-flap { animation:none!important; transform:none!important; }
}

/* Camping: shift the real site content right to keep Tux unobstructed. */
@media (min-width: 980px) {
  body.rlfx-camping-mode .container {
    transform: translateX(clamp(170px, 18vw, 300px));
    transition: transform .3s ease;
  }
}

@media (max-width: 979px) {
  body.rlfx-camping-mode .container {
    transform: none;
  }
}

/* Hello Kitty & Friends */
body.rlfx-hellokitty-mode{background:#f7a9c9!important;overflow-x:hidden!important}
body.rlfx-hellokitty-mode .site-nav-shell,
body.rlfx-hellokitty-mode .container,
body.rlfx-hellokitty-mode footer{position:relative;z-index:2147482805}
body.rlfx-hellokitty-mode .site-nav-shell{background:rgba(22,18,28,.82)!important;border-color:rgba(255,158,205,.25)!important;backdrop-filter:blur(9px)}
body.rlfx-hellokitty-mode .container{padding-top:106px!important; -webkit-backdrop-filter: blur(9px)}
body.rlfx-hellokitty-mode .container{padding-top:106px!important;text-shadow:0 2px 7px rgba(62,20,43,.38)}
body.rlfx-hellokitty-mode .card,
body.rlfx-hellokitty-mode .feature-card{background:linear-gradient(180deg,rgba(31,25,37,.86),rgba(24,20,30,.91))!important;border-color:rgba(255,169,210,.30)!important;box-shadow:0 12px 30px rgba(77,24,52,.24)!important;backdrop-filter:blur(5px)}
body.rlfx-hellokitty-mode .tux-greeter{display:none!important}
.rlfx-hellokitty-scene{position:fixed; -webkit-backdrop-filter: blur(5px)}
body.rlfx-hellokitty-mode .tux-greeter{display:none!important}
.rlfx-hellokitty-scene{position:fixed;inset:0;z-index:2147482700;overflow:hidden;pointer-events:none}
.rlfx-hellokitty-backdrop{position:absolute;inset:0;background:url('/effects/assets/hellokitty/hellokitty-background.webp') center center/cover no-repeat}
.rlfx-hellokitty-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(64,12,40,.05),transparent 35%,rgba(25,8,24,.10)),linear-gradient(0deg,rgba(28,8,23,.16),transparent 38%)}
.rlfx-hellokitty-fall{position:absolute;inset:-12% 0 0;overflow:hidden}
.rlfx-hk-faller{position:absolute;left:var(--hk-left);top:-12%;width:var(--hk-size);height:var(--hk-size);background-position:center;background-repeat:no-repeat;background-size:contain;opacity:.92;filter:drop-shadow(0 3px 3px rgba(90,25,59,.18));animation:rlfx-hk-fall var(--hk-duration) linear infinite;animation-delay:var(--hk-delay)}
.rlfx-hk-flower-pink{background-image:url('/effects/assets/hellokitty/flower.svg')}
.rlfx-hk-flower-white{background-image:url('/effects/assets/hellokitty/flower-white.svg')}
.rlfx-hk-kitty{background-image:url('/effects/assets/hellokitty/kitty-head.svg')}
@keyframes rlfx-hk-fall{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:0}8%{opacity:.92}92%{opacity:.92}100%{transform:translate3d(var(--hk-drift),125vh,0) rotate(var(--hk-spin));opacity:0}}
.rlfx-hellokitty-controls{position:fixed;left:14px;bottom:14px;z-index:2147483100;display:flex;align-items:center;gap:14px;padding:9px 10px;border:1px solid rgba(255,145,198,.55);border-radius:10px;background:rgba(35,22,35,.90);box-shadow:0 10px 30px rgba(0,0,0,.30),0 0 20px rgba(255,105,180,.10);backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;color:#fff7fb}
.rlfx-hellokitty-controls span{display:grid;gap:3px}.rlfx-hellokitty-controls b{color:#ff8fc6;letter-spacing:.04em;text-shadow:0 0 8px rgba(255,105,180,.28)}.rlfx-hellokitty-controls small{color:#ffe0ef;font-weight:600}.rlfx-hellokitty-end{border:1px solid rgba(255,157,205,.52);border-radius:6px;background:rgba(72,31,56,.88);color:#fff;padding:7px 9px;font:inherit;cursor:pointer!important}.rlfx-hellokitty-end:hover{border-color:#ff9fd0;background:rgba(100,38,73,.94)}
@media(min-width:980px){body.rlfx-hellokitty-mode .container{transform:translateX(clamp(170px,17vw,285px));transition:transform .3s ease}}
@media(max-width:979px){body.rlfx-hellokitty-mode .container{transform:none}}
@media(max-width:760px){body.rlfx-hellokitty-mode .container{padding-top:92px!important}.rlfx-hellokitty-controls{left:8px;bottom:8px}.rlfx-hellokitty-controls small{display:none}}
@media(prefers-reduced-motion:reduce){.rlfx-hk-faller{animation:none!important;display:none!important}}

/* GHOSTBUSTERS — scene-first pass; mini-game intentionally disabled */
body.rlfx-ghostbusters-mode{
  background:#02070a!important;
  overflow-x:hidden!important;
}
body.rlfx-ghostbusters-mode .tux-greeter{display:none!important}
body.rlfx-ghostbusters-mode .rlfx-launcher{visibility:hidden!important}
body.rlfx-ghostbusters-mode .site-nav-shell,
body.rlfx-ghostbusters-mode .container,
body.rlfx-ghostbusters-mode footer{position:relative;z-index:2147482503}

/* Keep the live site on the right, but do not let it dominate the background composition. */
@media(min-width:980px){
  body.rlfx-ghostbusters-mode .container{
    transform:translate(clamp(230px,20vw,340px),72px);
    transform-origin:top center;
    transition:transform .3s ease;
  }
}

.rlfx-ghostbusters-scene{
  position:fixed!important;
  inset:0!important;
  z-index:2147482400!important;
  pointer-events:none;
  overflow:hidden;
  background:#02070a;
}

/* Do not overscale the art. The previous version zoomed the image and made Stay Puft/Ecto-1 enormous. */
.rlfx-ghostbusters-backdrop{
  position:absolute;
  inset:0;
  background-image:url('/effects/assets/ghostbusters/ghostbusters-background.webp');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
  filter:saturate(1.04) contrast(1.02);
  transform:none;
}

.rlfx-ghostbusters-vignette{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,5,9,.05),transparent 34%,rgba(0,5,9,.10)),
    radial-gradient(circle at 56% 44%,transparent 42%,rgba(0,5,9,.24) 100%);
  pointer-events:none;
}

/* Ecto-1 red/blue practical-light overlay remains active. */
.rlfx-gb-ecto-strobe{
  position:absolute;
  left:0;
  top:34%;
  width:42%;
  height:27%;
  background:
    radial-gradient(circle at 26% 28%,rgba(38,150,255,.82),transparent 18%),
    radial-gradient(circle at 41% 25%,rgba(255,28,45,.80),transparent 17%),
    radial-gradient(circle at 57% 30%,rgba(43,158,255,.74),transparent 16%),
    radial-gradient(circle at 69% 29%,rgba(255,33,50,.72),transparent 15%);
  mix-blend-mode:screen;
  filter:blur(14px);
  animation:rlfxGbStrobe .46s steps(2,end) infinite;
}
@keyframes rlfxGbStrobe{
  0%,100%{opacity:.16}
  25%{opacity:.92}
  50%{opacity:.24}
  75%{opacity:.78}
}

/* Ectoplasm edging for the live site cards. This is decorative only; no mini-game behavior. */
body.rlfx-ghostbusters-mode .card,
body.rlfx-ghostbusters-mode .feature-card{
  position:relative;
  overflow:visible!important;
  border-color:rgba(66,255,65,.34)!important;
  box-shadow:
    inset 0 1px 0 rgba(120,255,95,.12),
    0 0 0 1px rgba(40,240,62,.06),
    0 10px 26px rgba(0,0,0,.34);
}

body.rlfx-ghostbusters-mode .card::before,
body.rlfx-ghostbusters-mode .feature-card::before{
  content:"";
  position:absolute;
  z-index:4;
  pointer-events:none;
  left:-2px;
  right:-2px;
  top:-4px;
  height:12px;
  border-radius:9px 9px 45% 40%;
  background:
    radial-gradient(18px 10px at 10% 62%,rgba(92,255,72,.98) 0 44%,transparent 48%),
    radial-gradient(24px 11px at 32% 55%,rgba(50,238,48,.94) 0 45%,transparent 49%),
    radial-gradient(20px 10px at 57% 64%,rgba(115,255,80,.95) 0 44%,transparent 49%),
    radial-gradient(28px 12px at 82% 55%,rgba(54,245,54,.96) 0 45%,transparent 49%),
    linear-gradient(180deg,rgba(113,255,79,.96),rgba(34,219,47,.88));
  filter:drop-shadow(0 0 5px rgba(54,255,58,.55));
  opacity:.88;
}

body.rlfx-ghostbusters-mode .card::after,
body.rlfx-ghostbusters-mode .feature-card::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  top:3px;
  right:10%;
  width:7px;
  height:32px;
  border-radius:0 0 9px 9px;
  background:linear-gradient(180deg,rgba(91,255,66,.96),rgba(33,221,45,.70) 68%,rgba(32,220,43,0));
  box-shadow:
    -38px 0 0 -1px rgba(71,246,58,.88),
    -38px 11px 0 -2px rgba(71,246,58,.54),
    42px 4px 0 -1px rgba(100,255,73,.78),
    42px 15px 0 -2px rgba(100,255,73,.43);
  filter:drop-shadow(0 0 4px rgba(72,255,62,.48));
  transform-origin:top center;
  animation:rlfxGbSlimeDrip 3.4s ease-in-out infinite alternate;
}

body.rlfx-ghostbusters-mode .card:nth-child(2n)::after,
body.rlfx-ghostbusters-mode .feature-card:nth-child(2n)::after{
  right:24%;
  height:23px;
  animation-delay:-1.1s;
}
body.rlfx-ghostbusters-mode .card:nth-child(3n)::after,
body.rlfx-ghostbusters-mode .feature-card:nth-child(3n)::after{
  right:52%;
  height:38px;
  animation-delay:-2.2s;
}

@keyframes rlfxGbSlimeDrip{
  0%{transform:scaleY(.82);opacity:.76}
  55%{transform:scaleY(1.08);opacity:.96}
  100%{transform:scaleY(.94);opacity:.86}
}

.rlfx-ghostbusters-controls{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:2147483100;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid rgba(85,210,255,.42);
  border-radius:9px;
  background:rgba(3,10,16,.93);
  box-shadow:0 10px 30px #0009,0 0 18px rgba(35,255,75,.13);
  font:700 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#f7fbff;
  pointer-events:auto;
  backdrop-filter:blur(8px); -webkit-backdrop-filter: blur(8px);
}
.rlfx-ghostbusters-controls span{display:grid;gap:3px}
.rlfx-ghostbusters-controls b{color:#fff;letter-spacing:.04em}
.rlfx-ghostbusters-controls small{color:#57ff76}
.rlfx-ghostbusters-controls button{
  border:1px solid #365267;
  border-radius:6px;
  background:#0b1620;
  color:#eef8ff;
  padding:8px 10px;
  font:inherit;
  cursor:pointer!important;
}
.rlfx-ghostbusters-controls .rlfx-gb-pack,
.rlfx-ghostbusters-controls .rlfx-gb-trap{
  opacity:.76;
}
.rlfx-ghostbusters-controls .rlfx-gb-pack:hover,
.rlfx-ghostbusters-controls .rlfx-gb-trap:hover{
  border-color:#54dfff;
  box-shadow:0 0 12px rgba(54,205,255,.22);
}
.rlfx-ghostbusters-controls .rlfx-gb-end{
  border-color:#8c3541;
  color:#ffabb5;
}

@media(max-width:979px){
  body.rlfx-ghostbusters-mode .container{transform:none}
  .rlfx-ghostbusters-controls{
    left:8px;
    bottom:8px;
    max-width:calc(100vw - 16px);
    flex-wrap:wrap;
  }
  .rlfx-ghostbusters-controls small{display:none}
  .rlfx-gb-ecto-strobe{left:0;width:50%}
}

@media(prefers-reduced-motion:reduce){
  .rlfx-gb-ecto-strobe{animation:none!important;opacity:.36}
  body.rlfx-ghostbusters-mode .card::after,
  body.rlfx-ghostbusters-mode .feature-card::after{animation:none!important}
}


/* =========================================================
   GHOSTBUSTERS — 60 second ghost capture game
   ========================================================= */
.rlfx-gb-game-layer{
  position:fixed;
  inset:0;
  z-index:2147482800;
  pointer-events:none;
  overflow:hidden;
}
.rlfx-gb-ghost-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.rlfx-gb-ghost-target{
  position:absolute;
  left:0;
  top:0;
  height:auto;
  user-select:none;
  pointer-events:none;
  transform-origin:50% 50%;
  filter:drop-shadow(0 0 7px rgba(90,255,130,.55)) drop-shadow(0 8px 14px rgba(0,0,0,.45));
  will-change:transform,filter,opacity;
  animation:rlfxGbGhostBreath 1.8s ease-in-out infinite alternate;
}
.rlfx-gb-ghost-target.snared{
  filter:drop-shadow(0 0 12px rgba(120,220,255,.95)) drop-shadow(0 0 20px rgba(255,120,255,.65));
  animation:rlfxGbGhostSnared .18s ease-in-out infinite alternate;
}
@keyframes rlfxGbGhostBreath{to{filter:drop-shadow(0 0 11px rgba(100,255,150,.72)) drop-shadow(0 9px 16px rgba(0,0,0,.45));}}
@keyframes rlfxGbGhostSnared{from{scale:.97}to{scale:1.04}}

.rlfx-gb-beam{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  opacity:0;
  transition:opacity .08s linear;
}
.rlfx-gb-beam.firing{opacity:1}
.rlfx-gb-beam path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.rlfx-gb-beam-glow{stroke:rgba(84,115,255,.55);stroke-width:22;filter:blur(8px)}
.rlfx-gb-beam-core{
  stroke:url('#none');
  stroke:#ff4dd8;
  stroke-width:9;
  stroke-dasharray:4 9 20 7;
  filter:drop-shadow(0 0 5px #5ad7ff) drop-shadow(0 0 7px #ff7b22);
  animation:rlfxGbBeamTravel .17s linear infinite;
}
.rlfx-gb-beam-hot{
  stroke:#fff7d5;
  stroke-width:3;
  stroke-dasharray:18 7 3 8;
  filter:drop-shadow(0 0 3px #ff8a24);
  animation:rlfxGbBeamTravel .095s linear infinite reverse;
}
@keyframes rlfxGbBeamTravel{to{stroke-dashoffset:-42}}

.rlfx-gb-trap-center{
  position:fixed;
  left:50%;
  top:54%;
  width:158px;
  height:116px;
  transform:translate(-50%,-50%);
  z-index:2147482860;
  pointer-events:none;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.6));
}
.rlfx-gb-trap-box{
  position:absolute;
  left:19px;
  right:19px;
  bottom:6px;
  height:48px;
  border:2px solid #2c3031;
  border-radius:5px 5px 12px 12px;
  background:linear-gradient(180deg,#2f3230,#0b0e0d 58%,#050706);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 0 0 2px #070909;
}
.rlfx-gb-trap-box::before,
.rlfx-gb-trap-box::after{
  content:"";
  position:absolute;
  bottom:8px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#e52727;
  box-shadow:0 0 7px #ff3232;
}
.rlfx-gb-trap-box::before{left:12px}.rlfx-gb-trap-box::after{right:12px;background:#29caff;box-shadow:0 0 7px #34ccff}
.rlfx-gb-trap-door{
  position:absolute;
  top:-7px;
  width:48%;
  height:14px;
  background:repeating-linear-gradient(90deg,#e1ad22 0 10px,#191919 10px 20px);
  border:2px solid #161917;
  transform-origin:bottom center;
  transition:transform .23s ease;
}
.rlfx-gb-trap-door.left{left:1%;transform-origin:right bottom}.rlfx-gb-trap-door.right{right:1%;transform-origin:left bottom}
.rlfx-gb-trap-center.open .rlfx-gb-trap-door.left{transform:rotate(-42deg) translateY(-3px)}
.rlfx-gb-trap-center.open .rlfx-gb-trap-door.right{transform:rotate(42deg) translateY(-3px)}
.rlfx-gb-trap-grid{
  position:absolute;
  left:44%;
  top:14px;
  width:12%;
  height:20px;
  background:#62ff77;
  box-shadow:0 0 8px #54ff65;
  opacity:.25;
}
.rlfx-gb-trap-light{position:absolute;left:50%;top:3px;width:7px;height:7px;border-radius:50%;background:#ffdf52;transform:translateX(-50%);box-shadow:0 0 8px #ffe663}
.rlfx-gb-trap-cone{
  position:absolute;
  left:50%;
  bottom:46px;
  width:180px;
  height:115px;
  transform:translateX(-50%) scaleY(0);
  transform-origin:50% 100%;
  opacity:0;
  clip-path:polygon(41% 100%,59% 100%,100% 0,0 0);
  background:radial-gradient(ellipse at 50% 100%,rgba(204,255,226,.75),rgba(81,255,138,.37) 36%,rgba(70,164,255,.18) 66%,transparent 78%);
  filter:blur(2px);
  transition:transform .2s ease,opacity .2s ease;
}
.rlfx-gb-trap-center.open .rlfx-gb-trap-cone{transform:translateX(-50%) scaleY(1);opacity:.58}
.rlfx-gb-trap-center.capturing .rlfx-gb-trap-cone{opacity:.95;animation:rlfxGbTrapPulse .22s ease-in-out infinite alternate}
.rlfx-gb-trap-center.capture-pop{animation:rlfxGbTrapPop .32s ease-out}
@keyframes rlfxGbTrapPulse{to{filter:blur(1px) brightness(1.7)}}
@keyframes rlfxGbTrapPop{50%{filter:drop-shadow(0 0 28px rgba(105,255,134,.95));transform:translate(-50%,-50%) scale(1.08)}}

.rlfx-gb-game-message{
  position:fixed;
  left:50%;
  top:18%;
  transform:translate(-50%,-8px);
  z-index:2147483090;
  padding:8px 12px;
  border:1px solid rgba(101,225,255,.36);
  border-radius:7px;
  background:rgba(1,10,16,.82);
  color:#d9f7ff;
  font:700 .75rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  opacity:0;
  transition:opacity .18s ease,transform .18s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.34);
}
.rlfx-gb-game-message.show{opacity:1;transform:translate(-50%,0)}
.rlfx-gb-game-message.strong{color:#7fff91;border-color:rgba(96,255,117,.52);text-shadow:0 0 8px rgba(78,255,102,.4)}

.rlfx-gb-game-controls .rlfx-gb-stat{
  display:grid;
  min-width:54px;
  gap:1px;
  padding:3px 8px;
  border-left:1px solid rgba(120,170,190,.25);
  text-align:center;
}
.rlfx-gb-game-controls .rlfx-gb-stat small{font-size:.58rem;color:#8fa9b6;letter-spacing:.08em}
.rlfx-gb-game-controls .rlfx-gb-stat b{font-size:1rem;color:#8cff8f}
.rlfx-gb-game-controls .rlfx-gb-pack.active{border-color:#4fd9ff;box-shadow:0 0 0 1px rgba(79,217,255,.2),0 0 13px rgba(79,217,255,.28);color:#a9efff}
.rlfx-gb-game-controls .rlfx-gb-trap.active{border-color:#75ff82;box-shadow:0 0 0 1px rgba(89,255,112,.18),0 0 13px rgba(89,255,112,.24);color:#a9ffb0}
body.rlfx-gb-pack-armed{cursor:crosshair!important}
body.rlfx-gb-pack-armed .rlfx-ghostbusters-controls,body.rlfx-gb-pack-armed .rlfx-ghostbusters-controls *{cursor:pointer!important}

@media(max-width:760px){
  .rlfx-gb-trap-center{top:58%;transform:translate(-50%,-50%) scale(.78)}
  .rlfx-gb-game-controls .rlfx-gb-stat{min-width:44px;padding:2px 5px}
  .rlfx-gb-game-controls .rlfx-gb-brand small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .rlfx-gb-ghost-target,.rlfx-gb-beam-core,.rlfx-gb-beam-hot,.rlfx-gb-trap-center.capturing .rlfx-gb-trap-cone{animation:none!important}
}

/* =========================================================
   GHOSTBUSTERS GAME POLISH — controls, trap placement, link lock
   ========================================================= */
body.rlfx-gb-game-active .container a,
body.rlfx-gb-game-active .site-nav-shell a,
body.rlfx-gb-game-active footer a,
body.rlfx-gb-game-active .container button:not(.rlfx-gb-start):not(.rlfx-gb-pause):not(.rlfx-gb-pack):not(.rlfx-gb-trap):not(.rlfx-gb-end){
  pointer-events:none!important;
  cursor:crosshair!important;
}
body.rlfx-gb-game-active .container a,
body.rlfx-gb-game-active .site-nav-shell a,
body.rlfx-gb-game-active footer a{user-select:none!important}

.rlfx-ghostbusters-controls .rlfx-gb-start{
  border-color:#2a9d49;
  color:#baffc7;
  background:linear-gradient(180deg,#10301a,#09170d);
}
.rlfx-ghostbusters-controls .rlfx-gb-start:hover:not(:disabled){
  border-color:#55f178;
  box-shadow:0 0 13px rgba(66,255,105,.24);
}
.rlfx-ghostbusters-controls .rlfx-gb-pause{
  border-color:#aa832b;
  color:#ffe6a2;
  background:linear-gradient(180deg,#30260e,#181205);
}
.rlfx-ghostbusters-controls button:disabled{
  opacity:.38!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* Keep the trap directly above the bottom control bar instead of mid-screen. */
.rlfx-gb-trap-center{
  top:auto!important;
  bottom:78px!important;
  transform:translateX(-50%)!important;
}
.rlfx-gb-trap-center.capture-pop{
  animation:rlfxGbTrapPopBottom .32s ease-out!important;
}
@keyframes rlfxGbTrapPopBottom{
  50%{filter:drop-shadow(0 0 28px rgba(105,255,134,.95));transform:translateX(-50%) scale(1.08)}
}

/* More cinematic ghost treatment: organic translucency, inner glow, and depth. */
.rlfx-gb-ghost-target{
  filter:drop-shadow(0 0 7px rgba(170,255,210,.46)) drop-shadow(0 13px 20px rgba(0,0,0,.56));
  mix-blend-mode:screen;
  opacity:.94;
}
.rlfx-gb-ghost-target.snared{
  filter:drop-shadow(0 0 15px rgba(120,220,255,.98)) drop-shadow(0 0 28px rgba(255,120,255,.62)) brightness(1.16);
}

body.rlfx-gb-game-paused .rlfx-gb-ghost-target,
body.rlfx-gb-game-paused .rlfx-gb-trap-center,
body.rlfx-gb-game-paused .rlfx-gb-beam{animation-play-state:paused!important}

@media(max-width:760px){
  .rlfx-gb-trap-center{bottom:118px!important;transform:translateX(-50%) scale(.78)!important}
}


/* Ghostbusters game flow refinements */
.rlfx-gb-trap-center{transition:opacity .18s ease,visibility .18s ease,filter .18s ease;}
.rlfx-gb-trap-center.cleared{opacity:0!important;visibility:hidden!important;filter:none!important;}

/* Ghostbusters game v7: realistic spectral targets + offscreen trap */
.rlfx-gb-ghost-target{
  mix-blend-mode:normal!important;
  opacity:1!important;
  filter:drop-shadow(0 0 9px rgba(220,245,255,.5)) drop-shadow(0 12px 18px rgba(0,0,0,.58))!important;
}
.rlfx-gb-ghost-target.snared{
  filter:drop-shadow(0 0 16px rgba(125,235,255,.98)) drop-shadow(0 0 28px rgba(255,255,255,.86)) brightness(1.18)!important;
}

/* The physical trap now sits below the viewport; only its capture glow reaches the scene. */
.rlfx-gb-trap-center{
  top:auto!important;
  bottom:-86px!important;
  width:190px!important;
  height:170px!important;
  transform:translateX(-50%)!important;
  filter:drop-shadow(0 -8px 22px rgba(92,255,163,.28))!important;
}
.rlfx-gb-trap-box{bottom:-18px!important;opacity:.92}
.rlfx-gb-trap-cone{
  bottom:36px!important;
  width:310px!important;
  height:250px!important;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.96) 0 7%,rgba(170,255,224,.92) 14%,rgba(72,255,153,.72) 34%,rgba(60,202,255,.48) 56%,rgba(126,90,255,.18) 72%,transparent 84%)!important;
  filter:blur(.7px) drop-shadow(0 -8px 24px rgba(98,255,168,.75)) drop-shadow(0 -20px 46px rgba(83,205,255,.48))!important;
}
.rlfx-gb-trap-center.open .rlfx-gb-trap-cone{opacity:.94!important}
.rlfx-gb-trap-center.capturing .rlfx-gb-trap-cone{opacity:1!important;filter:brightness(1.45) blur(.35px) drop-shadow(0 -10px 30px rgba(120,255,180,.95)) drop-shadow(0 -26px 58px rgba(90,210,255,.72))!important}
@media(max-width:760px){
  .rlfx-gb-trap-center{bottom:-72px!important;transform:translateX(-50%) scale(.82)!important}
}

/* Aquarium */
body.rlfx-aquarium-mode{
  background:#021522!important;
  overflow-x:hidden!important;
}
body.rlfx-aquarium-mode .site-nav-shell,
body.rlfx-aquarium-mode .container,
body.rlfx-aquarium-mode footer{
  position:relative;
  z-index:2147482805;
}
body.rlfx-aquarium-mode .site-nav-shell{
  background:rgba(2,15,27,.78)!important;
  border-color:rgba(90,207,255,.23)!important;
  backdrop-filter:blur(9px) saturate(1.1); -webkit-backdrop-filter: blur(9px) saturate(1.1);
}
body.rlfx-aquarium-mode .container{
  padding-top:118px!important;
  text-shadow:0 2px 8px rgba(0,18,35,.55);
}
body.rlfx-aquarium-mode .card,
body.rlfx-aquarium-mode .feature-card{
  background:linear-gradient(180deg,rgba(4,22,36,.62),rgba(2,14,28,.70))!important;
  border-color:rgba(70,200,255,.28)!important;
  box-shadow:0 14px 34px rgba(0,17,34,.28),inset 0 1px 0 rgba(148,228,255,.05)!important;
  backdrop-filter:blur(5px) saturate(1.08); -webkit-backdrop-filter: blur(5px) saturate(1.08);
}
body.rlfx-aquarium-mode .tux-greeter,
body.rlfx-aquarium-mode .hero-treadmill{display:none!important}
@media(min-width:980px){body.rlfx-aquarium-mode .container{transform:translate(165px,58px);transition:transform .3s ease}}
@media(max-width:979px){body.rlfx-aquarium-mode .container{transform:none}}

.rlfx-aquarium-scene{
  position:fixed;
  inset:0;
  z-index:2147482700;
  overflow:hidden;
  pointer-events:none;
  background:#03273b;
}
.rlfx-aquarium-water{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 50% -12%,rgba(124,232,255,.50),transparent 42%),
    linear-gradient(180deg,#138ab2 0%,#08739c 26%,#075a7e 54%,#073e5b 76%,#062c40 100%);
}
.rlfx-aquarium-water:before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 15% 82%,rgba(20,108,89,.32),transparent 26%),
    radial-gradient(ellipse at 85% 88%,rgba(18,103,87,.34),transparent 28%),
    linear-gradient(115deg,transparent 0 44%,rgba(157,237,255,.10) 48%,transparent 52% 100%);
  opacity:.9;
}
.rlfx-aquarium-caustics{
  position:absolute;
  inset:-15%;
  opacity:.25;
  mix-blend-mode:screen;
  background:
    repeating-radial-gradient(ellipse at 50% -10%,transparent 0 34px,rgba(158,239,255,.17) 38px,transparent 44px),
    repeating-linear-gradient(108deg,transparent 0 48px,rgba(148,229,255,.10) 55px,transparent 64px);
  filter:blur(4px);
  animation:rlfx-aquarium-caustics 12s ease-in-out infinite alternate;
}
@keyframes rlfx-aquarium-caustics{
  from{transform:translate3d(-1.5%,-1%,0) scale(1.03) rotate(-.5deg)}
  to{transform:translate3d(1.8%,1.2%,0) scale(1.08) rotate(.6deg)}
}
.rlfx-aquarium-reef-wall{
  position:absolute;
  top:7%;bottom:0;
  width:clamp(150px,19vw,360px);
  background:url('/effects/assets/aquarium/reef-wall.webp') left bottom/100% 100% no-repeat;
  opacity:.92;
  filter:saturate(1.08) drop-shadow(0 0 30px rgba(0,34,40,.18));
  z-index:.7;
}
.rlfx-aquarium-reef-wall-left{left:0}
.rlfx-aquarium-reef-wall-right{right:0;transform:scaleX(-1)}
.rlfx-aquarium-reef-bottom{
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:38%;
  background:url('/effects/assets/aquarium/reef-bottom.webp') center bottom/100% 100% no-repeat;
  opacity:.96;
  filter:saturate(1.06) contrast(1.02);
  z-index:.8;
}
.rlfx-aquarium-vignette{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 42%,transparent 36%,rgba(0,18,29,.14) 78%,rgba(0,9,18,.37) 100%);
}
.rlfx-aquarium-tux{
  position:absolute;
  left:1.8%;
  top:35%;
  width:clamp(280px,31vw,520px);
  max-height:60vh;
  object-fit:contain;
  filter:drop-shadow(0 18px 30px rgba(0,15,28,.38));
  animation:rlfx-aquarium-float 5.5s ease-in-out infinite;
}
@keyframes rlfx-aquarium-float{
  0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg)}
  50%{transform:translate3d(12px,-18px,0) rotate(1.2deg)}
}
.rlfx-aquarium-whale{
  position:absolute;
  top:4%;
  right:4%;
  width:clamp(420px,52vw,850px);
  opacity:.76;
  filter:drop-shadow(0 22px 38px rgba(0,21,37,.24));
  animation:rlfx-aquarium-whale-float 11s ease-in-out infinite;
}
@keyframes rlfx-aquarium-whale-float{
  0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
  50%{transform:translate3d(-18px,-14px,0) rotate(.8deg)}
}
.rlfx-aquarium-turtle{
  position:absolute;
  right:2.5%;bottom:8%;
  width:clamp(180px,22vw,360px);
  opacity:.94;
  filter:drop-shadow(0 12px 24px rgba(0,16,30,.25));
  animation:rlfx-aquarium-turtle-float 9s ease-in-out infinite;
}
@keyframes rlfx-aquarium-turtle-float{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  50%{transform:translate3d(-14px,-18px,0) rotate(2deg)}
}
.rlfx-aquarium-bubbles,.rlfx-aquarium-school-layer,.rlfx-aquarium-fish-layer{position:absolute;inset:0;overflow:hidden}
.rlfx-aquarium-school-layer{z-index:1;opacity:.60;filter:saturate(.82) brightness(.92)}
.rlfx-aquarium-school{position:absolute;width:36vw;height:18vh;animation:rlfx-aquarium-school-float 10s ease-in-out infinite alternate}
.rlfx-aquarium-school.school-1{left:18%;top:12%;transform:rotate(-5deg)}
.rlfx-aquarium-school.school-2{right:9%;top:28%;transform:scale(.72) rotate(5deg);animation-delay:-4s}
.rlfx-aquarium-school-fish{position:absolute;left:var(--sx);top:var(--sy);width:var(--ss);height:auto;opacity:.76;transform:scaleX(-1);animation:rlfx-aquarium-school-fish 3.8s ease-in-out var(--sd) infinite alternate;filter:drop-shadow(0 4px 6px rgba(0,20,35,.12))}
@keyframes rlfx-aquarium-school-float{from{translate:-8px 8px}to{translate:14px -10px}}
@keyframes rlfx-aquarium-school-fish{from{margin-top:-3px}to{margin-top:5px}}
.rlfx-aquarium-bubble{
  position:absolute;
  left:var(--x);
  bottom:-36px;
  width:var(--size);height:var(--size);
  border-radius:50%;
  border:1px solid rgba(198,245,255,.72);
  background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.82) 0 6%,rgba(168,235,255,.16) 18%,transparent 64%);
  box-shadow:inset -2px -3px 5px rgba(0,55,86,.18),0 0 6px rgba(163,236,255,.18);
  animation:rlfx-aquarium-bubble var(--dur) linear var(--delay) infinite;
}
@keyframes rlfx-aquarium-bubble{
  from{transform:translate3d(0,0,0) scale(.85);opacity:0}
  10%{opacity:.72}
  90%{opacity:.62}
  to{transform:translate3d(var(--drift),-118vh,0) scale(1.12);opacity:0}
}
.rlfx-aquarium-fish{
  position:absolute;
  top:var(--fish-y);
  left:-150px;
  width:var(--fish-size);
  height:auto;
  filter:drop-shadow(0 7px 10px rgba(0,23,38,.23));opacity:.90;
  animation:rlfx-aquarium-fish var(--fish-dur) linear var(--fish-delay) infinite;
}
.rlfx-aquarium-fish.reverse{left:auto;right:-150px;animation-name:rlfx-aquarium-fish-reverse}
@keyframes rlfx-aquarium-fish{
  0%{transform:translate3d(0,0,0) scaleX(-1)}
  25%{transform:translate3d(30vw,var(--fish-bob),0) scaleX(-1)}
  50%{transform:translate3d(60vw,0,0) scaleX(-1)}
  75%{transform:translate3d(90vw,var(--fish-bob-neg),0) scaleX(-1)}
  100%{transform:translate3d(125vw,0,0) scaleX(-1)}
}
@keyframes rlfx-aquarium-fish-reverse{
  0%{transform:translate3d(0,0,0) scaleX(1)}
  25%{transform:translate3d(-30vw,var(--fish-bob),0) scaleX(1)}
  50%{transform:translate3d(-60vw,0,0) scaleX(1)}
  75%{transform:translate3d(-90vw,var(--fish-bob-neg),0) scaleX(1)}
  100%{transform:translate3d(-125vw,0,0) scaleX(1)}
}
.rlfx-aquarium-controls{
  position:fixed;left:14px;bottom:14px;z-index:2147483100;
  display:flex;align-items:center;gap:14px;padding:9px 10px;
  border:1px solid rgba(82,204,255,.42);border-radius:10px;
  background:rgba(3,22,35,.88);backdrop-filter:blur(9px); -webkit-backdrop-filter: blur(9px);
  box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;color:#effbff;
}
.rlfx-aquarium-controls span{display:grid;gap:3px}
.rlfx-aquarium-controls b{color:#5fd9ff;letter-spacing:.05em;text-shadow:0 0 8px rgba(66,207,255,.26)}
.rlfx-aquarium-controls small{color:#bddbe7;font-weight:600}
.rlfx-aquarium-end{border:1px solid rgba(87,201,240,.52);border-radius:6px;background:rgba(5,45,66,.88);color:#f3fcff;padding:7px 9px;font:inherit;cursor:pointer!important}
.rlfx-aquarium-end:hover{border-color:#72dcff;background:rgba(7,61,86,.94)}
@media(max-width:760px){body.rlfx-aquarium-mode .container{padding-top:92px!important}.rlfx-aquarium-controls{left:8px;bottom:8px}.rlfx-aquarium-controls small{display:none}.rlfx-aquarium-tux{width:58vw;left:-12%;top:48%}.rlfx-aquarium-whale{width:70vw;opacity:.6}.rlfx-aquarium-turtle{width:35vw}}
@media(prefers-reduced-motion:reduce){.rlfx-aquarium-caustics,.rlfx-aquarium-tux,.rlfx-aquarium-whale,.rlfx-aquarium-turtle,.rlfx-aquarium-bubble,.rlfx-aquarium-school,.rlfx-aquarium-school-fish,.rlfx-aquarium-fish{animation:none!important}.rlfx-aquarium-whale{right:4%;top:4%}.rlfx-aquarium-turtle{right:3%;bottom:8%}.rlfx-aquarium-bubble{display:none}}

/* Aquarium v4 - use the approved cinematic render as a single environment layer. */
.rlfx-aquarium-background{
  position:absolute;
  inset:0;
  background:url('/effects/assets/aquarium/aquarium-background.webp') center center/cover no-repeat;
  filter:saturate(1.08) contrast(1.02);
  transform:scale(1.01);
}
/* v4 no longer composes the environment from separate reef/whale/turtle layers. */
.rlfx-aquarium-reef-wall,
.rlfx-aquarium-reef-bottom,
.rlfx-aquarium-whale,
.rlfx-aquarium-turtle,
.rlfx-aquarium-school-layer{display:none!important}
.rlfx-aquarium-water{display:none!important}
.rlfx-aquarium-caustics{opacity:.16}
.rlfx-aquarium-tux{left:3%;top:31%;width:clamp(270px,30vw,500px)}
@media(max-width:760px){.rlfx-aquarium-tux{width:58vw;left:-9%;top:43%}}

/* Aquarium: buoyant webpage tiles */
body.rlfx-aquarium-mode .card,
body.rlfx-aquarium-mode .feature-card{
  position:relative;
  overflow:hidden;
  transform-origin:50% 60%;
  will-change:transform;
  animation:rlfx-aquarium-tile-drift 6.8s ease-in-out infinite;
}

body.rlfx-aquarium-mode .card::after,
body.rlfx-aquarium-mode .feature-card::after{
  content:"";
  position:absolute;
  inset:-35% -55%;
  pointer-events:none;
  opacity:.16;
  background:
    radial-gradient(ellipse at 35% 55%,rgba(145,232,255,.32) 0 8%,transparent 24%),
    linear-gradient(108deg,transparent 36%,rgba(132,224,255,.18) 47%,rgba(220,249,255,.25) 50%,rgba(116,213,255,.15) 54%,transparent 66%);
  transform:translate3d(-22%,0,0) rotate(3deg);
  animation:rlfx-aquarium-tile-shimmer 8.5s ease-in-out infinite;
}

body.rlfx-aquarium-mode .card:nth-child(2n),
body.rlfx-aquarium-mode .feature-card:nth-child(2n){
  animation-delay:-1.7s;
}
body.rlfx-aquarium-mode .card:nth-child(3n),
body.rlfx-aquarium-mode .feature-card:nth-child(3n){
  animation-delay:-3.4s;
}
body.rlfx-aquarium-mode .card:nth-child(4n),
body.rlfx-aquarium-mode .feature-card:nth-child(4n){
  animation-delay:-5.1s;
}
body.rlfx-aquarium-mode .card:nth-child(2n)::after,
body.rlfx-aquarium-mode .feature-card:nth-child(2n)::after{
  animation-delay:-2.8s;
}
body.rlfx-aquarium-mode .card:nth-child(3n)::after,
body.rlfx-aquarium-mode .feature-card:nth-child(3n)::after{
  animation-delay:-5.4s;
}

@keyframes rlfx-aquarium-tile-drift{
  0%,100%{transform:translate3d(0,0,0) rotateX(.25deg) rotateZ(-.12deg)}
  22%{transform:translate3d(1px,-4px,0) rotateX(-.45deg) rotateZ(.12deg)}
  48%{transform:translate3d(-1px,1px,0) rotateX(.18deg) rotateZ(.18deg)}
  73%{transform:translate3d(1px,-2px,0) rotateX(-.22deg) rotateZ(-.08deg)}
}

@keyframes rlfx-aquarium-tile-shimmer{
  0%,100%{transform:translate3d(-26%,2%,0) rotate(3deg);opacity:.10}
  45%{opacity:.20}
  55%{transform:translate3d(24%,-2%,0) rotate(-2deg);opacity:.17}
  80%{opacity:.11}
}

body.rlfx-aquarium-mode .card:hover,
body.rlfx-aquarium-mode .feature-card:hover{
  animation-play-state:paused;
}

@media(prefers-reduced-motion:reduce){
  body.rlfx-aquarium-mode .card,
  body.rlfx-aquarium-mode .feature-card,
  body.rlfx-aquarium-mode .card::after,
  body.rlfx-aquarium-mode .feature-card::after{
    animation:none!important;
  }
}

/* =========================================================
   PERSISTENT SITE THEMES
   ========================================================= */

.rlfx-effect.selected-theme {
  position: relative;
  border-color: rgba(63,185,80,.7);
  background:
    linear-gradient(180deg, rgba(63,185,80,.14), rgba(63,185,80,.055)),
    #111820;
  box-shadow:
    inset 0 0 0 1px rgba(63,185,80,.08),
    0 0 16px rgba(63,185,80,.06);
}

.rlfx-effect.selected-theme::after {
  content: "APPLIED";
  position: absolute;
  top: 4px;
  right: 5px;
  color: #7ee787;
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .82;
}

.rlfx-theme-preview-controls {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 2147483400;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100vw - 32px);
  padding: 9px 10px 9px 12px;
  color: #e6edf3;
  background: rgba(8,12,17,.94);
  border: 1px solid rgba(88,166,255,.44);
  border-radius: 10px;
  box-shadow: 0 14px 40px rgba(0,0,0,.46);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.rlfx-theme-preview-label {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.rlfx-theme-preview-label b {
  color: #f0f6fc;
  font-size: .72rem;
  letter-spacing: .035em;
  white-space: nowrap;
}

.rlfx-theme-preview-label small {
  color: #8b949e;
  font-size: .62rem;
  font-weight: 600;
}

.rlfx-theme-preview-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.rlfx-theme-preview-actions button {
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 7px;
  font: inherit;
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
}

.rlfx-theme-preview-exit {
  color: #c9d1d9;
  background: #111820;
  border: 1px solid #3b4654;
}

.rlfx-theme-preview-exit:hover {
  color: #f0f6fc;
  border-color: #6e7681;
  background: #18212b;
}

.rlfx-theme-preview-apply {
  color: #ecfff0;
  background: rgba(35,134,54,.78);
  border: 1px solid rgba(63,185,80,.85);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.rlfx-theme-preview-apply:hover {
  background: rgba(46,160,67,.92);
  border-color: #7ee787;
}

@media (max-width: 640px) {
  .rlfx-theme-preview-controls {
    left: 8px;
    right: 8px;
    bottom: 8px;
    max-width: none;
    justify-content: space-between;
    gap: 8px;
  }

  .rlfx-theme-preview-label small {
    display: none;
  }

  .rlfx-theme-preview-actions {
    gap: 5px;
  }

  .rlfx-theme-preview-actions button {
    padding: 7px 8px;
    font-size: .61rem;
  }
}


/* Theme v1.1: legacy per-theme end bars are never shown while managed by
   the persistent Theme system. Author display:flex rules must not override hidden. */
.rlfx-halloween-controls[hidden],
.rlfx-autumn-controls[hidden],
.rlfx-stpatricks-controls[hidden],
.rlfx-camping-controls[hidden],
.rlfx-aquarium-controls[hidden],
.rlfx-hellokitty-controls[hidden],
.rlfx-skydiving-controls[hidden],
.rlfx-christmas-controls[hidden],
.rlfx-july-controls[hidden],
.rlfx-gb-end[hidden] {
  display: none !important;
}

/* ================================================================
   Theme capability v1.2 fixes
   - Keep alternate landing-page shells above full-screen theme scenes.
   - Keep the persistent Effects launcher above theme widgets such as
     the Christmas Santa radar so an applied theme can always be changed.
   ================================================================ */

/* Projects/Labs use their own shells rather than the legacy .container.
   Theme backdrops sit at 2147482400, so landing-page content must sit
   above that layer while decorative snow/leaves/etc. can remain above it. */
body.rlfx-christmas-mode .projects-shell,
body.rlfx-christmas-mode .labs-shell {
  position: relative;
  z-index: 2147482501;
}

/* The launcher is a global escape hatch and must win over every optional
   theme widget (Santa radar, wind panel, etc.). */
.rlfx-launcher {
  z-index: 2147483600 !important;
}

/* ================================================================
   Theme capability v1.3
   Projects and Labs landing pages use modern page shells instead of
   the legacy .container. Keep those shells above every Theme scene.
   Theme subpages remain excluded by the JavaScript eligibility rules.
   ================================================================ */
body.rlfx-halloween-mode .projects-shell,
body.rlfx-halloween-mode .labs-shell,
body.rlfx-autumn-mode .projects-shell,
body.rlfx-autumn-mode .labs-shell,
body.rlfx-christmas-mode .projects-shell,
body.rlfx-christmas-mode .labs-shell,
body.rlfx-stpatricks-mode .projects-shell,
body.rlfx-stpatricks-mode .labs-shell,
body.rlfx-camping-mode .projects-shell,
body.rlfx-camping-mode .labs-shell,
body.rlfx-skydiving-mode .projects-shell,
body.rlfx-skydiving-mode .labs-shell,
body.rlfx-aquarium-mode .projects-shell,
body.rlfx-aquarium-mode .labs-shell,
body.rlfx-hellokitty-mode .projects-shell,
body.rlfx-hellokitty-mode .labs-shell,
body.rlfx-ghostbusters-mode .projects-shell,
body.rlfx-ghostbusters-mode .labs-shell {
  position: relative !important;
  z-index: 2147482900 !important;
}

/* =========================================================
   EFFECTS CONTROL PANEL v1.4 — terminal-style launcher UI
   Visual-only refresh. No effect/theme behavior changes.
   ========================================================= */

.rlfx-panel {
  width: min(380px, calc(100vw - 28px));
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(8,13,18,.985), rgba(5,9,13,.975));
  border: 1px solid rgba(68,84,100,.82);
  border-radius: 10px;
  box-shadow:
    0 24px 70px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,255,255,.018) inset,
    0 0 28px rgba(63,185,80,.045);
  backdrop-filter: blur(14px) saturate(1.08); -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

/* Terminal chrome */
.rlfx-panel-title {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  min-height: 38px;
  color: #93a1ad;
  background: linear-gradient(180deg, #161d24, #11171d);
  border-bottom: 1px solid #29333d;
  font-size: .66rem;
  letter-spacing: .035em;
  text-transform: none;
}

.rlfx-panel-title::before {
  content: "";
  width: 38px;
  height: 10px;
  background:
    radial-gradient(circle at 5px 5px, #ff5f56 0 4px, transparent 4.5px),
    radial-gradient(circle at 19px 5px, #ffbd2e 0 4px, transparent 4.5px),
    radial-gradient(circle at 33px 5px, #27c93f 0 4px, transparent 4.5px);
}

.rlfx-panel-title span:first-child {
  justify-self: center;
  color: #aab6c1;
  font-size: 0;
  letter-spacing: 0;
}

.rlfx-panel-title span:first-child::after {
  content: "visitor@runslinux:~/effects";
  font-size: .66rem;
  letter-spacing: .02em;
}

.rlfx-panel-title span:last-child {
  color: var(--rlfx-green);
  font-weight: 800;
}

/* Make Effects / Theme unmistakably navigation, not effect choices. */
.rlfx-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  background: #0b1015;
  border: 0;
  border-bottom: 1px solid #29333d;
  border-radius: 0;
}

.rlfx-tabs::before {
  content: "select mode:";
  position: absolute;
  left: 12px;
  top: 8px;
  color: #65717c;
  font-size: .58rem;
  letter-spacing: .04em;
  pointer-events: none;
}

.rlfx-tab {
  position: relative;
  min-height: 58px;
  padding: 24px 14px 9px;
  gap: 8px;
  color: #88939e;
  background: transparent;
  border: 0;
  border-right: 1px solid #252e37;
  border-radius: 0;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.rlfx-tab:last-child { border-right: 0; }

.rlfx-tab:hover {
  color: #d9e1e8;
  background: rgba(88,166,255,.055);
}

.rlfx-tab.active {
  color: #f2f7f3;
  background:
    linear-gradient(180deg, rgba(63,185,80,.13), rgba(63,185,80,.035));
  border-color: transparent;
  box-shadow:
    inset 0 -3px 0 var(--rlfx-green),
    inset 0 1px 0 rgba(255,255,255,.025);
}

.rlfx-tab.active::after {
  content: "ACTIVE";
  position: absolute;
  right: 9px;
  top: 8px;
  padding: 2px 5px;
  color: #73d983;
  background: rgba(63,185,80,.08);
  border: 1px solid rgba(63,185,80,.24);
  border-radius: 4px;
  font-size: .49rem;
  line-height: 1;
  letter-spacing: .08em;
}

/* Command list */
.rlfx-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
  padding: 11px;
  background:
    linear-gradient(rgba(255,255,255,.006), rgba(255,255,255,.006)),
    repeating-linear-gradient(180deg, transparent 0 3px, rgba(255,255,255,.006) 3px 4px);
  align-content: start;
}

.rlfx-effect {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 8px 10px;
  color: #d6dee6;
  background: rgba(15,22,29,.84);
  border: 1px solid #28333e;
  border-radius: 6px;
  font-size: .69rem;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
  transition: background 120ms ease, border-color 120ms ease, transform 120ms ease, color 120ms ease;
}

.rlfx-effect::before {
  content: ">";
  position: absolute;
  left: 5px;
  top: 4px;
  color: rgba(63,185,80,0);
  font-size: .56rem;
  transition: color 120ms ease;
}

.rlfx-effect:hover {
  color: #f3f7fa;
  background: #121c24;
  border-color: rgba(88,166,255,.48);
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.025);
}

.rlfx-effect:hover::before { color: var(--rlfx-green); }

.rlfx-effect:focus-visible,
.rlfx-tab:focus-visible,
.rlfx-toggle:focus-visible {
  outline: 2px solid var(--rlfx-blue);
  outline-offset: 2px;
}

.rlfx-effect .icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  flex: none;
  color: #d9e6ef;
  background: rgba(88,166,255,.07);
  border: 1px solid rgba(88,166,255,.09);
  border-radius: 5px;
  font-size: .86rem;
}

/* Bottom launcher becomes a compact terminal prompt. */
.rlfx-toggle {
  position: relative;
  gap: 7px;
  padding: 9px 12px;
  color: #dce4eb;
  background: linear-gradient(180deg, #151c23, #10161c);
  border: 1px solid #34414d;
  border-radius: 7px;
  box-shadow: 0 10px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025);
  font-size: .69rem;
  letter-spacing: .02em;
}

.rlfx-toggle::before {
  content: "$";
  color: var(--rlfx-green);
  font-weight: 900;
}

.rlfx-toggle:hover {
  border-color: rgba(88,166,255,.55);
  background: linear-gradient(180deg, #19232c, #121a21);
}

.rlfx-toggle .chevron { color: #7d8994; }

@media (max-width: 640px) {
  .rlfx-panel { width: min(360px, calc(100vw - 20px)); }
  .rlfx-grid { gap: 6px; padding: 9px; }
  .rlfx-effect { min-height: 46px; padding: 8px; font-size: .65rem; }
  .rlfx-tab { min-height: 54px; font-size: .71rem; }
}

/* =========================================================
   EFFECTS CONTROL PANEL v1.5 — window behavior + fixed sizing
   ========================================================= */

/* Keep the terminal window the same size when switching tabs. */
.rlfx-panel {
  height: min(548px, calc(100vh - 96px));
  min-height: min(548px, calc(100vh - 96px));
  display: flex;
  flex-direction: column;
}

.rlfx-panel-title,
.rlfx-tabs {
  flex: 0 0 auto;
}

.rlfx-grid {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #34414d #0b1015;
}

.rlfx-grid::-webkit-scrollbar { width: 8px; }
.rlfx-grid::-webkit-scrollbar-track { background: #0b1015; }
.rlfx-grid::-webkit-scrollbar-thumb {
  background: #34414d;
  border: 2px solid #0b1015;
  border-radius: 999px;
}
.rlfx-grid::-webkit-scrollbar-thumb:hover { background: #465767; }

/* The red terminal traffic-light is an actual close button. */
.rlfx-window-close {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  z-index: 2;
  border: 0;
  border-radius: 50%;
  background: #ff5f56;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  cursor: pointer;
}

.rlfx-window-close:hover {
  background: #ff766f;
  box-shadow: 0 0 0 3px rgba(255,95,86,.16);
}

.rlfx-window-close:focus-visible {
  outline: 2px solid #ff8c86;
  outline-offset: 3px;
}

/* Leave yellow + green in the decorative traffic-light group; red is clickable above it. */
.rlfx-panel-title::before {
  pointer-events: none;
}

@media (max-width: 640px) {
  .rlfx-panel {
    height: min(520px, calc(100vh - 82px));
    min-height: min(520px, calc(100vh - 82px));
  }
}

/* ================================================================
   HALLOWEEN THEME v2
   - Recompose the cinematic backdrop so Halloween Tux lives on the left.
   - Add realistic blood texture overlays to content panels.
   - Hide the normal treadmill Tux whenever a persistent Theme is active.
   ================================================================ */

/* Background placement is defined by the Halloween refresh below. */
/* The refreshed Halloween scene keeps Tux on the right; no mirroring. */

/* Keep theme artwork from competing with the default homepage treadmill Tux. */
body.rlfx-halloween-mode .tux-greeter,
body.rlfx-autumn-mode .tux-greeter,
body.rlfx-christmas-mode .tux-greeter,
body.rlfx-stpatricks-mode .tux-greeter,
body.rlfx-camping-mode .tux-greeter,
body.rlfx-skydiving-mode .tux-greeter,
body.rlfx-aquarium-mode .tux-greeter,
body.rlfx-hellokitty-mode .tux-greeter,
body.rlfx-ghostbusters-mode .tux-greeter {
  display: none !important;
}

/* Realistic blood overlays are injected by effects.js so we do not consume
   page-card ::before/::after hooks that some sections already use. */
body.rlfx-halloween-mode .rlfx-halloween-blood-host {
  position: relative !important;
  overflow: hidden;
  isolation: isolate;
}

body.rlfx-halloween-mode .rlfx-halloween-blood {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: block;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: min(410px, 72%) auto;
  opacity: var(--rlfx-blood-opacity, .38);
  mix-blend-mode: normal;
  filter: saturate(.92) contrast(1.18) brightness(.78);
  transform: rotate(var(--rlfx-blood-rotate, 0deg)) scale(1.015);
  transform-origin: center;
}

body.rlfx-halloween-mode .rlfx-halloween-blood.blood-1 {
  background-image: url('/effects/assets/halloween/blood-splatter-1.png');
  background-position: 106% -10px;
}
body.rlfx-halloween-mode .rlfx-halloween-blood.blood-2 {
  background-image: url('/effects/assets/halloween/blood-splatter-2.png');
  background-position: -8% -8px;
  opacity: .34;
}
body.rlfx-halloween-mode .rlfx-halloween-blood.blood-3 {
  background-image: url('/effects/assets/halloween/blood-splatter-3.png');
  background-position: 106% 108%;
  opacity: .32;
}

@media (max-width: 760px) {
  body.rlfx-halloween-mode .rlfx-halloween-blood {
    background-size: min(330px, 82%) auto;
    opacity: .27;
  }
}

/* =========================================================
   AQUARIUM THEME v1.1 — foreground fish + rare shark pass
   ========================================================= */

/* Nearby fish live above page cards but below theme controls/launcher. */

/* ================================================================
   Theme baseline fixes v1.0
   1) Hide the default homepage treadmill Tux on every non-default Theme.
   2) Keep the shared site title/navigation bar pinned while scrolling.
   Default theme remains unchanged.
   ================================================================ */

/* Hide both known homepage Tux wrappers so theme-specific artwork is the
   only Tux visible while a Theme is active. */
body.rlfx-halloween-mode .tux-greeter,
body.rlfx-halloween-mode .hero-treadmill,
body.rlfx-autumn-mode .tux-greeter,
body.rlfx-autumn-mode .hero-treadmill,
body.rlfx-christmas-mode .tux-greeter,
body.rlfx-christmas-mode .hero-treadmill,
body.rlfx-stpatricks-mode .tux-greeter,
body.rlfx-stpatricks-mode .hero-treadmill,
body.rlfx-camping-mode .tux-greeter,
body.rlfx-camping-mode .hero-treadmill,
body.rlfx-skydiving-mode .tux-greeter,
body.rlfx-skydiving-mode .hero-treadmill,
body.rlfx-aquarium-mode .tux-greeter,
body.rlfx-aquarium-mode .hero-treadmill,
body.rlfx-hellokitty-mode .tux-greeter,
body.rlfx-hellokitty-mode .hero-treadmill,
body.rlfx-ghostbusters-mode .tux-greeter,
body.rlfx-ghostbusters-mode .hero-treadmill {
  display: none !important;
}

/* Pin the existing shared title/navigation shell without changing its
   established width, margins, or visual styling. Sticky keeps it in normal
   document flow but prevents it from scrolling out of view. */
body.rlfx-halloween-mode .site-nav-shell,
body.rlfx-halloween-mode .rl-site-nav-shell,
body.rlfx-autumn-mode .site-nav-shell,
body.rlfx-autumn-mode .rl-site-nav-shell,
body.rlfx-christmas-mode .site-nav-shell,
body.rlfx-christmas-mode .rl-site-nav-shell,
body.rlfx-stpatricks-mode .site-nav-shell,
body.rlfx-stpatricks-mode .rl-site-nav-shell,
body.rlfx-camping-mode .site-nav-shell,
body.rlfx-camping-mode .rl-site-nav-shell,
body.rlfx-skydiving-mode .site-nav-shell,
body.rlfx-skydiving-mode .rl-site-nav-shell,
body.rlfx-aquarium-mode .site-nav-shell,
body.rlfx-aquarium-mode .rl-site-nav-shell,
body.rlfx-hellokitty-mode .site-nav-shell,
body.rlfx-hellokitty-mode .rl-site-nav-shell,
body.rlfx-ghostbusters-mode .site-nav-shell,
body.rlfx-ghostbusters-mode .rl-site-nav-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
}

/* ================================================================
   RECOVERY PATCH — 2026-10-09
   Preserve today's known-good theme work while restoring:
   - full-frame Autumn / Christmas / St. Patrick's artwork
   - Sky Diving v1.3 behavior and framing
   Existing sticky-nav and treadmill-hiding rules above remain intact.
   ================================================================ */

/* Fill the seasonal scene on every viewport aspect ratio. */
.rlfx-christmas-backdrop,
.rlfx-stpatricks-backdrop {
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
}

/* Sky Diving: safety artwork underneath the banked foreground image so
   extreme +/-33 degree orientation never exposes the normal site behind it. */
.rlfx-skydiving-scene::before {
  content: "";
  position: absolute;
  inset: -3%;
  background: #07111b url('/effects/assets/skydiving/skydiving-background.webp') center center / cover no-repeat;
  transform: scale(1.04);
  pointer-events: none;
}

/* Pull the primary scene back to show the airplane and surrounding jumpers.
   It can rotate dramatically while the safety layer fills exposed corners. */
.rlfx-skydiving-backdrop {
  inset: -2% !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: rotate(var(--rlfx-sky-angle, 0deg)) scale(var(--rlfx-sky-scale, 1.085)) !important;
  transform-origin: 50% 50%;
}

/* Wind control sits closer to the left edge of the shared title bar. */
.rlfx-skydiving-panel {
  left: 24px !important;
  top: var(--rlfx-sky-controls-top, 84px) !important;
}

/* Wind now rises from the bottom of the viewport, matching free-fall motion. */
.rlfx-skydiving-streak {
  top: auto !important;
  bottom: -260px !important;
  left: var(--x) !important;
  width: 2px !important;
  height: var(--len) !important;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.94), rgba(255,255,255,.48), transparent) !important;
  animation-name: rlfx-sky-wind-up !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-delay: var(--delay) !important;
}

@keyframes rlfx-sky-wind-up {
  from { transform: translate3d(0, 0, 0) rotate(-2deg); }
  to   { transform: translate3d(var(--drift), calc(-100vh - 620px), 0) rotate(-2deg); }
}

@media (max-width: 760px) {
  .rlfx-skydiving-panel {
    left: 8px !important;
    top: var(--rlfx-sky-controls-top, 84px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rlfx-skydiving-backdrop {
    transform: scale(1.085) !important;
  }
}


/* ================================================================
   WESTERN THEME v1.3
   Isolated addition: uses the existing clean Western artwork only.
   No existing theme selectors are modified by this block.
   ================================================================ */

body.rlfx-western-mode .tux-greeter,
body.rlfx-western-mode .hero-treadmill {
  display: none !important;
}

body.rlfx-western-mode .site-nav-shell,
body.rlfx-western-mode .rl-site-nav-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(25,14,8,.88) !important;
  border-color: rgba(214,145,68,.30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

body.rlfx-western-mode main,
body.rlfx-western-mode .container,
body.rlfx-western-mode footer {
  position: relative;
  z-index: 2147482805;
}

body.rlfx-western-mode .container {
  padding-top: 118px !important;
}

body.rlfx-western-mode .card,
body.rlfx-western-mode .feature-card,
body.rlfx-western-mode .section-card,
body.rlfx-western-mode .about-panel,
body.rlfx-western-mode .projects-card {
  background: linear-gradient(180deg, rgba(30,17,10,.82), rgba(17,10,7,.88)) !important;
  border-color: rgba(218,154,77,.30) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,226,174,.035) !important;
  backdrop-filter: blur(3px) saturate(1.03);
  -webkit-backdrop-filter: blur(3px) saturate(1.03);
}

.rlfx-western-scene {
  position: fixed;
  inset: 0;
  z-index: 2147482700;
  overflow: hidden;
  pointer-events: none;
  background: #2a1309;
}

.rlfx-western-backdrop {
  position: absolute;
  inset: 0;
  background-image: url('/effects/assets/western/western-background.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: none !important;
  transform: none !important;
}

.rlfx-western-vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 46%, transparent 52%, rgba(25,8,2,.08) 82%, rgba(10,3,1,.18) 100%);
}

.rlfx-western-controls {
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 2147483100;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 9px 10px;
  color: #fff1d5;
  background: rgba(29,16,9,.90);
  border: 1px solid rgba(219,151,70,.46);
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.rlfx-western-controls span { display: grid; gap: 3px; }
.rlfx-western-controls b { color: #efb35d; letter-spacing: .05em; }
.rlfx-western-controls small { color: #d9c3a1; font-weight: 600; }
.rlfx-western-end {
  padding: 7px 9px;
  color: #fff8ea;
  background: rgba(65,35,16,.90);
  border: 1px solid rgba(225,159,80,.55);
  border-radius: 6px;
  font: inherit;
  cursor: pointer !important;
}
.rlfx-western-end:hover { border-color: #f0b65f; background: rgba(84,45,18,.94); }

@media (max-width: 760px) {
  body.rlfx-western-mode .container { padding-top: 102px !important; }
  .rlfx-western-backdrop { background-position: 42% center; }
}


/* One-off effects run above the current theme and its page shell. Keep the
   launcher and the Shootout exit hint above these layers. */
body > .rlfx-effect-layer {
  z-index: var(--rlfx-effect-z, 2147483550) !important;
}

body > .matrix-canvas,
body > .gravity-layer,
body > .shootout-layer {
  z-index: 2147483550 !important;
}


/* Shootout recoil adds a small offset without replacing the theme's transform
   that positions the page panels. Applies to clicks and the opening burst. */
body.shootout-mode.screen-kick .container {
  animation: rlfx-shootout-recoil 110ms linear;
}

@keyframes rlfx-shootout-recoil {
  0%   { translate: 0px 0px; }
  25%  { translate: -2px 1px; }
  50%  { translate: 2px -1px; }
  75%  { translate: -1px 1px; }
  100% { translate: 0px 0px; }
}


/* Match Shootout's global exit hint for every shared one-off effect. */
button.rlfx-effect-exit-hint {
  all: unset;
  box-sizing: border-box;
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 2147483647;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(154,164,175,.38);
  border-radius: 7px;
  background: rgba(8,12,17,.92);
  color: #c3cdd7;
  font: 700 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .04em;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
}
button.rlfx-effect-exit-hint:hover { color: #fff; border-color: #c3cdd7; }
button.rlfx-effect-exit-hint:focus-visible { outline: 2px solid #58a6ff; outline-offset: 3px; }


/* Keep Storm's exit hint clear of its bottom-right control panel. */
button.rlfx-effect-exit-hint[data-effect="storm"] {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
}

/* Camping leaves room for the page panels on the right. */
body.rlfx-camping-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  bottom: max(18px, env(safe-area-inset-bottom));
  align-items: flex-start;
}
body.rlfx-camping-mode .rlfx-panel {
  transform-origin: bottom left;
}


/* Brick building theme: unbranded artwork and a sparse decorative brick fall. */
body.rlfx-brick-mode .tux-greeter,
body.rlfx-brick-mode .hero-treadmill { display: none !important; }

body.rlfx-brick-mode .site-nav-shell,
body.rlfx-brick-mode .rl-site-nav-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(10, 17, 26, .90) !important;
  border-color: rgba(127, 161, 196, .28) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

body.rlfx-brick-mode main,
body.rlfx-brick-mode .container,
body.rlfx-brick-mode .projects-shell,
body.rlfx-brick-mode .labs-shell,
body.rlfx-brick-mode footer {
  position: relative;
  z-index: 2147482805;
}

body.rlfx-brick-mode .card,
body.rlfx-brick-mode .feature-card,
body.rlfx-brick-mode .section-card,
body.rlfx-brick-mode .about-panel,
body.rlfx-brick-mode .projects-card {
  background: linear-gradient(180deg, rgba(16, 24, 34, .82), rgba(9, 15, 23, .87)) !important;
  border-color: rgba(133, 165, 197, .30) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.rlfx-brick-scene {
  position: fixed;
  inset: 0;
  z-index: 2147482400;
  pointer-events: none;
  background: #09111b;
}
.rlfx-brick-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/brick/brick-background.webp') left center / cover no-repeat;
}
.rlfx-brick-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 10, 17, .03), rgba(5, 10, 17, .10) 40%, rgba(5, 10, 17, .46) 100%);
}
.rlfx-brick-bricks {
  position: fixed;
  inset: 0;
  z-index: 2147482860;
  overflow: hidden;
  pointer-events: none;
}
.rlfx-brick-brick {
  position: absolute;
  top: -32px;
  left: var(--brick-x);
  width: var(--brick-size);
  height: calc(var(--brick-size) * .52);
  border-radius: 2px;
  background: var(--brick-color);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .24), 0 2px 4px rgba(0, 0, 0, .22);
  opacity: .42;
  animation: rlfx-brick-brick-fall var(--brick-duration) linear var(--brick-delay) infinite;
}
.rlfx-brick-brick::before,
.rlfx-brick-brick::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 26%;
  height: 4px;
  border-radius: 2px 2px 0 0;
  background: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .20);
}
.rlfx-brick-brick::before { left: 10%; }
.rlfx-brick-brick::after { right: 10%; }
@keyframes rlfx-brick-brick-fall {
  from { transform: translate3d(0, -20px, 0) rotate(var(--brick-angle)); }
  to { transform: translate3d(var(--brick-drift), calc(100vh + 64px), 0) rotate(calc(var(--brick-angle) + 90deg)); }
}

@media (min-width: 1400px) {
  body.rlfx-brick-mode .container,
  body.rlfx-brick-mode .projects-shell,
  body.rlfx-brick-mode .labs-shell {
    width: min(1120px, calc(100% - clamp(400px, 48vw, 960px) - 56px));
    margin-left: auto;
    margin-right: 28px;
  }
}
@media (max-width: 1399px) {
  .rlfx-brick-vignette { background: rgba(5, 10, 17, .40); }
}
@media (max-width: 760px) {
  .rlfx-brick-brick:nth-child(n+3) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-brick-bricks { display: none; }
}


/* Keep Brick's Effects launcher clear of the page panels on the right. */
body.rlfx-brick-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  bottom: max(18px, env(safe-area-inset-bottom));
  align-items: flex-start;
}
body.rlfx-brick-mode .rlfx-panel {
  transform-origin: bottom left;
}


/* Space Station: Tux on the right, page panels on the left. */
body.rlfx-spacestation-mode .tux-greeter,
body.rlfx-spacestation-mode .hero-treadmill { display: none !important; }

body.rlfx-spacestation-mode .site-nav-shell,
body.rlfx-spacestation-mode .rl-site-nav-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(8, 15, 24, .90) !important;
  border-color: rgba(115, 153, 193, .28) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

body.rlfx-spacestation-mode main,
body.rlfx-spacestation-mode .container,
body.rlfx-spacestation-mode .projects-shell,
body.rlfx-spacestation-mode .labs-shell,
body.rlfx-spacestation-mode footer {
  position: relative;
  z-index: 2147482805;
}

body.rlfx-spacestation-mode .card,
body.rlfx-spacestation-mode .feature-card,
body.rlfx-spacestation-mode .section-card,
body.rlfx-spacestation-mode .about-panel,
body.rlfx-spacestation-mode .projects-card {
  background: linear-gradient(180deg, rgba(13, 23, 35, .82), rgba(7, 13, 23, .87)) !important;
  border-color: rgba(120, 155, 194, .30) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.rlfx-spacestation-scene {
  position: fixed;
  inset: 0;
  z-index: 2147482400;
  pointer-events: none;
  background: #08121d;
}
.rlfx-spacestation-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/space-station/space-station-background.webp') right center / contain no-repeat;
}
.rlfx-spacestation-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 9, 17, .50), rgba(4, 9, 17, .16) 55%, rgba(4, 9, 17, .03) 100%);
}

@media (min-width: 1200px) {
  body.rlfx-spacestation-mode .container,
  body.rlfx-spacestation-mode .projects-shell,
  body.rlfx-spacestation-mode .labs-shell {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
  }
}
@media (max-width: 1199px) {
  .rlfx-spacestation-vignette { background: rgba(4, 9, 17, .40); }
}

/* Space Station keeps its floating dialogs beside Tux, clear of page cards. */
body.rlfx-spacestation-mode .rlfx-launcher {
  left: auto;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  align-items: flex-end;
}
body.rlfx-spacestation-mode .rlfx-panel {
  transform-origin: bottom right;
}

/* Ranger Tower: lookout on the right, page content on the left. */
body.rlfx-rangertower-mode .tux-greeter,
body.rlfx-rangertower-mode .hero-treadmill { display: none !important; }

body.rlfx-rangertower-mode .site-nav-shell,
body.rlfx-rangertower-mode .rl-site-nav-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(9, 20, 22, .90) !important;
  border-color: rgba(163, 187, 153, .28) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-rangertower-mode main,
body.rlfx-rangertower-mode .container,
body.rlfx-rangertower-mode .projects-shell,
body.rlfx-rangertower-mode .labs-shell,
body.rlfx-rangertower-mode footer {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-rangertower-mode .card,
body.rlfx-rangertower-mode .feature-card,
body.rlfx-rangertower-mode .section-card,
body.rlfx-rangertower-mode .about-panel,
body.rlfx-rangertower-mode .projects-card {
  background: linear-gradient(180deg, rgba(12, 26, 29, .82), rgba(6, 15, 19, .88)) !important;
  border-color: rgba(155, 183, 149, .30) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.rlfx-rangertower-scene {
  position: fixed;
  inset: 0;
  z-index: 2147482400;
  pointer-events: none;
  background: #101a20;
}
.rlfx-rangertower-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/ranger-tower/ranger-tower-background.webp') right center / cover no-repeat;
}
.rlfx-rangertower-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 13, 18, .58), rgba(4, 13, 18, .14) 58%, rgba(4, 13, 18, .02));
}
@media (min-width: 641px) {
  body.rlfx-rangertower-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
  }
}
@media (min-width: 1200px) {
  body.rlfx-rangertower-mode .container,
  body.rlfx-rangertower-mode .projects-shell,
  body.rlfx-rangertower-mode .labs-shell {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
  }
}
@media (max-width: 1199px) {
  .rlfx-rangertower-vignette { background: rgba(4, 13, 18, .40); }
}
@media (min-width: 641px) {
  body.rlfx-spacestation-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Fit shifted content to the available viewport instead of translating an
   already offset container beyond its right edge. Preserve vertical offsets. */
@media (min-width: 980px) {
  body:is(.rlfx-camping-mode, .rlfx-skydiving-mode, .rlfx-hellokitty-mode,
          .rlfx-ghostbusters-mode, .rlfx-aquarium-mode) {
    --rlfx-content-gutter: clamp(280px, 40vw, 800px);
    --rlfx-content-drop: 0px;
  }
  body.rlfx-skydiving-mode {
    --rlfx-content-gutter: clamp(200px, 28vw, 480px);
  }
  body.rlfx-ghostbusters-mode { --rlfx-content-drop: 72px; }
  body.rlfx-aquarium-mode { --rlfx-content-drop: 58px; }
  body:is(.rlfx-camping-mode, .rlfx-skydiving-mode, .rlfx-hellokitty-mode,
          .rlfx-ghostbusters-mode, .rlfx-aquarium-mode)
      :is(.container, .projects-shell, .labs-shell) {
    box-sizing: border-box;
    width: min(1120px, calc(100% - var(--rlfx-content-gutter) - 24px));
    min-width: 0;
    margin-left: auto;
    margin-right: 0;
    transform: translateY(var(--rlfx-content-drop));
  }
}

/* Theme content can be narrower than the viewport: wrap by container width. */
body:is(.rlfx-camping-mode, .rlfx-skydiving-mode, .rlfx-hellokitty-mode,
        .rlfx-ghostbusters-mode, .rlfx-aquarium-mode, .rlfx-christmas-mode,
        .rlfx-brick-mode, .rlfx-spacestation-mode, .rlfx-rangertower-mode)
    :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body:is(.rlfx-camping-mode, .rlfx-skydiving-mode, .rlfx-hellokitty-mode,
        .rlfx-ghostbusters-mode, .rlfx-aquarium-mode, .rlfx-christmas-mode,
        .rlfx-brick-mode, .rlfx-spacestation-mode, .rlfx-rangertower-mode)
    :is(.card, .feature-card, .projects-card, .hero-copy) {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Santa gets the free left gutter on wide screens. Smaller screens use a
   normal-flow tracker above the page content, rather than covering it. */
@media (min-width: 1400px) {
  body.rlfx-christmas-mode :is(.container, .projects-shell, .labs-shell) {
    box-sizing: border-box;
    width: min(960px, calc(100% - clamp(400px, 36vw, 690px) - 24px));
    min-width: 0;
    margin-left: clamp(400px, 36vw, 690px);
    margin-right: auto;
  }
  .rlfx-christmas-radar {
    left: max(18px, env(safe-area-inset-left));
    right: auto;
  }
}
@media (max-width: 1399px) {
  .rlfx-christmas-radar {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: min(330px, 100%);
    max-height: none;
    margin: 0 0 24px auto;
  }
  body.rlfx-christmas-mode .container { padding-top: 32px !important; }
}

/* A hidden treadmill must not leave an empty column beside the brand. */
body:is(.rlfx-halloween-mode, .rlfx-autumn-mode, .rlfx-christmas-mode,
        .rlfx-stpatricks-mode, .rlfx-camping-mode, .rlfx-skydiving-mode,
        .rlfx-aquarium-mode, .rlfx-hellokitty-mode, .rlfx-ghostbusters-mode,
        .rlfx-western-mode, .rlfx-brick-mode, .rlfx-spacestation-mode,
        .rlfx-rangertower-mode) .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body:is(.rlfx-halloween-mode, .rlfx-autumn-mode, .rlfx-christmas-mode,
        .rlfx-stpatricks-mode, .rlfx-camping-mode, .rlfx-skydiving-mode,
        .rlfx-aquarium-mode, .rlfx-hellokitty-mode, .rlfx-ghostbusters-mode,
        .rlfx-western-mode, .rlfx-brick-mode, .rlfx-spacestation-mode,
        .rlfx-rangertower-mode) .hero-copy {
  container-type: inline-size;
}
body:is(.rlfx-halloween-mode, .rlfx-autumn-mode, .rlfx-christmas-mode,
        .rlfx-stpatricks-mode, .rlfx-camping-mode, .rlfx-skydiving-mode,
        .rlfx-aquarium-mode, .rlfx-hellokitty-mode, .rlfx-ghostbusters-mode,
        .rlfx-western-mode, .rlfx-brick-mode, .rlfx-spacestation-mode,
        .rlfx-rangertower-mode) .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body:is(.rlfx-halloween-mode, .rlfx-autumn-mode, .rlfx-christmas-mode,
          .rlfx-stpatricks-mode, .rlfx-camping-mode, .rlfx-skydiving-mode,
          .rlfx-aquarium-mode, .rlfx-hellokitty-mode, .rlfx-ghostbusters-mode,
          .rlfx-western-mode, .rlfx-brick-mode, .rlfx-spacestation-mode,
          .rlfx-rangertower-mode) .hero-intro h1 {
    font-size: min(5.5rem, 12cqw);
  }
}
body.rlfx-christmas-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-christmas-mode .rlfx-panel { transform-origin: bottom left; }

/* Carnival: Tux and rides to the left; readable content to the right. */
body.rlfx-carnival-mode { background: #0c101e !important; }
body.rlfx-carnival-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-carnival-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(9, 12, 24, .90) !important;
  border-color: rgba(239, 160, 255, .22) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-carnival-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-carnival-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .8);
}
body.rlfx-carnival-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(16, 16, 35, .84), rgba(9, 12, 24, .90)) !important;
  border-color: rgba(239, 160, 255, .26) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-carnival-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-carnival-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-carnival-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-carnival-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-carnival-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-carnival-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #0c101e;
}
.rlfx-carnival-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/carnival/carnival-background.webp') center / 100% 100% no-repeat;
}
.rlfx-carnival-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 8, 20, .02) 0%, rgba(5, 8, 20, .14) 35%, rgba(5, 8, 20, .58) 100%);
}
.rlfx-carnival-lights { position: absolute; inset: 0; }
.rlfx-carnival-lights i {
  position: absolute;
  left: var(--bulb-x);
  top: var(--bulb-y);
  width: clamp(4px, .48vw, 10px);
  height: clamp(4px, .48vw, 10px);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  color: var(--bulb-color);
  background: currentColor;
  box-shadow: 0 0 6px currentColor, 0 0 14px currentColor;
  filter: blur(1px);
  animation: rlfx-carnival-bulb 3.2s ease-in-out var(--bulb-delay) infinite;
}
@keyframes rlfx-carnival-bulb {
  0%, 100% { opacity: .08; }
  35%, 65% { opacity: .85; }
}
body.rlfx-carnival-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-carnival-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-carnival-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(440px, 44vw, 900px) - 24px));
    margin-left: clamp(440px, 44vw, 900px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-carnival-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-carnival-vignette { background: rgba(5, 8, 20, .42); }
}
@media (max-width: 760px) {
  .rlfx-carnival-lights i:nth-child(even) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-carnival-lights i { animation: none; opacity: .8; }
}

.rlfx-carnival-balloons {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50vw;
  overflow: hidden;
  pointer-events: none;
  z-index: 2147482900;
}
.rlfx-carnival-balloon {
  position: absolute;
  left: var(--balloon-x);
  bottom: -180px;
  width: var(--balloon-size);
  height: 150px;
  color: var(--balloon-color);
  opacity: 0;
  animation: rlfx-carnival-balloon-rise var(--balloon-duration) linear var(--balloon-delay) infinite;
}
.rlfx-carnival-balloon-body {
  position: absolute;
  inset: 0 0 auto;
  height: calc(var(--balloon-size) * 1.28);
  border-radius: 50% 50% 48% 48%;
  background: radial-gradient(ellipse at 29% 24%, rgba(255,255,255,.72), transparent 23%),
    linear-gradient(115deg, transparent 40%, rgba(0,0,0,.25)), currentColor;
  box-shadow: inset -3px -5px 8px rgba(0,0,0,.16), 0 2px 5px rgba(0,0,0,.2);
}
.rlfx-carnival-balloon-body::after {
  content: '';
  position: absolute;
  top: 98%;
  left: calc(50% - 3px);
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 6px solid currentColor;
}
.rlfx-carnival-balloon-string {
  position: absolute;
  top: calc(var(--balloon-size) * 1.28 + 5px);
  left: 50%;
  height: 78px;
  width: 9px;
  border-left: 1px solid rgba(230,237,243,.68);
  border-radius: 50%;
  transform: rotate(5deg);
}
@keyframes rlfx-carnival-balloon-rise {
  0% { transform: translate(0, 0) rotate(-4deg); opacity: 0; }
  8% { opacity: .76; }
  45% { transform: translate(var(--balloon-drift), calc(-50vh - 110px)) rotate(5deg); }
  90% { opacity: .76; }
  100% { transform: translate(0, calc(-100vh - 220px)) rotate(-3deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-carnival-balloons { display: none; }
}

/* Car Wash: the Jeep and Tux are part of the left-side background artwork. */
body.rlfx-carwash-mode { background: #122024 !important; }
body.rlfx-carwash-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-carwash-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 15, 19, .92) !important;
  border-color: rgba(139, 216, 79, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-carwash-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-carwash-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-carwash-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(8, 23, 29, .86), rgba(7, 14, 19, .92)) !important;
  border-color: rgba(139, 216, 79, .28) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-carwash-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-carwash-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-carwash-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-carwash-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-carwash-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-carwash-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #122024;
}
.rlfx-carwash-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/car-wash/car-wash-background.webp') left center / cover no-repeat;
}
.rlfx-carwash-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 17, .02) 0%, rgba(5, 12, 17, .10) 35%, rgba(5, 12, 17, .64) 100%);
}
body.rlfx-carwash-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-carwash-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-carwash-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(440px, 44vw, 900px) - 24px));
    margin-left: clamp(440px, 44vw, 900px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-carwash-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-carwash-vignette { background: rgba(5, 12, 17, .46); }
}

/* Hot Air Balloon: Tux flies on the right; page content occupies the left. */
body.rlfx-hotairballoon-mode { background: #122024 !important; }
body.rlfx-hotairballoon-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-hotairballoon-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 15, 19, .92) !important;
  border-color: rgba(255, 187, 98, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-hotairballoon-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-hotairballoon-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(17, 22, 34, .84), rgba(8, 14, 24, .91)) !important;
  border-color: rgba(255, 187, 98, .28) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-hotairballoon-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-hotairballoon-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-hotairballoon-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-hotairballoon-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-hotairballoon-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-hotairballoon-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #122024;
}
.rlfx-hotairballoon-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/hot-air-balloon/hot-air-balloon-background.webp') center / 100% 100% no-repeat;
}
.rlfx-hotairballoon-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .54) 0%, rgba(5, 12, 24, .26) 48%, rgba(5, 12, 24, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-hotairballoon-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-hotairballoon-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-hotairballoon-vignette { background: rgba(5, 12, 17, .46); }
}

.rlfx-hotairballoon-burner-glow {
  position: absolute;
  left: 78.1%;
  top: 26.3%;
  width: 10%;
  height: 18%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 240, 163, .65) 0%, rgba(255, 167, 43, .46) 28%, rgba(255, 108, 18, .19) 48%, transparent 72%);
  mix-blend-mode: screen;
  animation: rlfx-hotairballoon-burner 2.6s steps(1, end) infinite;
}
@keyframes rlfx-hotairballoon-burner {
  0%, 18%, 37%, 61%, 83%, 100% { opacity: .48; }
  8%, 43%, 76% { opacity: .82; }
  24%, 55%, 91% { opacity: .64; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-hotairballoon-burner-glow { animation: none; opacity: .55; }
}
@media (min-width: 641px) {
  body.rlfx-hotairballoon-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Scalable navigation for both command categories. */
.rlfx-pagination {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  border-top: 1px solid #29333d;
  background: #0b1015;
}
.rlfx-pagination[hidden] { display: none !important; }
.rlfx-pagination :is(button, select) {
  box-sizing: border-box;
  min-width: 0;
  min-height: 36px;
  padding: 7px 8px;
  border: 1px solid #34414d;
  border-radius: 5px;
  color: #dce4eb;
  background: #151c23;
  font: 700 .64rem/1.25 "SFMono-Regular", Consolas, monospace;
  cursor: pointer;
}
.rlfx-pagination select { flex: 1 1 auto; max-width: 140px; }
.rlfx-pagination button { flex: 0 0 auto; }
.rlfx-pagination button:disabled { opacity: .4; cursor: default; }
.rlfx-pagination :is(button, select):focus-visible { outline: 2px solid #58a6ff; outline-offset: 2px; }
.rlfx-page-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Rock Crawl: the white Jeep climbs on the left with Tux spotting beside it. */
body.rlfx-rockcrawl-mode { background: #18150f !important; }
body.rlfx-rockcrawl-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-rockcrawl-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(17, 15, 11, .92) !important;
  border-color: rgba(226, 182, 115, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-rockcrawl-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-rockcrawl-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(27, 24, 19, .86), rgba(15, 14, 11, .92)) !important;
  border-color: rgba(226, 182, 115, .28) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-rockcrawl-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-rockcrawl-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-rockcrawl-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-rockcrawl-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-rockcrawl-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-rockcrawl-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #18150f;
}
.rlfx-rockcrawl-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/rock-crawl/rock-crawl-background.webp') left center / cover no-repeat;
}
.rlfx-rockcrawl-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(11, 10, 8, .02) 0%, rgba(11, 10, 8, .10) 35%, rgba(11, 10, 8, .64) 100%);
}
body.rlfx-rockcrawl-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-rockcrawl-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-rockcrawl-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-rockcrawl-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-rockcrawl-vignette { background: rgba(11, 10, 8, .46); }
}


/* Speedway: Corvette leads on the left; Tux waves the checkered flag. */
body.rlfx-speedway-mode { background: #18150f !important; }
body.rlfx-speedway-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-speedway-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(17, 15, 11, .92) !important;
  border-color: rgba(226, 182, 115, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-speedway-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-speedway-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-speedway-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(27, 24, 19, .86), rgba(15, 14, 11, .92)) !important;
  border-color: rgba(226, 182, 115, .28) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-speedway-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-speedway-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-speedway-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-speedway-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-speedway-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-speedway-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #18150f;
}
.rlfx-speedway-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/speedway/speedway-background.webp') left center / cover no-repeat;
}
.rlfx-speedway-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(11, 10, 8, .02) 0%, rgba(11, 10, 8, .10) 35%, rgba(11, 10, 8, .64) 100%);
}
body.rlfx-speedway-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-speedway-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-speedway-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-speedway-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-speedway-vignette { background: rgba(11, 10, 8, .46); }
}


/* Vader’s Backyard: puppy and Tux play on the left; garden panels on the right. */
body.rlfx-vadersbackyard-mode { background: #122016 !important; }
body.rlfx-vadersbackyard-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-vadersbackyard-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(12, 26, 17, .92) !important;
  border-color: rgba(181, 216, 130, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-vadersbackyard-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-vadersbackyard-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 54px !important;
  background:
    url('/effects/assets/vaders-backyard/tennis-ball.svg') right 14px top 14px / 24px 24px no-repeat,
    url('/effects/assets/vaders-backyard/dog-bone.svg') right 8px bottom 14px / 38px 20px no-repeat,
    linear-gradient(180deg, rgba(22, 42, 28, .88), rgba(10, 24, 15, .94)) !important;
  border-color: rgba(181, 216, 130, .34) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-vadersbackyard-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-vadersbackyard-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-vadersbackyard-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-vadersbackyard-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-vadersbackyard-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-vadersbackyard-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #122016;
}
.rlfx-vadersbackyard-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/vaders-backyard/vaders-backyard-background.webp') left center / cover no-repeat;
}
.rlfx-vadersbackyard-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 19, 11, .02) 0%, rgba(8, 19, 11, .10) 35%, rgba(8, 19, 11, .64) 100%);
}
body.rlfx-vadersbackyard-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-vadersbackyard-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-vadersbackyard-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-vadersbackyard-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-vadersbackyard-vignette { background: rgba(8, 19, 11, .46); }
}


/* Coco’s Cozy Cabin: image-anchored fire and lamp glows. */
body.rlfx-cocoscozycabin-mode { background: #20140e !important; }
body.rlfx-cocoscozycabin-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-cocoscozycabin-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(25, 15, 10, .92) !important;
  border-color: rgba(255, 187, 98, .26) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-cocoscozycabin-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-cocoscozycabin-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(40, 25, 17, .88), rgba(23, 14, 10, .94)) !important;
  border-color: rgba(255, 187, 98, .28) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-cocoscozycabin-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-cocoscozycabin-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-cocoscozycabin-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-cocoscozycabin-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-cocoscozycabin-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-cocoscozycabin-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #20140e;
}
.rlfx-cocoscozycabin-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/cocos-cozy-cabin/cocos-cozy-cabin-background.webp') center / 100% 100% no-repeat;
}
.rlfx-cocoscozycabin-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 10, 5, .54) 0%, rgba(18, 10, 5, .26) 48%, rgba(18, 10, 5, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-cocoscozycabin-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, calc(100% - clamp(600px, 58vw, 1120px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-cocoscozycabin-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-cocoscozycabin-vignette { background: rgba(18, 10, 5, .46); }
}


.rlfx-cocoscozycabin-glow {
  position: absolute;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
}
.rlfx-cocoscozycabin-fire-glow {
  left: 48.5%; top: 43.5%; width: 24%; height: 40%;
  background: radial-gradient(ellipse, rgba(255, 204, 104, .36), rgba(255, 124, 24, .20) 36%, transparent 72%);
  animation: rlfx-cocoscozycabin-firelight 3.7s linear infinite;
}
.rlfx-cocoscozycabin-lamp-glow {
  background: radial-gradient(ellipse, rgba(255, 223, 158, .30), rgba(255, 171, 70, .12) 35%, transparent 72%);
  animation: rlfx-cocoscozycabin-lamplight 6.8s ease-in-out infinite;
}
.rlfx-cocoscozycabin-lamp-left { left: 8.4%; top: 32.3%; width: 10%; height: 20%; animation-delay: -1.3s; }
.rlfx-cocoscozycabin-lamp-mantel { left: 62.4%; top: 5.1%; width: 11%; height: 20%; animation-delay: -3.9s; }
.rlfx-cocoscozycabin-lamp-right { left: 98.2%; top: 26.1%; width: 16%; height: 28%; animation-duration: 8.2s; }
@keyframes rlfx-cocoscozycabin-firelight {
  0%, 100% { opacity: .45; }
  9%, 32%, 58%, 84% { opacity: .76; }
  18%, 45%, 69%, 93% { opacity: .52; }
  25%, 53%, 77% { opacity: .90; }
}
@keyframes rlfx-cocoscozycabin-lamplight {
  0%, 100% { opacity: .42; }
  50% { opacity: .66; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-cocoscozycabin-glow { animation: none; opacity: .52; }
}
@media (min-width: 641px) {
  body.rlfx-cocoscozycabin-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Server Room: Tux cabling on the left; circuit-board panels on the right. */
body.rlfx-serverroom-mode { background: #071216 !important; }
body.rlfx-serverroom-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-serverroom-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(5, 18, 21, .94) !important;
  border-color: rgba(85, 210, 198, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-serverroom-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-serverroom-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-serverroom-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 56px !important;
  background:
    url('/effects/assets/server-room/circuit-edge.svg') right 6px top 8px / 40px 160px no-repeat,
    url('/effects/assets/server-room/circuit-traces.svg') left top / 180px 180px repeat,
    linear-gradient(160deg, rgba(12, 42, 33, .94), rgba(4, 24, 22, .96)) !important;
  border-color: rgba(192, 168, 94, .48) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-serverroom-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-serverroom-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-serverroom-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-serverroom-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-serverroom-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-serverroom-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #071216;
}
.rlfx-serverroom-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/server-room/server-room-background.webp') left center / cover no-repeat;
}
.rlfx-serverroom-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 12, 17, .02) 0%, rgba(4, 12, 17, .10) 35%, rgba(4, 12, 17, .64) 100%);
}
body.rlfx-serverroom-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-serverroom-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-serverroom-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-serverroom-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-serverroom-vignette { background: rgba(4, 12, 17, .46); }
}



/* Uranus Explorer: astronaut Tux and planet right; spacecraft-console panels left. */
body.rlfx-uranusexplorer-mode { background: #070f1d !important; }
body.rlfx-uranusexplorer-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-uranusexplorer-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 17, 32, .94) !important;
  border-color: rgba(122, 218, 243, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-uranusexplorer-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-uranusexplorer-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 48px !important;
  background:
    url('/effects/assets/uranus-explorer/console-detail.svg') right 10px top 14px / 22px 80px no-repeat,
    linear-gradient(180deg, rgba(16, 31, 48, .90), rgba(6, 17, 30, .96)) !important;
  border-color: rgba(122, 218, 243, .46) !important;
  box-shadow: inset 0 2px 0 rgba(194, 232, 246, .14), inset 0 -2px 0 rgba(0, 0, 0, .50), 0 14px 34px rgba(0, 0, 0, .40) !important;
  border-radius: 12px;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-uranusexplorer-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-uranusexplorer-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-uranusexplorer-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-uranusexplorer-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-uranusexplorer-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-uranusexplorer-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #070f1d;
}
.rlfx-uranusexplorer-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 940));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 940 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/uranus-explorer/uranus-explorer-background.webp') center / 100% 100% no-repeat;
}
.rlfx-uranusexplorer-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .54) 0%, rgba(5, 12, 24, .26) 48%, rgba(5, 12, 24, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-uranusexplorer-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-uranusexplorer-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-uranusexplorer-vignette { background: rgba(5, 12, 17, .46); }
}

@media (min-width: 641px) {
  body.rlfx-uranusexplorer-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Game Night: couch and huge fighting-game screen left; neon panels right. */
body.rlfx-gamenight-mode { background: #0d0d20 !important; }
body.rlfx-gamenight-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-gamenight-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(10, 12, 28, .94) !important;
  border-color: rgba(122, 173, 255, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-gamenight-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-gamenight-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-gamenight-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(23, 21, 44, .90), rgba(10, 12, 29, .95)) !important;
  border-color: rgba(173, 124, 244, .44) !important;
  box-shadow: inset 3px 0 0 rgba(53, 195, 242, .55), inset -3px 0 0 rgba(173, 99, 238, .48), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-gamenight-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-gamenight-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-gamenight-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-gamenight-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-gamenight-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-gamenight-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #0d0d20;
}
.rlfx-gamenight-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/game-night/game-night-background.webp') left center / cover no-repeat;
}
.rlfx-gamenight-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 7, 20, .02) 0%, rgba(6, 7, 20, .10) 35%, rgba(6, 7, 20, .64) 100%);
}
body.rlfx-gamenight-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-gamenight-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-gamenight-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-gamenight-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-gamenight-vignette { background: rgba(6, 7, 20, .46); }
}



/* Mountain Climb: Tux scales the right cliff; slate panels stay left. */
body.rlfx-mountainclimb-mode { background: #172431 !important; }
body.rlfx-mountainclimb-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-mountainclimb-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(15, 25, 36, .94) !important;
  border-color: rgba(195, 208, 220, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-mountainclimb-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-mountainclimb-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(32, 46, 59, .90), rgba(15, 27, 39, .95)) !important;
  border-color: rgba(211, 183, 132, .42) !important;
  box-shadow: inset 0 1px 0 rgba(227, 235, 242, .14), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-mountainclimb-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-mountainclimb-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-mountainclimb-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-mountainclimb-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-mountainclimb-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-mountainclimb-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #172431;
}
.rlfx-mountainclimb-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/mountain-climb/mountain-climb-background.webp') center / 100% 100% no-repeat;
}
.rlfx-mountainclimb-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .54) 0%, rgba(5, 12, 24, .26) 48%, rgba(5, 12, 24, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-mountainclimb-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-mountainclimb-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-mountainclimb-vignette { background: rgba(5, 12, 17, .46); }
}

@media (min-width: 641px) {
  body.rlfx-mountainclimb-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Gone Fishing: Tux fishes from the stern on the left; lake-blue panels right. */
body.rlfx-gonefishing-mode { background: #071c2b !important; }
body.rlfx-gonefishing-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-gonefishing-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 24, 37, .94) !important;
  border-color: rgba(133, 190, 219, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-gonefishing-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-gonefishing-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-gonefishing-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(17, 44, 62, .90), rgba(7, 26, 43, .95)) !important;
  border-color: rgba(146, 197, 217, .42) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-gonefishing-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-gonefishing-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-gonefishing-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-gonefishing-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-gonefishing-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-gonefishing-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #071c2b;
}
.rlfx-gonefishing-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/gone-fishing/gone-fishing-background.webp') left center / cover no-repeat;
}
.rlfx-gonefishing-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 15, 26, .02) 0%, rgba(4, 15, 26, .10) 35%, rgba(4, 15, 26, .64) 100%);
}
body.rlfx-gonefishing-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-gonefishing-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-gonefishing-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-gonefishing-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-gonefishing-vignette { background: rgba(4, 15, 26, .46); }
}



/* Claw Machine: plush Tux inside the prize pile right; arcade panels left. */
body.rlfx-clawmachine-mode { background: #161025 !important; }
body.rlfx-clawmachine-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-clawmachine-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(16, 10, 31, .94) !important;
  border-color: rgba(233, 136, 239, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-clawmachine-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-clawmachine-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-clawmachine-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(32, 19, 48, .90), rgba(13, 13, 31, .95)) !important;
  border-color: rgba(124, 211, 242, .44) !important;
  box-shadow: inset 0 2px 0 rgba(244, 115, 223, .35), inset 0 -2px 0 rgba(73, 210, 242, .35), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-clawmachine-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-clawmachine-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-clawmachine-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-clawmachine-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-clawmachine-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-clawmachine-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #161025;
}
.rlfx-clawmachine-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/claw-machine/claw-machine-background.webp') center / 100% 100% no-repeat;
}
.rlfx-clawmachine-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 6, 23, .54) 0%, rgba(12, 6, 23, .26) 48%, rgba(12, 6, 23, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-clawmachine-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-clawmachine-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-clawmachine-vignette { background: rgba(12, 6, 23, .46); }
}

@media (min-width: 641px) {
  body.rlfx-clawmachine-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Sewer Ninja: turtle-costumed Tux left; dark green lair panels right. */
body.rlfx-sewerninja-mode { background: #101c16 !important; }
body.rlfx-sewerninja-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-sewerninja-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(12, 23, 17, .94) !important;
  border-color: rgba(173, 192, 117, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-sewerninja-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-sewerninja-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-sewerninja-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(27, 43, 30, .90), rgba(11, 24, 17, .95)) !important;
  border-color: rgba(221, 144, 73, .42) !important;
  box-shadow: inset 0 2px 0 rgba(224, 142, 69, .22), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-sewerninja-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-sewerninja-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-sewerninja-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-sewerninja-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-sewerninja-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-sewerninja-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #101c16;
}
.rlfx-sewerninja-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/sewer-ninja/sewer-ninja-background.webp') left center / cover no-repeat;
}
.rlfx-sewerninja-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 15, 10, .02) 0%, rgba(6, 15, 10, .10) 35%, rgba(6, 15, 10, .64) 100%);
}
body.rlfx-sewerninja-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-sewerninja-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-sewerninja-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-sewerninja-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-sewerninja-vignette { background: rgba(6, 15, 10, .46); }
}



/* Blue Screen Rescue: a visual blue screen becomes a Linux installation. */
body.rlfx-bluescreenrescue-mode { background: #0078d7 !important; }
body.rlfx-bluescreenrescue-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-bluescreenrescue-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(3, 23, 55, .88) !important;
  border-color: rgba(198, 224, 255, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-bluescreenrescue-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-bluescreenrescue-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(9, 32, 61, .88), rgba(5, 22, 47, .94)) !important;
  border-color: rgba(198, 224, 255, .40) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-bluescreenrescue-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-bluescreenrescue-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-bluescreenrescue-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-bluescreenrescue-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-bluescreenrescue-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-bluescreenrescue-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #0078d7;
}
body.rlfx-bluescreenrescue-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-bluescreenrescue-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-bluescreenrescue-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-bluescreenrescue-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  }



.rlfx-rescue-blue, .rlfx-rescue-linux {
  position: absolute; inset: 0; color: #fff;
  font-family: "Segoe UI", system-ui, sans-serif;
  transition: opacity .8s ease;
}
.rlfx-rescue-blue { background: #0078d7; opacity: 1; }
.rlfx-rescue-linux {
  background: radial-gradient(ellipse at 20% 30%, #683773, transparent 65%), linear-gradient(140deg, #31152e, #151522 75%);
  opacity: 0;
}
body.rlfx-rescue-linux-active .rlfx-rescue-blue { opacity: 0; }
body.rlfx-rescue-linux-active .rlfx-rescue-linux { opacity: 1; }
.rlfx-rescue-copy {
  position: absolute; left: 4vw; top: 10vh; width: 39vw; max-width: 710px;
  font-size: clamp(15px, 1.35vw, 24px); line-height: 1.5;
}
.rlfx-rescue-copy h2 {
  color: #fff; margin: 0 0 .7em; font-weight: 400;
  font-size: clamp(22px, 2.1vw, 38px); line-height: 1.25;
}
.rlfx-rescue-copy p { margin: 0 0 1em; color: #fff; }
.rlfx-rescue-sad { font-size: clamp(80px, 9vw, 155px); line-height: 1; margin-bottom: .3em; font-weight: 300; }
.rlfx-rescue-percentage { margin-top: 1.6em !important; }
.rlfx-rescue-error { margin-top: 2em; font-size: .72em; overflow-wrap: anywhere; }
.rlfx-rescue-small { margin-top: 1.5em !important; font-size: .66em; opacity: .75; }
.rlfx-rescue-logo img { display: block; width: clamp(76px, 8vw, 130px); height: auto; margin-bottom: 1em; }
.rlfx-rescue-eyebrow { font-size: .65em; letter-spacing: .15em; color: #f4c0a7 !important; }
.rlfx-rescue-installer { background: #15141d; border: 1px solid #7f6883; border-radius: 12px; padding: 20px; margin-top: 1.4em; box-shadow: 0 20px 60px #0005; }
.rlfx-rescue-installer-title { font-size: .72em; color: #ded9e4; border-bottom: 1px solid #ffffff20; padding-bottom: 12px; margin-bottom: 18px; }
.rlfx-rescue-terminal-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #e95420; margin-right: 8px; }
.rlfx-rescue-terminal { font: .7em/1.8 ui-monospace, monospace; color: #abe1b5; }
.rlfx-rescue-progress { background: #393340; border-radius: 4px; height: 8px; overflow: hidden; margin: 22px 0 12px; }
.rlfx-rescue-progress-fill { height: 100%; width: 0; background: #e95420; }
body.rlfx-rescue-linux-active .rlfx-rescue-progress-fill { animation: rlfx-rescue-install 30s linear forwards; }
body.rlfx-rescue-install-complete .rlfx-rescue-progress-fill { animation: none; width: 100%; background: #76c893; }
.rlfx-rescue-install-status { font-size: .65em; margin: 0 !important; }
body.rlfx-rescue-linux-active :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  background: linear-gradient(180deg, rgba(47, 27, 51, .90), rgba(25, 20, 36, .95)) !important;
  border-color: rgba(233, 156, 111, .38) !important;
}
@keyframes rlfx-rescue-install { from { width: 0; } to { width: 100%; } }
@media (max-width: 1199px) {
  .rlfx-rescue-copy { width: 80vw; left: 8vw; top: 8vh; }
  .rlfx-rescue-blue::after, .rlfx-rescue-linux::after { content: ""; position: absolute; inset: 0; background: rgba(0, 10, 28, .38); }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-rescue-blue, .rlfx-rescue-linux { transition: none; }
  body.rlfx-rescue-linux-active .rlfx-rescue-progress-fill { animation: none; width: 50%; }
  body.rlfx-rescue-install-complete .rlfx-rescue-progress-fill { width: 100%; }
}

/* Pixel Tux: pixel world left; square retro panels right. */
body.rlfx-pixeltux-mode { background: #10264f !important; }
body.rlfx-pixeltux-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-pixeltux-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 23, 53, .96) !important;
  border-color: rgba(117, 221, 244, .65) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-pixeltux-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-pixeltux-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-pixeltux-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(16, 37, 77, .94), rgba(8, 23, 54, .97)) !important;
  border-color: rgba(117, 221, 244, .90) !important;
  border-width: 3px !important;
  border-style: solid !important;
  border-radius: 0 !important;
  box-shadow: inset 0 0 0 3px rgba(14, 21, 48, .85), 6px 6px 0 rgba(3, 10, 29, .85) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.rlfx-pixeltux-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-pixeltux-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-pixeltux-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-pixeltux-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-pixeltux-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-pixeltux-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #10264f;
}
.rlfx-pixeltux-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/pixel-tux/pixel-tux-background.webp') left center / cover no-repeat;
}
.rlfx-pixeltux-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 13, 33, .02) 0%, rgba(3, 13, 33, .10) 35%, rgba(3, 13, 33, .64) 100%);
}
body.rlfx-pixeltux-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-pixeltux-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-pixeltux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-pixeltux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-pixeltux-vignette { background: rgba(3, 13, 33, .46); }
}



.rlfx-pixeltux-backdrop { image-rendering: pixelated; }
body.rlfx-pixeltux-mode :is(.hero-copy h1, .card h2, .card h3, .feature-card h2, .section-card h2, .about-panel h2, .projects-card h2) {
  font-family: ui-monospace, "Courier New", monospace;
  text-shadow: 3px 3px 0 rgba(0, 0, 0, .7);
}
body.rlfx-pixeltux-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) :is(.btn, .button) {
  border-radius: 0;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, .55);
}

/* WWII Field Camp: Tux beside the jeep right; field-map panels left. */
body.rlfx-wwiifieldcamp-mode { background: #1d2218 !important; }
body.rlfx-wwiifieldcamp-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-wwiifieldcamp-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(23, 28, 19, .94) !important;
  border-color: rgba(201, 189, 147, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-wwiifieldcamp-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-wwiifieldcamp-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background:
    url('/effects/assets/wwii-field-camp/field-map.svg') left top / 240px 240px repeat,
    linear-gradient(180deg, rgba(38, 46, 30, .94), rgba(21, 28, 18, .97)) !important;
  border-color: rgba(201, 189, 147, .44) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-wwiifieldcamp-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-wwiifieldcamp-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-wwiifieldcamp-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-wwiifieldcamp-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-wwiifieldcamp-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-wwiifieldcamp-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #1d2218;
}
.rlfx-wwiifieldcamp-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/wwii-field-camp/wwii-field-camp-background.webp') center / 100% 100% no-repeat;
}
.rlfx-wwiifieldcamp-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 16, 10, .54) 0%, rgba(13, 16, 10, .26) 48%, rgba(13, 16, 10, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-wwiifieldcamp-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-wwiifieldcamp-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-wwiifieldcamp-vignette { background: rgba(13, 16, 10, .46); }
}

@media (min-width: 641px) {
  body.rlfx-wwiifieldcamp-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}
body.rlfx-wwiifieldcamp-mode :is(.card h2, .card h3, .feature-card h2, .section-card h2, .about-panel h2, .projects-card h2) {
  font-family: ui-monospace, "Courier New", monospace;
}

/* Ham Shack: Tux operates the station left; radio-console panels right. */
body.rlfx-hamshack-mode { background: #11191c !important; }
body.rlfx-hamshack-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-hamshack-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(10, 20, 24, .94) !important;
  border-color: rgba(223, 168, 86, .32) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-hamshack-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-hamshack-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-hamshack-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 58px !important;
  background:
    url('/effects/assets/ham-shack/radio-meter.svg') right 9px top 14px / 40px 104px no-repeat,
    linear-gradient(180deg, rgba(23, 36, 40, .92), rgba(10, 23, 28, .96)) !important;
  border-color: rgba(223, 168, 86, .46) !important;
  box-shadow: inset 0 1px 0 rgba(154, 190, 190, .18), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-hamshack-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-hamshack-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-hamshack-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-hamshack-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-hamshack-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-hamshack-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #11191c;
}
.rlfx-hamshack-backdrop {
  position: absolute;
  inset: 0;
  background: url('/effects/assets/ham-shack/ham-shack-background.webp') left center / cover no-repeat;
}
.rlfx-hamshack-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 13, 16, .02) 0%, rgba(5, 13, 16, .10) 35%, rgba(5, 13, 16, .64) 100%);
}
body.rlfx-hamshack-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-hamshack-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-hamshack-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-hamshack-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-hamshack-vignette { background: rgba(5, 13, 16, .46); }
}



body.rlfx-hamshack-mode :is(.card h2, .card h3, .feature-card h2, .section-card h2, .about-panel h2, .projects-card h2) {
  font-family: ui-monospace, "Courier New", monospace;
}

/* Halloween refresh: polished hockey-mask Tux right; haunted panels left. */
body.rlfx-halloween-mode { background: #080d15 !important; }
body.rlfx-halloween-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-halloween-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(8, 14, 22, .94) !important;
  border-color: rgba(209, 106, 56, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-halloween-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-halloween-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-halloween-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(26, 24, 32, .91), rgba(9, 15, 24, .96)) !important;
  border-color: rgba(174, 66, 51, .46) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-halloween-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-halloween-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-halloween-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-halloween-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-halloween-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-halloween-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #080d15;
}
.rlfx-halloween-backdrop {
  position: absolute;
  inset: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  transform-origin: center;
  filter: none;
  background: url('/effects/assets/halloween/halloween-background-v3.webp') center / 100% 100% no-repeat;
}
.rlfx-halloween-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .54) 0%, rgba(5, 12, 24, .26) 48%, rgba(5, 12, 24, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-halloween-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-halloween-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-halloween-vignette { background: rgba(5, 12, 17, .46); }
}


body.rlfx-halloween-mode :is(.container, .projects-shell, .labs-shell) { padding-top: 36px !important; }
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 58px !important; }
.rlfx-halloween-decor-layer { z-index: 2147482900; }
.rlfx-halloween-frame { opacity: .28 !important; }
body.rlfx-halloween-mode .rlfx-halloween-blood {
  background-size: 48px 112px;
  filter: none;
  transform: none;
  opacity: var(--rlfx-blood-opacity, .7);
}
body.rlfx-halloween-mode .rlfx-halloween-blood.blood-1 {
  background-image: url('/effects/assets/halloween/blood-splatter-1.svg');
  background-position: right 2px top 2px;
}
body.rlfx-halloween-mode .rlfx-halloween-blood.blood-2 {
  background-image: url('/effects/assets/halloween/blood-splatter-2.svg');
  background-position: right 2px center;
  opacity: var(--rlfx-blood-opacity, .7);
}
body.rlfx-halloween-mode .rlfx-halloween-blood.blood-3 {
  background-image: url('/effects/assets/halloween/blood-splatter-3.svg');
  background-position: right 2px bottom 2px;
  opacity: var(--rlfx-blood-opacity, .7);
}
@media (min-width: 641px) {
  body.rlfx-halloween-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Autumn refresh: detailed turkey-costume Tux and warm leaf-trimmed panels. */
body.rlfx-autumn-mode { background: #25150e !important; }
body.rlfx-autumn-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-autumn-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(30, 17, 11, .94) !important;
  border-color: rgba(241, 167, 80, .32) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-autumn-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-autumn-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-autumn-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 56px !important;
  background:
    url('/effects/assets/autumn/panel-leaves.svg') right 5px top 12px / 40px 116px no-repeat,
    linear-gradient(180deg, rgba(64, 35, 21, .91), rgba(31, 20, 14, .96)) !important;
  border-color: rgba(230, 151, 67, .46) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-autumn-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-autumn-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-autumn-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-autumn-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-autumn-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-autumn-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #25150e;
}
.rlfx-autumn-backdrop {
  position: absolute;
  inset: auto;
  right: 0;
  top: 0;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1586 / 992));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 992 / 1586));
  transform: none;
  filter: none;
  background: url('/effects/assets/autumn/autumn-background-v2.webp') center / 100% 100% no-repeat;
}
.rlfx-autumn-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(25, 12, 6, .54) 0%, rgba(25, 12, 6, .26) 48%, rgba(25, 12, 6, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-autumn-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, calc(100% - clamp(500px, 48vw, 960px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-autumn-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-autumn-vignette { background: rgba(25, 12, 6, .46); }
}


/* Christmas tracker: dock just above the bottom-left Effects button. */
body.rlfx-christmas-mode .rlfx-christmas-radar {
  position: fixed;
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  bottom: 84px;
  width: min(330px, calc(100vw - 36px));
  max-height: calc(100dvh - 110px);
  margin: 0;
}
body.rlfx-christmas-mode .rlfx-christmas-light-host {
  position: relative;
  padding-top: 28px;
  border-color: rgba(97, 167, 119, .66);
}
.rlfx-christmas-card-lights {
  top: 6px;
  left: 10px;
  right: 10px;
  height: 13px;
  align-items: flex-start;
  border-top: 2px solid rgba(30, 79, 46, .9);
}
.rlfx-christmas-card-lights i {
  flex: 0 0 7px;
  width: 7px;
  height: 11px;
  animation: rlfx-christmas-panel-flicker 3.8s ease-in-out infinite var(--delay);
}
@keyframes rlfx-christmas-panel-flicker {
  0%, 100% { opacity: .7; filter: brightness(.9); }
  24%, 31%, 59% { opacity: 1; filter: brightness(1.45); }
  27%, 62% { opacity: .4; filter: brightness(.65); }
  70%, 88% { opacity: .85; filter: brightness(1.1); }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-christmas-card-lights i { animation: none !important; opacity: .9; filter: none; }
}

body.rlfx-autumn-mode :is(.container, .projects-shell, .labs-shell) { padding-top: 36px !important; }
.rlfx-autumn-leaves { z-index: 2147482900; }
@media (max-width: 1199px) {
  .rlfx-autumn-backdrop { right: auto; left: 50%; transform: translateX(-50%); }
}
@media (min-width: 641px) {
  body.rlfx-autumn-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Beach Break: Tux relaxes in a hammock on the right; tropical panels left. */
body.rlfx-beachbreak-mode { background: #082b33 !important; }
body.rlfx-beachbreak-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-beachbreak-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(7, 34, 40, .94) !important;
  border-color: rgba(106, 218, 203, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-beachbreak-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-beachbreak-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-beachbreak-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(10, 55, 63, .90), rgba(6, 30, 37, .95)) !important;
  border-color: rgba(239, 205, 142, .42) !important;
  box-shadow: inset 0 1px 0 rgba(174, 241, 230, .14), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-beachbreak-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-beachbreak-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-beachbreak-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-beachbreak-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-beachbreak-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-beachbreak-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #082b33;
}
.rlfx-beachbreak-backdrop {
  position: absolute;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/beach-break/beach-break-background.webp') center / 100% 100% no-repeat;
}
.rlfx-beachbreak-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 29, 35, .54) 0%, rgba(4, 29, 35, .26) 48%, rgba(4, 29, 35, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-beachbreak-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-beachbreak-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-beachbreak-vignette { background: rgba(4, 24, 29, .46); }
}

@media (min-width: 641px) {
  body.rlfx-beachbreak-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Mine Shaft: Tux mines on the left; stone and amber panels right. */
body.rlfx-mineshaft-mode { background: #15130f !important; }
body.rlfx-mineshaft-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-mineshaft-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(26, 21, 15, .94) !important;
  border-color: rgba(229, 181, 96, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-mineshaft-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-mineshaft-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-mineshaft-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(45, 36, 26, .90), rgba(22, 20, 17, .95)) !important;
  border-color: rgba(224, 174, 86, .42) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-mineshaft-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-mineshaft-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-mineshaft-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-mineshaft-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-mineshaft-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-mineshaft-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #15130f;
}
.rlfx-mineshaft-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/mine-shaft/mine-shaft-background.webp') center / 100% 100% no-repeat;
}
.rlfx-mineshaft-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 10, 8, .02) 0%, rgba(12, 10, 8, .10) 35%, rgba(12, 10, 8, .64) 100%);
}
body.rlfx-mineshaft-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-mineshaft-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-mineshaft-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-mineshaft-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-mineshaft-vignette { background: rgba(12, 10, 8, .46); }
}




.rlfx-mineshaft-lamp {
  position: absolute;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 226, 160, .3), rgba(255, 164, 55, .13) 30%, transparent 68%);
  mix-blend-mode: screen;
  transform: translate(-50%, -50%);
  pointer-events: none;
  animation: rlfx-mineshaft-lamplight 4.7s ease-in-out infinite;
}
.rlfx-mineshaft-lamp.headlamp { left: 27.5%; top: 12%; width: 8%; }
.rlfx-mineshaft-lamp.lantern-one { left: 16%; top: 4%; animation-delay: -1.2s; }
.rlfx-mineshaft-lamp.lantern-two { left: 42.8%; top: 21%; animation-delay: -2.8s; }
@keyframes rlfx-mineshaft-lamplight {
  0%, 100% { opacity: .65; }
  35%, 42%, 76% { opacity: 1; }
  39% { opacity: .5; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-mineshaft-lamp { animation: none; opacity: .75; }
}

/* Chef’s Kitchen: Tux cooks left; copper-edged recipe panels right. */
body.rlfx-chefskitchen-mode { background: #201410 !important; }
body.rlfx-chefskitchen-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-chefskitchen-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(42, 22, 19, .94) !important;
  border-color: rgba(220, 157, 105, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-chefskitchen-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-chefskitchen-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(47, 30, 24, .90), rgba(23, 18, 17, .95)) !important;
  border-color: rgba(221, 156, 103, .42) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-chefskitchen-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-chefskitchen-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-chefskitchen-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-chefskitchen-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-chefskitchen-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-chefskitchen-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #201410;
}
.rlfx-chefskitchen-backdrop {
  position: absolute;
  left: 0;
  top: 0;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  background: url('/effects/assets/chefs-kitchen/chefs-kitchen-background.webp') center / 100% 100% no-repeat;
}
.rlfx-chefskitchen-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 10, 8, .02) 0%, rgba(12, 10, 8, .10) 35%, rgba(12, 10, 8, .64) 100%);
}
body.rlfx-chefskitchen-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-chefskitchen-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-chefskitchen-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-chefskitchen-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-chefskitchen-vignette { background: rgba(12, 10, 8, .46); }
}




.rlfx-chefskitchen-lamp {
  position: absolute;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 226, 160, .3), rgba(255, 164, 55, .13) 30%, transparent 68%);
  mix-blend-mode: screen;
  transform: translate(-50%, -50%);
  pointer-events: none;
  animation: rlfx-chefskitchen-lamplight 4.7s ease-in-out infinite;
}
.rlfx-chefskitchen-lamp.stove { left: 43%; top: 66%; width: 15%; }
.rlfx-chefskitchen-lamp.pendant-one { left: 95.5%; top: 20%; animation-delay: -1.2s; }
.rlfx-chefskitchen-lamp.pendant-two { left: 84%; top: 27%; animation-delay: -2.8s; }
@keyframes rlfx-chefskitchen-lamplight {
  0%, 100% { opacity: .65; }
  35%, 42%, 76% { opacity: 1; }
  39% { opacity: .5; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-chefskitchen-lamp { animation: none; opacity: .75; }
}

/* Fine recipe ruling and tools live at the card edge, clear of the copy. */
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  padding-right: 56px;
  background:
    url('/effects/assets/chefs-kitchen/kitchen-utensils.svg') right 8px center / 36px 120px no-repeat,
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(241, 214, 177, .035) 27px 28px),
    linear-gradient(180deg, rgba(47, 30, 24, .94), rgba(23, 18, 17, .97)) !important;
  border-radius: 10px;
  box-shadow: inset 3px 0 0 rgba(185, 104, 65, .5), 0 14px 34px rgba(0, 0, 0, .35) !important;
}
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) :is(h2, h3) {
  color: #f0c792;
  font-family: Georgia, 'Times New Roman', serif;
}
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) a { color: #a9d9bd; }

/* Red Lightcycle: Tux races right; red neon circuit panels left. */
body.rlfx-redlightcycle-mode { background: #110509 !important; }
body.rlfx-redlightcycle-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-redlightcycle-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(20, 5, 11, .94) !important;
  border-color: rgba(255, 62, 83, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-redlightcycle-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-redlightcycle-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(32, 9, 17, .90), rgba(12, 7, 13, .95)) !important;
  border-color: rgba(255, 67, 83, .42);
  box-shadow: inset 0 1px 0 rgba(255, 126, 139, .14), 0 0 15px rgba(255, 35, 60, .14), 0 14px 34px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-redlightcycle-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-redlightcycle-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-redlightcycle-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-redlightcycle-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-redlightcycle-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-redlightcycle-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #110509;
}
.rlfx-redlightcycle-backdrop {
  position: absolute;
  right: 0;
  top: 0;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  background: url('/effects/assets/red-lightcycle/red-lightcycle-background.webp') center / 100% 100% no-repeat;
}
.rlfx-redlightcycle-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 3, 9, .54) 0%, rgba(13, 3, 9, .26) 48%, rgba(13, 3, 9, .02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-redlightcycle-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px, calc(100% - clamp(400px, 40vw, 800px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-redlightcycle-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-redlightcycle-vignette { background: rgba(13, 3, 9, .46); }
}

@media (min-width: 641px) {
  body.rlfx-redlightcycle-mode .rlfx-theme-preview-controls {
    left: auto;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}


body.rlfx-redlightcycle-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  padding-right: 58px;
  border-radius: 4px;
  position: relative;
  background:
    url('/effects/assets/red-lightcycle/circuit-edge.svg') right 6px center / 42px 132px no-repeat,
    linear-gradient(rgba(255, 47, 70, .035) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(90deg, rgba(255, 47, 70, .035) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(180deg, rgba(28, 8, 16, .94), rgba(9, 7, 13, .97)) !important;
}
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) :is(h2, h3) {
  color: #ffc4c7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-shadow: 0 0 12px rgba(255, 46, 69, .3);
}
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) a { color: #ffb2b9; }
@keyframes rlfx-redlightcycle-panel-glow {
  0%, 100% { opacity: .28; }
  50% { opacity: .8; }
}
.rlfx-redlightcycle-panel-pulse {
  position: absolute;
  inset: 0;
  border: 1px solid #ff4058;
  border-radius: inherit;
  box-shadow: inset 0 0 10px rgba(255, 38, 64, .13), 0 0 12px rgba(255, 38, 64, .15);
  pointer-events: none;
  animation: rlfx-redlightcycle-panel-glow 4.8s ease-in-out infinite var(--delay);
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-redlightcycle-panel-pulse { animation: none; opacity: .5; }
}

/* Transparent page titles across every theme, including section landing pages. */
body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow: 0 2px 9px rgba(0, 0, 0, .85);
}
body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) .section-page-hero p {
  color: #d2dce7;
}

/* Shared browser/phone sizing. The JS viewport values account for mobile chrome. */
:root { --rlfx-screen-height: 100vh; }
@supports (height: 100dvh) { :root { --rlfx-screen-height: 100dvh; } }
.rlfx-panel {
  box-sizing: border-box;
  width: min(380px, calc(100vw - 36px));
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(var(--rlfx-vh, var(--rlfx-screen-height)) - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.rlfx-theme-preview-controls {
  box-sizing: border-box;
  max-width: calc(100vw - 32px);
  max-height: calc(var(--rlfx-vh, var(--rlfx-screen-height)) - 80px);
  overflow-y: auto;
}
@media (max-width: 979px) {
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) :is(.container, .projects-shell, .labs-shell) {
    box-sizing: border-box;
    width: calc(100% - 24px) !important;
    max-width: 950px;
    min-width: 0;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
  }
}
@media (max-width: 640px) {
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) :is(.grid, .projects-grid, .about-grid, .section-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) .hero-intro h1 {
    font-size: clamp(1.5rem, 11vw, 3rem) !important;
    white-space: nowrap;
  }
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) .section-page-hero { padding: 18px 12px; }
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) :is(.section-page-hero, .projects-intro) h1 {
    font-size: clamp(1.7rem, 8.5vw, 3rem);
    overflow-wrap: anywhere;
  }
  body:is(
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-stpatricks-mode,
  .rlfx-camping-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-redlightcycle-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-mineshaft-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-skydiving-mode,
  .rlfx-christmas-mode
) :is(.container, .projects-shell, .labs-shell) {
    padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px));
  }
  .rlfx-launcher { bottom: max(10px, env(safe-area-inset-bottom, 0px)); }
  .rlfx-theme-preview-controls {
    left: 12px !important;
    right: 12px !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    width: auto;
    max-width: none;
    flex-wrap: wrap;
    gap: 10px;
  }
  body.rlfx-christmas-mode .rlfx-christmas-radar {
    position: relative;
    left: auto !important;
    right: auto;
    bottom: auto !important;
    width: min(330px, 100%);
    max-height: none;
    margin: 0 0 24px;
  }
}
@media (pointer: coarse) {
  .rlfx-theme-preview-controls button, .rlfx-pagination button,
  .rlfx-pagination select, .rlfx-toggle, .rlfx-radar-ping { min-height: 44px; }
}

/* Panel refresh: scene-specific edge details, clear of the text column. */
/* stpatricks: Green felt, shamrocks and gold accents. */
body.rlfx-stpatricks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/stpatricks.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(20,43,34,0.88), rgba(20,43,34,0.92)) !important;
  border: 1px solid #98dfab66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #98dfab55, inset 0 1px 0 #98dfab22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-stpatricks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #98dfab; }
body.rlfx-stpatricks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-stpatricks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #98dfab; }

/* halloween: Charred plum panels, pumpkins; retain blood and ghosts. */
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/halloween.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(115deg, transparent 0 17px, rgba(225,210,170,.04) 18px 19px),
    linear-gradient(180deg, rgba(35,16,24,0.91), rgba(35,16,24,0.95)) !important;
  border: 1px solid #ffb4aa66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ffb4aa55, inset 0 1px 0 #ffb4aa22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ffb4aa; }
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ffb4aa; }

/* autumn: Warm wood grain, autumn leaves. */
body.rlfx-autumn-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/autumn.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(3deg, transparent 0 16px, rgba(220,180,126,.045) 17px 18px),
    linear-gradient(180deg, rgba(48,32,24,0.9), rgba(48,32,24,0.94)) !important;
  border: 1px solid #efc58b66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efc58b55, inset 0 1px 0 #efc58b22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-autumn-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #efc58b; }
body.rlfx-autumn-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-autumn-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #efc58b; }

/* christmas: Evergreen cards, holly and existing blinking light strings. */
body.rlfx-christmas-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/christmas.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(16,41,31,0.91), rgba(16,41,31,0.95)) !important;
  border: 1px solid #cce5cf66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #cce5cf55, inset 0 1px 0 #cce5cf22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-christmas-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #cce5cf; }
body.rlfx-christmas-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-christmas-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #cce5cf; }

/* camping: Canvas and timber, tent and pine details. */
body.rlfx-camping-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/camping.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(3deg, transparent 0 16px, rgba(220,180,126,.045) 17px 18px),
    linear-gradient(180deg, rgba(25,41,31,0.88), rgba(25,41,31,0.92)) !important;
  border: 1px solid #c7d9ae66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c7d9ae55, inset 0 1px 0 #c7d9ae22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-camping-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c7d9ae; }
body.rlfx-camping-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-camping-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c7d9ae; }

/* skydiving: Air-blue translucent cards and parachutes. */
body.rlfx-skydiving-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/skydiving.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(160deg, transparent 0 36px, rgba(180,230,250,.045) 37px 38px),
    linear-gradient(180deg, rgba(19,38,53,0.85), rgba(19,38,53,0.89)) !important;
  border: 1px solid #b7e1f466 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #b7e1f455, inset 0 1px 0 #b7e1f422, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-skydiving-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #b7e1f4; }
body.rlfx-skydiving-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-skydiving-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #b7e1f4; }

/* hellokitty: Soft rose cards and ribbon bows. */
body.rlfx-hellokitty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/hellokitty.svg') right 8px center / 40px 150px no-repeat,
    radial-gradient(ellipse at top right, rgba(240,170,240,.10), transparent 55%),
    linear-gradient(180deg, rgba(50,29,48,0.91), rgba(50,29,48,0.95)) !important;
  border: 1px solid #ffd0e766 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ffd0e755, inset 0 1px 0 #ffd0e722, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-hellokitty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ffd0e7; }
body.rlfx-hellokitty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-hellokitty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ffd0e7; }

/* ghostbusters: Instrument-grid panels with slime drips; retain existing effects. */
body.rlfx-ghostbusters-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/ghostbusters.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(23,41,29,0.9), rgba(23,41,29,0.94)) !important;
  border: 1px solid #c9ef9366 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c9ef9355, inset 0 1px 0 #c9ef9322, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-ghostbusters-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c9ef93; }
body.rlfx-ghostbusters-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-ghostbusters-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c9ef93; }

/* aquarium: Underwater glass, fish and flowing water lines. */
body.rlfx-aquarium-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/aquarium.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 0% 100%, transparent 0 28px, rgba(153,225,240,.055) 29px 30px, transparent 31px 52px),
    linear-gradient(180deg, rgba(16,44,56,0.82), rgba(16,44,56,0.86)) !important;
  border: 1px solid #abe9ed66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #abe9ed55, inset 0 1px 0 #abe9ed22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-aquarium-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #abe9ed; }
body.rlfx-aquarium-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-aquarium-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #abe9ed; }

/* western: Saloon timber, sheriff stars and warm brass edges. */
body.rlfx-western-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/western.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(3deg, transparent 0 16px, rgba(220,180,126,.045) 17px 18px),
    linear-gradient(180deg, rgba(44,32,24,0.91), rgba(44,32,24,0.95)) !important;
  border: 1px solid #edc89a66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #edc89a55, inset 0 1px 0 #edc89a22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-western-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #edc89a; }
body.rlfx-western-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-western-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #edc89a; }

/* brick: Studded construction plates and colorful bricks. */
body.rlfx-brick-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/brick.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(32,43,56,0.91), rgba(32,43,56,0.95)) !important;
  border: 1px solid #d1e5f866 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d1e5f855, inset 0 1px 0 #d1e5f822, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-brick-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #d1e5f8; }
body.rlfx-brick-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-brick-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #d1e5f8; }

/* spacestation: Segmented spacecraft consoles and indicator strips. */
body.rlfx-spacestation-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/spacestation.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(210,220,235,.025) 3px 4px),
    linear-gradient(180deg, rgba(23,30,43,0.94), rgba(23,30,43,0.97)) !important;
  border: 1px solid #c4dbef66 !important;
  border-radius: 6px;
  box-shadow: inset 3px 0 0 #c4dbef55, inset 0 1px 0 #c4dbef22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-spacestation-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c4dbef; }
body.rlfx-spacestation-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-spacestation-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c4dbef; }

/* rangertower: Forest-green field maps and pine silhouettes. */
body.rlfx-rangertower-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/rangertower.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 110% 0%, transparent 0 18px, rgba(192,219,190,.045) 19px 20px, transparent 21px 35px),
    linear-gradient(180deg, rgba(30,42,32,0.89), rgba(30,42,32,0.93)) !important;
  border: 1px solid #d1deb166 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d1deb155, inset 0 1px 0 #d1deb122, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-rangertower-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #d1deb1; }
body.rlfx-rangertower-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-rangertower-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #d1deb1; }

/* carnival: Ticket-style cards, striped edges and colorful marquee bulbs. */
body.rlfx-carnival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/carnival.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(135deg, transparent 0 24px, rgba(242,190,225,.035) 24px 34px),
    linear-gradient(180deg, rgba(37,23,46,0.86), rgba(37,23,46,0.90)) !important;
  border: 1px solid #f2c7ef66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #f2c7ef55, inset 0 1px 0 #f2c7ef22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-carnival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #f2c7ef; }
body.rlfx-carnival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-carnival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #f2c7ef; }

/* carwash: Translucent wet glass, soap bubbles and gently drifting suds. */
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/carwash.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 0% 100%, transparent 0 28px, rgba(153,225,240,.055) 29px 30px, transparent 31px 52px),
    linear-gradient(180deg, rgba(14,48,58,0.78), rgba(14,48,58,0.82)) !important;
  border: 1px solid #c7f2fa66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c7f2fa55, inset 0 1px 0 #c7f2fa22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c7f2fa; }
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c7f2fa; }

/* hotairballoon: Woven basket texture and colorful balloon shapes. */
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/hotairballoon.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(39,40,56,0.85), rgba(39,40,56,0.89)) !important;
  border: 1px solid #e3d6f166 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e3d6f155, inset 0 1px 0 #e3d6f122, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #e3d6f1; }
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #e3d6f1; }

/* rockcrawl: Trail dust, tire tracks and stone-colored cards. */
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/rockcrawl.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(115deg, transparent 0 17px, rgba(225,210,170,.04) 18px 19px),
    linear-gradient(180deg, rgba(41,39,32,0.91), rgba(41,39,32,0.95)) !important;
  border: 1px solid #ded4b466 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ded4b455, inset 0 1px 0 #ded4b422, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ded4b4; }
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ded4b4; }

/* speedway: Pit-lane metal and checkered racing strips. */
body.rlfx-speedway-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/speedway.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(210,220,235,.025) 3px 4px),
    linear-gradient(180deg, rgba(34,35,44,0.91), rgba(34,35,44,0.95)) !important;
  border: 1px solid #e5e6f366 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e5e6f355, inset 0 1px 0 #e5e6f322, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-speedway-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #e5e6f3; }
body.rlfx-speedway-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-speedway-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #e5e6f3; }

/* vadersbackyard: Garden-green cards and paw trails; retain bones and tennis balls. */
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/vaders-backyard/tennis-ball.svg') right 15px top 14px / 24px 24px no-repeat, url('/effects/assets/vaders-backyard/dog-bone.svg') right 8px bottom 14px / 38px 20px no-repeat, url('/effects/assets/panel-details/vadersbackyard.svg') right 8px center / 40px 90px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(29,45,38,0.87), rgba(29,45,38,0.91)) !important;
  border: 1px solid #d2e5bd66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d2e5bd55, inset 0 1px 0 #d2e5bd22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #d2e5bd; }
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #d2e5bd; }

/* cocoscozycabin: Warm cabin wood and paw trails. */
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/cocoscozycabin.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(3deg, transparent 0 16px, rgba(220,180,126,.045) 17px 18px),
    linear-gradient(180deg, rgba(49,35,30,0.91), rgba(49,35,30,0.95)) !important;
  border: 1px solid #ecd0ac66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ecd0ac55, inset 0 1px 0 #ecd0ac22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ecd0ac; }
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ecd0ac; }

/* serverroom: Circuit-board traces and rack status indicators. */
body.rlfx-serverroom-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/serverroom.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(17,37,44,0.93), rgba(17,37,44,0.97)) !important;
  border: 1px solid #b8e6dc66 !important;
  border-radius: 6px;
  box-shadow: inset 3px 0 0 #b8e6dc55, inset 0 1px 0 #b8e6dc22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-serverroom-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #b8e6dc; }
body.rlfx-serverroom-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-serverroom-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #b8e6dc; }

/* uranusexplorer: Mission consoles, orbital diagrams and icy cyan accents. */
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/uranusexplorer.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(21,39,54,0.93), rgba(21,39,54,0.97)) !important;
  border: 1px solid #c0e7f066 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c0e7f055, inset 0 1px 0 #c0e7f022, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c0e7f0; }
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c0e7f0; }

/* gamenight: Arcade-style console panels and gamepad details. */
body.rlfx-gamenight-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/gamenight.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(37,26,51,0.91), rgba(37,26,51,0.95)) !important;
  border: 1px solid #ead0fb66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ead0fb55, inset 0 1px 0 #ead0fb22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-gamenight-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ead0fb; }
body.rlfx-gamenight-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-gamenight-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ead0fb; }

/* mountainclimb: Topographic slate cards, ropes and mountain outlines. */
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/mountainclimb.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 110% 0%, transparent 0 18px, rgba(192,219,190,.045) 19px 20px, transparent 21px 35px),
    linear-gradient(180deg, rgba(36,43,50,0.89), rgba(36,43,50,0.93)) !important;
  border: 1px solid #d4e2ec66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d4e2ec55, inset 0 1px 0 #d4e2ec22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #d4e2ec; }
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #d4e2ec; }

/* gonefishing: Marine-blue cards, fishing hooks and water lines. */
body.rlfx-gonefishing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/gonefishing.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 0% 100%, transparent 0 28px, rgba(153,225,240,.055) 29px 30px, transparent 31px 52px),
    linear-gradient(180deg, rgba(16,45,53,0.86), rgba(16,45,53,0.90)) !important;
  border: 1px solid #bbe4df66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #bbe4df55, inset 0 1px 0 #bbe4df22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-gonefishing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #bbe4df; }
body.rlfx-gonefishing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-gonefishing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #bbe4df; }

/* clawmachine: Display-window cards with plush-toy claw details. */
body.rlfx-clawmachine-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/clawmachine.svg') right 8px center / 40px 150px no-repeat,
    radial-gradient(ellipse at top right, rgba(240,170,240,.10), transparent 55%),
    linear-gradient(180deg, rgba(41,32,56,0.87), rgba(41,32,56,0.91)) !important;
  border: 1px solid #efcef466 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efcef455, inset 0 1px 0 #efcef422, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-clawmachine-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #efcef4; }
body.rlfx-clawmachine-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-clawmachine-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #efcef4; }

/* sewerninja: Masonry panels, pipework and green metal edges. */
body.rlfx-sewerninja-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/sewerninja.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 24px, rgba(177,205,162,.055) 24px 26px),
    linear-gradient(180deg, rgba(32,48,36,0.91), rgba(32,48,36,0.95)) !important;
  border: 1px solid #d3e3b466 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d3e3b455, inset 0 1px 0 #d3e3b422, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-sewerninja-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #d3e3b4; }
body.rlfx-sewerninja-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-sewerninja-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #d3e3b4; }

/* bluescreenrescue: Terminal-style frames and command-prompt accents. */
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/bluescreenrescue.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(21,35,55,0.94), rgba(21,35,55,0.97)) !important;
  border: 1px solid #c8e2ff66 !important;
  border-radius: 6px;
  box-shadow: inset 3px 0 0 #c8e2ff55, inset 0 1px 0 #c8e2ff22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c8e2ff; }
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c8e2ff; }

/* pixeltux: Square pixel frames, stepped highlights and pixel coins. */
body.rlfx-pixeltux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/pixeltux.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 15px, rgba(180,240,210,.035) 15px 16px), repeating-linear-gradient(90deg, transparent 0 15px, rgba(180,240,210,.035) 15px 16px),
    linear-gradient(180deg, rgba(24,43,48,0.94), rgba(24,43,48,0.97)) !important;
  border: 1px solid #c4eecf66 !important;
  border-radius: 2px;
  box-shadow: inset 3px 0 0 #c4eecf55, inset 0 1px 0 #c4eecf22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-pixeltux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c4eecf; }
body.rlfx-pixeltux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-pixeltux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c4eecf; }

/* wwiifieldcamp: Olive canvas, field stitching and dog tags. */
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/wwiifieldcamp.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(41,44,35,0.93), rgba(41,44,35,0.97)) !important;
  border: 1px solid #e0ddbb66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e0ddbb55, inset 0 1px 0 #e0ddbb22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #e0ddbb; }
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #e0ddbb; }

/* hamshack: Radio chassis, tuning dials and signal-meter marks. */
body.rlfx-hamshack-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/hamshack.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(36,40,34,0.93), rgba(36,40,34,0.97)) !important;
  border: 1px solid #e5dcaa66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e5dcaa55, inset 0 1px 0 #e5dcaa22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-hamshack-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #e5dcaa; }
body.rlfx-hamshack-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-hamshack-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #e5dcaa; }

/* beachbreak: Sea-glass cards, palm fronds and sand-colored borders. */
body.rlfx-beachbreak-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/beachbreak.svg') right 8px center / 40px 150px no-repeat,
    repeating-radial-gradient(ellipse at 0% 100%, transparent 0 28px, rgba(153,225,240,.055) 29px 30px, transparent 31px 52px),
    linear-gradient(180deg, rgba(19,49,55,0.84), rgba(19,49,55,0.88)) !important;
  border: 1px solid #c8e9df66 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c8e9df55, inset 0 1px 0 #c8e9df22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-beachbreak-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #c8e9df; }
body.rlfx-beachbreak-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-beachbreak-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c8e9df; }

/* mineshaft: Rough ore textures, timber edging and pickaxes. */
body.rlfx-mineshaft-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/mineshaft.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(115deg, transparent 0 17px, rgba(225,210,170,.04) 18px 19px),
    linear-gradient(180deg, rgba(45,39,36,0.93), rgba(45,39,36,0.97)) !important;
  border: 1px solid #ead2a966 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ead2a955, inset 0 1px 0 #ead2a922, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-mineshaft-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ead2a9; }
body.rlfx-mineshaft-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-mineshaft-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ead2a9; }

/* chefskitchen: Recipe-card ruling, copper edges and kitchen tools. */
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/chefskitchen.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(230,220,190,.025) 5px 6px),
    linear-gradient(180deg, rgba(48,34,28,0.93), rgba(48,34,28,0.97)) !important;
  border: 1px solid #efdab966 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efdab955, inset 0 1px 0 #efdab922, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #efdab9; }
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #efdab9; }

/* redlightcycle: Red neon circuitry and existing light pulses. */
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 64px !important;
  background: url('/effects/assets/panel-details/redlightcycle.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(170,220,230,.035) 23px 24px),
    linear-gradient(180deg, rgba(38,14,25,0.94), rgba(38,14,25,0.97)) !important;
  border: 1px solid #ffc4cd66 !important;
  border-radius: 6px;
  box-shadow: inset 3px 0 0 #ffc4cd55, inset 0 1px 0 #ffc4cd22, 0 12px 28px rgba(0,0,0,.30) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ffc4cd; }
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p, li, .muted, .meta, .card-description, .project-description) { color: #d4dde2; }
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #ffc4cd; }


body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { position: relative; }
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel)::after {
  content: "";
  position: absolute;
  top: 12px; bottom: 12px; right: 9px; width: 36px;
  border-radius: 18px;
  pointer-events: none;
  background: url('/effects/assets/panel-details/carwash.svg') center 0 / 36px 135px repeat-y;
  opacity: .55;
  animation: rlfx-panel-suds-drift 24s linear infinite;
}
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel):nth-child(2n)::after { animation-delay: -12s; }
@keyframes rlfx-panel-suds-drift { from { background-position: center 0; } to { background-position: center -135px; } }
@media (prefers-reduced-motion: reduce) {
  body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel)::after { animation: none; }
}
@media (max-width: 640px) {

body.rlfx-stpatricks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-halloween-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-autumn-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-christmas-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-camping-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-skydiving-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-hellokitty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-ghostbusters-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-aquarium-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-western-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-brick-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-spacestation-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-rangertower-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-carnival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-carwash-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-hotairballoon-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-rockcrawl-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-speedway-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-vadersbackyard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-cocoscozycabin-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-serverroom-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-uranusexplorer-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-gamenight-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-mountainclimb-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-gonefishing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-clawmachine-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-sewerninja-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-bluescreenrescue-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-pixeltux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-wwiifieldcamp-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-hamshack-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-beachbreak-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-mineshaft-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-chefskitchen-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel),
body.rlfx-redlightcycle-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 56px !important; }
}

/* Homemade Ice Cream: Tux churns left; mint and strawberry panels right. */
body.rlfx-homemadeicecream-mode { background: #142826 !important; }
body.rlfx-homemadeicecream-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-homemadeicecream-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(15, 35, 34, .94) !important;
  border-color: rgba(150, 219, 196, .30) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.rlfx-homemadeicecream-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-homemadeicecream-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .9);
}
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .section-card, .about-panel, .projects-card) {
  min-width: 0;
  overflow-wrap: anywhere;
  background: linear-gradient(180deg, rgba(47, 30, 24, .90), rgba(23, 18, 17, .95)) !important;
  border-color: rgba(221, 156, 103, .42) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.rlfx-homemadeicecream-mode :is(.grid, .projects-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
body.rlfx-homemadeicecream-mode .hero-intro {
  grid-template-columns: minmax(0, 1fr);
  padding-right: 0;
}
body.rlfx-homemadeicecream-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-homemadeicecream-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem, 7vw, 5.5rem);
}
@supports (font-size: 1cqw) {
  body.rlfx-homemadeicecream-mode .hero-intro h1 { font-size: min(5.5rem, 12cqw); }
}
.rlfx-homemadeicecream-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #142826;
}
.rlfx-homemadeicecream-backdrop {
  position: absolute;
  left: 0;
  top: 0;
  width: max(var(--rlfx-vw, 100vw), calc(var(--rlfx-vh, 100vh) * 1672 / 941));
  height: max(var(--rlfx-vh, 100vh), calc(var(--rlfx-vw, 100vw) * 941 / 1672));
  background: url('/effects/assets/homemade-ice-cream/homemade-ice-cream-background.webp') center / 100% 100% no-repeat;
}
.rlfx-homemadeicecream-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 20, 20, .02) 0%, rgba(7, 20, 20, .10) 35%, rgba(7, 20, 20, .64) 100%);
}
body.rlfx-homemadeicecream-mode .rlfx-launcher {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-homemadeicecream-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 1200px) {
  body.rlfx-homemadeicecream-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(960px, calc(100% - clamp(460px, 48vw, 960px) - 24px));
    margin-left: clamp(460px, 48vw, 960px);
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-homemadeicecream-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px, 100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-homemadeicecream-vignette { background: rgba(7, 20, 20, .46); }
}





/* Wafer edges and a faint gingham weave stay out of the text column. */
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  padding-right: 62px !important;
  background:
    url('/effects/assets/homemade-ice-cream/ice-cream-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 11px, rgba(181,231,214,.025) 11px 22px),
    repeating-linear-gradient(90deg, transparent 0 11px, rgba(181,231,214,.025) 11px 22px),
    linear-gradient(180deg, rgba(18,43,40,.87), rgba(17,32,34,.93)) !important;
  border: 1px solid rgba(170,221,200,.46) !important;
  border-radius: 16px;
  box-shadow: inset 3px 0 0 rgba(233,174,180,.6), 0 12px 28px rgba(0,0,0,.3) !important;
  color: #e7edf0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #f6d6ca; }
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p,li,.muted,.meta) { color: #d4dde2; }
body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #bcead9; }
@media (max-width: 640px) {
  body.rlfx-homemadeicecream-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 56px !important; }
}

/* Projects listing: theme decoration must not narrow the image wrapper. */
body.projects-page .project-card {
  padding: 0 !important;
  min-width: 0;
  overflow: hidden;
}
body.projects-page .project-card:not([hidden]) { display: flex; flex-direction: column; }
body.projects-page .project-card[hidden] { display: none !important; }
body.projects-page .projects-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
  align-items: stretch;
}
body.projects-page .project-media {
  box-sizing: border-box;
  width: 100%;
  flex: 0 0 132px;
  height: 132px;
  min-width: 0;
  background-size: cover;
  background-position: center;
}
body.projects-page .project-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.projects-page .project-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  padding: 16px;
}
body.projects-page .project-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 12px;
  min-width: 0;
}
body.projects-page .project-title {
  flex: 1 1 170px;
  min-width: 0;
  max-width: 100%;
  align-items: flex-start;
}
body.projects-page .project-title h2 {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
body.projects-page .project-status {
  position: static;
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
  line-height: 1.3;
}
body.projects-page .project-body > p { min-height: 0; }
body.projects-page .project-tags { min-width: 0; }
body.projects-page .project-tags span { max-width: 100%; overflow-wrap: anywhere; }
body.projects-page .project-footer {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 12px;
  margin-top: auto;
  padding-top: 14px;
}
body.projects-page .project-footer > span { min-width: 0; flex: 1 1 120px; overflow-wrap: anywhere; }
body.projects-page .project-footer a { flex: 0 0 auto; white-space: nowrap; }
body.projects-page .project-media-brand {
  max-width: calc(100% - 20px);
  font-size: clamp(1.2rem, 2.1vw, 2rem);
  white-space: nowrap;
}
body.projects-page .project-media-label { max-width: calc(100% - 20px); text-align: center; overflow-wrap: anywhere; }
/* Reserve the decorative strip in the copy area only, on every applied theme. */
body.projects-page:is(
  .rlfx-stpatricks-mode,
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-christmas-mode,
  .rlfx-camping-mode,
  .rlfx-skydiving-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mineshaft-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-redlightcycle-mode
) .project-body { padding-right: 60px; }
/* Keep drifting suds below the project image. */
body.projects-page.rlfx-carwash-mode .project-card::after { top: 144px; }
@media (max-width: 640px) {
  body.projects-page .projects-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.projects-page .project-media-brand { font-size: clamp(1.2rem, 7vw, 2rem); }
}

/* Place the decorative edge below the 132px Project image, with a 16px gap. */
body.projects-page:is(
  .rlfx-stpatricks-mode,
  .rlfx-halloween-mode,
  .rlfx-autumn-mode,
  .rlfx-christmas-mode,
  .rlfx-camping-mode,
  .rlfx-skydiving-mode,
  .rlfx-hellokitty-mode,
  .rlfx-ghostbusters-mode,
  .rlfx-aquarium-mode,
  .rlfx-western-mode,
  .rlfx-brick-mode,
  .rlfx-spacestation-mode,
  .rlfx-rangertower-mode,
  .rlfx-carnival-mode,
  .rlfx-carwash-mode,
  .rlfx-hotairballoon-mode,
  .rlfx-rockcrawl-mode,
  .rlfx-speedway-mode,
  .rlfx-vadersbackyard-mode,
  .rlfx-cocoscozycabin-mode,
  .rlfx-serverroom-mode,
  .rlfx-uranusexplorer-mode,
  .rlfx-gamenight-mode,
  .rlfx-mountainclimb-mode,
  .rlfx-gonefishing-mode,
  .rlfx-clawmachine-mode,
  .rlfx-sewerninja-mode,
  .rlfx-bluescreenrescue-mode,
  .rlfx-pixeltux-mode,
  .rlfx-wwiifieldcamp-mode,
  .rlfx-hamshack-mode,
  .rlfx-beachbreak-mode,
  .rlfx-mineshaft-mode,
  .rlfx-homemadeicecream-mode,
  .rlfx-chefskitchen-mode,
  .rlfx-memorialday-mode,
  .rlfx-hummingbirdwatch-mode,
  .rlfx-milossweettea-mode,
  .rlfx-zoovisit-mode,
  .rlfx-tuxdj-mode,
  .rlfx-tankcommander-mode,
  .rlfx-buildatux-mode,
  .rlfx-tulsacenter-mode,
  .rlfx-cliffsofmoher-mode,
  .rlfx-dietcokelounge-mode,
  .rlfx-summerdew-mode,
  .rlfx-backyardsteaks-mode,
  .rlfx-tikitorch-mode,
  .rlfx-pineappleparadise-mode,
  .rlfx-gnomegarden-mode,
  .rlfx-rodeoride-mode,
  .rlfx-bigwavesurf-mode,
  .rlfx-findtuxfestival-mode,
  .rlfx-highstakespoker-mode,
  .rlfx-gokart-mode,
  .rlfx-garagejam-mode,
  .rlfx-newyearsday-mode,
  .rlfx-catchaos-mode,
  .rlfx-findtux-mode,
  .rlfx-skylinegolf-mode,
  .rlfx-snowboard-mode,
  .rlfx-skatepark-mode,
  .rlfx-laketubing-mode,
  .rlfx-linuxcoder-mode,
  .rlfx-ovaloffice-mode,
  .rlfx-pingpong-mode,
  .rlfx-supraturbo-mode,
  .rlfx-tornadotux-mode,
  .rlfx-billiards-mode,
  .rlfx-poolparty-mode,
  .rlfx-farmtractor-mode,
  .rlfx-lawnpatrol-mode,
  .rlfx-veteransday-mode,
  .rlfx-redlightcycle-mode
) .project-card {
  background-position: right 8px top 148px, 0 0, 0 0, 0 0 !important;
}
/* Vader has three separate edge illustrations: keep each in the text area. */
body.projects-page.rlfx-vadersbackyard-mode .project-card {
  background-position: right 15px top 148px, right 8px bottom 14px,
    right 8px top 180px, 0 0, 0 0 !important;
}
/* Restore the original stable window height on every Effects/Theme page.
   Short viewports cap the window; only the item grid scrolls. */
.rlfx-panel {
  height: min(548px, calc(var(--rlfx-vh, var(--rlfx-screen-height)) - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.rlfx-panel > :is(.rlfx-panel-title, .rlfx-tabs, .rlfx-pagination) { flex: 0 0 auto; }
.rlfx-panel > .rlfx-grid {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 640px) {
  .rlfx-panel {
    height: min(520px, calc(var(--rlfx-vh, var(--rlfx-screen-height)) - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
  }
}

/* UFO Abduction: visual copies never alter the page's theme or layout. */
.rlfx-ufo {
  pointer-events: auto;
  touch-action: none;
  isolation: isolate;
  background: radial-gradient(ellipse at 50% 8%, rgba(44,164,183,.15), transparent 65%), rgba(2,6,15,.20);
}
.rlfx-ufo-ship {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: auto;
  max-width: none;
  z-index: 5;
  pointer-events: none;
  will-change: transform;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
}
.rlfx-ufo-beam {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  clip-path: polygon(45% 0, 55% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(45% 0, 55% 0, 100% 100%, 0 100%);
  background: linear-gradient(to bottom, rgba(191,255,249,.95), rgba(34,234,224,.4) 35%, rgba(24,240,224,.08)),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(218,255,251,.2) 19px 21px, transparent 22px 38px);
}
.rlfx-ufo-beam-secondary {
  z-index: 2;
  background: linear-gradient(to bottom, rgba(255,164,241,.9), rgba(237,73,223,.2));
  clip-path: polygon(36% 0, 42% 0, 100% 100%, 80% 100%);
  -webkit-clip-path: polygon(36% 0, 42% 0, 100% 100%, 80% 100%);
}
.rlfx-ufo-card {
  position: absolute;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  transform-origin: center;
  will-change: transform, opacity;
  filter: drop-shadow(0 0 12px rgba(82,255,235,.45));
}
.rlfx-ufo-label {
  position: absolute;
  bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 32px);
  box-sizing: border-box;
  border: 1px solid rgba(116,255,237,.55);
  border-radius: 12px;
  padding: 12px 18px;
  background: rgba(5,16,27,.94);
  color: #c6fff4;
  box-shadow: 0 0 26px rgba(33,223,219,.16);
  font: 600 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: center;
  pointer-events: none;
}
@media (max-width: 640px) {
  .rlfx-ufo-label { font-size: 11px; padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-ufo-card, .rlfx-ufo-ship { will-change: auto; }
}

/* Paint and sprites live entirely above the current page. */
.rlfx-paintball {
  pointer-events: auto;
  touch-action: none;
  isolation: isolate;
}
.rlfx-paintball-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
  pointer-events: none;
}
.rlfx-paintball-tux {
  position: absolute;
  left: 12px;
  bottom: env(safe-area-inset-bottom, 0px);
  display: block;
  max-width: none;
  object-fit: contain;
  z-index: 2;
  transform-origin: 35% 85%;
  transform: translateY(110%);
  pointer-events: none;
  will-change: transform;
  filter: drop-shadow(0 7px 12px rgba(0,0,0,.55));
}
.rlfx-paintball-cannon { opacity: 0; }
.rlfx-paintball-label {
  position: absolute;
  left: 50%;
  top: calc(78px + env(safe-area-inset-top, 0px));
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 32px);
  box-sizing: border-box;
  z-index: 3;
  background: rgba(12,16,27,.94);
  border: 1px solid rgba(255,192,69,.65);
  border-radius: 12px;
  box-shadow: 0 4px 22px rgba(0,0,0,.35);
  padding: 11px 16px;
  color: #fff0b4;
  font: 600 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: center;
  pointer-events: none;
}
@media (max-width: 640px) {
  .rlfx-paintball-label { font-size: 11px; padding: 9px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-paintball-tux { will-change: auto; }
}

/* Disposable panel shows never replace a theme's page-positioning transform. */
.rlfx-bulldozer, .rlfx-disco {
  pointer-events: auto;
  touch-action: none;
  isolation: isolate;
}
.rlfx-show-card {
  position: absolute;
  z-index: 3;
  opacity: 0;
  transform-origin: center;
  pointer-events: none;
  will-change: transform;
}
.rlfx-show-label {
  position: absolute;
  left: 50%;
  top: calc(76px + env(safe-area-inset-top, 0px));
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 28px);
  box-sizing: border-box;
  z-index: 8;
  border: 1px solid rgba(255,208,68,.55);
  border-radius: 12px;
  padding: 10px 16px;
  background: rgba(10,17,26,.94);
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
  color: #fff0b7;
  font: 600 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: center;
  pointer-events: none;
}
.rlfx-bulldozer {
  background: linear-gradient(transparent 70%, rgba(40,25,5,.16));
}
.rlfx-dozer-machine {
  position: absolute;
  left: 0;
  bottom: calc(90px + env(safe-area-inset-bottom, 0px));
  display: block;
  height: auto;
  max-width: none;
  z-index: 9;
  pointer-events: none;
  transform: translateX(-110%);
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.45));
}
/* Keep the piled cards above the crane structure during the push, with Tux
   and the bulldozer always above them. Crane pickup assigns its own layer. */
.rlfx-bulldozer .rlfx-show-card { z-index: 7; }
.rlfx-dozer-crane { position: absolute; inset: 0; z-index: 5; opacity: 0; pointer-events: none; }
.rlfx-crane-mast {
  position: absolute;
  top: 100px;
  right: 16px;
  bottom: 65px;
  width: 32px;
  border: 4px solid #ffd345;
  background: repeating-linear-gradient(55deg, transparent 0 24px, #efb52f 25px 29px, transparent 30px 51px),
    repeating-linear-gradient(-55deg, transparent 0 24px, #efb52f 25px 29px, transparent 30px 51px);
  box-shadow: 2px 0 0 rgba(0,0,0,.55);
}
.rlfx-crane-boom {
  position: absolute;
  top: 100px;
  left: 18px;
  right: 12px;
  height: 20px;
  border: 4px solid #ffd345;
  background: repeating-linear-gradient(55deg, transparent 0 20px, #efb52f 21px 25px, transparent 26px 43px);
  box-shadow: 0 3px 6px rgba(0,0,0,.4);
}
.rlfx-crane-cable {
  position: absolute;
  top: 120px;
  width: 3px;
  height: 8px;
  background: linear-gradient(90deg, #3c4248, #e0e6eb, #424950);
  transform: translateX(-50%);
}
.rlfx-crane-hook {
  position: absolute;
  bottom: -12px;
  left: -7px;
  width: 14px;
  height: 16px;
  border: 4px solid #ffd345;
  border-top-color: transparent;
  border-right-color: transparent;
  border-radius: 0 0 50% 50%;
  transform: rotate(-20deg);
}
.rlfx-disco-spotlight {
  position: absolute;
  top: 28px;
  width: min(48vw, 680px);
  margin-left: max(-24vw, -340px);
  transform-origin: 50% 0;
  clip-path: polygon(49% 0, 51% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(49% 0, 51% 0, 100% 100%, 0 100%);
  background: linear-gradient(var(--disco-color), transparent);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}
.rlfx-disco-ball {
  position: absolute;
  left: 50%;
  top: 18px;
  width: 102px;
  height: 102px;
  border-radius: 50%;
  border: 1px solid #9aadc3;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.9), transparent 30%),
    repeating-linear-gradient(0deg, transparent 0 9px, rgba(8,17,29,.8) 10px 12px),
    repeating-linear-gradient(90deg, #8396ae 0 9px, #1f2e40 10px 12px);
  box-shadow: inset -18px -8px 28px rgba(0,0,0,.7), 0 0 24px rgba(117,210,255,.35);
  z-index: 7;
  transform: translate(-50%, -220px);
}
.rlfx-disco-chain { position: absolute; left: 50%; top: -16px; width: 2px; height: 35px; background: #b8c7d9; z-index: 7; }
.rlfx-disco-stage {
  position: absolute;
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  height: 55px;
  border: 2px solid #ce73ff;
  border-radius: 50%;
  background: radial-gradient(ellipse, #48105d, #161624 72%);
  box-shadow: 0 0 24px rgba(199,60,255,.28), inset 0 -8px 0 rgba(0,0,0,.65);
  z-index: 5;
  opacity: 0;
}
.rlfx-disco-tux {
  position: absolute;
  bottom: calc(83px + env(safe-area-inset-bottom, 0px));
  display: block;
  height: auto;
  max-width: none;
  z-index: 6;
  opacity: 0;
  transform-origin: 50% 95%;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.5));
  pointer-events: none;
}
.rlfx-disco-sparkle { position: absolute; font-size: 15px; opacity: 0; z-index: 2; pointer-events: none; }
.rlfx-disco .rlfx-show-label { top: calc(142px + env(safe-area-inset-top, 0px)); color: #ffe0ff; border-color: #b761d6; }
.rlfx-disco-sound {
  position: absolute;
  right: 16px;
  bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  z-index: 9;
  min-height: 44px;
  border: 1px solid #b761d6;
  border-radius: 9px;
  padding: 8px 12px;
  background: rgba(18,10,30,.95);
  color: #ffe1ff;
  cursor: pointer;
  font: 600 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.rlfx-disco-sound:disabled { opacity: .6; cursor: default; }
@media (max-width: 640px) {
  .rlfx-show-label { font-size: 10px; padding: 8px 10px; }
  .rlfx-crane-mast { right: 10px; width: 21px; }
  .rlfx-disco-ball { width: 82px; height: 82px; }
  .rlfx-disco .rlfx-show-label { top: calc(118px + env(safe-area-inset-top, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .rlfx-show-card { will-change: auto; }
}

/* Memorial Day: Tux and a retired operating system left, garden-stone panels right. */
body.rlfx-memorialday-mode { background: #18241b !important; }
body.rlfx-memorialday-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-memorialday-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(20, 33, 25, .94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-memorialday-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-memorialday-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-memorialday-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-memorialday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/memorial-day/flower-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(31,43,35,.88), rgba(23,32,27,.94)) !important;
  border: 1px solid rgba(185,206,165,.45) !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 rgba(178,78,84,.55), inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-memorialday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ebdfb9; }
body.rlfx-memorialday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p,li,.muted,.meta) { color: #d6dfd0; }
body.rlfx-memorialday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c5e2b7; }
body.rlfx-memorialday-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-memorialday-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-memorialday-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-memorialday-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-memorialday-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-memorialday-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #18241b;
}
.rlfx-memorialday-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/memorial-day/memorial-day-background.webp') center / 100% 100% no-repeat;
}
.rlfx-memorialday-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(14,24,17,.02) 0%,rgba(14,24,17,.08) 43%,rgba(14,24,17,.42) 60%,rgba(14,24,17,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-memorialday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-memorialday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-memorialday-vignette { background: rgba(14,24,17,.48); }
}
@media (max-width: 640px) {
  /* Keep Tux visible rather than centering on the empty lawn. */
  .rlfx-memorialday-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-memorialday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 56px !important; }
}
body:is(.rlfx-memorialday-mode, .rlfx-aquarium-mode) .rlfx-launcher {
  left: max(16px,env(safe-area-inset-left));
  right: auto;
  bottom: max(16px,env(safe-area-inset-bottom));
  align-items: flex-start;
}
body:is(.rlfx-memorialday-mode, .rlfx-aquarium-mode) .rlfx-panel {
  transform-origin: bottom left;
}
@media (min-width: 641px) {
  body:is(.rlfx-memorialday-mode, .rlfx-aquarium-mode) .rlfx-theme-preview-controls {
    left: max(16px,env(safe-area-inset-left));
    right: auto;
    bottom: max(16px,env(safe-area-inset-bottom));
  }
}
/* Project artwork retains the full image width; flowers sit below it. */
body.projects-page.rlfx-memorialday-mode .project-card {
  padding: 0 !important;
  background-position: right 8px top 148px,center,center !important;
}
body.projects-page.rlfx-memorialday-mode .project-body { padding-right: 60px; }

/* lawn-patrol theme: character left, panels right. */
body.rlfx-lawnpatrol-mode { background: #173321 !important; }
body.rlfx-lawnpatrol-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-lawnpatrol-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(20, 33, 25, .94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-lawnpatrol-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-lawnpatrol-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-lawnpatrol-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-lawnpatrol-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/lawn-patrol/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(20,60,34,.82), rgba(12,39,24,.91)) !important;
  border: 1px solid rgba(185,206,165,.45) !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 rgba(117,200,86,.65), inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-lawnpatrol-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #e4f3c8; }
body.rlfx-lawnpatrol-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p,li,.muted,.meta) { color: #d6dfd0; }
body.rlfx-lawnpatrol-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #c5e2b7; }
body.rlfx-lawnpatrol-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-lawnpatrol-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-lawnpatrol-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-lawnpatrol-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-lawnpatrol-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-lawnpatrol-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #173321;
}
.rlfx-lawnpatrol-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/lawn-patrol/lawn-patrol-background.webp') center / 100% 100% no-repeat;
}
.rlfx-lawnpatrol-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(14,24,17,.02) 0%,rgba(14,24,17,.08) 43%,rgba(14,24,17,.42) 60%,rgba(14,24,17,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-lawnpatrol-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-lawnpatrol-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-lawnpatrol-vignette { background: rgba(14,24,17,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side character on narrow screens. */
  .rlfx-lawnpatrol-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-lawnpatrol-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 56px !important; }
}
body.rlfx-lawnpatrol-mode .rlfx-launcher { left: max(16px,env(safe-area-inset-left)); right: auto; bottom: max(16px,env(safe-area-inset-bottom)); align-items: flex-start; }
body.rlfx-lawnpatrol-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 641px) { body.rlfx-lawnpatrol-mode .rlfx-theme-preview-controls { left: max(16px,env(safe-area-inset-left)); right: auto; bottom: max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-lawnpatrol-mode .project-card { padding: 0 !important; background-position: right 8px top 148px,center,center !important; }
body.projects-page.rlfx-lawnpatrol-mode .project-body { padding-right: 60px; }

/* veterans-day theme: character left, panels right. */
body.rlfx-veteransday-mode { background: #13233a !important; }
body.rlfx-veteransday-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-veteransday-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(17, 31, 52, .94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-veteransday-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-veteransday-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-veteransday-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-veteransday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/veterans-day/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(19,36,61,.85), rgba(10,23,42,.94)) !important;
  border: 1px solid rgba(170,197,227,.48) !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 rgba(178,78,84,.55), inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-veteransday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(h2,h3,h4) { color: #ebdfb9; }
body.rlfx-veteransday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) :is(p,li,.muted,.meta) { color: #d5dfed; }
body.rlfx-veteransday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) a { color: #a4d4ff; }
body.rlfx-veteransday-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-veteransday-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-veteransday-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-veteransday-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-veteransday-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-veteransday-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #13233a;
}
.rlfx-veteransday-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/veterans-day/veterans-day-background.webp') center / 100% 100% no-repeat;
}
.rlfx-veteransday-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(10,20,35,.02) 0%,rgba(10,20,35,.08) 43%,rgba(10,20,35,.42) 60%,rgba(10,20,35,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-veteransday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-veteransday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-veteransday-vignette { background: rgba(10,20,35,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side character on narrow screens. */
  .rlfx-veteransday-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-veteransday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel) { padding-right: 56px !important; }
}
body.rlfx-veteransday-mode .rlfx-launcher { left: max(16px,env(safe-area-inset-left)); right: auto; bottom: max(16px,env(safe-area-inset-bottom)); align-items: flex-start; }
body.rlfx-veteransday-mode .rlfx-panel { transform-origin: bottom left; }
@media (min-width: 641px) { body.rlfx-veteransday-mode .rlfx-theme-preview-controls { left: max(16px,env(safe-area-inset-left)); right: auto; bottom: max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-veteransday-mode .project-card { padding: 0 !important; background-position: right 8px top 148px,center,center !important; }
body.projects-page.rlfx-veteransday-mode .project-body { padding-right: 60px; }

/* A quiet flyover every 32 seconds; the formation moves as one object. */
.rlfx-veteransday-flyover { position:absolute; top:12%; left:0; width:190px; height:85px; opacity:0; animation:rlfx-veterans-flyover 32s linear infinite; pointer-events:none; }
.rlfx-veteransday-flyover i { position:absolute; width:66px; height:30px; background:#c4d0da; clip-path:polygon(100% 50%,62% 39%,36% 0,26% 0,35% 42%,10% 40%,0 20%,0 80%,10% 60%,35% 58%,26% 100%,36% 100%,62% 61%); filter:drop-shadow(0 2px 2px #182539); }
.rlfx-veteransday-flyover i:nth-child(1) { left:110px; top:28px; }
.rlfx-veteransday-flyover i:nth-child(2) { left:42px; top:0; }
.rlfx-veteransday-flyover i:nth-child(3) { left:42px; top:56px; }
@keyframes rlfx-veterans-flyover { 0%,7% {opacity:0;transform:translateX(-210px);} 9% {opacity:.68;} 25% {opacity:.68;transform:translateX(calc(var(--rlfx-vw,100vw) + 210px));} 26%,100% {opacity:0;transform:translateX(calc(var(--rlfx-vw,100vw) + 210px));} }
@media (prefers-reduced-motion:reduce) { .rlfx-veteransday-flyover { display:none; animation:none; } }

/* Skyline Golf */
body.rlfx-skylinegolf-mode { background: #163d32 !important; }
body.rlfx-skylinegolf-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-skylinegolf-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(22,61,50,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-skylinegolf-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-skylinegolf-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-skylinegolf-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-skylinegolf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/skyline-golf/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(22,61,50,.84), rgba(13,38,31,.94)) !important;
  border: 1px solid #a6df9770 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #a6df9770, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-skylinegolf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-skylinegolf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-skylinegolf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #a6df97; }
body.rlfx-skylinegolf-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-skylinegolf-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-skylinegolf-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-skylinegolf-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-skylinegolf-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-skylinegolf-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #163d32;
}
.rlfx-skylinegolf-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/skyline-golf/skyline-golf-background.webp') center / 100% 100% no-repeat;
}
.rlfx-skylinegolf-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(13,38,31,.02) 0%,rgba(13,38,31,.08) 43%,rgba(13,38,31,.42) 60%,rgba(13,38,31,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-skylinegolf-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-skylinegolf-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-skylinegolf-vignette { background: rgba(13,38,31,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-skylinegolf-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-skylinegolf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-skylinegolf-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-skylinegolf-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-skylinegolf-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-skylinegolf-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-skylinegolf-mode .project-body { padding-right:60px; }

/* Snowboard */
body.rlfx-snowboard-mode { background: #203950 !important; }
body.rlfx-snowboard-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-snowboard-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(32,57,80,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-snowboard-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-snowboard-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-snowboard-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-snowboard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/snowboard/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(32,57,80,.84), rgba(20,35,50,.94)) !important;
  border: 1px solid #c1e8ff70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c1e8ff70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-snowboard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-snowboard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-snowboard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #c1e8ff; }
body.rlfx-snowboard-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-snowboard-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-snowboard-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-snowboard-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-snowboard-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-snowboard-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #203950;
}
.rlfx-snowboard-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/snowboard/snowboard-background.webp') center / 100% 100% no-repeat;
}
.rlfx-snowboard-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(20,35,50,.02) 0%,rgba(20,35,50,.08) 43%,rgba(20,35,50,.42) 60%,rgba(20,35,50,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-snowboard-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-snowboard-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-snowboard-vignette { background: rgba(20,35,50,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-snowboard-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-snowboard-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-snowboard-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-snowboard-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-snowboard-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-snowboard-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-snowboard-mode .project-body { padding-right:60px; }

/* Skate Park */
body.rlfx-skatepark-mode { background: #393044 !important; }
body.rlfx-skatepark-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-skatepark-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(57,48,68,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-skatepark-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-skatepark-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-skatepark-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-skatepark-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/skate-park/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(57,48,68,.84), rgba(35,30,42,.94)) !important;
  border: 1px solid #e6b29b70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e6b29b70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-skatepark-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-skatepark-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-skatepark-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e6b29b; }
body.rlfx-skatepark-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-skatepark-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-skatepark-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-skatepark-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-skatepark-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-skatepark-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #393044;
}
.rlfx-skatepark-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/skate-park/skate-park-background.webp') center / 100% 100% no-repeat;
}
.rlfx-skatepark-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(35,30,42,.02) 0%,rgba(35,30,42,.08) 43%,rgba(35,30,42,.42) 60%,rgba(35,30,42,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-skatepark-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-skatepark-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-skatepark-vignette { background: rgba(35,30,42,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-skatepark-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-skatepark-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-skatepark-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-skatepark-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-skatepark-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-skatepark-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-skatepark-mode .project-body { padding-right:60px; }

/* Lake Tubing */
body.rlfx-laketubing-mode { background: #123e51 !important; }
body.rlfx-laketubing-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-laketubing-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(18,62,81,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-laketubing-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-laketubing-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-laketubing-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-laketubing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/lake-tubing/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(18,62,81,.84), rgba(11,39,51,.94)) !important;
  border: 1px solid #8bdfed70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #8bdfed70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-laketubing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-laketubing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-laketubing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #8bdfed; }
body.rlfx-laketubing-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-laketubing-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-laketubing-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-laketubing-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-laketubing-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-laketubing-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #123e51;
}
.rlfx-laketubing-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/lake-tubing/lake-tubing-background.webp') center / 100% 100% no-repeat;
}
.rlfx-laketubing-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(11,39,51,.02) 0%,rgba(11,39,51,.08) 43%,rgba(11,39,51,.42) 60%,rgba(11,39,51,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-laketubing-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-laketubing-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-laketubing-vignette { background: rgba(11,39,51,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-laketubing-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-laketubing-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-laketubing-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-laketubing-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-laketubing-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-laketubing-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-laketubing-mode .project-body { padding-right:60px; }

/* Linux Coder */
body.rlfx-linuxcoder-mode { background: #102c24 !important; }
body.rlfx-linuxcoder-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-linuxcoder-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(16,44,36,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-linuxcoder-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-linuxcoder-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-linuxcoder-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-linuxcoder-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/linux-coder/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(16,44,36,.84), rgba(10,27,22,.94)) !important;
  border: 1px solid #7cdb9670 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #7cdb9670, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-linuxcoder-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-linuxcoder-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-linuxcoder-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #7cdb96; }
body.rlfx-linuxcoder-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-linuxcoder-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-linuxcoder-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-linuxcoder-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-linuxcoder-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-linuxcoder-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #102c24;
}
.rlfx-linuxcoder-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/linux-coder/linux-coder-background.webp') center / 100% 100% no-repeat;
}
.rlfx-linuxcoder-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(10,27,22,.02) 0%,rgba(10,27,22,.08) 43%,rgba(10,27,22,.42) 60%,rgba(10,27,22,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-linuxcoder-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-linuxcoder-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-linuxcoder-vignette { background: rgba(10,27,22,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-linuxcoder-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-linuxcoder-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-linuxcoder-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-linuxcoder-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-linuxcoder-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-linuxcoder-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-linuxcoder-mode .project-body { padding-right:60px; }

/* Presidents Day */
body.rlfx-ovaloffice-mode { background: #273346 !important; }
body.rlfx-ovaloffice-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-ovaloffice-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(39,51,70,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-ovaloffice-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-ovaloffice-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-ovaloffice-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-ovaloffice-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/oval-office/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(39,51,70,.84), rgba(24,32,44,.94)) !important;
  border: 1px solid #d9bd7770 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d9bd7770, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-ovaloffice-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-ovaloffice-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-ovaloffice-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #d9bd77; }
body.rlfx-ovaloffice-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-ovaloffice-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-ovaloffice-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-ovaloffice-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-ovaloffice-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-ovaloffice-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #273346;
}
.rlfx-ovaloffice-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/oval-office/oval-office-background.webp') center / 100% 100% no-repeat;
}
.rlfx-ovaloffice-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(24,32,44,.02) 0%,rgba(24,32,44,.08) 43%,rgba(24,32,44,.42) 60%,rgba(24,32,44,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-ovaloffice-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-ovaloffice-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-ovaloffice-vignette { background: rgba(24,32,44,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-ovaloffice-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-ovaloffice-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-ovaloffice-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-ovaloffice-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-ovaloffice-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-ovaloffice-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-ovaloffice-mode .project-body { padding-right:60px; }

/* Ping-Pong */
body.rlfx-pingpong-mode { background: #243654 !important; }
body.rlfx-pingpong-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-pingpong-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(36,54,84,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-pingpong-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-pingpong-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-pingpong-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-pingpong-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/ping-pong/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(36,54,84,.84), rgba(22,34,52,.94)) !important;
  border: 1px solid #efb39d70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efb39d70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-pingpong-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-pingpong-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-pingpong-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #efb39d; }
body.rlfx-pingpong-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-pingpong-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-pingpong-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-pingpong-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-pingpong-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-pingpong-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #243654;
}
.rlfx-pingpong-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/ping-pong/ping-pong-background.webp') center / 100% 100% no-repeat;
}
.rlfx-pingpong-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(22,34,52,.02) 0%,rgba(22,34,52,.08) 43%,rgba(22,34,52,.42) 60%,rgba(22,34,52,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-pingpong-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-pingpong-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-pingpong-vignette { background: rgba(22,34,52,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-pingpong-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-pingpong-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-pingpong-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-pingpong-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-pingpong-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-pingpong-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-pingpong-mode .project-body { padding-right:60px; }

/* Supra Turbo */
body.rlfx-supraturbo-mode { background: #202632 !important; }
body.rlfx-supraturbo-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-supraturbo-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(32,38,50,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-supraturbo-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-supraturbo-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-supraturbo-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-supraturbo-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/supra-turbo/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(32,38,50,.84), rgba(20,23,31,.94)) !important;
  border: 1px solid #ed777770 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ed777770, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-supraturbo-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-supraturbo-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-supraturbo-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #ed7777; }
body.rlfx-supraturbo-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-supraturbo-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-supraturbo-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-supraturbo-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-supraturbo-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-supraturbo-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #202632;
}
.rlfx-supraturbo-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/supra-turbo/supra-turbo-background.webp') center / 100% 100% no-repeat;
}
.rlfx-supraturbo-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(20,23,31,.02) 0%,rgba(20,23,31,.08) 43%,rgba(20,23,31,.42) 60%,rgba(20,23,31,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-supraturbo-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-supraturbo-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-supraturbo-vignette { background: rgba(20,23,31,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-supraturbo-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-supraturbo-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-supraturbo-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-supraturbo-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-supraturbo-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-supraturbo-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-supraturbo-mode .project-body { padding-right:60px; }

/* Tornado Tux */
body.rlfx-tornadotux-mode { background: #34363d !important; }
body.rlfx-tornadotux-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-tornadotux-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(52,54,61,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-tornadotux-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-tornadotux-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-tornadotux-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-tornadotux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/tornado-tux/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(52,54,61,.84), rgba(32,34,38,.94)) !important;
  border: 1px solid #d1c7ae70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d1c7ae70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-tornadotux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-tornadotux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-tornadotux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #d1c7ae; }
body.rlfx-tornadotux-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-tornadotux-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-tornadotux-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-tornadotux-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-tornadotux-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-tornadotux-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #34363d;
}
.rlfx-tornadotux-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/tornado-tux/tornado-tux-background.webp') center / 100% 100% no-repeat;
}
.rlfx-tornadotux-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(32,34,38,.02) 0%,rgba(32,34,38,.08) 43%,rgba(32,34,38,.42) 60%,rgba(32,34,38,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-tornadotux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-tornadotux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-tornadotux-vignette { background: rgba(32,34,38,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-tornadotux-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-tornadotux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-tornadotux-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-tornadotux-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-tornadotux-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-tornadotux-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-tornadotux-mode .project-body { padding-right:60px; }

/* Billiards */
body.rlfx-billiards-mode { background: #153c30 !important; }
body.rlfx-billiards-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-billiards-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(21,60,48,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-billiards-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-billiards-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-billiards-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-billiards-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/billiards/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(21,60,48,.84), rgba(13,37,30,.94)) !important;
  border: 1px solid #dab77770 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #dab77770, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-billiards-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-billiards-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-billiards-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #dab777; }
body.rlfx-billiards-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-billiards-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-billiards-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-billiards-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-billiards-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-billiards-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #153c30;
}
.rlfx-billiards-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/billiards/billiards-background.webp') center / 100% 100% no-repeat;
}
.rlfx-billiards-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(13,37,30,.02) 0%,rgba(13,37,30,.08) 43%,rgba(13,37,30,.42) 60%,rgba(13,37,30,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-billiards-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-billiards-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-billiards-vignette { background: rgba(13,37,30,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-billiards-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-billiards-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-billiards-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-billiards-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-billiards-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-billiards-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-billiards-mode .project-body { padding-right:60px; }

/* Pool Party */
body.rlfx-poolparty-mode { background: #16414b !important; }
body.rlfx-poolparty-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-poolparty-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(22,65,75,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-poolparty-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-poolparty-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-poolparty-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-poolparty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/pool-party/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(22,65,75,.84), rgba(13,40,47,.94)) !important;
  border: 1px solid #efb2cc70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efb2cc70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-poolparty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-poolparty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-poolparty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #efb2cc; }
body.rlfx-poolparty-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-poolparty-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-poolparty-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-poolparty-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-poolparty-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-poolparty-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #16414b;
}
.rlfx-poolparty-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/pool-party/pool-party-background.webp') center / 100% 100% no-repeat;
}
.rlfx-poolparty-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(13,40,47,.02) 0%,rgba(13,40,47,.08) 43%,rgba(13,40,47,.42) 60%,rgba(13,40,47,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-poolparty-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-poolparty-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-poolparty-vignette { background: rgba(13,40,47,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-poolparty-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-poolparty-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-poolparty-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-poolparty-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-poolparty-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-poolparty-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-poolparty-mode .project-body { padding-right:60px; }

/* Farm Tractor */
body.rlfx-farmtractor-mode { background: #373c26 !important; }
body.rlfx-farmtractor-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-farmtractor-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(55,60,38,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-farmtractor-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-farmtractor-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-farmtractor-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-farmtractor-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/farm-tractor/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(55,60,38,.84), rgba(34,37,23,.94)) !important;
  border: 1px solid #d4c28a70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d4c28a70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-farmtractor-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-farmtractor-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-farmtractor-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #d4c28a; }
body.rlfx-farmtractor-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-farmtractor-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-farmtractor-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-farmtractor-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-farmtractor-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-farmtractor-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #373c26;
}
.rlfx-farmtractor-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/farm-tractor/farm-tractor-background.webp') center / 100% 100% no-repeat;
}
.rlfx-farmtractor-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(34,37,23,.02) 0%,rgba(34,37,23,.08) 43%,rgba(34,37,23,.42) 60%,rgba(34,37,23,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-farmtractor-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-farmtractor-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-farmtractor-vignette { background: rgba(34,37,23,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-farmtractor-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-farmtractor-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-farmtractor-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-farmtractor-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-farmtractor-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-farmtractor-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-farmtractor-mode .project-body { padding-right:60px; }

/* Cat Chaos */
body.rlfx-catchaos-mode { background: #393044 !important; }
body.rlfx-catchaos-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-catchaos-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(57,48,68,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-catchaos-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-catchaos-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-catchaos-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-catchaos-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/cat-chaos/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(57,48,68,.84), rgba(35,30,42,.94)) !important;
  border: 1px solid #efbacf70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #efbacf70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-catchaos-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-catchaos-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-catchaos-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #efbacf; }
body.rlfx-catchaos-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-catchaos-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-catchaos-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-catchaos-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-catchaos-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-catchaos-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #393044;
}
.rlfx-catchaos-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1673 / 940));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 940 / 1673));
  transform: translateY(-50%);
  background: url('/effects/assets/cat-chaos/cat-chaos-background.webp') center / 100% 100% no-repeat;
}
.rlfx-catchaos-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(35,30,42,.02) 0%,rgba(35,30,42,.08) 43%,rgba(35,30,42,.42) 60%,rgba(35,30,42,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-catchaos-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-catchaos-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-catchaos-vignette { background: rgba(35,30,42,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-catchaos-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-catchaos-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-catchaos-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-catchaos-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-catchaos-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-catchaos-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-catchaos-mode .project-body { padding-right:60px; }

/* Find Tux */
body.rlfx-findtux-mode { background: #3d3330 !important; }
body.rlfx-findtux-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-findtux-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(61,51,48,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-findtux-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-findtux-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-findtux-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-findtux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/find-tux/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(61,51,48,.84), rgba(38,32,30,.94)) !important;
  border: 1px solid #edd8a270 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #edd8a270, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-findtux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-findtux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-findtux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #edd8a2; }
body.rlfx-findtux-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-findtux-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-findtux-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-findtux-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-findtux-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-findtux-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #3d3330;
}
.rlfx-findtux-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/find-tux/find-tux-background.webp') center / 100% 100% no-repeat;
}
.rlfx-findtux-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(38,32,30,.02) 0%,rgba(38,32,30,.08) 43%,rgba(38,32,30,.42) 60%,rgba(38,32,30,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-findtux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-findtux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-findtux-vignette { background: rgba(38,32,30,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-findtux-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-findtux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-findtux-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-findtux-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-findtux-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-findtux-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-findtux-mode .project-body { padding-right:60px; }

/* Keep the search subject inside the crop on tall screens without exposing edges. */
.rlfx-findtux-backdrop {
  --rlfx-puzzle-width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  left: clamp(calc(var(--rlfx-vw,100vw) - var(--rlfx-puzzle-width)),calc(var(--rlfx-vw,100vw) * .25 - var(--rlfx-puzzle-width) * .213),0px);
}

.rlfx-findtux-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; max-width:calc(var(--rlfx-vw,100vw) - 32px); }
.rlfx-findtux-view-image {
  border:1px solid rgba(237,216,162,.58); border-radius:10px;
  background:rgba(38,31,27,.94); color:#f5e6bd; padding:10px 12px;
  font:inherit; font-size:.74rem; font-weight:700; cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
}
.rlfx-findtux-view-image:hover { background:#51422f; }
.rlfx-findtux-view-image:focus-visible, .rlfx-findtux-image-close:focus-visible { outline:3px solid #edd8a2; outline-offset:3px; }
.rlfx-findtux-image-viewer, .rlfx-findtux-image-viewer:fullscreen {
  position:fixed; inset:0; margin:0; padding:0; border:0;
  box-sizing:border-box; width:100%; height:100%; max-width:none; max-height:none;
  background:#080b10; color:#fff; overflow:hidden; z-index:2147483647;
  display:block; isolation:isolate; visibility:visible !important; opacity:1 !important;
  transform:none !important; filter:none !important; pointer-events:auto;
}
body.rlfx-findtux-image-open > :not(.rlfx-findtux-image-viewer),
body.rlfx-findtux-image-open > :not(.rlfx-findtux-image-viewer) * {
  visibility:hidden !important; pointer-events:none !important;
}
.rlfx-findtux-image-viewer::backdrop { background:#080b10; }
.rlfx-findtux-image-viewer img { display:block; width:100%; height:100%; object-fit:contain; }
.rlfx-findtux-image-close {
  position:absolute; right:max(16px,env(safe-area-inset-right)); top:max(16px,env(safe-area-inset-top));
  padding:12px 16px; border:1px solid #edd8a2; border-radius:10px;
  background:rgba(10,14,20,.94); color:#fff; font:700 14px system-ui,sans-serif;
  cursor:pointer; box-shadow:0 4px 20px rgba(0,0,0,.5);
}

/* New Year’s Day */
body.rlfx-newyearsday-mode { background: #251f3d !important; }
body.rlfx-newyearsday-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-newyearsday-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(37,31,61,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-newyearsday-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-newyearsday-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-newyearsday-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-newyearsday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/new-years-day/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(37,31,61,.84), rgba(23,19,38,.94)) !important;
  border: 1px solid #edc76c70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #edc76c70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-newyearsday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-newyearsday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-newyearsday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #edc76c; }
body.rlfx-newyearsday-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-newyearsday-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-newyearsday-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-newyearsday-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-newyearsday-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-newyearsday-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #251f3d;
}
.rlfx-newyearsday-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/new-years-day/new-years-day-background.webp') center / 100% 100% no-repeat;
}
.rlfx-newyearsday-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(23,19,38,.02) 0%,rgba(23,19,38,.08) 43%,rgba(23,19,38,.42) 60%,rgba(23,19,38,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-newyearsday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-newyearsday-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-newyearsday-vignette { background: rgba(23,19,38,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-newyearsday-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-newyearsday-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-newyearsday-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-newyearsday-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-newyearsday-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-newyearsday-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-newyearsday-mode .project-body { padding-right:60px; }

.rlfx-newyearsday-confetti { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.rlfx-newyearsday-confetti i {
  position:absolute; top:-35px; width:7px; height:11px; border-radius:1px; opacity:.7;
  animation:rlfx-newyearsday-confetti-fall var(--duration) linear var(--delay) infinite;
}
@keyframes rlfx-newyearsday-confetti-fall {
  from { transform:translate3d(0,-40px,0) rotate(0deg); }
  to { transform:translate3d(var(--drift),calc(var(--rlfx-vh,100vh) + 50px),0) rotate(540deg); }
}
@media(prefers-reduced-motion:reduce) {
  .rlfx-newyearsday-confetti { display:none; }
  .rlfx-newyearsday-confetti i { animation:none; }
}

/* Garage Jam */
body.rlfx-garagejam-mode { background: #2c2424 !important; }
body.rlfx-garagejam-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-garagejam-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(44,36,36,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-garagejam-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-garagejam-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-garagejam-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-garagejam-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/garage-jam/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    radial-gradient(circle,rgba(230,220,200,.08) 1px,transparent 1.5px) center / 7px 7px repeat,
    linear-gradient(180deg, rgba(44,36,36,.84), rgba(27,22,22,.94)) !important;
  border: 1px solid #e8ad7070 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 rgba(198,69,58,.7), inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-garagejam-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-garagejam-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-garagejam-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e8ad70; }
body.rlfx-garagejam-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-garagejam-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-garagejam-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-garagejam-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-garagejam-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-garagejam-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #2c2424;
}
.rlfx-garagejam-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/garage-jam/garage-jam-background.webp') center / 100% 100% no-repeat;
}
.rlfx-garagejam-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(27,22,22,.02) 0%,rgba(27,22,22,.08) 43%,rgba(27,22,22,.42) 60%,rgba(27,22,22,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-garagejam-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-garagejam-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-garagejam-vignette { background: rgba(27,22,22,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-garagejam-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-garagejam-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-garagejam-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-garagejam-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-garagejam-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-garagejam-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-garagejam-mode .project-body { padding-right:60px; }

/* High Stakes Poker */
body.rlfx-highstakespoker-mode { background: #17352b !important; }
body.rlfx-highstakespoker-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-highstakespoker-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(23,53,43,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-highstakespoker-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-highstakespoker-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-highstakespoker-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-highstakespoker-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/high-stakes-poker/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(23,53,43,.84), rgba(14,33,27,.94)) !important;
  border: 1px solid #dfbd7070 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #dfbd7070, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-highstakespoker-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-highstakespoker-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-highstakespoker-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #dfbd70; }
body.rlfx-highstakespoker-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-highstakespoker-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-highstakespoker-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-highstakespoker-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-highstakespoker-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-highstakespoker-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #17352b;
}
.rlfx-highstakespoker-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/high-stakes-poker/high-stakes-poker-background.webp') center / 100% 100% no-repeat;
}
.rlfx-highstakespoker-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(14,33,27,.02) 0%,rgba(14,33,27,.08) 43%,rgba(14,33,27,.42) 60%,rgba(14,33,27,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-highstakespoker-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-highstakespoker-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-highstakespoker-vignette { background: rgba(14,33,27,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-highstakespoker-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-highstakespoker-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-highstakespoker-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-highstakespoker-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-highstakespoker-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-highstakespoker-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-highstakespoker-mode .project-body { padding-right:60px; }

/* Go-Kart */
body.rlfx-gokart-mode { background: #242b35 !important; }
body.rlfx-gokart-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-gokart-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(36,43,53,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-gokart-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-gokart-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-gokart-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-gokart-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/go-kart/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(36,43,53,.84), rgba(22,27,33,.94)) !important;
  border: 1px solid #f3958570 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #f3958570, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-gokart-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-gokart-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-gokart-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #f39585; }
body.rlfx-gokart-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-gokart-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-gokart-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-gokart-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-gokart-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-gokart-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #242b35;
}
.rlfx-gokart-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/go-kart/go-kart-background.webp') center / 100% 100% no-repeat;
}
.rlfx-gokart-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(22,27,33,.02) 0%,rgba(22,27,33,.08) 43%,rgba(22,27,33,.42) 60%,rgba(22,27,33,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-gokart-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-gokart-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-gokart-vignette { background: rgba(22,27,33,.48); }
}
@media (max-width: 640px) {
  /* Keep the left-side subject visible on narrow screens. */
  .rlfx-gokart-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-gokart-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-gokart-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-gokart-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-gokart-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-gokart-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-gokart-mode .project-body { padding-right:60px; }

@media(max-width:640px) {
 .rlfx-highstakespoker-backdrop {
  left:clamp(calc(var(--rlfx-vw,100vw) - max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh)*1672/941))),calc(var(--rlfx-vw,100vw)*.5 - max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh)*1672/941))*.27),0px);
 }
}

@media(max-width:640px) {
 .rlfx-gokart-backdrop {
  left:clamp(calc(var(--rlfx-vw,100vw) - max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh)*1672/941))),calc(var(--rlfx-vw,100vw)*.5 - max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh)*1672/941))*.27),0px);
 }
}

/* Eight visual shows: isolated layers and disposable snapshots. */
.rlfx-visual-show { pointer-events:auto; touch-action:none; isolation:isolate; }
.rlfx-visual-show .rlfx-show-card { z-index:30; }
.rlfx-visual-show .rlfx-show-label { z-index:80; color:#e7f4ff; border-color:rgba(132,195,237,.6); background:rgba(8,17,26,.93); }
.rlfx-visual-canvas { position:absolute; left:0; top:0; pointer-events:none; }
.rlfx-visual-tux { position:absolute; left:0; top:0; z-index:35; object-fit:contain; pointer-events:none; transform-origin:center; filter:drop-shadow(0 8px 12px rgba(0,0,0,.4)); will-change:transform; opacity:0; }
.rlfx-visual-portal { position:absolute; width:clamp(75px,10vw,160px); height:clamp(145px,26vh,270px); border:7px solid #54d6f7; border-radius:50%; background:radial-gradient(ellipse,#040b17 25%,#0b2638 65%,#26b9e6); box-shadow:0 0 18px #34bada,inset 0 0 22px #8cecfa; z-index:15; pointer-events:none; }
.rlfx-visual-portal::after { content:""; position:absolute; inset:-14px; border:2px dashed rgba(168,241,255,.65); border-radius:50%; }
.rlfx-visual-portal.portal-gold { border-color:#ffd076; background:radial-gradient(ellipse,#130a06 25%,#543510 65%,#e9a232); box-shadow:0 0 18px #d69424,inset 0 0 22px #fff0b9; }
.rlfx-visual-portal.portal-gold::after { border-color:rgba(255,226,151,.75); }
.rlfx-kaiju-tux .rlfx-visual-tux { z-index:60; }
.rlfx-kaiju-background { position:absolute; inset:0; z-index:0; pointer-events:none; }
@media(max-width:640px){.rlfx-visual-show .rlfx-show-label{font-size:10px;padding:8px 11px}.rlfx-visual-portal{border-width:5px}}
@media(prefers-reduced-motion:reduce){.rlfx-visual-tux{will-change:auto}.rlfx-visual-portal{box-shadow:0 0 8px #63c0d1}}

/* Tiki Torch */
body.rlfx-tikitorch-mode { background: #30251b !important; }
body.rlfx-tikitorch-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-tikitorch-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(48,37,27,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-tikitorch-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-tikitorch-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-tikitorch-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-tikitorch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/tiki-torch/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(48,37,27,.82), rgba(30,23,17,.91)) !important;
  border: 1px solid #ffbd6b70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ffbd6b70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-tikitorch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-tikitorch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-tikitorch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #ffbd6b; }
body.rlfx-tikitorch-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-tikitorch-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-tikitorch-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-tikitorch-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-tikitorch-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-tikitorch-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #30251b;
}
.rlfx-tikitorch-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/tiki-torch/tiki-torch-background.webp') center / 100% 100% no-repeat;
}
.rlfx-tikitorch-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(30,23,17,.02) 0%,rgba(30,23,17,.08) 43%,rgba(30,23,17,.42) 60%,rgba(30,23,17,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-tikitorch-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-tikitorch-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-tikitorch-vignette { background: rgba(30,23,17,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-tikitorch-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-tikitorch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-tikitorch-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-tikitorch-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-tikitorch-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-tikitorch-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-tikitorch-mode .project-body { padding-right:60px; }

/* Pineapple Paradise */
body.rlfx-pineappleparadise-mode { background: #243321 !important; }
body.rlfx-pineappleparadise-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-pineappleparadise-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(36,51,33,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-pineappleparadise-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-pineappleparadise-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-pineappleparadise-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-pineappleparadise-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/pineapple-paradise/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(36,51,33,.82), rgba(22,32,20,.91)) !important;
  border: 1px solid #f5d96970 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #f5d96970, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-pineappleparadise-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-pineappleparadise-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-pineappleparadise-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #f5d969; }
body.rlfx-pineappleparadise-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-pineappleparadise-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-pineappleparadise-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-pineappleparadise-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-pineappleparadise-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-pineappleparadise-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #243321;
}
.rlfx-pineappleparadise-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 940));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 940 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/pineapple-paradise/pineapple-paradise-background.webp') center / 100% 100% no-repeat;
}
.rlfx-pineappleparadise-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(22,32,20,.02) 0%,rgba(22,32,20,.08) 43%,rgba(22,32,20,.42) 60%,rgba(22,32,20,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-pineappleparadise-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-pineappleparadise-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-pineappleparadise-vignette { background: rgba(22,32,20,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-pineappleparadise-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-pineappleparadise-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-pineappleparadise-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-pineappleparadise-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-pineappleparadise-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-pineappleparadise-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-pineappleparadise-mode .project-body { padding-right:60px; }

/* Gnome Garden */
body.rlfx-gnomegarden-mode { background: #29312a !important; }
body.rlfx-gnomegarden-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-gnomegarden-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(41,49,42,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-gnomegarden-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-gnomegarden-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-gnomegarden-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-gnomegarden-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/gnome-garden/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(41,49,42,.82), rgba(25,30,26,.91)) !important;
  border: 1px solid #dfb09070 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #dfb09070, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-gnomegarden-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-gnomegarden-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-gnomegarden-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #dfb090; }
body.rlfx-gnomegarden-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-gnomegarden-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-gnomegarden-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-gnomegarden-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-gnomegarden-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-gnomegarden-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #29312a;
}
.rlfx-gnomegarden-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1983 / 793));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 793 / 1983));
  transform: translateY(-50%);
  background: url('/effects/assets/gnome-garden/gnome-garden-background.webp') center / 100% 100% no-repeat;
}
.rlfx-gnomegarden-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(25,30,26,.02) 0%,rgba(25,30,26,.08) 43%,rgba(25,30,26,.42) 60%,rgba(25,30,26,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-gnomegarden-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-gnomegarden-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-gnomegarden-vignette { background: rgba(25,30,26,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-gnomegarden-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-gnomegarden-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-gnomegarden-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-gnomegarden-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-gnomegarden-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-gnomegarden-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-gnomegarden-mode .project-body { padding-right:60px; }

/* Rodeo Ride */
body.rlfx-rodeoride-mode { background: #382b24 !important; }
body.rlfx-rodeoride-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-rodeoride-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(56,43,36,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-rodeoride-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-rodeoride-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-rodeoride-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-rodeoride-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/rodeo-ride/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(56,43,36,.82), rgba(35,27,22,.91)) !important;
  border: 1px solid #e9ba7f70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e9ba7f70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-rodeoride-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-rodeoride-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-rodeoride-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e9ba7f; }
body.rlfx-rodeoride-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-rodeoride-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-rodeoride-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-rodeoride-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-rodeoride-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-rodeoride-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #382b24;
}
.rlfx-rodeoride-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/rodeo-ride/rodeo-ride-background.webp') center / 100% 100% no-repeat;
}
.rlfx-rodeoride-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(35,27,22,.02) 0%,rgba(35,27,22,.08) 43%,rgba(35,27,22,.42) 60%,rgba(35,27,22,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-rodeoride-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-rodeoride-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-rodeoride-vignette { background: rgba(35,27,22,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-rodeoride-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-rodeoride-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-rodeoride-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-rodeoride-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-rodeoride-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-rodeoride-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-rodeoride-mode .project-body { padding-right:60px; }

/* Big Wave Surf */
body.rlfx-bigwavesurf-mode { background: #113b48 !important; }
body.rlfx-bigwavesurf-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-bigwavesurf-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(17,59,72,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-bigwavesurf-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-bigwavesurf-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-bigwavesurf-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-bigwavesurf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/big-wave-surf/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(17,59,72,.82), rgba(10,37,45,.91)) !important;
  border: 1px solid #83e5e770 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #83e5e770, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-bigwavesurf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-bigwavesurf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-bigwavesurf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #83e5e7; }
body.rlfx-bigwavesurf-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-bigwavesurf-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-bigwavesurf-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-bigwavesurf-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-bigwavesurf-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-bigwavesurf-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #113b48;
}
.rlfx-bigwavesurf-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/big-wave-surf/big-wave-surf-background.webp') center / 100% 100% no-repeat;
}
.rlfx-bigwavesurf-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(10,37,45,.02) 0%,rgba(10,37,45,.08) 43%,rgba(10,37,45,.42) 60%,rgba(10,37,45,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-bigwavesurf-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-bigwavesurf-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-bigwavesurf-vignette { background: rgba(10,37,45,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-bigwavesurf-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-bigwavesurf-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-bigwavesurf-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-bigwavesurf-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-bigwavesurf-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-bigwavesurf-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-bigwavesurf-mode .project-body { padding-right:60px; }

/* Find Tux: Festival */
body.rlfx-findtuxfestival-mode { background: #35334a !important; }
body.rlfx-findtuxfestival-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-findtuxfestival-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(53,51,74,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-findtuxfestival-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-findtuxfestival-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-findtuxfestival-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-findtuxfestival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/find-tux-festival/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(53,51,74,.82), rgba(33,32,46,.91)) !important;
  border: 1px solid #dec58e70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #dec58e70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-findtuxfestival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-findtuxfestival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-findtuxfestival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #dec58e; }
body.rlfx-findtuxfestival-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-findtuxfestival-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-findtuxfestival-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-findtuxfestival-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-findtuxfestival-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-findtuxfestival-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #35334a;
}
.rlfx-findtuxfestival-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1536 / 1024));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 1024 / 1536));
  transform: translateY(-50%);
  background: url('/effects/assets/find-tux-festival/find-tux-festival-background.webp') center / 100% 100% no-repeat;
}
.rlfx-findtuxfestival-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(33,32,46,.02) 0%,rgba(33,32,46,.08) 43%,rgba(33,32,46,.42) 60%,rgba(33,32,46,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-findtuxfestival-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-findtuxfestival-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-findtuxfestival-vignette { background: rgba(33,32,46,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-findtuxfestival-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-findtuxfestival-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-findtuxfestival-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-findtuxfestival-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-findtuxfestival-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-findtuxfestival-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-findtuxfestival-mode .project-body { padding-right:60px; }

.rlfx-tikitorch-scene::after { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 22% 57%,rgba(255,143,43,.16),transparent 48%);animation:rlfx-tiki-glow 3.6s ease-in-out infinite alternate; }
@keyframes rlfx-tiki-glow { 0%,100%{opacity:.45} 35%{opacity:.8} 60%{opacity:.6} 80%{opacity:1} }
@media(prefers-reduced-motion:reduce) { .rlfx-tikitorch-scene::after {animation:none;opacity:.55;} }

/* Backyard Steaks */
body.rlfx-backyardsteaks-mode { background: #302923 !important; }
body.rlfx-backyardsteaks-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-backyardsteaks-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(48,41,35,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-backyardsteaks-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-backyardsteaks-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-backyardsteaks-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-backyardsteaks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/backyard-steaks/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(48,41,35,.82), rgba(30,25,22,.91)) !important;
  border: 1px solid #e9ad7270 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e9ad7270, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-backyardsteaks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-backyardsteaks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-backyardsteaks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e9ad72; }
body.rlfx-backyardsteaks-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-backyardsteaks-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-backyardsteaks-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-backyardsteaks-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-backyardsteaks-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-backyardsteaks-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #302923;
}
.rlfx-backyardsteaks-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1983 / 793));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 793 / 1983));
  transform: translateY(-50%);
  background: url('/effects/assets/backyard-steaks/backyard-steaks-background.webp') center / 100% 100% no-repeat;
}
.rlfx-backyardsteaks-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(30,25,22,.02) 0%,rgba(30,25,22,.08) 43%,rgba(30,25,22,.42) 60%,rgba(30,25,22,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-backyardsteaks-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-backyardsteaks-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-backyardsteaks-vignette { background: rgba(30,25,22,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-backyardsteaks-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-backyardsteaks-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-backyardsteaks-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-backyardsteaks-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-backyardsteaks-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-backyardsteaks-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-backyardsteaks-mode .project-body { padding-right:60px; }

/* Page Puzzle owns a viewport; the actual site and theme stay in place. */
#rlfx-page-puzzle.rlfx-page-puzzle {
  position:fixed!important;inset:0!important;margin:0!important;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
  width:100%!important;height:100%!important;height:100dvh!important;box-sizing:border-box!important;
  background:radial-gradient(ellipse at top,#1b2b3d,#080e17 75%)!important;color:#e6edf3!important;
  display:flex!important;flex-direction:column!important;gap:8px!important;overflow:hidden!important;
  font:14px/1.4 system-ui,sans-serif!important;text-shadow:none!important;isolation:isolate;pointer-events:auto!important;
}
#rlfx-page-puzzle .rlfx-puzzle-toolbar {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-shrink:0}
#rlfx-page-puzzle .rlfx-puzzle-heading strong {font-size:19px;color:#f0f6fc}
#rlfx-page-puzzle .rlfx-puzzle-heading p {margin:3px 0 0;color:#b6c4d5;font-size:12px}
#rlfx-page-puzzle .rlfx-puzzle-controls {display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#rlfx-page-puzzle .rlfx-puzzle-controls :is(button,select) {font:600 12px/1.3 system-ui,sans-serif;min-height:38px;border:1px solid #52657c;border-radius:8px;background:#182536;color:#eff6ff;padding:8px 10px;cursor:pointer;max-width:100%}
#rlfx-page-puzzle .rlfx-puzzle-controls button:hover {background:#2b4057}
#rlfx-page-puzzle .rlfx-puzzle-controls [aria-pressed=true] {border-color:#6ac1ff;background:#20496c}
#rlfx-page-puzzle .rlfx-puzzle-controls :disabled {opacity:.5;cursor:default}
#rlfx-page-puzzle :is(button,select):focus-visible {outline:3px solid #87cfff;outline-offset:2px}
#rlfx-page-puzzle .rlfx-puzzle-status {margin:0;min-height:20px;color:#bdd4e9;font:600 12px/1.5 system-ui,sans-serif;flex-shrink:0}
#rlfx-page-puzzle .rlfx-puzzle-area {display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:0;overflow:visible}
#rlfx-page-puzzle .rlfx-puzzle-board {position:relative;display:grid;flex:none;box-shadow:0 18px 70px #0008;background:#05080d;border-radius:4px;outline:2px solid #526b85}
#rlfx-page-puzzle .rlfx-puzzle-tile {position:relative;box-sizing:border-box;display:block;margin:0;padding:0;min-width:0;min-height:0;border:1px solid #8eb7dc77;border-radius:0;overflow:hidden;background:#080e17;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}
#rlfx-page-puzzle .rlfx-puzzle-tile::after {content:"";position:absolute;inset:0;z-index:2147483647;pointer-events:none;box-shadow:inset 0 0 0 1px #0008}
#rlfx-page-puzzle .rlfx-puzzle-tile.selected::after {box-shadow:inset 0 0 0 4px #ffcd69;background:#ffcc6615}
#rlfx-page-puzzle .rlfx-puzzle-tile.drop-target::after {box-shadow:inset 0 0 0 4px #7be7ba;background:#49da7c25}
#rlfx-page-puzzle .rlfx-puzzle-tile.dragging {opacity:.3}
#rlfx-page-puzzle .rlfx-puzzle-tile:disabled {cursor:default;opacity:1}
#rlfx-page-puzzle .rlfx-puzzle-world {position:absolute;transform-origin:0 0;pointer-events:none!important;overflow:hidden;user-select:none}
#rlfx-page-puzzle .rlfx-puzzle-world * {pointer-events:none!important}
#rlfx-page-puzzle .rlfx-puzzle-ghost {position:absolute!important;z-index:2147483647;opacity:.9;pointer-events:none!important;box-shadow:0 12px 30px #0009;outline:3px solid #f0c66c;cursor:grabbing}
#rlfx-page-puzzle.rlfx-puzzle-solved .rlfx-puzzle-board {outline:3px solid #63db9d;box-shadow:0 0 40px #52cb7933}
#rlfx-page-puzzle.rlfx-puzzle-solved .rlfx-puzzle-status {color:#88edb5}
@media(max-width:640px) {
 #rlfx-page-puzzle .rlfx-puzzle-heading p {font-size:11px}
 #rlfx-page-puzzle .rlfx-puzzle-controls :is(button,select) {padding:7px 8px;min-height:36px;font-size:11px}
 #rlfx-page-puzzle .rlfx-puzzle-toolbar {gap:8px}
}

/* Full-page snapshot shows share frozen style rules across their slices. */
.rlfx-screen-show {position:fixed!important;inset:0!important;overflow:hidden!important;background:#05090f!important;pointer-events:auto!important;isolation:isolate;color:#edf6ff;font:14px system-ui,sans-serif}
.rlfx-cinema-slice {position:absolute;overflow:hidden;pointer-events:none;z-index:10;transform-origin:center;will-change:transform,opacity}
.rlfx-cinema-world {position:absolute;overflow:hidden;pointer-events:none!important;transform-origin:0 0}
.rlfx-cinema-world * {pointer-events:none!important}
.rlfx-screen-show .rlfx-visual-canvas {z-index:35;pointer-events:none}
.rlfx-screen-show .rlfx-screen-label {position:absolute;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);box-sizing:border-box;border:1px solid #70869b80;border-radius:10px;padding:9px 14px;background:#07111ee8;color:#e8f3fc;font:600 12px/1.4 system-ui,sans-serif;text-align:center;pointer-events:none;z-index:60;box-shadow:0 6px 20px #0005}
.rlfx-screen-show .rlfx-screen-exit {position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:70;border:1px solid #7891a7;border-radius:9px;padding:12px 15px;background:#081422ed;color:#edf7ff;font:700 12px system-ui,sans-serif;min-height:44px;cursor:pointer;pointer-events:auto}
.rlfx-screen-show .rlfx-screen-exit:hover {background:#263c52}
.rlfx-screen-show .rlfx-screen-exit:focus-visible {outline:3px solid #8bd5ff;outline-offset:3px}
.rlfx-shred-feed {position:absolute;inset:0;overflow:hidden;z-index:10;pointer-events:none}
.rlfx-zipper-room {position:absolute;inset:0;background:#071722 url('/effects/assets/server-room/server-room-background.webp') center/cover no-repeat;z-index:0}
.rlfx-zipper-room::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00172455,#03172b22),repeating-linear-gradient(0deg,transparent 0 23px,#68e2a710 23px 24px)}
@media(max-width:640px){.rlfx-screen-show .rlfx-screen-label{font-size:10px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.rlfx-cinema-slice{will-change:auto}}

/* Summer Dew */
body.rlfx-summerdew-mode { background: #20341c !important; }
body.rlfx-summerdew-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-summerdew-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(32,52,28,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-summerdew-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-summerdew-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-summerdew-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-summerdew-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/summer-dew/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(32,52,28,.82), rgba(20,32,17,.91)) !important;
  border: 1px solid #c6ed6b70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #c6ed6b70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-summerdew-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-summerdew-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-summerdew-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #c6ed6b; }
body.rlfx-summerdew-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-summerdew-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-summerdew-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-summerdew-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-summerdew-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-summerdew-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #20341c;
}
.rlfx-summerdew-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/summer-dew/summer-dew-background.webp') center / 100% 100% no-repeat;
}
.rlfx-summerdew-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(20,32,17,.02) 0%,rgba(20,32,17,.08) 43%,rgba(20,32,17,.42) 60%,rgba(20,32,17,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-summerdew-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-summerdew-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-summerdew-vignette { background: rgba(20,32,17,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-summerdew-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-summerdew-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-summerdew-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-summerdew-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-summerdew-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-summerdew-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-summerdew-mode .project-body { padding-right:60px; }

/* Diet Coke Lounge */
body.rlfx-dietcokelounge-mode { background: #30343b !important; }
body.rlfx-dietcokelounge-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-dietcokelounge-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(48,52,59,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-dietcokelounge-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-dietcokelounge-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-dietcokelounge-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-dietcokelounge-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/diet-coke-lounge/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(48,52,59,.82), rgba(30,32,37,.91)) !important;
  border: 1px solid #e1e8ef70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e1e8ef70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-dietcokelounge-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-dietcokelounge-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-dietcokelounge-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e1e8ef; }
body.rlfx-dietcokelounge-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-dietcokelounge-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-dietcokelounge-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-dietcokelounge-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-dietcokelounge-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-dietcokelounge-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #30343b;
}
.rlfx-dietcokelounge-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/diet-coke-lounge/diet-coke-lounge-background.webp') center / 100% 100% no-repeat;
}
.rlfx-dietcokelounge-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(30,32,37,.02) 0%,rgba(30,32,37,.08) 43%,rgba(30,32,37,.42) 60%,rgba(30,32,37,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-dietcokelounge-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-dietcokelounge-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-dietcokelounge-vignette { background: rgba(30,32,37,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-dietcokelounge-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-dietcokelounge-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-dietcokelounge-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-dietcokelounge-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-dietcokelounge-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-dietcokelounge-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-dietcokelounge-mode .project-body { padding-right:60px; }

/* Brushed-silver trim and a restrained Diet Coke red accent. */
body.rlfx-dietcokelounge-mode :is(.card,.feature-card,.project-card,.projects-card,.section-card,.about-panel,.distro-card,.directory-tools,.directory-notes) {
  box-shadow:inset 3px 0 0 rgba(198,54,68,.78),inset 0 1px 0 rgba(245,249,255,.18),0 12px 28px rgba(0,0,0,.32)!important;
}
.rlfx-dietcokelounge-scene::after {content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 36% 42%,rgba(161,218,255,.10),transparent 42%);}

/* Cliffs of Moher */
body.rlfx-cliffsofmoher-mode { background: #18333b !important; }
body.rlfx-cliffsofmoher-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-cliffsofmoher-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(24,51,59,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-cliffsofmoher-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-cliffsofmoher-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-cliffsofmoher-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-cliffsofmoher-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/cliffs-of-moher/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(24,51,59,.82), rgba(15,32,37,.91)) !important;
  border: 1px solid #b4d7ba70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #b4d7ba70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-cliffsofmoher-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-cliffsofmoher-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-cliffsofmoher-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #b4d7ba; }
body.rlfx-cliffsofmoher-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-cliffsofmoher-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-cliffsofmoher-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-cliffsofmoher-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-cliffsofmoher-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-cliffsofmoher-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #18333b;
}
.rlfx-cliffsofmoher-backdrop {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1798 / 875));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 875 / 1798));
  transform: translateY(-50%);
  background: url('/effects/assets/cliffs-of-moher/cliffs-of-moher-background.webp') center / 100% 100% no-repeat;
}
.rlfx-cliffsofmoher-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(15,32,37,.64) 0%,rgba(15,32,37,.42) 40%,rgba(15,32,37,.08) 65%,rgba(15,32,37,.02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-cliffsofmoher-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-cliffsofmoher-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-cliffsofmoher-vignette { background: rgba(15,32,37,.48); }
}
@media (max-width: 640px) {
  /* Keep right-side Tux in view on narrow screens. */
  .rlfx-cliffsofmoher-backdrop { left: auto; right: 0; transform: translateY(-50%); }
  body.rlfx-cliffsofmoher-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-cliffsofmoher-mode .rlfx-launcher { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end; }
body.rlfx-cliffsofmoher-mode .rlfx-panel { transform-origin:bottom right; }
@media(min-width:641px) { body.rlfx-cliffsofmoher-mode .rlfx-theme-preview-controls { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-cliffsofmoher-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-cliffsofmoher-mode .project-body { padding-right:60px; }

/* Center of the Universe */
body.rlfx-tulsacenter-mode { background: #36312e !important; }
body.rlfx-tulsacenter-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-tulsacenter-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(54,49,46,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-tulsacenter-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-tulsacenter-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-tulsacenter-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-tulsacenter-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/tulsa-center/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(54,49,46,.82), rgba(34,30,28,.91)) !important;
  border: 1px solid #e3ba8b70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e3ba8b70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-tulsacenter-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-tulsacenter-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-tulsacenter-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e3ba8b; }
body.rlfx-tulsacenter-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-tulsacenter-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-tulsacenter-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-tulsacenter-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-tulsacenter-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-tulsacenter-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #36312e;
}
.rlfx-tulsacenter-backdrop {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/tulsa-center/tulsa-center-background.webp') center / 100% 100% no-repeat;
}
.rlfx-tulsacenter-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(34,30,28,.64) 0%,rgba(34,30,28,.42) 40%,rgba(34,30,28,.08) 65%,rgba(34,30,28,.02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-tulsacenter-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-tulsacenter-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-tulsacenter-vignette { background: rgba(34,30,28,.48); }
}
@media (max-width: 640px) {
  /* Preserve right-side Tux and the landmark on narrow screens. */
  .rlfx-tulsacenter-backdrop { left: 50%; right: auto; transform: translate(-70%,-50%); }
  body.rlfx-tulsacenter-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-tulsacenter-mode .rlfx-launcher { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end; }
body.rlfx-tulsacenter-mode .rlfx-panel { transform-origin:bottom right; }
@media(min-width:641px) { body.rlfx-tulsacenter-mode .rlfx-theme-preview-controls { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-tulsacenter-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-tulsacenter-mode .project-body { padding-right:60px; }

/* Build-a-Tux */
body.rlfx-buildatux-mode { background: #1d344b !important; }
body.rlfx-buildatux-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-buildatux-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(29,52,75,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-buildatux-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-buildatux-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-buildatux-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-buildatux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/build-a-tux/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(29,52,75,.82), rgba(18,32,47,.91)) !important;
  border: 1px solid #f1d98070 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #f1d98070, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-buildatux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-buildatux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-buildatux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #f1d980; }
body.rlfx-buildatux-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-buildatux-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-buildatux-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-buildatux-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-buildatux-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-buildatux-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #1d344b;
}
.rlfx-buildatux-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/build-a-tux/build-a-tux-background.webp') center / 100% 100% no-repeat;
}
.rlfx-buildatux-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(18,32,47,.02) 0%,rgba(18,32,47,.08) 43%,rgba(18,32,47,.42) 60%,rgba(18,32,47,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-buildatux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-buildatux-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-buildatux-vignette { background: rgba(18,32,47,.48); }
}
@media (max-width: 640px) {
  /* Preserve the left-side subject on narrow screens. */
  .rlfx-buildatux-backdrop { left: 0; transform: translateY(-50%); }
  body.rlfx-buildatux-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-buildatux-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-buildatux-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-buildatux-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-buildatux-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-buildatux-mode .project-body { padding-right:60px; }

/* Hummingbird Watch */
body.rlfx-hummingbirdwatch-mode { background: #293d37 !important; }
body.rlfx-hummingbirdwatch-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-hummingbirdwatch-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(41,61,55,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-hummingbirdwatch-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-hummingbirdwatch-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-hummingbirdwatch-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-hummingbirdwatch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/hummingbird-watch/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(41,61,55,.82), rgba(25,38,34,.91)) !important;
  border: 1px solid #d9a5b670 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d9a5b670, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-hummingbirdwatch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-hummingbirdwatch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-hummingbirdwatch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #d9a5b6; }
body.rlfx-hummingbirdwatch-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-hummingbirdwatch-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-hummingbirdwatch-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-hummingbirdwatch-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-hummingbirdwatch-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-hummingbirdwatch-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #293d37;
}
.rlfx-hummingbirdwatch-backdrop {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/hummingbird-watch/hummingbird-watch-background.webp') center / 100% 100% no-repeat;
}
.rlfx-hummingbirdwatch-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(25,38,34,.64) 0%,rgba(25,38,34,.42) 40%,rgba(25,38,34,.08) 65%,rgba(25,38,34,.02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-hummingbirdwatch-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-hummingbirdwatch-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-hummingbirdwatch-vignette { background: rgba(25,38,34,.48); }
}
@media (max-width: 640px) {
  /* Keep the subject in view on narrow screens. */
  .rlfx-hummingbirdwatch-backdrop { left: 50%; right: auto; transform: translate(-73%,-50%); }
  body.rlfx-hummingbirdwatch-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-hummingbirdwatch-mode .rlfx-launcher { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end; }
body.rlfx-hummingbirdwatch-mode .rlfx-panel { transform-origin:bottom right; }
@media(min-width:641px) { body.rlfx-hummingbirdwatch-mode .rlfx-theme-preview-controls { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-hummingbirdwatch-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-hummingbirdwatch-mode .project-body { padding-right:60px; }

/* Milo’s Sweet Tea */
body.rlfx-milossweettea-mode { background: #3c2b23 !important; }
body.rlfx-milossweettea-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-milossweettea-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(60,43,35,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-milossweettea-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-milossweettea-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-milossweettea-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-milossweettea-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/milos-sweet-tea/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(60,43,35,.82), rgba(37,27,22,.91)) !important;
  border: 1px solid #f2c18470 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #f2c18470, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-milossweettea-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-milossweettea-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-milossweettea-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #f2c184; }
body.rlfx-milossweettea-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-milossweettea-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-milossweettea-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-milossweettea-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-milossweettea-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-milossweettea-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #3c2b23;
}
.rlfx-milossweettea-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/milos-sweet-tea/milos-sweet-tea-background.webp') center / 100% 100% no-repeat;
}
.rlfx-milossweettea-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(37,27,22,.02) 0%,rgba(37,27,22,.08) 43%,rgba(37,27,22,.42) 60%,rgba(37,27,22,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-milossweettea-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-milossweettea-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-milossweettea-vignette { background: rgba(37,27,22,.48); }
}
@media (max-width: 640px) {
  /* Keep the subject in view on narrow screens. */
  .rlfx-milossweettea-backdrop { left: 50%; right: auto; transform: translate(-30%,-50%); }
  body.rlfx-milossweettea-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-milossweettea-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-milossweettea-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-milossweettea-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-milossweettea-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-milossweettea-mode .project-body { padding-right:60px; }

/* Zoo Day */
body.rlfx-zoovisit-mode { background: #293a2c !important; }
body.rlfx-zoovisit-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-zoovisit-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(41,58,44,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-zoovisit-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-zoovisit-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-zoovisit-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-zoovisit-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/zoo-visit/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(41,58,44,.82), rgba(25,36,27,.91)) !important;
  border: 1px solid #ddc89470 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #ddc89470, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-zoovisit-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-zoovisit-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-zoovisit-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #ddc894; }
body.rlfx-zoovisit-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-zoovisit-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-zoovisit-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-zoovisit-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-zoovisit-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-zoovisit-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #293a2c;
}
.rlfx-zoovisit-backdrop {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/zoo-visit/zoo-visit-background.webp') center / 100% 100% no-repeat;
}
.rlfx-zoovisit-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(25,36,27,.64) 0%,rgba(25,36,27,.42) 40%,rgba(25,36,27,.08) 65%,rgba(25,36,27,.02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-zoovisit-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-zoovisit-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-zoovisit-vignette { background: rgba(25,36,27,.48); }
}
@media (max-width: 640px) {
  /* Keep the subject in view on narrow screens. */
  .rlfx-zoovisit-backdrop { left: 50%; right: auto; transform: translate(-76%,-50%); }
  body.rlfx-zoovisit-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-zoovisit-mode .rlfx-launcher { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end; }
body.rlfx-zoovisit-mode .rlfx-panel { transform-origin:bottom right; }
@media(min-width:641px) { body.rlfx-zoovisit-mode .rlfx-theme-preview-controls { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-zoovisit-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-zoovisit-mode .project-body { padding-right:60px; }

/* DJ Tux */
body.rlfx-tuxdj-mode { background: #291c40 !important; }
body.rlfx-tuxdj-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-tuxdj-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(41,28,64,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-tuxdj-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-tuxdj-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-tuxdj-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-tuxdj-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/tux-dj/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(41,28,64,.82), rgba(25,17,40,.91)) !important;
  border: 1px solid #e6a5f570 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #e6a5f570, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-tuxdj-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-tuxdj-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-tuxdj-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #e6a5f5; }
body.rlfx-tuxdj-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-tuxdj-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-tuxdj-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-tuxdj-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-tuxdj-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-tuxdj-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #291c40;
}
.rlfx-tuxdj-backdrop {
  position: absolute;
  left: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/tux-dj/tux-dj-background.webp') center / 100% 100% no-repeat;
}
.rlfx-tuxdj-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(25,17,40,.02) 0%,rgba(25,17,40,.08) 43%,rgba(25,17,40,.42) 60%,rgba(25,17,40,.64) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-tuxdj-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: auto;
    margin-right: 28px;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-tuxdj-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-tuxdj-vignette { background: rgba(25,17,40,.48); }
}
@media (max-width: 640px) {
  /* Keep the subject in view on narrow screens. */
  .rlfx-tuxdj-backdrop { left: 50%; right: auto; transform: translate(-28%,-50%); }
  body.rlfx-tuxdj-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-tuxdj-mode .rlfx-launcher { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-start; }
body.rlfx-tuxdj-mode .rlfx-panel { transform-origin:bottom left; }
@media(min-width:641px) { body.rlfx-tuxdj-mode .rlfx-theme-preview-controls { left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-tuxdj-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-tuxdj-mode .project-body { padding-right:60px; }

/* Tank Commander */
body.rlfx-tankcommander-mode { background: #30382a !important; }
body.rlfx-tankcommander-mode :is(.tux-greeter, .hero-treadmill) { display: none !important; }
body.rlfx-tankcommander-mode :is(.site-nav-shell, .rl-site-nav-shell) {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483500 !important;
  background: rgba(48,56,42,.94) !important;
  border-color: rgba(192, 213, 172, .30) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
body.rlfx-tankcommander-mode :is(main, .container, .projects-shell, .labs-shell, footer) {
  position: relative;
  z-index: 2147482805;
}
body.rlfx-tankcommander-mode :is(.container, .projects-shell, .labs-shell) {
  box-sizing: border-box;
  min-width: 0;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
body.rlfx-tankcommander-mode :is(.section-page-hero, .projects-intro, .hero-intro, .hero-copy) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.rlfx-tankcommander-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  padding-right: 62px !important;
  background:
    url('/effects/assets/tank-commander/panel-edge.svg') right 8px center / 40px 150px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 5px, rgba(220,221,198,.025) 5px 6px),
    linear-gradient(180deg, rgba(48,56,42,.82), rgba(30,35,26,.91)) !important;
  border: 1px solid #d5c59a70 !important;
  border-radius: 14px;
  box-shadow: inset 3px 0 0 #d5c59a70, inset 0 1px 0 rgba(240,230,191,.12), 0 12px 28px rgba(0,0,0,.30) !important;
  color: #eaf0e4;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rlfx-tankcommander-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(h2,h3,h4) { color: #eef1e3; }
body.rlfx-tankcommander-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) :is(p,li,.muted,.meta) { color: #d9e2e8; }
body.rlfx-tankcommander-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) a { color: #d5c59a; }
body.rlfx-tankcommander-mode :is(.grid, .section-card-grid, .distro-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%,260px),1fr)); }
body.rlfx-tankcommander-mode .hero-intro { grid-template-columns: minmax(0,1fr); padding-right: 0; }
body.rlfx-tankcommander-mode .hero-copy { min-width: 0; container-type: inline-size; }
body.rlfx-tankcommander-mode .hero-intro h1 {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(1.6rem,7vw,5.5rem);
}
@supports (font-size: 1cqw) { body.rlfx-tankcommander-mode .hero-intro h1 { font-size: min(5.5rem,12cqw); } }
.rlfx-tankcommander-scene {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482400 !important;
  overflow: hidden;
  pointer-events: none;
  background: #30382a;
}
.rlfx-tankcommander-backdrop {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: max(var(--rlfx-vw,100vw),calc(var(--rlfx-vh,100vh) * 1672 / 941));
  height: max(var(--rlfx-vh,100vh),calc(var(--rlfx-vw,100vw) * 941 / 1672));
  transform: translateY(-50%);
  background: url('/effects/assets/tank-commander/tank-commander-background.webp') center / 100% 100% no-repeat;
}
.rlfx-tankcommander-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(30,35,26,.64) 0%,rgba(30,35,26,.42) 40%,rgba(30,35,26,.08) 65%,rgba(30,35,26,.02) 100%);
}
@media (min-width: 1200px) {
  body.rlfx-tankcommander-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(1120px,calc(100% - clamp(520px,52vw,1040px) - 56px));
    margin-left: 28px;
    margin-right: auto;
    transform: none;
  }
}
@media (max-width: 1199px) {
  body.rlfx-tankcommander-mode :is(.container, .projects-shell, .labs-shell) {
    width: min(950px,100%);
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
  .rlfx-tankcommander-vignette { background: rgba(30,35,26,.48); }
}
@media (max-width: 640px) {
  /* Keep the subject in view on narrow screens. */
  .rlfx-tankcommander-backdrop { left: 50%; right: auto; transform: translate(-76%,-50%); }
  body.rlfx-tankcommander-mode :is(.card, .feature-card, .project-card, .projects-card, .section-card, .about-panel, .distro-card, .directory-tools, .directory-notes) { padding-right: 56px !important; }
}
body.rlfx-tankcommander-mode .rlfx-launcher { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end; }
body.rlfx-tankcommander-mode .rlfx-panel { transform-origin:bottom right; }
@media(min-width:641px) { body.rlfx-tankcommander-mode .rlfx-theme-preview-controls { left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); } }
body.projects-page.rlfx-tankcommander-mode .project-card { padding:0 !important; background-position:right 8px top 148px,center,center !important; }
body.projects-page.rlfx-tankcommander-mode .project-body { padding-right:60px; }

/* DJ Tux: broad moving stage lights, behind page content. */
.rlfx-dj-lights {position:absolute;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;}
.rlfx-dj-lights i {position:absolute;left:-8%;top:-12%;width:58%;height:155%;transform-origin:50% 0;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(50,225,255,.65),rgba(50,225,255,.20) 65%,transparent);filter:blur(3px);opacity:.55;animation:rlfx-dj-sweep 7.4s ease-in-out infinite alternate;}
.rlfx-dj-lights i:nth-child(2) {left:16%;background:linear-gradient(180deg,rgba(255,70,214,.7),rgba(255,70,214,.22) 65%,transparent);animation-duration:9.2s;animation-delay:-4s;animation-direction:alternate-reverse;}
.rlfx-dj-lights i:nth-child(3) {left:44%;background:linear-gradient(180deg,rgba(255,96,92,.65),rgba(255,96,92,.18) 65%,transparent);animation-duration:11s;animation-delay:-6s;}
@keyframes rlfx-dj-sweep {from{transform:rotate(-32deg)}to{transform:rotate(31deg)}}
body.rlfx-tuxdj-mode :is(.card,.feature-card,.project-card,.projects-card,.section-card,.about-panel,.distro-card,.directory-tools,.directory-notes) {border-color:rgba(203,130,235,.65)!important;box-shadow:inset 3px 0 0 #f29bd5,inset 0 1px 0 #89dfe855,0 0 18px #a754d52b,0 12px 28px #0005!important;}
@media(prefers-reduced-motion:reduce){.rlfx-dj-lights i{animation:none;transform:rotate(8deg);opacity:.2;}}

/* A closed menu must not leave an invisible fixed hit area over page controls.
   Keep empty launcher space click-through; only visible controls receive hits. */
.rlfx-launcher {
  pointer-events: none;
}
.rlfx-launcher:not(.open) > .rlfx-panel {
  display: none;
}
.rlfx-launcher.open > .rlfx-panel,
.rlfx-launcher .rlfx-toggle,
.rlfx-launcher .rlfx-findtux-view-image {
  pointer-events: auto;
}
.rlfx-launcher.effect-active,
.rlfx-launcher.effect-active * {
  pointer-events: none !important;
}

/* Skydiving: keep the Effects launcher away from the right-hand page panels. */
body.rlfx-skydiving-mode .rlfx-launcher {
  left: max(16px, env(safe-area-inset-left));
  right: auto;
  align-items: flex-start;
}
body.rlfx-skydiving-mode .rlfx-panel {
  transform-origin: bottom left;
}
@media (max-width: 640px) {
  body.rlfx-skydiving-mode .rlfx-launcher {
    left: max(10px, env(safe-area-inset-left));
  }
}
