html, body{ margin: 0; padding: 0; background: var(--bg); min-height: 100%; }
  :root{
    /* Farben und Schriften kommen jetzt aus /assets/theme.css.
       Hier stand bis 08/2026 eine Kopie derselben Liste — auf 14 Seiten.
       Eine Design-Änderung musste dadurch 14-mal gemacht werden, und das
       helle Thema hätte die lokalen Werte nie überschreiben können. */
  }
  *{ box-sizing: border-box; }
  .sub-page{
    position: relative;
    background: var(--bg); color: var(--text); font-family: var(--font-body);
    min-height: 100%; padding: 28px 20px 60px; -webkit-font-smoothing: antialiased;
    overflow: hidden; overflow: clip; /* kein Scroll-Container -> kein zweiter Scrollbalken */
  }
  .sub-page::before{
    content:''; position:absolute; top:-200px; left:50%; transform:translateX(-50%);
    width:600px; height:400px; border-radius:50%;
    background: radial-gradient(circle, rgba(124,252,110,0.18), transparent 70%);
    filter: blur(70px); pointer-events:none;
  }
  .wrap{ position:relative; max-width: 720px; margin: 0 auto; z-index:1; }
  .home-link{ display:inline-block; font-size:12.5px; font-weight:600; color:var(--text-faint); text-decoration:none; margin-bottom:18px; }
  .home-link:hover{ color:var(--cyan); }
  h1{
    font-family: var(--font-display); font-weight: 800; font-size: 28px;
    margin: 0 0 8px; color: var(--cyan);
    text-shadow: 0 0 10px rgba(124,252,110,0.5);
  }
  .page-sub{ color: var(--text-dim); font-size: 14px; margin: 0 0 26px; line-height:1.5; }
  .panel{
    background: var(--bg-card); border: 1px solid var(--line); border-radius: 18px;
    padding: 26px 24px; margin-bottom: 22px; position:relative; overflow:hidden;
  }
  .panel::before{
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background: linear-gradient(90deg, transparent, var(--cyan), var(--violet), transparent);
    opacity:.8;
  }

  .cookie-banner{
    position: fixed; left:16px; right:16px; bottom:16px; z-index:200;
    max-width: 640px; margin: 0 auto;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: 14px;
    padding: 16px 18px; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
    box-shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  }
  .cookie-banner p{ margin:0; font-size:12.5px; color:var(--text-dim); line-height:1.5; flex:1; min-width:200px; }
  .cookie-banner a{ color: var(--cyan); }
  .cookie-banner button{
    font-size:12.5px; font-weight:700; color:var(--auf-gruen);
    background: linear-gradient(135deg, var(--cyan), var(--violet));
    border:none; border-radius:10px; padding:9px 16px; cursor:pointer; white-space:nowrap;
  }

  .news-item{ position:relative; padding:0 0 18px 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
  .news-item:last-child{ margin-bottom:0; border-bottom:none; padding-bottom:4px; }
  .news-item::before{
    content:''; position:absolute; left:0; top:4px; bottom:22px; width:3px; border-radius:3px;
    background: linear-gradient(180deg, var(--cyan), var(--violet));
  }
  .news-item-date{ font-family: var(--font-mono); font-size:11px; color:var(--text-faint); }
  .news-ai-badge{ display:inline-flex; align-items:center; margin-left:7px; padding:2px 6px;
    border:1px solid var(--line2); border-radius:999px; background:var(--bg-card2);
    color:var(--text-faint); font-family:var(--font-body); font-size:9.5px; font-weight:700;
    line-height:1.25; letter-spacing:.2px; vertical-align:1px; }
  .news-item-title{ font-family: var(--font-display); font-weight:700; font-size:15.5px; margin:2px 0 4px; }
  .news-item-body{ font-size:13.5px; color:var(--text-dim); line-height:1.6; }
  /* Formatierung aus der Verwaltung (## Überschrift, Listen, Zitate, **fett**).
     Bis eben stand hier der Rohtext inklusive Rauten — jetzt kommt fertiges
     HTML aus api/news.php und braucht sein eigenes Aussehen. */
  .news-item-body > *:first-child{ margin-top:0; }
  .news-item-body > *:last-child{ margin-bottom:0; }
  .news-item-body p{ margin:0 0 10px; }
  .news-item-body h2{ font-family:var(--font-display); font-size:14.5px; font-weight:700;
    color:var(--text); margin:14px 0 6px; }
  .news-item-body h3, .news-item-body h4{ font-family:var(--font-display); font-size:13.5px;
    font-weight:700; color:var(--text); margin:12px 0 5px; }
  .news-item-body ul, .news-item-body ol{ margin:0 0 10px; padding-left:20px; }
  .news-item-body li{ margin:3px 0; }
  .news-item-body a{ color:var(--cyan); }
  .news-item-body strong{ color:var(--text); }
  .news-item-body code{ font-family:var(--font-mono); font-size:12px; background:var(--bg-card);
    border:1px solid var(--line); border-radius:5px; padding:1px 5px; }
  .news-item-body blockquote{ margin:8px 0; padding:6px 0 6px 12px;
    border-left:3px solid var(--cyan); color:var(--text-dim); }
  .news-item-body hr{ border:0; border-top:1px solid var(--line); margin:12px 0; }

  .social-row{ position:relative; display:flex; justify-content:center; gap:12px; margin-top:32px; padding-top:26px; }
  .social-row::before{ content:''; position:absolute; top:0; left:10%; right:10%; height:1px; background: linear-gradient(90deg, transparent, rgba(124,252,110,0.4), transparent); }
  .social-row a{ width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--text-dim); background:var(--bg-card); border:1px solid var(--line); transition: all .18s ease; }
  .social-row a:hover{ color:var(--cyan); border-color:var(--cyan); transform:translateY(-2px); }
  .social-row svg{ width:18px; height:18px; }

  .footer-note{ margin-top:22px; font-size:11.5px; color:var(--text-faint); text-align:center; line-height:1.6; }
  .footer-note a{ color:var(--text-dim); }

