/* ============================================================
   pw-techzone.de — Tactical Telemetry
   Single-File. Kein CDN, keine externen Fonts, kein Tracking.
   ============================================================ */

:root{
  --bg:#0D1215; --bg2:#11181C; --bg3:#172127;
  --line:#26323A; --line2:#3A4A53;
  --ink:#E4EBEE; --body:#BAC6CC; --mute:#7F9099;
  --mint:#5EEAD4; --mint2:#99F6E4; --mintd:#143D38; --onmint:#08302B;
  --warn:#E8B65A; --violet:#B6A2F5;

  --display:"Arial Black","Archivo Black","Helvetica Neue",Arial,"DejaVu Sans",sans-serif;
  --mono:ui-monospace,"Cascadia Mono","JetBrains Mono",Consolas,Menlo,"DejaVu Sans Mono",monospace;

  --pad:clamp(16px,3.2vw,40px);
  --max:1480px;
  --bar:56px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; border-radius:0; }

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--bar) + 24px); -webkit-text-size-adjust:100%; }

body{
  margin:0; background:var(--bg); color:var(--body);
  font-family:var(--mono); font-size:15px; line-height:1.7;
  overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

a{ color:inherit; }
::selection{ background:var(--mint); color:var(--onmint); }
*{ scrollbar-width:thin; scrollbar-color:var(--mint) #080C0E; }
::-webkit-scrollbar{ width:12px; height:12px; }
::-webkit-scrollbar-track{ background:#080C0E; }
::-webkit-scrollbar-thumb{ background:var(--mint); border:2px solid #080C0E; }

:focus-visible{ outline:2px solid var(--mint); outline-offset:3px; }
.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--mint); color:var(--onmint); padding:10px 16px; font-weight:800; text-decoration:none;
}
.skip:focus{ left:0; }

.scan{
  position:fixed; inset:0; z-index:150; pointer-events:none; opacity:.22;
  background:repeating-linear-gradient(180deg, rgba(0,0,0,.35) 0 1px, transparent 1px 3px);
}

.shell{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--pad); }

/* ============================================================
   Leiste: Marke, Navigation, Fernwartung
   ============================================================ */

.bar{
  position:fixed; z-index:100; inset:0 0 auto 0; height:var(--bar);
  display:flex; align-items:stretch; justify-content:space-between;
  background:var(--bg); border-bottom:1px solid var(--line2);
}
.bar .brand{
  display:flex; align-items:center; gap:10px; padding:0 var(--pad);
  font-family:var(--display); font-size:17px; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; white-space:nowrap;
}
.brand i{ width:9px; height:9px; background:var(--mint); animation:blink 1.4s steps(1) infinite; }
.brand sup{ font-family:var(--mono); font-size:10px; color:var(--mute); margin-left:-6px; }

.links{ display:flex; align-items:stretch; margin-left:auto; }
.links a{
  display:flex; align-items:center; padding:0 clamp(12px,1.6vw,22px);
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--mute); text-decoration:none; border-left:1px solid var(--line);
  transition:color .15s linear, background .15s linear;
}
.links a:hover{ color:var(--ink); background:var(--bg2); }
.links a.is-active{ color:var(--mint); background:var(--bg2); }

.support{
  display:flex; align-items:center; gap:10px; padding:0 clamp(14px,1.6vw,22px);
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--onmint); background:var(--mint); text-decoration:none; white-space:nowrap;
  transition:background .15s linear, transform .12s linear;
}
.support svg{ width:15px; height:15px; flex:none; }
.support:hover{ background:var(--mint2); }
.support:active{ transform:translateY(2px); }
.support{ align-self:center; height:34px; margin:0 var(--pad) 0 14px; padding:0 14px; gap:8px; font-size:11px; }
.support svg{ width:13px; height:13px; }
@media (max-width:860px){ .support{ height:30px; margin:0 12px 0 8px; padding:0 10px; gap:6px; font-size:10px; letter-spacing:.06em; } .support svg{ width:12px; height:12px; } }

.prog{
  position:absolute; left:0; bottom:-1px; height:3px; width:100%; background:var(--mint);
  transform:scaleX(0); transform-origin:0 50%; will-change:transform;
}

@media (max-width:860px){
  .brand sup{ display:none; }
  .links{
    position:fixed; z-index:100; inset:auto 0 0 0; margin:0; height:52px;
    display:grid; grid-template-columns:repeat(6,1fr);
    background:var(--bg); border-top:1px solid var(--line2);
  }
  .links a{ justify-content:center; padding:0; font-size:10.5px; letter-spacing:.02em; }
  .links a:first-child{ border-left:0; }
  body{ padding-bottom:52px; }
}

