/* WinLuisPlus Malware Timeline: a museum walked by scrolling.
   Every act publishes --p (0..1) from timeline.js; everything below reads it.
   Motion uses transform, opacity and clip-path only. Nothing moves while the reader is still. */

body:has(.tlx) .backdrop, body:has(.tlx) .blob { display: none; }
body:has(.tlx) { background: #0b0d12; }
.tlx {
  --canvas: #0b0d12; --surface: #141823; --ink: #eef1f6; --ink-soft: #aab3c4; --accent: #78ffaa; --accent-ink: #07130c;
  --edge: inset 0 1px 0 rgba(255,255,255,.08);
  --e2: 0 2px 4px rgba(2,4,10,.3), 0 10px 26px rgba(2,4,10,.35);
  --gut: clamp(20px, 5vw, 72px);
  --ease-out: cubic-bezier(.23,1,.32,1);
  color: var(--ink);
  position: relative;
}
.tlx a { color: var(--accent); text-underline-offset: 3px; }
.tlx a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }
.tlx ::selection { background: var(--accent); color: var(--accent-ink); }

/* ---------- type ---------- */
.tlx-h1 { font: 500 clamp(2.4rem, 1.6rem + 3.6vw, 4.6rem)/1.02 var(--font-display); letter-spacing: -.03em; margin: 0 0 18px; max-width: 14ch; text-wrap: balance; }
.tlx-h2 { font: 500 clamp(1.9rem, 1.4rem + 2.2vw, 3.2rem)/1.06 var(--font-display); letter-spacing: -.025em; margin: 0 0 14px; text-wrap: balance; }
.tlx-lede { font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); color: var(--ink-soft); max-width: 40ch; margin: 0 0 28px; text-wrap: pretty; }
.tlx-say { font-size: clamp(1.05rem, .98rem + .35vw, 1.3rem); line-height: 1.55; max-width: 42ch; margin: 0 0 14px; text-wrap: pretty; }
.tlx-date { font: 500 .8rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; }

/* ---------- acts ---------- */
.tlx-act { position: relative; }
.tlx-pin { height: calc(var(--span, 2) * 100svh); }
.tlx-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; align-items: center; padding: 90px var(--gut) 92px; }

/* a cue: visible inside its window [--a, --b], with short ramps (the plateau is the point) */
.cue {
  --r: .07;
  --k: calc(clamp(0, (var(--p, 0) - var(--a, 0)) / var(--r), 1) * clamp(0, (var(--b, 9) - var(--p, 0)) / var(--r), 1));
  opacity: var(--k);
  transform: translateY(calc((1 - var(--k)) * 14px));
}

/* ---------- 1 · hero: three planes ---------- */
.tlx-hero { min-height: 100svh; display: grid; align-items: end; overflow: hidden; padding: 120px var(--gut) clamp(90px, 12vh, 140px); }
.tlx-hero__back { position: absolute; inset: -8% -4% -4%; transform: translateY(calc(var(--p, 0) * -60px)) scale(1.04); }
.tlx-hero__back img { width: 100%; height: 100%; object-fit: cover; max-width: none; filter: saturate(110%) brightness(.5); }
.tlx-hero__back::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,13,18,.92) 0%, rgba(11,13,18,.55) 48%, rgba(11,13,18,.1) 100%), linear-gradient(180deg, transparent 55%, var(--canvas) 100%); }
.tlx-hero__year { position: absolute; right: -2vw; bottom: 6vh; font: 600 clamp(9rem, 26vw, 24rem)/.8 var(--font-display); letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 1.5px rgba(238,241,246,.22); transform: translateY(calc(var(--p, 0) * -130px)); pointer-events: none; user-select: none; }
.tlx-hero__front { position: relative; z-index: 2; max-width: 760px; }
.tlx-label { display: grid; gap: 6px; margin: 0; padding: 18px 20px 16px; background: var(--surface); border-radius: 6px; box-shadow: var(--e2), var(--edge); max-width: 460px; }
.tlx-label dt { font: 600 1.15rem/1.2 var(--font-display); margin-bottom: 6px; }
.tlx-label dd { margin: 0; display: grid; grid-template-columns: 7.5em 1fr; gap: 10px; font-size: .97rem; color: var(--ink); }
.tlx-label dd span { color: var(--ink-soft); font: 500 .74rem/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; }