/* v139.92 responsive News cards / filters */
.wrap{max-width:1080px}.news-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px}.news-search{flex:1;min-width:220px}.news-search input{width:100%;border:1px solid var(--line2);border-radius:11px;background:var(--bg-card);color:var(--text);padding:10px 12px;font:inherit}.news-filters{display:flex;gap:6px;overflow:auto}.news-filters button{border:1px solid var(--line2);background:var(--bg-card2);color:var(--text-dim);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.news-filters button[aria-pressed="true"]{color:var(--text);border-color:var(--cyan)}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.news-item{display:flex;flex-direction:column;padding:0;margin:0;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:var(--bg-card2);min-height:180px}.news-item::before{display:none}.news-item.is-featured{grid-column:1/-1}.news-card-image{position:relative;aspect-ratio:16/9;background:var(--bg);overflow:hidden}.news-card-image img{width:100%;height:100%;object-fit:cover;display:block}.news-card-image .news-ai-badge{position:absolute;top:8px;right:8px;margin:0;background:color-mix(in srgb,var(--bg-card) 92%,transparent);backdrop-filter:blur(8px)}.news-card-content{padding:13px}.news-item-title{font-size:17px}.news-item-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.news-item.is-featured .news-item-title{font-size:22px}.news-item.is-featured .news-item-body{-webkit-line-clamp:3}.news-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.news-category{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--cyan)}.news-empty{text-align:center;color:var(--text-faint);padding:16px}.news-skeleton{height:250px;background:linear-gradient(90deg,var(--bg-card2),var(--line2),var(--bg-card2));background-size:200% 100%;animation:newsShimmer 1.1s infinite}@keyframes newsShimmer{to{background-position:-200% 0}}.news-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.epic-panel{margin-top:18px}.epic-title{font-family:var(--font-display);font-size:17px;margin:0 0 2px}.epic-note{font-size:12px;color:var(--text-faint);margin:0 0 12px}.epic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.epic-card{background:var(--bg-card2);border:1px solid var(--line2);border-radius:12px;padding:10px}.epic-card img{width:100%;border-radius:10px;aspect-ratio:16/9;object-fit:cover}.epic-card__title{font-weight:800;font-size:13.5px;margin-top:8px}.epic-card__body{font-size:12.5px;color:var(--text-dim);line-height:1.55;margin-top:4px}
@media(max-width:700px){.news-grid{grid-template-columns:1fr}.news-item.is-featured{grid-column:auto}.news-item.is-featured .news-item-title{font-size:18px}.news-tools{align-items:stretch}.news-filters{width:100%}}

.news-title-link{color:inherit;text-decoration:none}.news-title-link:hover{text-decoration:underline}

/* v140.39: „Weiterlesen"-Link je Karte (server-gerenderte Übersicht) */
.news-readmore{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--cyan);text-decoration:none}
.news-readmore:hover{text-decoration:underline}
.news-item-title{margin:2px 0 4px}
.news-item-title .news-title-link{color:var(--text);text-decoration:none}
.news-item-title .news-title-link:hover{color:var(--cyan)}
