/* Rules als eine einzige, responsive Hintergrund-Leinwand. Absolute 1760er
   Lichtkoordinaten und sektionsweise beschnittene Glows werden nicht mehr als
   Seitenhintergrund verwendet. */
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) {
  position: relative;
  isolation: isolate;
  background: #02080d;
}

body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 92% 25% at 96% 13%, rgba(104, 214, 255, 0.64) 0%, rgba(17, 151, 222, 0.39) 42%, rgba(2, 78, 127, 0.14) 73%, transparent 100%),
    radial-gradient(ellipse 96% 27% at 2% 32%, rgba(123, 220, 255, 0.68) 0%, rgba(24, 160, 226, 0.42) 42%, rgba(4, 84, 133, 0.15) 73%, transparent 100%),
    radial-gradient(ellipse 94% 27% at 98% 51%, rgba(96, 207, 250, 0.61) 0%, rgba(13, 142, 212, 0.37) 43%, rgba(2, 73, 120, 0.13) 74%, transparent 100%),
    radial-gradient(ellipse 98% 28% at 0% 70%, rgba(116, 216, 253, 0.66) 0%, rgba(19, 152, 218, 0.40) 43%, rgba(3, 79, 126, 0.14) 74%, transparent 100%),
    radial-gradient(ellipse 98% 25% at 100% 88%, rgba(91, 202, 247, 0.57) 0%, rgba(10, 135, 204, 0.34) 44%, rgba(2, 69, 113, 0.12) 75%, transparent 100%),
    radial-gradient(ellipse 110% 21% at 38% 99%, rgba(84, 199, 245, 0.48) 0%, rgba(8, 128, 196, 0.29) 45%, rgba(2, 63, 104, 0.10) 76%, transparent 100%),
    linear-gradient(180deg, #000000 0%, #03121c 15%, #05283a 36%, #07364b 58%, #062f44 78%, #031622 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000000 96px, #000000 calc(100% - 160px), rgba(0, 0, 0, 0.56) calc(100% - 70px), transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000000 96px, #000000 calc(100% - 160px), rgba(0, 0, 0, 0.56) calc(100% - 70px), transparent 100%);
}

body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil)::after {
  content: none;
  background: none;
  background-image: none;
}

body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r1,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r2,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r3,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r4,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r5,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r6,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r7,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r8,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r9,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvf-s10 {
  position: relative;
  z-index: 1;
  background-color: transparent;
  background-image: none;
}

body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r1 .lvr-r1-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r2 .lvr-r2-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r3 .lvr-r3-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r4 .lvr-r4-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r5 .lvr-r5-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r6 .lvr-r6-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r7 .lvr-r7-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r8 .lvr-r8-glow,
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r9 .lvr-r9-glow {
  background: none;
  background-image: none;
  -webkit-mask-image: none;
          mask-image: none;
}

/* Der alte r2-Anlauf endet an der r1-Unterkante schlagartig. Auf der jetzt
   durchgehenden Seitenleinwand erzeugt genau dieses Ende die sichtbare Linie. */
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r1::after {
  content: none;
  background: none;
  background-image: none;
}

/* Der alte 60-px-Anlauf kopiert einen Ausschnitt des r3-Lichts in r2 und
   wird an der Sektionskante abgeschnitten. Auf der gemeinsamen Leinwand
   erzeugt er deshalb wieder genau die volle horizontale Trennung. */
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) > .lvr-r2::after {
  content: none;
  background: none;
  background-image: none;
  -webkit-mask-image: none;
          mask-image: none;
}

/* Das Spotlight-Motiv bleibt als Hero-Bild erhalten, endet aber nicht mehr
   mit einer schwarzen Rechteckzeile vor der gemeinsamen Leinwand. */
body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvr-r1 .lvr-r1-bg {
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 64%, rgba(0, 0, 0, 0.76) 78%, rgba(0, 0, 0, 0.3) 92%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 64%, rgba(0, 0, 0, 0.76) 78%, rgba(0, 0, 0, 0.3) 92%, transparent 100%);
}

body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil) .lvf-s10::before {
  content: none;
  background: none;
  background-image: none;
}

/* Die Tabellenkoerper waren fuer eine weisse lokale Lichtinsel gesetzt. */
body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body .lvr-r2-f,
body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body .lvr-r2-c,
body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body .lvr-r2-v {
  color: #f5fbff;
}

body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body .lvr-r2-s,
body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body .lvr-r2-none {
  color: rgba(226, 241, 250, 0.72);
}

body.page-id-8048 .lvf-page.lvf-page .lvr-r2-row--body :is(.lvr-r2-f, .lvr-r2-c) {
  font-size: max(13px, 0.7vw);
  line-height: 1.4;
}

@media (max-width: 1199.98px) {
  body.page-id-8048 .lvf-page.lvf-page:not(.lvf-theme-teil)::before {
    background:
      radial-gradient(ellipse 120% 22% at 50% 13%, rgba(91, 204, 249, 0.60) 0%, rgba(12, 140, 211, 0.36) 43%, rgba(2, 73, 121, 0.13) 74%, transparent 100%),
      radial-gradient(ellipse 112% 24% at 0% 31%, rgba(108, 214, 253, 0.63) 0%, rgba(17, 151, 220, 0.38) 43%, rgba(3, 79, 126, 0.14) 74%, transparent 100%),
      radial-gradient(ellipse 114% 25% at 100% 50%, rgba(87, 201, 246, 0.57) 0%, rgba(9, 135, 205, 0.34) 44%, rgba(2, 69, 114, 0.12) 75%, transparent 100%),
      radial-gradient(ellipse 116% 25% at 0% 69%, rgba(101, 209, 249, 0.61) 0%, rgba(14, 145, 213, 0.36) 44%, rgba(2, 75, 119, 0.13) 75%, transparent 100%),
      radial-gradient(ellipse 118% 23% at 100% 87%, rgba(83, 196, 242, 0.54) 0%, rgba(8, 128, 197, 0.32) 45%, rgba(2, 64, 106, 0.11) 76%, transparent 100%),
      linear-gradient(180deg, #000000 0%, #03121c 15%, #05283a 37%, #07364b 59%, #062f44 79%, #031622 100%);
  }
}

/* == r1-hero == */
/* Lvlup Futures - Trading Rules Seite: Sektion r1-hero
   Praefix .lvr-r1-. Designbreite 1760, 1px Figma = 1px CSS, Band y=0..960.
   Hintergrund der Sektion transparent (Seitengrund kommt von .lvf-page),
   lokale Glows und Hero-Bild laufen weich aus (keine harten Kanten). */

.lvr-r1 {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: transparent;
  text-align: center;
}

/* Hero-Bild (Spotlight-Beams) mit weichen Uebergaengen:
   oben Abdunklung unter Banner/Nav, unten Auslaufen in den Seitengrund. */
.lvr-r1-bg {
  position: absolute;
  inset: 0 0 auto 0;
  height: 689px;
  z-index: -2;
  pointer-events: none;
  /* Oben nur leicht abdunkeln: die Lichtstrahlen sollen wie im Soll bis hinter
     Banner und Nav durchscheinen (Header schwebt ueber dem Bild). */
  background:
    linear-gradient(180deg, rgba(5, 6, 15, 0.5) 0%, rgba(5, 6, 15, 0) 18%),
    linear-gradient(180deg, rgba(5, 6, 15, 0) 52%, var(--lvf-bg) 98%),
    radial-gradient(90% 70% at 50% 6%, rgba(0, 162, 255, 0.22) 0%, rgba(0, 162, 255, 0) 65%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%),
    url('https://lvlup2.tivaosagencytempdomains.de/wp-content/uploads/2026/08/lvlup-a7ba857d2a.webp') center top / cover no-repeat;
}

/* Weicher Licht-Glow hinter der Headline (Figma "Black Text Glow", blur 300-520px) */
.lvr-r1-glow {
  position: absolute;
  left: 50%;
  top: 150px;
  width: min(1000px, 110vw);
  height: 520px;
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(140, 213, 255, 0.16) 0%, rgba(0, 162, 255, 0.07) 45%, rgba(0, 162, 255, 0) 75%);
  filter: blur(20px);
}

/* Blauer Schimmer hinter Suche und Chips */
.lvr-r1-glow--low {
  top: 560px;
  height: 420px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 162, 255, 0.10) 0%, rgba(0, 162, 255, 0.04) 45%, rgba(0, 162, 255, 0) 75%);
}

.lvr-r1-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* War 160px ("Review R3: Hero war 112px zu hoch"). Rundgang 13.08.2026:
     die Figma-Bandkoordinate setzt das Badge exakt auf y=217
     (figma/specs-rules/r1-hero.txt, "Frame 73"), nicht y=160 - 57px Differenz,
     per Messscript bestaetigt (ohne Override badge.y=160, mit Override
     badge.y=217). Unabhaengig bestaetigt durch
     server-stand-20260810/lvlup-fixes/r3-rules.css Zeile 20 (tabu, nur
     gelesen; eigene Screenshot-Kalibrierung "R3-rules-01"): dieselben 217px.
     Zwei unabhaengige Messwege treffen sich exakt, 160 war der Fehler.
     Aendert am gerenderten Bild nichts, weil der Override bisher ohnehin mit
     217px gewinnt (0-2-0 gegen 0-1-0 hier); macht das Fragment nur
     unabhaengig vom (tabu) Override richtig. */
  padding-top: 217px;
  padding-bottom: 102px;
}

/* --- Badge "Zero Hidden Rules" --- */
.lvr-r1-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 19px;
  border-radius: 67px;
  background: rgba(0, 0, 0, 0.47);
  backdrop-filter: blur(86px);
  -webkit-backdrop-filter: blur(86px);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.42px;
  color: rgba(255, 255, 255, 0.75);
}
/* Pixelrunde 3 (R3-rules-17): Badge ist im Entwurf zweifarbig, "Zero" blau
   und kraeftiger, "Hidden Rules" weiss/gedimmt. Gemessen (hellste Punkte):
   Badge "Zero" rgb(126,204,244) gegen "Hidden Rules" rgb(181,188,195). */
.lvr-r1-badge-hl { color: var(--lvf-blue-light); font-weight: 500; }
.lvr-r1-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lvf-grad-blue);
  box-shadow: 0 0 8px rgba(18, 169, 255, 0.9);
}

/* --- Headline --- */
.lvr-r1-title {
  margin-top: 26px;
  font-size: 68px;
  font-weight: 500;
  line-height: 63px;
  letter-spacing: 0;
}
.lvr-r1-title-line {
  display: block;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r1-title-line--blue {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* Befund server-stand-20260810/lvlup-fixes/r3-rules.css Zeile 671-690
     (tabu, nur gelesen; "ABNAHME-R3-rules-A2"): der blaue Anteil von 13
     Sektionsueberschriften ist bei geerbtem Gewicht 500 im Mittel 5,1 % zu
     schmal (Wortbreiten-Messung Schnipsel gegen Live-Render), "Every Rule."
     namentlich bei -6,0 %. Vertrag laut dortiger Messung: Weiss bleibt 500,
     Blau braucht 600. Hier direkt im Fragment gesetzt statt nur ueber den
     Override (der das bisher mit hoeherer Spezifitaet erzwingt), damit die
     Ueberschrift auch ohne den Override richtig bleibt. */
  font-weight: 600;
}

/* --- Subheadline --- */
.lvr-r1-sub {
  margin-top: 36px;
  max-width: 551px;
  font-size: 18px;
  font-weight: 425;
  line-height: 24px;
  letter-spacing: 0.54px;
  color: rgba(255, 255, 255, 0.85);
}

/* --- Feature-Pills --- */
.lvr-r1-pills {
  margin-top: 72px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  max-width: 1110px;
  /* Review R3 (ru2): im Soll stehen die Chips frei, ohne Rahmen-Container */
  padding: 0;
}
.lvr-r1-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 26px;
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  /* War 400. Befund server-stand-20260810/lvlup-fixes/r3-rules.css
     Zeile 692-705 (tabu, nur gelesen; "ABNAHME-R3-rules-A3"): bei 400 sind
     die unbetonten Pillenwoerter 10 bis 15 % zu schmal gemessen ("Payout"
     Soll 42,2 / Ist 37,0 px, "Access" Soll 45,8 / Ist 41,0 px). 550 (der
     urspruengliche Wert) bricht die Reihe eine Zeile um und macht die Seite
     51px hoeher, 525 ist der dort gemessene Kompromiss (Kasten 1051 von
     Soll 1058,8, 7px Luft bis zum Umbruch). Hier direkt uebernommen statt
     nur ueber den Override bezogen. */
  font-weight: 525;
  line-height: 17px;
  letter-spacing: -0.42px;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
}
.lvr-r1-pill-icon {
  width: 14px;
  height: 14px;
  flex: none;
  color: var(--lvf-blue-light);
}
/* Pixelrunde 3 (R3-rules-17): je Pille ist der Kennwert blau und kraeftiger,
   der Rest weiss/gedimmt. Gemessen Pille 1 "No Daily" rgb(148,185,202) gegen
   "Loss Limit" rgb(202,205,208). */
.lvr-r1-pill-hl { color: var(--lvf-blue-light); font-weight: 600; }

/* --- Suche --- */
.lvr-r1-search {
  margin-top: 124px;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 1238px;
  height: 65px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(#000000, #000000) padding-box,
    linear-gradient(90deg, rgba(0, 170, 255, 0.6) 0%, rgba(0, 65, 103, 0.08) 26%, rgba(0, 94, 141, 0.4) 61%, rgba(0, 51, 88, 0.05) 100%) border-box;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), 0 -10px 40px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-align: left;
}
.lvr-r1-search-icon {
  width: 17px;
  height: 17px;
  flex: none;
  /* War rgba(255,255,255,.8) (weiss). Figma-Vektor traegt einen Blauverlauf
     (#8cd5ff -> #12a9ff, wie die Pillen-Icons), bestaetigt in
     gegenpruefung/rules.md Punkt 8 als sichtbarer, noch aktueller Fehler
     ("Lupe ist weiss, hellster Wert (228,228,228), kein Blauanteil" gegen
     Soll (147,238,255)). SVG-Stroke kann keinen CSS-Verlauf ueber
     currentColor tragen; wie bei den Pillen-Icons (.lvr-r1-pill-icon) wird
     deshalb der helle Endpunkt des Verlaufs als Flaechenfarbe genutzt. */
  color: var(--lvf-blue-light);
}
.lvr-r1-search-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  background: transparent;
  border: 0;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 300;
  line-height: 17px;
  letter-spacing: 0.85px;
  color: var(--lvf-white);
}
.lvr-r1-search-input::placeholder {
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
}

/* Befund referenz-neu/befunde/rules-hero.md Abschnitt 3, 13.08.2026: der
   Eingabetext verlor gegen shell.css (".lvf-page.lvf-page input" hat
   Spezifitaet 0-2-1, die einzelne Klasse hier nur 0-1-0) und erbte die
   Seitenschrift (16px/normal) statt 14px/0,85px. Drei Klassen schlagen es
   sicher, kein !important. Per CDP an allen vier Breiten gegengeprueft. */
.lvr-r1 .lvr-r1-search .lvr-r1-search-input {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.85px;
}
@media (max-width: 767px) {
  /* Mobil bewusst 16px, sonst zoomt iOS Safari beim Fokussieren hinein. */
  .lvr-r1 .lvr-r1-search .lvr-r1-search-input {
    font-size: 16px;
    letter-spacing: 0.2px;
  }
}

/* Befund gegenpruefung/rules.md Punkt 8 (11.08.2026), am 13.08.2026 per
   Pixelprobe am gerenderten Bild erneut bestaetigt: Rahmen oben exakt
   rgb(70,97,113), identisch mit dem dort dokumentierten Fehlerwert.
   Ursache: server-stand-20260810/lvlup-fixes/r3-rules.css Zeile 52-56 (tabu,
   nur gelesen) ueberschreibt den Rahmenverlauf mit einem entsaettigten
   Grauton (rgb(70,97,113) -> rgb(52,106,136)) bei Spezifitaet 0-2-0 gegen
   die Fragmentregel oben mit 0-1-0. Die Fragmentregel selbst traegt die
   figma-nahen Blautoene bereits korrekt (RGB-Kanaele exakt wie in
   figma/specs-rules/r1-hero.txt: 0,170,255 / 0,94,141, nur die Deckkraft
   gedaempft, damit aus der eigentlich 0,22px feinen Figma-Linie keine zu
   kraeftige 1px-Kontur wird - Muster A, "Loesung ist nicht die Breite,
   sondern die Deckkraft"). Hier auf 0-3-0 gehoben, kein !important. */
.lvr-r1 .lvr-r1-inner .lvr-r1-search {
  background:
    linear-gradient(#000000, #000000) padding-box,
    linear-gradient(90deg, rgba(0, 170, 255, 0.6) 0%, rgba(0, 65, 103, 0.08) 26%, rgba(0, 94, 141, 0.4) 61%, rgba(0, 51, 88, 0.05) 100%) border-box;
}

/* --- Kategorie-Chips --- */
.lvr-r1-chips {
  margin-top: 29px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  max-width: 1240px;
}
.lvr-r1-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 17px;
  border: 1px solid transparent;
  border-radius: 7px;
  background:
    linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.22) 53%, rgba(255, 255, 255, 0.3) 100%) border-box;
  font-size: 10px;
  font-weight: 340;
  line-height: 13px;
  letter-spacing: 0.62px;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.lvr-r1-chip:hover {
  color: var(--lvf-white);
  background:
    linear-gradient(rgba(18, 42, 60, 0.85), rgba(18, 42, 60, 0.85)) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.3) 53%, rgba(255, 255, 255, 0.4) 100%) border-box;
}
.lvr-r1-chip--active {
  background:
    linear-gradient(180deg, rgba(140, 213, 255, 0.12) 0%, rgba(18, 169, 255, 0.12) 100%) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.32) 53%, rgba(255, 255, 255, 0.45) 100%) border-box;
  color: var(--lvf-white);
  font-weight: 400;
}

/* --- Tablet --- */
@media (max-width: 1023px) {
  .lvr-r1-inner { padding-top: 190px; padding-bottom: 80px; }
  .lvr-r1-title { font-size: clamp(44px, 6.5vw, 68px); line-height: 0.98; }
  .lvr-r1-pills { margin-top: 56px; }
  .lvr-r1-search { margin-top: 72px; }

  /* Trefferflaeche der Kategorie-Chips, Befund 768-1023px: live 33px hoch bei
     11px Schrift (Hoehe kommt aus der Basisregel oben, die Schrift aus dem
     Override r3-rules.css; beide bleiben unveraendert, nur die Optik zaehlt
     hier nicht mit). Nach dem Vorbild aus build/fragments/s04
     (.lvf-s04-tab::before) und s01 (.lvf-s01-burger::after): ein ::before mit
     negativem inset vergroessert nur die Klickflaeche, der sichtbare Chip
     bleibt bei 33px / 11px stehen.
     Gemessen mit werkzeuge (treffer-messen.js), Trefferhoehe je Chip:
       768px  33 -> 45 px
       1023px 33 -> 45 px
     Trefferbreite wird um 6px groesser (2x3px), bleibt aber innerhalb der
     9px-Luecke zwischen den Chips, kein Ueberlappen in der Zeile. */
  .lvr-r1-chip { position: relative; }
  .lvr-r1-chip::before {
    content: "";
    position: absolute;
    /* -7px statt der zunaechst angenommenen -6px: der 1px-Rand des Chips
       zaehlt doppelt gegen die Trefferflaeche, weil das ::before am
       Padding-Rand ansetzt, nicht am Rand-Rand (31px Padding-Box statt
       33px Border-Box). Mit -6px kamen nur 43px heraus, siehe Messwerte
       oben im Blockkommentar. */
    inset: -7px -3px;
  }
}

/* Korrektur 13.08.2026: der ::before oben erreicht in der Zeile nicht
   zuverlaessig 44px. Die Chips brechen bei 768-1023px je nach Anzahl pro
   Zeile in mehreren Reihen um (flex-wrap, Reihenabstand nur 9px gap). Ein
   ::before mit -7px oben/unten reicht 7+7=14px in die Nachbarzeile hinein,
   mehr als die 9px Luecke hergeben - die Trefferflaechen zweier Zeilen
   ueberschneiden sich, und elementFromPoint liefert dort das falsche
   Element. Gemessen mit werkzeuge/treffer-messen.js (Abtastung, nicht die
   Box): "Trading Conditions" blieb dadurch bei 768/900/1023px auf 42px
   haengen, weitere Chips je nach Zeilenumbruch ebenso.
   Loesung wie im Mobilblock unten: ::before abschalten, echte min-height
   statt Ueberstand. Eine echte Boxhoehe verschiebt bei flex-wrap die
   ganze Zeile, dadurch bleibt der gap-Abstand zur naechsten Zeile exakt
   erhalten - keine Ueberschneidung mehr moeglich. */
@media (min-width: 768px) and (max-width: 1023px) {
  .lvr-r1-chip::before { content: none; }
  .lvr-r1-chip { min-height: 44px; }
}

/* --- Mobile (kein Design vorhanden, sauber abgeleitet) --- */
@media (max-width: 767px) {
  .lvr-r1-bg { height: 560px; }
  .lvr-r1-inner { padding-top: 150px; padding-bottom: 64px; }
  .lvr-r1-title { font-size: clamp(36px, 10.5vw, 48px); line-height: 1.04; }
  .lvr-r1-sub { margin-top: 24px; font-size: 16px; line-height: 24px; }
  .lvr-r1-pills { margin-top: 40px; padding: 10px; gap: 8px; }
  .lvr-r1-pill { height: 44px; padding: 0 18px; }
  .lvr-r1-search { margin-top: 48px; height: 56px; padding: 0 18px; }
  .lvr-r1-search-input { font-size: 16px; letter-spacing: 0.2px; }
  .lvr-r1-chips { margin-top: 24px; gap: 8px; }
  .lvr-r1-chip { min-height: 44px; padding: 0 14px; font-size: 11px; }
  /* Unter 768px ist die Trefferflaeche schon ueber die reale Boxgroesse
     geloest (min-height:44px oben). Das ::before aus dem Tabletblock darueber
     wuerde hier nur unnoetig ueberlappen (Chips liegen mit 8px Luecke enger),
     deshalb hier wieder abgeschaltet. Gemessen: 44 -> 44px, keine Aenderung. */
  .lvr-r1-chip::before { content: none; }
}


/* Abnahme Runde 2: Schnellfilter sind im Design reine Textlinks ohne Chips */
.lvr-r1 .lvr-r1-chip {
  border-color: transparent;
  background: none;
  font-size: 12px;
  letter-spacing: 0.4px;
  color: rgba(255, 255, 255, 0.7);
}
.lvr-r1 .lvr-r1-chip:hover { background: none; color: #ffffff; }
.lvr-r1 .lvr-r1-chip--active { background: none; color: #ffffff; font-weight: 500; }
/* Rhythmus: unterer Hero-Block sass ~50px zu hoch */
.lvr-r1 .lvr-r1-pills { margin-top: 122px; }

/* Befund referenz-neu/befunde/rules-hero.md Abschnitt 4, 13.08.2026: Figma
   hat fuer die Chips einen Hintergrund (Fuellung Schwarz 60%, Randverlauf
   0,06/0,12/0,18, Radius 6,84px - dieselben Werte wie im Block darunter).
   Live liefert ihn ein separat deploytes Alt-Plugin (r3-rules.css) an ALLEN
   Breiten nach; im Repo holte ihn bisher nur der Block ab 1024px zurueck,
   "Abnahme Runde 2" oben (background:none, 0-2-0) galt darunter ungeschuetzt.
   Ein Deploy des unveraenderten Repo-Standes haette die Chip-Hintergruende
   unter 1024px also abgeschaltet, obwohl sie live gerade funktionieren -
   deshalb hier unconditional (0-3-0, schlaegt die 0-2-0-Regel oben) statt
   in einer Breiten-Media-Query. Hoehe/Schriftgroesse bleiben unangetastet,
   die gehoeren dem Tablet-Block oben (min-height:44px) bzw. dem Mobilblock
   (font-size:11px). */
.lvr-r1 .lvr-r1-chips .lvr-r1-chip {
  background:
    linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.12) 53%, rgba(255, 255, 255, 0.18) 100%) border-box;
  border: 0.171px solid transparent;
}
.lvr-r1 .lvr-r1-chips .lvr-r1-chip--active {
  background:
    linear-gradient(180deg, rgba(140, 213, 255, 0.1) 0%, rgba(18, 169, 255, 0.1) 100%) padding-box,
    linear-gradient(#000000, #000000) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.12) 53%, rgba(255, 255, 255, 0.18) 100%) border-box;
}


/* ===== Pixelrunde 2 Rules (11.08.2026): Kategorie-Chips ==================== */

/* Die Chipreihe war 1115,09 px breit statt 1063 (x 349..1412 im Band-JSON).
   Das Polster ist NICHT schuld: Soll 17,104 px, live 17. Schuld sind drei
   Werte aus dem Override R3-rules-05 (r3-rules.css Zeile 66-73):
     Schriftgroesse 11 statt 10,262  -> rund 6,7 % breitere Glyphen
     Rahmen         1 statt 0,171 px -> bei 10 Chips mal 2 Kanten rund 17 px
     Laufweite      0,5 statt 0,6157 / 0,3079
   Dazu die Luecke 9 statt 8,552 px (9 Luecken, 4 px).
   Soll-Chipbreiten aus dem Band: 73 / 84 / 86 / 93 / 125 / 124 / 73 / 84 / 81
   / 161 px. Die Regeln stehen mit drei Klassen, damit sie den Override
   (zwei Klassen, Prioritaet 1200) schlagen. Chiphoehe bleibt fest 33 px,
   an der Sektionshoehe aendert sich nichts.
   Nur Desktop: die Tablet- und Mobilbloecke oben haben eigene Chipwerte
   (44 px Mindesthoehe, 11 px Schrift) und duerfen nicht ueberschrieben werden. */
@media (min-width: 1024px) {
  .lvr-r1 .lvr-r1-chips { gap: 8.552px; }

  .lvr-r1 .lvr-r1-chips .lvr-r1-chip {
    height: 33px;
    padding: 0 17.104px;
    border: 0.171px solid transparent;   /* Band: strokeWeight 0,171 INSIDE */
    border-radius: 6.84px;               /* Band: 6,8415 */
    font-size: 10.262px;
    font-weight: 343;
    line-height: 12.62px;
    letter-spacing: 0.6157px;
    color: rgba(255, 255, 255, 0.85);
    /* Band: Fuellung Schwarz 60 %, Strich Weissverlauf 0,30/0,60/0,90 bei
       Ebenendeckkraft 0,20 - also wirksam 0,06/0,12/0,18. Der Override hatte
       0,14/0,22/0,30, deshalb wirkten die Chips live umrandet statt flaechig. */
    background:
      linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) padding-box,
      linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.12) 53%, rgba(255, 255, 255, 0.18) 100%) border-box;
  }

  .lvr-r1 .lvr-r1-chips .lvr-r1-chip--active {
    font-weight: 400;
    letter-spacing: 0.3079px;
    color: #ffffff;
    /* Band: Fuellung Schwarz 100 % plus Blauverlauf mit 10 % Deckkraft darueber.
       Live lag nur der Blauverlauf mit 12 % ohne Schwarz an, deshalb war der
       aktive Chip ein helles blaues Feld statt eines dezent dunklen. */
    background:
      linear-gradient(180deg, rgba(140, 213, 255, 0.1) 0%, rgba(18, 169, 255, 0.1) 100%) padding-box,
      linear-gradient(#000000, #000000) padding-box,
      linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.12) 53%, rgba(255, 255, 255, 0.18) 100%) border-box;
  }

  .lvr-r1 .lvr-r1-chips .lvr-r1-chip:hover {
    color: #ffffff;
    background:
      linear-gradient(rgba(18, 42, 60, 0.85), rgba(18, 42, 60, 0.85)) padding-box,
      linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.2) 53%, rgba(255, 255, 255, 0.28) 100%) border-box;
  }
}


/* ===== Pixelrunde 2 Rules (11.08.2026): Hero-Bild-Ausschnitt =============== */

/* Das Quellbild ist richtig (imageRef a7ba857d..., dieselbe Datei wie live),
   falsch war der Ausschnitt. Der Figma-Frame "video" (x -80, 1920 x 689)
   fuellt sich mit scaleMode STRETCH und imageTransform
     [[0.8765786, 0.0390895, 0.0187274],
      [-0.0947377, 0.3616828, 0.1102311]]
   Diese Matrix bildet die Frame-Koordinate (u,v) auf die Bildkoordinate ab.
   Eingesetzt ergeben sich im 1024x1024-Quellbild die Eckpunkte
     (19/113) (917/16) (59/483) (957/386)
   also ein um 6,17 Grad gedrehter Streifen von 903 x 373 px aus der Bildmitte,
   waagerecht 2,1267-fach und senkrecht 1,8497-fach gedehnt.
   Live lag dagegen "cover" mit Position 50% 0% an: der obere Bildrand,
   ungedreht. Deshalb liefen die Lichtstrahlen anders.

   Umsetzung: das ::before ist nicht mehr die Bildflaeche, sondern die
   Bildebene selbst (1024 x 1024 px im Massstab 1:1), und die Umkehrmatrix
   legt sie in den Frame. Zahlen: P = [[0.46751, 0.05810], [-0.05053, 0.53753]]
   (Frame-px -> Bild-px), P hoch -1 = [[2.11432, -0.22853], [0.19875, 1.83893]],
   Verschiebung -P hoch -1 mal (19,18 / 112,88) = (-14,76 / -211,39).
   Der Frame beginnt 80 px links vom Seitenrand, deshalb left: -80px. */
@media (min-width: 1024px) {
  .lvr-r1 .lvr-r1-bg.lvr-r1-bg {
    overflow: hidden;   /* schneidet die gedrehte Bildebene auf das Hero-Band */
  }
  .lvr-r1 .lvr-r1-bg.lvr-r1-bg::before {
    inset: auto;
    left: -80px;
    top: 0;
    /* Die Skalierung steckt in width/height, in der Matrix bleibt nur die
       Drehung (Spaltennormen 1). Rechnerisch dasselbe Bild, aber die Ebene
       wird direkt in Endgroesse gerastert statt erst in 1024 px.
       Kantenschaerfe gemessen: Soll 0,879 / hier 0,859 (Mittel des
       waagerechten Helligkeitsgradienten ueber x 1100..1750, y 140..520).
       Spaltennormen von P hoch -1: 2,1236 und 1,8531
       -> 1024 x 2,1236 = 2174,6 px breit, 1024 x 1,8531 = 1897,6 px hoch,
          Restmatrix [[0,99563, -0,12332], [0,09359, 0,99235]]. */
    width: 2174.6px;
    height: 1897.6px;
    background: url('https://lvlup2.tivaosagencytempdomains.de/wp-content/uploads/2026/08/lvlup-a7ba857d2a.webp') 0 0 / 100% 100% no-repeat;
    transform-origin: 0 0;
    transform: matrix(0.99563, 0.09359, -0.12332, 0.99235, -14.76, -211.39);

    /* Tonung neu angepasst. Der alte Wert saturate(3.6) contrast(1.05)
       brightness(0.5) aus R3-rules-16 war an den FALSCHEN Ausschnitt
       angepasst: der obere Bildrand ist fast grau, deshalb brauchte er die
       dreifache Saettigung. Der richtige Ausschnitt ist von sich aus blau,
       die 3,6 walzten die Lichtstrahlen platt.
       Gemessen als RMS gegen das Soll-Bild ueber die Hero-Flaeche ohne Text
       (555 x 1760 Bildpunkte, 39 Varianten durchgerechnet):
         alter Ausschnitt + alter Filter  23,26
         neuer Ausschnitt + alter Filter  21,00
         neuer Ausschnitt ohne Filter     15,33
         neuer Ausschnitt + Wert unten    11,75  <- bester Fit */
    filter: saturate(2.1) contrast(1.15);
  }
}


/* ===== Pixelrunde 2 Rules (11.08.2026): seitliche Randleuchten ============= */

/* Diese beiden Ebenen sind Seitenebenen, keine Sektionsebenen - sie stammen aus
   dem Override R3-rules-13 (server-stand-20260810/lvlup-fixes/r3-rules.css,
   Zeile 285-333) und laufen ueber alle Sektionen hinweg. Weil an dieser Datei
   nichts geaendert werden darf, stehen die Korrekturen hier im ersten Fragment
   der Seite und schlagen den Override ueber eine doppelte .lvf-page-Klasse.

   Befund (Gegenpruefung "gesamteindruck.md" und eigene Nachmessung am
   linken/rechten Randstreifen, Mittel ueber x 0..120 bzw. 1640..1760,
   Halbwertsbereiche der drei Lichtbaeuche je Seite):

     links  1  Soll 3821..6123 (Breite 2302, Gipfel 4778)
               Ist  3573..6001 (Breite 2428, Gipfel 4973)   -> 185 px zu hoch, 126 zu breit
     links  2  Soll 10372..12682 (Breite 2310)
               Ist  10081..12601 (Breite 2520)              -> 186 px zu hoch, 210 zu breit
     links  3  Soll 16278..17835 (Breite 1557)
               Ist  16013..17937 (Breite 1924)              ->  82 px zu hoch, 367 zu breit
     rechts 1  Soll 1241..2491, Ist 1250..2444, Gipfel 217 gegen 234
     rechts 2  Soll 8633..9444, Ist 8564..9351              ->  81 px zu hoch, Gipfel 188 gegen 207
     rechts 3  Soll 14981..15792, Ist 14948..15720          ->  53 px zu hoch, Gipfel 188 gegen 202

   Dazu die Saettigung: 0,607 live gegen 0,691 im Entwurf, die blasseste aller
   acht Seiten. Ursache ist der Farbverlauf selbst - er haelt Weiss zu lange.
   Auf der Kernachse gemessen (Abstand vom Gipfel, Soll gegen Ist):
     900 px  (73,181,229) gegen (117,188,228)   Rot 44 zu hoch
    1200 px  (39,149,200) gegen  (87,145,182)   Rot 48 zu hoch
    1600 px  (12, 97,145) gegen  (28, 82,119)
   Die Stufen unten sind genau diese Soll-Messwerte, umgerechnet auf den
   Anteil des jeweiligen Radius. */
