@layer legacy{ /* V0.52.1 (S2-1) - siehe p-s21-legacy-schicht.pl */
#plV0387CareerLive{position:fixed;inset:0;z-index:9000;font-family:inherit;color:#f4f0e7}#plV0387CareerLive .pl387-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% -20%,rgba(193,154,86,.16),transparent 34%),linear-gradient(145deg,#070b12 0%,#0c111a 52%,#080b11 100%);overflow:auto;padding:clamp(12px,2vw,28px)}.pl387-shell{width:min(1440px,100%);min-height:calc(100vh - 56px);margin:auto;border:1px solid rgba(211,177,110,.22);background:rgba(10,15,23,.96);box-shadow:0 30px 80px rgba(0,0,0,.46);display:grid;grid-template-rows:auto auto auto auto auto 1fr auto}.pl387-shell>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 26px;border-bottom:1px solid rgba(255,255,255,.08)}.pl387-shell header small,.pl387-panel h4,.pl387-calendar h4,.pl387-feed h4{letter-spacing:.14em;color:#c8a766;font-size:11px}.pl387-shell h2{font-size:clamp(23px,2.4vw,38px);margin:5px 0 2px}.pl387-shell header p{margin:0;color:#98a0ac}.pl387-target{text-align:right}.pl387-target span{display:block;font-size:10px;letter-spacing:.13em;color:#7f8997}.pl387-target b{display:block;font-size:18px;color:#e2c486;margin:3px 0 8px}.pl387-speed{border:1px solid rgba(226,196,134,.25);background:#151b25;color:#ddd4c0;border-radius:999px;padding:6px 12px;cursor:pointer}.pl387-progress{height:26px;position:relative;background:#090d14;border-bottom:1px solid rgba(255,255,255,.06)}.pl387-progress i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(178,139,70,.36),rgba(218,181,111,.65));transition:width .35s ease}.pl387-progress span{position:relative;z-index:1;display:block;text-align:center;font-size:11px;line-height:26px;color:#d8dbe1}.pl387-shell main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);min-height:360px}.pl387-match{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 30px;background:radial-gradient(circle at center,rgba(188,151,82,.07),transparent 54%);border-right:1px solid rgba(255,255,255,.07)}.pl387-match>small{color:#c0a15f;letter-spacing:.12em}.pl387-match h3{font-size:13px;color:#9ba4b1;margin:6px 0 20px}.pl387-score{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center}.pl387-score span{font-size:clamp(16px,2vw,27px);font-weight:700}.pl387-score b{font-size:clamp(31px,4vw,54px);font-variant-numeric:tabular-nums;color:#f0d9a8}.pl387-player{margin-top:28px;padding-top:20px;width:min(720px,100%);border-top:1px solid rgba(255,255,255,.08)}.pl387-player>strong{font-size:18px}.pl387-player-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:9px}.pl387-player-stats b{font-size:12px;color:#cfd4dc}.pl387-dnp,.pl387-processing{margin-top:9px;color:#8993a1}.pl387-form{display:flex;gap:5px;margin-top:15px}.pl387-form i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#1f2732;font-size:11px}.pl387-form .w{background:#244a37}.pl387-form .l{background:#522d31}.pl387-form .d{background:#41444b}.pl387-shell aside{padding:18px;display:grid;gap:14px;align-content:start}.pl387-panel{background:#0e141d;border:1px solid rgba(255,255,255,.07);padding:15px}.pl387-panel h4{margin:0 0 11px}.pl387-table-row{display:grid;grid-template-columns:30px 1fr 34px;gap:7px;padding:7px 5px;border-top:1px solid rgba(255,255,255,.05);font-size:12px}.pl387-table-row.self{background:linear-gradient(90deg,rgba(193,154,86,.16),transparent);color:#e7cf9b}.pl387-table-row strong{text-align:right}.pl387-comp{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.05);font-size:12px}.pl387-comp b{text-align:right;color:#d8c28f}.pl387-summary{padding:16px 24px;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:150px 1fr 1.4fr;gap:18px;align-items:center}.pl387-summary h4{margin:0}.pl387-development,.pl387-summary-stats{display:flex;gap:10px;flex-wrap:wrap}.pl387-development span,.pl387-summary-stats span{display:flex;flex-direction:column;gap:2px;padding:7px 10px;background:#101721;border:1px solid rgba(255,255,255,.055);font-size:9px;text-transform:uppercase;color:#7f8997}.pl387-development b,.pl387-summary-stats b{font-size:13px;color:#e4e7eb;text-transform:none}.pl387-calendar{padding:15px 24px;border-top:1px solid rgba(255,255,255,.07)}.pl387-calendar h4,.pl387-feed h4{margin:0 0 9px}.pl387-calendar>div{display:flex;gap:9px;overflow:hidden}.pl387-cal-item{min-width:126px;padding:9px 11px;background:#101721;border-top:2px solid #29303b;display:flex;flex-direction:column}.pl387-cal-item time{font-size:10px;color:#7f8997}.pl387-cal-item span{font-size:11px;margin-top:4px}.pl387-cal-item.today{border-top-color:#d1ad68}.pl387-cal-item.target{border-top-color:#7e6941}.pl387-cal-item i{font-style:normal;font-size:9px;color:#d8ba7f;margin-top:4px}.pl387-feed{padding:15px 24px;border-top:1px solid rgba(255,255,255,.07)}.pl387-feed>div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:5px 0;font-size:11px}.pl387-feed time{color:#747e8b}.pl387-empty{color:#747e8b;font-size:11px}.pl387-shell footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 24px;border-top:1px solid rgba(255,255,255,.08);color:#747e8b;font-size:10px}@media(max-width:850px){.pl387-shell main{grid-template-columns:1fr}.pl387-match{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.pl387-summary{grid-template-columns:1fr}.pl387-shell>header{flex-direction:column}.pl387-target{text-align:left}.pl387-score{gap:10px}.pl387-shell aside{grid-template-columns:1fr 1fr}}@media(max-width:600px){#plV0387CareerLive .pl387-backdrop{padding:0}.pl387-shell{min-height:100vh}.pl387-shell aside{grid-template-columns:1fr}.pl387-calendar>div{overflow:auto}.pl387-shell footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){#plV0387CareerLive *{animation:none!important;transition:none!important}}
.pl387-moment{margin:0 24px;padding:14px 18px;border:1px solid rgba(219,180,105,.28);border-left:3px solid #d3ad67;background:linear-gradient(90deg,rgba(184,142,67,.14),rgba(12,18,27,.86));animation:pl387Moment .28s ease-out}.pl387-moment small{letter-spacing:.14em;color:#c9a967;font-size:9px}.pl387-moment h3{margin:3px 0;font-size:19px;color:#f0d9a8}.pl387-moment p{margin:0;color:#b4bdc8;font-size:12px}@keyframes pl387Moment{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pl387-moment{animation:none}}
/* V0.38.7 owns the long-simulation presentation. The V0.38.4 finalizer is reused
   internally only for its hardened season-boundary authority, never as a second UI. */
body.pl387-finalizing #plV0383FullSeason{display:none!important}
/* V0.38.9 playability recovery: keep the core simulation controls inside low-height desktop viewports. */
@media (max-height:900px) and (min-width:851px){
  #plV0387CareerLive .pl387-backdrop{padding:10px;overflow:hidden}
  .pl387-shell{height:calc(100dvh - 20px);min-height:0;max-height:calc(100dvh - 20px);overflow:hidden;grid-template-rows:auto auto auto minmax(210px,1fr) auto auto auto auto}
  .pl387-shell>header{padding:11px 18px;align-items:center}
  .pl387-shell h2{font-size:clamp(21px,2vw,31px);margin:2px 0}
  .pl387-target b{font-size:15px;margin:2px 0 4px}
  .pl387-shell main{min-height:0;overflow:hidden}
  .pl387-match{padding:14px 22px}
  .pl387-match h3{margin:3px 0 9px}
  .pl387-player{margin-top:12px;padding-top:10px}
  .pl387-form{margin-top:8px}
  .pl387-shell aside{padding:10px;gap:8px;overflow:auto;min-height:0}
  .pl387-panel{padding:9px}
  .pl387-table-row{padding:4px 4px}
  .pl387-summary{padding:7px 18px;gap:10px;grid-template-columns:130px 1fr 1.4fr}
  .pl387-development span,.pl387-summary-stats span{padding:4px 7px}
  .pl387-calendar,.pl387-feed{padding:7px 18px;min-height:0;max-height:72px;overflow:auto}
  .pl387-calendar h4,.pl387-feed h4{margin:0 0 4px}
  .pl387-cal-item{min-width:112px;padding:5px 8px}
  .pl387-feed>div{padding:2px 0}
  .pl387-shell footer{padding:7px 18px;background:#0b1018;position:relative;z-index:2}
}
body.pl387-live-active{overflow:hidden!important}
#plV0387CareerLive.pl387-decision-paused{z-index:50!important;pointer-events:none}

/* V0.46 (N2): Die Formanzeige scrollte aus dem Bild.
   Sie sitzt am Ende des Spielbereichs; auf kurzen Bildschirmen war sie
   deshalb genau dann nicht zu sehen, wenn sie interessant wurde. Jetzt wird
   sie am unteren Rand ihres Bereichs festgehalten und bekommt einen eigenen
   Hintergrund, damit sie ueber dem Inhalt lesbar bleibt. */
#plV0387CareerLive .pl387-match{position:relative}
#plV0387CareerLive .pl387-form{
  position:sticky;
  bottom:6px;
  z-index:3;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(10,15,23,.92);
  border:1px solid rgba(211,177,110,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.38);
  backdrop-filter:blur(4px);
}
@media(max-width:600px){
  #plV0387CareerLive .pl387-form{bottom:4px;padding:6px 10px}
}
@media(prefers-reduced-motion:reduce){
  #plV0387CareerLive .pl387-form{backdrop-filter:none}
}

/* V0.47.1 - AUS DER WELT: Meldungen, die waehrend der Simulation in der
   Spielwelt passieren (Trainerwechsel, Transfers, Verletzungen). */
.pl387-welt-liste{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.pl387-welt-liste li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;
  font-size:11.5px;line-height:1.4;color:var(--pl-text-secondary,#aebbd0)}
.pl387-welt-liste time{color:var(--pl-text-muted,#7d8ba1);font-variant-numeric:tabular-nums}
.pl387-welt-liste li[data-art="trainer"] span{color:#e8c46a}
.pl387-welt-leer{margin:0;font-size:11.5px;color:var(--pl-text-muted,#7d8ba1)}

/* V0.47.3 - Ruhiges Brett: Waehrend der Simulation darf sich das Layout
   nicht bewegen. Zwei Ursachen behoben:
   (1) National-Streifen und Karriere-Moment waren eigene Grid-Zeilen der
       Schale - ihr Erscheinen drueckte alle Abschnitte darunter nach unten,
       ihr Verschwinden liess alles zurueckschnappen. Sie liegen jetzt ALS
       AUFLAGE ueber dem Spielbereich (Markup: innerhalb von .pl387-match).
   (2) Der Ereignis-Kasten wuchs mit jedem Eintrag. Die untere Zeile hat
       jetzt FESTE Hoehen mit innerem Rollbalken; AUS DER WELT sitzt rechts
       daneben (unter den Seitentafeln) statt in der Seitenleiste. */
#plV0387CareerLive .pl387-match>.pl387-national-strip{
  position:absolute;top:0;left:0;right:0;z-index:4;margin:0;
}
#plV0387CareerLive .pl387-match>.pl387-moment{
  position:absolute;top:10px;left:14px;right:14px;z-index:4;margin:0;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
  /* Als Auflage braucht die Karte einen lichtdichten Grund - der Verlauf
     allein ließ den Text darunter durchscheinen. Und keine Einblend-
     Animation: render() baut das DOM je Puls neu, die Karte würde bei
     jedem Puls neu aufblinken (und stünde meist halbtransparent da). */
  background:linear-gradient(90deg,rgba(184,142,67,.16),rgba(12,18,27,.92)) #0b111a;
  animation:none;
}
#plV0387CareerLive .pl387-match>.pl387-national-strip~.pl387-moment{top:62px}

/* V0.49.1 - DIE AUFLAGE BRAUCHT PLATZ, NICHT NUR DIE KARTE.
   Seit V0.47.3 liegt der National-Streifen absolut ueber .pl387-match, damit
   sein Erscheinen das Raster der Schale nicht verschiebt. Der Karriere-Karte
   darunter wurde dieser Platz zugestanden (Regel darueber, top:62px) - dem
   NORMALEN Inhalt des Spielbereichs aber nicht. Paarung, Spielstand und
   Wettbewerbszeile standen deshalb unter dem Streifen und wurden von ihm
   ueberdeckt.
   Der Spielbereich reserviert die Streifenhoehe jetzt als zusaetzliche obere
   Polsterung. Das Raster der Schale bleibt unberuehrt: Nur der Inhalt IM
   Spielbereich rueckt nach unten, und nur solange der Streifen da ist. */
#plV0387CareerLive .pl387-match{--pl387-streifenhoehe:0px}
#plV0387CareerLive .pl387-match:has(>.pl387-national-strip){
  --pl387-streifenhoehe:52px;
  padding-top:calc(clamp(20px,2.25vw,48px) + var(--pl387-streifenhoehe));
}
/* Zweite Ursache, ohne die die Polsterung allein nicht reicht: .pl387-match
   zentriert seinen Inhalt senkrecht (justify-content:center). Ist der Inhalt
   HOEHER als der Bereich - lange Paarungsnamen, zusaetzliche Wettbewerbszeile,
   kleine Fensterhoehe -, laeuft ein zentrierter Flex-Inhalt nach BEIDEN Seiten
   ueber. Der obere Teil landet dann unter der Auflage, und genau so war es
   gemeldet. `safe` richtet bei Ueberlauf oben aus statt mittig; ohne Ueberlauf
   bleibt die Zentrierung unveraendert. */
#plV0387CareerLive .pl387-match{justify-content:safe center}
/* Unter 850 px rutscht die Wettbewerbszeile des Streifens in eine eigene
   Zeile (v03813) - der Streifen wird dadurch hoeher. */
@media(max-width:850px){
  #plV0387CareerLive .pl387-match:has(>.pl387-national-strip){--pl387-streifenhoehe:78px}
}
@media(max-width:640px){
  #plV0387CareerLive .pl387-match:has(>.pl387-national-strip){--pl387-streifenhoehe:66px}
}

/* ------------------------------------------------ V0.49.1 KARRIERE-MOMENTE

   Die Momentauflage trug bisher Kicker, Titel und eine Zeile Text. Fuer einen
   Hinweis wie "Kalender aktualisiert" reicht das; fuer die erste Profivorlage
   nicht - das ist ein Karrieremoment und soll auch so dastehen.

   Die Ordnung folgt der grossen Momentkarte der Karriereansicht: Kicker,
   Titel, Gegner, Sachzeile, Belege. Kein neues Formvokabular, damit die
   Auflage nicht wie ein Fremdkoerper in der Simulation wirkt - dieselben
   Goldtoene, dieselbe Kantenfuehrung, derselbe dunkle Grund. */
#plV0387CareerLive .pl387-moment{
  border-radius:10px;
  padding:16px 20px 15px;
}
#plV0387CareerLive .pl387-moment h4{
  margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.01em;
  color:#e6c489;
}
/* Der Spielbereich zentriert seinen Text. Eine Flex-Zeile erbt das nicht und
   stand deshalb als einzige Zeile linksbuendig unter einer mittigen Karte -
   das liest sich als Versehen, nicht als Gestaltung. */
#plV0387CareerLive .pl387-moment-belege{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;justify-content:center;
}
#plV0387CareerLive .pl387-moment-belege span{
  padding:3px 9px;border-radius:999px;
  border:1px solid rgba(219,180,105,.26);
  background:rgba(219,180,105,.07);
  color:#d8c6a4;font-size:10.5px;letter-spacing:.03em;
  font-variant-numeric:tabular-nums;
}
/* Der grosse Moment bekommt mehr Gewicht: breiterer Lichtsaum, kraeftigerer
   Titel, ein ruhiger Schimmer an der Kante. Bewusst kein Blinken und keine
   Bewegung im Dauerlauf - die Simulation baut das DOM je Puls neu. */
#plV0387CareerLive .pl387-moment--gross{
  border-left-width:4px;
  box-shadow:0 18px 44px rgba(0,0,0,.5),inset 0 0 0 1px rgba(219,180,105,.10);
  background:
    radial-gradient(120% 140% at 0% 0%,rgba(219,180,105,.20),transparent 58%),
    linear-gradient(90deg,rgba(184,142,67,.17),rgba(12,18,27,.94)) #0b111a;
}
#plV0387CareerLive .pl387-moment--gross h3{font-size:23px;line-height:1.15}
#plV0387CareerLive .pl387-moment.milestone small{color:#e0bd7d}

/* Der Umschalter in der Fusszeile. Er sitzt neben "Simulation beenden" und
   traegt eine Lampe, damit sein Zustand ohne Lesen erkennbar ist. */
.pl387-momente-schalter{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12px;letter-spacing:.02em;
}
.pl387-momente-schalter b{
  font-size:10px;letter-spacing:.12em;
  padding:2px 7px;border-radius:999px;
  border:1px solid rgba(219,180,105,.34);color:#e0bd7d;
}
.pl387-schalter-lampe{
  width:8px;height:8px;border-radius:50%;
  background:#4d5763;box-shadow:none;
}
.pl387-momente-schalter[aria-checked="true"] .pl387-schalter-lampe{
  background:#d3ad67;box-shadow:0 0 8px rgba(211,173,103,.7);
}
.pl387-momente-schalter[aria-checked="false"] b{
  border-color:rgba(255,255,255,.16);color:#8b95a1;
}

/* Die gezeichnete Flagge im Streifen. Sie ersetzt eine Emoji-Folge, deren
   Darstellung von der Schriftausstattung des Systems abhing. */
.pl387-national-strip .pl387-nt-flagge{
  display:inline-flex;vertical-align:-3px;margin-right:6px;
  border-radius:3px;overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.5);
}
.pl387-national-strip .pl387-nt-flagge svg{display:block}

