  :root{
    --bg:#0f1420; --panel:#171d2b; --panel2:#1f2740; --line:#2b3450;
    --txt:#e8ecf5; --muted:#9aa6c4; --accent:#5b9dff;
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
  #app{display:grid;grid-template-columns:300px 1fr;height:100vh}
  @media(max-width:820px){#app{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}}
  aside{background:var(--panel);border-right:1px solid var(--line);padding:18px 16px;overflow:auto}
  h1{font-size:17px;margin:0 0 2px;line-height:1.25}
  .sub{font-size:12px;color:var(--muted);margin-bottom:16px}
  .grp-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
  .factors{display:flex;flex-direction:column;gap:6px}
  .factor{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);
    border-radius:9px;background:var(--panel2);cursor:pointer;font-size:13px;transition:.15s;text-align:left;color:var(--txt)}
  .factor:hover{border-color:var(--accent)}
  .factor.active{border-color:var(--accent);background:#22335c;box-shadow:0 0 0 1px var(--accent) inset}
  .swatch{width:14px;height:14px;border-radius:3px;flex:0 0 auto}
  .ficon{flex:0 0 auto;width:20px;text-align:center;font-size:15px;line-height:1}
  .factors .menugrp{margin:14px 0 6px}
  .factors .menugrp:first-child{margin-top:2px}
  .legend{margin-top:8px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:12px}
  .legend .lt{font-size:12px;color:var(--muted);margin-bottom:8px}
  .bar{height:12px;border-radius:6px;background:#333}
  .scalerow{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}
  .catrow{display:flex;gap:14px;margin-top:4px;font-size:12px}
  .catrow span{display:flex;align-items:center;gap:6px}
  .divbar{display:flex;height:14px;border-radius:4px;overflow:hidden;margin:2px 0}
  .divbar i{flex:1}
  .legnote{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.35}
  .legcap{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px}
  .gdetail-box{top:54px;right:14px;width:252px;max-width:62vw;padding:12px 13px;display:none;max-height:74vh;overflow:auto}
  .gdetail-box.show{display:block}
  .gd-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .gd-head span{font-size:13.5px;font-weight:600}
  .gd-x{border:none;background:var(--panel2);color:var(--txt);width:22px;height:22px;border-radius:6px;cursor:pointer;font-size:15px;line-height:1;flex:0 0 auto}
  .gd-x:hover{background:#2a3450}
  .gd-sub{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:1px 0 9px}
  .gdetail{margin-top:2px}
  .gd-empty{font-size:12px;color:var(--muted);line-height:1.45}
  .gd-wb{font-size:11.5px;color:var(--muted);margin:0 0 9px}
  .gd-row{display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center;font-size:12px;margin-bottom:6px}
  .gd-nm{display:flex;align-items:center;gap:7px;white-space:nowrap}
  .gd-nm i{width:10px;height:10px;border-radius:2px;flex:0 0 auto}
  .gd-val{font-variant-numeric:tabular-nums;color:var(--muted)}
  .gd-bar{grid-column:1/3;height:6px;background:#222a40;border-radius:4px;overflow:hidden}
  .gd-bar>i{display:block;height:100%;border-radius:4px}
  .rank{margin-top:6px;display:flex;flex-direction:column;gap:3px;max-height:none}
  .ri{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:12px;
     padding:4px 7px;border-radius:6px;cursor:pointer}
  .ri:hover{background:var(--panel2)}
  .ri .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ri .vbar{position:relative;height:7px;background:#222a40;border-radius:4px;grid-column:1/3;overflow:hidden}
  .ri .vbar>i{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
  .ri .val{font-variant-numeric:tabular-nums;color:var(--muted)}
  main{position:relative;overflow:hidden}
  svg{width:100%;height:100%;display:block;background:radial-gradient(1200px 700px at 60% 35%,#19223a 0%,var(--bg) 70%);cursor:grab}
  svg.drag{cursor:grabbing}
  path.gem{stroke:#0c1220;stroke-width:.6;stroke-linejoin:round;cursor:pointer;transition:fill .25s}
  path.gem:hover{stroke:#fff;stroke-width:1.4}
  path.gem.sel{stroke:#fff;stroke-width:1.8}
  text.lbl{fill:#0c1220;paint-order:stroke;stroke:#ffffffdd;
    stroke-linejoin:round;pointer-events:none;font-weight:600;text-anchor:middle}
  .tooltip{position:absolute;pointer-events:none;background:#0b1018ee;border:1px solid var(--line);
    border-radius:8px;padding:8px 10px;font-size:12px;min-width:150px;transform:translate(-50%,calc(-100% - 12px));
    opacity:0;transition:opacity .1s;box-shadow:0 8px 24px #0008;z-index:5}
  .tooltip h4{margin:0 0 5px;font-size:13px}
  .tooltip .row{display:flex;justify-content:space-between;gap:14px;color:var(--muted)}
  .tooltip .row b{color:var(--txt);font-variant-numeric:tabular-nums}
  .tooltip .row.hi b{color:#fff}
  .topbar{position:absolute;top:12px;right:14px;display:flex;gap:8px;z-index:4}
  .btn{background:#0b1018cc;border:1px solid var(--line);color:var(--txt);border-radius:8px;
    padding:6px 10px;font-size:13px;cursor:pointer}
  .btn:hover{border-color:var(--accent)}
  .btn.active{border-color:#d4af37;background:#3a3320;color:#ffe9ad}
  svg.editmode path.gem{cursor:cell}
  svg.editmode path.gem:hover{stroke:#d4af37;stroke-width:2.2}
  .edit-toast{position:absolute;left:50%;bottom:50px;transform:translateX(-50%);font-size:12px;
    background:#0b1018ee;border:1px solid var(--line);border-radius:8px;padding:7px 14px;
    color:var(--txt);z-index:7;opacity:0;transition:opacity .25s;pointer-events:none;max-width:78vw;
    text-align:center;box-shadow:0 8px 24px #0008}
  .edit-toast.show{opacity:1}
  .edit-toast.ok{border-color:#1b7837;color:#bdf0c8}
  .edit-toast.err{border-color:#c0223b;color:#ffb3bd}
  .edit-hint{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:11.5px;color:#ffe9ad;
    background:#3a3320ee;border:1px solid #d4af37;padding:6px 12px;border-radius:8px;z-index:6;
    display:none;text-align:center}
  .edit-hint.show{display:block}
  .hint{position:absolute;left:14px;bottom:12px;font-size:11px;color:var(--muted);
    background:#0b1018aa;padding:5px 9px;border-radius:7px}
  .credit{margin-top:22px;font-size:10px;color:#5c688a;line-height:1.5}
  a{color:var(--accent)}
  .modal-backdrop{position:fixed;inset:0;background:#060912cc;backdrop-filter:blur(2px);
    display:none;align-items:center;justify-content:center;z-index:30;padding:20px}
  .modal-backdrop.open{display:flex}
  #howtomodal{z-index:55}
  .modal{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;
    max-width:480px;width:100%;max-height:86vh;overflow:auto;padding:24px 26px;box-shadow:0 24px 70px #000b}
  .modal h2{margin:0 0 10px;font-size:19px}
  .modal h3{margin:18px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .modal p{margin:0 0 8px;font-size:13.5px;line-height:1.55;color:#d3dbf0}
  .modal ul{margin:0;padding-left:18px;font-size:13px;line-height:1.7}
  .modal-meta{font-size:11.5px;color:var(--muted);margin-top:10px}
  .modal-links{display:flex;gap:18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}
  .modal-x{position:absolute;top:10px;right:12px;width:30px;height:30px;border:none;border-radius:8px;
    background:var(--panel2);color:var(--txt);font-size:18px;line-height:1;cursor:pointer}
  .login-row{display:flex;flex-direction:column;gap:6px;margin-top:14px}
  .login-row input{background:var(--panel2);border:1px solid var(--line);color:var(--txt);
    border-radius:8px;padding:10px 12px;font-size:14px;outline:none}
  .login-row input:focus{border-color:var(--accent)}
  .login-err{font-size:12px;color:#ff8a8a;min-height:16px}
  .login-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
  .modal-x:hover{background:#2a3450}
  .maptag{position:absolute;background:#0b1018e6;border:1px solid var(--line);border-radius:10px;
    font-size:12px;color:var(--txt);z-index:4;box-shadow:0 10px 28px #0008}
  .interp-btn{position:absolute;top:12px;left:14px;z-index:6}
  .interp-panel{top:50px;left:14px;width:308px;max-width:44vw;padding:13px 15px;display:none;max-height:72vh;overflow:auto}
  .interp-panel.open{display:block}
  .interp-panel h4{margin:0 0 9px;font-size:13px}
  .interp-panel ul{margin:0;padding-left:17px;line-height:1.5;font-size:12.5px;color:#dbe2f3}
  .interp-panel li{margin-bottom:7px}
  .corona-hint{bottom:14px;right:16px;max-width:300px;padding:11px 13px;display:none;line-height:1.5;color:#ecd9c4}
  .corona-hint.show{display:block}
  .corona-hint b{color:#ffce93}
  @media(max-width:820px){.interp-panel{max-width:80vw}.corona-hint{max-width:60vw}}
  .modeswitch{display:flex;gap:4px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:3px;margin:4px 0 16px}
  .modebtn{flex:1;border:none;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;padding:8px 6px;border-radius:8px;cursor:pointer;transition:.15s}
  .modebtn:hover{color:var(--txt)}
  .modebtn.active{background:var(--accent);color:#fff}
  .idx-i{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;
    border:1px solid var(--line);background:var(--panel2);color:var(--txt);font:italic 600 11px serif;cursor:pointer;vertical-align:middle;margin-left:6px}
  .idx-i:hover{border-color:var(--accent)}

  /* ---------- VG-Auswahlbildschirm ---------- */
  #vgGate{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(1300px 760px at 60% 30%,#19223a 0%,var(--bg) 70%);padding:28px 18px;overflow:auto}
  #vgGate.hide{display:none}
  .vgwrap{max-width:880px;width:100%;text-align:center}
  .vgwrap h1{font-size:24px;margin:0 0 6px}
  .vgwrap .vgsub{font-size:13.5px;color:var(--muted);margin:0 0 26px;line-height:1.5}
  .vggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
  .vgcard{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--panel2);
    padding:18px 14px 16px;cursor:pointer;transition:.15s;text-align:left;color:var(--txt);font-family:inherit}
  .vgcard:hover{border-color:var(--accent);transform:translateY(-2px)}
  .vgcard .vgname{font-size:14.5px;font-weight:700;margin:0 0 4px}
  .vgcard .vgmeta{font-size:11px;color:var(--muted);line-height:1.4}
  .vgcard .vgbadge{display:inline-block;margin-top:9px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;
    padding:3px 8px;border-radius:5px;background:#22335c;color:#bcd2ff;border:1px solid #34508f}
  .vgcard.soon{cursor:default;opacity:.62}
  .vgcard.soon:hover{border-color:var(--line);transform:none}
  .vgcard.soon .vgbadge{background:#2a3148;color:var(--muted);border-color:var(--line)}
  .vgcard.ready .vgbadge{background:#1c3a28;color:#9be8b4;border-color:#2c5e3f}
  .vgcard.loading{pointer-events:none;opacity:.55}
  .vgcard.ready.loading .vgname::after{content:' …';color:var(--accent)}
  .vgfoot{margin-top:24px;font-size:10.5px;color:#5c688a;line-height:1.6}
  .howtoBtn{display:inline-flex;align-items:center;gap:9px;margin:0 0 24px;padding:11px 22px;
    border:1px solid var(--accent);border-radius:999px;background:#1c2c52;color:#cfe0ff;
    font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:.15s}
  .howtoBtn:hover{background:#28406f;box-shadow:0 0 0 1px var(--accent) inset;transform:translateY(-1px)}
  .howtoBtn .ib-ic2{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;font:italic 700 13px serif}
  .vgfootlinks{display:flex;justify-content:center;gap:18px;margin-top:8px;font-size:11px}
  .vgfootlinks a{color:#7e93c9;text-decoration:none}
  .vgfootlinks a:hover{color:var(--txt);text-decoration:underline}
  .backbtn{margin-right:auto}
  @media(max-width:560px){.vgwrap h1{font-size:20px}.vggrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
  .infoBtn-big{display:flex;align-items:center;gap:9px;width:100%;margin-top:11px;padding:10px 12px;
    border:1px solid var(--accent);border-radius:9px;background:#22335c;color:#fff;font-size:13px;font-weight:600;
    cursor:pointer;text-align:left;transition:.15s}
  .infoBtn-big:hover{background:#2b3f70;box-shadow:0 0 0 1px var(--accent) inset}
  .ib-ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;font:italic 700 13px serif}
  #idxBody p{margin:0 0 12px;font-size:14px;line-height:1.6;color:#dde4f3}
  #idxBody b{color:var(--txt)}
  #idxBody .readhint{background:var(--panel2);border-left:3px solid var(--accent);border-radius:6px;
    padding:9px 12px;font-size:13px;line-height:1.5;color:#d3dbf0;margin:0 0 14px}
  #idxBody .f-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
  .formula{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--line);
    border-radius:9px;padding:12px;margin:0 0 12px}
  .fsym{color:var(--muted);font-size:15px;font-weight:700;padding:0 1px}
  .fpar{color:var(--muted);font-size:18px}
  .fbox{padding:5px 9px;border-radius:7px;font-size:12px;font-weight:600;color:#0c1220;white-space:nowrap}
  .fbox.res{background:#e8ecf5}
  .fbox.a{background:#f6a5a5}.fbox.b{background:#f7d08a}.fbox.c{background:#9ed7b0}.fbox.d{background:#a9c4f5}
  .f-teile{margin:0 0 12px;padding-left:0;list-style:none;font-size:13px;line-height:1.5}
  .f-teile li{position:relative;padding:7px 10px;margin-bottom:6px;background:var(--panel2);border-radius:7px;color:#d3dbf0}
  .f-teile b.t-a{color:#f08a8a}.f-teile b.t-b{color:#f3bd5e}.f-teile b.t-c{color:#79c694}.f-teile b.t-d{color:#8fb3f2}
  #idxBody .f-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:0 0 14px}
  #idxBody ul.src{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.7}

  /* ---------- Wahlplakate-Planer ---------- */
  .toolsmenu{position:fixed;top:16px;right:18px;z-index:51;text-align:left}
  .toolsbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--line);
    border-radius:9px;background:var(--panel2);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
  .toolsbtn:hover{border-color:var(--accent);color:var(--txt)}
  .toolsbtn .tools-caret{font-size:10px;transition:transform .15s}
  .toolsmenu.open .tools-caret{transform:rotate(180deg)}
  .toolsdrop{position:absolute;top:calc(100% + 6px);right:0;min-width:248px;background:var(--panel);
    border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 40px #000a;padding:6px;display:none}
  .toolsmenu.open .toolsdrop{display:block}
  .toolsitem{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 11px;border:none;border-radius:8px;
    background:transparent;color:var(--txt);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:.12s}
  .toolsitem:hover{background:var(--panel2)}
  .toolsitem .ti-ic{font-size:17px;line-height:1.15;flex:0 0 auto}
  .toolsitem .ti-sub{font-size:11px;color:var(--muted);font-weight:400}
  @media(max-width:560px){.toolsmenu{top:12px;right:12px}.toolsdrop{min-width:210px}}
  #plakatePlaner{position:fixed;inset:0;z-index:52;background:var(--bg);display:block}
  #plakatePlaner.hide{display:none}
  .pp-shell{display:grid;grid-template-columns:300px 1fr;height:100vh}
  @media(max-width:820px){.pp-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}}
  .pp-side{background:var(--panel);border-right:1px solid var(--line);padding:16px 15px;overflow:auto;display:flex;flex-direction:column}
  .pp-side h1{font-size:16px;margin:10px 0 2px}
  .pp-side .sub{font-size:11.5px;color:var(--muted);margin-bottom:12px}
  .pp-back{margin-bottom:6px;align-self:flex-start}
  .pp-auth{display:flex;gap:6px;margin:2px 0 8px}
  .pp-auth .btn{flex:1;text-align:center}
  .pp-clusters{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
  .pp-cl{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);
    border-radius:9px;background:var(--panel2);cursor:pointer;transition:.12s}
  .pp-cl:hover{border-color:var(--accent)}
  .pp-cl.active{border-color:#fff;box-shadow:0 0 0 1px #fff inset}
  .pp-cl .pp-sw{width:18px;height:18px;border-radius:5px;flex:0 0 auto;border:1px solid #0006;cursor:pointer;padding:0;position:relative;overflow:hidden}
  .pp-cl .pp-sw input{position:absolute;inset:-4px;opacity:0;cursor:pointer;border:none;padding:0}
  .pp-cl .pp-nm{flex:1;min-width:0;color:var(--txt);font:inherit;font-size:12.5px;font-weight:600;padding:3px 4px;
    border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}
  .pp-cl input.pp-nm-edit{background:#0c1220;border:1px solid var(--accent);outline:none;cursor:text;user-select:text;
    white-space:normal;overflow:visible}
  .pp-cl .pp-cnt{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto}
  .pp-cl .pp-del{flex:0 0 auto;border:none;background:transparent;color:var(--muted);cursor:pointer;
    font-size:15px;line-height:1;padding:0 2px;border-radius:4px}
  .pp-cl .pp-del:hover{color:#ff8a8a}
  .pp-tool{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px dashed var(--line);
    border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:12.5px;width:100%;text-align:left;transition:.12s}
  .pp-tool:hover{border-color:var(--accent);color:var(--txt)}
  .pp-tool.active{border-style:solid;border-color:#fff;color:#fff;box-shadow:0 0 0 1px #fff inset}
  .pp-tool.add{justify-content:center;border-color:var(--accent);color:#cfe0ff;margin-bottom:6px}
  .pp-tool.add:hover{background:#22335c}
  .pp-readonly{font-size:11px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);
    border-radius:8px;padding:8px 10px;line-height:1.45;margin-bottom:8px}
  .pp-stats{margin-top:auto;padding-top:12px;font-size:11px;color:var(--muted);line-height:1.6;border-top:1px solid var(--line)}
  .pp-stats b{color:var(--txt)}
  .pp-main{position:relative;overflow:hidden}
  #ppMap{width:100%;height:100%;display:block;background:radial-gradient(1200px 700px at 60% 35%,#19223a 0%,var(--bg) 70%);cursor:grab}
  #ppMap.drag{cursor:grabbing}
  #ppMap path.gem{stroke:#0c1220;stroke-width:.6;stroke-linejoin:round;cursor:pointer;transition:fill .25s}
  #ppMap path.gem:hover{stroke:#fff;stroke-width:1.4}
  #ppMap.editmode path.gem{cursor:cell}
  #ppMap.editmode path.gem:hover{stroke:#fff;stroke-width:2.2}
  #ppMap text.lbl{fill:#0c1220;paint-order:stroke;stroke:#ffffffdd;stroke-linejoin:round;
    pointer-events:none;font-weight:600;text-anchor:middle}
  .pp-hint{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:11.5px;color:#cfe0ff;
    background:#1c2c52ee;border:1px solid var(--accent);padding:6px 12px;border-radius:8px;z-index:6;display:none;text-align:center}
  .pp-hint.show{display:block}
  .pp-posters{display:flex;flex-direction:column;gap:3px;margin:0 0 10px;max-height:260px;overflow:auto;
    padding-right:2px}
  .pp-pr{display:flex;align-items:center;gap:8px;font-size:12px;padding:1px 0}
  .pp-pr .pp-dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto;border:1px solid #0006}
  .pp-pr .pp-pnm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}
  .pp-pr input{width:54px;flex:0 0 auto;background:var(--panel2);border:1px solid var(--line);color:var(--txt);
    border-radius:6px;padding:4px 6px;font:inherit;font-size:12px;text-align:right;outline:none}
  .pp-pr input:focus{border-color:var(--accent)}
  #ppMap text.lbl .pnum{font-size:.82em;font-weight:700}
  #ppMap circle.pin{stroke:#fff;cursor:pointer}
  #ppMap.editmode circle.pin{cursor:grab}
  .pp-ot{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.04em;padding:1px 4px;border-radius:4px;
    background:#33406a;color:#bcd0ff;vertical-align:1px}
  .pp-otsep{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:8px 0 3px;
    padding-top:6px;border-top:1px solid var(--line)}
  .pp-who{font-size:11.5px;color:var(--txt);background:var(--panel2);border:1px solid var(--line);border-radius:8px;
    padding:6px 10px;margin:0 0 8px;line-height:1.4}
  .pp-who b{color:#cfe0ff}
  .pp-who .pp-role{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;
    border-radius:4px;background:#33406a;color:#bcd0ff;margin-left:5px}
  .pp-who .pp-role.admin{background:#3a2a4d;color:#e3c6ff}
  .pp-updated{font-size:10.5px;color:var(--muted);margin:6px 0 0;line-height:1.4}
  .pp-admin{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
  .pp-users{display:flex;flex-direction:column;gap:4px;margin:0 0 8px}
  .pp-ur{display:flex;align-items:center;gap:7px;font-size:12px;padding:4px 6px;background:var(--panel2);
    border:1px solid var(--line);border-radius:8px}
  .pp-ur .pp-ur-nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pp-ur .pp-ur-nm small{color:var(--muted)}
  .pp-ur .pp-ur-role{font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 4px;border-radius:4px;
    background:#33406a;color:#bcd0ff;flex:0 0 auto}
  .pp-ur .pp-ur-role.admin{background:#3a2a4d;color:#e3c6ff}
  .pp-ur button{flex:0 0 auto;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;
    padding:1px 3px;border-radius:4px}
  .pp-ur button:hover{color:var(--txt);background:#2a3450}
  .pp-uadd{display:flex;flex-direction:column;gap:5px;background:var(--panel2);border:1px solid var(--line);
    border-radius:9px;padding:9px;margin-top:6px}
  .pp-uadd input,.pp-uadd select{background:var(--panel);border:1px solid var(--line);color:var(--txt);
    border-radius:6px;padding:6px 8px;font:inherit;font-size:12px;outline:none}
  .pp-uadd input:focus,.pp-uadd select:focus{border-color:var(--accent)}
  .pp-uadd .pp-uadd-err{font-size:11px;color:#ff8a8a;min-height:14px}
  .pp-account{width:100%;justify-content:center;margin-bottom:8px}
  .pp-account.active{border-color:#d4af37;background:#3a3320;color:#ffe9ad}
  .pp-acc-status{font-size:13.5px;margin:2px 0 12px;color:#d3dbf0}
  .pp-acc-status .pp-role{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;
    border-radius:4px;background:#33406a;color:#bcd0ff;margin-left:5px}
  .pp-acc-status .pp-role.admin{background:#3a2a4d;color:#e3c6ff}
  .pp-acc-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
  #ppAccountBody .grp-title{margin-top:10px}
  #ppAdminArea{margin-top:6px}

/* ===== Korrelations-Analyse ("Was korreliert eigentlich?") ===== */
#corrPage{position:fixed;inset:0;z-index:52;background:var(--bg);overflow:auto;display:block}
#corrPage.hide{display:none}
.corr-shell{max-width:1060px;margin:0 auto;padding:24px 26px 64px}
@media(max-width:680px){.corr-shell{padding:16px 14px 48px}}
.corr-top{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.corr-back{flex:0 0 auto}
.corr-headtxt h1{font-size:21px;margin:0 0 2px;line-height:1.2}
.corr-headtxt .sub{font-size:12.5px;color:var(--muted)}
.corr-intro{font-size:13.5px;line-height:1.55;color:#d3dbf0;margin:0 0 16px;max-width:780px}
.corr-note{font-size:11.5px;color:var(--muted);margin-top:18px}
.corr-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 18px}
.corr-tab{background:var(--panel2);border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:6px 11px;font-size:12.5px;cursor:pointer;transition:.15s}
.corr-tab:hover{border-color:var(--accent)}
.corr-tab.active{border-color:var(--accent);background:#22335c;box-shadow:0 0 0 1px var(--accent) inset}

/* Kopf-Erkenntnis */
.corr-lead{background:linear-gradient(180deg,#22335c33,var(--panel2));border:1px solid #36507f;
  border-radius:12px;padding:14px 16px;margin-bottom:12px}
.corr-lead-lab{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.corr-lead-main{font-size:16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.corr-lead-r{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}
.corr-lead-r.pos{color:#7fb4ff}.corr-lead-r.neg{color:#ff8a98}
.corr-lead-sent{font-size:13.5px;line-height:1.5;color:#d3dbf0;margin-top:6px}

/* Lesehilfe (ausklappbar) */
.corr-help{border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin-bottom:16px;overflow:hidden}
.corr-help summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:12.5px;color:var(--accent);
  font-weight:600;user-select:none}
.corr-help summary::-webkit-details-marker{display:none}
.corr-help summary::before{content:'▸ ';font-size:11px}
.corr-help[open] summary::before{content:'▾ '}
.corr-help-body{padding:2px 16px 12px;border-top:1px solid var(--line)}
.corr-help-body p{font-size:12.5px;line-height:1.55;margin:9px 0 6px;color:#d3dbf0}
.corr-help-body ul{margin:0 0 6px;padding-left:18px;font-size:12px;line-height:1.7;color:#c4cde6}
.corr-help-warn{color:var(--muted);font-size:11.5px !important}
.ci-pos{color:#7fb4ff;font-weight:600}.ci-neg{color:#ff8a98;font-weight:600}

/* Skala-Achse */
.corr-axis{font-size:11px;color:var(--muted);padding:0 2px;margin:0 0 10px;font-variant-numeric:tabular-nums}

/* Zeilen-Karten */
.corr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}
.corr-row{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.corr-row.weak{opacity:.6}
.corr-rhead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.corr-name{font-size:13.5px;font-weight:600;color:var(--txt)}
.corr-badges{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.corr-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}
.corr-val.pos{color:#7fb4ff}.corr-val.neg{color:#ff8a98}
.corr-meas{font-size:11.5px;color:var(--muted);margin:2px 0 9px}
.corr-track{position:relative;height:12px;background:#0b1018;border:1px solid var(--line);
  border-radius:6px;overflow:hidden}
.corr-mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#3a4566}
.corr-fill{position:absolute;top:0;bottom:0;border-radius:4px}
.corr-fill.pos{background:linear-gradient(90deg,#2f6db0,#5b9dff)}
.corr-fill.neg{background:linear-gradient(270deg,#b34a57,#e2374a)}
.corr-sent{font-size:12.5px;line-height:1.5;color:#d3dbf0;margin-top:9px}
.corr-sent b{color:#fff;font-weight:600}

/* Signifikanz-Badges */
.corr-sig{font-size:10.5px;border-radius:6px;padding:3px 8px;border:1px solid var(--line);white-space:nowrap}
.corr-sig.sig-yes{color:#9be5b0;border-color:#2e6b43;background:#16301f}
.corr-sig.sig-mid{color:#ffe09a;border-color:#6b5a2e;background:#302a16}
.corr-sig.sig-no{color:var(--muted);background:#0b1018}
.corr-loading{color:var(--muted);font-size:13px;padding:18px 2px}