@media (min-width: 1024px) {
  body.page-id-8048 .lvf-page.lvf-page::before {
    background-image:
      /* Fusszeilen-Kern aus R3-rules-22 unveraendert uebernommen - er gehoert
         zum Bereich unterhalb von r9 und wird hier nur mitgefuehrt, damit die
         Regel den kompletten Ebenenstapel ersetzt. */
      radial-gradient(ellipse 3000px 2200px at 0 21300px,
        rgba(200,238,255,.95) 0%, rgba(150,216,255,.90) 15%, rgba(40,180,255,.66) 32%,
        rgba(0,168,255,.45) 50%, rgba(0,162,255,.30) 70%, rgba(0,162,255,.19) 95%,
        rgba(0,162,255,0) 100%),
      radial-gradient(ellipse 3000px 2465px at 0 4964px,
        rgba(246,252,255,1) 0%, rgba(231,246,255,1) 6%, rgba(208,237,254,1) 12%,
        rgba(170,225,253,1) 18%, rgba(127,210,248,1) 24%, rgba(96,196,240,1) 30%,
        rgba(73,181,229,1) 37%, rgba(54,166,217,1) 43%, rgba(39,149,200,1) 49%,
        rgba(23,122,173,1) 57%, rgba(12,97,145,1) 65%, rgba(4,74,114,.95) 73%,
        rgba(1,54,85,.85) 81%, rgba(1,24,38,.55) 93%, rgba(0,20,32,0) 100%),
      radial-gradient(ellipse 3000px 2383px at 0 11536px,
        rgba(246,252,255,1) 0%, rgba(231,246,255,1) 6%, rgba(208,237,254,1) 12%,
        rgba(170,225,253,1) 18%, rgba(127,210,248,1) 24%, rgba(96,196,240,1) 30%,
        rgba(73,181,229,1) 37%, rgba(54,166,217,1) 43%, rgba(39,149,200,1) 49%,
        rgba(23,122,173,1) 57%, rgba(12,97,145,1) 65%, rgba(4,74,114,.95) 73%,
        rgba(1,54,85,.85) 81%, rgba(1,24,38,.55) 93%, rgba(0,20,32,0) 100%),
      radial-gradient(ellipse 3000px 1618px at 0 17088px,
        rgba(246,252,255,1) 0%, rgba(231,246,255,1) 6%, rgba(208,237,254,1) 12%,
        rgba(170,225,253,1) 18%, rgba(127,210,248,1) 24%, rgba(96,196,240,1) 30%,
        rgba(73,181,229,1) 37%, rgba(54,166,217,1) 43%, rgba(39,149,200,1) 49%,
        rgba(23,122,173,1) 57%, rgba(12,97,145,1) 65%, rgba(4,74,114,.95) 73%,
        rgba(1,54,85,.85) 81%, rgba(1,24,38,.55) 93%, rgba(0,20,32,0) 100%);
  }

  /* Rechts nur Lage und Hoehe: Farbe und Form treffen dort bereits
     (Farbton 202 gegen 201 Grad), die Kerne sind nur 53 bis 81 px zu hoch und
     rund 8 % zu hell. */
  body.page-id-8048 .lvf-page.lvf-page::after {
    background-image:
      /* Fusszeilen-Kern aus R3-rules-22 unveraendert uebernommen. */
      radial-gradient(ellipse 3000px 2400px at 100% 21200px,
        rgba(190,234,255,.95) 0%, rgba(120,205,255,.80) 25%, rgba(20,170,255,.63) 50%,
        rgba(0,162,255,.42) 70%, rgba(0,162,255,.22) 85%, rgba(0,162,255,0) 100%),
      radial-gradient(ellipse 3000px 950px at 100% 1879px,
        rgba(255,255,255,.87) 0%, rgba(240,250,255,.83) 28%, rgba(160,220,255,.57) 55%,
        rgba(50,175,255,.26) 78%, rgba(0,150,240,0) 100%),
      radial-gradient(ellipse 3000px 2500px at 100% 2169px,
        rgba(140,213,255,.31) 0%, rgba(40,175,255,.22) 45%, rgba(0,162,255,.09) 75%,
        rgba(0,162,255,0) 100%),
      radial-gradient(ellipse 3000px 700px at 100% 9071px,
        rgba(235,248,255,.75) 0%, rgba(200,238,255,.70) 25%, rgba(140,213,255,.53) 45%,
        rgba(50,175,255,.31) 65%, rgba(0,155,245,.09) 85%, rgba(0,150,240,0) 100%),
      radial-gradient(ellipse 3000px 1750px at 100% 7981px,
        rgba(0,162,255,.37) 0%, rgba(0,162,255,.36) 50%, rgba(0,162,255,.20) 78%,
        rgba(0,162,255,0) 100%),
      radial-gradient(ellipse 3000px 700px at 100% 15393px,
        rgba(235,248,255,.76) 0%, rgba(200,238,255,.71) 25%, rgba(140,213,255,.54) 45%,
        rgba(50,175,255,.32) 65%, rgba(0,155,245,.09) 85%, rgba(0,150,240,0) 100%),
      radial-gradient(ellipse 3000px 1750px at 100% 14303px,
        rgba(0,162,255,.37) 0%, rgba(0,162,255,.36) 50%, rgba(0,162,255,.20) 78%,
        rgba(0,162,255,0) 100%);
  }
}


/* ===========================================================================
   Die rechte Seitenebene lief ueber Weiss, 11.08.2026

   Die Seitenraender der ganzen rules-Seite werden von zwei Ebenen auf
   .lvf-page::before und ::after beleuchtet (R3-rules-13 und -22). Am rechten
   Rand hatten drei der vier Kegel einen entsaettigten Kern:

     Kegel bei y  1879   live rgba(255,255,255,0.87)   Entwurf (145,215,253)
     Kegel bei y  9071   live rgba(235,248,255,0.75)   Entwurf (146,219,253)
     Kegel bei y 15393   live rgba(235,248,255,0.76)   Entwurf (145,219,253)

   Saettigung live 0,00 bis 0,08 gegen 0,43 im Entwurf. Sichtbar als weisse
   Saeule am rechten Rand, am deutlichsten neben der Vergleichstabelle.

   WICHTIG fuer die naechste Runde: die LINKE Ebene ist richtig so. Dort
   misst der Entwurf an den Kernstellen (249,253,255) mit Saettigung 0,02,
   also tatsaechlich fast weiss. Wer beide Seiten gleich behandelt, macht die
   linke kaputt.

   Korrigiert wurde nur das Farbverhaeltnis der entsaettigten Stuetzpunkte
   (R/B 0,57 und G/B 0,86 nach der Messung am rechten Rand), Radien,
   Positionen und Deckkraefte bleiben unveraendert. Die vier gesaettigten
   Schichten sind unangetastet.

   Die wirksamen Werte stehen in r3-rules.css mit
   `body.page-id-8048 .lvf-page::after` (0-2-2), deshalb hier 0-3-2.
   =========================================================================== */