#plV0387CareerLive .pl387-shell>.pl387-unten{
  grid-row:8;display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(330px,.75fr);
  border-top:1px solid rgba(255,255,255,.07);
}
/* min-height:0 ist hier Pflicht: v0482 setzt min-height:min-content auf
   .pl387-feed (Scroll-Reparatur der Seitentafeln) - min-height schlaegt
   height, der Kasten wuechse sonst mit jedem Eintrag weiter. */
#plV0387CareerLive .pl387-unten>.pl387-feed{
  height:118px;min-height:0;max-height:none;overflow:auto;border-top:0;
}
#plV0387CareerLive .pl387-unten>.pl387-welt{border-left:1px solid rgba(255,255,255,.07)}
#plV0387CareerLive .pl387-unten .pl387-welt-liste{gap:4px}

/* Statistikzeile und "wird berechnet"-Zeile sind verschieden hoch - eine
   Mindesthoehe haelt den Spielbereich beim Wechsel still. */
#plV0387CareerLive .pl387-player{min-height:88px}

@media (max-height:900px) and (min-width:851px){
  #plV0387CareerLive .pl387-unten>.pl387-feed{height:86px}
}
@media (max-width:850px){
  #plV0387CareerLive .pl387-shell>.pl387-unten{grid-template-columns:1fr}
  #plV0387CareerLive .pl387-unten>.pl387-welt{
    border-left:0;border-top:1px solid rgba(255,255,255,.07);
  }
}

