:root{
    color-scheme:light;
    /* Solarized Light, mit Violett als fotografischem Markenakzent. */
    --paper:#fdf6e3; --card:#fffaf0; --ink:#073642; --muted:#657b83;
    --veil:#6c71c4; --veil-2:#5b60b2; --veil-tint:#ece9f5; --veil-line:#d7d3e8;
    --warm:#cb4b16; --warm-tint:#f4e6ce;
    --chalk:#e2dcc9; --chalk-2:#eee8d5; --panel:#f7f0df;
    --green:#859900; --red:#dc322f; --amber:#b58900;
    --ok-tint:#e8efd1; --ok-ink:#607800; --no-tint:#f5dfd7; --no-ink:#b13d24;
    --blue-tint:#dcebf0; --blue-ink:#1d7183; --on-accent:#fff;
    --sans:'Archivo',system-ui,'Segoe UI',Roboto,sans-serif;
    --mono:'Space Mono',ui-monospace,'SF Mono',Menlo,monospace;
    --shadow:0 1px 0 var(--chalk),0 14px 32px -24px rgba(0,43,54,.45);
    --wrap:1320px;   /* gemeinsame Inhaltsbreite: Header + Liste fluchten */
  }
  html[data-theme="dark"]{
    color-scheme:dark;
    --paper:#002b36; --card:#073642; --ink:#eee8d5; --muted:#93a1a1;
    --veil:#9b9fe8; --veil-2:#b4b7f1; --veil-tint:#243c54; --veil-line:#405363;
    --warm:#cb4b16; --warm-tint:#42382c;
    --chalk:#28505a; --chalk-2:#0b3a45; --panel:#0a3540;
    --green:#a2b600; --red:#ef5a50; --amber:#d3a820;
    --ok-tint:#263f37; --ok-ink:#b0c82a; --no-tint:#4b302f; --no-ink:#ff796d;
    --blue-tint:#173f4a; --blue-ink:#65c1d2; --on-accent:#002b36;
    --shadow:0 1px 0 rgba(255,255,255,.03),0 18px 38px -24px rgba(0,0,0,.8);
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
       font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
  a{color:var(--veil);text-decoration:none}
  a:hover{text-decoration:underline}
  .mono{font-family:var(--mono)}
  .num{font-variant-numeric:tabular-nums}
  .muted{color:var(--muted)}
  .cname{font-weight:700}
  :focus-visible{outline:2px solid var(--veil);outline-offset:2px;border-radius:4px}

  /* ---- Masthead ------------------------------------------------------- */
  .masthead{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
            padding:16px 22px;border-bottom:1px solid var(--chalk);background:var(--card)}
  .wm{display:flex;align-items:baseline;gap:1px;font-weight:800;font-size:22px;letter-spacing:-.02em}
  .wm .n{font-family:var(--mono);font-weight:700;font-size:19px;letter-spacing:0}
  .wm .dot{color:var(--veil);font-family:var(--mono)}
  .wm .sub{margin-left:12px;font-family:var(--mono);font-size:11px;font-weight:400;
           letter-spacing:.02em;color:var(--muted);align-self:center}
  .profile{font-family:var(--mono);font-size:11px;color:var(--muted);
           background:var(--warm-tint);border:1px solid #EDD9BE;border-radius:8px;
           padding:5px 10px;letter-spacing:.02em}
  .grow{flex:1}
  .userbadge{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.04em;
             white-space:nowrap}
  .themebtn,.logoutbtn,.login-theme{display:inline-grid;place-items:center;width:34px;height:34px;
       border:1px solid var(--chalk);border-radius:9px;background:var(--card);color:var(--muted);
       font:700 15px/1 var(--mono);cursor:pointer;transition:.15s}
  .themebtn:hover,.logoutbtn:hover,.login-theme:hover{border-color:var(--veil);color:var(--veil);transform:translateY(-1px)}
  .logoutbtn[hidden]{display:none}
  .btn{font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;
       letter-spacing:.08em;padding:9px 14px;border:1px solid var(--chalk);border-radius:8px;
       background:var(--card);color:var(--ink);cursor:pointer;transition:.12s}
  .btn:hover{border-color:var(--veil);color:var(--veil)}
  .btn:disabled{opacity:.45;cursor:default;border-color:var(--chalk);color:var(--muted)}
  .btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .btn.solid:hover{background:var(--veil);border-color:var(--veil);color:#fff}

  /* ---- Control bar: views + goal ------------------------------------- */
  .stickytop{position:sticky;top:0;z-index:30;background:var(--card);border-bottom:1px solid var(--chalk);box-shadow:0 10px 28px -26px rgba(42,32,40,.5)}
  .topbar,.filters{max-width:var(--wrap);margin:0 auto;width:100%}
  .controls{background:var(--paper);
            border-bottom:1px solid var(--chalk);padding:12px 22px;
            display:flex;align-items:center;gap:22px;flex-wrap:wrap}
  .tabs{display:flex;gap:2px}
  .tab{font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;
       letter-spacing:.09em;color:var(--muted);padding:7px 12px;cursor:pointer;
       border-bottom:2px solid transparent;transition:.12s}
  .tab:hover{color:var(--ink)}
  .tab.on{color:var(--ink);border-bottom-color:var(--veil)}
  .goal{display:flex;align-items:center;gap:12px;margin-left:auto}
  .goal-lab{font-family:var(--mono);font-size:11px;text-transform:uppercase;
            letter-spacing:.12em;color:var(--muted)}
  .seg{display:flex;border:1px solid var(--veil-line);border-radius:8px;overflow:hidden;background:var(--card)}
  .seg button{font-family:var(--sans);font-size:13px;font-weight:600;padding:7px 15px;border:0;
              background:transparent;color:var(--muted);cursor:pointer;transition:.12s;
              border-right:1px solid var(--veil-line)}
  .seg button:last-child{border-right:0}
  .seg button:hover{color:var(--veil)}
  .seg button.on{background:var(--veil);color:#fff}
  .hint{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.02em}
  .hint b{color:var(--ink);font-weight:700}
  .hint .star{color:var(--amber)}

  /* ---- Filters -------------------------------------------------------- */
  .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;
           padding:10px 22px;border-top:1px solid var(--chalk-2);background:transparent}
  select,input[type=search]{font-family:var(--mono);font-size:12px;color:var(--ink);
           background:var(--card);border:1px solid var(--chalk);border-radius:8px;padding:9px 11px}
  select:focus,input[type=search]:focus{outline:none;border-color:var(--veil)}
  .chk{display:flex;gap:6px;align-items:center;font-family:var(--mono);font-size:12px;
       color:var(--muted);cursor:pointer}
  .chk input{accent-color:var(--veil)}
  .count{font-family:var(--mono);font-size:12px;color:var(--muted);margin-left:auto}
  .menuwrap{position:relative}
  .kebab{font-size:16px;line-height:1;color:var(--muted);background:var(--card);border:1px solid var(--chalk);
         border-radius:8px;padding:8px 13px;cursor:pointer;transition:.12s}
  .kebab:hover{border-color:var(--veil);color:var(--veil)}
  .menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;background:var(--card);border:1px solid var(--chalk);
        border-radius:10px;box-shadow:0 12px 32px -12px rgba(42,32,40,.28);min-width:240px;padding:6px;
        display:flex;flex-direction:column;gap:2px}
  .menu[hidden], .seg[hidden]{display:none}   /* schlägt display:flex — sonst blendet [hidden] nicht aus */
  .mi{font-family:var(--mono);font-size:12px;text-align:left;color:var(--ink);background:transparent;border:0;
      border-radius:7px;padding:9px 11px;cursor:pointer;white-space:nowrap}
  .mi:hover{background:var(--veil-tint);color:var(--veil)}
  .mi b{color:var(--veil);font-weight:700}
  .topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:transparent;padding:12px 22px}
  .goalwrap{position:relative}
  .goalbtn{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink);background:var(--card);
           border:1px solid var(--veil-line);border-radius:8px;padding:8px 14px;cursor:pointer;transition:.12s}
  .goalbtn:hover{border-color:var(--veil);color:var(--veil)}
  .goalbtn .car{color:var(--veil);font-size:11px}
  .goalwrap .seg{position:absolute;right:0;top:calc(100% + 8px);z-index:40;flex-direction:column;
                 min-width:150px;box-shadow:0 12px 32px -12px rgba(42,32,40,.28)}
  .goalwrap .seg button{border-right:0;border-bottom:1px solid var(--veil-line);text-align:left;
                        padding-left:30px;position:relative}
  .goalwrap .seg button:last-child{border-bottom:0}
  .goalwrap .seg button:hover{background:var(--chalk-2)}
  .goalwrap .seg button.on{background:var(--veil-tint);color:var(--veil);font-weight:700}
  .goalwrap .seg button.on::before{content:"✓";position:absolute;left:12px;color:var(--veil)}
  .filters #fQ{flex:1;min-width:180px;max-width:340px}
  .btn.on{border-color:var(--veil);color:var(--veil);background:var(--veil-tint)}
  .filterwrap{position:relative}
  .filterpanel{position:absolute;left:0;top:calc(100% + 8px);z-index:45;width:min(440px,92vw);
               background:var(--card);border:1px solid var(--chalk);border-radius:12px;
               box-shadow:0 16px 42px -16px rgba(42,32,40,.38);padding:14px;
               display:flex;flex-direction:column;gap:12px}
  .filterpanel[hidden]{display:none}
  .filterpanel select{width:100%}
  .fp-row{display:flex;gap:10px}
  .fp-row>*{flex:1;min-width:0}
  .fp-checks{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--chalk-2);padding-top:12px}
  .fp-foot{display:flex;justify-content:flex-end;border-top:1px solid var(--chalk-2);padding-top:10px}

  main{padding:24px 22px 72px;max-width:var(--wrap);margin:0 auto}

  /* ---- Signature: Top-Pick viewfinder frame -------------------------- */
  .topframe{position:relative;background:linear-gradient(135deg,var(--card) 0%,
            color-mix(in srgb,var(--card) 88%,var(--veil) 12%) 55%,
            color-mix(in srgb,var(--card) 90%,var(--warm) 10%) 100%);
            border:1px solid var(--veil-line);border-radius:14px;
            padding:26px 30px;margin-bottom:30px;display:grid;
            grid-template-columns:auto 1fr auto;gap:28px;align-items:center;
            box-shadow:var(--shadow);animation:pop .3s ease}
  @keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .crop{position:absolute;width:16px;height:16px;border:2px solid var(--veil)}
  .crop.tl{top:8px;left:8px;border-right:0;border-bottom:0}
  .crop.tr{top:8px;right:8px;border-left:0;border-bottom:0}
  .crop.bl{bottom:8px;left:8px;border-right:0;border-top:0}
  .crop.br{bottom:8px;right:8px;border-left:0;border-top:0}
  .tf-eyebrow{grid-column:1/-1;font-family:var(--mono);font-size:12px;
              letter-spacing:.02em;color:var(--muted)}
  .tf-eyebrow b{color:var(--veil);font-weight:700}
  .tf-eyebrow .goalname{background:var(--warm-tint);color:var(--warm);padding:2px 8px;border-radius:6px}
  .tf-score{text-align:center;line-height:1}
  .tf-score .v{font-weight:800;font-size:66px;letter-spacing:-.03em;color:var(--veil)}
  .tf-score .of{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);
                margin-top:4px;letter-spacing:.1em}
  .tf-teams{font-weight:800;font-size:26px;letter-spacing:-.01em;line-height:1.15}
  .tf-teams i{font-style:normal;font-weight:500;color:var(--muted);font-size:18px;margin:0 8px}
  .tf-meta{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px;letter-spacing:.02em}
  .tf-reasons{margin-top:14px;display:flex;gap:7px;flex-wrap:wrap}
  .tf-cta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;
          font-family:var(--mono);font-size:12px}

  /* reason chips */
  .chip{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:8px;white-space:nowrap}
  .chip.p{background:var(--veil-tint);color:var(--veil)}
  .chip.m{background:#FBEBEA;color:var(--red)}
  .players{margin-top:7px;display:flex;gap:5px;flex-wrap:wrap}
  .pchip{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:6px;
         background:var(--ok-tint);color:var(--ok-ink);white-space:nowrap;text-decoration:none}
  .pchip:hover{filter:brightness(.95);text-decoration:none}
  .pchip.outlier{background:color-mix(in srgb,var(--amber) 17%,var(--card));color:var(--amber);
                 border:1px solid color-mix(in srgb,var(--amber) 45%,var(--chalk))}
  .outlier-badge{font:700 8px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;
                 background:var(--amber);color:var(--paper);padding:2px 4px;border-radius:4px}
  .players-empty{font:500 9px/1.3 var(--mono);color:var(--muted);margin-top:6px}

  /* ---- Matchday groups + list --------------------------------------- */
  .md{display:flex;align-items:baseline;justify-content:space-between;
      margin:30px 0 10px;padding-bottom:7px;border-bottom:2px solid var(--veil)}
  .md h2{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em}
  .md h2 .kw{font-family:var(--mono);font-weight:400;color:var(--muted);font-size:12px;margin-left:8px;
             text-transform:uppercase;letter-spacing:.08em}
  .md small{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
  details.lg{margin:0}
  summary.md{cursor:pointer;list-style:none;margin:24px 0 0}
  summary.md::-webkit-details-marker{display:none}
  summary.md:hover .lgname{color:var(--veil)}
  .lgname{font-size:15px;font-weight:800;letter-spacing:-.01em}
  .caret{display:inline-block;color:var(--veil);transition:transform .15s;font-size:11px;margin-right:5px}
  details[open] .caret{transform:rotate(90deg)}
  details.lg .scroll{margin-top:10px}

  .scroll{overflow-x:auto;background:var(--card);border:1px solid var(--chalk);
          border-radius:12px;box-shadow:var(--shadow)}
  table{width:100%;border-collapse:collapse;background:transparent}
  th{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
     letter-spacing:.1em;color:var(--muted);text-align:left;padding:8px 10px;
     border-bottom:1px solid var(--chalk)}
  th.sortable{cursor:pointer;user-select:none;white-space:nowrap;transition:color .12s}
  th.sortable:hover{color:var(--ink)}
  th.sortable.on{color:var(--veil)}
  td{padding:11px 10px;border-bottom:1px solid var(--chalk-2);vertical-align:top}
  tr:last-child td{border-bottom:0}
  tbody tr{transition:background .12s}
  tbody tr:hover td{background:var(--veil-tint)}

  /* score cell */
  .sc{display:inline-flex;flex-direction:column;align-items:center;min-width:44px}
  .sc b{font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
  .sc.t3 b{color:var(--veil)} .sc.t2 b{color:#9D3FD6} .sc.t1 b{color:#BE8AE6}
  .sc .stars{font-size:10px;color:var(--amber);letter-spacing:1px;margin-top:3px;height:12px}
  .conf{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;margin-top:3px;cursor:help}
  .conf.high{color:#3a9d5b} .conf.med{color:#c99a2e} .conf.low{color:#c0563f}

  /* aufklappbare Detail-Ansicht je Spiel */
  tr.grow{cursor:pointer}
  tr.grow.open td{background:var(--veil-tint)}
  tr.grow.committed td:first-child{box-shadow:inset 3px 0 0 var(--veil)}
  .acts{white-space:nowrap}
  .pin,.no{border:0;background:transparent;cursor:pointer;font-size:14px;padding:2px 3px;opacity:.4;filter:grayscale(1)}
  .pin:hover,.no:hover,.pin.on,.no.on{opacity:1;filter:none}
  tr.detail td{padding:0;border-bottom:1px solid var(--chalk);background:#FBFAFC}
  .detail-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:26px;padding:16px 18px 20px}
  .detail-in h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;
                color:var(--muted);margin:0 0 10px;font-weight:700}
  .sb{display:grid;grid-template-columns:118px 1fr 34px;align-items:center;gap:9px;margin-bottom:7px}
  .sb .sbk{font-size:12px;color:var(--ink)}
  .sb .sbt{height:7px;background:var(--chalk);border-radius:4px;overflow:hidden}
  .sb .sbf{display:block;height:100%;background:var(--veil);border-radius:4px}
  .sb .sbv{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}
  .dconf{font-family:var(--mono);font-size:11px;margin-top:12px;padding:6px 9px;border-radius:7px;display:inline-block}
  .dconf.high{background:#E9F6EE;color:#2f7d47} .dconf.med{background:#FBF3E2;color:#9a7420}
  .dconf.low{background:#FBECE8;color:#a8452f}
  .fbside{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
  .fbteam{font-size:12px;font-weight:700;min-width:120px}
  .fbrow{display:flex;gap:8px;flex-wrap:wrap}
  .fbb{font-family:var(--mono);font-size:12px;font-weight:700;padding:6px 12px;border:1px solid var(--veil-line);
       border-radius:8px;background:var(--card);color:var(--muted);cursor:pointer;transition:.12s}
  .fbb:hover{border-color:var(--veil);color:var(--veil)}
  .fbb.yes{background:var(--ok-tint);border-color:var(--green);color:var(--ok-ink)}
  .fbb.no{background:var(--no-tint);border-color:var(--red);color:var(--no-ink)}
  .fbb.clr{padding:6px 10px}
  .fbhint{font-size:11px;color:var(--muted);margin-top:7px}

  /* Kalender-Karten (mobil-first, glanceable) */
  .gcards{display:flex;flex-direction:column;gap:10px}
  .gcard{background:var(--card);border:1px solid var(--chalk);border-radius:12px;overflow:hidden;
         cursor:pointer;transition:box-shadow .12s,border-color .12s}
  .gcard:hover{box-shadow:0 6px 22px -12px rgba(42,32,40,.28);border-color:var(--veil-line)}
  .gcard.committed{border-left:3px solid var(--veil)}
  .gc-head{display:flex;align-items:flex-start;gap:14px;padding:13px 15px}
  .gc-head .sc{flex-shrink:0}
  .gc-mid{flex:1;min-width:0}
  .gc-when{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .gc-mw{color:var(--amber)}
  .gc-teams{font-weight:700;font-size:16px;margin:3px 0;line-height:1.25}
  .gc-teams i{font-style:normal;font-weight:400;color:var(--muted);margin:0 5px}
  .gc-context{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-bottom:2px}
  .srcbadge{display:inline-flex;align-items:center;border:1px solid var(--chalk);border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.03em}
  .srcbadge.fallback{background:var(--warn-tint);border-color:var(--amber);color:var(--warn-ink)}
  .srcbadge.curated{background:var(--ok-tint);border-color:var(--green);color:var(--ok-ink)}
  .planbadge{display:inline-flex;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.03em}
  .planbadge.ready{background:var(--ok-tint);color:var(--ok-ink)}
  .planbadge.verify{background:var(--warm-tint);color:var(--amber)}
  .planbadge.watch{background:var(--chalk-2);color:var(--muted)}
  .gc-meta{font-family:var(--mono);font-size:11.5px;color:var(--muted);line-height:1.5}
  .gc-meta b{color:var(--ink);font-weight:400}
  .gc-mach.ok{color:var(--green)} .gc-mach.part{color:var(--amber)} .gc-mach.bad{color:var(--red)}
  .gc-reason{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}
  .gc-acts{display:flex;align-items:center;gap:2px;flex-shrink:0}
  .gc-acts a{font-family:var(--mono);font-size:13px;padding:2px 4px}
  .gc-detail{border-top:1px solid var(--chalk);background:var(--panel);cursor:default}
  .rb{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap}
  .rb.yes{background:var(--ok-tint);color:var(--ok-ink)} .rb.no{background:var(--no-tint);color:var(--no-ink)}
  .rb.shot{background:var(--veil-tint);color:var(--veil)} .rb.none{background:var(--chalk-2);color:var(--muted)}
  .follbox{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:13px;background:var(--chalk-2);color:var(--ink)}
  .follbox.no{background:var(--no-tint);color:var(--no-ink)} .follbox.ok{background:var(--ok-tint);color:var(--ok-ink)}
  .follchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
  .pchipx.v{background:var(--no-tint);color:var(--no-ink);font-weight:700}
  .pchipx small{opacity:.65;font-weight:400}
  .dplan{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 12px;padding:9px 12px;
         background:var(--veil-tint);border:1px solid var(--veil-line);border-radius:10px;font-size:13px}
  .dp-badge{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
            color:var(--veil);background:var(--card);padding:2px 7px;border-radius:6px}
  .dp-day{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .dp-step{white-space:nowrap}
  .dp-step small{color:var(--green);font-family:var(--mono);font-size:11px}
  .dp-arrow{color:var(--veil);font-weight:700}

  /* Lokaler Radar: Ausgangspunkt, Radius und Datenreife auf einen Blick. */
  .radar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:22px;align-items:center;
         margin:0 0 22px;padding:18px 20px;border:1px solid var(--veil-line);border-radius:14px;
         background:linear-gradient(120deg,var(--card),color-mix(in srgb,var(--veil-tint) 62%,var(--card)));
         box-shadow:var(--shadow)}
  .radar-kicker{font:700 9px/1 var(--mono);letter-spacing:.14em;color:var(--veil)}
  .radar-main h2{margin:5px 0 2px;font:800 19px/1.15 var(--sans);letter-spacing:-.02em;
                 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
  .radar-main p{margin:0;color:var(--muted);font-size:11px}
  .radar-counts{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
  .radar-counts span{display:flex;align-items:baseline;gap:5px;padding:7px 9px;border-radius:8px;
                     font:700 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em}
  .radar-counts b{font-size:15px}.radar-counts .ready{background:var(--ok-tint);color:var(--ok-ink)}
  .radar-counts .verify{background:var(--warm-tint);color:var(--amber)}
  .radar-counts .watch{background:var(--chalk-2);color:var(--muted)}
  .radar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
  .radar-actions label{display:flex;align-items:center;gap:6px;color:var(--muted);font:700 9px/1 var(--mono);
                       text-transform:uppercase;letter-spacing:.05em}
  .radar-actions select{padding:8px 9px;font-size:10px}.radar-actions .btn{padding:8px 10px;font-size:9px}

  .research-list{margin:26px 0 0;border:1px solid var(--chalk);border-radius:13px;background:var(--card);overflow:hidden}
  .research-list>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;
                         cursor:pointer;list-style:none}.research-list>summary::-webkit-details-marker{display:none}
  .research-list>summary span{display:flex;flex-direction:column}.research-list>summary b{font-size:14px}
  .research-list>summary small,.research-list>summary em{font:500 9px/1.4 var(--mono);color:var(--muted);font-style:normal}
  .research-list>p{margin:0;padding:12px 16px;color:var(--muted);font-size:11px;border-top:1px solid var(--chalk-2)}
  .research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--chalk-2)}
  .research-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 16px;
                 border-bottom:1px solid var(--chalk-2)}.research-card:nth-child(odd){border-right:1px solid var(--chalk-2)}
  .research-card h4{margin:3px 0;font-size:13px}.research-card h4 i{font-style:normal;font-weight:400;color:var(--muted)}
  .research-card p{margin:0;color:var(--muted);font:500 9.5px/1.45 var(--mono)}
  .research-date{font:700 9px/1.3 var(--mono);color:var(--veil)}
  .research-reasons{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.research-reasons .chip{font-size:9px;padding:2px 6px}
  .research-actions{align-self:start;display:flex;align-items:stretch;gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .research-fetch{white-space:nowrap;padding:6px 8px;font-size:9px;line-height:1.3}
  .research-link{align-self:start;white-space:nowrap;font:700 9px/1.3 var(--mono);padding:6px 8px;
                 border:1px solid var(--veil-line);border-radius:7px}
  .research-limit{padding:10px 14px;text-align:center;color:var(--muted);font:600 9px/1.4 var(--mono);
                  background:var(--chalk-2)}
  @media(max-width:900px){.radar{grid-template-columns:1fr auto}.radar-actions{grid-column:1/-1;justify-content:flex-start}}
  @media(max-width:640px){.radar{grid-template-columns:1fr;gap:13px;padding:15px}.radar-counts{justify-content:flex-start}
    .radar-actions{grid-column:auto}.radar-main h2{white-space:normal}.research-grid{grid-template-columns:1fr}
    .research-card:nth-child(odd){border-right:0}.radar-locate{display:none}}
  /* Follower-Check: Datei-Labels, Zeitstrahl, Analyse-Balken */
  .pf-flabel{display:block;font-size:12px;color:var(--muted);margin-top:8px}
  .pf-flabel input{margin-top:4px}
  .tl-item{position:relative;padding:0 0 14px 20px;border-left:2px solid var(--chalk)}
  .tl-item:last-child{border-left-color:transparent}
  .tl-dot{position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--veil)}
  .tl-head{font-size:13px}
  .tl-delta{font-family:var(--mono);font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;background:var(--chalk-2);color:var(--muted)}
  .tl-delta.up{background:var(--ok-tint);color:var(--ok-ink)} .tl-delta.down{background:var(--no-tint);color:var(--no-ink)}
  .tl-ch{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .tl-ch.no{color:var(--no-ink)} .tl-ch.ok{color:var(--ok-ink)}
  .an-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px 12px;margin-bottom:4px}
  .an-label{font-size:13px} .an-label b{color:var(--veil);font-weight:800}
  .an-bar{height:15px;background:var(--chalk-2);border-radius:8px;overflow:hidden}
  .an-fill{display:block;height:100%;border-radius:8px;transition:width .3s}
  .an-fill.mut{background:var(--veil)} .an-fill.fan{background:var(--green)} .an-fill.back{background:var(--amber)}
  .an-hint{grid-column:1/3;font-size:11px;color:var(--muted);margin:-2px 0 8px}
  .an-detail{margin-top:14px;font-size:13px} .an-detail b{font-weight:700}

  /* Follower-Dashboard: Datenstand, Beziehungsliste und Verlauf */
  .f-dashboard{display:flex;flex-direction:column;gap:18px}
  .f-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 0 2px}
  .f-kicker{font:700 10px/1.3 var(--mono);letter-spacing:.14em;color:var(--veil);margin:0 0 7px}
  .f-pagehead h1{font:800 clamp(26px,4vw,40px)/1 var(--sans);letter-spacing:-.045em;margin:0}
  .f-pagehead p:not(.f-kicker){color:var(--muted);margin:10px 0 0;max-width:680px}
  .f-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .f-source{position:relative;display:flex;flex-direction:column;gap:2px;padding:13px 16px 13px 19px;
            background:var(--card);border:1px solid var(--chalk);border-radius:11px;overflow:hidden}
  .f-source::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}
  .f-source.stale::before{background:var(--amber)}.f-source.missing::before{background:var(--muted)}
  .f-source>span{font:700 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
  .f-source>b{font:700 13px/1.4 var(--mono)}.f-source>small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .f-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .f-stat{display:flex;align-items:center;gap:14px;padding:17px;background:var(--card);border:1px solid var(--chalk);border-radius:12px;box-shadow:var(--shadow)}
  .f-stat>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--veil-tint);color:var(--veil);font:700 18px/1 var(--mono)}
  .f-stat.good>span{background:var(--ok-tint);color:var(--ok-ink)}.f-stat.attention>span{background:var(--no-tint);color:var(--no-ink)}
  .f-stat b{display:block;font:800 24px/1 var(--sans);letter-spacing:-.03em}.f-stat small{display:block;color:var(--muted);margin-top:5px;font:600 10px/1.25 var(--mono);text-transform:uppercase;letter-spacing:.04em}
  .f-relations{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}
  .f-relcards{display:flex;flex-direction:column;gap:8px}
  .f-relcard{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;
             padding:13px;border:1px solid var(--chalk);border-radius:11px;background:var(--card);color:var(--ink);cursor:pointer;transition:.14s}
  .f-relcard:hover{border-color:var(--veil);transform:translateX(2px)}.f-relcard>span{grid-row:1/3;align-self:center;font:700 18px/1 var(--mono);color:var(--veil)}
  .f-relcard>b{font:800 20px/1 var(--sans)}.f-relcard>small{font:600 10px/1.4 var(--mono);color:var(--muted)}
  .f-relcard.fans>span{color:var(--green)}.f-relcard.notback>span{color:var(--amber)}
  .f-account-panel{min-width:0;border:1px solid var(--chalk);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:var(--shadow)}
  .f-account-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:18px 20px 12px}
  .f-account-head h2{font:800 19px/1 var(--sans);margin:0}.f-account-head #follResultCount{font:700 10px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
  .f-account-tools{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,auto);gap:7px;padding:0 14px 14px}
  .f-account-tools input,.f-account-tools select{min-width:0;width:100%;font:500 11px/1.2 var(--mono);padding:9px 10px;border:1px solid var(--chalk);border-radius:8px;background:var(--paper);color:var(--ink)}
  .f-account-list{border-top:1px solid var(--chalk)}
  .f-account{display:grid;grid-template-columns:38px minmax(180px,1fr) 90px 145px auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--chalk-2);transition:.12s}
  .f-account:last-child{border-bottom:0}.f-account:hover{background:color-mix(in srgb,var(--veil-tint) 35%,transparent)}.f-account.is-ignored{opacity:.55}
  .f-account-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--chalk-2);font:700 14px/1 var(--mono);color:var(--muted)}
  .f-account-icon.club{background:var(--no-tint)}.f-account-icon.player{background:var(--veil-tint)}
  .f-account-main{min-width:0}.f-account-name{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f-account-name a{color:var(--ink)}
  .f-account-handle{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font:400 10px/1.4 var(--mono);color:var(--muted);margin-top:2px}
  .f-rel{font:700 9px/1 var(--mono);padding:3px 6px;border-radius:5px;background:var(--chalk-2);color:var(--muted)}
  .f-rel.rel-mutual{background:var(--veil-tint);color:var(--veil)}.f-rel.rel-fans{background:var(--ok-tint);color:var(--ok-ink)}.f-rel.rel-notback{background:var(--warm-tint);color:var(--amber)}
  .f-account-note{font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .f-account-metric,.f-account-since{display:flex;flex-direction:column}.f-account-metric b,.f-account-since b{font:700 11px/1.25 var(--mono)}
  .f-account-metric span,.f-account-since span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:3px}
  .f-account-actions{display:flex;justify-content:flex-end;gap:4px}.f-iconbtn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--chalk);border-radius:8px;background:var(--card);color:var(--muted);font:700 12px/1 var(--mono);cursor:pointer;text-decoration:none}
  .f-iconbtn:hover,.f-iconbtn.active{border-color:var(--veil);color:var(--veil);background:var(--veil-tint);text-decoration:none}
  .f-note-editor{grid-column:2/-1;display:flex;gap:7px;padding-top:3px}.f-note-editor[hidden]{display:none}.f-note-editor input{flex:1;min-width:0;border:1px solid var(--veil-line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px}
  .f-note-editor .btn{padding:7px 10px;font-size:9px}.f-account-empty{padding:34px;text-align:center;color:var(--muted);font:500 11px/1.5 var(--mono)}
  .f-section{border:1px solid var(--chalk);border-radius:13px;background:var(--card);overflow:hidden}
  .f-section>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:15px 18px}.f-section>summary::-webkit-details-marker{display:none}
  .f-section>summary:hover{background:color-mix(in srgb,var(--veil-tint) 30%,transparent)}.f-section>summary span{display:flex;flex-direction:column}.f-section>summary b{font-size:14px}.f-section>summary small{color:var(--muted);margin-top:2px}.f-section>summary em{font:700 11px/1 var(--mono);font-style:normal;color:var(--veil);background:var(--veil-tint);padding:5px 8px;border-radius:7px}
  .f-section[open]>summary{border-bottom:1px solid var(--chalk)}
  .f-warm-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:18px}.f-warm-grid h3{font-size:13px;margin:0}.f-warm-grid h3 small{font:700 10px/1 var(--mono);color:var(--muted);margin-left:5px}
  .f-events{padding:18px 20px}.f-event{position:relative;display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 20px}.f-event:not(:last-child)::before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:var(--chalk)}
  .f-event-dot{width:11px;height:11px;margin-top:3px;border:3px solid var(--card);outline:2px solid var(--veil);background:var(--veil);border-radius:50%;z-index:1}.f-event.baseline .f-event-dot{background:var(--card)}
  .f-event-date{display:flex;align-items:center;gap:8px;font:500 11px/1.4 var(--mono)}.f-event-date span{font-size:9px;text-transform:uppercase;color:var(--muted);background:var(--chalk-2);padding:2px 5px;border-radius:4px}.f-event p{font-size:11px;color:var(--muted);margin:6px 0 0}
  .f-event-line{display:grid;grid-template-columns:155px 1fr;gap:10px;margin-top:8px}.f-event-line>b{font-size:11px}.f-event-line>div{display:flex;flex-wrap:wrap;gap:5px}.f-event-line a{font:600 10px/1.2 var(--mono);color:var(--ink);background:var(--chalk-2);padding:3px 6px;border-radius:5px}.f-event-line a.ignored{opacity:.45}.f-event-line.good>b{color:var(--ok-ink)}.f-event-line.bad>b,.f-event-line.left>b{color:var(--no-ink)}.f-event-line.new>b{color:var(--veil)}
  .f-import-body{padding:18px}.f-drop{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:110px;border:1px dashed var(--veil);border-radius:11px;background:color-mix(in srgb,var(--veil-tint) 45%,transparent);cursor:pointer}.f-drop:hover{background:var(--veil-tint)}.f-drop span{display:flex;flex-direction:column;gap:5px}.f-drop b{color:var(--veil)}.f-drop small{color:var(--muted)}.f-drop input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
  @media (max-width:640px){
    .gc-head{flex-wrap:wrap;gap:10px}
    .gc-teams{font-size:15px}
    .gc-acts{order:3;width:100%;justify-content:flex-end;gap:6px;
             border-top:1px dashed var(--chalk-2);padding-top:9px;margin-top:2px}
    .gc-acts .pin,.gc-acts .no{font-size:17px;padding:3px 7px}
  }
  @media(max-width:900px){
    .f-stats{grid-template-columns:repeat(2,1fr)}.f-relations{grid-template-columns:1fr}.f-relcards{display:grid;grid-template-columns:repeat(3,1fr)}
    .f-account-tools{grid-template-columns:1fr 1fr}.f-account-tools input{grid-column:1/-1}.f-account{grid-template-columns:38px minmax(140px,1fr) 125px auto}.f-account-metric{display:none}
  }
  @media(max-width:620px){
    .f-pagehead{align-items:flex-start;flex-direction:column}.f-sources,.f-warm-grid{grid-template-columns:1fr}.f-stats{grid-template-columns:1fr 1fr}.f-stat{padding:13px}.f-stat b{font-size:20px}
    .f-relcards{grid-template-columns:1fr}.f-relcard{grid-template-columns:26px 1fr;padding:10px}.f-account-tools{grid-template-columns:1fr}.f-account-tools input{grid-column:auto}
    .f-account{grid-template-columns:34px minmax(0,1fr) auto;gap:9px}.f-account-since{display:none}.f-account-actions{grid-column:3}.f-note-editor{grid-column:1/-1;flex-wrap:wrap}.f-note-editor input{flex-basis:100%}.f-event-line{grid-template-columns:1fr}.f-events{padding:15px}
  }

  /* Dashboard + Spieler */
  .dash{display:flex;flex-direction:column;gap:6px}
  .dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}
  .dstat{background:var(--card);border:1px solid var(--chalk);border-radius:12px;padding:16px 18px}
  .dnum{font-family:var(--sans);font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--veil)}
  .dlbl{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
  .dh{font-family:var(--sans);font-size:15px;font-weight:800;margin:20px 0 8px}
  .dh .kw{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
  .dplayers{display:flex;flex-wrap:wrap;gap:8px}
  .pg{display:inline-block;font-family:var(--mono);font-size:11px;color:var(--muted);
      background:var(--chalk-2);border-radius:7px;padding:2px 7px;margin:2px 4px 2px 0}
  .pg.c{color:var(--veil);background:var(--veil-tint)}
  .feed-note{margin:2px 0 14px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--amber) 34%,var(--chalk));
             border-radius:10px;background:color-mix(in srgb,var(--warm-tint) 54%,var(--card));color:var(--muted);font-size:12px}
  .feed-note b{color:var(--ink)}
  .feed-context{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
  .viz-card{margin:8px 0 24px;background:var(--card);border:1px solid var(--chalk);border-radius:13px;
            padding:16px 18px 13px;box-shadow:var(--shadow);overflow:hidden}
  .viz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:9px}
  .viz-head>div:first-child{display:flex;flex-direction:column;gap:2px}.viz-head span{font:700 9px/1.3 var(--mono);letter-spacing:.1em;color:var(--muted)}
  .viz-head h3{margin:0;font:800 15px/1.25 var(--sans);letter-spacing:-.01em}
  .viz-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px 11px;max-width:70%}
  .viz-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:600 9px/1.2 var(--mono);letter-spacing:0;text-transform:none}
  .viz-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--muted)}
  .viz-legend i.s0,.viz-seg.s0{background:var(--veil);fill:var(--veil)}
  .viz-legend i.s1,.viz-seg.s1{background:var(--warm);fill:var(--warm)}
  .viz-legend i.s2,.viz-seg.s2{background:var(--green);fill:var(--green)}
  .viz-legend i.s3,.viz-seg.s3{background:var(--blue-ink);fill:var(--blue-ink)}
  .viz-legend i.s4,.viz-seg.s4{background:var(--amber);fill:var(--amber)}
  .viz-legend i.s5,.viz-seg.s5{background:var(--muted);fill:var(--muted)}
  .viz-legend i.pin{width:7px;height:7px;border-radius:50%;background:var(--ink)}
  .viz-legend i.dot{border-radius:50%}.viz-legend i.near,.viz-point.near{background:var(--green);fill:var(--green)}
  .viz-legend i.mid,.viz-point.mid{background:var(--amber);fill:var(--amber)}
  .viz-legend i.far,.viz-point.far{background:var(--red);fill:var(--red)}
  .viz-legend i.unknown,.viz-point.unknown{background:var(--muted);fill:var(--muted)}
  .viz-legend i.line{width:14px;height:0;border-radius:0;background:transparent;border-top:2px solid}
  .viz-legend i.line.followers{border-color:var(--veil)}.viz-legend i.line.following{border-color:var(--warm)}
  .viz-legend i.bar{width:7px;border-radius:1px}.viz-legend i.bar.good{background:var(--green)}.viz-legend i.bar.bad{background:var(--red)}
  .viz-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.viz-svg{display:block;width:100%;min-width:680px;height:auto;font-family:var(--mono)}
  .viz-grid{stroke:var(--chalk);stroke-width:1;vector-effect:non-scaling-stroke}.viz-grid.faint{opacity:.58}
  .viz-axis{fill:var(--muted);font-size:9px}.viz-xlabel,.viz-ytitle{font-weight:700;letter-spacing:.05em;text-transform:uppercase}
  .viz-seg{opacity:.88}.viz-seg:hover{opacity:1}.viz-pin{fill:var(--ink);stroke:var(--card);stroke-width:2}
  .viz-point{stroke:var(--card);stroke-width:2;vector-effect:non-scaling-stroke;transition:r .12s}.viz-point:hover{r:9px;stroke:var(--ink)}
  .viz-leader{stroke:var(--muted);stroke-width:.8;stroke-dasharray:2 2;opacity:.72;vector-effect:non-scaling-stroke}
  .viz-label{fill:var(--ink);font-size:8px;font-weight:700;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
  .viz-line{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.viz-line.followers{stroke:var(--veil)}.viz-line.following{stroke:var(--warm)}
  .viz-node{stroke:var(--card);stroke-width:1.5}.viz-node.followers{fill:var(--veil)}.viz-node.following{fill:var(--warm)}
  .viz-event.good{fill:var(--green)}.viz-event.bad{fill:var(--red)}
  .viz-note{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.viz-empty{margin:0 0 16px;padding:18px;border:1px dashed var(--chalk);border-radius:10px;color:var(--muted);text-align:center;font:500 10px/1.5 var(--mono)}
  .f-events>.viz-card{margin-top:0}
  @media(max-width:640px){ .dstats{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:720px){.viz-card{padding:13px 12px}.viz-head{display:block}.viz-legend{justify-content:flex-start;max-width:none;margin-top:9px}.viz-note{padding:0 3px}}
  @media(max-width:720px){ .detail-in{grid-template-columns:1fr;gap:16px} }
  .date b{font-family:var(--mono);font-weight:700;font-size:13px}
  .date span{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}
  .teams{font-weight:700;font-size:14.5px;margin-top:5px;line-height:1.25}
  .teams i{font-style:normal;font-weight:400;color:var(--muted);margin:0 5px}
  .rowreasons{margin-top:7px;display:flex;gap:5px;flex-wrap:wrap}
  .place{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.4}
  .place b{color:var(--ink);font-weight:400}
  .reach{font-family:var(--mono);font-size:12px}
  .reach span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
  .mach{font-family:var(--mono);font-size:11.5px;line-height:1.4}
  .mach.ok{color:var(--green)} .mach.part{color:var(--amber)} .mach.bad{color:var(--red)}
  .ig{font-family:var(--mono);font-size:11px;white-space:nowrap;display:block}

  /* pills / team accents */
  .pill{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;
        text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:8px}
  .p1{background:var(--veil-tint);color:var(--veil)}
  .p2{background:var(--blue-tint);color:var(--blue-ink)}
  .p3{background:var(--ok-tint);color:var(--green)}
  .p4{background:var(--chalk-2);color:var(--muted)}
  .comp{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;
        letter-spacing:.06em;margin-left:6px}
  .unsymp{color:var(--red)} .tebe{color:var(--veil)}

  .empty{padding:60px 20px;text-align:center;color:var(--muted);
         border:1px dashed var(--chalk);font-family:var(--mono);font-size:13px}

  /* Vereine */
  .lede{color:var(--muted);margin:0 0 20px;font-size:13.5px;line-height:1.6}
  .lede b{color:var(--ink)}
  .slider{display:flex;align-items:center;gap:10px}
  input[type=range]{width:130px;accent-color:var(--veil)}
  .val{font-family:var(--mono);font-size:12px;width:34px;text-align:right;color:var(--ink)}
  .tag{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
  .tag.h{color:var(--green)} .tag.m{color:var(--amber)} .tag.n{color:var(--red)}
  .tag.meas{color:var(--veil);background:var(--veil-tint);text-transform:none;letter-spacing:0;
            padding:2px 7px;border-radius:8px;margin-left:6px;cursor:help}
  .measln{margin-top:7px}
  .vact{display:grid;grid-template-columns:56px auto auto;align-items:center;gap:14px;justify-content:start}
  .vtag{text-align:left}
  .cnum-l{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;
          font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);cursor:help}
  .cnum{width:48px;font-family:var(--mono);font-size:12px;padding:4px 6px;border:1px solid var(--veil-line);
        border-radius:7px;background:var(--card);color:var(--ink);text-align:center}
  .cnum.z{color:var(--muted);border-color:var(--chalk)}
  .cnum:focus{outline:none;border-color:var(--veil)}
  .cbtn{font-size:10px;padding:4px 8px;margin-left:8px}

  .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(8px);
         background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:12px;
         padding:11px 18px;border-radius:8px;opacity:0;pointer-events:none;transition:.22s;
         box-shadow:0 10px 30px -12px rgba(23,22,27,.6);max-width:88vw}
  .toast.show{opacity:1;transform:translateX(-50%)}

  @media (max-width:720px){
    .topframe{grid-template-columns:1fr;gap:16px;text-align:left}
    .tf-cta{align-items:flex-start}
    .goal{margin-left:0;width:100%}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

  /* Einstellungen-Modal */
  .modal{position:fixed;inset:0;z-index:100;background:rgba(42,32,40,.34);
         display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
  .modal[hidden]{display:none}
  .sheet{background:var(--card);border-radius:14px;max-width:560px;width:100%;
         box-shadow:0 24px 60px -16px rgba(42,32,40,.5);overflow:hidden}
  .sheet-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--chalk)}
  .sheet-h h3{margin:0;font-family:var(--sans);font-size:17px;font-weight:800}
  .sheet-h .x{border:0;background:transparent;font-size:17px;cursor:pointer;color:var(--muted);line-height:1}
  .sheet-b{padding:6px 20px 12px;max-height:66vh;overflow:auto}
  .sheet-f{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--chalk)}
  .btn.primary{background:var(--veil);color:var(--on-accent);border-color:var(--veil)}
  .btn.primary:hover{background:var(--veil-2)}
  .pf{padding:16px 0;border-bottom:1px solid var(--chalk-2)}
  .pf:last-child{border-bottom:0}
  .pf h4{margin:0 0 4px;font-family:var(--sans);font-size:14px;font-weight:700}
  .pf-hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.4}
  .pf-tag{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--veil);background:var(--veil-tint);
          padding:2px 6px;border-radius:6px;text-transform:none;margin-left:4px;vertical-align:middle}
  .pf-tag.n{color:var(--red);background:var(--no-tint)}
  .pf-in{width:100%;font-family:var(--mono);font-size:12px;padding:8px 10px;border:1px solid var(--veil-line);
         border-radius:8px;background:var(--card);margin-top:8px}
  .wrow{display:grid;grid-template-columns:96px 1fr 40px;align-items:center;gap:10px;margin-bottom:8px}
  .wrow label{font-size:12px;color:var(--ink)}
  .wrow input[type=range]{width:100%}
  .wrow .wv{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}
  .chipbox{display:flex;flex-wrap:wrap;gap:6px}
  .pchipx{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;
          background:var(--veil-tint);color:var(--veil);padding:3px 6px 3px 9px;border-radius:8px}
  .tl-ch .pchipx.other{background:var(--chalk-2);color:var(--muted);font-weight:400}
  .pchipx b{cursor:pointer;font-weight:700}
  .tempc{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--veil-line);
         border-radius:10px;margin-bottom:10px}
  .tempc input,.tempc select{font-family:var(--mono);font-size:11px;padding:6px 8px;border:1px solid var(--veil-line);border-radius:7px;background:var(--card)}
  .tempc .full{grid-column:1/3}
  .tempc .del{grid-column:1/3;justify-self:end;border:0;background:transparent;color:var(--red);font-size:11px;cursor:pointer}

  /* ---- Login --------------------------------------------------------- */
  .login-page{min-height:100vh;background:
      radial-gradient(circle at 16% 16%,color-mix(in srgb,var(--veil) 13%,transparent),transparent 32%),
      radial-gradient(circle at 86% 84%,color-mix(in srgb,var(--warm) 10%,transparent),transparent 30%),
      var(--paper);display:grid;place-items:center;padding:30px;overflow-x:hidden}
  .login-theme{position:fixed;right:22px;top:20px;z-index:3}
  .login-shell{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
               gap:clamp(28px,7vw,92px);align-items:center;padding:0;margin:0}
  .login-intro{position:relative;padding:34px 10px}
  .login-wordmark{font:800 20px/1 var(--sans);letter-spacing:-.03em;margin-bottom:74px}
  .login-wordmark span{color:var(--veil)}
  .login-kicker,.login-eyebrow{font:700 10px/1.4 var(--mono);letter-spacing:.18em;color:var(--veil);margin:0 0 15px}
  .login-intro h1{font:800 clamp(42px,6vw,72px)/.96 var(--sans);letter-spacing:-.055em;margin:0;max-width:650px}
  .login-copy{max-width:560px;color:var(--muted);font-size:16px;line-height:1.65;margin:26px 0 34px}
  .login-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px}
  .login-preview div{display:flex;flex-direction:column;gap:13px;min-height:108px;padding:17px;
                     border:1px solid var(--chalk);border-radius:13px;background:color-mix(in srgb,var(--card) 82%,transparent)}
  .login-preview b{font:700 21px/1 var(--mono);color:var(--veil)}
  .login-preview span{margin-top:auto;font:700 10px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
  .login-card{position:relative;background:var(--card);border:1px solid var(--chalk);border-radius:20px;
              box-shadow:var(--shadow);padding:clamp(28px,5vw,48px);overflow:hidden}
  .login-card::before,.login-card::after{content:"";position:absolute;width:24px;height:24px;border-color:var(--veil);opacity:.75}
  .login-card::before{left:12px;top:12px;border-left:2px solid;border-top:2px solid}
  .login-card::after{right:12px;bottom:12px;border-right:2px solid;border-bottom:2px solid}
  .login-lens{width:54px;height:54px;border:1px solid var(--veil-line);border-radius:50%;display:grid;place-items:center;margin-bottom:34px}
  .login-lens::before{content:"";width:34px;height:34px;border:2px solid var(--veil);border-radius:50%}
  .login-lens span{position:absolute;width:8px;height:8px;background:var(--warm);border-radius:50%}
  .login-card h2{font:800 30px/1.05 var(--sans);letter-spacing:-.035em;margin:0 0 10px}
  .login-hint{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 25px}
  .login-error{background:var(--no-tint);color:var(--no-ink);border:1px solid color-mix(in srgb,var(--red) 35%,transparent);
               border-radius:9px;padding:10px 12px;margin-bottom:17px;font-size:12px;font-weight:600}
  .login-label{display:block;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:17px 0 7px}
  .login-input{width:100%;border:1px solid var(--chalk);border-radius:10px;background:var(--paper);color:var(--ink);
               font:500 15px/1.2 var(--sans);padding:13px 14px;transition:.15s}
  .login-input:focus{outline:0;border-color:var(--veil);box-shadow:0 0 0 3px color-mix(in srgb,var(--veil) 15%,transparent)}
  .login-submit{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:26px;
                border:0;border-radius:10px;padding:14px 16px;background:var(--veil);color:var(--on-accent);
                font:700 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.15s}
  .login-submit:hover{background:var(--veil-2);transform:translateY(-1px)}
  .login-submit:disabled{opacity:.55;transform:none;cursor:wait}
  .login-submit span{font-size:19px;line-height:.5}
  .login-foot{font-size:11px;line-height:1.5;color:var(--muted);margin:22px 0 0}
  @media(max-width:820px){
    .login-page{display:block;padding:20px}
    .login-shell{grid-template-columns:1fr;gap:8px;max-width:520px;margin:0 auto}
    .login-intro{padding:34px 4px 18px}.login-wordmark{margin-bottom:48px}
    .login-preview{display:none}.login-copy{font-size:14px;margin-bottom:8px}
    .login-card{padding:30px 25px}.login-theme{right:14px;top:14px}
  }