@media (min-width: 1024px) {
  body.page-id-8048 .lvf-page.lvf-page::after {
    background-image:
      radial-gradient(3000px 2400px at 100% 21200px, rgba(190, 234, 255, 0.95) 0%, rgba(120, 205, 255, 0.8) 25%, rgba(20, 170, 255, 0.63) 50%, rgba(0, 162, 255, 0.42) 70%, rgba(0, 162, 255, 0.22) 85%, rgba(0, 162, 255, 0) 100%),
      radial-gradient(3000px 950px at 100% 1879px, rgba(146, 219, 255, 0.87) 0%, rgba(146, 219, 255, 0.83) 28%, rgba(160, 220, 255, 0.57) 55%, rgba(50, 175, 255, 0.26) 78%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(3000px 2500px at 100% 2169px, rgba(140, 213, 255, 0.31) 0%, rgba(40, 175, 255, 0.22) 45%, rgba(0, 162, 255, 0.09) 75%, rgba(0, 162, 255, 0) 100%),
      radial-gradient(3000px 700px at 100% 9071px, rgba(146, 219, 255, 0.75) 0%, rgba(146, 219, 255, 0.7) 25%, rgba(140, 213, 255, 0.53) 45%, rgba(50, 175, 255, 0.31) 65%, rgba(0, 155, 245, 0.09) 85%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(3000px 1750px at 100% 7981px, rgba(0, 162, 255, 0.37) 0%, rgba(0, 162, 255, 0.36) 50%, rgba(0, 162, 255, 0.2) 78%, rgba(0, 162, 255, 0) 100%),
      radial-gradient(3000px 700px at 100% 15393px, rgba(146, 219, 255, 0.76) 0%, rgba(146, 219, 255, 0.71) 25%, rgba(140, 213, 255, 0.54) 45%, rgba(50, 175, 255, 0.32) 65%, rgba(0, 155, 245, 0.09) 85%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(3000px 1750px at 100% 14303px, rgba(0, 162, 255, 0.37) 0%, rgba(0, 162, 255, 0.36) 50%, rgba(0, 162, 255, 0.2) 78%, rgba(0, 162, 255, 0) 100%);
  }
}


/* Nachjustierung der Hero-Tonung, 11.08.2026, zweite Runde: der Wert
   saturate(2.1) war mit den alten Seitenebenen im Ruecken kalibriert, deren
   blauer Dunst bis y960 ueber dem Bild lag. Nach deren Entfernung (Block
   unten) fehlte den Lichtstrahlen innen rechts Saettigung. Neu gemessen im
   Harness (RMS ueber den Hero ohne Textmitte, y60..680):
     saturate(2.1)  17,04   innen rechts (x1460..1700, y200..500) 16,9
     saturate(2.5)  16,87   innen rechts 15,1   <- bester Fit
     saturate(2.9)  17,03   innen rechts 13,8 (kippt global)
   Gleicher Selektor wie der Messblock oben, spaeter in der Datei. */
@media (min-width: 1024px) {
  .lvr-r1 .lvr-r1-bg.lvr-r1-bg::before {
    filter: saturate(2.5) contrast(1.15);
  }
}


/* ===========================================================================
   Seitenebenen neu vermessen: Hero-Dunst rechts und linker Grosskegel,
   11.08.2026, zweite Runde

   1. RECHTS: die beiden r2/r3-Ebenen (950px bei y1879 und 2500px bei y2169)
   liefen 1250 px zu weit nach oben. Am rechten Randstreifen (x 1700..1760,
   Median ueber 40 Zeilen) gemessen:
     y 760  Entwurf (3, 5, 8)   live ( 9,35,56)
     y 840  Entwurf (3, 8,12)   live (11,38,60)
     y 960  Entwurf (5,20,29)   live (14,47,72)
   Der Entwurf ist dort schwarz, der Hero endet hart bei etwa y740. Zugleich
   war der Bereich UNTER dem Kegelkern zu dunkel und zu grau:
     y 2400 Entwurf (90,187,229)  live (108,157,187)
     y 2800 Entwurf (39,110,151)  live ( 29, 59, 84)
   Beide Ebenen sind deshalb hier ENTFERNT. Ihre Aufgabe uebernehmen die
   Sektions-Glows, die an den Sektionsgrenzen von selbst enden, wie es der
   Entwurf zeigt (harter Wechsel bei y2000/2062):
     - r2-Kegel rechts: neu im r2-Fragment (Glow-Box endet bei 2062)
     - r3-Kernlicht oben rechts: neu im r3-Fragment (Box beginnt bei 2062)
   Die vier r5/r7-Ebenen (9071/7981, 15393/14303) und der Fusszeilen-Kern
   sind unveraendert uebernommen, sie gehoeren nicht zu r1..r4.

   2. LINKS: der Grosskegel (Kern y4964) hatte ein viel zu schmales
   Weiss-Plateau und keinerlei Querabfall in den ersten 255 px:
     y 4200 Entwurf (191,232,255)  live ( 70,186,244)
     y 4400 Entwurf (233,247,255)  live ( 84,194,252)
     y 5600 Entwurf (137,216,252)  live ( 86,194,250)
     y 3500 x120..240 Entwurf (14,39,54)  live (19,113,163)  (zu breit!)
   Ersatz durch zwei Ebenen, numerisch an 285 Messpunkte des Entwurfs
   gefittet (Randprofil y2500..7400 plus 8 Querschnitte, mittlere
   Restabweichung 6,0 je Kanal): ein weisser Kern (508x1142 bei y4806) und
   ein gesaettigter Saum (546x3323 bei y5041). Die Kegel bei y11536/y17088
   und der Fusszeilen-Kern bleiben unveraendert.
   WICHTIG zur Malreihenfolge: ::before liegt UNTER den Sektionen, ::after
   UEBER ihnen (Baumreihenfolge der Pseudoelemente bei z-index 0). Die
   beiden Drawdown-Glows aus R3-rules-15 malten deshalb ueber den weissen
   Kern und drueckten seinen Rotkanal bei y4400 um den Faktor 0,62 herunter,
   sie sind im neuen r3-Stapel entfallen (siehe r3-Fragment).
   Selektor wie im Block darueber (0-3-2), spaeter in der Datei = wirksam.
   =========================================================================== */
@media (min-width: 1024px) {
  body.page-id-8048 .lvf-page.lvf-page::before {
    background-image:
      radial-gradient(ellipse 3000px 2200px at 0 21300px,
        rgba(200,238,255,.95) 0%, rgba(150,216,255,.90) 15%, rgba(40,180,255,.66) 32%,
        rgba(0,168,255,.45) 50%, rgba(0,162,255,.30) 70%, rgba(0,162,255,.19) 95%,
        rgba(0,162,255,0) 100%),
      radial-gradient(ellipse 508px 1142px at 0 4806px,
        rgba(249,253,255,1) 0%, rgba(240,249,255,0.99) 35%,
        rgba(205,236,254,0.87) 55%, rgba(140,213,255,0.46) 75%,
        rgba(80,190,250,0) 100%),
      radial-gradient(ellipse 546px 3323px at 0 5041px,
        rgba(120,205,253,1) 0%, rgba(55,180,245,0.90) 35%,
        rgba(15,145,215,0.21) 60%, rgba(3,95,150,0.03) 80%,
        rgba(0,55,95,0) 100%),
      radial-gradient(ellipse 3000px 2383px at 0 11536px,
        rgba(246,252,255,1) 0%, rgba(231,246,255,1) 6%, rgba(208,237,254,1) 12%,
        rgba(170,225,253,1) 18%, rgba(127,210,248,1) 24%, rgba(96,196,240,1) 30%,
        rgba(73,181,229,1) 37%, rgba(54,166,217,1) 43%, rgba(39,149,200,1) 49%,
        rgba(23,122,173,1) 57%, rgba(12,97,145,1) 65%, rgba(4,74,114,.95) 73%,
        rgba(1,54,85,.85) 81%, rgba(1,24,38,.55) 93%, rgba(0,20,32,0) 100%),
      radial-gradient(ellipse 3000px 1618px at 0 17088px,
        rgba(246,252,255,1) 0%, rgba(231,246,255,1) 6%, rgba(208,237,254,1) 12%,
        rgba(170,225,253,1) 18%, rgba(127,210,248,1) 24%, rgba(96,196,240,1) 30%,
        rgba(73,181,229,1) 37%, rgba(54,166,217,1) 43%, rgba(39,149,200,1) 49%,
        rgba(23,122,173,1) 57%, rgba(12,97,145,1) 65%, rgba(4,74,114,.95) 73%,
        rgba(1,54,85,.85) 81%, rgba(1,24,38,.55) 93%, rgba(0,20,32,0) 100%);
  }

  body.page-id-8048 .lvf-page.lvf-page::after {
    background-image:
      radial-gradient(3000px 2400px at 100% 21200px, rgba(190, 234, 255, 0.95) 0%, rgba(120, 205, 255, 0.8) 25%, rgba(20, 170, 255, 0.63) 50%, rgba(0, 162, 255, 0.42) 70%, rgba(0, 162, 255, 0.22) 85%, rgba(0, 162, 255, 0) 100%),
      /* HIER STAND das Brueckenlicht fuer den Streifen y2000..2062
         (ellipse 950px 46px at 100% 2036px). Es hat den dunklen Streifen
         ueber der Naht aufgehellt, war aber ein Behelf: die Seitenebene
         liegt UEBER den Sektionen, deshalb legte sich die Ellipse als
         eigener Bauch ueber das r3-Kernlicht und hinterliess bei y2050..2070
         eine Delle (Blau 246 bei y2050, 250 bei y2080, Entwurf durchgehend
         252). Entfernt am 12.08.2026, nachdem der Anlauf in
         .lvr-r2::after die Aufgabe an der richtigen Stelle erledigt.
         Gemessen: Naht-Sprung Block 18 mit Bruecke 7,3, ohne 0,3; Mittel
         ueber alle 20 Bloecke 1,1 -> 0,3. Die Baender y1900..2000 (15,79 ->
         15,83) und y2004..2060 (10,86 -> 10,92) bleiben gleich. */
      radial-gradient(3000px 700px at 100% 9071px, rgba(146, 219, 255, 0.75) 0%, rgba(146, 219, 255, 0.7) 25%, rgba(140, 213, 255, 0.53) 45%, rgba(50, 175, 255, 0.31) 65%, rgba(0, 155, 245, 0.09) 85%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(3000px 1750px at 100% 7981px, rgba(0, 162, 255, 0.37) 0%, rgba(0, 162, 255, 0.36) 50%, rgba(0, 162, 255, 0.2) 78%, rgba(0, 162, 255, 0) 100%),
      radial-gradient(3000px 700px at 100% 15393px, rgba(146, 219, 255, 0.76) 0%, rgba(146, 219, 255, 0.71) 25%, rgba(140, 213, 255, 0.54) 45%, rgba(50, 175, 255, 0.32) 65%, rgba(0, 155, 245, 0.09) 85%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(3000px 1750px at 100% 14303px, rgba(0, 162, 255, 0.37) 0%, rgba(0, 162, 255, 0.36) 50%, rgba(0, 162, 255, 0.2) 78%, rgba(0, 162, 255, 0) 100%);
  }
}


/* ===========================================================================
   Fragment-Eigenstaendigkeit gegen den (tabu) Override, Rundgang 13.08.2026

   Zwei weitere Werte hingen bisher ausschliesslich am schreibgeschuetzten
   server-stand-20260810/lvlup-fixes/r3-rules.css (Spezifitaet 0-2-0, laedt
   nach jedem Fragment). Aendert am HEUTE gerenderten Bild nichts (der
   Override liefert exakt dieselben oder, wo die Figma-Bandkoordinate
   genauer bekannt ist, nur 1px abweichende Werte) - macht das Fragment nur
   unabhaengig vom Override richtig. Faellt der Override jemals weg, waere
   ohne diesen Block sowohl der Hero-Fussabstand als auch der
   Pillen-Rahmencontainer sofort wieder falsch, und die y913-Rechnung im
   naechsten Block (Naht r1/r2) wuerde nicht mehr stimmen.

   1. padding-bottom: Override Zeile 204 ("R3-rules-01", eigene
      Screenshot-Kalibrierung ueber alle 13 Sektionsuebergaenge der Seite)
      setzt bei >=1024px 55px statt der Basisregel oben (102px, gilt sonst
      unveraendert fuer Tablet/Mobil).
   2. .lvr-r1-pills Rahmen/Fuellung/Radius/Abstand: Figma hat laut
      Bandkoordinate (figma/bands-rules/r1-hero.json, "Frame 2147237342",
      box(350,542,1060,65)) tatsaechlich einen Rahmen-Container um die fuenf
      Pillen - die fruehere NOTIZ.md-Zeile ("im Soll stehen die Chips frei,
      ohne Rahmen-Container") war ein Fehlschluss. Der Override kam
      unabhaengig ueber Screenshot-Messung zum selben Schluss ("R3-rules-02",
      Zeile 34-46): Rahmen 1px rgba(255,255,255,0.06), Fuellung
      rgba(255,255,255,0.02), Radius 16, Innenabstand 11px/9px. Figma selbst
      hat Radius 19 und einen Farbverlaufsrahmen (dieselben Eckwerte wie das
      Suchfeld darunter, #00aaff/#005e8d) plus ein 5-stufiges Weichschatten-
      Stapel - auf nahezu schwarzem Grund macht das kaum einen sichtbaren
      Unterschied zur einfacheren Override-Fassung, die zudem bereits
      risikofrei erprobt ist (heutige Boxbreite 1051,67px, kein Umbruch).
      Deshalb hier bewusst die einfachere, bereits erprobte Fassung
      uebernommen statt einer ungetesteten Farbverlaufs-Variante.
      margin-top 72px statt der ueberschriebenen Basisregel (122px, die nur
      fuer Tablet/Mobil noch greift, siehe deren eigene Bloecke oben) ist die
      Figma-Bandkoordinate selbst (Luecke Titelblock-Ende 470 bis
      Pillen-Rahmenanfang 542 = 72), 1px genauer als der Override-Wert (71,
      aus Screenshot-Rundung). Beide liegen weit innerhalb der 0,5-%-Hoehen-
      toleranz aus werkzeuge/regression-pruefen.js (±108px bei 21598px). */
@media (min-width: 1024px) {
  .lvr-r1 .lvr-r1-inner.lvr-r1-inner { padding-bottom: 55px; }
  .lvr-r1 .lvr-r1-inner .lvr-r1-pills {
    margin-top: 72px;
    padding: 11px 9px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.02);
    max-width: 1060px;
  }
}

/* Nachtrag Rundgang 13.08.2026: Titel-/Unterzeilen-Abstand, im Block oben
   uebersehen. Override Zeile 20-22 (r3-rules.css, tabu) setzt bei >=1024px
   margin-top 20px (Titel) und 25px (Sub); das Fragment stand bisher bei
   26px/36px mit 0-1-0, also ohne Gegenstueck und nach Deploy (ohne die
   Overrides-Ebene) 17px hoeher als heute sichtbar.

   Nachgemessen (Puppeteer, 1760px, vier Kombinationen Override x Fixregel):
     Override nein, Fix nein:  title-mt 26px sub-mt 36px  .lvr-r1-Hoehe 931px
     Override nein, Fix ja:    title-mt 20px sub-mt 25px  .lvr-r1-Hoehe 914px
     Override ja,   Fix nein:  title-mt 20px sub-mt 25px  .lvr-r1-Hoehe 914px  Seite 21788px
     Override ja,   Fix ja:    title-mt 20px sub-mt 25px  .lvr-r1-Hoehe 914px  Seite 21788px
   Mit geladenem Override aendert die Fixregel also NICHTS (identische 914px,
   identische Seitenhoehe 21788px) - der Override liefert exakt diese Werte
   bereits. Sie wirkt ausschliesslich im Deploy-Fall ohne Overrides-Ebene, und
   dort VERKLEINERT sie die Sektion von 931 auf 914px (-17px), holt die Seite
   also naeher an den gepruefte Stand, statt sie ueber die 21598-px-Grenze
   wachsen zu lassen. Die fruehere Vorsicht in diesem Fragment betraf den
   umgekehrten Fall (die FRAGMENT-eigenen 26px/36px gegen den Override
   durchzusetzen - das haette die heute sichtbare Sektion tatsaechlich um
   17px vergroessert); hier wird stattdessen der Override-Wert uebernommen,
   das ist ungefaehrlich. */
@media (min-width: 1024px) {
  .lvr-r1 .lvr-r1-title.lvr-r1-title { margin-top: 20px; }
  .lvr-r1 .lvr-r1-sub.lvr-r1-sub { margin-top: 25px; }
}

/* Nachtrag Rundgang 13.08.2026: Suchfeld-Innenabstand. r3-rules.css Zeile 60
   (tabu) setzt "input.lvr-r1-search-input { padding: 0; }" (0-1-1) und hebt
   damit den hello-elementor-Theme-Reset auf ("input[type=text] {
   padding:.5rem 1rem }", woertlich zitiert in build-rules/preview.html
   Zeile 115-116, ebenfalls 0-1-1 - der Override gewinnt dort nur, weil er
   NACH dem Theme laedt). Das Fragment hatte dafuer bisher GAR KEINE Regel.

   Lokal ist das Theme nicht eingebunden (nur live), deshalb wurde der
   Theme-Reset fuer die Messung wortgleich nachgebaut und vor das kompilierte
   Fragment-CSS gesetzt (echte Ladereihenfolge simuliert):
     eigene Regel nein: padding = 8px 16px (paddingLeft 16px)  <- Platzhalter
                         rutscht sichtbar nach rechts
     eigene Regel ja:   padding = 0px
   Da unser kompiliertes CSS in der echten Kaskade ebenfalls NACH dem
   Theme-Reset laedt, reicht dieselbe Spezifitaet (0-1-1) wie im Override. */
.lvr-r1 input.lvr-r1-search-input { padding: 0; }


/* ============ Naht r1/r2 bei y913: Anlauf des r2-Leuchtens ================
   Befund 12.08.2026. Messweise: 20 Spaltenbloecke, je Block der MEDIAN ueber
   8 Zeilen ober- und unterhalb der Naht, Anker inhaltlich per normierter
   Kreuzkorrelation (r=0,79 gegen 0,28 Fremdtreffer, Versatz 0).

     Sprung Ist vorher    Mittel 13,1   groesster Block 17,0
     Sprung Ist nachher   Mittel  1,1   groesster Block  1,7
     Sprung Soll          Mittel  0,4   groesster Block  2,0

   Das Band y760..912 gegen den Entwurf: 6,54 vorher, 4,91 nachher; Block 1
   von 15,6 auf 6,0. Seitenhoehe unveraendert 21598 px.

   Ueber der Naht ist live reines Schwarz (0,0,0) in ALLEN 20 Bloecken, ab
   y913 steht sofort (1,15,24) an. Der Entwurf hat dort keine Kante: sein
   Wert steigt von y780 an gleichmaessig (Block 1 Blau: y780 18, y820 23,
   y860 30, y900 41, y913 45).

   Ursache: .lvr-r2-glow hat inset:0 und beginnt damit exakt an der
   Sektionskante, die Maske startet bei #000 0 - also volle Staerke ab der
   ersten Zeile. Die Regel weiter oben in r2 (Block 5, Einlauf ueber 150px)
   ist wirkungslos, weil der spaetere Stapel in derselben Datei mit
   .lvf-page .lvr-r2 .lvr-r2-glow.lvr-r2-glow (0-4-0) die Maske neu setzt.

   Warum der Anlauf hier in r1 steht und nicht in r2: .lvr-r2 hat
   overflow:hidden, eine nach oben verlaengerte Ebene wuerde abgeschnitten.
   In r1 endet sie durch overflow:clip punktgenau an der Naht.

   Laenge 153px ist nicht geschaetzt: der Entwurf setzt die Glasflaeche als
   FRAME "Frame 2147237220" box(-4,760,1768,1242), sie beginnt also bei y760
   und endet bei y2002 (figma/specs-rules/r2-account-overview.txt). 913-760
   = 153. Die Deckkraft ist so gewaehlt, dass die Ebene an der Naht genau
   den Wert liefert, mit dem das r2-Leuchten anfaengt (Blau 22 in der
   Flaeche, 29 links), damit dort kein neuer Absatz entsteht.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvr-r1::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 153px;
    z-index: -1;
    pointer-events: none;
    background:
      radial-gradient(ellipse 620px 153px at 0 100%,
        rgba(3, 163, 255, 0.030) 0%, rgba(3, 163, 255, 0) 100%),
      linear-gradient(180deg,
        rgba(3, 163, 255, 0) 0%, rgba(3, 163, 255, 0.039) 25%,
        rgba(3, 163, 255, 0.061) 50%, rgba(3, 163, 255, 0.076) 75%,
        rgba(3, 163, 255, 0.088) 100%);
  }
}

/* == r2-account-overview == */
/* Sektion r2-account-overview (Trading Rules) - Praefix .lvr-r2- */
.lvr-r2 {
  position: relative;
  padding: 100px 0 190px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows, laufen transparent in die Nachbarsektionen aus */
.lvr-r2-glow {
  position: absolute;
  inset: 170px 0 0 0; /* Abnahme: Glow lag hinter der Ueberschrift (Kontrast 1,3:1) */
  pointer-events: none;
  background:
    radial-gradient(ellipse 96% 72% at 50% 55%, rgba(255, 255, 255, 0.95) 0%, rgba(226, 243, 252, 0.6) 45%, rgba(190, 225, 245, 0.25) 68%, rgba(255, 255, 255, 0) 88%),
    radial-gradient(ellipse 100% 85% at 50% 55%, rgba(18, 169, 255, 0.9) 0%, rgba(0, 162, 255, 0.45) 48%, rgba(0, 162, 255, 0) 78%),
    radial-gradient(ellipse 65% 26% at 50% 106%, rgba(140, 213, 255, 0.5) 0%, rgba(140, 213, 255, 0) 72%),
    radial-gradient(ellipse 130% 105% at 50% 50%, rgba(4, 48, 74, 0.5) 0%, rgba(4, 48, 74, 0) 82%);
}
.lvr-r2 .lvf-container { position: relative; z-index: 1; }

.lvr-r2-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  margin: 0 0 48px;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r2-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Tabelle */
.lvr-r2-table {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(86px);
  -webkit-backdrop-filter: blur(86px);
  overflow: hidden;
}
.lvr-r2-row {
  display: grid;
  grid-template-columns: 223px repeat(8, 1fr);
}

/* Gruppenkopf (Lvlup / Startup) */
.lvr-r2-row--groups { grid-template-columns: 223px 1fr 1fr; }
.lvr-r2-gh-empty { min-height: 68px; }
.lvr-r2-gh {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: #ffffff;
}

/* Feature-Spalte */
.lvr-r2-f {
  display: flex;
  align-items: center;
  padding: 10px 12px 10px 23px;
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: 0.66px;
  color: #000000;
  text-align: left;
}
.lvr-r2-f--light {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.56px;
  line-height: 18px;
  color: #ffffff;
}
.lvr-r2-f--dark { color: #ffffff; letter-spacing: 0.33px; font-weight: 425; }

/* Standard-Zelle */
.lvr-r2-c {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 6px;
  min-height: 59px;
  font-size: 11px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: 0.44px;
  color: #000000;
  text-align: center;
}
.lvr-r2-c--split { box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.14); }
/* Pixelrunde 3 (R3-rules-18): "Drawdown Type" (EOD Trailing) und "Payout
   Terms" (10% Cap, Lvlup-Spalten) sind im Entwurf zweigeteilt wie die
   Startup-Spalten (Wert fett-schwarz + Label 60% schwarz), stehen dort aber
   NEBENEINANDER statt gestapelt, weil beide Woerter auf eine Zeile passen. */
.lvr-r2-c--inline { flex-direction: row; gap: 5px; }

/* Zeile Kontogroessen */
.lvr-r2-c--size {
  min-height: 68px;
  background: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 5px 21px -1px rgba(255, 255, 255, 0.13);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.25px;
  color: #ffffff;
}
.lvr-r2-c--size.lvr-r2-c--split {
  box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.14), inset 0 5px 21px -1px rgba(255, 255, 255, 0.13);
}

/* Zeile Evaluation Payment (Blau-Gradient, dunkler Text) */
.lvr-r2-c--grad {
  min-height: 83px;
  background: var(--lvf-grad-blue);
  box-shadow: inset 0 5px 22px -1px rgba(255, 255, 255, 0.21);
  font-weight: 483;
  letter-spacing: 0.66px;
  color: #000000;
}
.lvr-r2-c--grad.lvr-r2-c--split {
  box-shadow: inset 1px 0 0 0 rgba(0, 0, 0, 0.18), inset 0 5px 22px -1px rgba(255, 255, 255, 0.21);
}
.lvr-r2-or { font-weight: 600; letter-spacing: 0.44px; }

/* Schwarze Preis-Zeilen */
.lvr-r2-c--dark {
  background: linear-gradient(rgba(18, 169, 255, 0.1), rgba(18, 169, 255, 0.1)), #000000;
  font-size: 12px;
  font-weight: 425;
  line-height: 15px;
  letter-spacing: 0.69px;
  color: #ffffff;
}
.lvr-r2-c--dark.lvr-r2-c--split { box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.08); }
.lvr-r2-row--dark-top .lvr-r2-c--dark { box-shadow: inset 0 5px 22px -1px rgba(255, 255, 255, 0.1); }
.lvr-r2-row--dark-top .lvr-r2-c--dark.lvr-r2-c--split {
  box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.08), inset 0 5px 22px -1px rgba(255, 255, 255, 0.1);
}
.lvr-r2-row--dark-bot .lvr-r2-c--dark { box-shadow: inset 0 -5px 22px -1px rgba(255, 255, 255, 0.1); }
.lvr-r2-row--dark-bot .lvr-r2-c--dark.lvr-r2-c--split {
  box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.08), inset 0 -5px 22px -1px rgba(255, 255, 255, 0.1);
}
.lvr-r2-na { font-size: 11px; font-weight: 400; letter-spacing: 0.66px; color: rgba(255, 255, 255, 0.5); }

/* Koerper-Zeilen (dunkler Text auf hellem Glow) */
.lvr-r2-row--body { border-top: 1px solid rgba(255, 255, 255, 0.16); }
.lvr-r2-row--body .lvr-r2-c {
  background: rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 5px 21px -1px rgba(255, 255, 255, 0.13);
}
.lvr-r2-row--body .lvr-r2-c--split {
  box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.14), inset 0 5px 21px -1px rgba(255, 255, 255, 0.13);
}
.lvr-r2-row--body .lvr-r2-f { box-shadow: inset 0 5px 21px -1px rgba(255, 255, 255, 0.13); }
.lvr-r2-v { font-weight: 510; color: #000000; }
.lvr-r2-s { font-weight: 400; color: rgba(0, 0, 0, 0.6); }
.lvr-r2-none { color: rgba(0, 0, 0, 0.7); }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r2 { padding: 72px 0 130px; }
  .lvr-r2-row { grid-template-columns: 150px repeat(8, 1fr); }
  .lvr-r2-row--groups { grid-template-columns: 150px 1fr 1fr; }
  .lvr-r2-f { padding-left: 16px; }
  .lvr-r2-c--size { font-size: 15px; }
  .lvr-r2-gh { font-size: 15px; }
  /* Fund 13.08.: Muster B (Farbverlauf) fehlte im Tablet-Band. Die
     Gradient-Regel fuer "Lvlup Accounts"/"Starter Accounts" stand nur unter
     min-width:1024px, gemessen per getComputedStyle bei 768px war die Farbe
     dadurch flach rgb(255,255,255) statt Verlauf (Band-JSON: zwei Fuellungen,
     weiss UND Verlauf 8cd5ff->12a9ff, sichtbar ist das Blau). Die Zeile ist
     unter 768px ohnehin ausgeblendet (.lvr-r2-row--groups{display:none}),
     die Regel wirkt also nur genau im Tablet-Band 768-1023px, wo sie fehlte. */
  .lvr-r2 .lvr-r2-gh-t {
    background: var(--lvf-grad-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  /* Ueberlauf-Fund 13.08.: bei genau 768px sind die Datenspalten 72px breit,
     "EOD"+"Trailing" nebeneinander (Basisregel .lvr-r2-c--inline, Zeile 112)
     braucht dort aber 77px. Die 5px Differenz reissen JEDE Zeile mit
     .lvr-r2-c--inline (Drawdown Type, bei Lvlup auch Payout Terms) 38px ueber
     die eigene Boxbreite hinaus - `.lvr-r2-table` hat overflow:hidden, der
     Rand der letzten Spalte wird also lautlos abgeschnitten, kein Scrollbalken,
     kein Konsolenfehler. Gemessen mit node_modules/puppeteer-core:
       768px  Zeilen-Diff 38px  (Zellbreite 77 statt 72)
       800px  Zeilen-Diff  6px
       820px  Zeilen-Diff  0px
     Ab ca. 810px passt es wieder von selbst. Statt eines pixelgenauen
     Zwischenbruchs (schrift-/hinting-abhaengig und beim naechsten Fontwechsel
     wieder falsch) hier durchgaengig im ganzen Tablet-Band gestapelt wie vor
     der Zweifarbigkeits-Regel, das ist gegen Ueberlauf robust. Mobil (unten,
     eigene Spaltenbreite 72px+) bleibt nebeneinander, dort ueberlaeuft nichts
     (siehe Messung: 390px Zeilen-Diff 0px durchgehend).
     Spezifitaet 0-3-0 noetig: server-stand-20260810/lvlup-fixes/r3-rules.css
     Zeile 450 (R3-rules-18, tabu/nur lesen) setzt ".lvr-r2 .lvr-r2-c--inline"
     unconditional (kein @media) auf flex-direction:row mit 0-2-0 und laedt
     nach diesem Fragment. Ohne die Anhebung wuerde genau diese Regel meine
     Tablet-Stapelung wieder ueberschreiben und den Ueberlauf zurueckbringen -
     belegt per node werkzeuge/regression-pruefen.js rules, das die
     Override-Ebene mitlaedt: vor der Anhebung stand dort bei 768px weiterhin
     ein Treffer ".lvr-r2-table"/".lvr-r2-row" Betrag 38, danach keiner mehr. */
  .lvr-r2 .lvr-r2-c--inline.lvr-r2-c--inline { flex-direction: column; gap: 0; }
}

/* Mobile: gestapelte Darstellung, Konto-Label per data-Attribut */
@media (max-width: 767px) {
  .lvr-r2 { padding: 56px 0 90px; }
  .lvr-r2-title { margin-bottom: 32px; }
  .lvr-r2-table { backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px); }

  .lvr-r2-row--groups { display: none; }

  .lvr-r2-row { grid-template-columns: 1fr 1fr; }
  .lvr-r2-f {
    grid-column: 1 / -1;
    padding: 16px 16px 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    box-shadow: none;
  }
  .lvr-r2-f--light { font-size: 13px; font-weight: 600; }
  .lvr-r2-c {
    min-height: 0;
    padding: 12px 8px 16px;
    gap: 4px;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: 0.2px;
    box-shadow: none;
  }
  /* Gegenstueck zum Tablet-Fund oben: unter 768px sind die Mobil-Spalten
     (grid-template-columns: 1fr 1fr, gemessen 174px) breit genug fuer "EOD
     Trailing" nebeneinander (Zeilen-Diff 0px bei 390px), deshalb hier die
     Stapelung aus dem Tablet-Block wieder aufheben. */
  .lvr-r2-c--inline { flex-direction: row; gap: 4px; }
  .lvr-r2-c::before {
    content: attr(data-a);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    opacity: 0.55;
  }
  .lvr-r2-c--size { font-size: 15px; min-height: 0; background: rgba(0, 0, 0, 0.1); box-shadow: none; }
  .lvr-r2-c--grad { min-height: 0; box-shadow: none; }
  .lvr-r2-c--dark { font-size: 13px; }
  .lvr-r2-row--dark-top .lvr-r2-c--dark,
  .lvr-r2-row--dark-bot .lvr-r2-c--dark { box-shadow: none; }
  .lvr-r2-row--body .lvr-r2-c { box-shadow: none; }
  .lvr-r2-c--split,
  .lvr-r2-c--size.lvr-r2-c--split,
  .lvr-r2-c--grad.lvr-r2-c--split,
  .lvr-r2-row--body .lvr-r2-c--split { box-shadow: none; }
  .lvr-r2-na { font-size: 12px; }
}


/* ===== Pixelrunde 2 Rules (11.08.2026): r2-Uebersichtstabelle ============== */

/* 1. Gruppenkoepfe "Lvlup Accounts" / "Startup Accounts" waren weiss.
   Band-JSON: der Textknoten hat zwei Fuellungen, weiss UND darueber den
   Verlauf 8cd5ff -> 12a9ff (180 Grad) - sichtbar ist also das Blau.
   Im Soll-Bild gemessen rgb(70,181,240) und rgb(77,182,239),
   live rgb(253,253,253) und rgb(254,254,254).
   Der Verlauf liegt auf einem eigenen span, sonst wuerde background-clip:text
   auch die schwarze Zellfuellung wegschneiden. */
@media (min-width: 1024px) {
  .lvr-r2 .lvr-r2-gh-t {
    background: var(--lvf-grad-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  /* Band-JSON: Schriftgewicht 458, Zeilenhoehe 23,8 px (bisher 500 / normal) */
  .lvr-r2 .lvr-r2-gh { font-weight: 458; line-height: 23.8px; }
}

/* 2. Koerperzeilen sind 60 statt 59 px hoch. Ursache ist der Trennstrich:
   .lvr-r2-row--body traegt border-top: 1px, im Band-JSON liegt der Strich
   dagegen INNEN in der 59 px hohen Zeile. Im Soll-Bild gemessene Linien:
   1386 / 1444 / 1503 / 1562 / ... also 59 px Raster, live 1385 / 1445 / 1505
   also 60. Ueber neun Zeilen sind das die 9 px, um die die Tabelle mit 879
   statt 870 px zu hoch war. */
@media (min-width: 1024px) {
  .lvr-r2 .lvr-r2-row--body .lvr-r2-c,
  .lvr-r2 .lvr-r2-row--body .lvr-r2-f { min-height: 58px; }
}

/* 3. Gestapelte Zellen ("6 %" ueber "($1,500)"): Band-JSON setzt die beiden
   Zeilen 14 px auseinander (Ink 1405 und 1419, Zeilenhoehen 14,08 und 14,3),
   live waren es 21 px, weil zwischen den beiden spans zusaetzlich 7 px
   Abstand standen. Dadurch rutschte die obere Zeile 6,9 px nach oben. */
@media (min-width: 1024px) {
  .lvr-r2 .lvr-r2-c { gap: 0; }
  /* Unterzeile: Band-JSON Gewicht 353, live 400. */
  .lvr-r2 .lvr-r2-s { font-weight: 353; }
}

/* 4. Sektionsfuss: der Override R3-rules-12 setzt padding-bottom auf 136 px und
   nennt als Grund ausdruecklich "zusaetzlich 9px, weil die Tabelle selbst 879
   statt 870 hoch ist". Nachdem Punkt 2 diese 9 px behoben hat, gehoeren sie
   zurueck in den Abstand: 136 + 9 = 145. Sektionshoehe bleibt damit 1149 px. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r2 { padding-bottom: 145px; }
}

/* 5. Nachtrag Rundgang 13.08.2026: padding-top. Basisregel oben (Zeile 4)
   setzt im Shorthand 100px, r3-rules.css Zeile 205 (tabu) setzt bei >=1024px
   56px. Beide Selektoren sind gleich stark (".lvr-r2" bzw. ".lvr-r2" je eine
   Klasse, 0-1-0) - der Override gewinnt bisher nur, weil er als spaeter
   geladene Datei bei Spezifitaetsgleichstand zieht, nicht durch hoehere
   Spezifitaet. Nach Deploy (ohne Overrides-Ebene) faellt das weg und es
   blieben die 100px stehen.

   Nachgemessen (Puppeteer, 1760px, vier Kombinationen):
     Override nein, Fix nein:  padding-top 100px  .lvr-r2-Hoehe 1201,125px
     Override nein, Fix ja:    padding-top  56px  .lvr-r2-Hoehe 1157,125px
     Override ja,   Fix nein:  padding-top  56px  .lvr-r2-Hoehe 1149,125px  Seite 21788px
     Override ja,   Fix ja:    padding-top  56px  .lvr-r2-Hoehe 1149,125px  Seite 21788px
   Mit geladenem Override identisch (kein Effekt), ohne Override verkleinert
   die Regel die Sektion um 44px statt sie zu vergroessern - ungefaehrlich
   fuer die 21598-px-Grenze, sondern eine Annaeherung daran. Gleiches Muster
   wie Punkt 4 oben (0-2-0 mit .lvf-page davor, damit die Regel unabhaengig
   von der Ladereihenfolge sicher gewinnt statt nur durch Zufall der
   Dateireihenfolge). */
@media (min-width: 1024px) {
  .lvf-page .lvr-r2 { padding-top: 56px; }
}

/* 5. Harte Kante an der Oberkante des r2-Leuchtens.
   Gemessen am linken Randstreifen (x 0..240): der Wert springt bei y 973 in
   einer einzigen Zeile von 6,7 auf 42,6. Im Soll-Bild steigt er dort
   gleichmaessig um 0,2 Stufen je Zeile (y 950: 24,3 -> y 1009: 38,3),
   es gibt keine Kante.
   Ursache: Override R3-rules-14 (r3-rules.css Zeile 340-352) setzt
   .lvr-r2-glow auf inset: 60px 0 0 0; die Ellipsen sind an der Oberkante des
   Kastens sofort voll deckend. R3-rules-27 blendet nur die unteren 90 px aus.
   Hier dieselbe Maske wie R3-rules-30 sie fuer r3 bis r9 verwendet, nur mit
   laengerem Einlauf nach oben. Doppelte Klasse, damit die Regel den Override
   schlaegt; kein page-id im Selektor, damit sie auch lokal greift. */
@media (min-width: 1024px) {
  .lvr-r2 .lvr-r2-glow.lvr-r2-glow {
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 150px, #000 calc(100% - 90px), rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 150px, #000 calc(100% - 90px), rgba(0, 0, 0, 0) 100%);
  }
}


/* ===========================================================================
   Die beiden Randscheine liefen ueber Weiss, 11.08.2026

   Live standen an beiden Seitenraendern zwei fast reinweisse Lichtkegel, im
   Entwurf sind es helle, aber deutlich blaue Flaechen. Gemessen im Kern des
   jeweiligen Kegels:

     linker Kegel  (x 0, y 1648)      Entwurf (230,246,254)   live (254,254,254)
     rechter Kegel (x 1759, y 1757)   Entwurf (195,233,255)   live (240,249,253)

   Ueber die ganze Breite bei y 1900 gemessen faellt die Saettigung live auf
   0,04 bis 0,17, im Entwurf bleibt sie zwischen 0,42 und 0,90. Der Schein
   laeuft also nicht nur heller, sondern ueber Grau statt ueber Cyan.

   Die wirksamen Werte stehen in r3-rules.css (R3-rules-21, Prioritaet 1200)
   mit `.lvr-r2 .lvr-r2-glow` und damit 0-2-0. Der Kommentar dort benennt das
   Problem bereits ("weil die Kernebene fast weiss ist"), die Korrektur hat
   die Kerne aber auf rgba(255,255,255,1) gelassen. Deshalb hier 0-3-0.

   Die Stuetzpunkte folgen dem am Mockup gemessenen Abfall entlang der
   Kernhoehe, die Radien und Deckkraefte bleiben unveraendert.
   =========================================================================== */
@media (min-width: 1024px) {
  .lvf-page .lvr-r2 .lvr-r2-glow {
    background:
      radial-gradient(ellipse 700px 820px at 0 62%,
        rgba(230, 246, 254, 1) 0%, rgba(205, 237, 254, 0.95) 26%, rgba(160, 214, 246, 0.82) 46%,
        rgba(118, 196, 241, 0.5) 66%, rgba(0, 150, 240, 0) 100%),
      radial-gradient(ellipse 660px 700px at 100% 72%,
        rgba(195, 233, 255, 0.9) 0%, rgba(155, 219, 254, 0.86) 32%, rgba(132, 207, 248, 0.7) 52%,
        rgba(115, 197, 243, 0.36) 70%, rgba(0, 150, 240, 0) 100%),
      /* Mittelschicht: der Kern war mit rgba(140,213,255) zu blass. Unter der
         Tabelle misst der Entwurf (21,144,213) mit Saettigung 0,90, live
         waren es (57,137,182) mit 0,69: der Rotkanal lag rund 36 Stufen zu
         hoch. Bei 0,85 Deckkraft ueber dem dunklen Grund ergibt
         rgba(25,172,254) genau diesen Zielwert. */
      radial-gradient(ellipse 78% 46% at 50% 72%,
        rgba(25, 172, 254, 0.85) 0%, rgba(10, 168, 252, 0.66) 45%, rgba(0, 162, 255, 0.28) 70%, rgba(0, 162, 255, 0) 92%),
      radial-gradient(ellipse 130% 105% at 50% 50%, rgba(4, 48, 74, 0.5) 0%, rgba(4, 48, 74, 0) 82%);
  }
}


/* ===========================================================================
   r2-Glow komplett neu vermessen, 11.08.2026, zweite Runde

   Drei Befunde am frisch gerenderten Stand (Median bzw. 85. Perzentil,
   nie Mittelwert ueber Text):

   1. Der Einlauf oben fehlte: die Glow-Box begann bei y1083 (inset 170px)
      und die Maske blendete erst ab dort ein. Der Entwurf leuchtet am linken
      Rand aber schon ab etwa y920 (y1100: Entwurf (15,125,187), live
      ( 52, 88,114); y1200: Entwurf ( 68,184,246), live (107,153,182), also
      zu grau). Die Box beginnt jetzt an der Sektionskante (inset 0), die
      Ellipsen laufen dort von selbst auf Null aus, eine Einblend-Maske
      braucht es oben nicht mehr.
   2. Das Mittelfeld hinter der Tabelle war viel zu dunkel: 85. Perzentil
      x700..1100 bei y1450 Entwurf (90,190,255), live (30,113,161); y1650
      Entwurf (78,186,255), live (40,139,196). Die Mittelellipse endete zu
      frueh nach oben.
   3. Beide Seitenkegel hatten die Kernhoehe zu tief und fielen nach unten
      zu flach aus: rechts y1600 Entwurf (203,236,255), live (144,216,252);
      Gipfel im Entwurf bei etwa y1650, live bei y1780.

   Der Stapel unten ist ein numerischer Fit an 214 Messpunkte des Entwurfs
   (Randprofile links/rechts y920..2040, Innenspalten x180/x1580, Mittelfeld
   durchs Tabellenglas). Anker in Pixeln ab Boxoberkante (= Sektionskante
   y913): linker Kern 658x500 bei y+712, rechter Kern 485x531 bei y+753,
   Mittelellipse 2200x850 bei y+689, dazu je Seite ein gesaettigter Saum
   fuer Ein- und Auslauf. Die dunkle Abdeckebene bleibt wie gehabt.

   Maske: der Entwurf schneidet die Flaeche links bei etwa y2000 hart ab
   (y1950 (133,203,244) -> y2000 (2,2,2)), rechts laeuft sie bis zur
   Sektionsgrenze durch und uebergibt dort an das r3-Kernlicht. Deshalb
   zwei Maskenhaelften: links harte Ausblendung 64..56px vor der Unterkante
   (also bei y1998..2006 wie im Entwurf), rechts erst in den letzten 20px.
   =========================================================================== */
@media (min-width: 1024px) {
  .lvf-page .lvr-r2 .lvr-r2-glow.lvr-r2-glow {
    inset: 0;
    background:
      radial-gradient(ellipse 658px 500px at 0 712px,
        rgba(234, 247, 255, 1) 0%, rgba(216, 240, 254, 0.85) 40%,
        rgba(150, 216, 250, 0.78) 70%, rgba(60, 180, 245, 0) 100%),
      radial-gradient(ellipse 485px 531px at 100% 753px,
        rgba(205, 237, 255, 1) 0%, rgba(175, 226, 254, 0.91) 40%,
        rgba(110, 200, 250, 0.62) 70%, rgba(40, 170, 240, 0) 100%),
      /* Mittelellipse: hell hinter den Tabellenzeilen y1390..1930 UND als
         Anstieg an beiden Raendern. Ein Verkuerzen nach oben (Plateau-Test)
         riss die Randanstiege bei y1100..1250 um 30 bis 60 Stufen auf,
         deshalb bleibt die volle Hoehe. Dass sie oberhalb der Tabelle
         durchscheint, wo der Entwurf dunkle Deko-Streifen zeigt, liegt an
         den bewusst nicht gebauten Streifen (NOTIZ), nicht am Glow. */
      radial-gradient(ellipse 2200px 850px at 50% 647px,
        rgba(90, 192, 255, 1) 0%, rgba(30, 172, 254, 0.90) 40%,
        rgba(0, 150, 240, 0.05) 70%, rgba(0, 120, 200, 0) 100%),
      radial-gradient(ellipse 543px 897px at 0 620px,
        rgba(110, 200, 250, 1) 0%, rgba(40, 170, 235, 0.90) 40%,
        rgba(10, 120, 190, 0.05) 70%, rgba(0, 60, 110, 0) 100%),
      /* Nachmessung V2: der Aufstieg zum rechten Kegel war bei y1200 rund
         30 Stufen zu rot/hell ((51,152,209) gegen (20,136,199)) und der
         Abfall bei y1900 24 zu rot - Saum enger und unten verankert. */
      radial-gradient(ellipse 363px 1130px at 100% 947px,
        rgba(85, 192, 248, 0.88) 0%, rgba(40, 170, 235, 0.76) 40%,
        rgba(10, 120, 190, 0.05) 70%, rgba(0, 60, 110, 0) 100%),
      /* Bodenfeld rechts der Mitte: der Entwurf haelt das Feld unter der
         Tabelle bis zur Sektionskante blau (y2030 x1300 Entwurf (50,141,179),
         ohne diese Ebene (13,65,100)). Die Seitenebene ::after kann dort
         nicht helfen, ihre x-Maske endet bei x1415. */
      radial-gradient(ellipse 260px 240px at 74% 100%,
        rgba(80, 185, 243, 0.55) 0%, rgba(40, 165, 235, 0.35) 45%,
        rgba(0, 140, 220, 0.12) 75%, rgba(0, 120, 200, 0) 100%),
      radial-gradient(ellipse 130% 105% at 50% 50%, rgba(4, 48, 74, 0.5) 0%, rgba(4, 48, 74, 0) 82%);
    /* Rechte Haelfte OHNE Ausblendung: der Glow laeuft bis zur Sektionskante
       und uebergibt dort an das r3-Kernlicht. Mit einer 20px-Ausblendung
       stand bei y2042..2062 ein toter dunkler Streifen (d bis 76). */
    -webkit-mask-image:
      linear-gradient(180deg, #000 0, #000 calc(100% - 64px), rgba(0, 0, 0, 0) calc(100% - 56px)),
      linear-gradient(180deg, #000 0, #000 100%);
    -webkit-mask-size: 880px 100%, 880px 100%;
    -webkit-mask-position: 0 0, 880px 0;
    -webkit-mask-repeat: no-repeat;
            mask-image:
      linear-gradient(180deg, #000 0, #000 calc(100% - 64px), rgba(0, 0, 0, 0) calc(100% - 56px)),
      linear-gradient(180deg, #000 0, #000 100%);
            mask-size: 880px 100%, 880px 100%;
            mask-position: 0 0, 880px 0;
            mask-repeat: no-repeat;
  }
}


/* ============ Naht r2/r3 bei y2062: Anlauf des r3-Kernlichts ==============
   Befund 12.08.2026. Messweise wie bei r1/r2: 20 Spaltenbloecke, Median ueber
   je 8 Zeilen, Anker inhaltlich (r=0,92 gegen 0,70 Fremdtreffer).

     Sprung Ist vorher    Mittel 17,5   groesster Block 48,3 (Block 17)
     Sprung Ist nachher   Mittel  0,3   groesster Block  1,0
     Sprung Soll          Mittel  0,6   groesster Block  1,7

   Wirksam wird das erst zusammen mit zwei weiteren Schritten: der Regel
   direkt darunter, die das r2-Leuchten rechts enden laesst, und dem
   Entfernen des alten Brueckenlichts aus der Seitenebene in r1-hero.

   Am rechten Rand steht ueber der Naht (18,84,120), eine Zeile darunter
   (67,145,186). Der Entwurf hat an derselben Stelle (72,168,208) ueber UND
   unter der Naht, also keinen Absatz.

   Ursache: .lvr-r3-glow traegt sein Kernlicht bei `at 100% 14px`, also 14px
   unter der Sektionskante, und schaltet die Einlaufmaske aus R3-rules-30
   ausdruecklich ab (`mask-image: none` im r3-Fragment). Damit steht die
   Ebene ab der ersten Zeile voll da.

   Wo der Anlauf anfangen muss, sagt der Entwurf: die Glasflaeche
   FRAME "Frame 2147237220" box(-4,760,1768,1242) endet bei y2002, ab dort
   uebernimmt das r3-Licht. Deshalb genau 60px, von y2002 bis zur Naht.

   VORSICHT bei der Gegenmessung: referenz-neu/soll/rules-aus-schnipseln.png
   ist genau dort aus zwei Figma-Ausschnitten zusammengesetzt (Grenze bei
   design_y 2002, siehe soll-bilder.json). Am rechten Rand springt das
   SOLL-Bild dadurch selbst um 112 Stufen im Rotkanal ((49,170,229) bei
   y2000 gegen (161,188,204) bei y2004). Der Bandbereich y2002..2062 laesst
   sich mit dieser Datei also nicht auf den Punkt bewerten - die Naht bei
   y2062 dagegen schon, dort ist das Soll durchgehend.

   Der Stapel ist der obere Teil von .lvr-r3-glow, um 60px nach unten
   verschoben, damit die Ellipsen in Seitenkoordinaten an derselben Stelle
   liegen wie in r3. Oben laeuft er ueber 14px ein, sonst entstuende bei
   y2002 eine neue Kante. overflow:hidden von .lvr-r2 schneidet ihn an der
   Naht sauber ab.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvr-r2::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    pointer-events: none;
    background:
      radial-gradient(ellipse 657px 728px at 100% 74px,
        rgba(212, 238, 253, 1) 0%, rgba(140, 212, 249, 0.81) 30%,
        rgba(55, 170, 228, 0.52) 55%, rgba(12, 100, 155, 0.26) 80%,
        rgba(0, 55, 95, 0) 100%),
      radial-gradient(ellipse 1500px 200px at 100% 80px,
        rgba(90, 190, 245, 0.55) 0%, rgba(30, 160, 230, 0.38) 45%,
        rgba(0, 130, 205, 0.12) 75%, rgba(0, 110, 180, 0) 100%),
      radial-gradient(ellipse 255px 2201px at 100% 314px,
        rgba(85, 190, 242, 0.85) 0%, rgba(45, 160, 220, 0.40) 35%,
        rgba(15, 110, 165, 0.28) 60%, rgba(3, 60, 100, 0.23) 85%,
        rgba(0, 35, 60, 0) 100%);
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 14px);
            mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 14px);
  }
}


/* ============ Gegenstueck dazu: die rechte Haelfte endet jetzt auch =======
   Der Maskenstapel oben blendet nur die LINKE Haelfte (x 0..880) 64px vor der
   Unterkante aus, also bei y1998..2006, genau am Ende der Glasflaeche. Die
   rechte lief bis zur Sektionskante durch. Begruendet war das damit, dass
   sonst bei y2042..2062 ein toter dunkler Streifen stand (d bis 76) - richtig,
   solange nichts an seine Stelle trat.

   Mit dem Anlauf oben tritt das r3-Kernlicht an seine Stelle, und die rechte
   Haelfte kann dieselbe Kante bekommen wie die linke. Ohne diesen Schritt
   liegen im Band y2002..2062 beide Leuchten uebereinander; gemessen wurde
   der Naht-Sprung dadurch in der Mitte groesser statt kleiner
   (Bloecke 11 bis 15: 24,0/15,0/13,3/24,3/26,0 vor dem Anlauf,
   44,3/40,0/40,7/44,0/41,3 mit Anlauf und ohne diese Regel).

   Eine Maskenebene ueber die volle Breite statt zwei zu 880px; mask-size und
   mask-position muessen dabei mit zurueckgesetzt werden, sonst gilt die alte
   Kachelung und die rechte Haelfte faellt ganz weg.

   Band y2004..2060 gegen den Entwurf, Mittel ueber alle 20 Bloecke:
   16,36 vorher, 17,64 mit Anlauf allein, 10,86 mit beiden Regeln. Die Baender
   darueber (y1500..1900: 13,50) und darunter (y2064..2140: 9,37) bleiben auf
   die zweite Stelle unveraendert. Seitenhoehe unveraendert 21598 px.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvf-page .lvr-r2 .lvr-r2-glow.lvr-r2-glow {
    -webkit-mask-image: linear-gradient(180deg, #000 0, #000 calc(100% - 64px), rgba(0, 0, 0, 0) calc(100% - 56px));
    -webkit-mask-size: 100% 100%;
    -webkit-mask-position: 0 0;
            mask-image: linear-gradient(180deg, #000 0, #000 calc(100% - 64px), rgba(0, 0, 0, 0) calc(100% - 56px));
            mask-size: 100% 100%;
            mask-position: 0 0;
  }
}

/* == r3-evaluation-drawdown == */
/* Sektion r3-evaluation-drawdown (Trading Rules) - Praefix .lvr-r3- */
.lvr-r3 {
  position: relative;
  padding: 60px 0 130px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows, laufen transparent in die Nachbarsektionen aus.
   Oben dezent blau, im Drawdown-Block ein starker blauer Glow von links. */
.lvr-r3-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 22% at 82% 2%, rgba(0, 162, 255, 0.22) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 90% 30% at 50% 9%, rgba(4, 48, 74, 0.55) 0%, rgba(4, 48, 74, 0) 72%),
    radial-gradient(ellipse 70% 26% at 12% 74%, rgba(0, 162, 255, 0.5) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 40% 15% at 6% 74%, rgba(140, 213, 255, 0.35) 0%, rgba(140, 213, 255, 0) 72%),
    radial-gradient(ellipse 110% 40% at 30% 82%, rgba(4, 48, 74, 0.6) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r3 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (1 Evaluation Rules / 2 Drawdown Rules) */
.lvr-r3-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 64px;
}
.lvr-r3-head--dd { margin-top: 111px; }
.lvr-r3-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r3-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r3-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei-Spalten-Grids (Spaltenbreiten aus dem Figma: 523/699 bzw. 699/523) */
.lvr-r3-grid { display: grid; gap: 16px; align-items: start; }
.lvr-r3-grid--eval { grid-template-columns: 523px 1fr; }
.lvr-r3-grid--dd { grid-template-columns: 1fr 523px; }
.lvr-r3-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten */
.lvr-r3-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(46px);
  -webkit-backdrop-filter: blur(46px);
  padding: 26px 26px 38px;
}
.lvr-r3-card--blur110 {
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
}
.lvr-r3-card--dark {
  background: rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
}
.lvr-r3-card--solid {
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
}

/* Kartenkopf (dunkle Leiste) */
.lvr-r3-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r3-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}
/* Zweifarbigkeit (Muster C), referenz-neu/befunde/zweifarbigkeit-aus-rohdaten.md:
   drei Kartentitel tragen im rohen Figma-JSON (Knoten 248:735/743) einen
   blauen Akzent auf dem ersten Wort/Wortpaar ("No Daily", "EOD"), bislang
   ganz ohne Hervorhebung im Markup. Dieselbe Verlaufsklasse wie
   .lvr-r3-accent, nur eigener Name, weil sie auf einem Kartentitel statt
   einer Sektionsueberschrift sitzt. */
.lvr-r3-cardtitle-hl {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Fliesstext */
.lvr-r3-body { padding: 29px 17px 0; }
.lvr-r3-body p {
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r3-body p + p { margin-top: 26px; }

/* Tabellen */
.lvr-r3-table {
  width: 100%;
  margin-top: 22px;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 9px;
  overflow: hidden;
}
.lvr-r3-table th,
.lvr-r3-table td { width: 50%; padding: 17px 24px; text-align: left; }
.lvr-r3-table th {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 11px;
  font-weight: 433;
  line-height: 15px;
  letter-spacing: 0.75px;
  color: #ffffff;
}
.lvr-r3-table th:first-child { border-radius: 5px 0 0 0; }
.lvr-r3-table th:last-child { border-radius: 0 5px 0 0; }
.lvr-r3-table td {
  background: rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 14px;
  font-weight: 425;
  line-height: 18px;
  letter-spacing: 0.42px;
  color: rgba(255, 255, 255, 0.65);
}
.lvr-r3-table tbody tr:last-child td { border-bottom: 0; }
.lvr-r3-table tbody tr:last-child td:first-child { border-radius: 0 0 0 5px; }
.lvr-r3-table tbody tr:last-child td:last-child { border-radius: 0 0 5px 0; }
.lvr-r3-table + .lvr-r3-body { padding-top: 23px; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r3 { padding: 48px 0 100px; }
  .lvr-r3-grid--eval,
  .lvr-r3-grid--dd { grid-template-columns: 5fr 7fr; }
  .lvr-r3-grid--dd { grid-template-columns: 7fr 5fr; }
  .lvr-r3-head--dd { margin-top: 80px; }
  .lvr-r3-card { padding: 20px 20px 30px; }
  .lvr-r3-body { padding: 24px 10px 0; }
  .lvr-r3-table + .lvr-r3-body { padding-top: 20px; }
}

/* Mobile: gestapelt, Fliesstext >= 16px */
@media (max-width: 767px) {
  .lvr-r3 { padding: 40px 0 80px; }
  .lvr-r3-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r3-head--dd { margin-top: 56px; }
  .lvr-r3-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r3-grid--eval,
  .lvr-r3-grid--dd { grid-template-columns: 1fr; }
  .lvr-r3-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r3-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r3-body { padding: 22px 4px 0; }
  .lvr-r3-body p { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r3-body p + p { margin-top: 20px; }
  .lvr-r3-table { margin-top: 18px; }
  .lvr-r3-table th, .lvr-r3-table td { padding: 13px 14px; }
  .lvr-r3-table th { font-size: 11px; }
  .lvr-r3-table td { font-size: 14px; }
}


/* Review R3 (ru1): Tabellen rahmenlos wie im Soll - keine Zellrahmen, keine
   Spaltentrenner, keine Zebra-Fuellung; nur duenne Linie unter der Kopfzeile. */
.lvr-r3 .lvr-r3-table th,
.lvr-r3 .lvr-r3-table td {
  border: 0;
  background: transparent;
}
.lvr-r3 .lvr-r3-table tbody tr,
.lvr-r3 .lvr-r3-table tbody tr:nth-child(odd),
.lvr-r3 .lvr-r3-table tbody tr:nth-child(even) {
  border: 0;
  background: transparent;
}
.lvr-r3 .lvr-r3-table thead th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


/* Abnahme Runde 2 (bis 13.08.2026): Karten waren zu hell (Luma 26-47 statt
   1-7), ein fester rgba(1,4,7,0.92)-Override machte alle Kartenvarianten
   gleich fast-schwarz. Nach Messung (referenz-neu/befunde/rules-karten-
   entscheidung.md) lag die Ursache am fehlenden Schein hinter den Karten,
   nicht an der Deckkraft: der Override entfernt, seit Ergänzung des Scheins
   (siehe .lvr-r3-glow oben) greifen die Figma-genauen Alpha-Werte der
   Basisregel und ihrer Varianten (--dark 0.62, --solid 0.85) wieder direkt.
   Tabellen auf dunklerer Innenfläche bleibt bestehen, das ist ein separater,
   bereits Figma-genauer Kontrast, kein Teil des Karten-Befunds. */
.lvr-r3 .lvr-r3-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r3 .lvr-r3-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* ===========================================================================
   Gleichstand mit server-stand-20260810/lvlup-fixes/r3-rules.css (13.08.2026)

   Diese Datei ist tabu (nur lesen), traegt aber sechs Tage Korrekturen, die
   nie in die Fragmente zurueckgeflossen sind. Beim naechsten Deploy kommt
   diese separat ausgelieferte Overrides-Ebene NICHT mit, dann gelten wieder
   unsere Basiswerte. Ohne Gegenstueck hier wuerde ein Deploy den heutigen
   Live-Zustand verschlechtern. Alle Werte 1:1 von dort abgelesen (Zeilen wie
   angegeben), auf Spezifitaet 0-3-0 gehoben. Kein !important. */

/* Kartenkoerper-Polster oben: r3-rules.css Zeile 91-97 setzt 22px mit 0-2-0
   fuer alle 17 gemessenen Karten (r3 bis r9). Unsere Basis oben (.lvr-r3-body,
   0-1-0) hat kein Gegenstueck ab 1024px; gemessen 29px ohne Override gegen
   22px mit (siehe scratchpad-Messung). Die Kartenfuss-Formeln in r5/r6
   (108 + 26 x Zeilenslots + padding-bottom) setzen genau diese 22px voraus.
   MUSS vor der spezifischeren Tabellen-Body-Regel weiter unten stehen
   (.lvr-r3 .lvr-r3-table + .lvr-r3-body, ebenfalls 0-3-0): bei
   Spezifitaetsgleichstand gewinnt sonst die Quellreihenfolge, und diese
   generische Regel wuerde den dortigen, bereits korrekten 15px-Wert
   ueberschreiben. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r3 .lvr-r3-body { padding-top: 22px; }
}

/* Kartenrahmen: r3-rules.css Zeile 111-119 setzt Deckkraft 0,08, unsere Basis
   oben (.lvr-r3-card) steht auf 0,35 - viermal kraeftiger. Kein Gegenstueck
   im Original, gilt an allen Breiten (gemessen 390/1024/1760 identisch). */
.lvf-page .lvr-r3 .lvr-r3-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartenpolster unten: r3-rules.css Zeile 99-105 setzt 27px mit 0-2-0 (nur
   ab 1024px, Teil derselben "alle 17 Karten"-Regel wie oben), unsere Basis
   38px. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r3 .lvr-r3-card { padding-bottom: 27px; }
}

/* Kartentitel: r3-rules.css Zeile 158-166 hebt auf Deckkraft 0,9, unsere
   Basis oben (.lvr-r3-cardtitle) steht auf 0,8. Kein Gegenstueck, alle
   Breiten. */
.lvf-page .lvr-r3 h3.lvr-r3-cardtitle { color: rgba(255, 255, 255, 0.9); }

/* Tabellenkopf-Text: r3-rules.css Zeile 182-187 dimmt auf Deckkraft 0,65,
   unsere Basis oben steht auf reinem Weiss. Kein Gegenstueck, alle Breiten. */
.lvf-page .lvr-r3 .lvr-r3-table th { color: rgba(255, 255, 255, 0.65); }

/* Kopfabstand Badge 2 ("Drawdown Rules"): r3-rules.css setzt zunaechst
   Zeile 215 99px, korrigiert das aber selbst in Zeile 650 (R3-rules-29,
   spaeter im selben File, gleiche Spezifitaet 0-2-0, gewinnt per
   Quellreihenfolge) auf 103px - das ist der tatsaechlich wirksame Wert.
   Unsere Basis oben (.lvr-r3-head--dd) steht auf 111px. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r3 .lvr-r3-head--dd { margin-top: 103px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, beim Sektions-Hoehenabgleich
   entdeckt: mit/ohne Override lag .lvr-r3 bei 3162 statt 3306px, Differenz
   144px erst nach diesem Fund vollstaendig erklaert). r3-rules.css Zeile
   173-175 ("R3-rules-10: Zeilenraster der Tabellen") setzt Zeilenpolster
   13px oben/unten mit 0-2-1, unsere Basis oben (.lvr-r3-table th/td) steht
   auf 17px - macht sich bei 5 Zeilen (Kopf+4) je Tabelle und 4 Tabellen in
   dieser Sektion bemerkbar. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r3 .lvr-r3-table th,
  .lvf-page .lvr-r3 .lvr-r3-table td { padding-top: 13px; padding-bottom: 13px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, per Volltextsuche in der
   Tabu-Datei gefunden, ABNAHME-R3-rules-A2, Zeile 680-690): der blaue
   Akzent-Teil der Ueberschriften ("Rules" in "Evaluation Rules" etc.) soll
   font-weight 600 tragen, unsere Basis oben (.lvr-r3-accent) setzt gar kein
   eigenes Gewicht und erbt 500 von .lvr-r3-title. Kein Hoeheneffekt bei
   1760px (keine Zeilenumbrueche betroffen), aber ein echter Farbe/Gewicht-
   Unterschied. Override-Selektor ist body.page-id-8048 .lvr-r3 .lvr-r3-accent
   (0-3-1), hier mit zusaetzlichem .lvf-page auf 0-4-1 gehoben. */
body.page-id-8048 .lvf-page .lvr-r3 .lvr-r3-accent { font-weight: 600; }


/* Pixelrunde 2 Rules (11.08.2026): Trennlinien der Innentabellen.
   Im Band-JSON traegt JEDE Zeile unten einen Strich rgba(255,255,255,0.06)
   mit 0,534 px, INSIDE gezeichnet; oben hat keine Zeile einen Strich, und der
   Tabellenrahmen (Frame 2147237344) ist unsichtbar.
   Im Soll-Bild gemessen (textfreier Streifen): fuenf Haarlinien Helligkeit
   5 bis 9, Flaeche dazwischen 1,0. Live fehlten die vier Zeilenstriche ganz,
   die Kopflinie stand auf 16,9.
   1 px mit 3,2 % Weiss gibt dieselbe Lichtmenge wie 0,534 px mit 6 %
   (254 x 0,06 x 0,534 = 8,1 Stufen). */
@media (min-width: 1024px) {
  .lvr-r3 .lvr-r3-table thead tr th,
  .lvr-r3 .lvr-r3-table tbody tr td,
  .lvr-r3 .lvr-r3-table tbody tr:last-child td {
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.032);
  }

  /* Aussenradius: Band-JSON 8,545 px, bisher 10. */
  .lvr-r3 .lvr-r3-table { border-radius: 8.5px; }

  /* Textspalte: Band-JSON gibt fuer die 523er Karten x 1019 mit 438 px Breite,
     also 43 px Einzug links. Gerendert waren es 435 px, weil der 1px-Rahmen
     der Karte von den 523 px abgeht (523 - 2 - 2x26 - 2x17 = 435). Wegen der
     drei fehlenden Pixel brach "Lvlup Drawdown Lock" eine Zeile zu frueh um
     ("... the drawdown" statt "... the drawdown stops", Beleg
     belege/rules/r3-drawdown-lock.png) - die Karte wurde 369 statt 334 px.
     16 px links ergibt x 1019 (1 Rahmen + 26 Kartenpolster + 16), 15 px
     rechts ergibt 438 px Breite. */
  .lvr-r3 .lvr-r3-body { padding-inline: 16px 15px; }

  /* Zeilenhoehe damit 45 px wie im Band-JSON (vorher 44), Tabelle 222 statt
     218 px (Soll 221).

     Dazu die beiden Abstaende um die Tabelle auf das Band-Mass. Gerechnet an
     "Lvlup Account Profit Targets" (Band: Karte 2223..2686, Kopfleiste bis
     2307, Textzeile 1 bei 2336, Tabelle 2369..2590, Textzeile 2 bei 2613):
       Text -> Tabelle   Soll 15 / bisher 22
       Tabelle -> Text   Soll 15 / bisher 22 (Override R3-rules-06 setzt
                         .lvr-r3 .lvr-r3-body auf 22 und schlaegt damit die
                         Fragmentregel mit 23)
     Damit sind die vier Tabellenkarten 464 / 491 / 464 / 464 px statt
     476 / 502 / 476 / 476 (Soll 463 / 490 / 460 / 460), also +1 bis +4 statt
     +12 bis +15. */
  .lvr-r3 .lvr-r3-table { margin-top: 15px; }
  .lvr-r3 .lvr-r3-table + .lvr-r3-body { padding-top: 15px; }

  /* Die beiden Tabellenkarten des Drawdown-Blocks stehen in der laengeren der
     zwei Spalten, deshalb verkuerzt sich die Sektion um 20 px auf 3142.
     Der Sektionsfuss gibt sie zurueck: Override R3-rules-12 (r3-rules.css
     Zeile 217) setzt 50 px, das Band-JSON verlangt 89 (letzte Karte 5135 ->
     Sektionsende 5224). 70 px trifft die bisherige Sektionshoehe 3162 px
     wieder genau und geht dabei in Richtung Soll. */
  .lvf-page .lvr-r3 { padding-bottom: 70px; }
}


/* ===========================================================================
   r3-Glow: Kernlicht oben rechts, 11.08.2026, zweite Runde

   Der Entwurf zeigt am rechten Rand direkt unter der r2-Tabelle einen
   hellen Kern, der hart an der Bereichsgrenze beginnt (y2000 im Entwurf)
   und ueber rund 2500 px nach unten auslaeuft. Live stand dort nur die
   schwache Ellipse "80% 22% at 82% 2%" mit 0,22 plus die Seitenebene aus
   R3-rules-13, zusammen deutlich zu dunkel und ohne Querabfall:
     y2100 Rand   Entwurf (198,233,253)   live (130,196,230)
     y2400 Rand   Entwurf ( 86,185,227)   live (104,153,183)  (zu grau)
     y2800 Rand   Entwurf ( 38,108,149)   live ( 28, 56, 80)
     y2800 x1580  Entwurf ( 12, 39, 54)   live ( 27, 56, 79)  (zu breit)
   Nachdem die Seitenebenen im r1-Fragment aus diesem Bereich entfernt sind,
   uebernimmt die Sektion selbst: ein Kern (657x728) plus ein schmaler
   Randsaum (255x2201), numerisch an 156 Messpunkte gefittet (mittlere
   Restabweichung 3,7 je Kanal).

   Die beiden Drawdown-Glows links (R3-rules-15: 70%/26% und 40%/15% bei
   12%/74%) sind hier bewusst NICHT mehr im Stapel: Sektions-Glows malen
   UEBER die Seitenebene ::before, und die 0,5er-Blauellipse wusch den
   weissen Grosskegel des Entwurfs blau (gemessen y4400 x0..15: Entwurf
   (233,247,255), mit Paar (129,209,255), Rotkanal mal 0,62). Den linken
   Lichtberg traegt jetzt vollstaendig die neu gefittete Seitenebene im
   r1-Fragment, die hinter den Karten liegt wie im Entwurf.

   Die Maske aus R3-rules-30 (90px-Einblendung oben) wuerde den harten
   Kernbeginn an der Sektionskante wegblenden, der Entwurf zeigt ihn hart:
   deshalb hier ohne Maske. Unten enden beide Ebenen rechnerisch vor der
   Sektionskante, eine Ausblendung braucht es nicht.
   =========================================================================== */
@media (min-width: 1024px) {
  .lvf-page .lvr-r3 .lvr-r3-glow {
    background:
      radial-gradient(ellipse 657px 728px at 100% 14px,
        rgba(212, 238, 253, 1) 0%, rgba(140, 212, 249, 0.81) 30%,
        rgba(55, 170, 228, 0.52) 55%, rgba(12, 100, 155, 0.26) 80%,
        rgba(0, 55, 95, 0) 100%),
      /* Breites, flaches Feld direkt unter der Sektionskante: der Entwurf
         zieht das Kernlicht bis etwa x1150 nach links (y2070 x1150..1300
         Entwurf (23,79,112)/(47,134,175), ohne diese Ebene (7,29,48)/
         (28,83,116)). Liegt UNTER dem Kern, an der hellen Kante wirkt es
         deshalb nicht doppelt; ry 200 haelt es aus dem Bereich ab y2260
         (mit 430 stand y2200 quer 25 Stufen zu hell). */
      radial-gradient(ellipse 1500px 200px at 100% 20px,
        rgba(90, 190, 245, 0.55) 0%, rgba(30, 160, 230, 0.38) 45%,
        rgba(0, 130, 205, 0.12) 75%, rgba(0, 110, 180, 0) 100%),
      /* Nachmessung V2: der Saum war im Mitteltail zu rot (y2800 Rand
         (58,119,156) gegen (39,110,151), x1580 y2500 (23,82,118) gegen
         (19,65,93)) - Kopffarbe entsaettigt und leicht abgeschwaecht. */
      radial-gradient(ellipse 255px 2201px at 100% 254px,
        rgba(85, 190, 242, 0.85) 0%, rgba(45, 160, 220, 0.40) 35%,
        rgba(15, 110, 165, 0.28) 60%, rgba(3, 60, 100, 0.23) 85%,
        rgba(0, 35, 60, 0) 100%),
      /* Kartenschein (13.08.2026): die Basiskarten (Alpha 0,05) sassen auf
         exakt Schwarz (Messraster 0,0,0 in allen 12 Zellen, siehe
         referenz-neu/befunde/rules-karten-entscheidung.md 2.2), das Mockup
         zeigt dort durchgehend Luma 12-15. Letztes Layer, malt nur dort, wo
         die Ebenen oben transparent sind - stört die bereits gefitteten
         Werte an der rechten Kante nicht. */
      radial-gradient(ellipse 480px 420px at 521px 359px,
        rgba(0, 150, 220, 0.03) 0%, rgba(0, 150, 220, 0.015) 45%,
        rgba(0, 150, 220, 0) 100%);
    -webkit-mask-image: none;
            mask-image: none;
  }
}

/* == r4-consistency-conditions == */
/* Sektion r4-consistency-conditions (Trading Rules) - Praefix .lvr-r4- */
.lvr-r4 {
  position: relative;
  padding: 60px 0 130px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma (grosse blaue Sterne links, starke
   Leuchten im unteren Bereich). Laufen transparent in die Nachbarsektionen aus,
   keine harten Kanten. */
.lvr-r4-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 40% at -6% 12%, rgba(0, 162, 255, 0.4) 0%, rgba(0, 162, 255, 0) 68%),
    radial-gradient(ellipse 40% 30% at 0% 18%, rgba(140, 213, 255, 0.22) 0%, rgba(140, 213, 255, 0) 70%),
    radial-gradient(ellipse 90% 45% at 25% 78%, rgba(0, 162, 255, 0.5) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 55% 32% at 12% 82%, rgba(140, 213, 255, 0.3) 0%, rgba(140, 213, 255, 0) 72%),
    radial-gradient(ellipse 120% 50% at 40% 88%, rgba(4, 48, 74, 0.65) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r4 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (3 Consistency Rules / 4 Trading Conditions) */
.lvr-r4-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r4-head--cond { margin-top: 111px; }
.lvr-r4-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r4-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r4-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei gleich breite Spalten (Figma: 611px + 16px + 611px) */
.lvr-r4-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.lvr-r4-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten. Standard: fast transparent (rgba(255,255,255,0.02) im Figma),
   --dark: rgba(0,0,0,0.62). Alle mit starkem Backdrop-Blur. */
.lvr-r4-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 38px;
}
.lvr-r4-card--dark { background: rgba(0, 0, 0, 0.62); }

/* Kartenkopf (dunkle Leiste) */
.lvr-r4-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r4-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r4-body { padding: 29px 17px 0; }
.lvr-r4-body p {
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r4-body p + p { margin-top: 26px; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r4 { padding: 48px 0 100px; }
  .lvr-r4-head { margin-bottom: 56px; }
  .lvr-r4-head--cond { margin-top: 80px; }
  .lvr-r4-card { padding: 20px 20px 30px; }
  .lvr-r4-body { padding: 24px 10px 0; }
}

/* Mobile: gestapelt, Fliesstext >= 16px */
@media (max-width: 767px) {
  .lvr-r4 { padding: 40px 0 80px; }
  .lvr-r4-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r4-head--cond { margin-top: 56px; }
  .lvr-r4-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r4-grid { grid-template-columns: 1fr; }
  .lvr-r4-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r4-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r4-body { padding: 22px 4px 0; }
  .lvr-r4-body p { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r4-body p + p { margin-top: 20px; }
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r4-glow oben) greift die Figma-genaue
   Basisregel (0.02, --dark 0.62) wieder direkt. */
.lvr-r4 .lvr-r4-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r4 .lvr-r4-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Pixelrunde 2 Rules (11.08.2026): Textspalte auf das Band-Mass.
   Band-JSON: Text x 304 mit 526 px Breite in den 611er Karten, also 43 px
   Einzug links und 42 rechts. Gerendert waren es 524 px, weil der 1px-Rahmen
   der Karte von den 611 px abgeht (611 - 2 - 2x26 - 2x17 = 524). Die zwei
   fehlenden Pixel liessen einzelne Absaetze eine Zeile zu frueh umbrechen.
   16 px links ergibt x 304 (1 Rahmen + 26 Kartenpolster + 16), 15 px rechts
   ergibt 526 px Breite. */
@media (min-width: 1024px) {
  .lvr-r4 .lvr-r4-body { padding-inline: 16px 15px; }
}

/* Die breitere Textspalte spart in der laengeren der beiden Spalten eine
   Zeile ein, die Sektion wurde dadurch 2187 statt 2213 px. Der Sektionsfuss
   gibt die 26 px zurueck: Override R3-rules-12 (r3-rules.css Zeile 222) setzt
   72 px, das Band-JSON verlangt mehr (der Override glich die frueher zu hohen
   Karten aus). 98 px trifft die bisherige Sektionshoehe 2213 px wieder genau. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 { padding-bottom: 98px; }
}


/* ===========================================================================
   Gleichstand mit server-stand-20260810/lvlup-fixes/r3-rules.css (13.08.2026)
   Ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. Diese
   Datei ist tabu (nur lesen), ihre Korrekturen kommen beim naechsten Deploy
   nicht mit. Alle Werte 1:1 von dort abgelesen, auf Spezifitaet gehoben.
   Kein !important. */

/* Kartenkoerper-Polster oben: 22px mit 0-2-0 im Original (gilt fuer alle 17
   gemessenen Karten r3 bis r9), unsere Basis oben (.lvr-r4-body, 0-1-0) hat
   kein Gegenstueck ab 1024px. Gemessen 29px ohne Override gegen 22px mit. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 .lvr-r4-body { padding-top: 22px; }
}

/* Kartenrahmen: Deckkraft 0,08 im Original, unsere Basis 0,35. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r4 .lvr-r4-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartenpolster unten: 27px im Original (ab 1024px), unsere Basis 38px. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 .lvr-r4-card { padding-bottom: 27px; }
}

/* Kartentitel: Deckkraft 0,9 im Original, unsere Basis 0,8. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r4 h3.lvr-r4-cardtitle { color: rgba(255, 255, 255, 0.9); }

/* Kopfabstand Badge 4 ("Trading Conditions"): 107px im Original (ab
   1024px), unsere Basis oben (.lvr-r4-head--cond) steht auf 111px. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 .lvr-r4-head--cond { margin-top: 107px; }
}

/* Sektions-Polster oben: r3-rules.css setzt 23px mit 0-1-0 (reiner
   Klassenselektor .lvr-r4), exakt dieselbe Spezifitaet wie unsere Basis oben
   (.lvr-r4{padding:60px 0 130px}). Der Override gewinnt live nur, weil er
   spaeter laedt (Spezifitaets-Gleichstand) - auf 0-2-0 gehoben, damit es
   unabhaengig von der Ladereihenfolge gilt. Gemessen 60px ohne Override
   gegen 23px mit. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 { padding-top: 23px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, per Volltextsuche in der
   Tabu-Datei gefunden, ABNAHME-R3-rules-A2, Zeile 680-690): siehe
   ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. */
body.page-id-8048 .lvf-page .lvr-r4 .lvr-r4-accent { font-weight: 600; }


/* ===========================================================================
   r4-Glow: vom linken Randstreifen fernhalten, 11.08.2026, zweite Runde

   Sektions-Glows malen UEBER die Seitenebene ::before (Baumreihenfolge bei
   z-index 0). Die beiden Ebenen aus R3-rules-15 (rgba(0,162,255,0.4) und
   rgba(140,213,255,0.22) um y5489) wuschen damit den unteren Auslauf des
   weissen Grosskegels blau: am Rand gemessen
     y5300  Entwurf (213,240,255)   mit Glow (168,222,254)
     y5600  Entwurf (137,216,252)   mit Glow ( 94,194,251)
   Der Entwurf haelt den Auslauf weiss. Deshalb blendet eine x-Maske den
   Glow ueber den ersten 255 px aus, exakt dort, wo die Seitenebene ihr
   Plateau hat (gleiche Kante wie die Maske aus R3-rules-13). Die
   y-Ausblendungen der letzten 90 px oben und unten aus R3-rules-30 bleiben
   als zweite Maskenebene mit Schnittmengen-Verknuepfung erhalten.
   Tiefer im Bild (x ab 345) aendert sich nichts, dort liefert der Glow
   weiter das flache Blau hinter den Karten.
   Spezifitaet 0-3-0, damit die Regel R3-rules-30 (0-2-0) schlaegt.
   =========================================================================== */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 .lvr-r4-glow {
    -webkit-mask-image:
      linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 90px, #000 calc(100% - 90px), rgba(0, 0, 0, 0) 100%);
    -webkit-mask-composite: source-in;
            mask-image:
      linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 90px, #000 calc(100% - 90px), rgba(0, 0, 0, 0) 100%);
            mask-composite: intersect;
  }
}


/* Kartenschein (13.08.2026): Basiskarte (Alpha 0,02) lag auf exakt Schwarz
   (Messraster 0,0,0 in allen 12 Zellen), das Mockup zeigt dort Luma 3,5-6,2 -
   nur eine leichte Anhebung nötig. Eigene 0-3-0-Regel, weil server-stand-
   20260810/lvlup-fixes/r3-rules.css denselben Selektor mit 0-2-0 belegt (tabu,
   nur lesen) und die zwei Basisellipsen dort bereits auf das Soll gekürzt hat
   (die ursprünglichen unteren Ellipsen färbten den weissen Seitenkegel an -
   siehe deren Kommentar). Erste zwei Ebenen deshalb unverändert übernommen,
   dritte Ebene neu und malt nur dort, wo die ersten beiden transparent sind. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r4 .lvr-r4-glow {
    background:
      radial-gradient(ellipse 55% 40% at -6% 12%, rgba(0, 162, 255, 0.4) 0%, rgba(0, 162, 255, 0) 68%),
      radial-gradient(ellipse 40% 30% at 0% 18%, rgba(140, 213, 255, 0.22) 0%, rgba(140, 213, 255, 0) 70%),
      radial-gradient(ellipse 460px 380px at 1194px 295px,
        rgba(0, 150, 220, 0.02) 0%, rgba(0, 150, 220, 0) 100%);
  }
}

/* == r5-contracts-payout == */
/* Sektion r5-contracts-payout (Trading Rules) - Praefix .lvr-r5- */
.lvr-r5 {
  position: relative;
  padding: 10px 0 130px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma (starkes blaues Leuchten rechts mittig,
   dezenter Schein oben links). Laufen transparent in die Nachbarsektionen aus,
   keine harten Kanten. */
.lvr-r5-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 30% at 98% 32%, rgba(0, 162, 255, 0.5) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 38% 22% at 90% 36%, rgba(140, 213, 255, 0.28) 0%, rgba(140, 213, 255, 0) 72%),
    radial-gradient(ellipse 60% 30% at 95% 62%, rgba(0, 162, 255, 0.42) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 40% 22% at 88% 66%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 72%),
    radial-gradient(ellipse 45% 24% at 0% 6%, rgba(0, 162, 255, 0.2) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 90% 40% at 70% 92%, rgba(4, 48, 74, 0.6) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r5 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (5 Contracts and Account Limits / 6 Lvlup Payout Rules) */
.lvr-r5-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r5-head--payout { margin-top: 111px; }
.lvr-r5-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r5-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r5-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei Spalten (Figma: 523px + 16px + 699px) */
.lvr-r5-grid { display: grid; grid-template-columns: 523fr 699fr; gap: 16px; align-items: start; }
.lvr-r5-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten. Standard: rgba(255,255,255,0.05), --soft: 0.02, --dark: rgba(0,0,0,0.35),
   --darker: rgba(0,0,0,0.85). Alle mit starkem Backdrop-Blur und feinem blauen Rand. */
.lvr-r5-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 38px;
}
.lvr-r5-card--soft { background: rgba(255, 255, 255, 0.02); }
.lvr-r5-card--dark { background: rgba(0, 0, 0, 0.35); }
.lvr-r5-card--darker { background: rgba(0, 0, 0, 0.85); }

/* Kartenkopf (dunkle Leiste) */
.lvr-r5-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r5-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r5-body { padding-top: 29px; }
.lvr-r5-body p {
  padding-inline: 17px;
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r5-body p + p { margin-top: 26px; }

/* Tabellen (Maximum Contract Limits / Maximum Payout Amount) */
.lvr-r5-tablewrap {
  margin: 20px 0 26px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  overflow: hidden;
}
.lvr-r5-table {
  width: 100%;
  border-collapse: collapse;
}
.lvr-r5-table th {
  padding: 17px 24px;
  background: rgba(0, 0, 0, 0.5);
  font-size: 11px;
  font-weight: 433;
  line-height: 15px;
  letter-spacing: 0.75px;
  text-align: left;
  color: #ffffff;
}
.lvr-r5-table td {
  padding: 13px 24px;
  background: rgba(0, 0, 0, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 14px;
  font-weight: 425;
  line-height: 18px;
  letter-spacing: 0.42px;
  color: rgba(255, 255, 255, 0.65);
}
.lvr-r5-table th + th,
.lvr-r5-table td + td { border-left: 1px solid rgba(255, 255, 255, 0.06); }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r5 { padding: 10px 0 100px; }
  .lvr-r5-head { margin-bottom: 56px; }
  .lvr-r5-head--payout { margin-top: 80px; }
  .lvr-r5-card { padding: 20px 20px 30px; }
  .lvr-r5-body { padding-top: 24px; }
  .lvr-r5-body p { padding-inline: 10px; }
}

/* Mobile: gestapelt, Fliesstext >= 16px */
@media (max-width: 767px) {
  .lvr-r5 { padding: 0 0 80px; }
  .lvr-r5-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r5-title { min-width: 0; flex: 1 1 0; font-size: clamp(24px, 7vw, 30px); line-height: 1.05; }
  .lvr-r5-head--payout { margin-top: 56px; }
  .lvr-r5-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r5-grid { grid-template-columns: 1fr; }
  .lvr-r5-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r5-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r5-body { padding-top: 22px; }
  .lvr-r5-body p { padding-inline: 4px; font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r5-body p + p { margin-top: 20px; }
  .lvr-r5-table th { padding: 14px 12px; font-size: 10px; letter-spacing: 0.4px; }
  .lvr-r5-table td { padding: 12px; font-size: 13px; }
}


/* Review R3 (ru1): Tabellen rahmenlos wie im Soll - keine Zellrahmen, keine
   Spaltentrenner, keine Zebra-Fuellung; nur duenne Linie unter der Kopfzeile. */
.lvr-r5 .lvr-r5-table th,
.lvr-r5 .lvr-r5-table td {
  border: 0;
  background: transparent;
}
.lvr-r5 .lvr-r5-table tbody tr,
.lvr-r5 .lvr-r5-table tbody tr:nth-child(odd),
.lvr-r5 .lvr-r5-table tbody tr:nth-child(even) {
  border: 0;
  background: transparent;
}
.lvr-r5 .lvr-r5-table thead th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r5-glow oben) greifen die Figma-genauen
   Basisregeln wieder direkt (0.05, --soft 0.02, --dark 0.35, --darker 0.85). */
.lvr-r5 .lvr-r5-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r5 .lvr-r5-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Pixelrunde Rules (10.08.2026): falsch sitzende Karten auf das Figma-Mass.
   Die Sektionshöhe stimmte (2413 / Soll 2412), aber drei Karten sassen 20 bis
   30 px falsch (grenzen-rules-gegenprobe.json: "Multiple Accounts" +30 live).
   Ursachen und Korrekturen, alle Werte an Soll-Bild und Band-JSON nachgemessen.
   Nur Desktop - Tablet/Mobil behalten die bisherigen Werte (keine Referenz). */
@media (min-width: 1024px) {
  /* 1. Textbreite linke Spalte: Entwurf 438 px, gerendert 435. Deshalb bricht
     "Exposure Is Aggregated" Absatz 1 auf 4 statt 3 Zeilen um (Soll-Bild:
     3 Zeilen) und die Karte ist 343 statt 317 hoch; "Maximum Total Allocation"
     und "Multiple Accounts" rutschen 27/28 px nach unten. Rechter Einzug 14
     statt 17 px entspricht exakt der Box im Band-JSON (x 304, w 438). */
  .lvr-r5 .lvr-r5-grid > .lvr-r5-col:nth-child(1) .lvr-r5-body p { padding-inline: 17px 14px; }

  /* 2. Tabellen: Kopfzeile Soll 42 / Ist 50 (Band-JSON Zeilen 42 + 4 × 45).
     Abstand Text -> Tabelle Soll 7 / Ist 20, Tabelle -> Text Soll 23 / Ist 26
     (Band-JSON y 7698 / 7919 / 7942). Trifft "Maximum Contract Limits"
     (Soll 460 / Ist 487) und "Maximum Payout Amount" (Soll 438 / Ist 461). */
  .lvr-r5 .lvr-r5-table th { padding-top: 13px; padding-bottom: 13px; }
  .lvr-r5 .lvr-r5-tablewrap { margin: 7px 0 23px; }

  /* 3. Kartenfüsse einzeln auf das Band-JSON (der Entwurf fussst die Karten
     unterschiedlich, damit die Spalten gleich enden). Kartenhöhe im Render:
     108 + 26 × Zeilenslots + padding-bottom. */
  .lvr-r5 .lvr-r5-head:not(.lvr-r5-head--payout) + .lvr-r5-grid > .lvr-r5-col:nth-child(1) > .lvr-r5-card:nth-child(3) { padding-bottom: 30px; } /* Maximum Total Allocation: Soll 294 / Ist 291 */
  .lvr-r5 .lvr-r5-head:not(.lvr-r5-head--payout) + .lvr-r5-grid > .lvr-r5-col:nth-child(2) > .lvr-r5-card:nth-child(1) { padding-bottom: 24px; } /* Maximum Contract Limits: Soll 460 / Ist 487, nach Tabellenkorrektur 463 */
  .lvr-r5 .lvr-r5-head:not(.lvr-r5-head--payout) + .lvr-r5-grid > .lvr-r5-col:nth-child(2) > .lvr-r5-card:nth-child(2) { padding-bottom: 32px; } /* Multiple Accounts: Soll 270 / Ist 265 */
  .lvr-r5 .lvr-r5-head--payout + .lvr-r5-grid > .lvr-r5-col:nth-child(1) > .lvr-r5-card:nth-child(3) { padding-bottom: 29px; } /* Drawdown After a Payout: Soll 371 / Ist 369 */
  .lvr-r5 .lvr-r5-head--payout + .lvr-r5-grid > .lvr-r5-col:nth-child(2) > .lvr-r5-card:nth-child(1) { padding-bottom: 33px; } /* Payout Cycle: Soll 245 / Ist 239 */
  .lvr-r5 .lvr-r5-head--payout + .lvr-r5-grid > .lvr-r5-col:nth-child(2) > .lvr-r5-card:nth-child(2) { padding-bottom: 28px; } /* Maximum Payout Amount: Soll 438 / Ist 436 nach Tabellenkorrektur */
  .lvr-r5 .lvr-r5-head--payout + .lvr-r5-grid > .lvr-r5-col:nth-child(2) > .lvr-r5-card:nth-child(3) { padding-bottom: 26px; } /* Payout Request Processing State: Soll 264 / Ist 265 */

  /* 4. Kopfzeile "6 Lvlup Payout Rules": Abstand zum Raster darüber Soll 111
     (Band-JSON 8512 -> 8623). Der Live-Override stellt 87, das glich die
     früher zu hohen Karten aus; nach deren Korrektur zurück auf 111. */
  .lvr-r5 .lvr-r5-grid + .lvr-r5-head--payout { margin-top: 111px; }

  /* 5. Sektionsfuss: letzte Karte bis Sektionsende Soll 75 (9772 -> 9847),
     Live-Override 77. 74 trifft die Soll-Höhe 2412 im Render am genauesten. */
  .lvf-page .lvr-r5 { padding-bottom: 74px; }
}


/* Pixelrunde 2 Rules (11.08.2026): Innenleben der beiden Tabellen.
   Belege: Band-JSON r5 (Tabellen x 826 / y 7698 und 9142, je w 647, h 221)
   und das Soll-Bild. */
@media (min-width: 1024px) {
  /* 1. Trennlinien. Im Band traegt JEDE Zeile unten einen Strich
     rgba(255,255,255,0.06) mit 0,534 px INSIDE, oben keine, und der
     Tabellenrahmen ist unsichtbar. Live fehlten alle vier Zeilenstriche,
     stattdessen lag ein Rahmen um die ganze Tabelle.
     1 px mit 3,2 % Weiss = dieselbe Lichtmenge wie 0,534 px mit 6 %. */
  .lvr-r5 .lvr-r5-table thead tr th,
  .lvr-r5 .lvr-r5-table tbody tr td,
  .lvr-r5 .lvr-r5-table tbody tr:last-child td {
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.032);
  }
  .lvr-r5 .lvr-r5-tablewrap {
    border: 0;              /* Band: Aussenstrich unsichtbar */
    border-radius: 8.5px;   /* Band: 8,545 px, bisher 9 */
  }

  /* 2. Gleich breite Spalten. Band: 3 x 216 px bzw. 2 x 324 px auf 647 px
     Tabellenbreite. Live rechnete der Browser aus dem Inhalt:
     169,7 / 197,1 / 277,4 bzw. 294,7 / 349,5 - die mittlere Spaltenkante sass
     44,4 px zu weit links. */
  .lvr-r5 .lvr-r5-table { table-layout: fixed; }

  /* 3. Hoehenausgleich: die Tabelle waechst durch die vier Striche und den
     entfallenen Rahmen von 220 auf 222 px (Soll 221). Der Abstand zum Text
     darunter gibt die 2 px zurueck (23 -> 21), die Karten bleiben exakt so
     hoch wie nach der Reparatur vom 10.08. */
  .lvr-r5 .lvr-r5-tablewrap { margin: 7px 0 21px; }
}


/* ===========================================================================
   Gleichstand mit server-stand-20260810/lvlup-fixes/r3-rules.css (13.08.2026)
   Ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. Diese
   Datei ist tabu (nur lesen), ihre Korrekturen kommen beim naechsten Deploy
   nicht mit. Alle Werte 1:1 von dort abgelesen, auf Spezifitaet gehoben.
   Kein !important.

   .lvr-r5-head--payout (margin-top) und die einzelnen Kartenfuesse hier
   ABSICHTLICH nicht angefasst: r5 traegt dafuer schon eigene, staerker
   spezifische Regeln weiter unten mit bewusst vom Override abweichenden,
   im Fragment neu hergeleiteten Werten (111px statt Override-87px, siehe
   Kommentar "Kopfzeile '6 Lvlup Payout Rules'" oben) - die bleiben. */

/* Kartenkoerper-Polster oben: 22px mit 0-2-0 im Original (gilt fuer alle 17
   gemessenen Karten r3 bis r9), unsere Basis oben (.lvr-r5-body, 0-1-0) hat
   kein Gegenstueck ab 1024px. Gemessen 29px ohne Override gegen 22px mit -
   die Kartenfuss-Formel weiter unten (108 + 26 x Zeilenslots +
   padding-bottom) setzt diese 22px voraus. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r5 .lvr-r5-body { padding-top: 22px; }
}

/* Kartenrahmen: Deckkraft 0,08 im Original, unsere Basis 0,35. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r5 .lvr-r5-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartentitel: Deckkraft 0,9 im Original, unsere Basis 0,8. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r5 h3.lvr-r5-cardtitle { color: rgba(255, 255, 255, 0.9); }

/* Tabellenkopf-Text: Deckkraft 0,65 im Original, unsere Basis reines Weiss.
   Kein Gegenstueck, alle Breiten. */
.lvf-page .lvr-r5 .lvr-r5-table th { color: rgba(255, 255, 255, 0.65); }

/* Zusatzfund (nicht im urspruenglichen Auftrag, beim direkten Abgleich
   gegen r3-rules.css gefunden): Sektions-Polster oben. Original setzt 5px
   mit 0-1-0 (reiner Klassenselektor .lvr-r5), exakt dieselbe Spezifitaet wie
   unsere Basis oben (.lvr-r5{padding:10px 0 130px}) - Spezifitaets-
   Gleichstand, der Override gewinnt live nur durch spaetere Ladereihenfolge.
   Anders als bei .lvr-r5-head--payout gibt es hier KEINE eigene, neu
   hergeleitete Korrektur im Fragment, die den Override bereits ersetzt - nur
   die padding-bottom-Seite der Sektion ist eigens hergeleitet (74px, siehe
   "5. Sektionsfuss" oben). Auf 0-2-0 gehoben. Gemessen 10px ohne Override
   gegen 5px mit. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r5 { padding-top: 5px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, beim Sektions-Hoehenabgleich
   entdeckt: mit/ohne Override lag .lvr-r5 bei 2439 statt 2483px). Die Notiz
   "r5 hat bereits einen eigenen 0-3-0-Fix" stimmt nur fuer die SECHS Karten
   mit eigener nth-child-Regel weiter oben (Soll-Werte je Karte). Vier Karten
   ohne Tabelle und ohne individuellen Fuss ("E-mini and Micro Conversion",
   "Exposure Is Aggregated", "Payout Eligibility", "Payout Processing")
   bleiben auf der Basis (.lvr-r5-card, 38px unten) und sind damit dem
   blanket-Override .lvr-r5 .lvr-r5-card{padding-bottom:27px} (0-2-0, Zeile
   99-105 in r3-rules.css) weiterhin ausgesetzt. Diese generische 0-3-0-Regel
   schlaegt den Override unabhaengig von der Ladereihenfolge, verliert aber
   selbst gegen die deutlich spezifischeren nth-child-Regeln oben (0-6-0 bis
   0-8-0), die also unangetastet bleiben. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r5 .lvr-r5-card { padding-bottom: 27px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, per Volltextsuche in der
   Tabu-Datei gefunden, ABNAHME-R3-rules-A2, Zeile 680-690): siehe
   ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. */
body.page-id-8048 .lvf-page .lvr-r5 .lvr-r5-accent { font-weight: 600; }


/* Effektrunde Rules (11.08.2026): Grundflaeche und Glows auf das aktuelle
   Soll-Mockup (referenz-neu/soll/rules-aus-schnipseln.png), gemessen ueber
   die lokale Live-Emulation (Fragmente + lvlup-fixes, Treue 0,1).
   Spezifitaet 0-3-0, weil r3-rules.css (Prio 1200, fremde Datei) die
   Glow-Stapel mit 0-2-0 ueberschreibt. Nur Desktop. */
@media (min-width: 1024px) {
  /* 1. Grundflaeche: Soll misst in kartenfreien Zonen (Spaltenluecke x786-798)
     durchgehend (0,0,0) bis (1,1,3), live (5,6,15) = --lvf-bg, Abweichung 8-9
     ueber die ganze Sektion. Abdunkler UNTER der Glow-Ebene (::before kommt im
     Baum vor .lvr-r5-glow). Links ab x255..345 ausgeblendet, damit der linke
     Seitenkegel (.lvf-page::before aus r3-rules.css, nicht meine Datei) sein
     Weiss behaelt; oben 60px Einlauf gegen eine Nahtkante zu r4. */
  .lvf-page .lvr-r5::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.8);
    -webkit-mask-image:
      linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 60px);
    mask-image:
      linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 60px);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }

  /* 2. Glow-Stapel neu nach dem Soll. Gemessen (x1650, Sektions-y relativ):
     Soll rel 20..980 nur (9..17,41..51,59..74) - das liefert schon der rechte
     Seitenkegel; live standen dort bis (11,121,186), also bis 69 zu hell,
     verursacht durch die grossen Ellipsen 98%/32% (0,5) und 90%/36% (0,28).
     Der linke Deckenglow 0%/6% (0,2) entfaellt: Soll misst dort (1,1,1),
     live (4,34,57). Uebrig bleibt der Kern auf Kegelhoehe rel 64 Prozent
     (Soll x1650 rel 1580-1700: (91,198,244), Saettigung 0,63 - der Kegel
     allein ist dort zu weiss) plus ein Auslaeufer in die Kartenflaeche
     (Soll durch die Karte bei x1460 rel 1340-1460: (4,34,52)-(6,58,89)). */
  /* Feinpass 2: das Soll-Profil bei x1650 steigt steil (rel 1220 (18,98,144)
     -> 1580 (91,198,244) -> 1820 (65,182,232)), Version 1 war zu flach und
     oben zu frueh hell (rel 1220 (41,123,171)). Ellipse schmaler (ry 400)
     und satter; zweite Ellipse tiefer fuer die unteren Payout-Karten
     (Soll durch Karte x1460 rel 1580-2060: (2,22,31)..(3,30,46)). */
  /* Feinpass 3: zwei Innenkerne dazu, weil eine einzige Randellipse das
     steile Soll-Querprofil nicht schafft (Rand x1650 rel 1460: 179 Gruen,
     Karte x1460 rel 1460: 58 Gruen - auf 200 px). Der Kern bei x1520/58%
     traegt das Licht durch die Payout-Karten (Soll x1460 rel 1340-1460:
     (4,34,52)-(6,58,89), vorher (16,30,38)); der Kern bei x1600/78% die
     unteren Karten (Soll x1460 rel 1820-2060: (2,22,31)-(3,30,46)). */
  .lvf-page .lvr-r5 .lvr-r5-glow {
    background:
      radial-gradient(ellipse 560px 400px at 100% 66%, rgba(0, 170, 255, 0.65) 0%, rgba(0, 162, 255, 0.36) 45%, rgba(0, 162, 255, 0) 78%),
      radial-gradient(ellipse 260px 280px at calc(50% + 640px) 58%, rgba(0, 162, 255, 0.6) 0%, rgba(0, 162, 255, 0) 75%),
      radial-gradient(ellipse 420px 440px at calc(50% + 720px) 78%, rgba(0, 162, 255, 0.28) 0%, rgba(0, 162, 255, 0) 75%),
      /* Kartenschein (13.08.2026): die linke Basiskarte (Alpha 0,05) lag auf
         exakt Schwarz (Messraster 0,0,0 in allen 12 Zellen), das Mockup zeigt
         dort Luma 12,8-14,5. Letztes Layer, malt nur dort, wo die Ebenen oben
         (die für die rechte Spalte gefittet sind) transparent sind. */
      radial-gradient(ellipse 480px 380px at 522px 276px,
        rgba(0, 150, 220, 0.025) 0%, rgba(0, 150, 220, 0.01) 50%, rgba(0, 150, 220, 0) 100%);
  }
}

/* == r6-profitsplit-starter == */
/* Sektion r6-profitsplit-starter (Trading Rules) - Praefix .lvr-r6- */
.lvr-r6 {
  position: relative;
  padding: 60px 0 115px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma (grosse blaue Sterne links oben,
   dunkelblaues Leuchten darunter). Laufen transparent aus, keine harten Kanten. */
.lvr-r6-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 38% at -6% 10%, rgba(0, 162, 255, 0.4) 0%, rgba(0, 162, 255, 0) 68%),
    radial-gradient(ellipse 40% 28% at 0% 16%, rgba(140, 213, 255, 0.22) 0%, rgba(140, 213, 255, 0) 70%),
    radial-gradient(ellipse 70% 40% at 10% 45%, rgba(0, 162, 255, 0.28) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 45% 30% at 4% 55%, rgba(140, 213, 255, 0.18) 0%, rgba(140, 213, 255, 0) 72%),
    radial-gradient(ellipse 110% 55% at 30% 60%, rgba(4, 48, 74, 0.6) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r6 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (7 Profit Split Rules / 8 Starter Accounts Payout Rules) */
.lvr-r6-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r6-head--starter { margin-top: 163px; }
.lvr-r6-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r6-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r6-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Unterer Block: ungleiche Spalten (Figma: 523px + 16px + 699px).
   Oberer Block: zwei gleich breite Spalten (611px + 16px + 611px). */
.lvr-r6-grid { display: grid; grid-template-columns: 523fr 699fr; gap: 16px; align-items: start; }
.lvr-r6-grid--even { grid-template-columns: 1fr 1fr; }
.lvr-r6-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten. Standard: fast transparent (rgba(255,255,255,0.02) im Figma),
   --mid: rgba(0,0,0,0.35), --deeper: rgba(0,0,0,0.69), --dark: rgba(0,0,0,0.85).
   Alle mit starkem Backdrop-Blur. */
.lvr-r6-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 38px;
}
.lvr-r6-card--mid { background: rgba(0, 0, 0, 0.35); }
.lvr-r6-card--deeper { background: rgba(0, 0, 0, 0.69); }
.lvr-r6-card--dark { background: rgba(0, 0, 0, 0.85); }

/* Kartenkopf (dunkle Leiste) */
.lvr-r6-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r6-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r6-body { padding: 29px 17px 0; }
.lvr-r6-body p {
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r6-body p + p { margin-top: 26px; }

/* Tabellen (Payout Cap / Minimum Payout) */
.lvr-r6-table {
  width: 100%;
  margin: 23px 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  overflow: hidden;
}
.lvr-r6-table th,
.lvr-r6-table td {
  padding: 15px 24px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.lvr-r6-table th {
  background: rgba(0, 0, 0, 0.5);
  font-size: 11px;
  font-weight: 430;
  line-height: 15px;
  letter-spacing: 0.75px;
  color: #ffffff;
}
.lvr-r6-table td {
  background: rgba(0, 0, 0, 0.4);
  font-size: 14px;
  font-weight: 425;
  line-height: 18px;
  letter-spacing: 0.42px;
  color: rgba(255, 255, 255, 0.65);
}
.lvr-r6-table tbody tr:last-child td { border-bottom: 0; }
.lvr-r6-body .lvr-r6-table + p { margin-top: 0; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r6 { padding: 48px 0 100px; }
  .lvr-r6-head { margin-bottom: 56px; }
  .lvr-r6-head--starter { margin-top: 90px; }
  .lvr-r6-card { padding: 20px 20px 30px; }
  .lvr-r6-body { padding: 24px 10px 0; }
  .lvr-r6-table th, .lvr-r6-table td { padding: 13px 16px; }
}

/* Mobile: gestapelt, Fliesstext >= 16px */
@media (max-width: 767px) {
  .lvr-r6 { padding: 40px 0 80px; }
  .lvr-r6-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r6-head--starter { margin-top: 56px; }
  .lvr-r6-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r6-grid, .lvr-r6-grid--even { grid-template-columns: 1fr; }
  .lvr-r6-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r6-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r6-body { padding: 22px 4px 0; }
  .lvr-r6-body p { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r6-body p + p { margin-top: 20px; }
  .lvr-r6-table { margin: 20px 0; }
  .lvr-r6-table th, .lvr-r6-table td { padding: 12px 14px; }
  .lvr-r6-table th { font-size: 11px; }
  .lvr-r6-table td { font-size: 14px; }
}

/* Breitenlauf 13.08.2026: unterhalb von rund 326px zwingt das Zellpolster die
   3-spaltige Tabelle ("Size-Based Starter Accounts Payout Cap") ueber ihre
   Auto-Layout-Mindestbreite hinaus auf 247px Eigenbreite, waehrend der
   Kartenkoerper (.lvr-r6-body) nur 238px Innenraum hat. Kein overflow:hidden
   auf .lvr-r6-body, der Ueberschuss laeuft also sichtbar aus der Karte statt
   nur unsichtbar geclippt zu werden.
   Gemessen (scrollWidth - clientWidth an .lvr-r6-body):
     320px  6-9px Ueberlauf   325px  1px Ueberlauf   326px  0px (ab hier frei)
   Schmaleres Zellpolster nur in diesem Fenster spart 4px je Seite, 24px
   Mindestbreite insgesamt - mehr als die gemessene Luecke. */
@media (max-width: 340px) {
  .lvr-r6-table th, .lvr-r6-table td { padding-left: 10px; padding-right: 10px; }
}


/* Review R3 (ru1): Tabellen rahmenlos wie im Soll - keine Zellrahmen, keine
   Spaltentrenner, keine Zebra-Fuellung; nur duenne Linie unter der Kopfzeile. */
.lvr-r6 .lvr-r6-table th,
.lvr-r6 .lvr-r6-table td {
  border: 0;
  background: transparent;
}
.lvr-r6 .lvr-r6-table tbody tr,
.lvr-r6 .lvr-r6-table tbody tr:nth-child(odd),
.lvr-r6 .lvr-r6-table tbody tr:nth-child(even) {
  border: 0;
  background: transparent;
}
.lvr-r6 .lvr-r6-table thead th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r6-glow oben) greifen die Figma-genauen
   Basisregeln wieder direkt (0.02, --mid 0.35, --deeper 0.69, --dark 0.85). */
.lvr-r6 .lvr-r6-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r6 .lvr-r6-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Pixelrunde Rules (10.08.2026): falsch sitzende Karten auf das Figma-Mass.
   Die Sektionshöhe stimmte fast (2299 / Soll 2302), aber die beiden
   Tabellen-Karten waren rund 20 px zu hoch und schoben "Account Lock During
   Payout" (+20) und "Payout Rule Compliance" (+26) nach unten; "Account Lock
   During Payout" selbst fehlten 16 px Fuss. Werte an Soll-Bild und Band-JSON
   nachgemessen. Nur Desktop - Tablet/Mobil unveraendert (keine Referenz). */
@media (min-width: 1024px) {
  /* 1. Tabellen: Kopfzeile Soll 42 / Ist 46; Abstand Text -> Tabelle Soll 7 /
     Ist 23, Tabelle -> Text Soll 23 / Ist 23 (Band-JSON y 10662 / 10883 /
     10906). Trifft "Size-Based Starter Accounts Payout Cap" (Soll 541 /
     Ist 561) und "Minimum Payout Requirement" (Soll 461 / Ist 483). */
  .lvr-r6 .lvr-r6-table th { padding-top: 13px; padding-bottom: 13px; }
  .lvr-r6 .lvr-r6-table { margin-top: 7px; }

  /* 2. Kartenfüsse einzeln auf das Band-JSON (der Entwurf fusst die Karten
     unterschiedlich, damit die Spalten gleich enden: beide 12065 bzw. 11911
     sind dort so gezeichnet). Kartenhöhe im Render: 108 + 26 × Zeilenslots +
     padding-bottom. */
  .lvr-r6 .lvr-r6-grid--even > .lvr-r6-col:nth-child(1) > .lvr-r6-card { padding-bottom: 26px; } /* Base Profit Split: Soll 212 / Ist 213 */
  .lvr-r6 .lvr-r6-grid--even > .lvr-r6-col:nth-child(2) > .lvr-r6-card { padding-bottom: 29px; } /* Starter Accounts Profit Split: Soll 293 / Ist 291 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(1) > .lvr-r6-card:nth-child(1) { padding-bottom: 24px; } /* Starter Profit Split: Soll 340 / Ist 343 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(1) > .lvr-r6-card:nth-child(2) { padding-bottom: 26px; } /* Maximum 50% Profit Withdrawal: Soll 394 / Ist 395 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(1) > .lvr-r6-card:nth-child(3) { padding-bottom: 26px; } /* Maximum Five Payouts: Soll 290 / Ist 291 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(1) > .lvr-r6-card:nth-child(4) { padding-bottom: 33px; } /* Account Lock Upon Payout: Soll 323 / Ist 317 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(2) > .lvr-r6-card:nth-child(2) { padding-bottom: 43px; } /* Account Lock During Payout: Soll 203 / Ist 187 */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(2) > .lvr-r6-card:nth-child(3) { padding-bottom: 23px; } /* Minimum Payout Requirement: Soll 461 / Ist 463 nach Tabellenkorrektur */
  .lvr-r6 .lvr-r6-head--starter + .lvr-r6-grid > .lvr-r6-col:nth-child(2) > .lvr-r6-card:nth-child(4) { padding-bottom: 32px; } /* Payout Rule Compliance: Soll 296 / Ist 291 */

  /* 3. Sektionsfuss: letzte Karte bis Sektionsende Soll 84 (12065 -> 12149),
     Live-Override 60. Der Override glich die früher zu hohen Karten aus. */
  .lvf-page .lvr-r6 { padding-bottom: 84px; }
}


/* Pixelrunde 2 Rules (11.08.2026): Innenleben der beiden Tabellen.
   Belege: Band-JSON r6 (Tabellen x 826 / y 10662 und 11438, je w 647, h 221)
   und das Soll-Bild. */
@media (min-width: 1024px) {
  /* 1. Trennlinien. Im Band traegt JEDE Zeile unten einen Strich
     rgba(255,255,255,0.06) mit 0,534 px INSIDE, oben keine, und der
     Tabellenrahmen ist unsichtbar. Im Soll-Bild ueber x 1380..1460 gemessen:
     Linien bei y 10703 / 10747 / 10792 / 10837 / 10882 mit Helligkeit 5 bis 9.
     Live standen dort nur zwei Linien (Tabellenrahmen oben und unten, je 15,5)
     und die Kopflinie mit 16,7.
     1 px mit 3,2 % Weiss = dieselbe Lichtmenge wie 0,534 px mit 6 %. */
  .lvr-r6 .lvr-r6-table thead tr th,
  .lvr-r6 .lvr-r6-table tbody tr td,
  .lvr-r6 .lvr-r6-table tbody tr:last-child td {
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.032);
  }

  /* 2. Gleich breite Spalten. Band: 3 x 216 px bzw. 2 x 324 px.
     Live rechnete der Browser 154,2 / 267,5 / 188,4 aus dem Inhalt. */
  .lvr-r6 .lvr-r6-table { table-layout: fixed; }

  /* 3. Breite und Lage: Soll x 826, Breite 647 - also buendig zum
     Kartenpolster. Live sass die Tabelle bei x 843,8 mit 612,1 Breite, weil
     sie das Innenpolster von .lvr-r6-body (17 px je Seite) mitnimmt und
     zusaetzlich einen 1px-Rahmen traegt. */
  .lvr-r6 .lvr-r6-table {
    width: calc(100% + 34px);   /* width:100% allein wuerde die Breite festnageln */
    margin-inline: -17px;
    border: 0;
    border-radius: 8.5px;   /* Band: 8,545 px, bisher 9 */
  }

  /* 4. Hoehenausgleich: die Tabelle waechst durch die vier Striche und den
     entfallenen Rahmen von 220 auf 222 px (Soll 221). Der Abstand zum Text
     darunter gibt die 2 px zurueck (23 -> 21), die Karten bleiben exakt so
     hoch wie nach der Reparatur vom 10.08. */
  .lvr-r6 .lvr-r6-table { margin-bottom: 21px; }
}


/* ===========================================================================
   Gleichstand mit server-stand-20260810/lvlup-fixes/r3-rules.css (13.08.2026)
   Ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. Diese
   Datei ist tabu (nur lesen), ihre Korrekturen kommen beim naechsten Deploy
   nicht mit. Alle Werte 1:1 von dort abgelesen, auf Spezifitaet gehoben.
   Kein !important.

   Die einzelnen Kartenfuesse (padding-bottom je Karte) und der Sektionsfuss
   hier ABSICHTLICH nicht angefasst: r6 traegt dafuer schon eigene, staerker
   spezifische Regeln weiter oben mit bewusst vom Override abweichenden,
   im Fragment neu hergeleiteten Werten - die bleiben. */

/* Kartenkoerper-Polster oben: 22px mit 0-2-0 im Original (gilt fuer alle 17
   gemessenen Karten r3 bis r9), unsere Basis oben (.lvr-r6-body, 0-1-0) hat
   kein Gegenstueck ab 1024px. Gemessen 29px ohne Override gegen 22px mit -
   die Kartenfuss-Formel weiter oben (108 + 26 x Zeilenslots +
   padding-bottom) setzt diese 22px voraus. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r6 .lvr-r6-body { padding-top: 22px; }
}

/* Kartenrahmen: Deckkraft 0,08 im Original, unsere Basis 0,35. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r6 .lvr-r6-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartentitel: Deckkraft 0,9 im Original, unsere Basis 0,8. Kein
   Gegenstueck, alle Breiten. */
.lvf-page .lvr-r6 h3.lvr-r6-cardtitle { color: rgba(255, 255, 255, 0.9); }

/* Tabellenkopf-Text: Deckkraft 0,65 im Original, unsere Basis reines Weiss.
   Kein Gegenstueck, alle Breiten. */
.lvf-page .lvr-r6 .lvr-r6-table th { color: rgba(255, 255, 255, 0.65); }

/* Kopfabstand Badge 8 ("Starter Accounts Payout Rules"): 116px im Original
   (ab 1024px), unsere Basis oben (.lvr-r6-head--starter) steht auf 163px -
   die groesste Luecke aller vier Sektionen. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r6 .lvr-r6-head--starter { margin-top: 116px; }
}

/* Sektions-Polster oben: Original setzt 36px mit 0-1-0 (reiner Klassen-
   selektor .lvr-r6), exakt dieselbe Spezifitaet wie unsere Basis oben
   (.lvr-r6{padding:60px 0 115px}) - Spezifitaets-Gleichstand, der Override
   gewinnt live nur durch spaetere Ladereihenfolge. Auf 0-2-0 gehoben, damit
   es unabhaengig von der Ladereihenfolge gilt. Gemessen 60px ohne Override
   gegen 36px mit. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r6 { padding-top: 36px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, beim Sektions-Hoehenabgleich
   entdeckt: mit/ohne Override lag .lvr-r6 bei 2302 statt 2345px, Differenz
   43px). Zwei Ursachen:

   1. r3-rules.css Zeile 176 ("R3-rules-10: Zeilenraster der Tabellen", gilt
      laut Kommentar dort fuer r3 UND r6) setzt Zeilenpolster 13px oben/unten
      auf .lvr-r6-table td mit 0-2-1, unsere Basis oben (.lvr-r6-table th/td)
      steht auf 15px - macht sich bei 2 Tabellen mit je 4 Zeilen bemerkbar. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r6 .lvr-r6-table td { padding-top: 13px; padding-bottom: 13px; }
}

/* 2. Die Notiz "r5 und r6 haben bereits eigene Werte je Karte" stimmt fuer
      r6 nur fuer die ACHT Karten mit eigener nth-child-Regel weiter oben.
      Eine neunte Karte, "Size-Based Starter Accounts Payout Cap" (Spalte 2,
      Karte 1 im Starter-Grid, die einzige mit Tabelle in dieser Spalte),
      hat KEINE individuelle Fuss-Regel und bleibt auf der Basis
      (.lvr-r6-card, 38px unten) - dem blanket-Override .lvr-r6 .lvr-r6-card
      {padding-bottom:27px} (0-2-0, Zeile 99-105) weiterhin ausgesetzt.
      Diese generische 0-3-0-Regel schlaegt den Override unabhaengig von der
      Ladereihenfolge, verliert aber selbst gegen die deutlich spezifischeren
      nth-child-Regeln oben (0-6-0 bis 0-8-0), die also unangetastet
      bleiben. */
@media (min-width: 1024px) {
  .lvf-page .lvr-r6 .lvr-r6-card { padding-bottom: 27px; }
}

/* Zusatzfund (nicht im urspruenglichen Auftrag, per Volltextsuche in der
   Tabu-Datei gefunden, ABNAHME-R3-rules-A2, Zeile 680-690): siehe
   ausfuehrliche Begruendung in r3-evaluation-drawdown/fragment.css. */
body.page-id-8048 .lvf-page .lvr-r6 .lvr-r6-accent { font-weight: 600; }


/* Effektrunde Rules (11.08.2026): Grundflaeche und Glows auf das aktuelle
   Soll-Mockup, gemessen ueber die lokale Live-Emulation (Treue 0,1).
   Spezifitaet 0-3-0 gegen die 0-2-0-Overrides in r3-rules.css. Nur Desktop. */
@media (min-width: 1024px) {
  /* 1. Grundflaeche wie r5: Soll in kartenfreien Zonen (0,0,0)..(1,1,3),
     live (5,6,15). Links ausgespart, damit der weisse Kegelkern bei y=11350
     (fremde Seitenebene) nicht gedimmt wird. Kein senkrechter Einlauf:
     r5 traegt denselben Abdunkler, die Naht bleibt dadurch stetig. */
  .lvf-page .lvr-r6::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.8);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
  }

  /* 2. Glow-Stapel neu nach dem Soll:
     a) Der Mittel-Glow auf Kegelhoehe reicht im Soll bis in die Spaltenluecke
        (x786-798): rel 1220 (27,140,194), rel 1340 (39,169,230), rel 1460
        (36,160,218), rel 1580 (30,117,163); live war die Luecke dort (5,16,29)
        bis (5,6,15), Abweichung bis 133. Ellipse in der Flaeche zentriert
        (x600, 60 Prozent), damit sie vor x60 ausgelaufen ist und den weissen
        Kegelkern (Soll rel 1340 x60: (249,253,255)) nicht anfaerbt.
     b) Die bisherigen grossen Blau-Ellipsen oben links (0,4 / 0,22 / 0,28 /
        0,18) faerbten genau diesen Kegelkern ein: live x60 rel 1100 nur
        (100,200,250) statt Soll (227,245,255), rel 140 dagegen (19,127,187)
        statt (22,74,105). Sie entfallen; oben links daempft stattdessen eine
        dunkle Schulter den Kegelrand auf das Soll (Kegel allein ergaebe dort
        rund (42,99,133)). */
  /* Feinpass 2: Luecke rel 1340 stand erst bei (16,87,128) statt (39,169,230),
     Ellipse groesser und mit satterer Mittelstufe; dunkle Schulter oben
     leicht angehoben (Soll x60 rel 20: (18,58,82), vorher (7,77,118)). */
  /* Feinpass 3: Plateau der Ellipse verbreitert (Stufe bei 30 Prozent) und
     senkrecht verlaengert - die Luecke stand rel 1340 bei (32,145,203) statt
     (39,169,230) und fiel unterhalb zu schnell ab (rel 1700 (3,13,21) statt
     (19,67,95)). */
  .lvf-page .lvr-r6 .lvr-r6-glow {
    background:
      radial-gradient(ellipse 600px 580px at calc(50% - 180px) 61%, rgba(43, 187, 255, 0.96) 0%, rgba(43, 187, 255, 0.8) 30%, rgba(30, 170, 250, 0.45) 55%, rgba(0, 120, 200, 0) 86%),
      radial-gradient(ellipse 480px 560px at 0px 4%, rgba(8, 28, 48, 0.55) 0%, rgba(8, 28, 48, 0) 75%),
      /* Kartenschein (13.08.2026): die Basiskarte (Alpha 0,02) hatte nur an
         der linken Kante einen schwachen Rest (Messraster bis 2,7), das
         Mockup zeigt oben links Luma 16-18, fällt aber rechts unten auf 0 -
         die Kante allein deckt noch nicht die obere Kartenhälfte. Bewusst
         schmal und auf die obere Hälfte begrenzt (Zentrum bei Spalte 1/2,
         Zeile 1/2), damit die untere rechte Ecke nicht über ihr Soll (0)
         angehoben wird - das wäre dort nicht mehr korrigierbar. */
      radial-gradient(ellipse 220px 140px at 460px 175px,
        rgba(0, 150, 220, 0.05) 0%, rgba(0, 150, 220, 0.02) 50%, rgba(0, 150, 220, 0) 90%);
  }
}

/* == r7-billing-protector == */
/* Sektion r7-billing-protector (Trading Rules) - Praefix .lvr-r7- */
.lvr-r7 {
  position: relative;
  padding: 60px 0 147px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma (grosse blaue Sterne links von oben
   bis Mitte, rechts ein weiteres Leuchten). Laufen transparent aus, keine
   harten Kanten zu den Nachbarsektionen. */
.lvr-r7-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 26% at -8% 2%, rgba(0, 162, 255, 0.42) 0%, rgba(0, 162, 255, 0) 68%),
    radial-gradient(ellipse 34% 20% at 0% 9%, rgba(140, 213, 255, 0.22) 0%, rgba(140, 213, 255, 0) 70%),
    radial-gradient(ellipse 42% 30% at -5% 40%, rgba(0, 162, 255, 0.26) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 40% 28% at 104% 46%, rgba(0, 162, 255, 0.26) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 36% 22% at 100% 62%, rgba(18, 169, 255, 0.18) 0%, rgba(18, 169, 255, 0) 72%),
    radial-gradient(ellipse 90% 50% at 40% 30%, rgba(4, 48, 74, 0.5) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r7 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (9 Billing and Account Lifecycle / 10 Payout Protector) */
.lvr-r7-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r7-head--protector { margin-top: 111px; }
.lvr-r7-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r7-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  text-align: center;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei gleich breite Spalten (Figma: 611px + 16px + 611px) */
.lvr-r7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.lvr-r7-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten: fast transparent (rgba(255,255,255,0.02) im Figma) mit starkem
   Backdrop-Blur und feinem blauen Haarrand. */
.lvr-r7-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 40px;
}

/* Kartenkopf (dunkle Leiste) */
.lvr-r7-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r7-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r7-body { padding: 29px 17px 0; }
.lvr-r7-body p {
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r7-body p + p { margin-top: 26px; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r7 { padding: 48px 0 110px; }
  .lvr-r7-head { margin-bottom: 56px; }
  .lvr-r7-head--protector { margin-top: 90px; }
  .lvr-r7-card { padding: 20px 20px 32px; }
  .lvr-r7-body { padding: 24px 10px 0; }
}

/* Mobile: gestapelt, Fliesstext >= 16px, keine Ueberlaeufe */
@media (max-width: 767px) {
  .lvr-r7 { padding: 40px 0 80px; }
  .lvr-r7-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r7-head--protector { margin-top: 56px; }
  .lvr-r7-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r7-title { text-align: left; }
  .lvr-r7-grid { grid-template-columns: 1fr; }
  .lvr-r7-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r7-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r7-body { padding: 22px 4px 0; }
  .lvr-r7-body p { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r7-body p + p { margin-top: 20px; }
}


/* Review R3 (ru2): letztes Wort der Ueberschriften traegt den Blau-Akzent */
.lvr-r7-title-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r7-glow oben) greift die Figma-genaue
   Basisregel (0.02) wieder direkt. */
.lvr-r7 .lvr-r7-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r7 .lvr-r7-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Effektrunde Rules (11.08.2026): Grundflaeche und Glows auf das aktuelle
   Soll-Mockup, gemessen ueber die lokale Live-Emulation (Treue 0,0).
   Spezifitaet 0-3-0 gegen die 0-2-0-Overrides in r3-rules.css. Nur Desktop. */
@media (min-width: 1024px) {
  /* 1. Grundflaeche wie r5/r6: Soll in kartenfreien Zonen (1..2,1..7,1..11),
     live (5,6,15) bis (10,11,20). Links ausgespart (weisser Kegelrand). */
  .lvf-page .lvr-r7::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.8);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
  }

  /* 2. Glows: die drei linken Ellipsen stimmen (x60-Profil Soll gegen live
     rel 20..1340 mit Abweichung 1-10) und bleiben unveraendert. Rechts war
     live zu hell und zu satt: x1650 rel 1340 Soll (4,53,83), live (3,81,129);
     durch die Karte bei x1460 rel 1820 Soll (5,16,22), live (4,52,85).
     Die Ellipsen 104%/46% (0,26) und 100%/62% (0,18) schrumpfen deshalb auf
     einen schmalen Randstreifen (0,12) ohne unteren Auslaeufer; dazu ein
     Hauch Weiss, weil der Soll-Rand Rot 14-17 traegt (reines Kegelblau
     liesse Rot bei 3-5). */
  .lvf-page .lvr-r7 .lvr-r7-glow {
    background:
      radial-gradient(ellipse 50% 26% at -8% 2%, rgba(0, 162, 255, 0.42) 0%, rgba(0, 162, 255, 0) 68%),
      radial-gradient(ellipse 34% 20% at 0% 9%, rgba(140, 213, 255, 0.22) 0%, rgba(140, 213, 255, 0) 70%),
      radial-gradient(ellipse 42% 34% at -5% 41%, rgba(0, 162, 255, 0.26) 0%, rgba(0, 162, 255, 0) 70%),
      radial-gradient(ellipse 300px 520px at 100% 47%, rgba(0, 162, 255, 0.06) 0%, rgba(0, 162, 255, 0) 75%),
      /* Kartenschein (13.08.2026): größter Einzelbefund aus der
         Basiskarten-Prüfung. Die linke Basiskarte (Alpha 0,02) misst am
         linken Rand nur bis Luma 19 (bestehende Ellipsen oben), das Mockup
         verlangt dort 45-59 und fällt erst zur rechten Kartenhälfte hin auf
         6-11 ab - der Schein muss also durch fast die ganze Kartenbreite
         reichen, nicht nur die linke Kante streifen. Letztes Layer, malt nur
         dort, wo die vier Ebenen oben transparent sind. */
      radial-gradient(ellipse 320px 200px at 380px 260px,
        rgba(0, 150, 220, 0.40) 0%, rgba(0, 150, 220, 0.15) 55%,
        rgba(0, 150, 220, 0) 100%);
  }
  /* Feinpass 3: dritte Linksellipse senkrecht gestreckt (30 auf 34 Prozent),
     der untere Auslauf war zu kurz: x60 rel 1580 (3,18,31) statt Soll
     (1,34,53). */
  /* Feinpass 2: der Weiss-Hauch entfaellt wieder - er hob Gruen mit an, das
     schon 12-15 ueber dem Soll lag. Das fehlende Rot am rechten Rand
     (Soll 9..17, live 1..5) stammt aus dem reinen Blau des Seitenbands in
     r3-rules.css und ist von hier aus nicht senkbar (Befund, gemeldet). */
}


/* Gleichstand mit r3-rules.css (13.08.2026): der Server traegt Korrekturen aus
   server-stand-20260810/lvlup-fixes/r3-rules.css, die nie in dieses Fragment
   zurueckgeflossen sind. Ein Deploy ohne diese Regeln wuerde die Sektion auf
   den heutigen Vor-Override-Stand zurueckwerfen. Belege (Zeilen in r3-rules.css):
   91-97, 99-105, 111-119, 158-166, 233, 235, 237. Spezifitaet echt ueber den
   0-1-0/0-2-0/0-2-1-Selektoren der Overrides-Ebene (Praefix .lvf-page),
   kein !important. */

/* Kartenrahmen: Deckkraft 0,35 -> 0,08. Ein Rand unter einem Geraetepixel
   wird sonst vom Browser voll deckend gerundet und wirkt wie eine harte
   Linie statt eines weichen Lichtsaums (r3-rules.css Zeilen 111-119). */
.lvf-page .lvr-r7 .lvr-r7-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartentitel: 0,8 -> 0,9 (r3-rules.css Zeilen 158-166). */
.lvf-page .lvr-r7 h3.lvr-r7-cardtitle { color: rgba(255, 255, 255, 0.9); }

@media (min-width: 1024px) {
  /* Sektionspolster: Fragment 60/147 (Zeile 4 oben), Soll 32/96 (r3-rules.css
     Zeilen 233 und 237, Luecke 28 bzw. 51px). Anders als r3-r6 und r9 hatte
     diese Sektion bislang kein Gegenstueck ab 1024px. */
  .lvf-page .lvr-r7 { padding-top: 32px; padding-bottom: 96px; }

  /* Kopf "Payout Protector": Fragment 111, Soll 120 (r3-rules.css Zeile 235). */
  .lvf-page .lvr-r7 .lvr-r7-head--protector { margin-top: 120px; }

  /* Karteninnenraum: oben 29 -> 22 (r3-rules.css Zeilen 91-97, gilt fuer alle
     sieben Kartensektionen r3-r9, wichtigster Befund der Pruefung), unten
     40 -> 27 (Zeilen 99-105). */
  .lvf-page .lvr-r7 .lvr-r7-body { padding-top: 22px; }
  .lvf-page .lvr-r7 .lvr-r7-card { padding-bottom: 27px; }
}

/* == r8-platforms-verification == */
/* Sektion r8-platforms-verification (Trading Rules) - Praefix .lvr-r8- */
.lvr-r8 {
  position: relative;
  padding: 60px 0 147px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma (grosse blaue Sterne links ueber die
   Mitte der Sektion, rechts ein weiteres Leuchten, dunkles Blau grossflaechig).
   Laufen transparent aus, keine harten Kanten zu den Nachbarsektionen. */
.lvr-r8-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 46% 24% at -6% 38%, rgba(0, 162, 255, 0.4) 0%, rgba(0, 162, 255, 0) 68%),
    radial-gradient(ellipse 32% 18% at 2% 46%, rgba(140, 213, 255, 0.2) 0%, rgba(140, 213, 255, 0) 70%),
    radial-gradient(ellipse 40% 26% at 103% 30%, rgba(0, 162, 255, 0.28) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 34% 20% at 100% 74%, rgba(18, 169, 255, 0.18) 0%, rgba(18, 169, 255, 0) 72%),
    radial-gradient(ellipse 44% 24% at -4% 92%, rgba(0, 162, 255, 0.22) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 90% 50% at 42% 40%, rgba(4, 48, 74, 0.5) 0%, rgba(4, 48, 74, 0) 75%);
}
.lvr-r8 .lvf-container { position: relative; z-index: 1; }

