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; }
  .links-page{
    position: relative;
    background: var(--bg); color: var(--text); font-family: var(--font-body);
    min-height: 100%; padding: 40px 20px 60px; -webkit-font-smoothing: antialiased;
    overflow: hidden;
    overflow: clip; /* kein Scroll-Container -> kein zweiter Scrollbalken */
  }
  .links-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.22), transparent 70%);
    filter: blur(70px); pointer-events:none;
  }
  .links-page::after{
    content:''; position:absolute; bottom:-160px; right:-120px;
    width:440px; height:440px; border-radius:50%;
    background: radial-gradient(circle, rgba(255,138,61,0.16), transparent 70%);
    filter: blur(80px); pointer-events:none;
  }
  .wrap{ position:relative; max-width: 480px; 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); }

  .profile{ text-align:center; margin-bottom: 28px; }
  .avatar-ring{
    width: 128px; height: 128px; margin: 0 auto 16px; border-radius: 50%; padding: 4px;
    background: conic-gradient(from 0deg, var(--cyan), var(--orange), #f2c14e, var(--cyan));
    animation: breathe 3.5s ease-in-out infinite;
  }
  @keyframes breathe{ 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.035); } }
  @media (prefers-reduced-motion: reduce){ .avatar-ring{ animation:none; } }
  .avatar{
    width:100%; height:100%; border-radius:50%; background:#0d1210;
    display:flex; align-items:center; justify-content:center;
    font-family: var(--font-display); font-size:32px; font-weight:800; color:var(--cyan);
    text-shadow: 0 0 16px rgba(124,252,110,0.65);
    overflow: hidden;
  }
  .avatar img{ width:100%; height:100%; object-fit:cover; }
  .profile h1{
    font-family: var(--font-display); font-weight:800; font-size:24px; margin:0 0 6px;
    color: var(--cyan); text-shadow: 0 0 10px rgba(124,252,110,0.6);
  }
  .profile p{ font-size:13.5px; color:var(--text-dim); line-height:1.55; margin:0 auto; max-width:38ch; }

  .link-list{ display:flex; flex-direction:column; gap:11px; margin-bottom: 30px; }
  .link-btn{
    display:flex; align-items:center; gap:13px;
    background: var(--bg-card); border:1px solid var(--line); border-radius: 14px;
    padding: 15px 18px; text-decoration:none; color:var(--text);
    transition: all .15s ease; position:relative; overflow:hidden;
  }
  .link-btn::before{
    content:''; position:absolute; top:0; left:0; bottom:0; width:3px;
    background: linear-gradient(180deg, var(--cyan), var(--violet)); opacity:0; transition: opacity .15s ease;
  }
  .link-btn:hover{ border-color: rgba(124,252,110,0.5); transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(124,252,110,0.4); }
  .link-btn:hover::before{ opacity:1; }
  .link-icon{
    width:38px; height:38px; border-radius:10px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .link-icon svg{ width:19px; height:19px; }
  .link-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
  /* v140.56: Eigene Projekte tragen ihr Emoji aus dem CMS statt eines
     SVG-Symbols — ein Symbol pro Projekt zu zeichnen wäre Arbeit ohne
     Gegenwert, und McDev soll es selbst ändern können. */
  .link-emoji{font-size:19px;line-height:1}
  .link-label{ font-family: var(--font-display); font-weight:700; font-size:14.5px; flex:1; }
  .link-arrow{ color: var(--text-faint); flex-shrink:0; }
  .link-btn:hover .link-arrow{ color: var(--cyan); }

  /* ---------- Gruppen-Panels: Kategorien klar getrennt ---------- */
  .group-panel{
    position: relative;
    background: rgba(19,28,21,0.5);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px 16px 6px;
    margin-bottom: 26px;
    overflow: hidden;
  }
  .group-panel::before{
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
  }
  .group-panel.accent-green::before{ background: linear-gradient(90deg, var(--cyan), var(--violet), transparent); }
  .group-panel.accent-orange{ border-color: rgba(255,138,61,0.35); background: rgba(30,20,12,0.42); }
  .group-panel.accent-orange::before{ background: linear-gradient(90deg, var(--orange), #f2c14e, transparent); }
  .group-panel.accent-gold{ border-color: rgba(242,193,78,0.3); }
  .group-panel.accent-gold::before{ background: linear-gradient(90deg, #f2c14e, var(--orange), transparent); }
  .group-panel.accent-cyan{ border-color: rgba(34,211,238,0.3); }
  .group-panel.accent-cyan::before{ background: linear-gradient(90deg, #22d3ee, #7CFC6E, transparent); }
  .group-panel.accent-purple{ border-color: rgba(167,139,250,0.3); }
  .group-panel.accent-purple::before{ background: linear-gradient(90deg, #a78bfa, #22d3ee, transparent); }
  .group-panel.accent-pink{ border-color: rgba(255,92,138,0.3); }
  .group-panel.accent-pink::before{ background: linear-gradient(90deg, #ff5c8a, #f2c14e, transparent); }
  .accent-cyan .group-dot{ background:#22d3ee; box-shadow:0 0 10px rgba(34,211,238,0.9); }
  .accent-purple .group-dot{ background:#a78bfa; box-shadow:0 0 10px rgba(167,139,250,0.9); }
  .accent-pink .group-dot{ background:#ff5c8a; box-shadow:0 0 10px rgba(255,92,138,0.9); }
  .accent-cyan .group-title{ color:#22d3ee; }
  .accent-purple .group-title{ color:#a78bfa; }
  .accent-pink .group-title{ color:#ff5c8a; }

  .group-head{ display:flex; align-items:baseline; gap:9px; margin: 2px 4px 14px; flex-wrap:wrap; }
  .group-dot{ width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px rgba(124,252,110,0.9); align-self:center; }
  .accent-orange .group-dot{ background:var(--orange); box-shadow:0 0 10px rgba(255,138,61,0.9); }
  .accent-gold .group-dot{ background:#f2c14e; box-shadow:0 0 10px rgba(242,193,78,0.9); }
  .group-title{
    font-family: var(--font-display); font-size:15.5px; font-weight:800; margin:0;
    color: var(--cyan); letter-spacing:.01em;
  }
  .accent-orange .group-title{ color: var(--orange); }
  .accent-gold .group-title{ color: #f2c14e; }
  .group-sub{ font-size:11px; color:var(--text-faint); margin-left:auto; }

  .group-panel .link-list{ margin-bottom: 16px; }
  .link-list.accent-orange .link-btn:hover{ box-shadow: 0 14px 30px -18px rgba(255,138,61,0.45); }
  .link-list.accent-orange .link-btn:hover .link-arrow{ color: var(--orange); }
  .link-list.accent-gold .link-btn:hover{ box-shadow: 0 14px 30px -18px rgba(242,193,78,0.45); }
  .link-list.accent-gold .link-btn:hover .link-arrow{ color: #f2c14e; }

  .section-label{
    font-family: var(--font-mono); font-size:11px; font-weight:700; text-transform:uppercase;
    letter-spacing:.08em; color:var(--text-faint); margin: 22px 0 11px;
    display:flex; align-items:center; gap:7px;
  }
  .section-label::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px rgba(124,252,110,0.9); }
  .section-label.accent-orange::before{ background:var(--orange); box-shadow:0 0 8px rgba(255,138,61,0.9); }
  .section-label.accent-gold::before{ background:#f2c14e; box-shadow:0 0 8px rgba(242,193,78,0.9); }
  .link-list.accent-orange .link-btn::before{ background: linear-gradient(180deg, var(--orange), #f2c14e); }
  .link-list.accent-orange .link-btn:hover{ border-color: rgba(255,138,61,0.5); }
  .link-list.accent-gold .link-btn::before{ background: linear-gradient(180deg, #f2c14e, var(--orange)); }
  .link-list.accent-gold .link-btn:hover{ border-color: rgba(242,193,78,0.5); }

  .footer-note{
    margin-top: 24px; text-align:center; font-size:11.5px; color: var(--text-faint); line-height:1.6;
  }
  .footer-note a{ color: var(--text-dim); }  .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;
  }

#cookieBanner{display:none}