/* ---------- 2 · the inbox fills ---------- */
.tlx-inbox .tlx-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 5vw, 80px); }
.tlx-inbox__copy { display: grid; }
.tlx-inbox__copy > * { grid-area: 1 / 1; --r: .03; }
.tlx-mail { background: #ece9e1; color: #1d2230; border-radius: 4px; box-shadow: var(--e2); overflow: hidden; font-size: .95rem; }
.tlx-mail__bar { padding: 9px 14px; background: linear-gradient(90deg, #0a246a, #3a6ea5); color: #fff; font-weight: 700; font-size: .9rem; }
.tlx-mail__list { list-style: none; margin: 0; padding: 0; }
.tlx-mail__list li {
  --k: clamp(0, calc(var(--p, 0) * 13 - var(--i) + 2), 1);
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 10px; padding: 7px 14px; border-top: 1px solid #d6d2c6;
  opacity: var(--k); transform: translateY(calc((1 - var(--k)) * -10px));
}
.tlx-mail__list li b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tlx-mail__list li span { font-weight: 700; color: #b0003a; }
.tlx-mail__list li time { color: #5b6170; font-variant-numeric: tabular-nums; }
.tlx-mail__list li:last-child { background: #fde7ef; }

/* ---------- 3 · wall text (authored silence) ---------- */
.tlx-wall { padding: clamp(80px, 16vh, 160px) var(--gut); }
.tlx-wall__inner { max-width: 640px; margin-left: clamp(0px, 18vw, 320px); }
.tlx-wall__text { font: 400 clamp(1.25rem, 1.05rem + .8vw, 1.75rem)/1.45 var(--font-display); margin: 0; text-wrap: pretty; }
[data-tl-in] { opacity: 0; transform: translateY(14px); transition: opacity .62s var(--ease-out), transform .62s var(--ease-out); }
[data-tl-in].is-in { opacity: 1; transform: none; }

/* ---------- 4 · you are an idiot ---------- */
.tlx-idiot .tlx-stage { grid-template-columns: minmax(0, 1fr); }
.tlx-idiot__copy { position: relative; z-index: 5; display: grid; max-width: 520px; padding: 22px 24px; background: rgba(11,13,18,.88); border-radius: 6px; box-shadow: var(--e2); justify-self: end; margin-right: 2vw; }
.tlx-idiot__copy > .cue:nth-child(-n+3) { grid-row: 1; grid-column: 1; }
.tlx-idiot__copy > .cue:nth-child(1) { align-self: start; }
.tlx-idiot__copy > .cue:nth-child(2) { margin-top: 28px; align-self: start; }
.tlx-idiot__copy > .cue:nth-child(3) { margin-top: 96px; align-self: start; }
.tlx-idiot__copy > .cue:nth-child(n+4) { grid-row: 1; grid-column: 1; }
.tlx-idiot__copy > .cue:nth-child(5) { margin-top: 28px; }
.tlx-pops { position: absolute; inset: 0; z-index: 2; }
.tlx-pop {
  --show: clamp(0, calc(var(--p, 0) * 26 - var(--i) - .5), 1);
  --close: clamp(0, calc((.84 - var(--p, 0)) / .04), 1);
  position: absolute; left: var(--x); top: var(--y); width: clamp(150px, 17vw, 230px);
  background: #fff; border: 2px solid #0a3fd0; border-radius: 6px 6px 2px 2px; box-shadow: 0 8px 20px rgba(0,0,0,.4);
  opacity: calc(var(--show) * var(--close)); transform: scale(calc(.95 + var(--show) * .05));
}
.tlx-pop.is-dark { background: #0d0d0d; }
.tlx-pop__t { background: #0a3fd0; color: #fff; font: 700 .72rem/1 var(--font); padding: 5px 7px; display: flex; justify-content: space-between; }
.tlx-pop__t i { font-style: normal; background: #d8502c; border-radius: 2px; padding: 0 4px; }
.tlx-pop__b { padding: 10px 8px 12px; text-align: center; font: 700 clamp(.78rem, .7rem + .3vw, .95rem)/1.2 var(--font); color: #111; }
.tlx-pop.is-dark .tlx-pop__b { color: #fff; }
.tlx-pop svg { width: 26px; height: 26px; margin: 6px 2px 0; display: inline-block; }

/* ---------- 5 · fake antivirus: the lie gets wiped ---------- */
.tlx-scan { position: relative; display: grid; max-width: 760px; width: 100%; justify-self: center; }
.tlx-scan > * { grid-area: 1 / 1; }
.tlx-scan__lie { background: linear-gradient(#f4f6fb, #dfe5f1); color: #1a2234; border: 1px solid #9fb0cf; border-radius: 4px; padding: 26px 28px; box-shadow: var(--e2); }
.tlx-scan__title { margin: 0 0 16px; font: 700 1.15rem/1.2 var(--font); color: #0d3a8a; }
.tlx-scan__bar { height: 18px; border: 1px solid #8a9bbb; background: #fff; padding: 2px; }
.tlx-scan__bar i { display: block; height: 100%; background: repeating-linear-gradient(90deg, #2fb12f 0 10px, transparent 10px 12px); transform-origin: left; transform: scaleX(clamp(0, calc(var(--p, 0) / .5), 1)); }
.tlx-scan__found { margin: 16px 0 6px; font: 700 1.6rem/1.2 var(--font); color: #c01818; font-variant-numeric: tabular-nums; }
.tlx-scan__found small { font: 500 .8rem var(--font); color: #5b6478; }
.tlx-scan__btn { display: inline-block; margin: 10px 0 0; padding: 9px 16px; background: #d61f1f; color: #fff; font-weight: 700; border-radius: 3px; }
.tlx-scan__truth {
  --w: clamp(0, calc((var(--p, 0) - .55) / .22), 1);
  background: var(--surface); border-radius: 4px; padding: 26px 28px; box-shadow: var(--e2), var(--edge);
  clip-path: inset(0 calc((1 - var(--w)) * 100%) 0 0);
}

/* ---------- 6 · 2016: a rail of specimens ---------- */
.tlx-room .tlx-stage { padding-left: 0; padding-right: 0; align-items: center; }
.tlx-rail { display: flex; align-items: stretch; gap: clamp(20px, 3vw, 44px); padding: 0 var(--gut); width: max-content; transform: translateX(calc(var(--p, 0) * var(--travel, 0) * -1px)); }
.tlx-rail__lead { width: min(380px, 78vw); align-self: center; }
.tlx-rail__end { width: min(320px, 70vw); align-self: center; }
.tlx-spec {
  --k: clamp(.55, calc(var(--p, 0) * 6 - var(--i) * .9 + .3), 1);
  width: min(340px, 74vw); background: var(--surface); border-radius: 6px; box-shadow: var(--e2), var(--edge); padding: 14px 14px 18px;
  display: flex; flex-direction: column; gap: 10px; opacity: var(--k);
}
.tlx-spec:first-of-type { --k: 1; }
.tlx-spec__img { aspect-ratio: 16/10; border-radius: 4px; overflow: hidden; transition: transform .18s var(--ease-out); }
.tlx-spec__img img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
.tlx-spec h3 { margin: 4px 0 0; font: 600 1.35rem/1.2 var(--font-display); }
.tlx-spec dl { margin: 0; display: grid; gap: 4px; }
.tlx-spec dd { margin: 0; display: grid; grid-template-columns: 6.6em 1fr; gap: 8px; font-size: .93rem; }
.tlx-spec dd span { color: var(--ink-soft); font: 500 .7rem/1.7 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.tlx-spec > a { margin-top: auto; font-weight: 500; }

/* ---------- 7 · 2017, the peak ---------- */
.tlx-peak .tlx-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); grid-template-rows: auto auto; gap: 18px clamp(24px, 4vw, 64px); align-content: center; }
.tlx-map { position: absolute; inset: 0; display: grid; place-items: center end; padding-right: 2vw; }
/* fade the map away from the copy instead of darkening it (the peak line sits bottom-left) */
.tlx-map img { -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 12%, #000 55%), linear-gradient(0deg, transparent 0%, #000 45%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, transparent 12%, #000 55%), linear-gradient(0deg, transparent 0%, #000 45%); mask-composite: intersect; }
.tlx-map img { width: min(880px, 64vw); max-width: none; height: auto; opacity: calc(.16 + clamp(0, calc((var(--p, 0) - .38) / .2), 1) * .66); filter: saturate(calc(.2 + clamp(0, calc((var(--p, 0) - .38) / .2), 1) * .9)); transform: scale(calc(.96 + clamp(0, calc((var(--p, 0) - .38) / .3), 1) * .04)); }
.tlx-days { position: relative; z-index: 2; grid-column: 1; grid-row: 1; list-style: none; margin: 0; padding: 0; display: grid; }
.tlx-days > li { --r: .025; grid-area: 1 / 1; background: rgba(11,13,18,.9); border-radius: 6px; padding: 20px 22px; box-shadow: var(--e2); max-width: 460px; }
.tlx-days time { display: block; font: 500 .82rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.tlx-days p { margin: 0; font: 400 clamp(1.15rem, 1rem + .6vw, 1.55rem)/1.4 var(--font-display); }
.tlx-days__big p { font-size: clamp(1.3rem, 1.05rem + 1vw, 2rem); }
.tlx-days [data-tl-count] { font-variant-numeric: tabular-nums; font-weight: 600; }
.tlx-peakline { position: relative; z-index: 3; grid-column: 1 / -1; grid-row: 2; margin: 0; font: 600 clamp(2.2rem, 1.4rem + 3.4vw, 4.8rem)/1.02 var(--font-display); letter-spacing: -.03em; max-width: 16ch; text-wrap: balance; }
.tlx-peakline strong { color: var(--accent); font-weight: 600; }
.tlx-peaklinks { position: relative; z-index: 3; grid-column: 1 / -1; margin: 0; font-size: 1.05rem; }

/* ---------- 8 · horror edition: an iris opens on the eye ---------- */
.tlx-horror .tlx-stage { grid-template-columns: minmax(0, 1fr); align-items: end; }
.tlx-horror__eye { position: absolute; inset: 0; --o: clamp(0, calc((var(--p, 0) - .02) / .5), 1); clip-path: circle(calc(14% + var(--o) * 64%) at 50% 42%); }
.tlx-horror__eye img { width: 100%; height: 100%; object-fit: cover; max-width: none; filter: brightness(.8); }
.tlx-horror__eye::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(11,13,18,.92) 88%); }
.tlx-horror__copy { position: relative; z-index: 2; max-width: 560px; }

/* ---------- 9 · close ---------- */
.tlx-close { padding: clamp(110px, 20vh, 200px) var(--gut) clamp(90px, 14vh, 140px); }
.tlx-close__inner { max-width: 680px; margin-left: clamp(0px, 8vw, 140px); }
.tlx-label--plate { margin-top: 26px; max-width: 520px; }

/* ---------- every date (plain list, also the no-JS/reduced-motion route) ---------- */
.tlx-index { padding: 30px var(--gut) 60px; }
.tlx-index__inner { max-width: 820px; margin: 0 auto; padding: 26px 28px; background: var(--surface); border-radius: 6px; box-shadow: var(--edge); }
.tlx-list { list-style: none; margin: 14px 0 18px; padding: 0; display: grid; gap: 8px; }
.tlx-list li { display: grid; grid-template-columns: 9.5em 1fr; gap: 14px; font-size: .96rem; }
.tlx-list time { color: var(--ink-soft); font: 500 .78rem/1.7 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.tlx-credits { margin: 0; font-size: .84rem; color: var(--ink-soft); }

/* ---------- the taskbar that ages (signature move) ---------- */
.tlx-taskbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; height: 46px; display: flex; align-items: center; gap: 10px; padding: 0 10px;
  font: 600 13px/1 var(--font); transition: background-color .3s, color .3s, opacity .3s, transform .3s var(--ease-out);
}
.tlx-taskbar.is-gone { opacity: 0; transform: translateY(100%); pointer-events: none; }
.tlx-start { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px 0 6px; text-decoration: none; color: inherit; }
.tlx-start__logo { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 4px; background: #1f2bd6; color: #fff; font: 800 8px/1 var(--font); letter-spacing: .02em; }
.tlx-tray { flex: 1; display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.tlx-tray__item { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 4px; color: inherit; opacity: 0; transform: scale(.9); pointer-events: none; transition: opacity .25s, transform .25s var(--ease-out), background-color .2s; }
.tlx-tray__item.is-in { opacity: .82; transform: none; pointer-events: auto; }
.tlx-tray__item.is-here { opacity: 1; }
.tlx-tray__item svg { width: 20px; height: 20px; }
.tlx-clock { flex: none; padding: 0 10px; font-variant-numeric: tabular-nums; }
.tlx-taskbar a:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* 2000: classic grey bevels */
.tlx-taskbar[data-era="2000"] { background: #c3c3c3; color: #111; box-shadow: inset 0 1px 0 #fff; }
.tlx-taskbar[data-era="2000"] .tlx-start, .tlx-taskbar[data-era="2000"] .tlx-clock { height: 32px; display: inline-flex; align-items: center; box-shadow: inset -1px -1px #555, inset 1px 1px #fff; background: #c3c3c3; }
.tlx-taskbar[data-era="2000"] .tlx-clock { box-shadow: inset 1px 1px #777, inset -1px -1px #fff; }
.tlx-taskbar[data-era="2000"] .tlx-tray__item.is-here { box-shadow: inset 1px 1px #555, inset -1px -1px #fff; background: #d7d7d7; }
/* 2004: glossy blue, green start */
.tlx-taskbar[data-era="2004"] { background: linear-gradient(#3d82f2, #245edb 8%, #1f51c4 92%, #1941a5); color: #fff; }
.tlx-taskbar[data-era="2004"] .tlx-start { height: 46px; margin-left: -10px; padding: 0 22px 0 12px; border-radius: 0 14px 14px 0; background: linear-gradient(#55b04f, #3c963a 50%, #2f7f2f); font-style: italic; font-size: 15px; }
.tlx-taskbar[data-era="2004"] .tlx-tray__item.is-here { background: rgba(255,255,255,.22); }
.tlx-taskbar[data-era="2004"] .tlx-clock { height: 46px; display: inline-flex; align-items: center; background: linear-gradient(#1290e9, #0f7fd8); }
/* 2008: dark and glossy */
.tlx-taskbar[data-era="2008"] { background: linear-gradient(rgba(70,84,110,.98), rgba(22,30,46,.98)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.tlx-taskbar[data-era="2008"] .tlx-start { border-radius: 999px; padding: 0; width: 38px; justify-content: center; background: radial-gradient(circle at 50% 30%, #6fb7ff, #1b5fb8 70%); }
.tlx-taskbar[data-era="2008"] .tlx-start__txt { display: none; }
.tlx-taskbar[data-era="2008"] .tlx-tray__item.is-here { background: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
/* 2016 and 2017: flat */
.tlx-taskbar[data-era="2016"], .tlx-taskbar[data-era="2017"] { background: #101722; color: #e8edf5; }
.tlx-taskbar[data-era="2016"] .tlx-start__txt, .tlx-taskbar[data-era="2017"] .tlx-start__txt, .tlx-taskbar[data-era="2019"] .tlx-start__txt { display: none; }
.tlx-taskbar[data-era="2016"] .tlx-tray__item.is-here, .tlx-taskbar[data-era="2017"] .tlx-tray__item.is-here { background: rgba(255,255,255,.1); box-shadow: inset 0 -2px 0 #6fb1ff; border-radius: 0; }
.tlx-taskbar[data-era="2017"] { background: #1a0d10; }
.tlx-taskbar[data-era="2017"] .tlx-tray__item.is-here { box-shadow: inset 0 -2px 0 #ff6b6b; }
/* 2019: the red cursed one */
.tlx-taskbar[data-era="2019"] { background: #2a0606; color: #ffd9d9; }
.tlx-taskbar[data-era="2019"] .tlx-tray__item.is-here { background: rgba(255,80,80,.18); }
/* 2025: floating, rounded, centred */
.tlx-taskbar[data-era="2025"] { left: 50%; right: auto; bottom: 10px; transform: translateX(-50%); width: min(720px, calc(100% - 20px)); border-radius: 12px; background: rgba(28,32,44,.96); color: #f2f4f8; box-shadow: 0 10px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); justify-content: center; }
.tlx-taskbar[data-era="2025"].is-gone { transform: translate(-50%, 140%); }
.tlx-taskbar[data-era="2025"] .tlx-start__txt { display: none; }
.tlx-taskbar[data-era="2025"] .tlx-tray { flex: none; }
.tlx-taskbar[data-era="2025"] .tlx-tray__item.is-here { background: rgba(255,255,255,.1); }

/* ---------- phones ---------- */
@media (max-width: 760px) {
  .tlx-stage { padding: 76px 18px 84px; align-items: start; }
  .tlx-inbox .tlx-stage { grid-template-columns: 1fr; align-content: start; gap: 18px; }
  .tlx-mail { font-size: .82rem; }
  .tlx-mail__list li { padding: 5px 10px; }
  .tlx-idiot__copy { justify-self: stretch; margin: 0; }
  .tlx-pop { width: 132px; }
  .tlx-peak .tlx-stage { grid-template-columns: 1fr; align-content: start; }
  .tlx-map { place-items: end center; padding: 0 0 110px; }
  .tlx-map img { width: 120vw; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%); mask-image: linear-gradient(180deg, transparent 0%, #000 30%); -webkit-mask-composite: source-over; mask-composite: add; }
  .tlx-peakline { grid-row: auto; }
  .tlx-hero__year { font-size: 42vw; bottom: 30vh; }
  .tlx-label dd, .tlx-spec dd { grid-template-columns: 6.2em 1fr; }
  .tlx-list li { grid-template-columns: 1fr; gap: 2px; }
  .tlx-start__txt { display: none; }
}

/* ---------- no JavaScript or reduced motion: every room as a plain, complete page ---------- */
html:not(.tlx-on) .tlx-pin, .tlx-reduced .tlx-pin { height: auto; }
html:not(.tlx-on) .tlx-stage { position: relative; height: auto; min-height: 100svh; }
html:not(.tlx-on) .cue, html:not(.tlx-on) [data-tl-in] { opacity: 1; transform: none; }
html:not(.tlx-on) .tlx-mail__list li { opacity: 1; transform: none; }
html:not(.tlx-on) .tlx-pop { opacity: 1; }
html:not(.tlx-on) .tlx-scan__truth { clip-path: none; }
html:not(.tlx-on) .tlx-horror__eye { clip-path: none; }
html:not(.tlx-on) .tlx-rail { transform: none; }
html:not(.tlx-on) .tlx-room .tlx-stage { overflow-x: auto; }
html:not(.tlx-on) .tlx-taskbar { display: none; }
@media (prefers-reduced-motion: reduce) {
  .tlx-pin { height: auto; }
  .tlx-stage { position: relative; height: auto; min-height: 0; padding-top: 70px; padding-bottom: 70px; }
  .cue, [data-tl-in], .tlx-mail__list li, .tlx-spec { opacity: 1 !important; transform: none !important; }
  .tlx-inbox__copy, .tlx-idiot__copy, .tlx-days { display: grid; gap: 14px; }
  .tlx-inbox__copy > *, .tlx-idiot__copy > *, .tlx-days > li { grid-area: auto !important; margin-top: 0 !important; }
  .tlx-pops { display: none; }
  .tlx-idiot .tlx-stage { min-height: 0; }
  .tlx-scan > * { grid-area: auto; }
  .tlx-scan { gap: 16px; }
  .tlx-scan__truth, .tlx-horror__eye { clip-path: none; }
  .tlx-horror .tlx-stage { min-height: 70svh; }
  .tlx-rail { transform: none; }
  .tlx-room .tlx-stage { overflow-x: auto; }
  .tlx-hero__back, .tlx-hero__year, .tlx-map img { transform: none; }
  .tlx-map img { opacity: .6; filter: none; }
  .tlx-scan__bar i { transform: none; }
}