/* Sektionskoepfe (11 Platforms and Execution / 12 Verification and Account Ownership) */
.lvr-r8-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r8-head--verification { margin-top: 111px; }
.lvr-r8-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r8-title {
  font-size: clamp(28px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  text-align: center;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei gleich breite Spalten (Figma: 611px + 16px + 611px), volle Karten spannen beide */
.lvr-r8-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; }
.lvr-r8-card--full { grid-column: 1 / -1; }

/* Karten: fast transparent (rgba(255,255,255,0.02) im Figma) mit starkem
   Backdrop-Blur und feinem blauen Haarrand. Dunklere Varianten per Modifikator. */
.lvr-r8-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 40px;
}
.lvr-r8-card--d45 { background: rgba(0, 0, 0, 0.45); }
.lvr-r8-card--d50 { background: rgba(0, 0, 0, 0.5); }
.lvr-r8-card--d80 { background: rgba(0, 0, 0, 0.8); }
.lvr-r8-card--d85 { background: rgba(0, 0, 0, 0.85); }

/* Kartenkopf (dunkle Leiste) */
.lvr-r8-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r8-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r8-body { padding: 29px 17px 0; }
.lvr-r8-body p {
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r8-body p + p { margin-top: 26px; }

/* Nummerierte Liste (unterstuetzte Plattformen). Doppelte Klasse noetig, weil die
   Shell .lvf-page ol auf list-style:none setzt. */
.lvr-r8 .lvr-r8-list {
  list-style: decimal;
  padding-left: 22px;
  margin-top: 14px;
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r8 .lvr-r8-list li { padding-left: 4px; }
.lvr-r8 .lvr-r8-list li::marker { color: rgba(140, 213, 255, 0.8); }
.lvr-r8 .lvr-r8-list + p { margin-top: 26px; }

/* Kommissionstabelle (Figma: Kopf rgba(0,0,0,0.5), Zeilen rgba(0,0,0,0.4),
   Haarlinien rgba(255,255,255,0.06), Aussenradius 9px) */
.lvr-r8-table {
  width: 100%;
  margin-top: 23px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  overflow: hidden;
}
.lvr-r8-table th,
.lvr-r8-table td { padding: 13px 24px; text-align: left; }
.lvr-r8-table thead th {
  background: rgba(0, 0, 0, 0.5);
  font-size: 11px;
  font-weight: 433;
  line-height: 15px;
  letter-spacing: 0.75px;
  color: #ffffff;
}
.lvr-r8-table tbody td {
  background: rgba(0, 0, 0, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 14px;
  font-weight: 425;
  line-height: 18px;
  letter-spacing: 0.42px;
  color: rgba(255, 255, 255, 0.65);
}
.lvr-r8-table + p { margin-top: 23px; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r8 { padding: 48px 0 110px; }
  .lvr-r8-head { margin-bottom: 56px; }
  .lvr-r8-head--verification { margin-top: 90px; }
  .lvr-r8-card { padding: 20px 20px 32px; }
  .lvr-r8-body { padding: 24px 10px 0; }
}

/* Mobile: gestapelt, Fliesstext >= 16px, keine Ueberlaeufe */
@media (max-width: 767px) {
  .lvr-r8 { padding: 40px 0 80px; }
  .lvr-r8-head { gap: 12px; margin-bottom: 36px; justify-content: flex-start; }
  .lvr-r8-head--verification { margin-top: 56px; }
  .lvr-r8-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r8-title { text-align: left; }
  .lvr-r8-grid { grid-template-columns: 1fr; }
  .lvr-r8-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r8-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r8-body { padding: 22px 4px 0; }
  .lvr-r8-body p { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r8-body p + p { margin-top: 20px; }
  .lvr-r8 .lvr-r8-list { font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r8 .lvr-r8-list + p { margin-top: 20px; }
  .lvr-r8-table th,
  .lvr-r8-table td { padding: 12px 14px; }
  .lvr-r8-table tbody td { font-size: 14px; }
}


/* Review R3 (ru1): Tabellen rahmenlos wie im Soll - keine Zellrahmen, keine
   Spaltentrenner, keine Zebra-Fuellung; nur duenne Linie unter der Kopfzeile. */
.lvr-r8 .lvr-r8-table th,
.lvr-r8 .lvr-r8-table td {
  border: 0;
  background: transparent;
}
.lvr-r8 .lvr-r8-table tbody tr,
.lvr-r8 .lvr-r8-table tbody tr:nth-child(odd),
.lvr-r8 .lvr-r8-table tbody tr:nth-child(even) {
  border: 0;
  background: transparent;
}
.lvr-r8 .lvr-r8-table thead th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


/* Abnahme 06.08.: blaue Akzentwoerter wie in allen anderen Ueberschriften */
.lvr-r8-title-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r8-glow oben) greifen die Figma-genauen
   Basisregeln wieder direkt (0.02, --d45/--d50/--d80/--d85). */
.lvr-r8 .lvr-r8-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r8 .lvr-r8-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Pixelrunde 2 Rules (11.08.2026): Innenleben der Kommissionstabelle.
   Belege: Band-JSON r8 (Tabelle x 287, y 15723, w 1184, h 490) und Soll-Bild. */
@media (min-width: 1024px) {
  /* 1. Trennlinien. Im Band traegt JEDE der zehn Zeilen unten einen Strich
     rgba(255,255,255,0.06) mit 0,534 px INSIDE, oben keine, und der
     Tabellenrahmen ist unsichtbar. Im Soll-Bild ueber x 600..860 liegt bei
     y 15763 genau eine Linie mit Helligkeit 7,2; live standen dort zwei
     Linien mit je 16,9, davon eine ueber der Kopfzeile.
     1 px mit 3,2 % Weiss = dieselbe Lichtmenge wie 0,534 px mit 6 %. */
  .lvr-r8 .lvr-r8-table thead tr th,
  .lvr-r8 .lvr-r8-table tbody tr td,
  .lvr-r8 .lvr-r8-table tbody tr:last-child td {
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.032);
  }

  /* 2. Gleich breite Spalten. Band: 2 x 592 px auf 1184 px. Live 617,8 / 532,2,
     die Spaltenkante sass damit 43,8 px zu weit rechts. */
  .lvr-r8 .lvr-r8-table { table-layout: fixed; }

  /* 3. Breite und Lage: Soll x 287, Breite 1184 - buendig zum Kartenpolster.
     Live x 304 mit 1152 Breite, weil die Tabelle das Innenpolster von
     .lvr-r8-body (17 px je Seite) mitnimmt und einen 1px-Rahmen traegt. */
  .lvr-r8 .lvr-r8-table {
    /* width:100% allein wuerde die Breite festnageln; 16 + 15 px sind das
       Innenpolster von .lvr-r8-body (siehe Textspalten-Block am Dateiende). */
    width: calc(100% + 31px);
    margin-inline: -16px -15px;
    border: 0;
    border-radius: 8.5px;   /* Band: 8,545 px, bisher 9 */
  }

  /* 4. Abstand Tabelle -> Text darunter: Soll 15 (Band 16213 -> Textzeile
     16228), bisher 23. Die Tabelle waechst durch die zehn Striche und den
     entfallenen Rahmen von 484 auf 492 px (Soll 490); die 8 px gibt genau
     dieser Abstand zurueck, die Karte bleibt gleich hoch. */
  .lvr-r8 .lvr-r8-table + p { margin-top: 15px; }
}


/* Effektrunde Rules (11.08.2026): Grundflaeche, Glows, Terminal-Karte und
   der Schein VOR den unteren Karten, alles auf das aktuelle Soll-Mockup,
   gemessen ueber die lokale Live-Emulation (Treue 0,1).
   Spezifitaet 0-3-0 gegen die 0-2-0-Overrides in r3-rules.css. Nur Desktop. */
@media (min-width: 1024px) {
  /* 1. Grundflaeche wie r5-r7: Soll in kartenfreien Zonen (0..2,0..7,0..11),
     live (5,6,15). Links ausgespart (weisser Kegelkern bei y=17006). */
  .lvf-page .lvr-r8::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.8);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
  }

  /* 2. Glow-Stapel neu:
     a) Rechter Stern auf Kegelhoehe y=15340 (rel 19 Prozent). Das Soll zeigt
        ihn satt und weit in die Karten hinein: durch die Karte bei x1460
        rel 380 (13,95,143), am Rand x1650 rel 380 (69,179,230); live nur
        (34,54,70) bzw. (107,175,212), also zu grau und zu weiss.
     b) Die linken Ellipsen halbiert: live x60 rel 980 (11,100,152) gegen
        Soll (17,56,79).
     c) Die Ellipse -4%/92% (0,22) entfaellt: sie faerbte den weissen
        Kegelkern bei y=17006 ein (live x60 rel 1940 (179,227,253) statt
        Soll (232,246,255)). */
  /* Feinpass 2: Stern etwas tiefer und breiter (Soll durch Karte x1460
     rel 380 (13,95,143), Version 1 nur (32,72,95)); linke Ellipsen weiter
     halbiert (Soll x60 rel 860 (13,42,58), Version 1 (3,57,90)). */
  /* Feinpass 3: Stern minimal tiefer (Luecke unter der Terminal-Karte,
     Soll x1460 rel 740 (7,80,119), vorher (11,32,44)); linke Ellipsen weiter
     runter (x60 rel 1100 Soll (22,74,105), vorher (15,97,144) - der Rest
     dort ist die Schulter des Seitenkegels, gemeldet). */
  .lvf-page .lvr-r8 .lvr-r8-glow {
    background:
      radial-gradient(ellipse 760px 600px at 100% 22%, rgba(40, 180, 255, 0.78) 0%, rgba(0, 155, 245, 0.48) 50%, rgba(0, 155, 245, 0) 82%),
      /* Feinpass 6: flacher Unterlappen des Sterns - im Soll flutet das Licht
         die Fuge unter der Terminal-Karte weit nach links (abs y15570:
         x1250 (8,99,150), x900 (2,12,18)), der Hauptstern reichte dort nur
         bis (4,16,25). */
      radial-gradient(ellipse 1100px 260px at 100% 29%, rgba(0, 162, 255, 0.5) 0%, rgba(0, 162, 255, 0.22) 50%, rgba(0, 162, 255, 0) 85%),
      radial-gradient(ellipse 46% 24% at -6% 38%, rgba(0, 162, 255, 0.08) 0%, rgba(0, 162, 255, 0) 68%),
      radial-gradient(ellipse 32% 18% at 2% 46%, rgba(140, 213, 255, 0.04) 0%, rgba(140, 213, 255, 0) 70%),
      /* Kartenschein (13.08.2026): die Basiskarte im oberen Grid (Alpha 0,02,
         nicht die Terminal- oder Kommissionskarte aus Punkt 3/4/5 unten) lag
         auf exakt Schwarz, das Mockup zeigt dort Luma 5,2-7,2 - nur eine
         leichte Anhebung nötig. Letztes Layer, malt nur dort, wo die vier
         Ebenen oben transparent sind. */
      radial-gradient(ellipse 480px 400px at 566px 318px,
        rgba(0, 150, 220, 0.025) 0%, rgba(0, 150, 220, 0.012) 50%, rgba(0, 150, 220, 0) 100%);
  }

  /* 3. Schein VOR den Karten des Verification-Blocks unten links. Beleg: im
     Soll ist die Luecke zwischen den Spalten (x786-798, rel 1820-2300) mit
     (1..2,16..20,24..32) genauso hell wie die Flaeche der fast schwarzen
     d80-Karte daneben (x746-780: (1..3,10..21,15..32)) - das geht nur, wenn
     das Licht VOR den Karten liegt, nicht dahinter. Live beide (1,1,3).
     Eigene Ebene mit z-index 1 nach dem Container im Baum, liegt damit ueber
     den Karten; Ellipse in der Flaeche zentriert, damit sie den weissen
     Kegelkern links nicht erreicht. */
  .lvf-page .lvr-r8::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    /* Feinpass 2: Soll-Luecke rel 1940 (2,20,30) und noch rel 2420 (2,10,16),
       Version 1 lieferte (1,11,18) und (0,0,1) - staerker und tiefer. */
    /* Feinpass 4: Fuss weiter verlaengert (Soll haelt rel 2420 noch (2,10,16))
       und ein zweiter Schein VOR der Kommissionskarte oben rechts: im Soll ist
       die Karte unter dem Terminal-Kasten bei x1460 rel 740-860 (7,80,119)
       bzw. (4,53,81) blau ueberhaucht, obwohl sie als d45 fast schwarz ist -
       das Licht liegt also auch dort VOR der Karte. */
    background:
      radial-gradient(ellipse 620px 700px at calc(50% - 260px) 80%, rgba(10, 120, 190, 0.3) 0%, rgba(10, 120, 190, 0) 80%),
      /* Feinpass 6: der Schein auf der Kommissionskarte oben rechts breiter
         (Soll abs y15700: x1250 (0,44,69), x1470 (5,67,100)), die Karte ist
         jetzt deckend, also traegt allein diese Ebene das Licht dort. */
      radial-gradient(ellipse 650px 260px at calc(50% + 680px) 32%, rgba(0, 150, 235, 0.65) 0%, rgba(0, 150, 235, 0) 78%);
  }

  /* 4. Karte "Lvlup Trading Terminal": im Soll traegt sie einen blauen
     Verlauf von links dunkel nach rechts unten hell plus einen leuchtenden
     rechten Randsaum, live war sie flach grau. Gemessen im Soll (abs y15520,
     x -> Farbe): 860 (3,16,25), 1180 (3,71,112), 1300 (6,113,174),
     1400 (12,146,221), 1490 (26,164,237); Randsaum oben rechts x1490
     y15380 (16,147,218). Live an denselben Stellen rund (32..36,50..57,
     64..75). Nur diese eine Karte: --full ohne --d45/--d80. */
  .lvr-r8 .lvr-r8-grid > .lvr-r8-card--full:not(.lvr-r8-card--d45):not(.lvr-r8-card--d80) {
    /* Feinpass 2: obere Kartenhaelfte war zu dunkel (x1460 rel 500 Version 1
       (24,96,141), Soll (16,145,216)) - Verlauf hoeher zentriert, Randsaum
       kraeftiger. */
    /* Feinpass 3: Kern wieder tiefer (die Helligkeit oben traegt der
       Randsaum, nicht der Verlauf: Soll x1440 rel 500 nur (6,59,90),
       Version 2 (21,109,164)); Farbton entrotet (Soll Rot 15, vorher 28). */
    /* Feinpass 5: Karte deckend wie im Soll (links x560 misst (0,0,0), eine
       durchscheinende Karte zeigte (6,7,9) plus den Stern dahinter); der
       Randsaum in zwei Stufen: heisse Kante (Soll x1490 rel 500 (16,147,218))
       plus weicher Innensaum. */
    background-color: rgb(1, 4, 7);
    /* Feinpass 6: Verlauf steiler und tiefer - Soll abs y15420: x1300 nur
       (3,34,53), y15520: x1300 (6,113,174); vorher leuchtete die halbe
       Karte (8,71,106 bei x1300 oben). */
    background-image: radial-gradient(ellipse 680px 170px at 100% 84%, rgba(18, 170, 252, 0.95) 0%, rgba(10, 125, 205, 0.42) 55%, rgba(10, 125, 205, 0) 80%);
    box-shadow:
      inset -6px 0 12px rgba(120, 210, 255, 0.75),
      inset -18px 0 34px -6px rgba(0, 165, 255, 0.6),
      inset 0 -14px 30px -8px rgba(0, 150, 245, 0.4);
    border-color: rgba(60, 180, 255, 0.4);
  }

  /* 5. Kommissionskarte ebenfalls deckend: im Soll bleibt ihr Inneres bei
     (0,1,3) (x746-780, rel 860-1340), waehrend der verstaerkte Stern durch
     eine 45-Prozent-Karte (12,53,76) liefern wuerde. Der blaue Hauch oben
     rechts auf der Karte kommt aus dem Schein davor (Nr. 3). */
  .lvr-r8 .lvr-r8-grid > .lvr-r8-card--full.lvr-r8-card--d45 {
    background-color: rgb(2, 5, 10);
  }
}