/* Kalender: feste Hoehe (er war nur nach oben gedeckelt - das HEUTE-Etikett
   und wechselnde Eintraege aenderten die Hoehe unterhalb des Deckels, und
   alles darunter rutschte). Das Etikett liegt jetzt in der Ecke der Karte
   und traegt nicht mehr zur Hoehe bei. */
#plV0387CareerLive .pl387-shell>.pl387-calendar{height:122px;min-height:0;overflow:hidden}
#plV0387CareerLive .pl387-cal-item{position:relative;padding-right:40px}
#plV0387CareerLive .pl387-cal-item i{position:absolute;right:9px;top:9px;margin:0}
@media (max-height:900px) and (min-width:851px){
  #plV0387CareerLive .pl387-shell>.pl387-calendar{height:78px;max-height:none}
}

/* Formanzeige vor dem ersten Ergebnis: Ohne Pillen war die Zeile 30 px
   niedriger, und der Spielbereich wuchs beim ersten Ergebnis um genau diese
   Zeile. Leer haelt sie jetzt unsichtbar die Hoehe einer Pille (30 px,
   wie in v03813 bemessen). */
#plV0387CareerLive .pl387-form:empty{visibility:hidden}
#plV0387CareerLive .pl387-form:empty::after{content:'';width:30px;height:30px}
/* Auch die Wettbewerbszeile wechselt zwischen leer und Text - Platz dafuer
   ist immer reserviert. */
#plV0387CareerLive .pl387-match h3{min-height:16px}

} /* @layer legacy */