/* ============================================================
   Bausteine
   ============================================================ */

@keyframes blink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }

.sec{ position:relative; padding-block:clamp(84px,11vw,168px); border-top:1px solid var(--line2); }
.cmd{
  display:flex; flex-wrap:wrap; align-items:baseline; margin:0 0 22px;
  font-size:clamp(12px,1.4vw,13.5px); color:var(--mute);
}
.cmd .u{ color:var(--mint); font-weight:700; }
.cmd .c{ color:var(--ink); }
.cmd .car{ display:inline-block; width:8px; height:14px; margin-left:6px; background:var(--mint); transform:translateY(2px); animation:blink 1.1s steps(1) infinite; }

h1,h2,h3{ margin:0; text-wrap:balance; }
.h2{
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(32px,7.4vw,118px); line-height:.9; letter-spacing:-.045em; color:var(--ink);
}
.lede{ max-width:60ch; margin:28px 0 0; font-size:clamp(15px,1.5vw,17px); color:var(--body); }
.lede strong{ color:var(--ink); }
.meta{
  font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute);
}
.led{ display:inline-block; width:8px; height:8px; background:var(--mint); flex:none; }

.cells-grid{ display:grid; gap:1px; background:var(--line2); border:1px solid var(--line2); }
.cells-grid > *{ background:var(--bg); }

.btn{
  display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 22px;
  font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  color:var(--ink); background:transparent; border:1px solid var(--line2);
  transition:background .15s linear, color .15s linear, border-color .15s linear, transform .12s linear;
}
.btn:hover{ border-color:var(--mint); color:var(--mint); background:var(--bg2); }
.btn:active{ transform:translateY(2px); }
.btn.primary{ background:var(--mint); color:var(--onmint); border-color:var(--mint); }
.btn.primary:hover{ background:var(--mint2); border-color:var(--mint2); color:var(--onmint); }
.btn .arw{ transition:transform .15s linear; }
.btn:hover .arw{ transform:translateX(4px); }

/* Reveal: nur mit JS, sonst bleibt alles sichtbar */
.js [data-reveal]{ opacity:0; transform:translate3d(0,22px,0); transition:opacity .6s var(--ease), transform .6s var(--ease); transition-delay:var(--d,0ms); }
.js [data-reveal].is-in{ opacity:1; transform:none; }

/* ============================================================
   Hero
   ============================================================ */

.hero{ padding:calc(var(--bar) + clamp(28px,5vw,64px)) 0 clamp(48px,7vw,96px); min-height:100svh; display:flex; align-items:center; }
.hero .shell{ display:block; }
.hero-meta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; margin-bottom:clamp(14px,2.4vw,28px); }
.hero-meta span{ display:inline-flex; align-items:center; gap:10px; }

h1.name{
  font-family:var(--display); font-weight:900; text-transform:uppercase; color:var(--ink);
  font-size:clamp(52px,min(16vw,24svh),260px); line-height:.86; letter-spacing:-.055em; margin:0 0 clamp(26px,4vw,56px);
}
h1.name .ln{ display:block; overflow:hidden; padding-bottom:.04em; }
h1.name .ln > span{ display:block; }
.js h1.name .ln > span{ transform:translateY(105%); animation:rise .9s var(--ease) forwards; }
.js h1.name .ln:nth-child(2) > span{ animation-delay:.12s; }
@keyframes rise{ to{ transform:none; } }

.hero-grid{ display:grid; gap:clamp(24px,4vw,64px); grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:end; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }
.role{
  margin:0 0 18px; font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(22px,3vw,40px); line-height:1; letter-spacing:-.03em; color:var(--ink);
}
.hero-note{ max-width:54ch; margin:0 0 32px; font-size:clamp(15px,1.5vw,16.5px); }
.cta{ display:flex; flex-wrap:wrap; gap:12px; }