/* Pixelrunde 2 Rules (11.08.2026): Textspalte auf das Band-Mass.
   Band-JSON: Text x 304 mit 526 px Breite in den 611er Karten, also 43 px
   Einzug links und 42 rechts. Gerendert waren es 524 px, weil der 1px-Rahmen
   der Karte von den 611 px abgeht (611 - 2 - 2x26 - 2x17 = 524). Die zwei
   fehlenden Pixel liessen einzelne Absaetze eine Zeile zu frueh umbrechen.
   16 px links ergibt x 304 (1 Rahmen + 26 Kartenpolster + 16), 15 px rechts
   ergibt 526 px Breite. */
@media (min-width: 1024px) {
  .lvr-r8 .lvr-r8-body { padding-inline: 16px 15px; }
}


/* Gleichstand mit r3-rules.css (13.08.2026): siehe Begruendung in
   r7-billing-protector/fragment.css, identisches Muster. Belege (Zeilen in
   r3-rules.css): 91-97, 99-105, 111-119, 158-166, 179-187, 238, 240, 242.
   Spezifitaet echt ueber den 0-1-0/0-2-0/0-2-1/0-2-2-Selektoren der
   Overrides-Ebene (Praefix .lvf-page), kein !important. */

/* Kartenrahmen: Deckkraft 0,35 -> 0,08 (r3-rules.css Zeilen 111-119). */
.lvf-page .lvr-r8 .lvr-r8-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartentitel: 0,8 -> 0,9 (r3-rules.css Zeilen 158-166). */
.lvf-page .lvr-r8 h3.lvr-r8-cardtitle { color: rgba(255, 255, 255, 0.9); }

