/* Erzeugt von build_plugin_assets.py aus template.html. Nicht von Hand aendern. */
/* ---------- Grundwerte aus der Black-Swan-Seite (Basis + CL-Stil 2026-10) ---------- */
.clh{--navy:#0b0b0b;--teal:#16c79a;--teal-d:#16876a;--amber:#d99a45;
     --v-ink:#111;--v-ink-2:#444;--v-mute:#777;--v-grid:#e6e6e6;
     --v-accent:#13866e;--v-warn:#b57420;--v-flat:#8295a6;
     --v-s1:#43bda0;--v-s2:#22a184;--v-s3:#13866e;--v-s4:#116450;--v-s5:#0b4636;
     --serif:Georgia,"Times New Roman",Times,serif;
     --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
     --ln:#262626;--ln-2:#3a3a3a;--gr:#8a8a8a;--gr-l:#bdbdbd;--cardl:#ececec;--lnc:#d2d2d2;
     --slate:#555;--paper:#f2f2f2;--paper-2:#dcdcdc;
     font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111;line-height:1.65;box-sizing:border-box;width:100%;background:#fff}
.clh *,.clh *::before,.clh *::after{box-sizing:border-box}
.clh a{text-decoration:none;color:inherit}
.clh p{margin:0 0 14px}
.clh .wrap{max-width:1100px;margin:0 auto;padding:0 32px}
.clh .eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;font-weight:400;text-transform:uppercase;color:#555}
.clh .eyebrow::before{content:"";width:8px;height:8px;background:currentColor;flex:0 0 auto}
/* Logo oben rechts, auf schmalen Schirmen im Fluss ueber dem Kicker */
#ai-top .wrap{position:relative}
.clh-logo{position:absolute;top:0;right:32px;display:block;opacity:.9}
.clh-logo:hover{opacity:1}
.clh-logo svg{height:30px;width:auto;display:block}
@media (max-width:640px){.clh-logo{position:static;width:max-content;margin:0 0 16px auto}.clh-logo svg{height:24px}}
/* Abschnittskopf wie DroneAware: nur der Kicker, mit Linie darunter */
.clh-sec .wrap > .eyebrow{color:#000;padding-bottom:12px;border-bottom:1px solid var(--lnc);margin-bottom:18px}
#ai-top .wrap > .eyebrow{color:#555;padding-bottom:0;border-bottom:0;margin-bottom:0}
.clh-sec .wrap > .eyebrow + .clh-lead2{margin-top:0}

/* Abschnitte */
.clh-sec{padding:60px 0;position:relative}
.clh-sec.paper{background:#f2f2f2}
.clh-sec.white{background:#fff}
.clh-dh{font-family:var(--serif);font-weight:400;color:#000;font-size:clamp(30px,3.2vw,46px);line-height:1.12;margin:20px 0 0;max-width:22ch}
.clh-dh .tl{color:#777}
.clh-lead2{font-size:14px;line-height:1.55;color:#555;margin:14px 0 0;max-width:90ch}
.clh-note{font-size:13.5px;color:#555;margin:20px 0 0;max-width:90ch}
.clh-kicker{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--gr);margin-top:36px}

/* Sprungmarken, hell */
.clh-jump{background:#fff;border-top:1px solid var(--lnc);border-bottom:1px solid var(--lnc);position:sticky;top:0;z-index:20}
.clh-jump .wrap{display:flex;flex-wrap:wrap;gap:6px;padding-top:14px;padding-bottom:14px}
.clh-jump a{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#555;border:1px solid var(--lnc);padding:8px 12px}
.clh-jump a:hover{border-color:#000;color:#000}
/* Handlungsaufruf zur Themenseite, rechts abgesetzt wie bei DroneAware */
.clh-jump a.clh-jcta{margin-left:auto;background:#000;border-color:#000;color:#fff;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.clh-jump a.clh-jcta::after{content:"\2192";font-size:13px;line-height:1}
.clh-jump a.clh-jcta:hover{background:var(--v-accent);border-color:var(--v-accent);color:#fff}

/* Kennzahlen */
.clh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid var(--lnc);border-left:1px solid var(--lnc)}
.clh-stat{background:transparent;border-right:1px solid var(--lnc);border-bottom:1px solid var(--lnc);padding:26px 24px 28px}
.clh-stat .v{font-family:var(--mono);font-weight:400;line-height:1;color:#000;font-size:clamp(30px,3.2vw,42px);font-variant-numeric:tabular-nums}
.clh-stat .v.warn{color:var(--v-warn)}
.clh-stat .l{font-size:14px;color:#444;margin-top:10px;line-height:1.42}

/* Karten-Raster und Diagramme */
.clh-cardgrid{display:grid;gap:18px;margin-top:26px}
.clh-cardgrid.c3{grid-template-columns:repeat(3,1fr)}
.clh-cardgrid.c2{grid-template-columns:repeat(2,1fr)}
.clh-split{display:grid;grid-template-columns:0.82fr 1.18fr;gap:18px;align-items:start;margin-top:44px}
.clh-chart{background:#fff;border:1px solid var(--lnc);padding:26px 28px 22px;display:flex;flex-direction:column;min-width:0}
.clh-sec.white .clh-chart{background:#f7f7f7}
.clh-chart h3{font-family:var(--serif);font-weight:400;font-size:20px;color:#000;margin:0;line-height:1.32}
.clh-chart .sub{font-size:14px;color:#555;margin:6px 0 0}
.clh-chart .plot{margin-top:22px}
.clh-chart .src{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--v-mute);margin:18px 0 0;padding-top:14px;border-top:1px solid var(--v-grid);line-height:1.45}

/* Balken */
.clh-brow{display:grid;grid-template-columns:var(--lblw,180px) 1fr 52px;align-items:center;gap:14px;margin-top:11px}
.clh-brow:first-child{margin-top:0}
.clh-blbl{font-size:14px;color:#333;line-height:1.3}
.clh-btrack{display:block;height:18px;background:var(--v-grid)}
.clh-bfill{display:block;height:18px;background:var(--c,var(--v-accent));min-width:3px}
.clh-bval{font-family:var(--mono);font-size:14.5px;font-weight:400;color:#000;text-align:right;font-variant-numeric:tabular-nums}
.clh-baxis{display:flex;justify-content:space-between;font-size:12px;color:var(--v-mute);
     margin-left:calc(var(--lblw,180px) + 14px);margin-right:66px;margin-top:12px;padding-top:8px;border-top:1px solid var(--v-grid)}

/* Tabellenansicht */
.clh-tbl{margin-top:16px}
.clh-tbl summary{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.06em;color:#000;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px}
.clh-tbl summary::-webkit-details-marker{display:none}
.clh-tbl summary::before{content:"+";font-size:15px;line-height:1}
.clh-tbl[open] summary::before{content:"\2212"}
.clh-tbl table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13.5px}
.clh-tbl th,.clh-tbl td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--v-grid);color:#444}
.clh-tbl th{font-weight:600;color:#111}
.clh-tbl td:last-child,.clh-tbl th:last-child{text-align:right;font-variant-numeric:tabular-nums}

/* Zitatkasten hell */
.clh-quotebox{display:flex;gap:16px;background:#f2f2f2;border:1px solid #ddd;border-left:2px solid #000;padding:14px 18px;margin-top:18px;max-width:920px}
.clh-sec.paper .clh-quotebox{background:#fff}
.clh-quotebox p{font-family:var(--serif);font-size:13px;line-height:1.55;color:#222;margin:0}
.clh-quotebox cite{display:block;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gr);margin-top:10px}

/* Folgenmatrix: eine Farbe, hell nach dunkel (Reihe v-s1 bis v-s5) */
.clh-mx{overflow-x:auto;-webkit-overflow-scrolling:touch}
.clh-mx table{border-collapse:separate;border-spacing:2px;min-width:700px;width:100%;font-size:13px}
.clh-mx th{font-weight:400;color:#444;text-align:left;padding:4px 8px 4px 0;vertical-align:bottom}
.clh-mx thead th{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.35;color:#555;padding:0 2px 6px}
.clh-mx thead th b{display:block;color:#000;font-weight:400;font-size:12px}
.clh-mx tbody th .k{font-family:var(--mono);font-size:12px;color:#000;margin-right:6px}
.clh-mx td{height:40px;text-align:center;font-family:var(--mono);font-size:13px;background:var(--v-grid);color:#777;transition:opacity .5s ease,background-color .2s ease}
.clh-mx td.l1{background:var(--v-s1);color:#04342c}.clh-mx td.l2{background:var(--v-s2);color:#04342c}
.clh-mx td.l3{background:var(--v-s3);color:#fff}.clh-mx td.l4{background:var(--v-s4);color:#fff}
.clh-mx td.l5{background:var(--v-s5);color:#fff}
.clh-mx td[data-v]{cursor:pointer}
.clh-mx td[data-v]:hover,.clh-mx td.aktiv{outline:2px solid #000;outline-offset:-2px}
.clh-mx td.sum{background:none;color:#000}
.clh-mxinfo{font-size:14px;color:#555;margin-top:14px;min-height:3em;line-height:1.5}
.clh-mxinfo b{color:#000;font-weight:600}
.clh-mxleg{display:flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--v-mute)}
.clh-mxleg i{display:block;width:22px;height:11px}

/* Europakarte (aus DroneAware), Laender nach Fallzahl abgestuft */
.eu-karte{width:100%;height:auto;display:block}
.eu-karte path{fill:#e6e6e6;stroke:#fff;stroke-width:1.2;transition:fill .6s ease}
.clh-sec.white .clh-chart .eu-karte path{stroke:#f7f7f7}
.eu-karte path.hat{cursor:pointer}
.eu-karte path.hat.n1{fill:var(--v-s1)}.eu-karte path.hat.n2{fill:var(--v-s2)}.eu-karte path.hat.n3{fill:var(--v-s3)}
.eu-karte path.hat.n4{fill:var(--v-s4)}.eu-karte path.hat.n5{fill:var(--v-s5)}
.eu-karte.wartet path.hat{fill:#e6e6e6}
.eu-karte path.hat:hover,.eu-karte path.hat.aktiv{fill:#000}
.karte-info{font-size:14px;color:#555;margin-top:14px;min-height:3em;line-height:1.5}
.karte-info b{color:#000;font-weight:600}

/* Fallkarten im Stil der hellen Karten */
.clh-c{background:#fff;border:1px solid var(--lnc);padding:24px 22px 26px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-wrap:break-word;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.clh-sec.white .clh-c{background:var(--cardl)}
.clh-c:hover{border-color:#000}
.clh-c:focus-visible{outline:2px solid #000;outline-offset:2px}
.clh-c .kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--v-mute)}
.clh-c h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.25;color:#000;margin:2px 0 0}
.clh-c h3.warn{color:var(--v-warn)}
.clh-c .art{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#555}
.clh-c .wer{font-size:14px;color:#333;margin:0}
.clh-c .hg{font-size:14.5px;color:#444;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.clh-c .fuss{margin-top:auto;padding-top:12px;border-top:1px solid var(--v-grid);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--v-mute)}
.clh-c .fuss b{color:#000;font-weight:400}
.clh-tags{display:flex;flex-wrap:wrap;gap:6px}
.clh-tag{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#333;background:transparent;border:1px solid #b8b8b8;padding:4px 8px;line-height:1.3}
.clh-tag.dunkel{background:#000;color:#fff;border-color:#000}
.clh-tag.warn{color:var(--v-warn);border-color:var(--v-warn)}

/* Filter */
.clh-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;align-items:center}
.clh-filters input,.clh-filters select{font-family:var(--mono);font-size:12px;letter-spacing:.04em;padding:10px 12px;border:1px solid var(--lnc);border-radius:0;background:#fff;color:#000;min-width:min(200px,100%)}
.clh-filters input{flex:1 1 240px}
.clh-filters input:focus,.clh-filters select:focus{outline:2px solid #000;outline-offset:-1px}
.clh-count{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--v-mute)}

/* Accordion */
.clh-acc{display:flex;flex-direction:column;border-top:1px solid #d6d6d6;margin-top:26px}
.clh-accitem{border-bottom:1px solid #d6d6d6}
.clh-accq{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:18px 0;
     font-family:inherit;font-size:16.5px;font-weight:400;color:#000;line-height:1.35}
.clh-accq .n{font-family:var(--mono);font-size:12px;color:#777;width:28px;flex:0 0 auto}
.clh-accq .t{flex:1}
.clh-accq .ic{flex:0 0 auto;color:#000;transition:transform .25s ease}
.clh-accq:hover{color:#555}
.clh-accitem[data-open="1"] .ic{transform:rotate(180deg)}
.clh-acca{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease}
.clh-acca .in{padding:0 0 20px 42px;color:#444;font-size:15px;line-height:1.6}
.clh-acca .in p{margin:0 0 10px}
.clh-acca .in a{color:#000;text-decoration:underline}
.clh-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;font-size:14px}
.clh-kv b{font-family:var(--mono);font-weight:400;font-size:12px;color:#000;padding-top:2px}

/* Detailfenster */
.clh-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;
     background:rgba(0,0,0,.72);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.clh-modal.open{display:flex}
.clh-modal .box{position:relative;background:#fff;width:100%;max-width:780px;max-height:86vh;overflow-y:auto;
     animation:clhRise .28s cubic-bezier(.22,.8,.28,1) both}
.clh-modal .box:focus{outline:none}
@keyframes clhRise{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
.clh-modal .hd{padding:34px 36px 24px;border-bottom:1px solid var(--paper-2)}
.clh-modal .hd h3{font-family:var(--serif);font-weight:400;font-size:28px;color:#000;margin:14px 0 0;line-height:1.15;padding-right:40px}
.clh-modal .hd .role{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#555;margin-top:10px}
.clh-modal .bdy{padding:26px 36px 36px}
.clh-modal .blk{margin-top:22px}
.clh-modal .blk:first-child{margin-top:0}
.clh-modal .blk h4{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777;margin:0 0 8px}
.clh-modal .blk p{font-size:15.5px;line-height:1.65;color:#333;margin:0}
.clh-modal blockquote{margin:0;padding:16px 20px;background:#f2f2f2;border-left:2px solid #000;font-size:15px;line-height:1.6;color:#222}
.clh-modal .close{position:absolute;top:16px;right:16px;width:38px;height:38px;background:#fff;border:1px solid #ddd;color:#000;cursor:pointer;font-size:19px;line-height:1}
.clh-modal .close:hover{border-color:#000}
.clh-scores{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lnc);border-left:1px solid var(--lnc)}
.clh-scores div{border-right:1px solid var(--lnc);border-bottom:1px solid var(--lnc);padding:14px 14px 16px;font-size:13px;color:#444}
.clh-scores b{display:block;font-family:var(--mono);font-weight:400;font-size:26px;color:#000;line-height:1;margin-bottom:6px}
.clh-src{font-size:14px;color:#333;margin:0 0 8px}
.clh-src .kl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;border:1px solid #b8b8b8;padding:1px 6px;margin-right:6px;color:#333}
.clh-src a{color:#000;text-decoration:underline}
body.clh-noscroll{overflow:hidden}

/* Fuss */
.clh-foot{background:#fff;border-top:1px solid var(--lnc);padding:34px 0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--gr)}
.clh-foot a{color:#555;text-decoration:underline}
.clh-foot a:hover{color:#000}

/* ---------- Aufbau wie DroneAware ---------- */
.clh-ov{display:grid;grid-template-columns:minmax(280px,38%) 1fr;gap:18px;align-items:start;margin-top:26px}
.clh-ov .clh-stats{margin-top:0;grid-template-columns:repeat(2,1fr)}
.clh-stats.c3{grid-template-columns:repeat(3,1fr);margin-top:22px}
.clh-sh{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.3;color:#000;margin:44px 0 8px}
.clh-dtbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:22px;background:#fff;border:1px solid var(--lnc)}
.clh-dtbl table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}
.clh-dtbl th,.clh-dtbl td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--v-grid);color:#333;line-height:1.5}
.clh-dtbl th{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777}
.clh-dtbl tr:last-child td{border-bottom:0}
.clh-dtbl a{color:#000;text-decoration:underline}
.clh-dtbl .mono,.clh .mono{font-family:var(--mono);font-size:12px;white-space:nowrap}
.clh-legbox{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px;padding:20px;background:#fff;border:1px solid var(--lnc)}
.clh-legbox .clh-kv{font-size:13px;align-content:start}
.clh .ai-auf,.clh .ul{color:#000;text-decoration:underline}
/* Saeulen je Monat */
.clh-cols{display:flex;align-items:stretch;gap:6px;height:220px;border-bottom:1px solid var(--lnc);padding-top:20px}
.clh-cols .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;position:relative}
.clh-cols .bar{display:block;background:var(--v-accent);min-height:0}
.clh-cols .n{font-family:var(--mono);font-size:12px;color:#000;text-align:center;margin-bottom:6px}
.clh-cols .m{position:absolute;top:100%;left:0;right:0;margin-top:8px;font-family:var(--mono);font-size:10.5px;line-height:1.3;color:var(--v-mute);text-align:center}
#ai-zeit{padding-bottom:40px}
@media (max-width:900px){
  .clh-ov{grid-template-columns:1fr}
  .clh-ov > .clh-chart{max-width:560px}
  .clh-stats.c3{grid-template-columns:repeat(2,1fr)}
  .clh-legbox{grid-template-columns:1fr}
  .clh-cols{gap:3px}
  .clh-cols .m{font-size:9px}
}
@media (max-width:560px){
  .clh-ov .clh-stats,.clh-stats.c3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clh-stat .l{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
  .clh-stat{padding:20px 16px 22px}
  .clh-cols .n{font-size:10px}
  /* Kennzahlentabelle am Handy als Liste, ohne seitliches Scrollen */
  #ai-kennzahlen{min-width:0}
  #ai-kennzahlen thead{display:none}
  #ai-kennzahlen tr{display:block;padding:14px 16px;border-bottom:1px solid var(--v-grid)}
  #ai-kennzahlen td{display:inline;padding:0;border:0}
  #ai-kennzahlen td:first-child{display:block;margin-bottom:8px}
  #ai-kennzahlen td+td::before{content:" · ";color:#999}
  #ai-kennzahlen td:nth-child(2)::before{content:""}
}

@media (prefers-reduced-motion:reduce){.clh-modal .box{animation:none}.eu-karte path,.clh-mx td{transition:none}}
@media (max-width:900px){
  .clh .wrap{padding-left:20px;padding-right:20px}
  .clh-stats{grid-template-columns:repeat(2,1fr)}
  .clh-cardgrid.c3{grid-template-columns:repeat(2,1fr)}
  .clh-cardgrid.c2,.clh-split{grid-template-columns:1fr}
  .clh-chart .src{overflow-wrap:anywhere}
  /* mobil wie DroneAware: alle Punkte umgebrochen auf einen Blick, Button in eigener Zeile */
  .clh-jump .wrap{flex-wrap:wrap;gap:6px;padding-top:12px;padding-bottom:12px}
  .clh-jump a{white-space:nowrap;padding:7px 10px;font-size:10.5px;letter-spacing:.1em}
  .clh-jump a.clh-jcta{margin-left:0;flex-basis:100%;justify-content:center;margin-top:4px}
  #ai-top h1.clh-dh{font-size:26px!important}
  .clh-mx tbody th{position:sticky;left:0;background:inherit;z-index:1}
  .clh-scores{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .clh-sec{padding:44px 0}
  #ai-top h1.clh-dh{font-size:24px!important;margin-top:10px}
  #ai-top .clh-lead2{font-size:13px}
  #ai-top .clh-quotebox p{font-size:12.5px}
  #ai-top .clh-quotebox{padding:12px 14px}
  #ai-top .ai-osint{display:none}
  .clh-stats,.clh-cardgrid.c3{grid-template-columns:1fr}
  .clh-chart{padding:20px 16px 16px}
  .clh-chart h3{font-size:18px}
  .clh-chart .sub{font-size:13px}
  .clh-brow{grid-template-columns:1fr;gap:5px;margin-top:16px}
  .clh-baxis{margin-left:0;margin-right:0}
  .clh-bval{text-align:left}
  .clh-blbl{font-size:13px}
  .clh-filters select{flex:1 1 100%}
  .clh-modal{padding:0}
  .clh-modal .box{max-height:100vh}
  .clh-modal .hd{padding:26px 22px 20px}
  .clh-modal .bdy{padding:22px 22px 30px}
  .clh-kv{grid-template-columns:1fr}
  .clh-acca .in{padding-left:0}
}