.term{ border:1px solid var(--line2); background:var(--bg2); }
.term-bar{ display:flex; align-items:center; gap:8px; padding:0 14px; min-height:36px; border-bottom:1px solid var(--line2); background:var(--bg3); }
.term-bar i{ width:9px; height:9px; background:var(--line2); }
.term-bar i:first-child{ background:var(--mint); }
.term-bar span{ margin-left:6px; font-size:11.5px; color:var(--mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.term-body{ padding:16px; font-size:clamp(11.5px,1.2vw,12.5px); line-height:1.85; min-height:270px; }
.term-body .ln{ white-space:pre-wrap; word-break:break-word; }
.js .term-body .ln{ opacity:0; }
.js .term-body .ln.on{ opacity:1; }
.ok{ color:var(--mint); } .wn{ color:var(--warn); } .cy{ color:var(--ink); } .mu{ color:var(--mute); } .vi{ color:var(--violet); }

/* Kennzahlenleiste */
.stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:1280px){ .stats{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:520px){ .stats{ grid-template-columns:1fr; } }
.stat{ padding:clamp(18px,2.4vw,30px) clamp(16px,2.4vw,30px); }
.stat .k{ margin-bottom:10px; }
.stat .v{ font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(19px,3.2vw,30px); line-height:1.05; letter-spacing:-.03em; color:var(--ink); overflow-wrap:anywhere; }
@media (min-width:1280px){ .stat .v{ font-size:clamp(18px,1.5vw,26px); } }
.stat .v em{ font-style:normal; color:var(--mint); }

/* ============================================================
   whoami
   ============================================================ */

.who{ display:grid; gap:clamp(32px,5vw,80px); grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); margin-top:clamp(36px,5vw,64px); align-items:start; }
@media (max-width:960px){ .who{ grid-template-columns:1fr; } }
.who p{ margin:0 0 1.2em; max-width:62ch; font-size:clamp(15px,1.5vw,16.5px); }
.who p b{ color:var(--ink); font-weight:700; }
.who p em{ font-style:normal; color:var(--mint); }

.conf .hd{ padding:12px 18px; background:var(--bg3); }
.conf .row{ display:flex; justify-content:space-between; gap:16px; padding:12px 18px; font-size:13px; }
.conf .k{ color:var(--mute); }
.conf .k::after{ content:" ="; }
.conf .v{ color:var(--ink); text-align:right; }
.conf .v.acc{ color:var(--mint); font-weight:700; }

/* ============================================================
   Kompetenzen
   ============================================================ */

.skills{ grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:clamp(36px,5vw,64px); }
@media (max-width:760px){ .skills{ grid-template-columns:1fr; } }
.skill{ padding:clamp(22px,3vw,44px); display:flex; flex-direction:column; gap:14px; min-height:clamp(220px,22vw,300px); transition:background .15s linear; }
.skill:hover{ background:var(--bg2); }
.skill .nm{ display:flex; align-items:center; gap:12px; font-size:clamp(14px,1.6vw,17px); font-weight:700; color:var(--ink); }
.skill .nm b{ color:var(--mint); }
.skill p{ margin:0; max-width:46ch; flex:1; }
.status{ align-self:flex-start; padding:4px 10px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mint2); background:var(--mintd); }

/* ============================================================
   Mein Weg
   ============================================================ */

.tl{ display:grid; gap:clamp(28px,5vw,80px); grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); margin-top:clamp(36px,5vw,64px); }
.tl > div:first-child{ align-self:stretch; }
@media (max-width:900px){ .tl{ grid-template-columns:1fr; gap:28px; } }
.tl-sticky{ position:sticky; top:calc(var(--bar) + 40px); }
@media (max-width:900px){ .tl-sticky{ position:static; } }
.tl-ver{
  font-family:var(--display); font-weight:900; letter-spacing:-.07em; line-height:.86;
  font-size:clamp(72px,13vw,200px); color:var(--mint);
  transition:opacity .2s linear, transform .2s linear;
}
.tl-meta{ transition:opacity .2s linear, transform .2s linear; }
.tl-swap{ opacity:0; transform:translateX(-10px); }
.tl-yr{ margin-top:22px; font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--mute); }
.tl-role{ margin-top:6px; font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(20px,2.6vw,34px); line-height:1; letter-spacing:-.03em; color:var(--ink); }
.tl-bar{ height:10px; margin-top:26px; background:var(--bg3); }
.tl-bar i{ display:block; height:100%; width:0; background:var(--mint); transition:width .35s steps(8); }
.tl-count{ margin-top:10px; }

.tl-list{ display:grid; gap:1px; background:var(--line2); border:1px solid var(--line2); align-content:start; }
.tl-item{ background:var(--bg); padding:clamp(20px,2.6vw,34px); transition:background .2s linear; }
.tl-item.is-cur{ background:var(--bg3); outline:1px solid var(--mint); outline-offset:-1px; }
.tl-head{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:12px; }
.tag{ padding:2px 9px; font-size:11.5px; font-weight:700; color:var(--mint2); background:var(--mintd); }
.tag.am{ color:var(--onmint); background:var(--mint); }
.tl-item h3{ font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(18px,2.2vw,28px); line-height:1.05; letter-spacing:-.03em; color:var(--ink); margin-bottom:10px; }
.tl-item p{ margin:0; max-width:56ch; }