/* Tabellenkopf: reines Weiss -> Deckkraft 0,65 (r3-rules.css Zeilen 179-187,
   niedrigste Prioritaet dieser Pruefung). */
.lvf-page .lvr-r8 .lvr-r8-table thead th { color: rgba(255, 255, 255, 0.65); }

@media (min-width: 1024px) {
  /* Sektionspolster: Fragment 60/147 (Zeile 4 oben), Soll 39/108 (r3-rules.css
     Zeilen 238 und 242, Luecke 21 bzw. 39px). Anders als r3-r6 und r9 hatte
     diese Sektion bislang kein Gegenstueck ab 1024px. */
  .lvf-page .lvr-r8 { padding-top: 39px; padding-bottom: 108px; }

  /* Kopf "Verification and Account Ownership": Fragment 111, Soll 83
     (r3-rules.css Zeile 240). */
  .lvf-page .lvr-r8 .lvr-r8-head--verification { margin-top: 83px; }

  /* Karteninnenraum: oben 29 -> 22 (r3-rules.css Zeilen 91-97, gilt fuer alle
     sieben Kartensektionen r3-r9, wichtigster Befund der Pruefung), unten
     40 -> 27 (Zeilen 99-105). Betrifft nur die Grundregel .lvr-r8-card, die
     Farbvarianten --d45/--d50/--d80/--d85 und die Terminal-/Kommissionskarte
     aendern hier nur padding-bottom mit, ihre eigenen Farb- und
     Verlaufsregeln oben im Effektrunde-Block bleiben unberuehrt. */
  .lvf-page .lvr-r8 .lvr-r8-body { padding-top: 22px; }
  .lvf-page .lvr-r8 .lvr-r8-card { padding-bottom: 27px; }
}

/* == r9-prohibited == */
/* Sektion r9-prohibited (Trading Rules) - Praefix .lvr-r9- */
.lvr-r9 {
  position: relative;
  padding: 0 0 150px;
  overflow: hidden;
}

/* Weiche Hintergrund-Glows nach dem Figma: starkes blaues Leuchten an der
   linken Kante (untere Haelfte), dezenter Schein oben links und ein weicher
   Auslauf nach unten in die naechste Sektion. Alles radial mit transparenten
   Enden, keine harten Kanten. */
.lvr-r9-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 48% 32% at -4% 60%, rgba(0, 162, 255, 0.75) 0%, rgba(0, 162, 255, 0) 68%),
    radial-gradient(ellipse 26% 20% at 0% 63%, rgba(167, 223, 255, 0.45) 0%, rgba(167, 223, 255, 0) 70%),
    radial-gradient(ellipse 45% 20% at 0% 12%, rgba(0, 162, 255, 0.18) 0%, rgba(0, 162, 255, 0) 70%),
    radial-gradient(ellipse 60% 22% at 25% 102%, rgba(0, 162, 255, 0.4) 0%, rgba(0, 162, 255, 0) 72%),
    radial-gradient(ellipse 40% 16% at 40% 99%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 72%);
}
.lvr-r9 .lvf-container { position: relative; z-index: 1; }

