/* Beanlings Kickoff · Baukasten „Spieltag“ (18.10.2026, Redesign Phase A)
   Verbindliche Regeln: /home/ubuntu/sproutverse-bot/DESIGN_KICKOFF.md
   Kunstpixel P = 2 CSS-px · Licht von oben links · harte Schatten · keine Verläufe · keine Pillen.
   Vereinsfarben: --v1/--v2 roh, --v-text (lesbar auf Papier), --v-tief (dunkel, für Flächen mit weißer Schrift). */

@font-face{font-family:'Jersey 10';font-style:normal;font-weight:400;font-display:swap;src:url(schrift/Jersey10-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Jersey 10';font-style:normal;font-weight:400;font-display:swap;src:url(schrift/Jersey10-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(schrift/barlow-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(schrift/barlow-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(schrift/barlow-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(schrift/barlow-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(schrift/barlow-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(schrift/barlow-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}

/* ================= Tokens ================= */
:root{
  --p:2px;                                   /* Kunstpixel */
  --rasen:#3f7a35; --rasen-hell:#4b8a3f; --rasen-tief:#2f5f28;
  --kreide:#f6f3e8; --papier:#f3eedf; --papier-tief:#e7e0cb; --linie:#d3c9ad; --linie-hell:#e3dcc6;
  --tinte:#1c2a20; --tinte-leise:#4f5b48; --nacht:#13201a; --nacht-2:#1d2e25; --schiefer:#2d3b34;
  --flutlicht:#ffcf4a; --flutlicht-tief:#b8891c; --led-aus:#3b3420;
  --rot:#c4402d; --gelbkarte:#f2c230; --gruen:#2f7d3e; --holz:#7a5530; --holz-tief:#4d3420;
  --kontur:#16141a;
  --v1:#2d8a4e; --v2:#ffffff; --v-text:#27794a; --v-tief:#1a4a28;
  --anzeige:'Jersey 10',ui-monospace,monospace;
  --text:'Barlow',Arial,sans-serif;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --ziel:44px; --leiste-h:64px; --seite-max:1120px;
  --hart:3px 3px 0 var(--kontur);
  --takt:125ms;
  /* Redesign C (18.10.): Seitengrund = gemähter Rasen, Inhalt auf Programmheft-Blatt (keine graue Fläche mehr) */
  --maehen-a:#3d7f33; --maehen-b:#4a8f3d; --blatt:var(--papier); --blatt-pad:16px; --blatt-rand:6px;
  --rasen-korn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h2v2H0zM10 6h2v2h-2zM4 12h2v2H4z' fill='%23000' fill-opacity='.07'/%3E%3Cpath d='M6 2h2v2H6zM14 10h2v2h-2z' fill='%23fff' fill-opacity='.06'/%3E%3C/svg%3E");
  color-scheme:light;
}

/* Flutlicht-Nacht (abends, Berliner Zeit; Klasse vom Server): dunkelgrüner Rasen, Blatt bleibt im Flutlicht hell */
body.nd.flutlicht{--maehen-a:#163a20; --maehen-b:#1c4527}

/* ================= Grundlagen ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body.nd{margin:0;background-color:var(--maehen-a);background-image:var(--rasen-korn),repeating-linear-gradient(180deg,var(--maehen-a) 0 48px,var(--maehen-b) 48px 96px);color:var(--tinte);font:400 15px/1.4 var(--text);
  overflow-x:clip;min-height:100vh;-webkit-tap-highlight-color:transparent}
.nd img,.nd canvas{image-rendering:pixelated;image-rendering:crisp-edges}
.nd a{color:var(--v-text)}
.nd :focus-visible{outline:3px solid var(--flutlicht);outline-offset:2px}
.nd [hidden]{display:none!important}
.nd h1,.nd h2,.nd h3,.nd p{margin:0}
.nd button{font:inherit;color:inherit}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nd a.sr:focus{position:fixed!important;left:8px;top:8px;width:auto;height:auto;clip:auto;z-index:99;background:var(--flutlicht);color:var(--tinte);padding:12px 16px;font-weight:700}
.nd-zahl{font-family:var(--anzeige);font-weight:400;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.nd-klein{font-size:13px;color:var(--tinte-leise)}
.nd-kicker{font:700 13px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--v-text)}
.nd-symbol{width:24px;height:24px;flex:0 0 auto;shape-rendering:crispEdges}

/* ================= Rahmen: Kopf, Navigation, Inhalt ================= */
.nd-schal{height:8px;background:repeating-linear-gradient(90deg,var(--v1) 0 16px,var(--v2) 16px 32px);border-bottom:2px solid var(--kontur)}
.nd-schal.dick{height:12px}
.nd-kopfleiste{position:sticky;top:0;z-index:40;background:var(--v-tief);color:var(--kreide);padding-top:env(safe-area-inset-top,0px)}
.nd-kopfleiste-in{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:0 var(--s4);max-width:var(--seite-max);margin:0 auto}
.nd .nd-verein{display:flex;align-items:center;gap:10px;min-width:0;color:var(--kreide);text-decoration:none;min-height:var(--ziel);flex:1 1 auto}
.nd-verein img{width:32px;height:32px;flex:0 0 auto}
.nd-verein b{font:400 24px/1 var(--anzeige);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-vorschau-wimpel{flex:0 0 auto}
.nd .nd-kopf-post{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--ziel);height:var(--ziel);color:var(--kreide)}
.nd-zaehler{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;background:var(--rot);color:#fff;font:400 16px/18px var(--anzeige);text-align:center;border:2px solid var(--kontur)}

.nd-haupt{max-width:var(--seite-max);margin:var(--s3) var(--blatt-rand) calc(var(--leiste-h) + 20px + env(safe-area-inset-bottom,0px));padding:var(--s4) var(--blatt-pad) var(--s4);
  background:var(--blatt);border:2px solid var(--kontur);box-shadow:var(--hart)}
@media (min-width:600px){ .nd-haupt{margin-left:auto;margin-right:auto;width:calc(100% - 32px)} }
.nd-raster{display:grid;gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start}
.nd-stapel{display:grid;gap:var(--s4);min-width:0}
.nd-reihe{display:flex;align-items:center;gap:var(--s3);min-width:0}
.nd-reihe.weit{justify-content:space-between}
.nd-reihe.umbruch{flex-wrap:wrap}

/* Navigation: Handy/Tablet unten */
.nd-leiste{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;background:var(--nacht);border-top:2px solid var(--kontur);
  height:calc(var(--leiste-h) + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.nd-leiste::before{content:'';position:absolute;left:0;right:0;top:-6px;height:4px;background:repeating-linear-gradient(90deg,var(--rasen) 0 16px,var(--rasen-hell) 16px 32px)}
.nd .nd-leiste a,.nd-leiste button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  color:#b9c7b4;text-decoration:none;font:600 12px/1.1 var(--text);background:none;border:0;cursor:pointer;position:relative;min-height:var(--ziel)}
.nd-leiste span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
.nd .nd-leiste .an{color:var(--flutlicht)}
.nd-leiste .an::after{content:'';position:absolute;left:20%;right:20%;top:0;height:4px;background:var(--flutlicht)}
.nd-leiste .nd-zaehler{top:6px;right:calc(50% - 26px)}
.nd-seitenleiste{display:none}

/* Blatt (Mehr, Details): Handy von unten, PC rechts */
.nd-blatt{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(19,32,26,.55)}
.nd-blatt-in{background:var(--papier);width:min(560px,100%);max-height:88vh;overflow:auto;border-top:2px solid var(--kontur);
  padding:0 0 calc(var(--s4) + env(safe-area-inset-bottom,0px));animation:ndHoch 250ms steps(4) both}
.nd-blatt-kopf{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:2px solid var(--linie)}
.nd-blatt-kopf h2{font:400 32px/1 var(--anzeige)}
.nd-blatt-inhalt{padding:var(--s4)}
.nd-blatt-inhalt > .nd-blatt-liste{margin:calc(var(--s4) * -1)}
.nd .nd-blatt-liste a,.nd-blatt-liste button{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:52px;padding:6px var(--s4);border:0;border-bottom:1px solid var(--linie);
  background:none;color:var(--tinte);font:600 16px/1.2 var(--text);text-decoration:none;text-align:left;cursor:pointer}
.nd-blatt-liste .nd-symbol{color:var(--v-text)}
.nd-blatt-liste small{margin-left:auto;font:400 13px/1 var(--text);color:var(--tinte-leise)}
@keyframes ndHoch{from{transform:translateY(48px)}to{transform:none}}

/* ab 1024 px: Seitenleiste links, gleiche Einträge */
@media (min-width:1024px){
  .nd-leiste{display:none}
  .nd-rahmen{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,var(--nacht) 0 232px,transparent 232px)}
  .nd-seitenleiste{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;background:var(--nacht);color:var(--kreide);border-right:2px solid var(--kontur)}
  .nd-seitenleiste .nd-verein{padding:var(--s4);flex:0 0 auto;align-items:flex-start;flex-direction:column;gap:var(--s2);background:var(--v-tief);border-bottom:2px solid var(--kontur)}
  .nd-seitenleiste .nd-verein img{width:64px;height:64px}
  .nd-seitenleiste .nd-verein b{font-size:32px;white-space:normal;line-height:.95}
  .nd-seitenleiste nav{display:flex;flex-direction:column;padding:var(--s2) 0}
  .nd .nd-seitenleiste nav a{display:flex;align-items:center;gap:var(--s3);min-height:48px;padding:0 var(--s4);color:#c9d4c4;text-decoration:none;font:600 16px/1 var(--text);position:relative}
  .nd .nd-seitenleiste nav a:hover{color:#fff;background:var(--nacht-2)}
  .nd .nd-seitenleiste nav a.an{color:var(--flutlicht);background:var(--nacht-2)}
  .nd-seitenleiste nav a.an::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:4px;background:var(--flutlicht)}
  .nd-seitenleiste nav .trenner{height:2px;margin:var(--s2) var(--s4);background:var(--nacht-2)}
  .nd-seitenleiste .nd-zaehler{position:static;margin-left:auto;border:0}
  .nd-seitenleiste .unten{margin-top:auto;padding:var(--s4);font-size:13px;color:#9fae99}
  .nd .nd-seitenleiste .unten a{color:#c9d4c4;display:inline-flex;min-height:var(--ziel);align-items:center}
  .nd-kopfleiste{display:none}
  .nd{--blatt-pad:32px}
  .nd-haupt{padding:var(--s5) var(--blatt-pad) var(--s5);margin:var(--s5) var(--s6) var(--s6);width:auto;max-width:1040px}
  .nd-raster.zwei{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
  .nd-blatt{justify-content:flex-end;align-items:stretch}
  .nd-blatt-in{max-height:none;height:100%;width:420px;border-top:0;border-left:2px solid var(--kontur);animation-name:ndRein}
}
@media (min-width:700px) and (max-width:1023px){ .nd-raster.zwei{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
@keyframes ndRein{from{transform:translateX(48px)}to{transform:none}}

/* ================= Seitenkopf (Programmheft-Kopf) ================= */
.nd-seitenkopf{display:flex;align-items:flex-end;gap:var(--s4);padding:0 0 var(--s3);margin:0 0 var(--s4);border-bottom:3px solid var(--tinte);position:relative}
.nd-seitenkopf::after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:4px;background:repeating-linear-gradient(90deg,var(--v1) 0 16px,var(--v2) 16px 32px)}
.nd-seitenkopf h1{font:400 48px/.9 var(--anzeige);letter-spacing:.01em;overflow-wrap:anywhere}
.nd-seitenkopf .nd-kicker{margin-bottom:6px}
.nd-seitenkopf .rechts{margin-left:auto;flex:0 0 auto;display:flex;align-items:center;gap:var(--s3)}
.nd-seitenkopf .wappen{width:64px;height:64px}
.nd-seitenkopf .ausgabe{font:400 24px/1 var(--anzeige);color:var(--tinte-leise);text-align:right}
@media (max-width:420px){ .nd-seitenkopf h1{font-size:40px} .nd-seitenkopf .wappen{width:48px;height:48px} }

/* ================= Programmheft-Block ================= */
.nd-programm{background:var(--papier);border:2px solid var(--tinte);padding:var(--s4);min-width:0;position:relative}
.nd-programm > .kopf{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin:-4px 0 var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--linie)}
.nd-programm > .kopf h2{font:400 32px/1 var(--anzeige)}
.nd-programm > .kopf a{font:600 14px/1 var(--text);display:inline-flex;align-items:center;min-height:var(--ziel);text-decoration:none}
.nd-programm > .kopf a::after{content:' \203A';margin-left:4px}
.nd-programm.ohne-rand{border:0;padding:0;background:none}

/* ================= Anzeigetafel ================= */
.nd-tafel{background:var(--nacht);color:var(--kreide);border:2px solid var(--kontur);padding:var(--s3) var(--s4);position:relative;
  box-shadow:inset 0 0 0 2px #2b3a31}
.nd-tafel::before{content:'';position:absolute;inset:4px;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px)}
.nd-tafel > *{position:relative}
.nd-led{font:400 48px/1 var(--anzeige);color:var(--flutlicht);letter-spacing:.04em;text-shadow:0 0 0 transparent}
.nd-led.klein{font-size:32px} .nd-led.gross{font-size:64px}
.nd-led.aus{color:var(--led-aus)}
.nd-tafel .etikett{font:700 12px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:#a9b8a2}
.nd-tafelwerte{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:var(--s3)}
.nd-tafelwert{min-width:0}
.nd-tafelwert .nd-led{font-size:32px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-tafel.live .nd-led{animation:ndBlink 1s steps(2) infinite}
@keyframes ndBlink{50%{color:var(--led-aus)}}

/* Spielstand auf der Tafel */
.nd-spielstand{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--s3);text-align:center}
.nd-spielstand .team{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.nd-spielstand .team img{width:64px;height:64px}
.nd-spielstand .team b{font:700 15px/1.15 var(--text);overflow-wrap:anywhere}
.nd-spielstand .stand{font:400 64px/1 var(--anzeige);color:var(--flutlicht);white-space:nowrap}
@media (max-width:380px){ .nd-spielstand .team img{width:48px;height:48px} .nd-spielstand .stand{font-size:48px} }

/* ================= Kabinentafel (Kreide auf Schiefer) ================= */
.nd-kabine{background:var(--schiefer);color:var(--kreide);padding:var(--s4);border:6px solid var(--holz);box-shadow:inset 0 0 0 2px var(--holz-tief),var(--hart)}
.nd-kabine h2{font:400 32px/1 var(--anzeige);color:var(--kreide);margin:0 0 var(--s3)}
.nd-kabine .nd-kicker{color:#e9df9e}
.nd-stimme{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s3);align-items:start;padding:var(--s2) 0;border-top:2px dashed rgba(246,243,232,.25)}
.nd-stimme:first-of-type{border-top:0}
.nd-stimme q{display:block;font:600 16px/1.35 var(--text);quotes:'\201E' '\201C'}
.nd-stimme small{display:block;margin-top:4px;font:700 12px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:#e9df9e}

/* ================= Porträts und Figuren (P = 2, nur ganzzahlig) =================
   Porträt: 64er-Kunst als 128-px-Bild, Fenster 64 px (Kopf) oder 96 px (Kopf und Schultern).
   Figur: Bild 0 des 34er-Bogens, Bogen 204 px -> 408 px, Fenster 68 x 68. */
.nd-portrait{display:block;width:64px;height:64px;overflow:hidden;position:relative;background:var(--kreide);border:2px solid var(--kontur);flex:0 0 auto;box-sizing:content-box}
.nd-portrait img{position:absolute;width:128px;height:128px;left:-32px;top:-8px;max-width:none}
.nd-portrait.gross{width:96px;height:96px}
.nd-portrait.gross img{left:-16px;top:0}
.nd-kabine .nd-portrait{background:#43544b;border-color:#0e1511}
.nd-nr{position:absolute;right:0;bottom:0;min-width:20px;padding:0 3px;background:var(--v-tief);color:#fff;font:400 16px/18px var(--anzeige);text-align:center;border-top:2px solid var(--kontur);border-left:2px solid var(--kontur)}
.nd-figur{display:block;width:68px;height:68px;overflow:hidden;position:relative;flex:0 0 auto}
.nd-figur i{position:absolute;left:0;top:0;width:68px;height:68px;background-size:408px 408px;background-repeat:no-repeat;background-position:0 0;image-rendering:pixelated}
.nd-wappen-32{width:32px;height:32px;flex:0 0 auto}
.nd-wappen-64{width:64px;height:64px;flex:0 0 auto}

/* Trikotnummer (Rückenansicht, Vereinsfarben) */
.nd-trikot{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex:0 0 auto}
.nd-trikot svg{position:absolute;inset:0;width:40px;height:40px;shape-rendering:crispEdges}
.nd-trikot b{position:relative;font:400 24px/1 var(--anzeige);color:var(--t-schrift,#fff);margin-top:6px}

/* ================= Ticket mit Abriss ================= */
.nd-ticket{display:grid;grid-template-columns:minmax(0,1fr);background:var(--kreide);border:2px solid var(--kontur);box-shadow:var(--hart);position:relative}
.nd-ticket-haupt{padding:var(--s4);min-width:0;border-top:12px solid transparent;
  border-image:repeating-linear-gradient(90deg,var(--v1) 0 16px,var(--v2) 16px 32px) 12}
.nd-ticket-abriss{padding:var(--s4);border-top:2px dashed var(--tinte);position:relative;background:var(--papier)}
.nd-ticket-abriss::before,.nd-ticket-abriss::after{content:'';position:absolute;top:-9px;width:16px;height:16px;background:var(--blatt);border:2px solid var(--kontur)}
.nd-ticket-abriss::before{left:-10px;clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)} .nd-ticket-abriss::after{right:-10px;clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}
.nd-ticket .wettbewerb{display:flex;justify-content:space-between;gap:var(--s2);font:700 12px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--tinte-leise);margin-bottom:var(--s3)}
.nd-ticket .paarung{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--s2);text-align:center}
.nd-ticket .paarung .team{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.nd-ticket .paarung b{font:700 16px/1.15 var(--text);overflow-wrap:anywhere}
.nd-ticket .paarung .gegen{font:400 32px/1 var(--anzeige);color:var(--tinte-leise)}
.nd-ticket .daten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-top:var(--s4);border-top:1px solid var(--linie);padding-top:var(--s3)}
.nd-ticket .daten div{min-width:0} .nd-ticket .daten small{display:block;font:700 11px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--tinte-leise)}
.nd-ticket .daten b{font:600 15px/1.25 var(--text);overflow-wrap:anywhere}
.nd-ticket-abriss .nd-tafel{margin-bottom:var(--s3)}
@media (min-width:700px){
  .nd-ticket.quer{grid-template-columns:minmax(0,1fr) 260px}
  .nd-ticket.quer .nd-ticket-abriss{border-top:0;border-left:2px dashed var(--tinte)}
  .nd-ticket.quer .nd-ticket-abriss::before{top:-10px;left:-9px;clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%)}
  .nd-ticket.quer .nd-ticket-abriss::after{top:auto;bottom:-10px;right:auto;left:-9px;clip-path:polygon(0 0,100% 0,100% 50%,0 50%)}
}

/* ================= Knöpfe ================= */
.nd .nd-knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ziel);min-width:var(--ziel);padding:10px 18px;
  border:2px solid var(--kontur);border-radius:2px;font:700 16px/1.15 var(--text);text-decoration:none;cursor:pointer;text-align:center;
  box-shadow:var(--hart);transition:transform var(--takt) steps(1),box-shadow var(--takt) steps(1);-webkit-user-select:none;user-select:none}
.nd-knopf:active{transform:translate(3px,3px);box-shadow:none}
.nd .nd-knopf.haupt{background:var(--flutlicht);color:var(--tinte)}
.nd .nd-knopf.zweit{background:var(--kreide);color:var(--tinte)}
.nd .nd-knopf.verein{background:var(--v-tief);color:#fff}
.nd .nd-knopf.leise{background:none;border-color:transparent;box-shadow:none;color:var(--v-text);padding:10px 6px;text-decoration:underline;text-underline-offset:3px}
.nd .nd-knopf.gefahr{background:var(--kreide);color:var(--rot);border-color:var(--rot);box-shadow:3px 3px 0 var(--rot)}
.nd-knopf.breit{width:100%}
.nd-knopf.gross{min-height:52px;font-size:18px}
.nd-knopf[disabled],.nd-knopf.aus{opacity:.55;cursor:default;transform:none;box-shadow:none}

/* ================= Banden-Reiter (statt Pillen) ================= */
.nd-reiter{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:3px solid var(--tinte);margin:0 0 var(--s4)}
.nd-reiter::-webkit-scrollbar{display:none}
.nd-reiter button,.nd .nd-reiter a{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:var(--ziel);padding:0 var(--s4);border:0;background:none;
  font:700 15px/1 var(--text);color:var(--tinte-leise);cursor:pointer;text-decoration:none;position:relative}
.nd-reiter .an{background:var(--tinte);color:var(--flutlicht)}
.nd-reiter .zahl{font:400 20px/1 var(--anzeige);color:inherit}

/* ================= Wimpel (statt Badges) ================= */
.nd-wimpel{display:inline-flex;align-items:center;height:24px;padding:0 16px 0 8px;font:700 12px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;
  background:var(--w-farbe,var(--v-tief));color:var(--w-schrift,#fff);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%);white-space:nowrap}
.nd-wimpel.gold{--w-farbe:var(--flutlicht);--w-schrift:var(--tinte)}
.nd-wimpel.rot{--w-farbe:var(--rot)} .nd-wimpel.tinte{--w-farbe:var(--tinte)} .nd-wimpel.rasen{--w-farbe:var(--rasen)}
.nd-wimpelreihe{display:flex;flex-wrap:wrap;gap:6px}

/* ================= Tabelle (Stadionzeitung) ================= */
.nd-tabelle{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.nd-tabelle th{font:700 11px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--tinte-leise);text-align:right;padding:0 6px 6px;border-bottom:2px solid var(--tinte)}
.nd-tabelle th:nth-child(2){text-align:left}
.nd-tabelle td{padding:0 6px;border-bottom:1px solid var(--linie);height:44px;text-align:right;white-space:nowrap}
.nd-tabelle td.platz{width:32px;text-align:center;font:400 24px/1 var(--anzeige)}
.nd-tabelle td.verein{text-align:left;width:100%;max-width:1px;overflow:hidden;text-overflow:ellipsis}
.nd-tabelle td.verein a{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--tinte);text-decoration:none;font-weight:600;overflow:hidden}
.nd-tabelle td.verein span{overflow:hidden;text-overflow:ellipsis}
.nd-tabelle td.punkte{font:400 24px/1 var(--anzeige);width:40px}
.nd-tabelle tr.ich td{background:var(--kreide);font-weight:700}
.nd-tabelle tr.ich td.platz{box-shadow:inset 4px 0 0 var(--v1)}
.nd-tabelle tr.auf td.platz{color:var(--gruen)} .nd-tabelle tr.ab td.platz{color:var(--rot)}
.nd-tabelle tr.grenze td{border-bottom:2px dashed var(--tinte-leise)}

/* ================= Spielerzeile / Spielerkarte ================= */
.nd-spielerliste{list-style:none;margin:0;padding:0}
.nd .nd-spieler{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);min-height:64px;padding:6px 0;border-bottom:1px solid var(--linie);
  color:var(--tinte);text-decoration:none;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;cursor:pointer}
.nd-spieler:hover{background:var(--kreide)}
.nd .nd-spieler.klein{min-height:72px}
.nd-spieler .name{display:block;font:700 17px/1.15 var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-spieler .info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:400 13px/1.3 var(--text);color:var(--tinte-leise);margin-top:2px}
.nd-spieler .pos{font:700 12px/1 var(--text);letter-spacing:.06em;color:var(--tinte);border:2px solid var(--tinte);padding:1px 4px}
.nd-spieler .stark{text-align:right}
.nd-spieler .stark b{display:block;font:400 32px/1 var(--anzeige)}
.nd-spieler .stark small{font:700 10px/1 var(--text);letter-spacing:.1em;color:var(--tinte-leise)}
.nd-spieler.gewaehlt{background:var(--kreide);box-shadow:inset 4px 0 0 var(--flutlicht)}
.nd-marke{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 3px;font:700 12px/1 var(--text);border:2px solid var(--kontur)}
.nd-marke.kapitaen{background:var(--flutlicht);color:var(--tinte)}
.nd-marke.verletzt{background:var(--kreide);color:var(--rot);border-color:var(--rot)}
.nd-marke.gesperrt{background:var(--rot);color:#fff;width:14px;min-width:14px;height:20px;padding:0}
.nd-marke.eigen{background:var(--rasen);color:#fff}

/* Segmentbalken (LED-Segmente statt glatter Balken) */
.nd-segmente{display:inline-grid;grid-template-columns:repeat(10,6px);gap:2px;vertical-align:middle}
.nd-segmente i{height:8px;background:var(--linie)}
.nd-segmente i.an{background:var(--s-farbe,var(--rasen))}
.nd-segmente.warn{--s-farbe:var(--gelbkarte)} .nd-segmente.neutral{--s-farbe:var(--tinte-leise)} .nd-segmente.schlecht{--s-farbe:var(--rot)}

/* ================= Taktiktafel ================= */
.nd-taktik{position:relative;aspect-ratio:68/88;width:100%;max-width:520px;margin:0 auto;border:2px solid var(--kontur);overflow:hidden;
  background:repeating-linear-gradient(180deg,var(--rasen) 0 10%,var(--rasen-hell) 10% 20%)}
.nd-taktik .linien{position:absolute;inset:4%;border:2px solid rgba(246,243,232,.85);pointer-events:none}
.nd-taktik .linien::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(246,243,232,.85)}
.nd-taktik .linien::after{content:'';position:absolute;left:50%;top:50%;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid rgba(246,243,232,.85)}
.nd-taktik .strafraum{position:absolute;left:24%;right:24%;height:14%;border:2px solid rgba(246,243,232,.85);pointer-events:none}
.nd-taktik .strafraum.oben{top:4%;border-top:0} .nd-taktik .strafraum.unten{bottom:4%;border-bottom:0}
.nd-taktik-platz{position:absolute;transform:translate(-50%,-58%);display:flex;flex-direction:column;align-items:center;gap:0;width:76px;min-height:var(--ziel);
  background:none;border:0;padding:0;cursor:pointer;color:var(--kreide)}
.nd-taktik-platz .nd-trikot{filter:drop-shadow(2px 2px 0 rgba(22,20,26,.6))}
.nd-taktik-platz .figur-box{position:relative;display:block;width:68px;height:62px;overflow:hidden}
.nd-taktik-platz .figur-box .nd-nr{right:4px;bottom:2px;font-size:14px;line-height:14px;min-width:16px}
.nd-taktik-platz.gewaehlt .figur-box{outline:3px solid var(--flutlicht);outline-offset:-1px}
.nd-taktik-platz .nm{max-width:76px;margin-top:-4px;font:700 12px/1.1 var(--text);background:var(--nacht);color:var(--kreide);padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-taktik-platz .pz{font:700 10px/1 var(--text);letter-spacing:.06em;color:var(--kreide);text-shadow:1px 1px 0 var(--kontur)}
.nd-taktik-platz.gewaehlt .nd-trikot{outline:3px solid var(--flutlicht);outline-offset:2px}
.nd-taktik-platz.leer .nd-trikot{opacity:.55}
.nd-taktik-platz .marken{position:absolute;top:-4px;right:8px;display:flex;gap:2px}
.nd-taktik.klein .nd-taktik-platz .nm{max-width:72px;font-size:11px}

/* Regler (segmentiert, Kreide) */
.nd-regler{display:grid;gap:6px}
.nd-regler .wahl{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));padding:0 2px 2px 0}
.nd-regler .wahl button{min-height:var(--ziel);border:2px solid var(--tinte);margin:0 -2px -2px 0;background:var(--kreide);font:600 14px/1.1 var(--text);cursor:pointer;padding:4px 2px;hyphens:auto}
.nd-regler .wahl button.an{background:var(--tinte);color:var(--flutlicht);position:relative}
.nd-regler .wahl.zahlen{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}
.nd-regler .wahl.zahlen button{font:400 24px/1 var(--anzeige)}
.nd-regler label,.nd-regler .titel{font:700 13px/1.2 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--tinte-leise)}

/* Abriss-Leiste (Hauptaktion in der Daumenzone, über der Navigation) */
.nd-abrissleiste{position:fixed;left:0;right:0;bottom:calc(var(--leiste-h) + env(safe-area-inset-bottom,0px));z-index:44;background:var(--kreide);border-top:2px dashed var(--tinte);
  padding:var(--s2) var(--s4);display:flex;align-items:center;gap:var(--s3);justify-content:space-between}
.nd-abrissleiste .was{font:600 14px/1.2 var(--text)}
@media (min-width:1024px){ .nd-abrissleiste{left:232px;bottom:0} }

/* ================= Leer, Laden, Fehler ================= */
.nd-leer{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border:2px dashed var(--linie);color:var(--tinte-leise);font-size:15px}
.nd-leer .nd-portrait{background:var(--papier)}
.nd-laden{display:grid;gap:10px;padding:4px 0}
.nd-laden i{display:block;height:12px;background:repeating-linear-gradient(90deg,var(--linie) 0 12px,transparent 12px 16px);animation:ndLaden 1s steps(4) infinite}
.nd-laden i:nth-child(2){width:80%} .nd-laden i:nth-child(3){width:60%}
.nd-tafel .nd-laden i,.nd-kabine .nd-laden i{background:repeating-linear-gradient(90deg,rgba(246,243,232,.25) 0 12px,transparent 12px 16px)}
@keyframes ndLaden{50%{opacity:.45}}
.nd-fehler{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:var(--s3);border:2px solid var(--rot);background:var(--kreide);color:var(--tinte)}

/* ================= Stadiondurchsage (Toast) ================= */
.nd-durchsage{position:fixed;left:50%;bottom:calc(var(--leiste-h) + 16px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);z-index:80;
  width:min(520px,calc(100vw - 32px));background:var(--nacht);border:2px solid var(--kontur);box-shadow:var(--hart);padding:10px var(--s4);
  display:flex;align-items:center;gap:var(--s3);opacity:0;pointer-events:none;transition:opacity 250ms steps(2),transform 250ms steps(2)}
.nd-durchsage::before{content:'';flex:0 0 auto;width:12px;height:12px;background:var(--flutlicht);box-shadow:0 0 0 2px var(--nacht),0 0 0 4px var(--flutlicht-tief)}
.nd-durchsage span{font:600 16px/1.3 var(--text);color:var(--flutlicht)}
.nd-durchsage.an{opacity:1;transform:translate(-50%,0)}
.nd-durchsage.hoch{bottom:calc(var(--leiste-h) + 84px + env(safe-area-inset-bottom,0px))}
.nd-durchsage.fehler::before{background:var(--rot);box-shadow:0 0 0 2px var(--nacht),0 0 0 4px #7a2418}
.nd-durchsage.fehler span{color:#ffd9d2}
@media (min-width:1024px){ .nd-durchsage{bottom:24px;left:calc(50% + 116px)} .nd-durchsage.hoch{bottom:96px} }

/* ================= Gelände, Kurve, Feier ================= */
.nd-gelaende{position:relative;background:var(--rasen);border:2px solid var(--kontur);overflow:hidden;touch-action:pan-y;cursor:grab;height:var(--g-h,300px)}
.nd-gelaende canvas{position:absolute;left:0;top:0;display:block}
@media (min-width:1024px){ .nd-gelaende{height:max(var(--g-h,300px),520px)} }
.nd-gelaende.zieht{cursor:grabbing}
.nd-gelaende .hinweis{position:absolute;left:8px;bottom:8px;background:var(--nacht);color:var(--kreide);font:600 13px/1.2 var(--text);padding:6px 10px;border:2px solid var(--kontur);pointer-events:none}
.nd-gelaende-karte{position:absolute;z-index:3;left:8px;right:8px;bottom:8px;background:var(--kreide);border:2px solid var(--kontur);box-shadow:var(--hart);padding:var(--s3);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s3);align-items:center}
.nd-gelaende-karte h3{font:400 32px/1 var(--anzeige)}
.nd-gelaende-karte p{font-size:14px;color:var(--tinte-leise);grid-column:1/-1}
@media (min-width:700px){ .nd-gelaende-karte{left:auto;width:340px} }
.nd-gelaende-liste{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s2)}
.nd-gelaende-liste button{min-height:var(--ziel);padding:0 12px;border:2px solid var(--tinte);background:var(--kreide);font:600 14px/1 var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nd-gelaende-liste button .stufe{font:400 20px/1 var(--anzeige);color:var(--tinte-leise)}
.nd-kurve{display:block;width:100%;border:2px solid var(--kontur);background:var(--nacht)}
.nd-funken{position:fixed;inset:0;pointer-events:none;z-index:70;width:100%;height:100%}

/* Stufen-Kerben (Ausbaustufe sichtbar) */
.nd-stufen{display:inline-flex;gap:3px;vertical-align:middle}
.nd-stufen i{width:10px;height:14px;border:2px solid var(--kontur);background:var(--kreide)}
.nd-stufen i.an{background:var(--v1)}

/* Fuß */
.nd-fuss{margin:var(--s6) 0 0;padding-top:var(--s3);border-top:1px solid var(--linie);font-size:13px;color:var(--tinte-leise);display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}
.nd .nd-fuss a{color:var(--tinte-leise);display:inline-flex;align-items:center;min-height:var(--ziel)}

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

/* ======================================================================
   Paket 3/4 (Redesign Phase B, 18.10.2026) – Ergänzungen, rein additiv.
   Formularfelder, öffentlicher Rahmen (Anmeldung/Einstieg), Lesetext, Kennzahlzeilen.
   ====================================================================== */

/* ---- Paket 3/4: Formularfelder (Eingabe, Auswahl, Textfeld, Haken, Schalter, Fehlertext) ---- */
.nd-formular{display:grid;gap:var(--s4);min-width:0}
.nd-eingabefeld{display:grid;gap:6px;min-width:0}
.nd-eingabefeld > label,.nd-eingabefeld > .titel{font:700 13px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--tinte)}
.nd-eingabefeld .pflicht{color:var(--rot);margin-left:2px}
.nd-eingabefeld .hilfe{font:400 13px/1.35 var(--text);color:var(--tinte-leise)}
.nd-eingabe-box{position:relative;display:flex;min-width:0}
.nd .nd-eingabe,.nd .nd-auswahl,.nd .nd-textfeld{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:2px solid var(--tinte);border-radius:0;background:var(--kreide);
  color:var(--tinte);font:400 17px/1.3 var(--text);box-shadow:inset 2px 2px 0 var(--papier-tief);-webkit-appearance:none;appearance:none}
.nd .nd-textfeld{min-height:112px;resize:vertical}
.nd .nd-eingabe::placeholder,.nd .nd-textfeld::placeholder{color:#8a8f7e}
.nd .nd-eingabe:focus,.nd .nd-auswahl:focus,.nd .nd-textfeld:focus{outline:3px solid var(--flutlicht);outline-offset:0;border-color:var(--kontur)}
.nd .nd-eingabe[disabled],.nd .nd-auswahl[disabled],.nd .nd-textfeld[disabled]{background:var(--papier-tief);color:var(--tinte-leise)}
.nd .nd-eingabe.zahl{font:400 24px/1 var(--anzeige);letter-spacing:.06em}
.nd .nd-eingabe.code{font:400 24px/1 var(--anzeige);letter-spacing:.12em;text-transform:uppercase}
/* Auswahl: Pfeil als Pixelsymbol (12er-Raster, P = 2) */
.nd .nd-auswahl{padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Cpath d='M2 4h8v1h-1v1h-1v1h-1v1h-2v-1h-1v-1h-1v-1h-1z' fill='%231c2a20'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:24px 24px}
.nd-eingabe-box .nd-zeigen{position:absolute;right:2px;top:2px;bottom:2px;min-width:var(--ziel);padding:0 10px;border:0;border-left:2px solid var(--linie);background:var(--kreide);
  font:700 13px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--v-text);cursor:pointer}
.nd-eingabe-box .nd-eingabe.mit-zeigen{padding-right:84px}
/* Fehlerzustand: rote Kante + Fehlertext mit Karten-Marke */
.nd-eingabefeld.fehler .nd-eingabe,.nd-eingabefeld.fehler .nd-auswahl,.nd-eingabefeld.fehler .nd-textfeld{border-color:var(--rot);box-shadow:inset 2px 2px 0 #f1d2cb}
.nd .nd-fehlertext{display:flex;align-items:flex-start;gap:8px;font:600 14px/1.35 var(--text);color:#a3301f;margin:0}
.nd .nd-fehlertext::before{content:'';flex:0 0 auto;width:10px;height:14px;margin-top:2px;background:var(--rot);border:2px solid var(--kontur)}
.nd .nd-fehlertext:empty{display:none}
.nd .nd-okhinweis{display:flex;align-items:flex-start;gap:8px;font:600 14px/1.35 var(--text);color:var(--gruen);margin:0}
.nd .nd-okhinweis::before{content:'\2713';font:700 14px/1 var(--text)}
.nd .nd-okhinweis:empty{display:none}
/* Haken (Checkbox) und Schalter: eckig, kein Pillen-Schieber */
.nd-haken{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;min-height:var(--ziel);padding:8px 0;cursor:pointer;font:400 15px/1.4 var(--text)}
.nd-haken input{position:absolute;opacity:0;width:1px;height:1px}
.nd-haken .box{width:28px;height:28px;border:2px solid var(--tinte);background:var(--kreide);display:grid;place-items:center;box-shadow:inset 2px 2px 0 var(--papier-tief)}
.nd-haken .box::after{content:'';width:12px;height:12px;background:transparent}
.nd-haken input:checked + .box{background:var(--tinte)}
.nd-haken input:checked + .box::after{background:var(--flutlicht)}
.nd-haken input:focus-visible + .box{outline:3px solid var(--flutlicht);outline-offset:2px}
.nd-haken small{display:block;font-size:13px;color:var(--tinte-leise)}
.nd-schalter{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:56px;padding:8px 0;border-bottom:1px solid var(--linie);cursor:pointer}
.nd-schalter .was{min-width:0;font:600 16px/1.3 var(--text)}
.nd-schalter .was small{display:block;font:400 13px/1.35 var(--text);color:var(--tinte-leise)}
.nd-schalter input{position:absolute;opacity:0;width:1px;height:1px}
.nd-schalter .knebel{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;width:88px;height:36px;border:2px solid var(--tinte);background:var(--kreide);box-shadow:var(--hart)}
.nd-schalter .knebel::before,.nd-schalter .knebel::after{display:grid;place-items:center;font:400 20px/1 var(--anzeige)}
.nd-schalter .knebel::before{content:attr(data-aus);background:var(--tinte);color:var(--kreide)}
.nd-schalter .knebel::after{content:attr(data-an);color:var(--tinte-leise)}
.nd-schalter input:checked + .knebel::before{background:none;color:var(--tinte-leise)}
.nd-schalter input:checked + .knebel::after{background:var(--rasen);color:#fff}
.nd-schalter input:focus-visible + .knebel{outline:3px solid var(--flutlicht);outline-offset:2px}
.nd-schalter input:disabled + .knebel{opacity:.5}
/* Feldgruppe (Fieldset) wie ein Abschnitt im Programmheft */
.nd-feldgruppe{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s3)}
.nd-feldgruppe > legend{padding:0;margin-bottom:var(--s2);font:400 32px/1 var(--anzeige)}
.nd-formular-fuss{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
@media (min-width:700px){ .nd-felder.zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4)} }
.nd-felder{display:grid;gap:var(--s4)}

/* ---- Paket 3/4: Öffentlicher Rahmen (Anmelden, Registrieren, Einstieg, Anleitung, Rechtliches) ---- */
body.nd.offen{display:flex;flex-direction:column;min-height:100vh}
body.nd.offen > .nd-offen-fuss{margin-top:auto}
.nd-offen-kopf{background:var(--v-tief);border-bottom:2px solid var(--kontur);color:var(--kreide);padding-top:env(safe-area-inset-top,0px)}
.nd-offen-kopf-in{display:flex;align-items:center;gap:var(--s3);min-height:60px;padding:0 var(--s4);max-width:var(--seite-max);margin:0 auto}
.nd .nd-wortmarke{display:inline-flex;align-items:center;gap:10px;color:var(--kreide);text-decoration:none;min-height:var(--ziel);min-width:0}
.nd-wortmarke b{font:400 32px/1 var(--anzeige);letter-spacing:.02em;white-space:nowrap}
.nd-wortmarke b span{color:var(--flutlicht)}
.nd-offen-kopf nav{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}
.nd .nd-offen-kopf nav a{color:var(--kreide);font:600 15px/1 var(--text);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--ziel);padding:0 8px}
.nd .nd-offen-kopf nav a.an{color:var(--flutlicht)}
.nd-offen-haupt{max-width:var(--seite-max);margin:var(--s4) var(--blatt-rand) var(--s5);padding:var(--s5) var(--blatt-pad) var(--s5);
  background:var(--blatt);border:2px solid var(--kontur);box-shadow:var(--hart)}
@media (min-width:600px){ .nd-offen-haupt{margin:var(--s5) auto var(--s6);width:calc(100% - 32px)} }
@media (min-width:1024px){ .nd-offen-haupt{padding:var(--s5) var(--s6)} }
.nd-offen-haupt.schmal{max-width:560px}
.nd-offen-fuss{background:var(--nacht);border-top:2px solid var(--kontur);color:#a9b8a2;padding:var(--s4) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom,0px));font-size:13px}
.nd-offen-fuss-in{max-width:var(--seite-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center}
.nd .nd-offen-fuss a{color:#c9d4c4;display:inline-flex;align-items:center;min-height:var(--ziel)}
.nd-offen-fuss .rechts{margin-left:auto}
/* Sprachwahl als Bande */
.nd-sprachen{display:flex;flex-wrap:wrap;gap:0;border:2px solid var(--tinte)}
.nd .nd-sprachen a{min-width:var(--ziel);min-height:var(--ziel);display:inline-grid;place-items:center;font:400 20px/1 var(--anzeige);color:var(--tinte);text-decoration:none;border-right:2px solid var(--tinte)}
.nd .nd-sprachen a:last-child{border-right:0}
.nd .nd-sprachen a.an{background:var(--tinte);color:var(--flutlicht)}
/* Anmeldekarte: Eintrittskarte als Rahmen für Formulare */
.nd-einlass{background:var(--kreide);border:2px solid var(--kontur);box-shadow:var(--hart);min-width:0}
.nd-einlass > .kopf{padding:var(--s4);border-top:12px solid transparent;border-image:repeating-linear-gradient(90deg,var(--v1) 0 16px,var(--v2) 16px 32px) 12;border-bottom:2px dashed var(--tinte)}
.nd-einlass > .kopf h1,.nd-einlass > .kopf h2{font:400 48px/.9 var(--anzeige)}
.nd-einlass > .kopf p{margin-top:6px;color:var(--tinte-leise)}
.nd-einlass > .rumpf{padding:var(--s4)}
.nd-einlass > .abriss{padding:var(--s3) var(--s4);border-top:2px dashed var(--tinte);background:var(--papier);font-size:14px}
@media (max-width:420px){ .nd-einlass > .kopf h1,.nd-einlass > .kopf h2{font-size:40px} }

/* ---- Paket 3/4: Lesetext (Anleitung, Rechtliches, Zeitung) ---- */
.nd-lesetext{max-width:68ch;font:400 16px/1.55 var(--text);color:var(--tinte);overflow-wrap:anywhere}
.nd-lesetext h2{font:400 32px/1 var(--anzeige);margin:var(--s5) 0 var(--s2);padding-bottom:4px;border-bottom:3px solid var(--tinte)}
.nd-lesetext h3{font:700 17px/1.3 var(--text);margin:var(--s4) 0 var(--s1)}
.nd-lesetext p,.nd-lesetext ul,.nd-lesetext ol,.nd-lesetext table{margin:0 0 var(--s3)}
.nd-lesetext ul,.nd-lesetext ol{padding-left:1.3em}
.nd-lesetext li{margin:0 0 4px}
.nd-lesetext ul li::marker{content:'\25A0  ';color:var(--v-text);font-size:.7em}
.nd-lesetext a{color:var(--v-text);font-weight:600}
.nd-lesetext strong,.nd-lesetext b{font-weight:700}
.nd-lesetext table{width:100%;border-collapse:collapse;font-size:15px}
.nd-lesetext th,.nd-lesetext td{border-bottom:1px solid var(--linie);padding:8px 6px;text-align:left;vertical-align:top}
.nd-lesetext th{font:700 12px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--tinte-leise);border-bottom:2px solid var(--tinte)}
.nd-lesetext code{font:400 18px/1 var(--anzeige);background:var(--kreide);padding:0 4px;border:1px solid var(--linie)}
/* Inhaltsverzeichnis als Banden-Liste */
.nd-inhalt-liste{list-style:none;margin:0;padding:0;border-top:2px solid var(--tinte)}
.nd .nd-inhalt-liste a{display:flex;align-items:center;gap:var(--s3);min-height:var(--ziel);padding:4px 0;border-bottom:1px solid var(--linie);color:var(--tinte);font:600 15px/1.25 var(--text);text-decoration:none}
.nd-inhalt-liste a .nd-zahl{font-size:20px;color:var(--v-text);min-width:28px}

/* ---- Paket 3/4: Kennzahlzeilen (Bilanz, Buchungen) und Fortschritt ---- */
.nd-kennzeilen{list-style:none;margin:0;padding:0}
.nd-kennzeilen > li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);align-items:center;min-height:var(--ziel);padding:6px 0;border-bottom:1px solid var(--linie)}
.nd-kennzeilen .was{min-width:0;font:600 15px/1.3 var(--text);overflow-wrap:anywhere}
.nd-kennzeilen .was small{display:block;font:400 13px/1.3 var(--text);color:var(--tinte-leise)}
.nd-kennzeilen .wert{font:400 24px/1 var(--anzeige);white-space:nowrap;text-align:right}
.nd-kennzeilen .plus{color:var(--gruen)} .nd-kennzeilen .minus{color:var(--rot)}
.nd-kennzeilen > li.summe{border-top:3px solid var(--tinte);border-bottom:0}
.nd-kennzeilen > li.summe .was{font-weight:700}
.nd-balken{display:block;height:16px;border:2px solid var(--tinte);background:var(--kreide);position:relative;overflow:hidden}
.nd-balken i{position:absolute;left:0;top:0;bottom:0;background:repeating-linear-gradient(90deg,var(--v1) 0 8px,var(--v-tief) 8px 10px)}
.nd-balken.gold i{background:repeating-linear-gradient(90deg,var(--flutlicht) 0 8px,var(--flutlicht-tief) 8px 10px)}
/* Ehrentafel/Urkunde (Auszeichnungen, Museum, Rückblick) */
.nd-urkunde{background:var(--kreide);border:2px solid var(--kontur);outline:2px solid var(--kreide);outline-offset:-8px;box-shadow:var(--hart);padding:var(--s5) var(--s4);text-align:left;position:relative}
.nd-urkunde .nd-kicker{margin-bottom:4px}
.nd-urkunde h2,.nd-urkunde h3{font:400 32px/1 var(--anzeige)}

/* =====================================================================
   Paket 1/2 (Phase B, 18.10.2026): Spieltag/Wettbewerb, Kader/Markt/Sammeln – nur additiv
   ===================================================================== */
:root{
  /* Seltenheiten (Quelle kickoff/constants.py RARITY_COLORS, für Text auf Papier abgedunkelt) */
  --r-bronze:#9a5a2b; --r-silber:#7d858a; --r-gold:#a8810a; --r-diamant:#2b8f88; --r-legendaer:#7b3f99; --r-ikone:#b86e0a;
  --gegner:#5b6670;
}
/* Bereichs-Reiter (Unterseiten) */
.nd-reiter.nd-bereich{margin:-4px 0 var(--s4)}
.nd .nd-reiter.nd-bereich a.an{background:var(--tinte);color:var(--flutlicht)}

/* Eingabefelder */
.nd-feld-box{display:grid;gap:4px;min-width:0}
.nd-feld-box > span{font:700 13px/1.2 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--tinte-leise)}
.nd .nd-feld{width:100%;min-height:var(--ziel);padding:8px 10px;border:2px solid var(--tinte);border-radius:0;background:var(--kreide);color:var(--tinte);font:400 16px/1.2 var(--text);-webkit-appearance:none;appearance:none}
.nd select.nd-feld{padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--tinte) 50%),linear-gradient(135deg,var(--tinte) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.nd .nd-feld:focus{outline:3px solid var(--flutlicht);outline-offset:0}
.nd-feldreihe{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}

/* Preisschild */
.nd-preisschild{display:inline-flex;align-items:baseline;gap:4px;padding:2px 10px 2px 18px;background:var(--kreide);border:2px solid var(--kontur);position:relative;white-space:nowrap;
  font:700 13px/1 var(--text);color:var(--tinte-leise)}
.nd-preisschild::before{content:'';position:absolute;left:5px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--blatt);border:2px solid var(--kontur)}
.nd-preisschild b{font:400 24px/1 var(--anzeige);color:var(--tinte)}

/* Generische Zeile (Listen ohne Tabelle) */
.nd-zeilen{list-style:none;margin:0;padding:0}
.nd .nd-zeile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);min-height:56px;padding:6px 0;border-bottom:1px solid var(--linie);
  color:var(--tinte);text-decoration:none;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}
.nd a.nd-zeile:hover,.nd button.nd-zeile:hover{background:var(--kreide);cursor:pointer}
.nd-zeile .titel{display:block;font:700 17px/1.2 var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-zeile .unter{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font:400 13px/1.3 var(--text);color:var(--tinte-leise);margin-top:2px}
.nd-zeile .rechts{display:flex;align-items:center;gap:var(--s2);justify-content:flex-end;flex-wrap:wrap}
.nd-zeile .aktionen{grid-column:1/-1;display:flex;gap:var(--s2);flex-wrap:wrap;padding-bottom:4px}

/* Spielzeile (Ergebnis/Termin): Datum | Heim | Stand | Gast */
.nd .nd-spielzeile{display:grid;grid-template-columns:64px minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:6px;min-height:56px;padding:6px 6px 6px 8px;
  border-bottom:1px solid var(--linie);color:var(--tinte);text-decoration:none;box-shadow:inset 4px 0 0 transparent}
.nd a.nd-spielzeile:hover{background:var(--kreide)}
.nd-spielzeile .wann{font:400 18px/1 var(--anzeige);color:var(--tinte-leise);white-space:nowrap}
.nd-spielzeile .wann small{display:block;font:700 11px/1.2 var(--text);letter-spacing:.06em}
.nd-spielzeile .heim,.nd-spielzeile .gast{display:flex;align-items:center;gap:6px;min-width:0;font:600 15px/1.15 var(--text)}
.nd-spielzeile .heim{justify-content:flex-end;text-align:right}
.nd-spielzeile .heim b,.nd-spielzeile .gast b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-spielzeile .ich b{font-weight:700;color:var(--v-text)}
.nd-spielzeile .stand{justify-self:center;min-width:56px;padding:4px 6px;background:var(--nacht);color:var(--flutlicht);font:400 24px/1 var(--anzeige);text-align:center;border:2px solid var(--kontur)}
.nd-spielzeile .stand.offen{background:none;color:var(--tinte-leise);border-color:var(--linie)}
.nd-spielzeile.sieg{box-shadow:inset 4px 0 0 var(--gruen)} .nd-spielzeile.niederlage{box-shadow:inset 4px 0 0 var(--rot)} .nd-spielzeile.remis{box-shadow:inset 4px 0 0 var(--tinte-leise)}
.nd-spielzeile.live .stand{animation:ndBlink 1s steps(2) infinite}
.nd-spielzeile .art{grid-column:2/-1;font:700 11px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--tinte-leise);margin-top:-4px}
@media (max-width:420px){ .nd .nd-spielzeile{grid-template-columns:56px minmax(0,1fr) 54px minmax(0,1fr);gap:4px} .nd-spielzeile .wann{font-size:16px}
  .nd-spielzeile .heim img,.nd-spielzeile .gast img{display:none} .nd-spielzeile .stand{min-width:50px;font-size:22px} .nd-spielzeile .heim,.nd-spielzeile .gast{font-size:14px} }

/* Turnierbaum: Runden nebeneinander (gezielte Querleiste), jede Paarung wie ein Tafelkärtchen */
.nd-baum{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:var(--s4);overflow-x:auto;padding:0 0 var(--s2);scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.nd-baum .runde{display:flex;flex-direction:column;justify-content:space-around;gap:var(--s3);scroll-snap-align:start;min-width:0}
.nd-baum .runde h3{font:700 13px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--v-text);margin:0}
.nd .nd-paarung{display:block;border:2px solid var(--tinte);background:var(--kreide);text-decoration:none;color:var(--tinte)}
.nd-paarung .seite{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-height:40px;padding:2px 8px}
.nd-paarung .seite + .seite{border-top:1px solid var(--linie)}
.nd-paarung .seite b{font:600 14px/1.15 var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-paarung .seite .tore{font:400 24px/1 var(--anzeige)}
.nd-paarung .seite.sieger{background:var(--papier)} .nd-paarung .seite.sieger b{font-weight:700}
.nd-paarung .seite.raus{color:var(--tinte-leise)}
.nd-paarung.ich{box-shadow:var(--hart);border-color:var(--kontur)}
.nd-paarung .seite.ich b{color:var(--v-text)}
.nd-paarung .wann{display:block;padding:2px 8px;font:700 11px/1.4 var(--text);letter-spacing:.06em;color:var(--tinte-leise);border-top:1px dashed var(--linie)}
.nd-baum-hinweis{font-size:13px;color:var(--tinte-leise);margin:0 0 var(--s2)}

/* Zeitleiste (Spielbericht, Live-Ticker): Minute auf LED, Symbol, Text */
.nd-zeitleiste{list-style:none;margin:0;padding:0}
.nd-zeitleiste li{display:grid;grid-template-columns:44px 24px minmax(0,1fr);gap:var(--s2);align-items:start;padding:8px 0;border-bottom:1px solid var(--linie)}
.nd-zeitleiste .min{background:var(--nacht);color:var(--flutlicht);font:400 20px/24px var(--anzeige);text-align:center;border:2px solid var(--kontur)}
.nd-zeitleiste .sym{display:grid;place-items:center;height:28px;color:var(--tinte-leise)}
.nd-zeitleiste .text{font:400 15px/1.4 var(--text);min-width:0;overflow-wrap:anywhere}
.nd-zeitleiste li.tor{background:var(--kreide)} .nd-zeitleiste li.tor .sym{color:var(--tinte)} .nd-zeitleiste li.tor .text{font-weight:600}
.nd-zeitleiste li.tor.ich{box-shadow:inset 4px 0 0 var(--v1)}
.nd-zeitleiste li.gelb .sym{color:var(--gelbkarte)} .nd-zeitleiste li.rot .sym{color:var(--rot)} .nd-zeitleiste li.wechsel .sym{color:var(--gruen)}
.nd-zeitleiste li.phase{grid-template-columns:minmax(0,1fr);text-align:center;font:700 12px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--tinte-leise);border-bottom:2px solid var(--tinte)}

/* Duell-Balken (Spielstatistik Heim gegen Gast, harte Segmente) */
.nd-duelle{display:grid;gap:10px}
.nd-duell{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:6px 8px}
.nd-duell .wert{font:400 24px/1 var(--anzeige)} .nd-duell .wert.r{text-align:right}
.nd-duell .was{text-align:center;font:700 12px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--tinte-leise)}
.nd-duell .balken{grid-column:1/-1;display:flex;height:8px;border:2px solid var(--kontur);background:var(--kreide)}
.nd-duell .balken i{display:block;height:100%} .nd-duell .balken i.h{background:var(--d-heim,var(--v1))} .nd-duell .balken i.a{background:var(--d-gast,var(--gegner));margin-left:auto}

/* Werteliste (Spielerwerte mit Segmenten) */
.nd-werteliste{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px var(--s5)}
.nd-wert{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;min-height:32px;border-bottom:1px solid var(--linie-hell)}
.nd-wert span{font:400 14px/1.2 var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-wert b{font:400 24px/1 var(--anzeige);text-align:right}
.nd-wert.stark span{font-weight:700}

/* Sammelkarte (Album, Sammlung, Packs): Folientasche im Album, Seltenheit als Band */
.nd-kartenraster{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s4) var(--s3)}
@media (max-width:420px){ .nd-kartenraster{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s2)} }
.nd .nd-sammelkarte{--r:var(--r-bronze);display:flex;flex-direction:column;align-items:center;min-width:0;background:var(--kreide);border:2px solid var(--kontur);box-shadow:var(--hart);
  text-decoration:none;color:var(--tinte);position:relative;padding:0 0 8px;cursor:pointer;font:inherit;text-align:center;width:100%}
.nd-sammelkarte .band{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:22px;padding:0 6px;background:var(--r);color:#fff;
  font:700 11px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--kontur)}
.nd-sammelkarte .band .nd-zahl{font-size:18px;letter-spacing:0}
.nd-sammelkarte .bild{display:block;width:128px;height:96px;overflow:hidden;position:relative;margin:6px auto 0;background:repeating-linear-gradient(180deg,var(--rasen) 0 12px,var(--rasen-hell) 12px 24px);border:2px solid var(--kontur)}
.nd-sammelkarte .bild img{position:absolute;left:0;top:-8px;width:128px;height:128px}
.nd-sammelkarte .bild img.wappen{left:32px;top:16px;width:64px;height:64px}
.nd-sammelkarte b.nm{display:block;max-width:100%;padding:6px 6px 0;font:700 14px/1.2 var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-sammelkarte small{display:block;font:400 12px/1.3 var(--text);color:var(--tinte-leise);padding:0 6px}
.nd-sammelkarte.fehlt{box-shadow:none;border-style:dashed;border-color:var(--tinte-leise);background:var(--papier);color:var(--tinte-leise)}
.nd-sammelkarte.fehlt .bild{background:var(--papier-tief);border-style:dashed}
.nd-sammelkarte.fehlt .bild img{filter:brightness(0) opacity(.25)}
.nd-sammelkarte .anzahl{position:absolute;right:-6px;top:16px;min-width:26px;height:26px;padding:0 4px;background:var(--flutlicht);border:2px solid var(--kontur);font:400 20px/22px var(--anzeige)}
.nd-sammelkarte.r-bronze{--r:var(--r-bronze)} .nd-sammelkarte.r-silber{--r:var(--r-silber)} .nd-sammelkarte.r-gold{--r:var(--r-gold)}
.nd-sammelkarte.r-diamant{--r:var(--r-diamant)} .nd-sammelkarte.r-legendaer{--r:var(--r-legendaer)} .nd-sammelkarte.r-ikone{--r:var(--r-ikone)}
.nd-seltenheit{display:inline-block;padding:1px 6px;font:700 11px/1.4 var(--text);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--r,var(--r-bronze));border:2px solid var(--kontur)}
.nd-seltenheit.r-bronze{--r:var(--r-bronze)} .nd-seltenheit.r-silber{--r:var(--r-silber)} .nd-seltenheit.r-gold{--r:var(--r-gold)}
.nd-seltenheit.r-diamant{--r:var(--r-diamant)} .nd-seltenheit.r-legendaer{--r:var(--r-legendaer)} .nd-seltenheit.r-ikone{--r:var(--r-ikone)}

/* Bestätigen im Blatt */
.nd-frage p{margin:0 0 var(--s4);font-size:16px}
.nd-frage .knoepfe{display:flex;gap:var(--s3);flex-wrap:wrap}

/* Fortschritt in Kreide-Kästchen (Album-Seite, Sammelziel) */
.nd-fortschritt{display:flex;height:16px;border:2px solid var(--kontur);background:var(--kreide)}
.nd-fortschritt i{display:block;height:100%;background:var(--v1);border-right:2px solid var(--kontur)}
.nd-fortschritt i[style*="width:0"]{border-right:0}

/* Seitenblock mit Abriss-Knopfleiste im Inhalt (Hauptaktion unten am Handy) */
.nd-knopfreihe{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}
.nd-hinweis{font-size:14px;color:var(--tinte-leise)}
/* Paket 1/2: Stapel in Rastern nie breiter als die Spalte (breite Tabellen, Turnierbaum) */
.nd-stapel{grid-template-columns:minmax(0,1fr)}
/* Paket 1/2: Wappen im Seitenkopf nur ganzzahlig (32er-Kunst ×2), Kartenraster ohne Überbreite */
@media (max-width:420px){ .nd-seitenkopf .wappen{width:64px;height:64px} }
.nd-kartenraster > *,.nd .nd-sammelkarte{min-width:0}
/* ---- Paket 3/4: Banden-Reiter als Link – aktiver Zustand (.nd .nd-reiter a ist spezifischer als .nd-reiter .an) ---- */
.nd .nd-reiter a.an{background:var(--tinte);color:var(--flutlicht)}
/* ---- Paket 3/4: Fußlinks im öffentlichen Rahmen mit vollem Tipp-Ziel ---- */
.nd .nd-offen-fuss a{min-width:var(--ziel);justify-content:center;padding:0 4px}
.nd-sprachen{width:fit-content;max-width:100%}

/* ---- Redesign C (18.10.): Umschalter Neues/Altes Design im Mehr-Blatt und in der Seitenleiste ---- */
.nd-blatt-design{padding:0 var(--s4)}
.nd-blatt-design .nd-schalter{border-bottom:0}
.nd-seitenleiste .unten .nd-schalter{border-bottom:0;padding:8px 0 0;min-height:var(--ziel);position:relative}
.nd-seitenleiste .unten .nd-schalter .was{color:var(--kreide);font-size:14px}

/* ===== Parität 18.10.2026: Mehr-Menü (gruppiert), Schnellfinder/Suche, Pro-Einstieg, Fußwege ===== */
.nd-blatt-inhalt > .nd-mehr{margin:calc(var(--s4) * -1)}
.nd-mehr-suche{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:2px solid var(--linie);color:var(--v-text)}
.nd .nd-mehr-suche input{flex:1 1 auto;min-width:0;min-height:48px;padding:0 var(--s3);font:400 16px/1.2 var(--text);color:var(--tinte);background:var(--kreide);border:2px solid var(--tinte);border-radius:0;-webkit-appearance:none;appearance:none}
.nd-mehr-gruppe h3,.nd-treffer h3{margin:0;padding:var(--s4) var(--s4) 6px;font:700 13px/1.2 var(--text);text-transform:uppercase;letter-spacing:.08em;color:var(--v-text);border-bottom:2px solid var(--linie)}
.nd-mehr-gruppe.pro{border-left:4px solid var(--flutlicht);background:var(--kreide)}
.nd-mehr-gruppe.pro h3{color:var(--tinte)}
.nd-mehr-gruppe.pro .nd-symbol{color:var(--flutlicht-tief)}
.nd .nd-blatt-liste a.an,.nd .nd-blatt-liste a[aria-current]{background:var(--papier-tief);box-shadow:inset 4px 0 0 var(--flutlicht)}
.nd-blatt-liste a > span,.nd-blatt-liste button > span{min-width:0}
.nd .nd-blatt-liste small.nd-alt-marke{flex:0 0 auto;padding:2px 6px;border:1px dashed var(--linie);font:400 12px/1.2 var(--text);color:var(--tinte-leise);white-space:nowrap}
.nd .nd-blatt-liste small.nd-mehr-zahl{flex:0 0 auto;padding:2px 6px;background:var(--rot);color:#fff;font:700 13px/1.2 var(--text)}
.nd-sprachwahl{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:var(--s3) var(--s4);border-bottom:1px solid var(--linie)}
.nd-sprachwahl > span{flex:1 0 100%;display:flex;align-items:center;gap:var(--s3);font:600 16px/1.2 var(--text);color:var(--tinte);margin-bottom:2px}
.nd-sprachwahl .nd-symbol{color:var(--v-text)}
.nd .nd-sprachwahl button{min-width:var(--ziel);min-height:var(--ziel);padding:0 8px;border:2px solid var(--tinte);background:var(--kreide);color:var(--tinte);font:700 14px/1 var(--text);cursor:pointer;border-radius:0}
.nd .nd-sprachwahl button[aria-pressed="true"]{background:var(--tinte);color:var(--kreide)}
.nd-mehr-sup{margin:0;padding:var(--s2) var(--s4)}
.nd .nd-mehr-sup a{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ziel);color:var(--tinte-leise);font:400 14px/1.3 var(--text)}
.nd-mehr-sup .nd-symbol{color:var(--flutlicht-tief)}
.nd-mehr-gruppe.ansicht{padding-bottom:var(--s2)}
.nd-treffer-info{margin:0;padding:var(--s3) var(--s4);color:var(--tinte-leise)}
.nd-treffer-bild{width:32px;height:32px;flex:0 0 auto;image-rendering:pixelated}
.nd-treffer-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.nd-treffer-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd .nd-blatt-liste .nd-treffer-text small{margin-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd .nd-kopf-suche{background:none;border:0;cursor:pointer;padding:0}
.nd .nd-kopf-post.an{color:var(--flutlicht)}
.nd-fuss-wege{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:0 var(--s3)}
.nd-offen-wege{display:flex;align-items:center;gap:2px;margin-left:var(--s2)}
.nd .nd-offen-weg{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--ziel);min-height:var(--ziel);padding:0 6px;background:none;border:0;color:var(--kreide);font:600 15px/1 var(--text);text-decoration:none;cursor:pointer}
@media (max-width:480px){ .nd-offen-weg span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} .nd-wortmarke b{font-size:24px} }
.nd-fb-arten{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.nd .nd-fb-arten button{min-height:var(--ziel);padding:0 12px;border:2px solid var(--tinte);background:var(--kreide);color:var(--tinte);font:700 14px/1 var(--text);cursor:pointer;border-radius:0}
.nd .nd-fb-arten button[aria-checked="true"]{background:var(--tinte);color:var(--kreide)}
.nd .nd-fb-text{width:100%;box-sizing:border-box;font:400 16px/1.4 var(--text);padding:10px;border:2px solid var(--tinte);border-radius:0;background:var(--kreide);color:var(--tinte)}
@media (min-width:1024px){
  .nd .nd-seitenleiste nav .nd-seiten-knopf{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:48px;padding:0 var(--s4);background:none;border:0;color:#c9d4c4;font:600 16px/1 var(--text);text-align:left;cursor:pointer;position:relative}
  .nd .nd-seitenleiste nav .nd-seiten-knopf:hover{color:#fff;background:var(--nacht-2)}
  .nd .nd-seitenleiste nav .nd-seiten-knopf.an{color:var(--flutlicht)}
  .nd-seitenleiste kbd{margin-left:auto;padding:1px 6px;border:1px solid #4b5d52;font:400 12px/1.2 var(--text);color:#9fae99}
  .nd .nd-seitenleiste nav a.nd-pro-eintrag{color:var(--flutlicht)}
  .nd .nd-seitenleiste .unten a[data-nd-nur]{color:#9fae99}
}