/* ============================================================
   Homelab
   ============================================================ */

.metrics{ grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(36px,5vw,64px); }
.metric{ padding:clamp(20px,3vw,40px) clamp(16px,2.4vw,30px); }
.metric .n{ font-family:var(--display); font-weight:900; font-size:clamp(44px,7vw,104px); line-height:.9; letter-spacing:-.06em; color:var(--ink); font-variant-numeric:tabular-nums; }
.metric .l{ margin-top:14px; }

.lab{ display:grid; gap:clamp(28px,4vw,72px); grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); margin-top:clamp(40px,6vw,88px); align-items:start; }
@media (max-width:1040px){ .lab{ grid-template-columns:1fr; } }

.chips{ display:none; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.js .chips{ display:flex; }
.chip{
  font:inherit; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  min-height:40px; padding:0 14px; cursor:pointer; color:var(--body); background:transparent; border:1px solid var(--line2);
  transition:background .15s linear, color .15s linear, border-color .15s linear, transform .12s linear;
}
.chip:hover{ border-color:var(--mint); color:var(--mint); }
.chip:active{ transform:translateY(2px); }
.chip[aria-pressed="true"]{ background:var(--mint); color:var(--onmint); border-color:var(--mint); }
.chip small{ font:inherit; opacity:.7; margin-left:6px; }

.own{ list-style:none; margin:clamp(36px,5vw,64px) 0 0; padding:0; border-top:1px solid var(--line2); }
.own-row{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(150px,auto);
  gap:clamp(12px,3vw,48px); align-items:center; padding:clamp(22px,3.2vw,44px) 0;
  border-bottom:1px solid var(--line2); transition:background .15s linear;
}
.own-row:hover{ background:var(--bg2); }
.own-name{
  font-family:var(--display); font-weight:900; text-transform:uppercase; color:var(--ink);
  font-size:clamp(26px,4.6vw,66px); line-height:.95; letter-spacing:-.045em; overflow-wrap:anywhere;
  transition:color .15s linear;
}
.own-row:hover .own-name{ color:var(--mint); }
.own-tag{ display:inline-block; vertical-align:middle; margin-left:12px; padding:3px 10px; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--mint2); background:var(--mintd); }
.own-info{ margin:0; max-width:46ch; }
.own-st{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mint2); }
.own-st.is-off{ color:var(--mute); }
.own-st.is-off .led{ background:transparent; box-shadow:inset 0 0 0 1px var(--mute); }
@media (max-width:860px){ .own-row{ grid-template-columns:1fr; gap:10px; } }
.live{ display:none; margin:0 0 14px; }
.live.on{ display:flex; align-items:center; gap:10px; }
.live .led{ animation:blink 1.6s steps(1) infinite; }
.live.warn{ color:var(--warn); }
.live.warn .led{ background:var(--warn); animation:none; }
.host{ margin-bottom:22px; }
#hostLoad{ padding:28px 0; }
.host-hd{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; padding:10px 14px; background:var(--bg3); border:1px solid var(--line2); border-bottom:0; }
.host-hd span{ display:inline-flex; align-items:center; gap:10px; }
.host-hd .warn{ color:var(--warn); }
.host-hd:last-child{ border-bottom:1px solid var(--line2); }
ul.guests{ list-style:none; margin:0; padding:0; display:grid; border:1px solid var(--line2); border-right:0; border-bottom:0; grid-template-columns:repeat(auto-fill,minmax(124px,1fr)); }
ul.guests li{ display:flex; border-right:1px solid var(--line2); border-bottom:1px solid var(--line2); }
.cell{
  position:relative; flex:1; min-height:92px; padding:12px 12px 10px; text-align:left;
  display:flex; flex-direction:column; justify-content:space-between; gap:10px;
  font:inherit; color:var(--ink); background:transparent; border:0; cursor:pointer;
  transition:background .15s linear, color .15s linear, opacity .2s linear;
}
.cell b{ font-size:12.5px; font-weight:700; line-height:1.25; }
.cell span{ font-size:10.5px; letter-spacing:.1em; color:var(--mute); }
.cell::after{ content:''; position:absolute; top:10px; right:10px; width:6px; height:6px; background:var(--mint); }
.cell:hover{ background:var(--bg3); }
.cell.is-dim{ opacity:.28; }
.cell.is-hit{ background:var(--mintd); }
.cell.is-off{ color:var(--mute); }
.cell.is-off::after{ background:transparent; box-shadow:inset 0 0 0 1px var(--mute); }
.cell.is-pick{ background:var(--mint); color:var(--onmint); opacity:1; }
.cell.is-pick span{ color:var(--onmint); }
.cell.is-pick::after{ background:var(--onmint); box-shadow:none; }
.js ul.guests .cell{ opacity:0; transform:translateY(8px); transition:opacity .4s var(--ease), transform .4s var(--ease), background .15s linear, color .15s linear; transition-delay:var(--d,0ms),var(--d,0ms),0s,0s; }
.js ul.guests.is-in .cell{ opacity:1; transform:none; }
.js ul.guests.is-in .cell.is-dim{ opacity:.28; }