/* Sektionskopf (13 Prohibited Trading Rules) */
.lvr-r9-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0 0 75px;
}
.lvr-r9-badge {
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--lvf-grad-blue);
  box-shadow: inset -1px 0 3px 0 rgba(255, 255, 255, 0.68);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #05060f;
}
.lvr-r9-title {
  font-size: clamp(30px, 3.4vw, 41px);
  font-weight: 500;
  line-height: 0.93;
  letter-spacing: -0.02em;
  background: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50%, rgba(255, 255, 255, 0.7) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lvr-r9-accent {
  background: var(--lvf-grad-blue);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Zwei Spalten (Figma: je 611px, 16px Abstand) */
.lvr-r9-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.lvr-r9-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* Karten. Standard: rgba(255,255,255,0.02), --dark: rgba(0,0,0,0.8).
   Starker Backdrop-Blur und feiner blauer Rand wie im Figma. */
.lvr-r9-card {
  border: 1px solid rgba(53, 174, 244, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(110px);
  -webkit-backdrop-filter: blur(110px);
  padding: 26px 26px 38px;
}
.lvr-r9-card--dark { background: rgba(0, 0, 0, 0.8); }
.lvr-r9-card--wide { margin-top: 16px; }

/* Kartenkopf (dunkle Leiste) */
.lvr-r9-cardhead {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 10px 21px;
  border: 1px solid rgba(255, 255, 255, 0.02);
  border-radius: 8px 0 8px 0;
  background:
    linear-gradient(0deg, rgba(0, 24, 38, 0) 0%, rgba(0, 24, 38, 0.2) 100%),
    linear-gradient(231deg, rgba(0, 0, 0, 0.34) 0%, #000000 100%);
}
.lvr-r9-cardtitle {
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
}

/* Fliesstext */
.lvr-r9-body { padding-top: 29px; }
.lvr-r9-body p {
  padding-inline: 17px;
  font-size: 15px;
  font-weight: 340;
  line-height: 26px;
  letter-spacing: 0.9px;
  color: rgba(246, 248, 250, 0.6);
}
.lvr-r9-body p + p { margin-top: 26px; }

/* Tablet */
@media (max-width: 1023px) {
  .lvr-r9 { padding: 0 0 110px; }
  .lvr-r9-head { margin-bottom: 56px; }
  .lvr-r9-card { padding: 20px 20px 30px; }
  .lvr-r9-body { padding-top: 24px; }
  .lvr-r9-body p { padding-inline: 10px; }
}

/* Mobile: gestapelt, Fliesstext >= 16px */
@media (max-width: 767px) {
  .lvr-r9 { padding: 0 0 80px; }
  .lvr-r9-head { gap: 12px; margin-bottom: 36px; }
  .lvr-r9-title { min-width: 0; flex: 1 1 0; font-size: clamp(24px, 7vw, 30px); line-height: 1.05; }
  .lvr-r9-badge { width: 32px; height: 32px; font-size: 20px; }
  .lvr-r9-grid { grid-template-columns: 1fr; }
  .lvr-r9-card { padding: 16px 16px 26px; border-radius: 18px; }
  .lvr-r9-cardhead { min-height: 52px; padding: 10px 16px; }
  .lvr-r9-body { padding-top: 22px; }
  .lvr-r9-body p { padding-inline: 4px; font-size: 16px; line-height: 1.6; letter-spacing: 0.3px; }
  .lvr-r9-body p + p { margin-top: 20px; }
}


/* Abnahme Runde 2 (bis 13.08.2026): siehe Begruendung in r3-evaluation-
   drawdown/fragment.css, identisches Muster. Override entfernt, seit
   Ergänzung des Scheins (.lvr-r9-glow oben) greifen die Figma-genauen
   Basisregeln wieder direkt (0.02, --dark 0.8). */
.lvr-r9 .lvr-r9-table {
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
}
.lvr-r9 .lvr-r9-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}


/* Pixelrunde Rules (10.08.2026): Kartenfüsse und Sektionsfuss auf das Figma-Mass.
   Der Entwurf gibt einzelnen Karten bewusst unterschiedliche Füsse, damit beide
   Spalten exakt gleich hoch enden (je 2188 px, Band-JSON y 17529 bis 19717).
   Die einheitlichen 27 px liessen die Spalten auseinanderlaufen: linke Karten
   bis 24 px zu hoch, rechte Spalte und Schlusskarte bis 46 px zu tief, Sektion
   2659 statt 2613 (grenzen-rules-gegenprobe.json).
   Kartenhöhe im Render: 108 + 26 × Zeilenslots + padding-bottom. Die Werte unten
   sind daraus gegen die Soll-Höhen des Band-JSON gerechnet und lokal nachgemessen.
   Nur Desktop - Tablet/Mobil behalten die bisherigen Werte (keine Referenz). */
@media (min-width: 1024px) {
  /* linke Spalte (nth-child = Reihenfolge der Karten im Entwurf) */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(1) { padding-bottom: 50px; } /* Pricing and Latency: Soll 288 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(2) { padding-bottom: 28px; } /* Front-Running: Soll 266 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(3) { padding-bottom: 29px; } /* Cross-Account Hedging: Soll 267 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(4) { padding-bottom: 29px; } /* Mirroring: Soll 267 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(5) { padding-bottom: 24px; } /* Third-Party: Soll 262 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(6) { padding-bottom: 22px; } /* Manipulative Strategy: Soll 286 / Ist 291 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(7) { padding-bottom: 26px; } /* Account Sharing: Soll 238 / Ist 239 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(1) > .lvr-r9-card:nth-child(8) { padding-bottom: 42px; } /* Spam: Soll 202 / Ist 187 */
  /* rechte Spalte */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(1) { padding-bottom: 28px; } /* Insider: Soll 240 / Ist 239 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(2) { padding-bottom: 24px; } /* Cross-Account Arbitrage: Soll 262 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(3) { padding-bottom: 24px; } /* Group Trading: Soll 262 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(4) { padding-bottom: 24px; } /* Automated Copying: Soll 262 / Ist 265 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(5) { padding-bottom: 22px; } /* Copy Trading Own: Soll 286 / Ist 291 */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(7) { padding-bottom: 22px; } /* Platform Manipulation: Soll 260 / Ist 265 */
  /* Gambling (nth-child 6) und Regulatory (nth-child 8) bleiben beim Fuss 27:
     Soll 265 / Ist 265 bzw. Soll 239 / Ist 239 nach der Absatzkorrektur unten.
     Explizit festgehalten, damit die Werte nicht vom Live-Override abhaengen. */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(6) { padding-bottom: 27px; }
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(8) { padding-bottom: 27px; }

  /* Regulatory and Exchange Compliance: im Entwurf stehen die beiden Absätze
     ohne Leerzeile untereinander (Band-JSON: kein Leerabsatz), unser p+p-Abstand
     legt eine volle Zeile dazwischen. Soll 239 / Ist 265. */
  .lvr-r9 .lvr-r9-grid > .lvr-r9-col:nth-child(2) > .lvr-r9-card:nth-child(8) .lvr-r9-body p + p { margin-top: 0; }

  /* Schlusskarte Enforcement: Soll 238 / Ist 239 (Override 27). Doppelklasse,
     damit die Regel den Live-Override (.lvr-r9 .lvr-r9-card, 27 px) schlaegt. */
  .lvr-r9 .lvr-r9-card.lvr-r9-card--wide { padding-bottom: 26px; }

  /* Sektionsfuss: Schlusskarte bis Sektionsende Soll 58 (19971 -> 20029),
     Live-Override 59 / Basis 150. Sektion damit 2613 statt 2659. */
  .lvf-page .lvr-r9 { padding-bottom: 58px; }
}


/* Effektrunde Rules (11.08.2026): Grundflaeche und Glows auf das aktuelle
   Soll-Mockup, gemessen ueber die lokale Live-Emulation (Treue 0,1).
   Spezifitaet 0-3-0 gegen die 0-2-0-Overrides in r3-rules.css. Nur Desktop. */
@media (min-width: 1024px) {
  /* 1. Grundflaeche wie r5-r8: Soll in kartenfreien Zonen (0,0,0)..(2,7,11),
     live (5,6,15). Links ausgespart (Kegelkern y=17006 ragt in den
     Sektionsanfang). Kein Auslauf unten: das Soll bleibt bis zur s10-Grenze
     schwarz. Der Auslauf unten übergibt jetzt weich an die gemeinsame
     Seitenleinwand, statt die Abdunklung an der s10-Kante abzuschneiden. */
  .lvf-page .lvr-r9::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg,
      rgba(0, 0, 0, 0.8) 0%,
      rgba(0, 0, 0, 0.8) 84%,
      rgba(0, 0, 0, 0.72) 88%,
      rgba(0, 0, 0, 0.4) 93%,
      rgba(0, 0, 0, 0.12) 97%,
      rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 255px, #000 345px);
  }

  /* 2. Glow-Stapel abgeschwaecht, Formen wie gehabt (r3-rules-26 hatte schon
     einmal halbiert, das Soll liegt noch darunter):
     - links Mitte: live x60 rel 1580 (17,49,73) gegen Soll (2,31,47) -> 0,22
       auf 0,11 und 0,12 auf 0,06;
     - oben links: 0,18 auf 0,10, der Blauton drueckte das Rot des weissen
       Kegelrands (live x60 rel 140 (85,191,241), Soll (111,199,237));
     - unten: live Spaltenluecke rel 2300-2420 (17..18,29..31,43..47) gegen
       Soll (0,7,13) -> 0,4 auf 0,14 und Weiss 0,12 auf 0,04. */
  /* Feinpass 2: der linke Soll-Glow sitzt hoeher als gedacht (Maximum bei
     rel 980-1300: Soll x60 (11,61,92)..(4,37,60), Version 1 dort (2,43,70)..
     (7,18,33)) - Ellipse von 60 auf 48 Prozent gehoben; oben 0,10 -> 0,06,
     weil der Blauton das Rot des Kegelrands drueckte. */
  .lvf-page .lvr-r9 .lvr-r9-glow {
    background:
      radial-gradient(ellipse 46% 30% at -4% 50%, rgba(0, 162, 255, 0.19) 0%, rgba(0, 162, 255, 0) 68%),
      radial-gradient(ellipse 24% 16% at 0% 50%, rgba(167, 223, 255, 0.08) 0%, rgba(167, 223, 255, 0) 70%),
      /* Feinpass 4: flaches Zwischenstueck tiefer und schwaecher, das
         Soll-Profil haelt links ein Plateau (0,30,46) von rel 1460 bis 1940;
         die Hauptellipse dafuer gestreckt (26 auf 30 Prozent, 0,16 auf 0,19),
         Feinpass 3 stand bei 1820 schon 17 drueber */
      radial-gradient(ellipse 42% 26% at -4% 74%, rgba(0, 162, 255, 0.04) 0%, rgba(0, 162, 255, 0) 70%),
      radial-gradient(ellipse 45% 20% at 0% 12%, rgba(0, 162, 255, 0.06) 0%, rgba(0, 162, 255, 0) 70%),
      radial-gradient(ellipse 60% 22% at 25% 102%, rgba(0, 162, 255, 0.1) 0%, rgba(0, 162, 255, 0) 72%),
      radial-gradient(ellipse 40% 16% at 40% 99%, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 72%),
      /* Kartenschein (13.08.2026): die gemessene Basiskarte (Alpha 0,02, eine
         der unteren Karten im Raster) hat nur oben links einen schwachen Rest
         (Messraster bis 4,4), das Mockup verlangt dort 22, fällt aber ab der
         zweiten Zeile auf nahe 0 - dort liegt der bestehende Kantenschein
         bereits über dem Soll und darf nicht weiter verstärkt werden.
         Deshalb absichtlich flach (65px) und nur auf die erste Kartenzeile
         begrenzt. Letztes Layer, malt nur dort, wo die Ebenen oben transparent
         sind. */
      radial-gradient(ellipse 340px 65px at 330px 470px,
        rgba(0, 150, 220, 0.17) 0%, rgba(0, 150, 220, 0.05) 55%, rgba(0, 150, 220, 0) 100%);
  }
}


/* Gleichstand mit r3-rules.css (13.08.2026): siehe Begruendung in
   r7-billing-protector/fragment.css, identisches Muster. Fuer r9 betrifft das
   nur die beiden sektionsuebergreifenden Regeln (Karteninnenraum oben,
   Rahmen, Titelfarbe) - Sektionspolster und Kartenfuss hat diese Sektion
   bereits eigene, hoehere Regeln (Pixelrunde Rules 10.08.2026 oben), dort
   nichts geaendert. Belege (Zeilen in r3-rules.css): 91-97, 111-119, 158-166.
   Spezifitaet echt ueber den 0-1-0/0-2-0/0-2-1-Selektoren der Overrides-Ebene
   (Praefix .lvf-page), kein !important. */

/* Kartenrahmen: Deckkraft 0,35 -> 0,08 (r3-rules.css Zeilen 111-119). */
.lvf-page .lvr-r9 .lvr-r9-card { border-color: rgba(53, 174, 244, 0.08); }

/* Kartentitel: 0,8 -> 0,9 (r3-rules.css Zeilen 158-166). */
.lvf-page .lvr-r9 h3.lvr-r9-cardtitle { color: rgba(255, 255, 255, 0.9); }

@media (min-width: 1024px) {
  /* Karteninnenraum oben: Fragment 29, Soll 22 (r3-rules.css Zeilen 91-97).
     Wichtigster Befund der ganzen Pruefung: die Kartenfuss-Formel dieser
     Sektion (108 + 26 * Zeilenslots + padding-bottom, siehe "Pixelrunde
     Rules" oben) rechnet bereits mit 22 - ohne diese Zeile waechst jede Karte
     nach dem Deploy um 7px und die laengst kalibrierten Fuesse verschieben
     sich mit, ohne dass es an den Fuss-Werten selbst laege. */
  .lvf-page .lvr-r9 .lvr-r9-body { padding-top: 22px; }
}

/* == r9b-cta == */
/* == s10 Final CTA ==
   Basis = Mobile-Design (Frame 440). 768-1023 interpoliert, >=1024 exakt Desktop-Design (Frame 1760).
   Alle Masse aus figma/specs/s10-final-cta-*.txt bzw. dem Band-JSON. */

.lvf-s10 {
  /* Mobil-Einheit: 1px bei 440 Designbreite, darunter proportional kleiner, darueber eingefroren. */
  --lvf-s10-u: min(1px, 0.2272727vw);

  --lvf-s10-r: calc(22 * var(--lvf-s10-u));            /* Kartenradius */
  --lvf-s10-ring: calc(4.903 * var(--lvf-s10-u));      /* Aussenrahmen (Figma: OUTSIDE stroke) */
  --lvf-s10-pad-b: calc(36 * var(--lvf-s10-u));        /* Karte padding-block */
  --lvf-s10-pad-i: calc(26.5 * var(--lvf-s10-u));      /* Karte padding-inline */
  --lvf-s10-gap: calc(31 * var(--lvf-s10-u));          /* Abstand Kopf / Stats / Buttons */
  --lvf-s10-gap-head: calc(18 * var(--lvf-s10-u));     /* Headline -> Sub */
  --lvf-s10-title: calc(37 * var(--lvf-s10-u));
  --lvf-s10-title-lh: calc(40 * var(--lvf-s10-u));
  --lvf-s10-sub: calc(13 * var(--lvf-s10-u));
  --lvf-s10-stat: calc(27 * var(--lvf-s10-u));         /* Stat-Zahl, Icons/Label leiten sich in em ab */
  --lvf-s10-stat-gap: calc(67 * var(--lvf-s10-u));
  --lvf-s10-stat-rowgap: calc(21 * var(--lvf-s10-u));
  --lvf-s10-btn: calc(13 * var(--lvf-s10-u));          /* Button-Schrift, Rest in em */
  /* Zuschlag je Seite fuer das Antippfeld der beiden Knoepfe: genau der Rest,
     der der realen Knopfhoehe (2.765 * --lvf-s10-btn) auf 44 px fehlt, nach
     unten begrenzt auf die bisherigen 4 px. Gerechnet wird auf 44.1 statt 44:
     Chrome legt Elementhoehen auf 1/64 px, ohne den Aufschlag kaeme dabei
     43,99 heraus. Siehe Block am Dateiende. */
  --lvf-s10-tap: max(4px, calc((44.1px - 2.765 * var(--lvf-s10-btn)) / 2));
  --lvf-s10-shadow: 5px 5px 14px rgba(0, 0, 0, 0.25), 19px 17px 26px rgba(0, 0, 0, 0.21), 42px 40px 35px rgba(0, 0, 0, 0.13);

  position: relative;
  padding: calc(32 * var(--lvf-s10-u)) 0 calc(14 * var(--lvf-s10-u));
  background: transparent;
}

.lvf-s10-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.lvf-s10-container { padding-inline: calc(30 * var(--lvf-s10-u)); }

/* ---------- Karte ---------- */
.lvf-s10-card {
  position: relative;
  border-radius: var(--lvf-s10-r);
  background: #000000;                                   /* Rectangle 402 (schwarz) ueber Rectangle 401 rgba(0,0,0,0.1) */
  box-shadow: 4px 14px 14px rgba(0, 0, 0, 0.25);
  padding: var(--lvf-s10-pad-b) var(--lvf-s10-pad-i);
}

/* Aussenrahmen: 4.9px (mobil) bzw. 10px (Desktop) OUTSIDE, Verlauf mit Deckkraft 0.19 */
.lvf-s10-card::after {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--lvf-s10-ring));
  border-radius: calc(var(--lvf-s10-r) + var(--lvf-s10-ring));
  padding: var(--lvf-s10-ring);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.0608) 0%, rgba(255, 255, 255, 0.0095) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* Glow-Ebene: Naeherung der weichgezeichneten Star-Vektoren. Groessen/Zentren
   aus den Figma-Boxen der Star-Vektoren relativ zur Karte umgerechnet. */
.lvf-s10-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  /* Mobil (vermessen am Soll): hellste Zone oben RECHTS (weiss-blau), dazu ein
     breites helles Band am unteren Kartenrand (unter den Buttons), Mitte dunkles
     Marineblau mit Blaustich, linke Flanke dezent. Weich auslaufend, keine Kanten. */
  background:
    radial-gradient(85% 35% at 100% 0%, rgba(90, 195, 250, 0.70) 0%, rgba(25, 145, 220, 0.45) 45%, rgba(0, 162, 255, 0) 80%),
    radial-gradient(140% 50% at 50% 104%, rgba(70, 165, 230, 0.60) 0%, rgba(25, 115, 175, 0.40) 45%, rgba(0, 162, 255, 0) 85%),
    radial-gradient(70% 38% at 0% 102%, rgba(50, 150, 215, 0.55) 0%, rgba(0, 162, 255, 0) 80%),
    radial-gradient(45% 22% at 0% 0%, rgba(25, 100, 160, 0.35) 0%, rgba(0, 162, 255, 0) 75%),
    linear-gradient(180deg, rgba(4, 18, 28, 0.55) 0%, rgba(6, 24, 38, 0.50) 40%, rgba(10, 38, 60, 0.50) 70%, rgba(16, 58, 88, 0.45) 100%);
}

/* ---------- Deko-Pfeile und -Rauten (Group 2147224196), an der Karte geclippt ---------- */
.lvf-s10-deco {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}

/* Alte lange Deko-Pfeile: nur Desktop (ab 768), mobil durch die 3D-Pfeile ersetzt */
.lvf-s10-arrow {
  position: absolute;
  display: none;
  width: calc(120 * var(--lvf-s10-u));
  aspect-ratio: 1 / 2;
  height: auto;
}
.lvf-s10-arrow--l {
  left: calc(-80 * var(--lvf-s10-u));
  top: calc(-140 * var(--lvf-s10-u));
  width: calc(100 * var(--lvf-s10-u));
  transform: rotate(-42deg);
  opacity: 0.9;
}

/* Mobil: blauer 3D-VollPfeil an der oberen linken Kartenecke, zeigt nach unten rechts
   und ragt ueber den Kartenrand hinaus (Soll: ca. 90x60px sichtbar an Sektion x=0-100,
   y=0-60; Figma-Box 200x193, massiv verlaesslich nur der helle Kern) */
.lvf-s10-arrowhead {
  position: absolute;
  width: calc(95 * var(--lvf-s10-u));
  aspect-ratio: 1 / 1;
  height: auto;
  left: calc(-20 * var(--lvf-s10-u));
  top: calc(-20 * var(--lvf-s10-u));
  opacity: 0.95;
  filter: drop-shadow(0 calc(8 * var(--lvf-s10-u)) calc(22 * var(--lvf-s10-u)) rgba(0, 0, 0, 0.25));
  pointer-events: none;
}

/* Mobil: blauer 3D-Vollpfeil am rechten Kartenrand, zeigt nach oben
   (Soll: Sektion y=150-220 am rechten Rand, teilweise von der Karte geclippt) */
.lvf-s10-arrow3d {
  position: absolute;
  width: calc(76 * var(--lvf-s10-u));
  aspect-ratio: 1 / 1;
  height: auto;
  left: calc(320 * var(--lvf-s10-u));
  top: calc(140 * var(--lvf-s10-u));
  opacity: 0.95;
  filter: drop-shadow(0 calc(8 * var(--lvf-s10-u)) calc(22 * var(--lvf-s10-u)) rgba(0, 0, 0, 0.25));
  pointer-events: none;
}

.lvf-s10-arrow--r {
  left: calc(330 * var(--lvf-s10-u));
  top: calc(115 * var(--lvf-s10-u));
  width: calc(115 * var(--lvf-s10-u));
  transform: rotate(-16deg);
  opacity: 0.85;
}

.lvf-s10-diamond {
  position: absolute;
  width: calc(96 * var(--lvf-s10-u));
  aspect-ratio: 1 / 1;
  height: auto;
  display: none;                       /* im Mobile-Design nicht sichtbar */
}
.lvf-s10-diamond--r { transform: scaleX(-1); }

.lvf-s10-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--lvf-s10-gap);
  margin-inline: auto;
}

/* ---------- Kopf ---------- */
.lvf-s10-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--lvf-s10-gap-head);
  width: 100%;
}

.lvf-s10-title {
  font-family: var(--lvf-font-display);
  font-size: var(--lvf-s10-title);
  font-weight: 500;
  line-height: var(--lvf-s10-title-lh);
  letter-spacing: -0.02em;
  text-align: center;
  color: #ffffff;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-box: trim-both cap alphabetic;
}

/* Zweite Headline-Zeile: fett und im Blau-Verlauf (aus dem Soll-Render gemessen) */
.lvf-s10-title-blue {
  font-weight: 700;
  color: #2bb1ff;
}

.lvf-s10-sub {
  font-family: var(--lvf-font-display);
  font-size: var(--lvf-s10-sub);
  font-weight: 425;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
  width: 100%;
}

/* ---------- Stats ---------- */
/* Mobil spaltenweise gefuellt: links 100% + $1M, rechts 10% + Five (wie im Soll) */
.lvf-s10-stats {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  justify-content: center;
  justify-items: start;
  column-gap: var(--lvf-s10-stat-gap);
  row-gap: var(--lvf-s10-stat-rowgap);
}

.lvf-s10-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: var(--lvf-s10-stat);
}

.lvf-s10-stat-top {
  display: flex;
  align-items: center;
  gap: 0.25em;
}

.lvf-s10-ico { display: block; flex: none; }
.lvf-s10-ico--split { width: 0.90em; height: 0.81em; }
.lvf-s10-ico--funding { width: 0.84em; height: 0.75em; }
.lvf-s10-ico--payout,
.lvf-s10-ico--days { width: 0.75em; height: 0.75em; }

.lvf-s10-stat-value {
  font-family: var(--lvf-font-display);
  font-size: 1em;
  font-weight: 555;
  line-height: 1;
  letter-spacing: -0.03em;
  white-space: nowrap;
  color: var(--lvf-blue-light);
  text-box-trim: trim-both;
  /* Gleicher Befund wie im s10-Original auf home (dort am 12.08. behoben,
     hier beim 1:1-Uebernehmen der Sektion verlorengegangen): "$1M" verlor mit
     "cap alphabetic" beide Balken des Dollarzeichens und wurde zu "S1M"
     lesbar, gemessen am lokalen Render bei 1760px. "cap text" gibt der
     Unterkante die Schriftmetrik-Unterlaenge zurueck, die Versalhoehe oben
     bleibt eng. */
  text-box-edge: cap text;
  text-box: trim-both cap text;
}

.lvf-s10-stat-label {
  margin-top: 0.22em;
  font-family: var(--lvf-font-display);
  font-size: 0.36em;
  font-weight: 500;
  line-height: 1.23;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  color: #ffffff;
  text-box-trim: trim-both;
  /* Untere Kante auf text statt alphabetic: sonst schneidet das Trim die
     Unterlaengen von g/y ab (mobil: "Max Fundin", "Min Trading Dav"). */
  text-box-edge: cap text;
  text-box: trim-both cap text;
}

/* Verlaufsschrift nur wo unterstuetzt, sonst bleibt die Volltonfarbe stehen */
@supports (-webkit-background-clip: text) or (background-clip: text) {
  .lvf-s10-title,
  .lvf-s10-stat-label {
    background-image: linear-gradient(141deg, rgba(255, 255, 255, 0.7) 0%, #ffffff 50.5%, rgba(255, 255, 255, 0.7) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  .lvf-s10-stat-value {
    background-image: var(--lvf-grad-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  .lvf-s10-title-blue {
    background-image: linear-gradient(180deg, #4abdff 0%, #0f9bf5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}

/* ---------- Buttons ---------- */
/* Mobil nebeneinander ueber die volle Kartenbreite (wie im Soll), ab 768 natuerliche Breiten */
.lvf-s10-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: var(--lvf-s10-btn);
  gap: 0.47em;
}

/* Spezifitaet 0-2-0: die fremde Regel .elementor a{box-shadow:none} hat 0-1-1
   und wuerde die Lichtsaeume der beiden Schaltflaechen sonst abschalten.
   Die Knoepfe sind <a>-Elemente, deshalb greift sie hier. */
.lvf-page .lvf-s10-btn,
.lvf-page .lvf-s10-btn2 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.765em;
  border-radius: 0.61em;
  font-family: var(--lvf-font-display);
  font-size: 1em;
  line-height: 1.5;
  white-space: nowrap;
  transition: filter 0.18s ease, box-shadow 0.18s ease;
}

/* Vergroessertes Antippfeld: reale Knopfhoehe + 2x --lvf-s10-tap = 44px.
   Der Zuschlag ist nicht fest, weil die Knopfhoehe unter 440px Designbreite
   mitschrumpft; bei 440px und darueber sind es die bisherigen 4 px.
   Rueckfall 4px, falls die Variable im Kontext fehlt, siehe Dateiende. */
.lvf-s10-btn::before,
.lvf-s10-btn2::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--lvf-s10-tap, 4px)) 0;
}

.lvf-page .lvf-s10-btn {
  gap: 0.47em;
  min-width: 0;
  flex: 1 1 auto;
  padding: 0 0.71em 0 0.3em;
  /* Saum-Verlauf statt --lvf-grad-blue plus inset-Schatten, 11.08.2026.
     Figma legt hier einen INNER_SHADOW #5bbce8 im Blendmodus COLOR_DODGE an,
     der aufhellt; der inset-Schatten dunkelte ab. Siehe shell.css. */
  background-image: var(--lvf-grad-blue-btn);
  color: #060606;
  font-weight: 500;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  box-shadow: var(--lvf-s10-shadow);
}

.lvf-s10-btn-ico {
  flex: none;
  display: grid;
  place-items: center;
  width: 2.16em;
  height: 2.16em;
  border-radius: 0.31em;
  background: #060606;
}
.lvf-s10-btn-ico svg { display: block; width: 1.08em; height: 1.08em; }

.lvf-s10-btn-label { display: block; }

/* 0.5px Rahmen des Primaer-Buttons: 90deg transparent -> #00a2ff -> transparent */
.lvf-s10-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 0.5px;
  background: linear-gradient(90deg, rgba(0, 162, 255, 0) 0%, #00a2ff 50%, rgba(0, 162, 255, 0) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.lvf-page .lvf-s10-btn2 {
  min-width: 0;
  flex: 0 1 auto;
  padding-inline: 1em;
  /* Sichtbare Pillen-Fuellung (Befund desktop R3, Sekundaer-Button): SOLL-Fuellung
     RGB(6,18,24), vorher fast unsichtbar auf Schwarz. */
  background: rgba(6, 18, 24, 0.9);
  color: #ffffff;
  font-weight: 400;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  box-shadow:
    inset -2px -5px 15px #52b8f1,
    inset -4px -3px 12px #00a4ff,
    inset -1px -1px 4px #00a4ff,
    inset 7px 6px 10px #000000,
    var(--lvf-s10-shadow);
}

.lvf-page .lvf-s10-btn:hover { filter: brightness(1.07); }
.lvf-page .lvf-s10-btn2:hover { filter: brightness(1.12); }
.lvf-s10-btn:focus-visible,
.lvf-s10-btn2:focus-visible {
  outline: 2px solid var(--lvf-blue-light);
  outline-offset: 3px;
}

/* ---------- Tablet 768-1023: linear interpoliert auf die Desktop-Werte bei 1024 ---------- */
@media (min-width: 768px) {
  .lvf-s10 {
    --lvf-s10-r: calc(5.859vw - 15px);            /* 30 -> 45 */
    --lvf-s10-ring: calc(1.5625vw - 6px);         /* 6 -> 10 */
    --lvf-s10-pad-b: calc(16.797vw - 83px);       /* 46 -> 89 */
    --lvf-s10-pad-i: calc(34.375vw - 230px);      /* 34 -> 122 */
    --lvf-s10-gap: calc(5.078vw - 5px);           /* 34 -> 47 */
    --lvf-s10-gap-head: calc(3.906vw - 6px);      /* 24 -> 34 */
    --lvf-s10-title: calc(10.156vw - 34px);       /* 44 -> 70 */
    --lvf-s10-title-lh: calc(8.594vw - 22.9px);   /* 43.1 -> 65.1 */
    --lvf-s10-sub: calc(2.734vw - 4px);           /* 17 -> 24 */
    --lvf-s10-stat: calc(2.821vw + 8.33px);       /* 30 -> 37.22 */
    --lvf-s10-stat-gap: calc(25.781vw - 168px);   /* 30 -> 96 */
    --lvf-s10-btn: calc(0.641vw + 10.08px);       /* 15 -> 16.64 */
    --lvf-s10-shadow: 6px 6px 18px rgba(0, 0, 0, 0.25), 24px 22px 33px rgba(0, 0, 0, 0.21), 53px 50px 44px rgba(0, 0, 0, 0.13);

    padding: calc(3.906vw + 3px) 0 calc(3.906vw);   /* 33/30 bei 768, 43/40 bei 1024 */
  }

  .lvf-s10-container { padding-inline: 20px; }

  .lvf-s10-card { box-shadow: 7.23px 28.93px 28.93px rgba(0, 0, 0, 0.25); }

  .lvf-s10-brm { display: none; }

  /* 4 Stats nebeneinander wie im Desktop-Design */
  .lvf-s10-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: var(--lvf-s10-stat-gap);
  }

  .lvf-s10-btn::before,
  .lvf-s10-btn2::before { content: none; }

  .lvf-s10-actions { width: auto; }
  .lvf-page .lvf-s10-btn { flex: none; min-width: 14.2em; }
  .lvf-page .lvf-s10-btn2 { flex: none; min-width: 10.15em; }

  .lvf-page .lvf-s10-btn { -webkit-backdrop-filter: blur(8.32px); backdrop-filter: blur(8.32px); box-shadow: var(--lvf-s10-shadow); }
  .lvf-page .lvf-s10-btn2 {
    -webkit-backdrop-filter: blur(8.32px);
    backdrop-filter: blur(8.32px);
    box-shadow:
      inset -2px -6px 19.4px #52b8f1,
      inset -5px -4px 15.7px #00a4ff,
      inset -0.78px -1.56px 4.53px #00a4ff,
      inset 9px 7px 12.1px #000000,
      var(--lvf-s10-shadow);
  }

  /* Desktop (vermessen am Soll): hellste Zone oben RECHTS (weiss-blau), rechte Flanke
     und beide unteren Ecken sattblau, linke Flanke mittelblau, Mitte/oben dunkles
     Marineblau. Zwei grosse weiche Radial-Glows (Zentren jenseits der Raender) plus
     dunkle Basisrampe; alles weich auslaufend, keine harten Kanten. */
  .lvf-s10-glow {
    background:
      radial-gradient(90% 120% at 112% 20%, rgba(90, 190, 255, 0.60) 0%, rgba(0, 165, 250, 0.65) 38%, rgba(0, 80, 122, 0.32) 62%, rgba(0, 162, 255, 0) 82%),
      radial-gradient(85% 115% at -12% 85%, rgba(100, 195, 255, 0.55) 0%, rgba(0, 160, 245, 0.60) 38%, rgba(0, 80, 122, 0.32) 60%, rgba(0, 162, 255, 0) 80%),
      radial-gradient(85% 55% at 50% 108%, rgba(45, 150, 215, 0.60) 0%, rgba(15, 90, 140, 0.30) 50%, rgba(0, 162, 255, 0) 82%),
      linear-gradient(180deg, rgba(4, 20, 32, 0.60) 0%, rgba(7, 32, 52, 0.55) 40%, rgba(10, 44, 70, 0.55) 72%, rgba(14, 55, 85, 0.55) 100%);
  }

  /* Deko: Pfeile unten links/rechts, Rauten daneben, beide an der Unterkante geclippt */
  .lvf-s10-arrowhead,
  .lvf-s10-arrow3d { display: none; }

  .lvf-s10-arrow {
    display: block;
    width: 12%;
    opacity: 0.85;
    top: auto;
  }
  .lvf-s10-arrow--l { left: 1.5%; bottom: -15%; transform: rotate(-12deg); }
  .lvf-s10-arrow--r { left: auto; right: 1.5%; bottom: -15%; transform: rotate(12deg); }

  .lvf-s10-diamond { display: block; width: 9.7%; }
  .lvf-s10-diamond--l { left: 16.2%; bottom: -6.4%; }
  .lvf-s10-diamond--r { right: 16.2%; bottom: -6.4%; }
}

/* ---------- Desktop >=1024: exakte Werte aus dem Desktop-Band ---------- */
@media (min-width: 1024px) {
  .lvf-s10 {
    --lvf-s10-r: 45px;
    --lvf-s10-ring: 10px;
    --lvf-s10-pad-b: 89px;
    --lvf-s10-pad-i: 122px;
    --lvf-s10-gap: 47px;
    --lvf-s10-gap-head: 34px;
    --lvf-s10-title: 70px;
    --lvf-s10-title-lh: 65.1px;
    --lvf-s10-sub: 24px;
    --lvf-s10-stat: 37.22px;
    --lvf-s10-stat-gap: 96px;
    --lvf-s10-btn: 16.64px;

    /* Messpass 10.08.2026, gleiche Korrektur wie in build/fragments/s10:
       Sektion soll 650px hoch sein, war 628px. Karte stimmt (Soll 547,
       Ist 545), zu klein waren die Aussenabstaende. Die 50px unten ergeben
       mit den 48px oben in s11 den Soll-Abstand von 98px zwischen den Karten.
       Beide Dateien muessen gleich bleiben, es ist dieselbe Sektion .lvf-s10. */
    padding: 53px 0 50px;
  }

  .lvf-s10-content { width: 995px; max-width: 100%; }

  /* Deko exakt nach Desktop-Band: Vektorboxen (170/1185, 10042) rel. Karte (260, 9733) */
  .lvf-s10-arrow { width: 150px; }
  .lvf-s10-arrow--l { left: 18px; bottom: -80px; }
  .lvf-s10-arrow--r { right: 18px; bottom: -80px; }
  .lvf-s10-diamond { width: 120px; }
  .lvf-s10-diamond--l { left: 200px; bottom: -48px; }
  .lvf-s10-diamond--r { right: 200px; bottom: -48px; }

  .lvf-page .lvf-s10-btn,
  .lvf-page .lvf-s10-btn2 { height: 46px; border-radius: 10px; line-height: 24.97px; }
  .lvf-page .lvf-s10-btn { min-width: 236px; padding: 0 12px 0 5px; gap: 8px; }
  .lvf-s10-btn-ico { width: 36px; height: 36px; border-radius: 6px; }
  .lvf-s10-btn-ico svg { width: 18px; height: 18px; }
  .lvf-page .lvf-s10-btn2 { min-width: 168px; padding-inline: 16.64px; }
}


/* ============ Unterzeile einzeilig erst ab 1280px, 13.08.2026 =============
   Befund: "white-space:nowrap" stand vorher schon ab 1024px (1:1 aus
   build/fragments/s10 uebernommen, dort derselbe Fehler). Die Karte ist aber
   erst ab 1280px auf ihre volle Innenbreite gewachsen (.lvf-container deckelt
   dort auf 1240px Kartenbreite, darunter waechst die Karte nur mit dem
   Fenster: Breite - 40px Aussenabstand - 2x122px Innenabstand). Der Satz
   "Trade with clear rules, no daily loss limit, and the potential to request
   payouts every 14 days." ist bei 24px Schrift genau 995px breit (das Soll
   aus der Figma-Box) und passt zwischen 1024 und rund 1160px weder in die
   Karte noch ins Browserfenster.
   Gemessen (echte Textausdehnung per Range, nicht die Elementbox, die bei
   nowrap nicht mitwaechst):
     Breite   Text ueber Kartenrand   Text ueber Fensterrand
     1024px          +133px                  +113px   (faellt aus dem Fenster)
     1100px           +57px                   +37px
     1150px            +7px                   -13px
     1200px           -43px                   -63px
     1280px          -122px                  -142px   (wie zuvor, unveraendert)
   Ab 1280px unveraendert -122/-142, also keine Aenderung am oberen Ende.
   Ohne nowrap zwischen 1024 und 1280px bricht die Zeile stattdessen normal
   um (Standardverhalten, keine weitere Regel noetig), bei 1000px und 1023px
   bereits nachgewiesen unauffaellig (652px bzw. 725px Textbreite, beides
   klar innerhalb der Karte). */
@media (min-width: 1280px) {
  .lvf-s10-sub { white-space: nowrap; }
}