.readout{ margin:14px 0 0; min-height:3.4em; padding:12px 14px; font-size:13px; color:var(--ink); background:var(--bg2); border:1px solid var(--line2); }
.readout .p{ color:var(--mint); font-weight:700; }

.stack{ margin:0; }
.stack .row{ display:grid; grid-template-columns:minmax(110px,.42fr) 1fr; gap:16px; padding:15px 0; border-top:1px solid var(--line2); }
.stack .row:last-child{ border-bottom:1px solid var(--line2); }
.stack dt{ margin:0; }
.stack dd{ margin:0; color:var(--ink); font-size:14.5px; }
.stack-hd{ margin:0 0 14px; }

.ticker{ margin-top:clamp(48px,7vw,96px); overflow:hidden; background:var(--bg2); border-block:1px solid var(--line2); }
.tk-track{ display:flex; width:max-content; animation:tk 46s linear infinite; }
.ticker:hover .tk-track{ animation-play-state:paused; }
@keyframes tk{ to{ transform:translateX(-50%); } }
.tk-set{ display:flex; align-items:center; }
.tk-set span{ padding:18px clamp(16px,2.4vw,32px); font-size:clamp(12px,1.5vw,15px); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--body); white-space:nowrap; }
.tk-set span::after{ content:'/'; margin-left:clamp(16px,2.4vw,32px); color:var(--line2); }

/* ============================================================
   Kontakt & Footer
   ============================================================ */

.chans{ grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(36px,5vw,64px); }
@media (max-width:900px){ .chans{ grid-template-columns:1fr; } }
.chan{
  display:flex; flex-direction:column; justify-content:space-between; gap:clamp(28px,4vw,56px);
  min-height:clamp(180px,20vw,260px); padding:clamp(20px,2.6vw,36px);
  text-decoration:none; color:var(--ink); transition:background .15s linear, color .15s linear;
}
.chan:hover{ background:var(--bg3); }
.chan .t1{ display:flex; justify-content:space-between; }
.chan .t2{ font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(20px,2.3vw,32px); line-height:1; letter-spacing:-.03em; overflow-wrap:anywhere; }
.chan .t3{ display:block; margin-top:10px; font-size:12.5px; color:var(--mute); word-break:break-all; }
.chan.dl{ background:var(--mint); color:var(--onmint); }
.chan.dl:hover{ background:var(--mint2); }
.chan.dl .meta, .chan.dl .t3{ color:var(--onmint); }
.hint{ margin:28px 0 0; font-size:12.5px; color:var(--mute); max-width:78ch; }

footer{ border-top:1px solid var(--line2); padding:clamp(40px,6vw,80px) 0 40px; }
.wordmark{
  font-family:var(--display); font-weight:900; text-transform:uppercase; white-space:nowrap;
  font-size:clamp(34px,10.4vw,176px); line-height:.9; letter-spacing:-.06em; color:var(--line2); user-select:none;
}
.wordmark sup{ font-family:var(--mono); font-size:.12em; letter-spacing:0; vertical-align:top; }
.foot{ display:flex; flex-wrap:wrap; gap:14px 24px; justify-content:space-between; margin-top:clamp(28px,4vw,56px); font-size:12px; color:var(--mute); }
.foot a{ text-decoration:none; transition:color .15s linear; }
.foot a:hover{ color:var(--mint); }
.foot .sep{ margin:0 8px; color:var(--line2); }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .js [data-reveal], .js ul.guests .cell, .js .term-body .ln{ opacity:1 !important; transform:none !important; }
  .js ul.guests .cell.is-dim{ opacity:.28 !important; }
  .js h1.name .ln > span{ transform:none !important; }
  .scan{ display:none; }
  .tk-track{ animation:none !important; }
}