/* Desktop-Korrektur (Soll gemessen an desktop-voll.png): auf halber Panelhoehe
   liegt ein breites helles Blau-Band (Mitte 67,187,255), das im Kimi-Umbau
   verloren ging. Als eigene Schicht, damit der restliche Glow-Stack bleibt.

   Werte am 13.08.2026 durch die Override-Fassung ersetzt (r3-rules.css
   Zeile 570-575, tabu, nur lesen), siehe Begruendung im 1024px-Block direkt
   darunter - dieselbe Messung entscheidet beide Bloecke, weil beide von hier
   ab (>=768px) laden. Am gerenderten Bild aendert sich dadurch nichts (der
   Override lieferte diese Werte bereits, siehe dortige Spezifitaet 0-3-2
   gegen unsere bisherige 0-1-1), nur die Deploy-Unabhaengigkeit ist neu. */
@media (min-width: 768px) {
  .lvf-s10-glow::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      radial-gradient(72% 24% at 50% 92%, rgba(70, 185, 255, 0.62) 0%, rgba(40, 150, 220, 0.26) 55%, rgba(0, 162, 255, 0) 80%),
      radial-gradient(100% 26% at 50% 100%, rgba(45, 150, 215, 0.45) 0%, rgba(0, 162, 255, 0) 80%);
  }
}

/* Entscheidung Rundgang 13.08.2026: Basis-Glow ab 1024px. r3-rules.css
   Zeile 577-586 (tabu, nur lesen) setzt hier eine eigene, 5-lagige Fassung
   mit 0-3-1 und gewinnt damit gegen unsere bisherige, ausfuehrlich am
   Sollbild kalibrierte Fassung oben (nur 0-1-0, ab 1024px komplett tot -
   dort lebte bisher nur der Basis-Layer aus dem 768px-Block, siehe
   AUFTRAG-RUNDGANG.md).

   Gemessen statt geglaubt: Kartencrop (.lvf-s10-card, 1760px) gegen
   mockups/rules page/...jpg an zwei Randstreifen (x=1,5% und x=98,5% der
   Kartenbreite, y-Anteil 6-55%, oberhalb der Pfeil-Deko), RMS je Kanal
   ueber 12 Stuetzpunkten pro Seite:
     Randstreifen links:   eigene Fassung 40,9   Override-Fassung 43,1
     Randstreifen rechts:  eigene Fassung 65,2   Override-Fassung 39,1
   Der rechte Rand ist im Mockup sichtbar die hellste Zone der Karte
   (bis rgb(133,205,247)); unsere eigene Fassung blieb dort durchgehend bei
   rgb(12-34,116-122,165-179) haengen - genau das Gegenteil der eigenen
   Kommentarabsicht weiter oben in dieser Datei ("hellste Zone oben
   RECHTS"). Der Override trifft diese Asymmetrie deutlich besser (bis
   rgb(75,169,223)). Links ist der Unterschied klein und uneindeutig
   (40,9 gegen 43,1), rechts entscheidet klar zugunsten des Override.
   Deshalb hier uebernommen statt hochgezogen. */
@media (min-width: 1024px) {
  .lvf-s10-glow {
    background:
      radial-gradient(70% 95% at 108% 6%, rgba(150, 215, 255, 0.78) 0%, rgba(0, 165, 250, 0.62) 40%, rgba(0, 80, 122, 0.22) 64%, rgba(0, 162, 255, 0) 84%),
      radial-gradient(72% 100% at -10% 96%, rgba(160, 220, 255, 0.75) 0%, rgba(0, 160, 245, 0.6) 38%, rgba(0, 80, 122, 0.22) 62%, rgba(0, 162, 255, 0) 82%),
      radial-gradient(60% 70% at -8% 2%, rgba(60, 180, 255, 0.5) 0%, rgba(0, 130, 200, 0.25) 50%, rgba(0, 162, 255, 0) 80%),
      radial-gradient(85% 50% at 50% 112%, rgba(45, 150, 215, 0.55) 0%, rgba(15, 90, 140, 0.26) 50%, rgba(0, 162, 255, 0) 82%),
      linear-gradient(180deg, rgba(4, 20, 32, 0.55) 0%, rgba(2, 12, 20, 0.75) 45%, rgba(2, 12, 20, 0.55) 100%);
  }
}

/* Seitlicher Glow um die Karte (Befund desktop R3): im SOLL steht die Karte in einem
   weichen blauen Umfeld bis zum Bildrand (Randstreifen x0-80 SOLL RGB(3,49,78), IST
   fast schwarz). Eigene Ebene hinter der Karte, weich auslaufend, keine Kanten. */
@media (min-width: 768px) {
  .lvf-s10::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(34% 90% at 0% 50%, rgba(4, 95, 150, 0.55) 0%, rgba(2, 60, 100, 0.22) 55%, rgba(0, 40, 70, 0) 100%),
      radial-gradient(34% 90% at 100% 50%, rgba(4, 95, 150, 0.55) 0%, rgba(2, 60, 100, 0.22) 55%, rgba(0, 40, 70, 0) 100%);
  }
}


/* Entscheidung Rundgang 13.08.2026, ersetzt die fruehere "Abnahme Runde 3":
   r3-rules.css Zeile 561-564 (tabu, nur lesen) zitiert unseren Wert
   rgba(20,66,92,0.85) ausdruecklich als zu hell und setzt stattdessen
   rgba(6,18,24,0.9), mit Soll-Fuellung rgb(1,24,36) begruendet. Das ist eine
   echte inhaltliche Uneinigkeit zwischen zwei Bearbeitern, deshalb hier am
   Mockup nachgemessen statt dem Kommentar geglaubt.

   Direkt aus mockups/rules page/Lvlup Futures - Trading Rules Page (1).jpg
   (2673x32768, Faktor 1,51875/1,51718 gegen 1760x21598) am Figma-Knopf
   "View the Rules" (seitenglobale Box 919,20485,168,46 aus
   figma/specs-rules/r10-cta-footer.txt Zeile 328) gemessen, fuenf
   textfreie Punkte:
     links   rgb(1,7,10)     rechts  rgb(2,16,23)
     oben    rgb(2,34,53)    unten   rgb(2,28,43)
     zentrum rgb(2,14,21)
   Das trifft rgb(1,24,36) aus dem Override-Kommentar nahezu exakt und liegt
   weit unter unserem eigenen rgba(20,66,92,0.85) (das ueber dem schwarzen
   Kartengrund rechnerisch rgb(17,56,78) ergeben wuerde - mehr als doppelt so
   hell wie das Mockup an jedem gemessenen Punkt). Der Override hat recht,
   unser Wert war tatsaechlich zu hell. Direkt uebernommen, damit der Knopf
   auch nach dem Deploy (ohne die Overrides-Ebene) den richtigen Ton traegt. */
.lvf-s10 a.lvf-s10-btn2 {
  background: rgba(6, 18, 24, 0.9);
}
.lvf-s10::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -140px;
  height: 180px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 4, 6, 0) 0%, rgba(0, 4, 6, 0.85) 60%, rgba(0, 4, 6, 0) 100%);
}

/* ============ Randfahne auf rules, 11.08.2026 ==============================
   Gegenstueck zur "Durchlaufenden Randfahne" in build/fragments/s10. Die
   Marken von dort sind NICHT uebertragbar: auf home traegt die Sektion den
   Schein selbst ueber schwarzem Grund, auf rules kommt er aus dem Plugin
   (R3-rules-22, `body.page-id-8048 .lvf-page::before` mit 3000 px breiten
   Ellipsen). Dieses Feld liegt schon an und ist waagerecht viel zu breit:
   gemessen 51 px unter der Sektionsoberkante, Blaukanal

     x            0     40     80    120    160    200    240
     Soll       121     88     62     39     24     16     12
     Ist        102    102    102    102    102    101    101

   Ein zusaetzlicher heller Verlauf wuerde x 40..240 also nur noch heller
   machen. Deshalb hier zwei getrennte Aufgaben:

   1. Der Schleier oben bekommt die waagerechte Maske. Ohne sie loescht er
      genau die aeussersten 40 px, wo der Entwurf am hellsten ist. Gemessen im
      Band y 19892..20072 (Mittel je x-Band, Soll gegen Ist):
        x   0.. 20   Soll (2,71,111)  vorher (0,38,59)  28,9  ->  nachher 5,9
        x  20.. 40   Soll (2,61, 95)  vorher (0,38,59)  20,5  ->  nachher 3,3
        x  40.. 80   Soll (2,47, 73)  vorher (0,39,59)  13,4  ->  nachher 7,4
        x  80..160   Soll (2,25, 40)  vorher (0,39,60)  15,1  ->  nachher 15,0
      Kein Band wird schlechter, Mittel ueber alle Baender 20,51 -> 16,25.

   2. Die Fahne selbst als eigene Ebene, nur die aeussersten 100 px. Ihre
      Deckkraft ist aus dem Soll zurueckgerechnet: a = (Soll - Ist) / (255 -
      Ist), gemessen bei x 0..6 gegen den Stand ohne diese Ebene. Sie faengt
      60 px ueber der Sektion an und laeuft dort von 0 hoch, sonst stuende an
      der Grenze zu r9 eine Kante von 18 Blaustufen (gemessen 100 gegen 118).
      Die letzten 48 px laufen wie in s10 auf den Wert herunter, den s11 an
      seiner Oberkante liefert (Blau 98 = 0,123); ohne das entstuende dort
      ein Sprung von 97 Stufen.
      Senkrechtes Profil x 0..6 ueber die ganze Sektion: 21,40 -> 5,71.
      Linkes Feld x 0..40: 16,35 -> 10,03; x 40..120: 23,96 -> 24,06;
      x 120..240 unveraendert 46,8.

   OFFEN und nicht von hier aus loesbar: ab x 40 ist das Seitenfeld auf beiden
   Raendern zu breit (rechts x 1460..1600 Soll (3,32,50) gegen Ist (12,92,137)).
   Das sitzt in R3-rules-22 im Plugin, und `.lvf-page::after` liegt dort ueber
   den Sektionen: ein Eingriff aus dem Fragment kommt rechts gar nicht an.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvf-s10::before {
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 18px, rgba(0, 0, 0, 0.20) 36px, rgba(0, 0, 0, 0.70) 70px, rgba(0, 0, 0, 0.95) 110px, rgba(0, 0, 0, 1) 150px, rgba(0, 0, 0, 1) calc(100% - 150px), rgba(0, 0, 0, 0.95) calc(100% - 110px), rgba(0, 0, 0, 0.70) calc(100% - 70px), rgba(0, 0, 0, 0.20) calc(100% - 36px), rgba(0, 0, 0, 0) calc(100% - 18px), rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 18px, rgba(0, 0, 0, 0.20) 36px, rgba(0, 0, 0, 0.70) 70px, rgba(0, 0, 0, 0.95) 110px, rgba(0, 0, 0, 1) 150px, rgba(0, 0, 0, 1) calc(100% - 150px), rgba(0, 0, 0, 0.95) calc(100% - 110px), rgba(0, 0, 0, 0.70) calc(100% - 70px), rgba(0, 0, 0, 0.20) calc(100% - 36px), rgba(0, 0, 0, 0) calc(100% - 18px), rgba(0, 0, 0, 0) 100%);
  }

  /* Die Ebene ist ein ::after und liegt damit UEBER der Karte, anders als der
     Schein in s10, der als ::before dahinter sitzt. Deshalb darf sie nur so
     breit sein wie der Rand neben der Karte: `.lvf-container` ist hoechstens
     1280 px breit, abzueglich 2x20 px Innenabstand bleibt die Karte 1240 px.
     Unter 1280 px Fensterbreite steht die Karte am Rand, die Rechnung wird
     null und die Ebene verschwindet, statt die Kartenecke blau einzufaerben.
     Bei 1760 px sind es die vollen 260 px, die Maske endet ohnehin bei 100. */
  .lvf-s10::after {
    content: "";
    position: absolute;
    left: 0;
    width: max(0px, calc((100% - 1240px) / 2));
    top: -60px;
    bottom: 0;
    pointer-events: none;
    background-image: linear-gradient(180deg,
      rgba(3, 163, 255, 0.000) 0px,
      rgba(3, 163, 255, 0.126) 60px,
      rgba(3, 163, 255, 0.126) 100px,
      rgba(3, 163, 255, 0.131) 140px,
      rgba(3, 163, 255, 0.140) 180px,
      rgba(3, 163, 255, 0.130) 220px,
      rgba(3, 163, 255, 0.130) 260px,
      rgba(3, 163, 255, 0.120) 300px,
      rgba(3, 163, 255, 0.115) 340px,
      rgba(3, 163, 255, 0.122) 380px,
      rgba(3, 163, 255, 0.122) 420px,
      rgba(3, 163, 255, 0.144) 460px,
      rgba(3, 163, 255, 0.235) 500px,
      rgba(3, 163, 255, 0.30) 540px,
      rgba(3, 163, 255, 0.28) 580px,
      rgba(3, 163, 255, 0.18) 620px,
      rgba(3, 163, 255, 0.07) 660px,
      rgba(3, 163, 255, 0.000) 708px);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 0px, rgba(0, 0, 0, 0.55) 20px, rgba(0, 0, 0, 0.25) 40px, rgba(0, 0, 0, 0.06) 70px, rgba(0, 0, 0, 0) 100px);
            mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 0px, rgba(0, 0, 0, 0.55) 20px, rgba(0, 0, 0, 0.25) 40px, rgba(0, 0, 0, 0.06) 70px, rgba(0, 0, 0, 0) 100px);
  }
}

/* ============ Knopf-Effekte Desktop auf rules, 11.08.2026 ==================
   Gegenstueck zum gleichnamigen Block in build/fragments/s10, aber nur zur
   HAELFTE uebernommen. Messweise: Spaltenmedian ueber die volle Knopfhoehe,
   zehn Bloecke, dazu die mittlere Abweichung ueber die ganze Knopfflaeche.

   NICHT uebernommen: die Fuellebenen des Primaerknopfs. Auf rules liegt dort
   schon --lvf-grad-blue-btn an und trifft den Entwurf besser als der
   home-Stapel aus Glanz plus --lvf-grad-blue:
     Spaltenmedian    Bestand 3,15   mit dem home-Stapel 5,38
     Zeilenprofil     Bestand 2,70   mit dem home-Stapel 5,70
   Beide Fassungen sind gegen ihr eigenes Mockup gemessen, hier gewinnt die
   vorhandene.

   UEBERNOMMEN: der Sekundaerknopf. Der Innenschein (15,7 und 19,4 px Radius)
   leuchtet von unten bis an die Oberkante durch, dort gemessen Blau 174 statt
   24 im Entwurf. Wie in s10 sitzt der Saum jetzt im Verlauf. Zwei Zutaten
   kommen dazu, beide am rules-Mockup gemessen:

   1. Rechte Flanke. Der Entwurf hat dort einen Saum, den der reine
      Senkrechtverlauf nicht erzeugt (Block 10 Soll (11,95,140), mit dem
      home-Verlauf allein (6,21,29), Abweichung 63,2).
   2. Senkrechtes Profil nachgezogen. Der rules-Knopf ist ueber die ganze
      Hoehe heller als der auf home; mit den home-Marken blieb die untere
      Haelfte bis zu 69 Blaustufen zu dunkel.

   Ergebnis, ganze Knopfflaeche x 918..1086:
     gesamt 27,87 -> 16,28
     textfreier Rand links  32,49 -> 5,83
     textfreier Rand rechts 20,89 -> 11,85
     Zeilenprofil x 936..950 (textfrei) 13,07 -> 4,95

   Spezifitaet 0-4-1 wie in s10: r3-rules.css setzt
   `body.page-id-8048 .lvf-s10 a.lvf-s10-btn2` (0-3-2). Mit drei Klassen
   verliert die Regel und der Saum verschwindet ganz.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvf-page .lvf-s10 a.lvf-s10-btn2.lvf-s10-btn2 {
    background:
      linear-gradient(90deg,
        rgba(25, 175, 255, 0) calc(100% - 34px),
        rgba(25, 175, 255, 0.05) calc(100% - 26px),
        rgba(25, 175, 255, 0.124) calc(100% - 20px),
        rgba(25, 175, 255, 0.296) calc(100% - 15px),
        rgba(25, 175, 255, 0.535) calc(100% - 10px),
        rgba(25, 175, 255, 0.765) calc(100% - 5px),
        rgba(25, 175, 255, 0.85) 100%),
      linear-gradient(180deg,
        rgba(25, 175, 255, 0.055) 0%,
        rgba(25, 175, 255, 0.075) 11%,
        rgba(25, 175, 255, 0.070) 22%,
        rgba(25, 175, 255, 0.053) 33%,
        rgba(25, 175, 255, 0.053) 46%,
        rgba(25, 175, 255, 0.071) 52%,
        rgba(25, 175, 255, 0.129) 59%,
        rgba(25, 175, 255, 0.200) 65%,
        rgba(25, 175, 255, 0.340) 72%,
        rgba(25, 175, 255, 0.490) 78%,
        rgba(25, 175, 255, 0.680) 85%,
        rgba(25, 175, 255, 0.850) 91%,
        rgba(40, 185, 255, 0.900) 100%),
      linear-gradient(rgba(6, 18, 24, 0.9), rgba(6, 18, 24, 0.9));
  }

  /* Statt der vier Innenscheine nur noch der schwarze von oben links, wie in
     s10. Die Scheine hoben die Oberkante auf Blau 174, Soll sind 24. */
  .lvf-page .lvf-s10-btn2 {
    box-shadow:
      inset 9px 7px 14px rgba(0, 0, 0, 0.85),
      var(--lvf-s10-shadow);
  }
}


/* ============ Naht r9/s10 bei y20032: Uebergabe der Grundflaeche ==========
   Befund 12.08.2026. 20 Spaltenbloecke, Median ueber je 8 Zeilen.

     Sprung Ist vorher    Mittel 1,1   groesster Block 6,7 (Block 4, x 264..352)
     Sprung Ist nachher   Mittel 0,4   groesster Block 2,0
     Sprung Soll          Mittel 0,1   groesster Block 0,7

   Ursache belegt durch Abschalten der Ebene im Probelauf: mit
   .lvf-page .lvr-r9::before steht bei y20028 (0,9,14) und bei y20032
   (0,16,24); ohne sie laeuft dieselbe Stelle glatt durch
   ((0,15,23) -> (0,16,24)). Die 80-Prozent-Grundflaeche von r9 endet also
   hart an der Sektionskante. Ihr Kommentar in r9-prohibited nennt als Grund,
   s10 lege dort seine eigene dunkle Blende darueber - die steht an der Naht
   aber nur bei Deckkraft 0,47 und uebernimmt damit nur die Haelfte.

   Nicht die r9-Ebene wird ausgeblendet, sondern die s10-Blende uebernimmt:
   der Entwurf ist an dieser Stelle auf BEIDEN Seiten dunkel (Block 4 Soll
   (1,4,7) ueber und (1,4,5) unter der Naht), live ist es ueber der Naht
   doppelt und unter der Naht vierfach zu hell. Ein Ausblenden von r9 haette
   die obere Seite an die zu helle untere angeglichen, also die falsche
   Richtung.

   Die Blende behaelt Anstieg und waagerechte Maske aus dem Randfahnen-Block
   (dort ist sie an x 0..40 gemessen). Neu sind nur: Plateau bis zur Naht
   statt Abfall ab y20000, und ein laengerer Auslauf bis y20192 statt y20072.
   Unter y20085 deckt die CTA-Karte die Ebene ohnehin ab, sichtbar bleibt sie
   nur in den beiden Seitenrinnen.

   Gegenprobe, dass die Randfahne dabei nichts verliert. Ihre eigenen
   Kennzahlen ueber die ganze Sektion, vorher gegen nachher:
     x   0..  6    6,05  ->   6,05
     x   0.. 40   10,28  ->  10,17
     x  40..120   23,75  ->  21,12
     x 120..240   47,66  ->  42,74
   Band y20034..20082 ueber alle Bloecke 19,56 -> 16,41, Band darueber
   (y19950..20030) 10,42 -> 10,35. Seitenhoehe unveraendert 21598 px.
   ========================================================================= */
@media (min-width: 1024px) {
  .lvf-page .lvf-s10::before {
    height: 300px;
    background: linear-gradient(180deg,
      rgba(0, 4, 6, 0) 0px,
      rgba(0, 4, 6, 0.85) 108px,
      rgba(0, 4, 6, 0.85) 140px,
      rgba(0, 4, 6, 0) 300px);
  }
}


/* ============ Trefferflaeche CTA-Knoepfe 768-1023px, 12.08.2026 ============
   Das "Vergroesserte Antippfeld" (::before, weiter oben in dieser Datei) wird
   ab 768px mit content:none abgeschaltet, in der Annahme, die reale Knopfhoehe
   reiche allein. Sie waechst dort aber nur mit dem em-Wert --lvf-s10-btn
   linear bis zur festen 46px bei 1024px hoch, erreicht 44px real erst ab etwa
   910px.
   Gemessen (werkzeuge, treffer-messen.js), Trefferhoehe beider Knoepfe:
     768px   41,5 -> 49,5 px
     1023px  46   -> 54   px (war schon >=44, Overlay kommt oben drauf,
                                bleibt unsichtbar)
   Ab 1024px bleibt es wie zuvor deaktiviert, dieser Block greift dort nicht.
   Selektor wie am Ursprungsort, keine hoehere Spezifitaet noetig: das
   content:none steht in @media (min-width:768px) weiter oben in derselben
   Datei, dieser Block hier kommt spaeter und gewinnt bei gleicher
   Spezifitaet ueber die Position in der Kaskade.

   NACHTRAG 12.08.2026, zweiter Durchgang: unterhalb von 440px Designbreite
   reichten die festen 2x4px nicht. --lvf-s10-u = min(1px, 0.2272727vw)
   schrumpft dort mit der Fensterbreite, und mit ihm die Knopfhoehe
   (2.765 * --lvf-s10-btn). Bei 390px waren das 31,9px Elementhoehe, mit dem
   Overlay 39,9px statt 44. Der Zuschlag steht deshalb jetzt in
   --lvf-s10-tap und ist der exakt fehlende Rest auf 44px, nach unten auf die
   bisherigen 4px begrenzt. Das Sichtbare bleibt unangetastet: das Overlay ist
   durchsichtig, Schriftgroesse und Knopfhoehe aendern sich nicht, sonst
   braeche der massstabsgetreue Nachbau des 440er-Entwurfs.
   Gemessen (werkzeuge/treffer-messen.js), Trefferhoehe beider Knoepfe,
   Kastenrechnung Elementbox + Overlay, vorher -> nachher:
      320px   34,14 -> 44,10     440px   43,94 -> 44,09
      360px   37,41 -> 44,10     767px   43,94 -> 44,09
      390px   39,86 -> 44,10     768px   49,47 -> 49,47 (unveraendert)
      414px   41,81 -> 44,09    1023px   54,00 -> 54,00 (unveraendert)
   Die Abtastung mit elementFromPoint liegt rund 1px darueber, weil Chrome die
   Trefferflaeche auf ganze CSS-Pixel aufrundet, nicht auf Geraetepixel:
   gemessen bei 390px ergibt die Abtastung 45,05 bei deviceScaleFactor 1, 2
   und 3 gleichermassen. Massgeblich bleibt die Rechnung.
   Ab 1024px unveraendert 46px ohne Overlay.

   Der Rueckfallwert 4px in var() ist Absicht: ohne ihn waere die ganze
   inset-Deklaration ungueltig, sobald --lvf-s10-tap in einem Kontext fehlt
   (z.B. wenn der Knopf einmal ausserhalb von .lvf-s10 landet). inset fiele
   dann auf auto zurueck, das Overlay auf 0px, und die Trefferflaeche waere
   kleiner als vor dieser Aenderung (bei 320px nur noch die blanke Box mit
   26,14px). Mit dem Rueckfall bleibt es im schlechtesten Fall beim alten
   Stand. */
@media (max-width: 1023px) {
  .lvf-s10-btn::before,
  .lvf-s10-btn2::before {
    content: "";
    position: absolute;
    inset: calc(-1 * var(--lvf-s10-tap, 4px)) 0;
  }
}


/* ====== Seitenrinnen der CTA-Sektion: der graue Kasten um die Karte =======
   Befund 12.08.2026. Gemessen bei 1760 px gegen
   referenz-neu/soll/rules-aus-schnipseln.png, Median je Streifen über die
   volle Sektionshöhe.

   IST-ZUSTAND: neben der Karte steht links wie rechts ein flaches, helles
   Blau über die ganze Rinne, statt eines Scheins, der zum Bildrand hin
   abfällt. Das ist der "graue Kasten", der die Karte umgibt:

     x            Ist            Soll
     0.. 20   ( 9, 96,143)   ( 2, 92,142)   Rand stimmt
     60..120  (10, 80,118)   ( 3, 51, 80)
     200..260 (13, 79,116)   ( 2, 16, 23)   innen 5x zu hell
     1500..1560 (52,124,171) ( 7, 33, 49)
     1720..1760 (54,125,172) (12,120,179)   Rand stimmt, aber Rot 54 statt 12

   URSACHE, nicht in dieser Datei: R3-rules-28 in lvlup-fixes/r3-rules.css
   maskiert die Seitenebenen `body.page-id-8048 .lvf-page::before/::after` mit
   `#000 0 -> #000 255px -> 0 345px`. Die Ellipse dahinter ist 3000 px breit
   und fällt innerhalb von 255 px praktisch nicht ab, das Plateau der Maske
   übernimmt sie also in voller Stärke über die ganze Rinne.

   WARUM NICHT DORT REPARIERT: die Maske gilt für die ganze Seite, und oben
   ist das Plateau richtig. Gegenprobe mit steilerer Maske, gekachelt über
   alle 21598 px gemessen: s10 wird besser (34,44 -> 30,80), die Seite
   insgesamt aber schlechter (14,41 -> 16,85), am stärksten das Band
   y4000..6000 (16,13 -> 29,45) und y10000..12000 (14,05 -> 24,23). Ein
   waagerechter Verlauf kann nicht oben Plateau und unten Abfall sein.

   DAHER hier eine örtliche Gegenebene, die nur in dieser Sektion liegt.
   Träger ist .lvf-s10-container, dessen ::before/::after frei waren; die
   beiden Pseudoelemente der Sektion sind mit Naht-Blende und Randfahne
   belegt. z-index 1 ist nötig, weil .lvf-page::after mit z-index 0 über den
   Sektionen liegt - ohne ihn kommt die Ebene rechts gar nicht an.

   MULTIPLIKATIV statt schwarz-transparent: nach einer ersten Fassung mit
   schwarzem Verlauf saßen Grün und Blau schon richtig, Rot stand rechts
   noch 11 bis 39 Stufen zu hoch. Schwarz senkt alle drei Kanäle gleich,
   `mix-blend-mode: multiply` dämpft jeden einzeln (Ergebnis = Grund mal
   Farbe/255). Die Farbmarken sind 255 * Soll/Ist je Band.
     nur schwarz      Rinne li 11,41   Rinne re 22,30   Sektion 20,29
     multiplikativ    Rinne li  8,20   Rinne re 13,35   Sektion 18,50

   ERGEBNIS bei 1760, Sektion gegen ihr eigenes Mockup:
     ganze Sektion  27,42 -> 18,50      Rinne links  30,32 -> 8,20
     Rinne rechts   51,64 -> 13,35      Karte        21,73 -> 21,73
   Naht r9/s10 unverändert 0,40 (Soll 0,12), Naht s10/s11 unverändert 3,66.
   Ganze Seite gekachelt 14,41 -> 14,12; alle Bänder außer y20000..21575
   auf zwei Nachkommastellen unverändert, Hero y0..2000 bleibt 11,64.
   Seitenhöhe unverändert 21598 px.

   BREITEN, und das war der Fehler der ersten Fassung: die Rinne wächst mit
   dem Fenster, weil der Container ab 1280 px gedeckelt ist (1440 px -> 100,
   1600 -> 180, 1760 -> 260). Die Marken standen zuerst in festen Pixeln von
   der KARTENKANTE aus und passten damit nur bei rund 1750 px. Bei 1440 px
   landete die dunkelste Marke am Bildschirmrand und riss dort einen
   80 px breiten dunklen Streifen neben die Karte: linker Rand (10,99,147)
   fiel auf (2,34,51), also 65 Grün- und 96 Blaustufen zu dunkel, während
   jede andere Sektion ihren Randschein behielt.
   Jetzt sind die Marken am BILDSCHIRMRAND verankert, und der Randwert ist
   über alle betroffenen Breiten gleich:
     Breite  Rinne  links ohne     links mit      rechts mit     geänd. Pixel
      1024      0   ( 6,  6,  6)   ( 6,  6,  6)   ( 4,  3,  3)      0,00 %
      1280     20   (15,100,146)   (15,100,146)   (63,141,186)      0,00 %
      1440    100   (10, 99,147)   ( 2, 94,144)   (14,135,186)     12,66 %
      1600    180   (10, 99,147)   ( 2, 94,144)   (14,135,186)     20,77 %
      1760    260   (10, 99,147)   ( 2, 94,144)   (14,135,186)     27,46 %
   Grün und Blau bleiben am Rand also stehen, nur Rot wird korrigiert - genau
   das, was der Entwurf dort zeigt.

   Die senkrechte Maske lässt die Ebene über 96 px ein- und auslaufen, sonst
   entstünde an den beiden Nähten eine Kante.
   @supports, damit ohne multiply gar keine Ebene erscheint statt einer
   deckenden Farbfläche.
   ========================================================================= */
@supports (mix-blend-mode: multiply) {
  @media (min-width: 1300px) {
    /* Der Container bekommt bewusst KEIN position:relative. Dadurch ist der
       Bezugsrahmen der beiden Ebenen die Sektion .lvf-s10 (die ist relativ),
       und 100% ist die Fensterbreite statt der gedeckelten Containerbreite.
       Nur so lässt sich die Rinne überhaupt ausrechnen. */
    .lvf-s10-container::before,
    .lvf-s10-container::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      /* Vom Bildschirmrand bis zur Kartenkante. Die Karte ist ab 1280 px auf
         1240 px gedeckelt, darunter wird der Wert negativ und die Ebene
         verschwindet von selbst. 1300 px sind 30 px Rinne, dort steht nur der
         neutrale Anfang des Verlaufs - der Einstieg ist deshalb unsichtbar. */
      width: max(0px, calc((100% - 1240px) / 2));
      z-index: 1;      /* über .lvf-page::after (z-index 0) */
      pointer-events: none;
      mix-blend-mode: multiply;
      /* Die ersten und letzten 14 px bleiben VOLL transparent, erst danach
         läuft die Ebene ein. Die beiden Nähte werden über je 8 Zeilen ober-
         und unterhalb der Sektionskante gemessen; die liegen damit komplett
         im transparenten Teil und bleiben unberührt. Ohne den flachen Anfang
         stieg die Naht r9/s10 von 0,40 auf 0,56 und s10/s11 auf 3,94. */
      -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 14px, rgba(0,0,0,.35) 46px, #000 96px, #000 calc(100% - 96px), rgba(0,0,0,.35) calc(100% - 46px), rgba(0,0,0,0) calc(100% - 14px), rgba(0,0,0,0) 100%);
              mask-image: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 14px, rgba(0,0,0,.35) 46px, #000 96px, #000 calc(100% - 96px), rgba(0,0,0,.35) calc(100% - 46px), rgba(0,0,0,0) calc(100% - 14px), rgba(0,0,0,0) 100%);
    }

    /* Marken in festen Pixeln VOM BILDSCHIRMRAND, nicht von der Karte aus.
       Das ist der Kern der Korrektur vom 12.08.: der aufhellende Schein sitzt
       am Fensterrand (Plateau der Maske aus R3-rules-28, 255 px ab Rand) und
       der Schein des Entwurfs ebenso. Beide wandern NICHT mit der Karte.
       Von der Kartenkante aus gerechnet war die Ebene erst ab 1750 px richtig
       und riss bei 1440 px einen dunklen Streifen neben die Karte. */
    .lvf-s10-container::before {
      left: 0;
      background-image: linear-gradient(90deg,
        rgb(57,244,253) 0px, rgb(57,244,253) 10px, rgb(77,219,229) 40px,
        rgb(77,163,173) 90px, rgb(51,84,87) 160px, rgb(39,52,50) 230px,
        rgb(39,52,50) 100%);
    }
    .lvf-s10-container::after {
      right: 0;
      background-image: linear-gradient(270deg,
        rgb(57,245,255) 0px, rgb(57,245,255) 20px, rgb(47,184,203) 80px,
        rgb(39,113,122) 160px, rgb(34,68,73) 230px,
        rgb(34,68,73) 100%);
    }
  }
}


/* ===========================================================================
   Kennzahlen-Labels am Seitenfuss lesbar, 12.08.2026

   "Profit Split", "Max Funding", "Payout Access", "Min Trading Day" massen
   bei 390 px nur 8,62 px. Die Groesse haengt ueber 0.36em an der Elternschrift
   und schrumpft mobil mit. Dieselbe Zeile auf elite (.lve-e7-stat-label) hat
   13 px, also 51 Prozent mehr bei gleichem Inhalt.

   Das ist die letzte Flaeche vor der Fusszeile, auf der ein Interessent noch
   kaufen soll, und dort stand die kleinste Schrift der Seite.

   13 px vor dem Setzen geprueft, weil die Labels white-space:nowrap tragen und
   groessere Schrift ueberlaufen koennte: Reihe 0 px, Seite 0 px Ueberlauf.
   Breiteste Beschriftung waechst von 66 auf 100 px, die Reihe traegt es.
   Oberhalb 1023 px bleibt der Entwurfswert unberuehrt.
   =========================================================================== */
@media (max-width: 1023px) {
  .lvf-page .lvf-s10-stat-label { font-size: max(13px, 0.36em); }
}